Tenacious element no longer prints a wear off message when added outside of soft crit and properly removes its effects when detached (#87901)

## About The Pull Request

Wear off message is only printed if the user actually had the effect
active before, and speed modifier is removed alongside the element.

## Changelog
🆑
fix: Fixed tenacity effect printing its messages when it shouldn't be,
and not removing its' effects when it should've.
/🆑
This commit is contained in:
SmArtKar
2024-11-14 19:11:00 +01:00
committed by GitHub
parent f4a077c6fe
commit 3cdaf62fea
+4 -2
View File
@@ -18,6 +18,9 @@
/datum/element/tenacious/Detach(datum/target)
UnregisterSignal(target, COMSIG_MOB_STATCHANGE)
REMOVE_TRAIT(target, TRAIT_TENACIOUS, ELEMENT_TRAIT(type))
var/mob/living/carbon/human/valid_target = target
if(valid_target.remove_movespeed_modifier(/datum/movespeed_modifier/tenacious))
valid_target.balloon_alert(valid_target, "your tenacity wears off")
return ..()
///signal called by the stat of the target changing
@@ -27,6 +30,5 @@
if(new_stat == SOFT_CRIT)
target.balloon_alert(target, "your tenacity kicks in")
target.add_movespeed_modifier(/datum/movespeed_modifier/tenacious)
else
else if(target.remove_movespeed_modifier(/datum/movespeed_modifier/tenacious))
target.balloon_alert(target, "your tenacity wears off")
target.remove_movespeed_modifier(/datum/movespeed_modifier/tenacious)