diff --git a/modular_splurt/code/datums/traits/neutral.dm b/modular_splurt/code/datums/traits/neutral.dm index 4ffd679e8d..154b434414 100644 --- a/modular_splurt/code/datums/traits/neutral.dm +++ b/modular_splurt/code/datums/traits/neutral.dm @@ -578,13 +578,13 @@ if(transformed) energy = min(energy + 0.03, 100) if (H.getBruteLoss() > 0 || H.getFireLoss() > 0) - H.adjustBruteLoss(-0.5) - H.adjustFireLoss(-0.5) + H.adjustBruteLoss(-0.5, forced = TRUE) + H.adjustFireLoss(-0.5, forced = TRUE) else if (H.getOxyLoss() > 0 || H.getToxLoss() > 0) - H.adjustToxLoss(-0.3) - H.adjustOxyLoss(-0.5) //oxyloss heals by itself, doesn't need a nerfed heal + H.adjustToxLoss(-0.3, forced = TRUE) + H.adjustOxyLoss(-0.5, forced = TRUE) //oxyloss heals by itself, doesn't need a nerfed heal else if (H.getCloneLoss() > 0) - H.adjustCloneLoss(-0.3) + H.adjustCloneLoss(-0.3, forced = TRUE) else if (current && current.obj_integrity < current.max_integrity) //health == maxHealth is true since we checked all damages above current.obj_integrity = min(current.obj_integrity + 0.1, current.max_integrity) @@ -850,7 +850,8 @@ T.paused = 0 return 1 else - qdel(T.current) + if (T.current) + qdel(T.current) T.transformed = 0 T.cooldown = 30 T.paused = 0 diff --git a/modular_splurt/code/game/objects/structures/statues.dm b/modular_splurt/code/game/objects/structures/statues.dm index 25bacb82cd..16325fcdd2 100644 --- a/modular_splurt/code/game/objects/structures/statues.dm +++ b/modular_splurt/code/game/objects/structures/statues.dm @@ -47,6 +47,10 @@ ADD_TRAIT(L, TRAIT_MOBILITY_NOMOVE, STATUE_TRAIT) ADD_TRAIT(L, TRAIT_MOBILITY_NOPICKUP, STATUE_TRAIT) ADD_TRAIT(L, TRAIT_MOBILITY_NOUSE, STATUE_TRAIT) + ADD_TRAIT(L, TRAIT_NOBREATH, STATUE_TRAIT) + ADD_TRAIT(L, TRAIT_NOHUNGER, STATUE_TRAIT) + ADD_TRAIT(L, TRAIT_NOTHIRST, STATUE_TRAIT) + ADD_TRAIT(L, TRAIT_NOFIRE, STATUE_TRAIT) //OH GOD HELP I'M ON FIRE INSIDE THE STATUE I CAN'T MOVE AND I CAN'T STOP IT HAAAAALP - person who experienced this L.click_intercept = src L.faction += "mimic" //Stops mimics from instaqdeling people in statues L.status_flags |= GODMODE @@ -80,6 +84,10 @@ REMOVE_TRAIT(petrified_mob, TRAIT_MOBILITY_NOMOVE, STATUE_TRAIT) REMOVE_TRAIT(petrified_mob, TRAIT_MOBILITY_NOPICKUP, STATUE_TRAIT) REMOVE_TRAIT(petrified_mob, TRAIT_MOBILITY_NOUSE, STATUE_TRAIT) + REMOVE_TRAIT(petrified_mob, TRAIT_NOBREATH, STATUE_TRAIT) + REMOVE_TRAIT(petrified_mob, TRAIT_NOHUNGER, STATUE_TRAIT) + REMOVE_TRAIT(petrified_mob, TRAIT_NOTHIRST, STATUE_TRAIT) + REMOVE_TRAIT(petrified_mob, TRAIT_NOFIRE, STATUE_TRAIT) petrified_mob.faction -= "mimic" petrified_mob.click_intercept = null petrified_mob.dir = dir @@ -90,8 +98,10 @@ petrified_mob.pixel_x = pixel_x petrified_mob.pixel_y = pixel_y petrified_mob.layer = layer - petrified_mob.is_shifted = was_shifted + petrified_mob.is_shifted = TRUE //just prevents bad things tbh petrified_mob.is_tilted = was_tilted + if (pulledby && pulledby.pulling == src) //gotta checked just in case + pulledby.start_pulling(petrified_mob, supress_message = TRUE) var/datum/quirk/gargoyle/T = locate() in petrified_mob.roundstart_quirks if (T) T.transformed = 0