Stunbaton delayed knockdown now respects antistuns (#21069)

* stunbaton delayed knockdown now moved into status effect

* renaming proc to keep its meaning

* made STATUS_EFFECT_DELAYED as status effect for any delayed logic, removed STATUS_EFFECT_BATONNED

* cleanup, little bug fixing

* cleanup

* whoopsie

* updates

* signal string changed

* Update code/datums/status_effects/neutral.dm

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

---------

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
HMBGERDO
2023-06-02 01:36:44 +02:00
committed by GitHub
parent bdb8039c8f
commit 02db93e37e
10 changed files with 45 additions and 6 deletions
@@ -22,6 +22,7 @@
user.SetWeakened(0)
user.setStaminaLoss(0)
user.SetKnockDown(0)
SEND_SIGNAL(user, COMSIG_LIVING_CLEAR_STUNS)
user.reagents.add_reagent("synaptizine", 15)
user.reagents.add_reagent("stimulative_cling", 1)
@@ -64,6 +64,7 @@
U.SetSleeping(0)
U.SetConfused(0)
U.adjustStaminaLoss(-100)
SEND_SIGNAL(U, COMSIG_LIVING_CLEAR_STUNS)
to_chat(user, "<span class='notice'>You instill your body with clean blood and remove any incapacitating effects.</span>")
var/datum/antagonist/vampire/V = U.mind.has_antag_datum(/datum/antagonist/vampire)
var/rejuv_bonus = V.get_rejuv_bonus()
+1
View File
@@ -486,6 +486,7 @@
RestoreEars()
heal_overall_damage(1000, 1000)
ExtinguishMob()
SEND_SIGNAL(src, COMSIG_LIVING_CLEAR_STUNS)
fire_stacks = 0
on_fire = 0
suiciding = 0
@@ -576,7 +576,7 @@
C.SetStuttering(10 SECONDS)
C.adjustStaminaLoss(60)
baton_delayed = TRUE
addtimer(CALLBACK(C, PROC_REF(KnockDown), 10 SECONDS), 2.5 SECONDS)
C.apply_status_effect(STATUS_EFFECT_DELAYED, 2.5 SECONDS, CALLBACK(C, TYPE_PROC_REF(/mob/living/, KnockDown), 10 SECONDS), COMSIG_LIVING_CLEAR_STUNS)
addtimer(VARSET_CALLBACK(src, baton_delayed, FALSE), BATON_COOLDOWN)
add_attack_logs(src, C, "batoned")
if(declare_arrests)
@@ -266,7 +266,7 @@
C.SetStuttering(10 SECONDS)
C.adjustStaminaLoss(60)
baton_delayed = TRUE
addtimer(CALLBACK(C, PROC_REF(KnockDown), 10 SECONDS), 2.5 SECONDS)
C.apply_status_effect(STATUS_EFFECT_DELAYED, 2.5 SECONDS, CALLBACK(C, TYPE_PROC_REF(/mob/living/, KnockDown), 10 SECONDS), COMSIG_LIVING_CLEAR_STUNS)
addtimer(VARSET_CALLBACK(src, baton_delayed, FALSE), BATON_COOLDOWN)
add_attack_logs(src, C, "batoned")
if(declare_arrests)