Skip to content

Commit

Permalink
Space ninjas are now a thing that is in the game. Admin spawned only …
Browse files Browse the repository at this point in the history
…at the moment under fun, usable by host/Game Master. They don't come with any special powers (besides kickass equipment and being a ninja, c'mon) but I'll probably add some later. They are immune to facehuggers.

I've also divided their suit into parts as outlined in some topic I forgot about.
When ninjas spawn, they start in a location for space carp (in space). Getting to the station may prove somewhat difficult at this time.
Commented out the Voidsuit until it has unique sprites since I changed the ninja suit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1327 316c924e-a436-60f5-8080-3fe189b3f50e
  • Loading branch information
[email protected] committed Mar 31, 2011
1 parent 1f664ac commit 9a0ee13
Show file tree
Hide file tree
Showing 19 changed files with 185 additions and 6 deletions.
9 changes: 8 additions & 1 deletion code/defines/obj/clothing/head.dm
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@
permeability_coefficient = 0.01

/obj/item/clothing/head/helmet/space/rig
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding"
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
name = "rig helmet"
icon_state = "rig"
item_state = "rig_helm"
Expand All @@ -158,6 +158,13 @@
icon_state = "syndicate"
item_state = "syndicate"

/obj/item/clothing/head/helmet/space/space_ninja
desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear."
name = "ninja hood"
icon_state = "s-ninja"
item_state = "s-ninja_mask"
radiation_protection = 0.25

/obj/item/clothing/head/helmet/swat
name = "swat helmet"
icon_state = "swat"
Expand Down
3 changes: 1 addition & 2 deletions code/defines/obj/clothing/mask.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,10 @@

/obj/item/clothing/mask/gas/space_ninja
name = "ninja mask"
desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement."
desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement. Can disguise your voice."
icon_state = "s-ninja"
item_state = "s-ninja_mask"
vchange = 1
radiation_protection = 0.35

/obj/item/clothing/mask/gas/voice
name = "gas mask"
Expand Down
8 changes: 8 additions & 0 deletions code/defines/obj/clothing/shoes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,14 @@
icon_state = "swat"
slowdown = 0

/obj/item/clothing/shoes/space_ninja
name = "ninja shoes"
desc = "A pair of running shoes, excellent for running and even better for smashing skulls."
icon_state = "s-ninja"
slowdown = -1
permeability_coefficient = 0.05
flags = NOSLIP

/obj/item/clothing/shoes/white
name = "White Shoes"
icon_state = "white"
Expand Down
4 changes: 3 additions & 1 deletion code/defines/obj/clothing/suit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -329,21 +329,23 @@
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/ammo,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
slowdown = 1

/*
/obj/item/clothing/suit/space/nasa
name = "Tacticool NASA Voidsuit"
icon_state = "s-ninja"
item_state = "s-ninja_suit"
desc = "A tacticool, NASA Centcom branch designed, black Space suit. Used for AI satilite maintenance."
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/tank/emergency_oxygen)
slowdown = 1.3
GET OUT OF HERE STAAAAAAAAALKER or until there is a new icon for the suit.*/

/obj/item/clothing/suit/space/space_ninja
name = "ninja suit"
desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider-Clan assassins."
icon_state = "s-ninja"
item_state = "s-ninja_suit"
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/ammo,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
slowdown = -1
slowdown = 0
radiation_protection = 0.75

/obj/item/clothing/suit/space/pirate
Expand Down
2 changes: 2 additions & 0 deletions code/modules/admin/admin_verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@
src.verbs += /client/proc/only_one // muskets
src.verbs += /client/proc/space_asshole // --Agouri :3
src.verbs += /client/proc/strike_team //N
src.verbs += /client/proc/space_ninja //N
src.verbs += /client/proc/spawn_xeno //N
src.verbs += /proc/possess
src.verbs += /proc/release
Expand Down Expand Up @@ -1132,6 +1133,7 @@
src.verbs -= /client/proc/cuban_pete // -- Urist
src.verbs -= /client/proc/space_asshole // --Agouri :3
src.verbs -= /client/proc/strike_team //N
src.verbs -= /client/proc/space_ninja //N
src.verbs -= /client/proc/spawn_xeno //N
src.verbs -= /proc/possess
src.verbs -= /proc/release
Expand Down
2 changes: 1 addition & 1 deletion code/modules/admin/verbs/randomverbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
candidates.Add(G)
if(candidates.len)
var/mob/dead/observer/G = pick(candidates)
message_admins("\blue [key_name_admin(usr)] has spawned [G.key] as a Punnished Admin.", 1)
message_admins("\blue [key_name_admin(usr)] has spawned [G.key] as a filthy xeno.", 1)

new_xeno.mind = new//Mind initialize stuff.
new_xeno.mind.current = new_xeno
Expand Down
99 changes: 98 additions & 1 deletion code/modules/admin/verbs/striketeam.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
//STRIKE TEAMS

var/const/commandos_possible = 6 //if more Commandos are needed in the future
var/global/sent_strike_team = 0
/client/proc/strike_team()
Expand Down Expand Up @@ -158,4 +160,99 @@ Useful for copy pasta since I'm lazy.*/
del(BOMB)

message_admins("\blue [key_name_admin(usr)] has spawned a CentCom strike squad.", 1)
log_admin("[key_name(usr)] used Spawn Death Squad.")
log_admin("[key_name(usr)] used Spawn Death Squad.")

//SPACE NINJAS
/client/proc/space_ninja()

set category = "Fun"
set name = "Spawn Space Ninja"
set desc = "Spawns a space ninja for when you just need a teenager with attitude."
if(!src.authenticated || !src.holder)
src << "Only administrators may use this command."
return
if(!ticker)
alert("The game hasn't started yet!")
return

TRYAGAIN
var/input = input(usr, "Please specify which mission the space ninja shall undertake.", "Specify Mission", "")
if(!input)
goto TRYAGAIN

var/list/ninja_titles = dd_file2list("config/names/ninjatitle.txt")
var/list/ninja_names = dd_file2list("config/names/ninjaname.txt")

var/list/LOCLIST = list()
for(var/obj/landmark/X in world)
if (X.name == "carpspawn")
LOCLIST.Add(X)
if(!LOCLIST.len)
alert("No spawn location could be found. Aborting.")
return

var/obj/landmark/STARTLOC = pick(LOCLIST)

var/mob/living/carbon/human/new_ninja = new(STARTLOC.loc)
var/ninja_title = pick(ninja_titles)
var/ninja_name = pick(ninja_names)
new_ninja.gender = pick(MALE, FEMALE)
new_ninja.real_name = "[ninja_title] [ninja_name]"
new_ninja.age = rand(17,45)
new_ninja.b_type = pick("A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-")
new_ninja.dna.ready_dna(new_ninja)
new_ninja.mind = new
new_ninja.mind.current = new_ninja
new_ninja.mind.assigned_role = "Space Ninja"
new_ninja.mind.store_memory("<B>Mission:</B> \red [input].")
new_ninja.resistances += "alien_embryo"

var/obj/item/device/radio/R = new /obj/item/device/radio/headset(new_ninja)
new_ninja.equip_if_possible(R, new_ninja.slot_ears)
new_ninja.equip_if_possible(new /obj/item/clothing/under/color/black(new_ninja), new_ninja.slot_w_uniform)
new_ninja.equip_if_possible(new /obj/item/clothing/shoes/space_ninja(new_ninja), new_ninja.slot_shoes)
new_ninja.equip_if_possible(new /obj/item/clothing/suit/space/space_ninja(new_ninja), new_ninja.slot_wear_suit)
new_ninja.equip_if_possible(new /obj/item/clothing/gloves/space_ninja(new_ninja), new_ninja.slot_gloves)
new_ninja.equip_if_possible(new /obj/item/clothing/head/helmet/space/space_ninja(new_ninja), new_ninja.slot_head)
new_ninja.equip_if_possible(new /obj/item/clothing/mask/gas/space_ninja(new_ninja), new_ninja.slot_wear_mask)
new_ninja.equip_if_possible(new /obj/item/clothing/glasses/thermal(new_ninja), new_ninja.slot_glasses)
new_ninja.equip_if_possible(new /obj/item/device/flashlight(new_ninja), new_ninja.slot_belt)
new_ninja.equip_if_possible(new /obj/item/weapon/plastique(new_ninja), new_ninja.slot_r_store)
new_ninja.equip_if_possible(new /obj/item/weapon/plastique(new_ninja), new_ninja.slot_l_store)
var/obj/item/weapon/tank/emergency_oxygen/OXYTANK = new /obj/item/weapon/tank/emergency_oxygen(new_ninja)
new_ninja.equip_if_possible(OXYTANK, new_ninja.slot_s_store)

var/obj/item/weapon/card/id/W = new(new_ninja)
W.name = "[new_ninja.real_name]'s ID Card"
W.access = access_maint_tunnels
W.assignment = "Space Ninja"
W.registered = new_ninja.real_name
new_ninja.equip_if_possible(W, new_ninja.slot_wear_id)

var/admin_name = src//In case admins want to spawn themselves as ninjas.

var/mob/dead/observer/G
var/list/candidates = list()
for(G in world)
if(G.client)
if(((G.client.inactivity/10)/60) <= 5)
candidates.Add(G)
if(candidates.len)
G = input("Pick character to spawn as the Space Ninja", "Active Players", G) in candidates
new_ninja.mind.key = G.key
new_ninja.client = G.client
del(G)
else
alert("Could not locate a suitable ghost. Aborting.")
del(new_ninja)
return

new_ninja.internal = OXYTANK //So the poor ninja has something to breath when they spawn in spess.
new_ninja.internals.icon_state = "internal1"

new_ninja << "\blue \nYou are an elite mercenary assassin of the Spider Clan. The dreaded \red <B>SPACE NINJA</B>!\blue You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor. Remember your training! \nYour current mission is: \red <B>[input]</B>"

message_admins("\blue [admin_name] has spawned [new_ninja.key] as a Space Ninja. Hide yo children!", 1)
log_admin("[admin_name] used Spawn Space Ninja.")

//SPACE NINJA ABILITIES
30 changes: 30 additions & 0 deletions config/names/ninjaname.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Shadow
Sarutobi
Crimson
Smoke
Rain
Scorpion
Zero
Ermac
Saibot
Cyrax
Deep
Raphael
Michaelangelo
Donatello
Leonardo
Splinter
Shredder
Hazuki
Hien
Hiryu
Ryu
Hayabusa
Midnight
Seven
McNinja
Hanzo
Blood
Grappler
Ulimate
Remorseless
34 changes: 34 additions & 0 deletions config/names/ninjatitle.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Master
Sensei
Swift
Merciless
Assassin
Rogue
Hunter
Widower
Orphaner
Stalker
Killer
Silent
Silencing
Quick
Agile
Merciful
Ninja
Shinobi
Initiate
Grandmaster
Strider
Slayer
Awesome
Ender
Dr.
Baki
Ogre
Daemon
Goemon
McAwesome
Iga
Koga
Hero
Hiro
Binary file modified icons/mob/feet.dmi
Binary file not shown.
Binary file modified icons/mob/head.dmi
Binary file not shown.
Binary file modified icons/mob/mask.dmi
Binary file not shown.
Binary file modified icons/mob/suit.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/gloves.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/hats.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/masks.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/shoes.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/suits.dmi
Binary file not shown.
Binary file modified icons/obj/weapons.dmi
Binary file not shown.

0 comments on commit 9a0ee13

Please sign in to comment.