Fixes ash walker speed not updating in some situations (#23378)

This commit is contained in:
GDN
2023-12-11 10:56:24 -06:00
committed by GitHub
parent 6275852fe9
commit 6d87cc9004
@@ -131,23 +131,19 @@
fire.Remove(H)
var/datum/action/innate/ignite/ash_walker/fire = new()
fire.Grant(H)
RegisterSignal(H, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(speedylegs))
speedylegs(H)
/datum/species/unathi/ashwalker/on_species_loss(mob/living/carbon/human/H)
..()
for(var/datum/action/innate/ignite/ash_walker/fire in H.actions)
fire.Remove(H)
UnregisterSignal(H, COMSIG_MOVABLE_Z_CHANGED)
speedylegs(H)
/datum/species/unathi/ashwalker/movement_delay(mob/living/carbon/human/H)
. = ..()
var/turf/our_turf = get_turf(H)
if(!is_mining_level(our_turf.z))
. -= speed_mod
/datum/action/innate/ignite/ash_walker
desc = "You form a fire in your mouth, fierce enough to... light a cigarette."
cooldown_duration = 3 MINUTES
welding_fuel_used = 0 // Ash walkers dont need welding fuel to use ignite
/datum/species/unathi/ashwalker/proc/speedylegs(mob/living/carbon/human/H)
if(is_mining_level(H.z))
speed_mod = initial(speed_mod)
else
speed_mod = 0