Moves stasis handling to component-based

This commit is contained in:
Artur
2022-04-07 14:10:51 +03:00
parent 3824daba05
commit be46eba465
2 changed files with 8 additions and 11 deletions
+6 -9
View File
@@ -154,25 +154,22 @@
. = ..()
if(!.)
return
owner.mobility_flags &= ~MOBILITY_USE
owner.mobility_flags &= ~MOBILITY_PICKUP
owner.mobility_flags &= ~MOBILITY_PULL
owner.mobility_flags &= ~MOBILITY_HOLD
RegisterSignal(owner, COMSIG_LIVING_LIFE, .proc/InterruptBiologicalLife)
owner.mobility_flags &= ~(MOBILITY_USE | MOBILITY_PICKUP | MOBILITY_PULL | MOBILITY_HOLD)
owner.update_mobility()
owner.add_filter("stasis_status_ripple", 2, list("type" = "ripple", "flags" = WAVE_BOUNDED, "radius" = 0, "size" = 2))
var/filter = owner.get_filter("stasis_status_ripple")
animate(filter, radius = 32, time = 15, size = 0, loop = -1)
/datum/status_effect/grouped/stasis/proc/InterruptBiologicalLife()
return COMPONENT_INTERRUPT_LIFE_BIOLOGICAL
/datum/status_effect/grouped/stasis/tick()
update_time_of_death()
/datum/status_effect/grouped/stasis/on_remove()
owner.mobility_flags |= MOBILITY_USE
owner.mobility_flags |= MOBILITY_PICKUP
owner.mobility_flags |= MOBILITY_PULL
owner.mobility_flags |= MOBILITY_HOLD
owner.update_mobility()
UnregisterSignal(owner, COMSIG_LIVING_LIFE)
owner.mobility_flags |= MOBILITY_USE | MOBILITY_PICKUP | MOBILITY_PULL | MOBILITY_HOLD
owner.remove_filter("stasis_status_ripple")
update_time_of_death()
return ..()