Files
CHOMPStation2/code/datums/spells/inflict_handler.dm
uporotiy c46d689e2b Glorious comeback update.
Object spells - fixed two minor bugs. Added the possibility of making a critical failure effect for the spells.
Singularity beacon - added to traitor spawn list. Must be screwdrivered to the floor before you can activate it.
Singularity - optimised the code a bit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1709 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-23 08:29:42 +00:00

50 lines
1.4 KiB
Plaintext

/obj/proc_holder/spell/targeted/inflict_handler
name = "Inflict Handler"
desc = "This spell blinds and/or destroys/damages/heals and/or weakens/stuns the target."
var/amt_weaken = 0
var/amt_paralysis = 0 //stun
//set to negatives for healing
var/amt_dam_fire = 0
var/amt_dam_brute = 0
var/amt_dam_oxy = 0
var/amt_dam_tox = 0
var/amt_eye_blind = 0
var/amt_eye_blurry = 0
var/destroys = "none" //can be "none", "gib" or "disintegrate"
/obj/proc_holder/spell/targeted/inflict_handler/cast(list/targets)
for(var/mob/living/target in targets)
switch(destroys)
if("gib")
target.gib()
if("disintegrate")
target.dust()
if(!target)
continue
//damage
if(amt_dam_brute > 0)
if(amt_dam_fire >= 0)
target.take_overall_damage(amt_dam_brute,amt_dam_fire)
else if (amt_dam_fire < 0)
target.take_overall_damage(amt_dam_brute,0)
target.heal_overall_damage(0,amt_dam_fire)
else if(amt_dam_brute < 0)
if(amt_dam_fire > 0)
target.take_overall_damage(0,amt_dam_fire)
target.heal_overall_damage(amt_dam_brute,0)
else if (amt_dam_fire <= 0)
target.heal_overall_damage(amt_dam_brute,amt_dam_fire)
target.toxloss += amt_dam_tox
target.oxyloss += amt_dam_oxy
//disabling
target.weakened += amt_weaken
target.paralysis += amt_paralysis
target.eye_blind += amt_eye_blind
target.eye_blurry += amt_eye_blurry