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