Merge pull request #131 from SamCroswell/master

More C4 suicide phrases. For no Raisin.
This commit is contained in:
ZomgPonies
2014-01-28 20:15:26 -08:00
10 changed files with 11384 additions and 11451 deletions
+4 -4
View File
@@ -1630,9 +1630,11 @@ proc/process_ghost_teleport_locs()
//GAYBAR
/area/secret/gaybar
name = "\improper Secret Space Bar"
name = "\improper Dance Bar"
requires_power = 0
icon_state = "pink"
icon_state = "dancebar"
//AI
@@ -1700,8 +1702,6 @@ proc/process_ghost_teleport_locs()
//Misc
/area/wreck/ai
name = "\improper AI Chamber"
icon_state = "ai"
@@ -68,12 +68,12 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
//=======//9-8 TILE TELEPORT//=======//
//Click to to teleport 9-10 tiles in direction facing.
/obj/item/clothing/suit/space/space_ninja/proc/ninjajaunt()
set name = "Phase Jaunt (250E)"
set name = "Phase Jaunt (500E)"
set desc = "Utilizes the internal VOID-shift device to rapidly transit in direction facing."
set category = "Ninja Ability"
set popup_menu = 0
var/C = 200
var/C = 500
if(!ninjacost(C,1))
var/mob/living/carbon/human/U = affecting
var/turf/destination = get_teleport_loc(U.loc,U,9,1,3,1,0,1)
@@ -108,12 +108,12 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
//=======//RIGHT CLICK TELEPORT//=======//
//Right click to teleport somewhere, almost exactly like admin jump to turf.
/obj/item/clothing/suit/space/space_ninja/proc/ninjashift(turf/T in oview())
set name = "Phase Shift (500E)"
set name = "Phase Shift (750E)"
set desc = "Utilizes the internal VOID-shift device to rapidly transit to a destination in view."
set category = null//So it does not show up on the panel but can still be right-clicked.
set src = usr.contents//Fixes verbs not attaching properly for objects. Praise the DM reference guide!
var/C = 400
var/C = 750
if(!ninjacost(C,1))
var/mob/living/carbon/human/U = affecting
var/turf/mobloc = get_turf(U.loc)//To make sure that certain things work properly below.
@@ -230,12 +230,12 @@ This could be a lot better but I'm too tired atm.*/
/*Allows the ninja to capture people, I guess.
Must right click on a mob to activate.*/
/obj/item/clothing/suit/space/space_ninja/proc/ninjanet(mob/living/carbon/M in oview())//Only living carbon mobs.
set name = "Energy Net (5,000E)"
set name = "Energy Net (2,500E)"
set desc = "Captures a fallen opponent in a net of energy. Will teleport them to a holding facility after 30 seconds."
set category = null
set src = usr.contents
var/C = 5000
var/C = 2500
if(!ninjacost(C,1)&&iscarbon(M)) // Nets now cost 8,000
var/mob/living/carbon/human/U = affecting
//if(M.client)//Monkeys without a client can still step_to() and bypass the net. Also, netting inactive people is lame.
+8 -78
View File
@@ -23,7 +23,6 @@ ________________________________________________________________________________
verbs += /obj/item/clothing/suit/space/space_ninja/proc/init//suit initialize verb
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ai_instruction//for AIs
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ai_holo
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja // Experemental
//verbs += /obj/item/clothing/suit/space/space_ninja/proc/display_verb_procs//DEBUG. Doesn't work.
spark_system = new()//spark initialize
spark_system.set_up(5, 0, src)
@@ -407,11 +406,11 @@ ________________________________________________________________________________
</ul>
<b>Abilities</b>:
<ul>
<li>*<b>Phase Shift</b> (<i>500E</i>) and <b>Phase Jaunt</b> (<i>250E</i>) are unique powers in that they can both be used for defense and offense. Jaunt launches the ninja forward facing up to 9 squares, somewhat randomly selecting the final destination. Shift can only be used on turf in view but is precise (cannot be used on walls). Any living mob in the area teleported to is instantly gibbed (mechs are damaged, huggers and other similar critters are killed). It is possible to teleport with a target, provided you grab them before teleporting. </li>
<li>*<b>Phase Shift</b> (<i>750E</i>) and <b>Phase Jaunt</b> (<i>500E</i>) are unique powers in that they can both be used for defense and offense. Jaunt launches the ninja forward facing up to 9 squares, somewhat randomly selecting the final destination. Shift can only be used on turf in view but is precise (cannot be used on walls). It is possible to teleport with a target, provided you grab them before teleporting. </li>
<li>*<b>Energy Blade</b> (<i>200E</i>) is a highly effective weapon. It is summoned directly to the ninja's hand and can also function as an EMAG for certain objects (doors/lockers/etc). You may also use it to cut through walls and disabled doors. Experiment! The blade will crit humans in two hits. This item cannot be placed in containers and when dropped or thrown disappears. Having an energy blade drains more power from the battery each tick.</li>
<li>*<b>EM Pulse</b> (<i>1000E</i>) is a highly useful ability that will create an electromagnetic shockwave around the ninja, disabling technology whenever possible. If used properly it can render a security force effectively useless. Of course, getting beat up with a toolbox is not accounted for.</li>
<li>*<b>Energy Star</b> (<i>500E</i>) is a ninja star made of green energy AND coated in poison. It works by picking a random living target within range and can be spammed to great effect in incapacitating foes. Just remember that the poison used is also used by the Xeno Hivemind (and will have no effect on them).</li>
<li>*<b>Energy Net</b> (<i>5000E</i>) is a non-lethal solution to incapacitating humanoids. The net is made of non-harmful phase energy and will halt movement as long as it remains in effect--it can be destroyed. If the net is not destroyed, after a certain time it will teleport the target to a holding facility for the Spider Clan and then vanish. You will be notified if the net fails or succeeds in capturing a target in this manner. Combine with energy stars or stripping to ensure success. Abduction never looked this leet.</li>
<li>*<b>Energy Net</b> (<i>2000E</i>) is a non-lethal solution to incapacitating humanoids. The net is made of non-harmful phase energy and will halt movement as long as it remains in effect--it can be destroyed. If the net is not destroyed, after a certain time it will teleport the target to a holding facility for the Spider Clan and then vanish. You will be notified if the net fails or succeeds in capturing a target in this manner. Combine with energy stars or stripping to ensure success. Abduction never looked this leet.</li>
<li>*<b>Adrenaline Boost</b> (<i>1 E. Boost/3</i>) recovers the user from stun, weakness, and paralysis. Also injects 20 units of radium into the bloodstream.</li>
<li>*<b>Smoke Bomb</b> (<i>1 Sm.Bomb/10</i>) is a weak but potentially useful ability. It creates harmful smoke and can be used in tandem with other powers to confuse enemies.</li>
<li>*<b>???</b>: unleash the <b>True Ultimate Power!</b></li>
@@ -466,12 +465,12 @@ ________________________________________________________________________________
dat += {"
<h4><img src=sos_6.png> Activate Abilities:</h4>
<ul>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Phase Jaunt;cost= (10E)'><img src=sos_13.png> Phase Jaunt</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Phase Shift;cost= (20E)'><img src=sos_13.png> Phase Shift</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Energy Blade;cost= (5E)'><img src=sos_13.png> Energy Blade</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Energy Star;cost= (5E)'><img src=sos_13.png> Energy Star</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Energy Net;cost= (20E)'><img src=sos_13.png> Energy Net</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=EM Burst;cost= (25E)'><img src=sos_13.png> EM Pulse</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Phase Jaunt;cost= (500E)'><img src=sos_13.png> Phase Jaunt</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Phase Shift;cost= (750E)'><img src=sos_13.png> Phase Shift</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Energy Blade;cost= (200E)'><img src=sos_13.png> Energy Blade</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Energy Star;cost= (500E)'><img src=sos_13.png> Energy Star</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Energy Net;cost= (2500E)'><img src=sos_13.png> Energy Net</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=EM Burst;cost= (1000E)'><img src=sos_13.png> EM Pulse</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Smoke Bomb;cost='><img src=sos_13.png> Smoke Bomb</a></li>
<li><a href='byond://?src=\ref[src];choice=Trigger Ability;name=Adrenaline Boost;cost='><img src=sos_13.png> Adrenaline Boost</a></li>
</ul>
@@ -700,7 +699,6 @@ ________________________________________________________________________________
if(4)
A << "Connection established and secured. Menu updated."
U << "\red <b>Wr#nING</b>: #%@!!WȆ|_454@ \nUnB88l3 T L-o-LCaT2 ##$!RN0..%.."
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja // To stop AIs from overriding an overridden Ninja. -- Dave
grant_AI_verbs()
return
sleep(s_delay)
@@ -810,54 +808,9 @@ ________________________________________________________________________________
AI << "You have ceased your hacking attempt. [affecting.real_name] has regained control."
affecting << "<b>UPDATE</b>: [AI.real_name] has ceased hacking attempt. All systems clear."
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja
remove_AI_verbs()
return
/obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja()// Experemental -- Dave
set name = "Hack Ninja Systems"
set desc = "Hack directly into the Black Widow(tm) neuro-interface."
set category = "AI Ninja Equip"
set src = usr.loc
var/mob/living/carbon/human/U = affecting
var/mob/living/silicon/ai/A = AI
if(A.laws != new /datum/ai_laws/ninja_override && s_busy == 0)
s_busy = 1
for(var/i,i<6,i++)
if(AI==A)
switch(i)
if(1)
A << "\blue <b>NOTICE</b>:\black Beginning hack attempt..."
U << "\red <b>WARNING</b>: HACKING ATTEMP IN PR0GRESs!"
spideros = 0
k_unlock = 0
U << browse(null, "window=spideros")
if(2)
A << "<b>Disconnecting neural interface...</b>"
U << "\red <b>WARNING</b>: RO0Gr--S 2&3%"
if(3)
A << "<b>Shutting down external protocol...</b>"
U << "\red <b>WARNING</b>: PRֆGr5S 677^%"
cancel_stealth()
if(4)
A << "<b>Connecting to kernel...</b>"
U << "\red <b>WARNING</b>: RrR_404"
A.control_disabled = 0
if(5)
A << "<b>Connection established and secured. Menu updated.</b>"
U << "\red <b>Wr#nING</b>: #%@!!WȆ|_454@ \nUnB88l3 T L-o-LCaT2 ##$!RN0..%.."
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja
grant_AI_verbs()
return
sleep(s_delay)
else break
s_busy = 0
else
A << "\red<b>ALERT</b>:\black Current lawset prevents hacking!"
//=======//GENERAL SUIT PROCS//=======//
/obj/item/clothing/suit/space/space_ninja/attackby(obj/item/I, mob/U)
@@ -1206,29 +1159,6 @@ ________________________________________________________________________________
/*
Experimenting with a wrist-mounted hypospray for delivering hallucigenics. Todo: Possibly make it only work on harm intent.
-- Dave
*/
if("HUMAN")
var/mob/living/carbon/human/A = target
if(S.h_stings > 0)
if(A != U) // Because it's bound to happen.
S.h_stings -= 1
A <<"\red You feel a tiny prick, something doesn't feel right..."
U <<"\blue Hallucigen administered to [A], you have <b>[S.h_stings]</b> doses left."
A.hallucination += 300
else
U <<"\red You think for a moment, and decide may not be wise to inject yourself."
else
U<<"\red You are out of stings!"
if("CYBORG")
var/mob/living/silicon/robot/A = target
A << "\red Warning: Unauthorized access through sub-route 12, block C, detected."
+1 -1
View File
@@ -90,7 +90,7 @@ I decided to scrap round-specific objectives since keeping track of them would r
When I already created about 4 new objectives, this doesn't seem terribly important or needed.
*/
/var/global/toggle_space_ninja = 0//If ninjas can spawn or not.
/var/global/toggle_space_ninja = 1//If ninjas can spawn or not.
/var/global/sent_ninja_to_station = 0//If a ninja is already on the station.
var/ninja_selection_id = 1
+10 -1
View File
@@ -26,12 +26,21 @@
if(user.mind)
if(user.mind.special_role)
var/role = lowertext(user.mind.special_role)
if(role == "traitor" || role == "syndicate")
if(role == "traitor" || role == "syndicate" || role == "syndicate commando")
message_say = "FOR THE SYNDICATE!"
else if(role == "changeling")
message_say = "FOR THE HIVE!"
else if(role == "cultist")
message_say = "FOR NARSIE!"
else if(role == "ninja")
message_say = "FOR THE CLAN!"
else if(role == "wizard")
message_say = "FOR THE FEDERATION!"
else if(role =="revolutionary" || role == "head revolutionary")
message_say = "FOR THE REVOLOUTION!"
else if(role == "death commando" || role == "emergency response team")
message_say = "FOR NANOTRASEN!"
user.say(message_say)
target = user
explode(get_turf(user))
-4
View File
@@ -117,7 +117,3 @@
drain("RESEARCH",A,suit)
return 1
if(istype(A,/mob/living/carbon/human))
drain("HUMAN",A,suit)
return 1
@@ -53,7 +53,6 @@
//Ability function variables.
var/s_bombs = 10.0//Number of starting ninja smoke bombs.
var/a_boost = 3.0//Number of adrenaline boosters.
var/h_stings = 5.0// Experementing with a wrist-mounted hypospray for delivering various drugs. Right now I'm thinking hallucigenics.
//Onboard AI related variables.
var/mob/living/silicon/ai/AI//If there is an AI inside the suit.
+1 -1
View File
@@ -99,7 +99,7 @@ var/global/list/possibleEvents = list()
if(aliens_allowed && !sent_aliens_to_station)
possibleEvents[/datum/event/alien_infestation] = max(active_with_role["Security"], 5) + 2.5
if(!sent_ninja_to_station && toggle_space_ninja)
possibleEvents[/datum/event/space_ninja] = max(active_with_role["Security"], 5)
possibleEvents[/datum/event/space_ninja] = active_with_role["Security"] * 20
possibleEvents[/datum/event/undead] = active_with_role["Security"] * 10
possibleEvents[/datum/event/ghosts] = active_with_role["Security"] * 25
possibleEvents[/datum/event/tear] = active_with_role["Security"] * 25
Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

+11354 -11355
View File
File diff suppressed because it is too large Load Diff