From 42f0df5bca01b2ad3aa66be5b3b00b41f556d051 Mon Sep 17 00:00:00 2001 From: "VivianFoxfoot@gmail.com" Date: Tue, 20 Mar 2012 01:44:54 +0000 Subject: [PATCH] Adds LSD sting by popular demand. Tensioner will no longer target dead people to be killed. Silence sting no longer provides a message to the silenced. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3326 316c924e-a436-60f5-8080-3fe189b3f50e --- .../gamemodes/changeling/changeling_powers.dm | 57 ++++++++++++++++++- .../gamemodes/changeling/modularchangling.dm | 7 +++ code/game/gamemodes/objective.dm | 2 +- html/changelog.html | 11 ++++ 4 files changed, 73 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index e1caca4a33..bf4ca92886 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -513,10 +513,10 @@ usr << "\blue We stealthily sting [T]." if(!T.changeling) - T << "You feel a small prick and a burning sensation in your throat." + // T << "You feel a small prick and a burning sensation in your throat." T.silent += 30 - else - T << "You feel a small prick." + //else + // T << "You feel a small prick." usr.verbs -= /client/proc/changeling_silence_sting @@ -911,3 +911,54 @@ spawn(5) usr.verbs += /client/proc/changeling_rapidregen + + + + +/client/proc/changeling_lsdsting() + set category = "Changeling" + set name = "Hallucination Sting (15)" + set desc = "Causes terror in the target." + + if(!usr.changeling) + usr << "\red You're not a changeling, something's wrong!" + return + + var/list/victims = list() + for(var/mob/living/carbon/C in oview(usr.changeling.sting_range)) + victims += C + var/mob/T = input(usr, "Who do you wish to sting?") as null | anything in victims + + if(T && T in view(usr.changeling.sting_range)) + + if(usr.stat) + usr << "\red Not when we are incapacitated." + return + + if(usr.changeling.chem_charges < 15) + usr << "\red We don't have enough stored chemicals to do that!" + return + + usr.changeling.chem_charges -= 15 + usr.changeling.sting_range = 1 + + usr << "\blue We stealthily sting [T]." + + if(!T.changeling) + // T << "You feel a small prick." // No warning. + + var/timer = rand(300,600) + + spawn(timer) + if(T) + if(T.reagents) + T.reagents.add_reagent("LSD", 50) + T.hallucination = 250 + + + usr.verbs -= /client/proc/changeling_lsdsting + + spawn(5) + usr.verbs += /client/proc/changeling_lsdsting + + return \ No newline at end of file diff --git a/code/game/gamemodes/changeling/modularchangling.dm b/code/game/gamemodes/changeling/modularchangling.dm index e8cce72dae..754236915c 100644 --- a/code/game/gamemodes/changeling/modularchangling.dm +++ b/code/game/gamemodes/changeling/modularchangling.dm @@ -92,6 +92,7 @@ var/list/obj/effect/proc_holder/power/powerinstances = list() /obj/effect/proc_holder/power/silence_sting name = "Silence Sting" desc = "We silently sting a human, completely silencing them for a short time." + helptext = "Does not provide a warning to a victim that they've been stung, until they try to speak and can't." // Man, fuck javascript. ' == ' genomecost = 2 allowduringlesserform = 1 @@ -186,7 +187,13 @@ var/list/obj/effect/proc_holder/power/powerinstances = list() verbpath = /client/proc/changeling_rapidregen +/obj/effect/proc_holder/power/LSDSting + name = "Hallucination Sting" + desc = "We evolve the ability to sting a target with a powerful hallunicationary chemical." + helptext = "The target does not notice they've been stung. The effect occurs after 30 to 60 seconds." + genomecost = 3 + verbpath = /client/proc/changeling_lsdsting diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 9d25fe640c..a6d809b13f 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -15,7 +15,7 @@ datum/objective proc/find_target() var/list/possible_targets = list() for(var/datum/mind/possible_target in ticker.minds) - if(possible_target != owner && ishuman(possible_target.current)) + if(possible_target != owner && ishuman(possible_target.current) && (possible_target.current.stat != 2)) possible_targets += possible_target if(possible_targets.len > 0) target = pick(possible_targets) diff --git a/html/changelog.html b/html/changelog.html index 1036c97307..712b9a3ee2 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -91,6 +91,17 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit tho. Thanks. --> + +
+

19 March 2012

+

PolymorphBlue updated:

+ +
+

18 March 2012

Quarxink updated: