Attack chain migration: /mob (#28211)

* Attack chain migration: /mob

* always target zone on attack for tests

* thread corgi item interactions through to parent

* put away razor

* standardize test names

* fix harmbaton not beating + stunning

* fix ID cards not unlocking bots

* fix fulton

* fix fulton shenanigans

* fix tumor shards
This commit is contained in:
warriorstar-orion
2025-03-11 23:37:11 +00:00
committed by GitHub
parent 179dfe6280
commit e69c572b19
46 changed files with 284 additions and 235 deletions
@@ -224,11 +224,12 @@
#define MORPH_ATTACKED if((. = ..()) && morphed) mimic_spell.restore_form(src)
/mob/living/simple_animal/hostile/morph/attackby__legacy__attackchain(obj/item/O, mob/living/user)
/mob/living/simple_animal/hostile/morph/attack_by(obj/item/O, mob/living/user, params)
if(user.a_intent == INTENT_HELP && ambush_prepared)
to_chat(user, "<span class='warning'>You try to use [O] on [src]... it seems different than no-</span>")
ambush_attack(user, TRUE)
return TRUE
return FINISH_ATTACK
MORPH_ATTACKED
/mob/living/simple_animal/hostile/morph/attack_animal(mob/living/simple_animal/M)
@@ -759,10 +759,14 @@
visible_message("<span class='warning'>[M] [response_harm] [src].</span>")
try_attack_mob(M)
/mob/living/simple_animal/demon/pulse_demon/attackby__legacy__attackchain(obj/item/O, mob/living/user)
/mob/living/simple_animal/demon/pulse_demon/attack_by(obj/item/O, mob/living/user, params)
if(..())
return FINISH_ATTACK
if(is_under_tile())
to_chat(user, "<span class='danger'>You can't interact with something that's under the floor!</span>")
return
return FINISH_ATTACK
var/obj/item/stock_parts/cell/C = O.get_cell()
if(C && C.charge)
C.use(min(C.charge, power_drain_rate))
@@ -771,6 +775,7 @@
to_chat(src, "<span class='notice'>[user] touches you with [O] and you drain its power!</span>")
visible_message("<span class='notice'>[O] goes right through [src].</span>")
try_shock_mob(user, O.siemens_coefficient)
return FINISH_ATTACK
/mob/living/simple_animal/demon/pulse_demon/ex_act()
return
@@ -210,7 +210,10 @@
ghostize()
qdel(src)
/mob/living/simple_animal/revenant/attackby__legacy__attackchain(obj/item/W, mob/living/user, params)
/mob/living/simple_animal/revenant/attack_by(obj/item/W, mob/living/user, params)
if(..())
return FINISH_ATTACK
if(istype(W, /obj/item/nullrod))
visible_message("<span class='warning'>[src] violently flinches!</span>", \
"<span class='revendanger'>As \the [W] passes through you, you feel your essence draining away!</span>")
@@ -219,7 +222,7 @@
spawn(30)
inhibited = FALSE
..()
return FINISH_ATTACK
/mob/living/simple_animal/revenant/proc/castcheck(essence_cost)
if(holy_check(src))