From 6401e62001f519d31c5fff323435699365e9b5ea Mon Sep 17 00:00:00 2001 From: Duck- Date: Thu, 7 Aug 2014 18:09:26 -0400 Subject: [PATCH] Vamp weaknesses Vampire weaknesses added. Null rod and holy water. --- code/game/gamemodes/vampire/vampire_powers.dm | 2 +- code/game/objects/items/weapons/weaponry.dm | 16 +++++++++--- .../projectiles/guns/energy/temperature.dm | 4 +-- code/modules/reagents/Chemistry-Reagents.dm | 26 +++++++++++++++++++ 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 64e69334..dba9755a 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -177,7 +177,7 @@ M.current.visible_message("\red [M.current]'s eyes emit a blinding flash!") //M.vampire.bloodusable -= 10 M.current.verbs -= /client/vampire/proc/vampire_glare - spawn(300) + spawn(450) M.current.verbs += /client/vampire/proc/vampire_glare if(istype(M.current:glasses, /obj/item/clothing/glasses/sunglasses/blindfold)) M.current << "You're blindfolded!" diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 1e34fbcb..7fb8077d 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -56,22 +56,30 @@ ticker.mode.remove_cultist(M.mind) for(var/mob/O in viewers(M, null)) O.show_message(text("\red [] waves [] over []'s head.", user, src, M), 1) - else if(prob(10)) +/* else if(prob(10)) //Fail chance is kind of dumb for something so rarely used. user << "\red The rod slips in your hand." - ..() + ..()*/ + else if(M.mind) + if(M.mind.vampire) + if(ishuman(M)) + if(!(VAMP_FULL in M.mind.vampire.powers)) + user << "\red The rod burns cold in your hand, filling you with grim determination. You feel the creature's power weaken." + M << "The nullrod's power interferes with your own! They are on to you!" + M.mind.vampire.nullified = max(8, M.mind.vampire.nullified + 8) + //..() Ported from readapted vamp null code. Original seen down there. This doesn't need to be here since it's in the loops now. else user << "\red The rod appears to do nothing." for(var/mob/O in viewers(M, null)) O.show_message(text("\red [] waves [] over []'s head.", user, src, M), 1) return - if(M.mind) +/* if(M.mind) if(M.mind.vampire) if(ishuman(M)) if(!(VAMP_FULL in M.mind.vampire.powers)) M << "The nullrod's power interferes with your own!" M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) ..() - +*/ /obj/item/weapon/nullrod/afterattack(atom/A, mob/user as mob) if (istype(A, /turf/simulated/floor)) user << "\blue You hit the floor with the [src]." diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index ffb87584..b4891cb8 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -1,8 +1,8 @@ /obj/item/weapon/gun/energy/temperature - name = "temperature gun" + name = "freeze ray" icon_state = "freezegun" fire_sound = 'sound/weapons/pulse3.ogg' - desc = "A gun that changes temperatures." + desc = "For when somebody won't let it go." // var/temperature = T20C None of this commented stuff works. Freeze gun revamping. Now it freezes you and it freezes you hard on-hit. // var/current_temperature = T20C charge_cost = 25//20 shots. diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 0e0f16a5..f0cb1dad 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -276,9 +276,17 @@ datum ticker.mode.remove_cultist(M.mind) for(var/mob/O in viewers(M, null)) O.show_message(text("\blue []'s eyes blink and become clearer.", M), 1) // So observers know it worked. + if((M.mind in ticker.mode.vampires) && (M.mind.vampire) && (!(VAMP_FULL in M.mind.vampire.powers))) + if(!M) M = holder.my_atom + M.adjustFireLoss(6) + //M.take_organ_damage(0, 1*REM) + if(prob(50)) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red []'s skin sizzles and burns.", M), 1) holder.remove_reagent(src.id, 10 * REAGENTS_METABOLISM) //high metabolism to prevent extended uncult rolls. return + lube name = "Space Lube" id = "lube" @@ -1429,6 +1437,24 @@ datum reagent_state = LIQUID color = "#535E66" // rgb: 83, 94, 102 + on_mob_life(var/mob/living/M as mob) + if(ishuman(M)) + if((M.mind in ticker.mode.cult) && prob(10)) + M << "\blue A cooling sensation from inside you brings you an untold calmness." + ticker.mode.remove_cultist(M.mind) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\blue []'s eyes blink and become clearer.", M), 1) // So observers know it worked. + if((M.mind in ticker.mode.vampires) && (M.mind.vampire) && (!(VAMP_FULL in M.mind.vampire.powers))) + if(!M) M = holder.my_atom + M.adjustFireLoss(6) + //M.take_organ_damage(0, 1*REM) + if(prob(50)) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red []'s skin sizzles and burns.", M), 1) + holder.remove_reagent(src.id, 10 * REAGENTS_METABOLISM) //high metabolism to prevent extended uncult rolls. + return + + nanites name = "Nanomachines" id = "nanites"