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
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
30
config/names/ninjaname.txt
Normal 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
|
||||
34
config/names/ninjatitle.txt
Normal 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
|
||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |