From 8057d4ea6c8a135bee65b4f320f11e669f3001e9 Mon Sep 17 00:00:00 2001 From: Duck- Date: Wed, 6 Aug 2014 00:12:17 -0400 Subject: [PATCH] Vampire fixes. Fixes: Full-power xray now works. Enthrall reduced to 150 bloods. Vampires fry! in starlight. You'll be dead in seconds. Bats buffed. They're pretty strong now. No longer eat each other since you only get one bat. May be nerfed in the future. Not sure. Some blood fixes. You don't lose blood if an ability fails now. So if you don't move to cancel it after trying to hypnotize yourself, that's totally your fault. Added a color to clonetox. Made cyanide's metabolism rate less stupid high so it's actually useful maybe, or could be if it were ever used. --- code/game/gamemodes/vampire/vampire.dm | 14 ++--- code/game/gamemodes/vampire/vampire_powers.dm | 52 ++++++++++--------- code/modules/mob/living/carbon/human/life.dm | 14 +++-- .../mob/living/simple_animal/hostile/bat.dm | 8 +-- code/modules/reagents/Chemistry-Reagents.dm | 3 +- 5 files changed, 50 insertions(+), 41 deletions(-) diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index becbf732..a8be5ea4 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -461,27 +461,27 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha if(T.density) return -/* if(prob(35)) + if(prob(35)) switch(health) if(80 to 100) src << "\red Your skin flakes away..." if(60 to 80) src << "Your skin sizzles!" - if((-INFINITY) to 60) + // if((-INFINITY) to 60) // if(!on_fire) // src << "\red Your skin catches fire!" // else - src << "\red You continue to burn!" + // src << "\red You continue to burn!" // fire_stacks += 5 // IgniteMob() - emote("scream") - else + // emote("scream") + //else // switch(health) // if((-INFINITY) to 60) // fire_stacks++ // IgniteMob() - adjustFireLoss(3) -*/ + adjustFireLoss(30) //Original value was 3. Barely did anything. Vamps should vaporize in starlight. + /mob/living/carbon/human/proc/handle_vampire() /* if(hud_used) if(!hud_used.vampire_blood_display) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 7dcc4853..64e69334 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -103,24 +103,26 @@ if(!C) return M.current.visible_message("[M]'s eyes flash briefly as he stares into [C.name]'s eyes") - M.current.remove_vampire_blood(20) - M.current.verbs -= /client/vampire/proc/vampire_hypnotise - spawn(1800) - M.current.verbs += /client/vampire/proc/vampire_hypnotise - if(do_mob(M.current, C, 50)) - if(C.mind && C.mind.vampire) - M.current << "\red Your piercing gaze fails to knock out [C.name]." - C << "\blue [M.current]'s feeble gaze is ineffective." - return +// M.current.remove_vampire_blood(20) Moved to remove if it works only. + if(M.current.vampire_power(20, 0)) + M.current.verbs -= /client/vampire/proc/vampire_hypnotise + spawn(1800) + M.current.verbs += /client/vampire/proc/vampire_hypnotise + if(do_mob(M.current, C, 50)) + if(C.mind && C.mind.vampire) + M.current << "\red Your piercing gaze fails to knock out [C.name]." + C << "\blue [M.current]'s feeble gaze is ineffective." + return + else + M.current << "\red Your piercing gaze knocks out [C.name]." + C << "\red You find yourself unable to move and barely able to speak" + C.Weaken(20) + C.Stun(20) + C.stuttering = 20 + M.current.remove_vampire_blood(20) else - M.current << "\red Your piercing gaze knocks out [C.name]." - C << "\red You find yourself unable to move and barely able to speak" - C.Weaken(20) - C.Stun(20) - C.stuttering = 20 - else - M.current << "\red You broke your gaze." - return + M.current << "\red You broke your gaze." + return /client/vampire/proc/vampire_disease() set category = "Abilities" @@ -230,11 +232,11 @@ /client/vampire/proc/vampire_enthrall() set category = "Abilities" - set name = "Enthrall (300)" + set name = "Enthrall (150)" set desc = "You use a large portion of your power to sway those loyal to none to be loyal to you only." var/datum/mind/M = usr.mind if(!M) return - var/mob/living/carbon/C = M.current.vampire_active(300, 0, 1) + var/mob/living/carbon/C = M.current.vampire_active(150, 0, 1) if(!C) return M.current.visible_message("\red [M.current.name] bites [C.name]'s neck!", "\red You bite [C.name]'s neck and begin the flow of power.") C << "You feel the tendrils of evil invade your mind." @@ -243,9 +245,9 @@ return if(do_mob(M.current, C, 50)) - if(M.current.can_enthrall(C) && M.current.vampire_power(300, 0)) // recheck + if(M.current.can_enthrall(C) && M.current.vampire_power(150, 0)) // recheck M.current.handle_enthrall(C) - M.current.remove_vampire_blood(300) + M.current.remove_vampire_blood(150) M.current.verbs -= /client/vampire/proc/vampire_enthrall spawn(1800) M.current.verbs += /client/vampire/proc/vampire_enthrall else @@ -328,11 +330,11 @@ /client/vampire/proc/vampire_bats() set category = "Abilities" - set name = "Summon Bats (75)" + set name = "Summon Bats (60)" set desc = "You summon a pair of space bats who attack nearby targets until they or their target is dead." var/datum/mind/M = usr.mind if(!M) return - if(M.current.vampire_power(75, 0)) + if(M.current.vampire_power(60, 0)) var/list/turf/locs = new var/number = 0 for(var/direction in alldirs) //looking for bat spawns @@ -349,8 +351,8 @@ new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current) else // we had no good locations so make two on top of us new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current) - new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current) - M.current.remove_vampire_blood(75) +// new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current) + M.current.remove_vampire_blood(60) M.current.verbs -= /client/vampire/proc/vampire_bats spawn(1200) M.current.verbs += /client/vampire/proc/vampire_bats diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index bc3be62d..5c5c0416 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1316,12 +1316,18 @@ see_in_dark = 8 see_invisible = SEE_INVISIBLE_LEVEL_ONE - if(mind && mind.vampire && (VAMP_VISION in mind.vampire.powers) && !(VAMP_FULL in mind.vampire.powers)) - sight |= SEE_MOBS - if(XRAY in mutations || mind && mind.vampire && (VAMP_FULL in mind.vampire.powers)) + if(mind && mind.vampire) + if((VAMP_VISION in mind.vampire.powers) && !(VAMP_FULL in mind.vampire.powers)) + sight |= SEE_MOBS + if((VAMP_FULL in mind.vampire.powers)) + sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS + see_in_dark = 8 + see_invisible = SEE_INVISIBLE_LEVEL_TWO + + if(XRAY in mutations) sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS see_in_dark = 8 - if(!druggy) see_invisible = SEE_INVISIBLE_LEVEL_TWO + see_invisible = SEE_INVISIBLE_LEVEL_TWO if(seer==1) var/obj/effect/rune/R = locate() in loc diff --git a/code/modules/mob/living/simple_animal/hostile/bat.dm b/code/modules/mob/living/simple_animal/hostile/bat.dm index de8a481b..faebfd62 100644 --- a/code/modules/mob/living/simple_animal/hostile/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/bat.dm @@ -13,12 +13,12 @@ response_disarm = "gently pushes aside the" response_harm = "hits the" speed = 4 - maxHealth = 20 - health = 20 + maxHealth = 70 + health = 70 harm_intent_damage = 8 - melee_damage_lower = 10 - melee_damage_upper = 10 + melee_damage_lower = 15 + melee_damage_upper = 15 attacktext = "bites" attack_sound = 'sound/weapons/bite.ogg' diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 72c6439c..0e0f16a5 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1644,7 +1644,7 @@ datum reagent_state = LIQUID color = "#CF3600" // rgb: 207, 54, 0 toxpwr = 4 - custom_metabolism = 0.4 + custom_metabolism = 0.1 on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom @@ -1659,6 +1659,7 @@ datum description = "Causes severe damage to genetic data." reagent_state = LIQUID toxpwr = 0 + color = "#CF3600" custom_metabolism = 0.1 on_mob_life(var/mob/living/M as mob)