diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index f871ac6a44..2d2b2704c0 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -11,12 +11,15 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define DF_VAR_EDITED (1<<1)
//FLAGS BITMASK
+<<<<<<< HEAD
#define STOPSPRESSUREDMAGE_1 (1<<0) //This flag is used on the flags_1 variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere
//To successfully stop you taking all pressure damage you must have both a suit and head item with this flag.
+=======
+>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486)
#define NODROP_1 (1<<1) // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted.
#define NOBLUDGEON_1 (1<<2) // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
-#define MASKINTERNALS_1 (1<<3) // mask allows internals
+
#define HEAR_1 (1<<4) // This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not.
#define CHECK_RICOCHET_1 (1<<5) // Projectiels will check ricochet on things impacted that have this.
#define CONDUCT_1 (1<<6) // conducts electricity (metal etc.)
@@ -25,11 +28,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define OVERLAY_QUEUED_1 (1<<8) // atom queued to SSoverlay
#define ON_BORDER_1 (1<<9) // item has priority to check when entering or leaving
-#define NOSLIP_1 (1<<10) //prevents from slipping on wet floors, in space etc
-
-// BLOCK_GAS_SMOKE_EFFECT_1 only used in masks at the moment.
-#define BLOCK_GAS_SMOKE_EFFECT_1 (1<<12) // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
-#define THICKMATERIAL_1 (1<<13) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
#define DROPDEL_1 (1<<14) // When dropped, it calls qdel on itself
#define PREVENT_CLICK_UNDER_1 (1<<15) //Prevent clicking things below it on the same turf eg. doors/ fulltile windows
@@ -57,9 +55,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
// Stops you from putting things like an RCD or other items into an ORM or protolathe for materials.
#define NO_MAT_REDEMPTION_2 (1<<10)
-// LAVA_PROTECT used on the flags_2 variable for both SUIT and HEAD items, and stops lava damage. Must be present in both to stop lava damage.
-#define LAVA_PROTECT_2 (1<<11)
-
//turf-only flags
#define NOJAUNT_1 (1<<0)
#define UNUSED_TRANSIT_TURF_1 (1<<1)
diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm
index bfbf6f866a..1f4739491a 100644
--- a/code/__DEFINES/obj_flags.dm
+++ b/code/__DEFINES/obj_flags.dm
@@ -18,3 +18,12 @@
#define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips
#define FORCE_STRING_OVERRIDE (1<<2) // used for tooltips
#define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use.
+
+// Flags for the clothing_flags var on /obj/item/clothing
+
+#define LAVAPROTECT (1<<0)
+#define STOPSPRESSUREDAMAGE (1<<1) //SUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag.
+#define BLOCK_GAS_SMOKE_EFFECT (1<<2) // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
+#define MASKINTERNALS (1<<3) // mask allows internals
+#define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc
+#define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index 168863708c..aad1622a52 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -106,17 +106,15 @@ GLOBAL_LIST_INIT(bitfields, list(
"REAGENT_NOREACT" = REAGENT_NOREACT
),
"flags_1" = list(
- "STOPSPRESSUREDMAGE_1 / NOJAUNT_1 (turfs)" = STOPSPRESSUREDMAGE_1,
+ "NOJAUNT_1" = NOJAUNT_1,
"NODROP_1 / UNUSED_TRANSIT_TURF_1 (turfs)" = NODROP_1,
"NOBLUDGEON_1 / CAN_BE_DIRTY_1 (turfs)" = NOBLUDGEON_1,
- "MASKINTERNALS_1" = MASKINTERNALS_1,
"HEAR_1 / NO_DEATHRATTLE_1 (turfs)" = HEAR_1,
"CHECK_RICOCHET_1 / NO_RUINS_1 (turfs)" = CHECK_RICOCHET_1,
"CONDUCT_1 / NO_LAVA_GEN_1" = CONDUCT_1,
"ABSTRACT_1" = ABSTRACT_1,
"NODECONSTRUCT_1" = NODECONSTRUCT_1,
"OVERLAY_QUEUED_1" = OVERLAY_QUEUED_1,
- "NOSLIP_1" = NOSLIP_1
),
"flags_2" = list(
"SLOWS_WHILE_IN_HAND_2" = SLOWS_WHILE_IN_HAND_2,
@@ -127,7 +125,14 @@ GLOBAL_LIST_INIT(bitfields, list(
"HEALS_EARS_2" = HEALS_EARS_2,
"OMNITONGUE_2" = OMNITONGUE_2,
"TESLA_IGNORE_2" = TESLA_IGNORE_2,
- "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2,
- "LAVA_PROTECT_2" = LAVA_PROTECT_2
- )
+ "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2
+ ),
+ "clothing_flags" = list(
+ "LAVAPROTECT" = LAVAPROTECT,
+ "STOPSPRESSUREDAMAGE" = STOPSPRESSUREDAMAGE,
+ "BLOCK_GAS_SMOKE_EFFECT" = BLOCK_GAS_SMOKE_EFFECT,
+ "MASKINTERNALS" = MASKINTERNALS,
+ "NOSLIP" = NOSLIP,
+ "THICKMATERIAL" = THICKMATERIAL,
+ )
))
diff --git a/code/_globalvars/lists/typecache.dm b/code/_globalvars/lists/typecache.dm
index f1e2b03790..f4e73f2994 100644
--- a/code/_globalvars/lists/typecache.dm
+++ b/code/_globalvars/lists/typecache.dm
@@ -10,3 +10,5 @@ GLOBAL_LIST_INIT(typecache_living, typecacheof(/mob/living))
GLOBAL_LIST_INIT(typecache_machine_or_structure, typecacheof(list(/obj/machinery, /obj/structure)))
GLOBAL_LIST_INIT(typecache_shuttle_area, typecacheof(/area/shuttle))
+
+GLOBAL_LIST_INIT(typecache_clothing, typecacheof(/obj/item/clothing))
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 865061eb3a..f90b7045b0 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -264,7 +264,7 @@
var/obj/item/clothing/mask/M = C.wear_mask
if(M.mask_adjusted) // if mask on face but pushed down
M.adjustmask(C) // adjust it back
- if( !(M.flags_1 & MASKINTERNALS_1) )
+ if( !(M.clothing_flags & MASKINTERNALS) )
to_chat(C, "You are not wearing an internals mask!")
return
diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm
index 6488a98d7d..6488701055 100644
--- a/code/game/gamemodes/clown_ops/clown_weapons.dm
+++ b/code/game/gamemodes/clown_ops/clown_weapons.dm
@@ -15,7 +15,7 @@
/obj/item/clothing/shoes/clown_shoes/combat
name = "combat clown shoes"
desc = "advanced clown shoes that protect the wearer and render them nearly immune to slipping on their own peels. They also squeek at 100% capacity."
- flags_1 = NOSLIP_1
+ clothing_flags = NOSLIP
slowdown = SHOES_SLOWDOWN
armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 10, "rad" = 0, "fire" = 70, "acid" = 50)
strip_delay = 70
diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm
index 0f926b4ee3..060448946a 100644
--- a/code/game/objects/items/religion.dm
+++ b/code/game/objects/items/religion.dm
@@ -325,7 +325,7 @@
icon_state = "crusader"
w_class = WEIGHT_CLASS_NORMAL
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 40, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) //does this even do anything on boots?
- flags_1 = NOSLIP_1
+ clothing_flags = NOSLIP
cold_protection = FEET
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
heat_protection = FEET
diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm
index 2e512c3ec4..8d8d2870e2 100644
--- a/code/game/objects/items/tanks/tanks.dm
+++ b/code/game/objects/items/tanks/tanks.dm
@@ -38,7 +38,7 @@
return
if(H.wear_mask.mask_adjusted)
H.wear_mask.adjustmask(H)
- if(!(H.wear_mask.flags_1 & MASKINTERNALS_1))
+ if(!(H.wear_mask.clothing_flags & MASKINTERNALS))
to_chat(H, "[H.wear_mask] can't use [src]!")
return
diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm
index f8ab060853..fd83dd0113 100644
--- a/code/game/turfs/simulated/lava.dm
+++ b/code/game/turfs/simulated/lava.dm
@@ -130,7 +130,7 @@
var/obj/item/clothing/S = C.get_item_by_slot(slot_wear_suit)
var/obj/item/clothing/H = C.get_item_by_slot(slot_head)
- if(S && H && S.flags_2 & LAVA_PROTECT_2 && H.flags_2 & LAVA_PROTECT_2)
+ if(S && H && S.clothing_flags & LAVAPROTECT && H.clothing_flags & LAVAPROTECT)
return
L.adjustFireLoss(20)
diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm
index e3fb55fa42..1d08860b93 100644
--- a/code/modules/antagonists/changeling/powers/mutations.dm
+++ b/code/modules/antagonists/changeling/powers/mutations.dm
@@ -445,8 +445,14 @@
name = "flesh mass"
icon_state = "lingspacesuit"
desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel."
+<<<<<<< HEAD
flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen)
+=======
+ flags_1 = NODROP_1 | DROPDEL_1
+ clothing_flags = STOPSPRESSUREDAMAGE //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen)
+>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486)
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) //No armor at all.
/obj/item/clothing/suit/space/changeling/Initialize()
@@ -464,7 +470,8 @@
name = "flesh mass"
icon_state = "lingspacehelmet"
desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front."
- flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Again, no THICKMATERIAL_1.
+ flags_1 = NODROP_1 | DROPDEL_1
+ clothing_flags = STOPSPRESSUREDAMAGE
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
index 8b018fa6d3..963a90ffb1 100644
--- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
+++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
@@ -21,17 +21,17 @@
/obj/item/clothing/head/helmet/clockwork/ratvar_act()
if(GLOB.ratvar_awakens)
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
- flags_1 |= STOPSPRESSUREDMAGE_1
+ clothing_flags |= STOPSPRESSUREDAMAGE
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
else if(GLOB.ratvar_approaches)
armor = list("melee" = 70, "bullet" = 80, "laser" = -15, "energy" = 25, "bomb" = 70, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
- flags_1 |= STOPSPRESSUREDMAGE_1
+ clothing_flags |= STOPSPRESSUREDAMAGE
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
else
armor = list("melee" = 60, "bullet" = 70, "laser" = -25, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
- flags_1 &= ~STOPSPRESSUREDMAGE_1
+ clothing_flags &= ~STOPSPRESSUREDAMAGE
max_heat_protection_temperature = initial(max_heat_protection_temperature)
min_cold_protection_temperature = initial(min_cold_protection_temperature)
@@ -82,17 +82,17 @@
/obj/item/clothing/suit/armor/clockwork/ratvar_act()
if(GLOB.ratvar_awakens)
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
- flags_1 |= STOPSPRESSUREDMAGE_1
+ clothing_flags |= STOPSPRESSUREDAMAGE
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
else if(GLOB.ratvar_approaches)
armor = list("melee" = 70, "bullet" = 80, "laser" = -15, "energy" = 25, "bomb" = 70, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
- flags_1 |= STOPSPRESSUREDMAGE_1
+ clothing_flags |= STOPSPRESSUREDAMAGE
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
else
armor = list("melee" = 60, "bullet" = 70, "laser" = -25, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
- flags_1 &= ~STOPSPRESSUREDMAGE_1
+ clothing_flags &= ~STOPSPRESSUREDAMAGE
max_heat_protection_temperature = initial(max_heat_protection_temperature)
min_cold_protection_temperature = initial(min_cold_protection_temperature)
@@ -148,12 +148,12 @@
/obj/item/clothing/gloves/clockwork/ratvar_act()
if(GLOB.ratvar_awakens)
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
- flags_1 |= STOPSPRESSUREDMAGE_1
+ clothing_flags |= STOPSPRESSUREDAMAGE
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
else
armor = list("melee" = 80, "bullet" = 70, "laser" = -25, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
- flags_1 &= ~STOPSPRESSUREDMAGE_1
+ clothing_flags &= ~STOPSPRESSUREDAMAGE
max_heat_protection_temperature = initial(max_heat_protection_temperature)
min_cold_protection_temperature = initial(min_cold_protection_temperature)
@@ -203,9 +203,9 @@
/obj/item/clothing/shoes/clockwork/ratvar_act()
if(GLOB.ratvar_awakens)
- flags_1 |= NOSLIP_1
+ clothing_flags |= NOSLIP
else
- flags_1 &= ~NOSLIP_1
+ clothing_flags &= ~NOSLIP
/obj/item/clothing/shoes/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
if(equipper && !is_servant_of_ratvar(equipper))
diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm
index 03bb1eeb13..abc5d86bb1 100644
--- a/code/modules/clothing/chameleon.dm
+++ b/code/modules/clothing/chameleon.dm
@@ -331,8 +331,7 @@
item_state = "gas_alt"
resistance_flags = NONE
armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
-
- flags_1 = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1
+ clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
@@ -408,7 +407,7 @@
icon_state = "black"
item_color = "black"
desc = "A pair of black shoes."
- flags_1 = NOSLIP_1
+ clothing_flags = NOSLIP
/obj/item/clothing/shoes/chameleon/noslip/broken/Initialize()
. = ..()
@@ -637,4 +636,3 @@
/obj/item/device/pda/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
-
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 9c7a86cfc2..45babaa762 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -24,9 +24,11 @@
var/can_flashlight = 0
var/scan_reagents = 0 //Can the wearer see reagents while it's equipped?
+ var/clothing_flags = NONE
+
//Var modification - PLEASE be careful with this I know who you are and where you live
- var/list/user_vars_to_edit = list() //VARNAME = VARVALUE eg: "name" = "butts"
- var/list/user_vars_remembered = list() //Auto built by the above + dropped() + equipped()
+ var/list/user_vars_to_edit //VARNAME = VARVALUE eg: "name" = "butts"
+ var/list/user_vars_remembered //Auto built by the above + dropped() + equipped()
var/pocket_storage_component_path
@@ -72,21 +74,22 @@
..()
if(!istype(user))
return
- if(user_vars_remembered && user_vars_remembered.len)
+ if(LAZYLEN(user_vars_remembered))
for(var/variable in user_vars_remembered)
if(variable in user.vars)
if(user.vars[variable] == user_vars_to_edit[variable]) //Is it still what we set it to? (if not we best not change it)
user.vars[variable] = user_vars_remembered[variable]
- user_vars_remembered = list()
+ user_vars_remembered = initial(user_vars_remembered) // Effectively this sets it to null.
/obj/item/clothing/equipped(mob/user, slot)
..()
if(slot_flags & slotdefine2slotbit(slot)) //Was equipped to a valid slot for this item?
- for(var/variable in user_vars_to_edit)
- if(variable in user.vars)
- user_vars_remembered[variable] = user.vars[variable]
- user.vars[variable] = user_vars_to_edit[variable]
+ if (LAZYLEN(user_vars_to_edit))
+ for(var/variable in user_vars_to_edit)
+ if(variable in user.vars)
+ LAZYSET(user_vars_remembered, variable, user.vars[variable])
+ user.vars[variable] = user_vars_to_edit[variable]
/obj/item/clothing/examine(mob/user)
..()
@@ -260,7 +263,7 @@ BLIND // can't see anything
/obj/item/clothing/proc/visor_toggling() //handles all the actual toggling of flags
up = !up
- flags_1 ^= visor_flags
+ clothing_flags ^= visor_flags
flags_inv ^= visor_flags_inv
flags_cover ^= initial(flags_cover)
icon_state = "[initial(icon_state)][up ? "up" : ""]"
@@ -285,4 +288,4 @@ BLIND // can't see anything
Shreds.desc = "The sad remains of what used to be [name]."
deconstruct(FALSE)
else
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm
index db3dda1dd2..ae4d80a0e4 100644
--- a/code/modules/clothing/head/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -46,7 +46,7 @@
item_color = "red"
dog_fashion = null
name = "firefighter helmet"
- flags_1 = STOPSPRESSUREDMAGE_1
+ clothing_flags = STOPSPRESSUREDAMAGE
heat_protection = HEAD
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
cold_protection = HEAD
@@ -56,7 +56,7 @@
icon_state = "hardhat0_white"
item_state = "hardhat0_white"
item_color = "white"
- flags_1 = STOPSPRESSUREDMAGE_1
+ clothing_flags = STOPSPRESSUREDAMAGE
heat_protection = HEAD
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
cold_protection = HEAD
@@ -76,7 +76,7 @@
dog_fashion = null
name = "atmospheric technician's firefighting helmet"
desc = "A firefighter's helmet, able to keep the user cool in any situation."
- flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
heat_protection = HEAD
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index b231ac9df6..12a741e0d0 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -122,7 +122,7 @@
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
heat_protection = HEAD
max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT
- flags_1 = STOPSPRESSUREDMAGE_1
+ clothing_flags = STOPSPRESSUREDAMAGE
strip_delay = 80
dog_fashion = null
diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm
index 562375e897..b99d5e66ed 100644
--- a/code/modules/clothing/masks/_masks.dm
+++ b/code/modules/clothing/masks/_masks.dm
@@ -33,7 +33,7 @@
src.icon_state = initial(icon_state)
gas_transfer_coefficient = initial(gas_transfer_coefficient)
permeability_coefficient = initial(permeability_coefficient)
- flags_1 |= visor_flags
+ clothing_flags |= visor_flags
flags_inv |= visor_flags_inv
flags_cover |= visor_flags_cover
to_chat(user, "You push \the [src] back into place.")
@@ -43,11 +43,11 @@
to_chat(user, "You push \the [src] out of the way.")
gas_transfer_coefficient = null
permeability_coefficient = null
- flags_1 &= ~visor_flags
+ clothing_flags &= ~visor_flags
flags_inv &= ~visor_flags_inv
flags_cover &= ~visor_flags_cover
if(adjusted_flags)
slot_flags = adjusted_flags
if(user)
user.wear_mask_update(src, toggle_off = mask_adjusted)
- user.update_action_buttons_icon() //when mask is adjusted out, we update all buttons icon so the user's potential internal tank correctly shows as off.
\ No newline at end of file
+ user.update_action_buttons_icon() //when mask is adjusted out, we update all buttons icon so the user's potential internal tank correctly shows as off.
diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm
index f7c99a24d3..29aab0c1a2 100644
--- a/code/modules/clothing/masks/breath.dm
+++ b/code/modules/clothing/masks/breath.dm
@@ -4,8 +4,8 @@
icon_state = "breath"
item_state = "m_mask"
body_parts_covered = 0
- flags_1 = MASKINTERNALS_1
- visor_flags = MASKINTERNALS_1
+ clothing_flags = MASKINTERNALS
+ visor_flags = MASKINTERNALS
w_class = WEIGHT_CLASS_SMALL
gas_transfer_coefficient = 0.1
permeability_coefficient = 0.5
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 694c290f4b..726670762e 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -2,7 +2,7 @@
name = "gas mask"
desc = "A face-covering mask that can be connected to an air supply. While good for concealing your identity, it isn't good for blocking gas flow." //More accurate
icon_state = "gas_alt"
- flags_1 = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1
+ clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR
w_class = WEIGHT_CLASS_NORMAL
item_state = "gas_alt"
@@ -51,7 +51,7 @@
/obj/item/clothing/mask/gas/clown_hat
name = "clown wig and mask"
desc = "A true prankster's facial attire. A clown is incomplete without his wig and mask."
- flags_1 = MASKINTERNALS_1
+ clothing_flags = MASKINTERNALS
icon_state = "clown"
item_state = "clown_hat"
flags_cover = MASKCOVERSEYES
@@ -83,7 +83,7 @@
/obj/item/clothing/mask/gas/sexyclown
name = "sexy-clown wig and mask"
desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."
- flags_1 = MASKINTERNALS_1
+ clothing_flags = MASKINTERNALS
icon_state = "sexyclown"
item_state = "sexyclown"
flags_cover = MASKCOVERSEYES
@@ -92,7 +92,7 @@
/obj/item/clothing/mask/gas/mime
name = "mime mask"
desc = "The traditional mime's mask. It has an eerie facial posture."
- flags_1 = MASKINTERNALS_1
+ clothing_flags = MASKINTERNALS
icon_state = "mime"
item_state = "mime"
flags_cover = MASKCOVERSEYES
@@ -124,7 +124,7 @@
/obj/item/clothing/mask/gas/monkeymask
name = "monkey mask"
desc = "A mask used when acting as a monkey."
- flags_1 = MASKINTERNALS_1
+ clothing_flags = MASKINTERNALS
icon_state = "monkeymask"
item_state = "monkeymask"
flags_cover = MASKCOVERSEYES
@@ -133,7 +133,7 @@
/obj/item/clothing/mask/gas/sexymime
name = "sexy mime mask"
desc = "A traditional female mime's mask."
- flags_1 = MASKINTERNALS_1
+ clothing_flags = MASKINTERNALS
icon_state = "sexymime"
item_state = "sexymime"
flags_cover = MASKCOVERSEYES
@@ -154,7 +154,7 @@
name = "owl mask"
desc = "Twoooo!"
icon_state = "owl"
- flags_1 = MASKINTERNALS_1
+ clothing_flags = MASKINTERNALS
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm
index 51caf8335e..0d78e11874 100644
--- a/code/modules/clothing/masks/hailer.dm
+++ b/code/modules/clothing/masks/hailer.dm
@@ -7,10 +7,10 @@
actions_types = list(/datum/action/item_action/halt, /datum/action/item_action/adjust)
icon_state = "sechailer"
item_state = "sechailer"
- flags_1 = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1
+ clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
flags_inv = HIDEFACIALHAIR|HIDEFACE
w_class = WEIGHT_CLASS_SMALL
- visor_flags = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1
+ visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
visor_flags_inv = HIDEFACE
flags_cover = MASKCOVERSMOUTH
visor_flags_cover = MASKCOVERSMOUTH
diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm
index 7ffd9c1f40..46f84c2a91 100644
--- a/code/modules/clothing/shoes/bananashoes.dm
+++ b/code/modules/clothing/shoes/bananashoes.dm
@@ -13,7 +13,7 @@
AddComponent(/datum/component/material_container, list(MAT_BANANIUM), 200000, TRUE)
AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75)
if(always_noslip)
- flags_1 |= NOSLIP_1
+ clothing_flags |= NOSLIP
/obj/item/clothing/shoes/clown_shoes/banana_shoes/step_action()
. = ..()
@@ -22,7 +22,7 @@
if(bananium.amount(MAT_BANANIUM) < 100)
on = !on
if(!always_noslip)
- flags_1 &= ~NOSLIP_1
+ clothing_flags &= ~NOSLIP
update_icon()
to_chat(loc, "You ran out of bananium!")
else
@@ -49,9 +49,9 @@
to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.")
if(!always_noslip)
if(on)
- flags_1 |= NOSLIP_1
+ clothing_flags |= NOSLIP
else
- flags_1 &= ~NOSLIP_1
+ clothing_flags &= ~NOSLIP
else
to_chat(user, "You need bananium to turn the prototype shoes on!")
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index e669ce3826..0f5b381326 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -21,12 +21,12 @@
/obj/item/clothing/shoes/magboots/attack_self(mob/user)
- if(src.magpulse)
- src.flags_1 &= ~NOSLIP_1
- src.slowdown = SHOES_SLOWDOWN
+ if(magpulse)
+ clothing_flags &= ~NOSLIP
+ slowdown = SHOES_SLOWDOWN
else
- src.flags_1 |= NOSLIP_1
- src.slowdown = slowdown_active
+ clothing_flags |= NOSLIP
+ slowdown = slowdown_active
magpulse = !magpulse
icon_state = "[magboot_state][magpulse]"
to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.")
@@ -37,7 +37,7 @@
A.UpdateButtonIcon()
/obj/item/clothing/shoes/magboots/negates_gravity()
- return flags_1 & NOSLIP_1
+ return clothing_flags & NOSLIP
/obj/item/clothing/shoes/magboots/examine(mob/user)
..()
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 3dad0d464e..8d549512dd 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -23,7 +23,7 @@
name = "\improper SWAT boots"
desc = "High speed, no drag combat boots."
permeability_coefficient = 0.01
- flags_1 = NOSLIP_1
+ clothing_flags = NOSLIP
armor = list("melee" = 40, "bullet" = 30, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 30, "rad" = 30, "fire" = 90, "acid" = 50)
/obj/item/clothing/shoes/sandal
@@ -50,7 +50,7 @@
name = "galoshes"
icon_state = "galoshes"
permeability_coefficient = 0.01
- flags_1 = NOSLIP_1
+ clothing_flags = NOSLIP
slowdown = SHOES_SLOWDOWN+1
strip_delay = 50
equip_delay_other = 50
@@ -311,4 +311,4 @@
else
set_light(0)
lightCycle = 0
- active = FALSE
\ No newline at end of file
+ active = FALSE
diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm
index a2cd5bce75..69109de2f7 100644
--- a/code/modules/clothing/spacesuits/_spacesuits.dm
+++ b/code/modules/clothing/spacesuits/_spacesuits.dm
@@ -4,7 +4,7 @@
name = "space helmet"
icon_state = "spaceold"
desc = "A special helmet with solar UV shielding to protect your eyes from harmful rays."
- flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
item_state = "spaceold"
permeability_coefficient = 0.01
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70)
@@ -30,7 +30,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.02
- flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals)
slowdown = 1
@@ -42,4 +42,4 @@
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
strip_delay = 80
equip_delay_other = 80
- resistance_flags = NONE
\ No newline at end of file
+ resistance_flags = NONE
diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm
index 3a5198080f..6f12d99752 100644
--- a/code/modules/clothing/spacesuits/flightsuit.dm
+++ b/code/modules/clothing/spacesuits/flightsuit.dm
@@ -723,9 +723,9 @@
if(suit)
active = toggle
if(active)
- src.flags_1 |= NOSLIP_1
+ clothing_flags |= NOSLIP
if(!active)
- src.flags_1 &= ~NOSLIP_1
+ clothing_flags &= ~NOSLIP
/obj/item/clothing/shoes/flightshoes/item_action_slot_check(slot)
return slot == slot_shoes
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index 41b2334f94..b39c736aa1 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -263,7 +263,7 @@
var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null
actions_types = list(/datum/action/item_action/toggle_helmet_mode)
visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR
- visor_flags = STOPSPRESSUREDMAGE_1
+ visor_flags = STOPSPRESSUREDAMAGE
/obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon()
icon_state = "hardsuit[on]-[item_color]"
@@ -283,7 +283,7 @@
name = initial(name)
desc = initial(desc)
set_light(brightness_on)
- flags_1 |= visor_flags
+ clothing_flags |= visor_flags
flags_cover |= HEADCOVERSEYES | HEADCOVERSMOUTH
flags_inv |= visor_flags_inv
cold_protection |= HEAD
@@ -292,7 +292,7 @@
name += " (combat)"
desc = alt_desc
set_light(0)
- flags_1 &= ~visor_flags
+ clothing_flags &= ~visor_flags
flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH)
flags_inv &= ~visor_flags_inv
cold_protection &= ~HEAD
@@ -313,13 +313,13 @@
linkedsuit.name = initial(linkedsuit.name)
linkedsuit.desc = initial(linkedsuit.desc)
linkedsuit.slowdown = 1
- linkedsuit.flags_1 |= STOPSPRESSUREDMAGE_1
+ linkedsuit.clothing_flags |= STOPSPRESSUREDAMAGE
linkedsuit.cold_protection |= CHEST | GROIN | LEGS | FEET | ARMS | HANDS
else
linkedsuit.name += " (combat)"
linkedsuit.desc = linkedsuit.alt_desc
linkedsuit.slowdown = 0
- linkedsuit.flags_1 &= ~(STOPSPRESSUREDMAGE_1)
+ linkedsuit.clothing_flags &= ~STOPSPRESSUREDAMAGE
linkedsuit.cold_protection &= ~(CHEST | GROIN | LEGS | FEET | ARMS | HANDS)
linkedsuit.icon_state = "hardsuit[on]-[item_color]"
@@ -704,7 +704,7 @@
icon_state = "ert_medical"
item_state = "ert_medical"
item_color = "ert_medical"
- flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 | NODROP_1 //Dont want people changing into the other teams gear
+ flags_1 = NODROP_1 //Dont want people changing into the other teams gear
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf
armor = list("melee" = 0, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 95)
slowdown = 0
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index 738d298f72..b80015ecf0 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -59,7 +59,6 @@ Contains:
icon_state = "beret_badge"
dynamic_hair_suffix = "+generic"
dynamic_fhair_suffix = "+generic"
- flags_1 = STOPSPRESSUREDMAGE_1
flags_inv = 0
armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
strip_delay = 130
@@ -114,7 +113,6 @@ Contains:
name = "Santa's hat"
desc = "Ho ho ho. Merrry X-mas!"
icon_state = "santahat"
- flags_1 = STOPSPRESSUREDMAGE_1
flags_cover = HEADCOVERSEYES
dog_fashion = /datum/dog_fashion/head/santa
@@ -125,7 +123,6 @@ Contains:
icon_state = "santa"
item_state = "santa"
slowdown = 0
- flags_1 = STOPSPRESSUREDMAGE_1
allowed = list(/obj/item) //for stuffing exta special presents
@@ -136,7 +133,6 @@ Contains:
icon_state = "pirate"
item_state = "pirate"
armor = list("melee" = 30, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 60, "acid" = 75)
- flags_1 = STOPSPRESSUREDMAGE_1
flags_inv = HIDEHAIR
strip_delay = 40
equip_delay_other = 20
@@ -169,7 +165,7 @@ Contains:
item_color = "ert_commander"
armor = list("melee" = 65, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80)
strip_delay = 130
- flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 | NODROP_1
+ flags_1 = NODROP_1
brightness_on = 7
/obj/item/clothing/suit/space/hardsuit/ert
@@ -269,7 +265,7 @@ Contains:
armor = list("melee" = -20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 75) //As whimpy as a space carp
brightness_on = 0 //luminosity when on
actions_types = list()
- flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 | NODROP_1
+ flags_1 = NODROP_1
/obj/item/clothing/suit/space/hardsuit/carp
@@ -351,11 +347,9 @@ Contains:
/obj/item/clothing/suit/space/fragile/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(!torn && prob(50))
to_chat(owner, "[src] tears from the damage, breaking the air-tight seal!")
- src.flags_1 &= ~STOPSPRESSUREDMAGE_1
- src.name = "torn [src]."
- src.desc = "A bulky suit meant to protect the user during emergency situations, at least until someone tore a hole in the suit."
- src.torn = TRUE
+ clothing_flags &= ~STOPSPRESSUREDAMAGE
+ name = "torn [src]."
+ desc = "A bulky suit meant to protect the user during emergency situations, at least until someone tore a hole in the suit."
+ torn = TRUE
playsound(loc, 'sound/weapons/slashmiss.ogg', 50, 1)
playsound(loc, 'sound/effects/refill.ogg', 50, 1)
-
-
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 37d48b484e..0f261ccdd9 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -355,7 +355,7 @@
w_class = WEIGHT_CLASS_BULKY
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/gun/energy, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
@@ -370,7 +370,7 @@
item_state = "swat_suit"
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.9
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
slowdown = 3
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
@@ -379,7 +379,7 @@
/obj/item/clothing/suit/armor/tdome
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 90)
diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm
index bb6a6ca070..f21efbdef7 100644
--- a/code/modules/clothing/suits/bio.dm
+++ b/code/modules/clothing/suits/bio.dm
@@ -4,7 +4,7 @@
icon_state = "bio"
desc = "A hood that protects the head and face from biological comtaminants."
permeability_coefficient = 0.01
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDEFACE
resistance_flags = ACID_PROOF
@@ -18,7 +18,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
slowdown = 1
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/pen, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray)
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index 90ae827957..deb48e5667 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -279,7 +279,7 @@
icon_state = "bee"
item_state = "labcoat"
body_parts_covered = CHEST|GROIN|ARMS
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
hoodtype = /obj/item/clothing/head/hooded/bee_hood
/obj/item/clothing/head/hooded/bee_hood
@@ -287,7 +287,7 @@
desc = "A hood attached to a bee costume."
icon_state = "bee"
body_parts_covered = HEAD
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
flags_inv = HIDEHAIR|HIDEEARS
dynamic_hair_suffix = ""
diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm
index 9fce4145b7..29c811246b 100644
--- a/code/modules/clothing/suits/utility.dm
+++ b/code/modules/clothing/suits/utility.dm
@@ -21,7 +21,7 @@
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/extinguisher, /obj/item/crowbar)
slowdown = 1
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
- flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
@@ -56,7 +56,7 @@
name = "bomb hood"
desc = "Use in case of bomb."
icon_state = "bombsuit"
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
armor = list("melee" = 20, "bullet" = 0, "laser" = 20,"energy" = 10, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50)
flags_inv = HIDEFACE|HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR
dynamic_hair_suffix = ""
@@ -79,7 +79,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
slowdown = 2
armor = list("melee" = 20, "bullet" = 0, "laser" = 20,"energy" = 10, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50)
@@ -119,7 +119,7 @@
name = "radiation hood"
icon_state = "rad"
desc = "A hood with radiation protective properties. The label reads, 'Made with lead. Please do not consume insulation.'"
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
flags_inv = HIDEMASK|HIDEEARS|HIDEFACE|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30)
strip_delay = 60
@@ -139,7 +139,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.9
permeability_coefficient = 0.5
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/device/geiger_counter)
slowdown = 1.5
@@ -153,4 +153,4 @@
. = ..()
AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)
// Just don't want things to be irradiated inside this
- // Except things on the mob aren't even inside the suit so ehhhhhh
\ No newline at end of file
+ // Except things on the mob aren't even inside the suit so ehhhhhh
diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm
index 7075b8502e..5a35597a34 100644
--- a/code/modules/hydroponics/beekeeping/beebox.dm
+++ b/code/modules/hydroponics/beekeeping/beebox.dm
@@ -18,8 +18,11 @@
/mob/living/carbon/human/bee_friendly()
if(dna && dna.species && dna.species.id == "pod") //bees pollinate plants, duh.
return 1
- if((wear_suit && (wear_suit.flags_1 & THICKMATERIAL_1)) && (head && (head.flags_1 & THICKMATERIAL_1)))
- return 1
+ if (wear_suit && head && is_type_in_typecache(wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(wear_suit, GLOB.typecache_clothing))
+ var/obj/item/clothing/CS = wear_suit
+ var/obj/item/clothing/CH = head
+ if (CS.clothing_flags & CH.clothing_flags & THICKMATERIAL)
+ return 1
return 0
diff --git a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm
index b871951b0f..7fa1a0dd2c 100644
--- a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm
+++ b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm
@@ -4,7 +4,7 @@
desc = "Keeps the lil buzzing buggers out of your eyes."
icon_state = "beekeeper"
item_state = "beekeeper"
- flags_1 = THICKMATERIAL_1
+ clothing_flags = THICKMATERIAL
/obj/item/clothing/suit/beekeeper_suit
@@ -12,5 +12,4 @@
desc = "Keeps the lil buzzing buggers away from your squishy bits."
icon_state = "beekeeper"
item_state = "beekeeper"
- flags_1 = THICKMATERIAL_1
-
+ clothing_flags = THICKMATERIAL
diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm
index fc26fac0bc..84d2d964bf 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -29,7 +29,7 @@
name = "explorer gas mask"
desc = "A military-grade gas mask that can be connected to an air supply."
icon_state = "gas_mining"
- visor_flags = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1
+ visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
visor_flags_inv = HIDEFACIALHAIR
visor_flags_cover = MASKCOVERSMOUTH
actions_types = list(/datum/action/item_action/adjust)
@@ -52,7 +52,7 @@
desc = "Hostile Environment Cross-Kinetic Suit: A suit designed to withstand the wide variety of hazards from Lavaland. It wasn't enough for its last owner."
icon_state = "hostile_env"
item_state = "hostile_env"
- flags_1 = THICKMATERIAL_1 //not spaceproof
+ clothing_flags = THICKMATERIAL //not spaceproof
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | LAVA_PROOF
slowdown = 0
@@ -84,7 +84,7 @@
item_state = "hostile_env"
w_class = WEIGHT_CLASS_NORMAL
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
- flags_1 = THICKMATERIAL_1 // no space protection
+ clothing_flags = THICKMATERIAL // no space protection
armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
resistance_flags = FIRE_PROOF | LAVA_PROOF
@@ -106,4 +106,3 @@
var/mutable_appearance/M = mutable_appearance('icons/mob/head.dmi', "hostile_env_glass")
M.appearance_flags = RESET_COLOR
. += M
-
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index a5368fc7c0..c54b20156f 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -15,7 +15,7 @@
icon_state = "facehugger"
item_state = "facehugger"
w_class = WEIGHT_CLASS_TINY //note: can be picked up by aliens unlike most other items of w_class below 4
- flags_1 = MASKINTERNALS_1
+ clothing_flags = MASKINTERNALS
throw_range = 5
tint = 3
flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index ebf66a675e..b904ff9437 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -234,7 +234,7 @@
if(href_list["internal"])
var/slot = text2num(href_list["internal"])
var/obj/item/ITEM = get_item_by_slot(slot)
- if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1))
+ if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.clothing_flags & MASKINTERNALS))
visible_message("[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].", \
"[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].")
if(do_mob(usr, src, POCKET_STRIP_DELAY))
@@ -242,7 +242,7 @@
internal = null
update_internals_hud_icon(0)
else if(ITEM && istype(ITEM, /obj/item/tank))
- if((wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) || getorganslot(ORGAN_SLOT_BREATHING_TUBE))
+ if((wear_mask && (wear_mask.clothing_flags & MASKINTERNALS)) || getorganslot(ORGAN_SLOT_BREATHING_TUBE))
internal = ITEM
update_internals_hud_icon(1)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 6c63c32904..fbd4aeac08 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -495,12 +495,17 @@
. = 0
// If targeting the head, see if the head item is thin enough.
// If targeting anything else, see if the wear suit is thin enough.
- if(above_neck(target_zone))
- if(head && head.flags_1 & THICKMATERIAL_1 && !penetrate_thick)
- . = 0
- else
- if(wear_suit && wear_suit.flags_1 & THICKMATERIAL_1 && !penetrate_thick)
- . = 0
+ if (!penetrate_thick)
+ if(above_neck(target_zone))
+ if(head && is_type_in_typecache(head, GLOB.typecache_clothing))
+ var/obj/item/clothing/CH = head
+ if (CH.clothing_flags & THICKMATERIAL)
+ . = 0
+ else
+ if(wear_suit && is_type_in_typecache(wear_suit, GLOB.typecache_clothing))
+ var/obj/item/clothing/CS = wear_suit
+ if (CS.clothing_flags & THICKMATERIAL)
+ . = 0
if(!. && error_msg && user)
// Might need re-wording.
to_chat(user, "There is no exposed flesh or thin material [above_neck(target_zone) ? "on [p_their()] head" : "on [p_their()] body"].")
diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm
index e40327c07e..f62f6d22c7 100644
--- a/code/modules/mob/living/carbon/human/human_movement.dm
+++ b/code/modules/mob/living/carbon/human/human_movement.dm
@@ -8,14 +8,21 @@
/mob/living/carbon/human/slip(knockdown_amount, obj/O, lube)
if(has_trait(TRAIT_NOSLIPALL))
return 0
- if((isobj(shoes) && (shoes.flags_1&NOSLIP_1)) || has_trait(TRAIT_NOSLIPWATER) && !(lube&GALOSHES_DONT_HELP))
- return 0
+ if (!(lube&GALOSHES_DONT_HELP))
+ if(has_trait(TRAIT_NOSLIPWATER))
+ return 0
+ if(shoes && is_type_in_typecache(shoes, GLOB.typecache_clothing))
+ var/obj/item/clothing/CS = shoes
+ if (CS.clothing_flags & NOSLIP)
+ return 0
return ..()
/mob/living/carbon/human/experience_pressure_difference()
playsound(src, 'sound/effects/space_wind.ogg', 50, 1)
- if(shoes && shoes.flags_1&NOSLIP_1)
- return 0
+ if(shoes && is_type_in_typecache(shoes, GLOB.typecache_clothing))
+ var/obj/item/clothing/S = shoes
+ if (S.clothing_flags & NOSLIP)
+ return 0
return ..()
/mob/living/carbon/human/mob_has_gravity()
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index b4f93a12d0..8843e2346e 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -44,6 +44,7 @@
/mob/living/carbon/human/calculate_affecting_pressure(pressure)
+<<<<<<< HEAD
if((wear_suit && (wear_suit.flags_1 & STOPSPRESSUREDMAGE_1)) && (head && (head.flags_1 & STOPSPRESSUREDMAGE_1)))
return ONE_ATMOSPHERE
if(istype(loc, /obj/belly))
@@ -52,6 +53,14 @@
return ONE_ATMOSPHERE
else
return pressure
+=======
+ if (wear_suit && head && is_type_in_typecache(wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(wear_suit, GLOB.typecache_clothing))
+ var/obj/item/clothing/CS = wear_suit
+ var/obj/item/clothing/CH = head
+ if (CS.clothing_flags & CH.clothing_flags & STOPSPRESSUREDAMAGE)
+ return ONE_ATMOSPHERE
+ return pressure
+>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486)
/mob/living/carbon/human/handle_traits()
@@ -290,13 +299,14 @@
/mob/living/carbon/human/has_smoke_protection()
if(wear_mask)
- if(wear_mask.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1)
+ if(wear_mask.clothing_flags & BLOCK_GAS_SMOKE_EFFECT)
return TRUE
if(glasses)
- if(glasses.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1)
+ if(glasses.clothing_flags & BLOCK_GAS_SMOKE_EFFECT)
return TRUE
- if(head)
- if(head.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1)
+ if(head && is_type_in_typecache(head, GLOB.typecache_clothing))
+ var/obj/item/clothing/CH = head
+ if(CH.clothing_flags & BLOCK_GAS_SMOKE_EFFECT)
return TRUE
return ..()
diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
index d1f41a4aca..67d2b0e5ba 100644
--- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
@@ -24,7 +24,12 @@
/datum/species/plasmaman/spec_life(mob/living/carbon/human/H)
var/datum/gas_mixture/environment = H.loc.return_air()
- var/atmos_sealed = (H.wear_suit && (H.wear_suit.flags_1 & STOPSPRESSUREDMAGE_1)) && (H.head && (H.head.flags_1 & STOPSPRESSUREDMAGE_1))
+ var/atmos_sealed = FALSE
+ if (H.wear_suit && H.head && is_type_in_typecache(H.wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(H.head, GLOB.typecache_clothing))
+ var/obj/item/clothing/CS = H.wear_suit
+ var/obj/item/clothing/CH = H.head
+ if (CS.clothing_flags & CH.clothing_flags & STOPSPRESSUREDAMAGE)
+ atmos_sealed = TRUE
if((!istype(H.w_uniform, /obj/item/clothing/under/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/plasmaman)) && !atmos_sealed)
if(environment)
if(environment.total_moles())
diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm
index 7ba1565bd7..54d5c4ab57 100644
--- a/code/modules/mob/living/carbon/life.dm
+++ b/code/modules/mob/living/carbon/life.dm
@@ -237,7 +237,7 @@
if(internal.loc != src)
internal = null
update_internals_hud_icon(0)
- else if ((!wear_mask || !(wear_mask.flags_1 & MASKINTERNALS_1)) && !getorganslot(ORGAN_SLOT_BREATHING_TUBE))
+ else if ((!wear_mask || !(wear_mask.clothing_flags & MASKINTERNALS)) && !getorganslot(ORGAN_SLOT_BREATHING_TUBE))
internal = null
update_internals_hud_icon(0)
else
diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm
index 6513985704..be2c6364b7 100644
--- a/code/modules/mob/living/carbon/monkey/life.dm
+++ b/code/modules/mob/living/carbon/monkey/life.dm
@@ -18,8 +18,13 @@
if(..())
if(!client)
+<<<<<<< HEAD
if(stat == CONSCIOUS)
if(on_fire || buckled || restrained() || (resting && canmove))
+=======
+ if(stat == CONSCIOUS)
+ if(on_fire || buckled || restrained())
+>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486)
if(!resisting && prob(MONKEY_RESIST_PROB))
resisting = TRUE
walk_to(src,0)
@@ -146,7 +151,7 @@
/mob/living/carbon/monkey/has_smoke_protection()
if(wear_mask)
- if(wear_mask.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1)
+ if(wear_mask.clothing_flags & BLOCK_GAS_SMOKE_EFFECT)
return 1
/mob/living/carbon/monkey/handle_fire()
diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm
index 4cf1f6b13f..f7fa5071e2 100644
--- a/code/modules/mob/living/simple_animal/bot/medbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/medbot.dm
@@ -357,8 +357,11 @@
if(ishuman(C))
var/mob/living/carbon/human/H = C
- if((H.head && (H.head.flags_1 & THICKMATERIAL_1)) && (H.wear_suit && (H.wear_suit.flags_1 & THICKMATERIAL_1)))
- return FALSE // Skip over them if they have no exposed flesh.
+ if (H.wear_suit && H.head && is_type_in_typecache(H.wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(H.wear_suit, GLOB.typecache_clothing))
+ var/obj/item/clothing/CS = H.wear_suit
+ var/obj/item/clothing/CH = H.head
+ if (CS.clothing_flags & CH.clothing_flags & THICKMATERIAL)
+ return FALSE // Skip over them if they have no exposed flesh.
if(declare_crit && C.health <= 0) //Critical condition! Call for help!
declare(C)
diff --git a/code/modules/ninja/suit/shoes.dm b/code/modules/ninja/suit/shoes.dm
index df8caf0291..1b935a00de 100644
--- a/code/modules/ninja/suit/shoes.dm
+++ b/code/modules/ninja/suit/shoes.dm
@@ -5,11 +5,11 @@
icon_state = "s-ninja"
item_state = "secshoes"
permeability_coefficient = 0.01
- flags_1 = NOSLIP_1
+ clothing_flags = NOSLIP
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
armor = list("melee" = 60, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 100, "acid" = 100)
strip_delay = 120
cold_protection = FEET
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
heat_protection = FEET
- max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
\ No newline at end of file
+ max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm
index bc2bbe4c57..daa90d641f 100644
--- a/code/modules/research/xenobiology/crossbreeding/charged.dm
+++ b/code/modules/research/xenobiology/crossbreeding/charged.dm
@@ -329,7 +329,11 @@ Charged extracts:
if(!istype(C))
to_chat(user, "The potion can only be used on clothing!")
return
+<<<<<<< HEAD
if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && STOPSPRESSUREDMAGE_1 in C.flags_1)
+=======
+ if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE)
+>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486)
to_chat(user, "The [C] is already pressure-resistant!")
return ..()
to_chat(user, "You slather the blue gunk over the [C], making it airtight.")
@@ -338,7 +342,7 @@ Charged extracts:
C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY)
C.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
C.cold_protection = C.body_parts_covered
- C.flags_1 |= STOPSPRESSUREDMAGE_1
+ C.clothing_flags |= STOPSPRESSUREDAMAGE
uses--
if(!uses)
qdel(src)
@@ -371,7 +375,9 @@ Charged extracts:
C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY)
C.resistance_flags |= LAVA_PROOF
- C.flags_2 |= LAVA_PROTECT_2
+ if (istype(C, /obj/item/clothing))
+ var/obj/item/clothing/CL = C
+ CL.clothing_flags |= LAVAPROTECT
uses--
if(!uses)
qdel(src)