diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index a5b311988f4..ba816ade982 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -34,6 +34,7 @@ #define NO_EMP_WIRES "no_emp_wires" #define HOLOGRAM "hologram" +#define FROZEN "frozen" //turf-only flags #define NOJAUNT 1 diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 73f9aee5342..dff0bcd6355 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -995,7 +995,7 @@ var/list/freeze_item_icons = list() return "\ref[initial(icon)]-[initial(icon_state)]" /obj/proc/make_frozen_visual() - if(!is_frozen && (initial(icon) && initial(icon_state))) + if(!HAS_SECONDARY_FLAG(src, FROZEN) && (initial(icon) && initial(icon_state))) var/index = freeze_icon_index() var/icon/IC var/icon/P = freeze_item_icons[index] @@ -1009,10 +1009,10 @@ var/list/freeze_item_icons = list() freeze_item_icons[index] = P icon = P name = "frozen [name]" - is_frozen = TRUE + SET_SECONDARY_FLAG(src, FROZEN) //Assumes already frozed obj/proc/make_unfrozen() icon = initial(icon) name = replacetext(name, "frozen ", "") - is_frozen = FALSE + CLEAR_SECONDARY_FLAG(src, FROZEN) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 3492501aacf..14ea548379c 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -24,7 +24,6 @@ var/force_blueprints = FALSE //forces the obj to be on the blueprints, regardless of when it was created. var/persistence_replacement = null //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset. - var/is_frozen = FALSE var/unique_rename = 0 // can you customize the description/name of the thing? @@ -47,8 +46,8 @@ /obj/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) ..() - if(is_frozen) - visible_message("[src] shatters into a million pieces!") + if(HAS_SECONDARY_FLAG(src, FROZEN)) + visible_message("[src] shatters into a million pieces!") qdel(src) /obj/assume_air(datum/gas_mixture/giver) @@ -225,4 +224,4 @@ M << "You have successfully changed \the [name]'s description." return else - return \ No newline at end of file + return diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 7672ae2d0a8..b8aed0f689e 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -111,7 +111,7 @@ /turf/open/freon_gas_act() for(var/obj/I in contents) - if(!I.is_frozen) //let it go + if(!HAS_SECONDARY_FLAG(I, FROZEN)) //let it go I.make_frozen_visual() for(var/mob/living/L in contents) if(L.bodytemperature >= 10) @@ -225,7 +225,7 @@ wet_time = MAXIMUM_WET_TIME if(wet == TURF_WET_ICE && air.temperature > T0C) for(var/obj/O in contents) - if(O.is_frozen) + if(HAS_SECONDARY_FLAG(O, FROZEN)) O.make_unfrozen() MakeDry(TURF_WET_ICE) MakeSlippery(TURF_WET_WATER) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 000fdbfb673..29d457e77b0 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -175,7 +175,7 @@ //melting if(isobj(AM) && air && air.temperature > T0C) var/obj/O = AM - if(O.is_frozen) + if(HAS_SECONDARY_FLAG(O, FROZEN)) O.make_unfrozen() /turf/proc/is_plasteel_floor() @@ -476,4 +476,4 @@ /turf/proc/remove_decal(group) LAZYINITLIST(decals) cut_overlay(decals[group]) - decals[group] = null \ No newline at end of file + decals[group] = null