From aa20f6d757e328a03f66c4abf3dc3e06a8edc93a Mon Sep 17 00:00:00 2001 From: Kyep <16434066+Kyep@users.noreply.github.com> Date: Sun, 27 Oct 2019 15:37:33 +0000 Subject: [PATCH] Hellhound Updates (nerfs lesser hound) (#12459) --- .../living/simple_animal/hostile/hellhound.dm | 51 ++++++++++++++----- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/hellhound.dm b/code/modules/mob/living/simple_animal/hostile/hellhound.dm index f5948fcb275..201c4c07992 100644 --- a/code/modules/mob/living/simple_animal/hostile/hellhound.dm +++ b/code/modules/mob/living/simple_animal/hostile/hellhound.dm @@ -91,11 +91,6 @@ return TRUE return FALSE -/mob/living/simple_animal/hostile/hellhound/AttackingTarget() - . = ..() - if(. && ishuman(target) && (!client || a_intent == INTENT_HARM)) - special_aoe() - /mob/living/simple_animal/hostile/hellhound/attackby(obj/item/C, mob/user, params) . = ..() if(target && isliving(target)) @@ -103,14 +98,6 @@ if(L.stat != CONSCIOUS) target = user -/mob/living/simple_animal/hostile/hellhound/proc/special_aoe() - if(world.time < (smoke_lastuse + smoke_freq)) - return - smoke_lastuse = world.time - var/datum/effect_system/smoke_spread/sleeping/smoke = new - smoke.set_up(10, 0, loc) - smoke.start() - /mob/living/simple_animal/hostile/hellhound/greater name = "Greater Hellhound" desc = "A demonic-looking black canine monster with glowing red eyes and sharp teeth. Greater hounds are far stronger than their lesser kin, and typically employed by powerful bluespace entities." @@ -120,8 +107,46 @@ maxHealth = 400 health = 400 force_threshold = 5 // no punching + universal_speak = 1 smoke_freq = 200 life_regen_cycle_trigger = 5 melee_damage_lower = 20 melee_damage_upper = 30 environment_smash = 2 + +/mob/living/simple_animal/hostile/hellhound/greater/New() + . = ..() + // Movement + AddSpell(new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) + var/obj/effect/proc_holder/spell/targeted/area_teleport/teleport/telespell = new + telespell.clothes_req = FALSE + telespell.invocation_type = "none" + AddSpell(telespell) + var/obj/effect/proc_holder/spell/aoe_turf/knock/knockspell = new + knockspell.invocation_type = "none" + AddSpell(knockspell) + // Defense + var/obj/effect/proc_holder/spell/targeted/forcewall/greater/wallspell = new + wallspell.clothes_req = FALSE + wallspell.invocation_type = "none" + AddSpell(wallspell) + // Offense + var/obj/effect/proc_holder/spell/aoe_turf/conjure/creature/summonspell = new + summonspell.charge_max = 1 + summonspell.invocation_type = "none" + summonspell.summon_type = list(/mob/living/simple_animal/hostile/hellhound) + summonspell.summon_amt = 1 + AddSpell(summonspell) + +/mob/living/simple_animal/hostile/hellhound/greater/AttackingTarget() + . = ..() + if(. && ishuman(target) && (!client || a_intent == INTENT_HARM)) + special_aoe() + +/mob/living/simple_animal/hostile/hellhound/greater/proc/special_aoe() + if(world.time < (smoke_lastuse + smoke_freq)) + return + smoke_lastuse = world.time + var/datum/effect_system/smoke_spread/sleeping/smoke = new + smoke.set_up(10, 0, loc) + smoke.start()