Space ninjas are now a thing that is in the game. Admin spawned only 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
This commit is contained in:
noisomehollow@lycos.com
2011-03-31 22:17:35 +00:00
parent 1f664ac181
commit 9a0ee1315a
19 changed files with 185 additions and 6 deletions

View File

@@ -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"
@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -329,6 +329,7 @@
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"
@@ -336,6 +337,7 @@
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"
@@ -343,7 +345,7 @@
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

View File

@@ -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
@@ -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

View File

@@ -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

View File

@@ -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()
@@ -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

View File

@@ -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

View File

@@ -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 not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB