diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index 78ceaf3bd87..1be7fffc104 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -6,29 +6,22 @@ var/icon/cube var/can_melt = TRUE -/datum/status_effect/freon/on_apply() - . = ..() - if(!.) - return - ADD_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) - -/datum/status_effect/freon/on_remove() - REMOVE_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) - return ..() - /obj/screen/alert/status_effect/freon name = "Frozen Solid" desc = "You're frozen inside an ice cube, and cannot move! You can still do stuff, like shooting. Resist out of the cube!" icon_state = "frozen" /datum/status_effect/freon/on_apply() + . = ..() + if(!.) + return + ADD_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/owner_resist) if(!owner.stat) to_chat(owner, "You become frozen in a cube!") cube = icon('icons/effects/freeze.dmi', "ice_cube") owner.add_overlay(cube) owner.update_mobility() - return ..() /datum/status_effect/freon/tick() owner.update_mobility() @@ -50,6 +43,8 @@ owner.adjust_bodytemperature(100) owner.update_mobility() UnregisterSignal(owner, COMSIG_LIVING_RESIST) + REMOVE_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) + return ..() /datum/status_effect/freon/watcher duration = 8