From 16504ef0cf34ebfd157008aab4adb130cecff7ad Mon Sep 17 00:00:00 2001 From: xxalpha Date: Tue, 23 Jun 2015 01:52:14 +0100 Subject: [PATCH] Cleaned some clothing flags. Ported turf/Entered optimization from vg. --- code/__DEFINES/clothing.dm | 10 ++++++- code/__DEFINES/flags.dm | 7 +---- code/game/atoms.dm | 2 +- .../gamemodes/changeling/powers/mutations.dm | 6 +++-- code/game/gamemodes/cult/cult_items.dm | 5 ++-- code/game/machinery/camera/camera.dm | 1 + code/game/machinery/flasher.dm | 1 + code/game/objects/effects/aliens.dm | 1 + code/game/objects/items.dm | 11 +++++--- code/game/objects/items/devices/flashlight.dm | 4 +-- .../objects/items/devices/transfer_valve.dm | 1 + code/game/turfs/turf.dm | 15 ++++++----- code/modules/assembly/bomb.dm | 2 +- code/modules/assembly/holder.dm | 2 +- code/modules/assembly/proximity.dm | 2 +- code/modules/clothing/clothing.dm | 5 ++-- code/modules/clothing/head/helmet.dm | 15 ++++++----- code/modules/clothing/head/jobs.dm | 3 ++- code/modules/clothing/head/misc.dm | 8 +++--- code/modules/clothing/head/misc_special.dm | 7 ++--- code/modules/clothing/masks/breath.dm | 3 ++- code/modules/clothing/masks/gasmask.dm | 26 ++++++++++++------- code/modules/clothing/masks/miscellaneous.dm | 6 ++--- code/modules/clothing/spacesuits/hardsuit.dm | 12 ++++++--- .../clothing/spacesuits/miscellaneous.dm | 9 ++++--- code/modules/clothing/spacesuits/plasmamen.dm | 3 ++- code/modules/clothing/suits/bio.dm | 3 ++- code/modules/clothing/suits/utility.dm | 6 +++-- .../living/carbon/alien/special/facehugger.dm | 3 ++- .../mob/living/carbon/brain/brain_item.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- .../mob/living/carbon/human/human_damage.dm | 2 +- code/modules/mob/living/living_defense.dm | 2 +- code/modules/mob/mob_defines.dm | 2 +- .../Consumable-Reagents/Food-Reagents.dm | 8 +++--- .../reagents/reagent_containers/dropper.dm | 4 +-- code/modules/surgery/helpers.dm | 4 +-- 37 files changed, 125 insertions(+), 80 deletions(-) diff --git a/code/__DEFINES/clothing.dm b/code/__DEFINES/clothing.dm index 6e9734c1fa5..672a58facdd 100644 --- a/code/__DEFINES/clothing.dm +++ b/code/__DEFINES/clothing.dm @@ -85,4 +85,12 @@ #define NO_FEMALE_UNIFORM 0 #define FEMALE_UNIFORM_FULL 1 -#define FEMALE_UNIFORM_TOP 2 \ No newline at end of file +#define FEMALE_UNIFORM_TOP 2 + + +//flags for covering body parts +#define GLASSESCOVERSEYES 1 +#define MASKCOVERSEYES 2 // get rid of some of the other retardation in these flags +#define HEADCOVERSEYES 4 // feel free to realloc these numbers for other purposes +#define MASKCOVERSMOUTH 8 // on other items, these are just for mask/head +#define HEADCOVERSMOUTH 16 \ No newline at end of file diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 3d704c12cf0..d0328896e12 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -17,14 +17,9 @@ #define ABSTRACT 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way #define FPRINT 256 // takes a fingerprint #define ON_BORDER 512 // item has priority to check when entering or leaving +#define PROXMOVE 2048 // Will the code check us when we move or when something moves near us? -#define GLASSESCOVERSEYES 1024 -#define MASKCOVERSEYES 1024 // get rid of some of the other retardation in these flags -#define HEADCOVERSEYES 1024 // feel free to realloc these numbers for other purposes -#define MASKCOVERSMOUTH 2048 // on other items, these are just for mask/head -#define HEADCOVERSMOUTH 2048 - #define HEADBANGPROTECT 4096 #define EARBANGPROTECT 1024 diff --git a/code/game/atoms.dm b/code/game/atoms.dm index f6a52f40e54..03e5ce007b0 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -131,7 +131,7 @@ /atom/proc/CheckExit() return 1 -/atom/proc/HasProximity(atom/movable/AM as mob|obj) +/atom/proc/HasProximity(atom/movable/AM as mob|obj) //Requires the PROXMOVE flag to work. return /atom/proc/emp_act(var/severity) diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index 40884bda963..1ff47bb9dda 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -271,8 +271,9 @@ name = "flesh mass" icon_state = "lingspacehelmet" desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front." - flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | NODROP //Again, no THICKMATERIAL. + flags = BLOCKHAIR | STOPSPRESSUREDMAGE | NODROP //Again, no THICKMATERIAL. armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/head/helmet/space/changeling/dropped() qdel(src) @@ -320,9 +321,10 @@ name = "chitinous mass" desc = "A tough, hard covering of black chitin with transparent chitin in front." icon_state = "lingarmorhelmet" - flags = HEADCOVERSEYES | BLOCKHAIR | NODROP + flags = BLOCKHAIR | NODROP armor = list(melee = 40, bullet = 15, laser = 30,energy = 10, bomb = 5, bio = 2, rad = 0) flags_inv = HIDEEARS + flags_cover = HEADCOVERSEYES /obj/item/clothing/head/helmet/changeling/dropped() qdel(src) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 90ebb2d9f93..bfdacd24ad3 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -34,7 +34,7 @@ icon_state = "culthood" desc = "A hood worn by the followers of Nar-Sie." flags_inv = HIDEFACE - flags = HEADCOVERSEYES + flags_cover = HEADCOVERSEYES armor = list(melee = 30, bullet = 10, laser = 5,energy = 5, bomb = 0, bio = 0, rad = 0) cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT @@ -70,8 +70,9 @@ item_state = "magus" desc = "A helm worn by the followers of Nar-Sie." flags_inv = HIDEFACE - flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = BLOCKHAIR armor = list(melee = 30, bullet = 30, laser = 30,energy = 20, bomb = 0, bio = 0, rad = 0) + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/magusred name = "magus robes" diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index c6748849914..30c7c0c1cd3 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -7,6 +7,7 @@ idle_power_usage = 5 active_power_usage = 10 layer = 5 + flags = FPRINT | PROXMOVE var/health = 50 var/list/network = list("SS13") diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 1b6be79b004..73d4f99cea0 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -21,6 +21,7 @@ anchored = 0 base_state = "pflash" density = 1 + flags = FPRINT | PROXMOVE /obj/machinery/flasher/New() bulb = new /obj/item/device/flash/handheld(src) diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index a9d3579ea9d..f21580d3ffd 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -324,6 +324,7 @@ anchored = 1 var/health = 100 var/status = GROWING //can be GROWING, GROWN or BURST; all mutually exclusive + flags = PROXMOVE /obj/structure/alien/egg/New() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index f0f85603f5c..7f86425228c 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -76,6 +76,9 @@ /obj/machinery/r_n_d/experimentor, /obj/machinery/autolathe ) + + var/flags_cover = 0 //for flags such as GLASSESCOVERSEYES + /obj/item/proc/check_allowed_items(atom/target, not_inside) if((src in target) || ((!istype(target.loc, /turf)) && (!istype(target, /turf)) && (not_inside)) || is_type_in_list(target, can_be_placed_into)) return 0 @@ -327,16 +330,16 @@ if(ishuman(M)) is_human_victim = 1 var/mob/living/carbon/human/H = M - if((H.head && H.head.flags & HEADCOVERSEYES) || \ - (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \ - (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)) + if((H.head && H.head.flags_cover & HEADCOVERSEYES) || \ + (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) || \ + (H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES)) // you can't stab someone in the eyes wearing a mask! user << "You're going to need to remove that mask/helmet/glasses first!" return if(ismonkey(M)) var/mob/living/carbon/monkey/Mo = M - if(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) + if(Mo.wear_mask && Mo.wear_mask.flags_cover & MASKCOVERSEYES) // you can't stab someone in the eyes wearing a mask! user << "You're going to need to remove that mask/helmet/glasses first!" return diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 5e8555d13ad..3d6f1a022b0 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -57,8 +57,8 @@ return var/mob/living/carbon/human/H = M //mob has protective eyewear - if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) - user << "You're going to need to remove that [(H.head && H.head.flags & HEADCOVERSEYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) ? "mask": "glasses"] first." + if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags_cover & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) || (H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES))) + user << "You're going to need to remove that [(H.head && H.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask": "glasses"] first." return if(M == user) //they're using it on themselves diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 128c6c071bd..36a24f19518 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -9,6 +9,7 @@ var/mob/attacher = null var/valve_open = 0 var/toggle = 1 + flags = FPRINT | PROXMOVE /obj/item/device/transfer_valve/IsAssemblyHolder() return 1 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 04abc1f82d8..0cf3af36874 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -97,12 +97,15 @@ O.lastarea = get_area(O.loc) // O.update_gravity(O.mob_has_gravity()) - var/loopsanity = 100 - for(var/atom/A in range(1)) - if(loopsanity == 0) - break - loopsanity-- - A.HasProximity(M, 1) + if(M && M.flags & PROXMOVE) + var/loopsanity = 100 + for(var/atom/A in range(1)) + if(loopsanity == 0) + break + loopsanity-- + spawn(0) + if((A && M) && A.flags & PROXMOVE) + A.HasProximity(M, 1) /turf/proc/is_plasteel_floor() return 0 diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index f92ef7dcf84..13abcfa1078 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -6,7 +6,7 @@ w_class = 3.0 throw_speed = 2 throw_range = 4 - flags = CONDUCT + flags = CONDUCT | PROXMOVE var/status = 0 //0 - not readied //1 - bomb finished with welder var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a plasma tank diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 1769315acab..e34335d202d 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "holder" item_state = "assembly" - flags = CONDUCT + flags = CONDUCT | PROXMOVE throwforce = 5 w_class = 2.0 throw_speed = 2 diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 07395b77e10..bd846f352e7 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -6,7 +6,7 @@ g_amt = 200 origin_tech = "magnets=1" attachable = 1 - + flags = PROXMOVE var/scanning = 0 var/timing = 0 var/time = 10 diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 049e675e104..c655ee34d45 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -39,7 +39,7 @@ name = "glasses" icon = 'icons/obj/clothing/glasses.dmi' w_class = 2.0 - flags = GLASSESCOVERSEYES + flags_cover = GLASSESCOVERSEYES slot_flags = SLOT_EYES var/vision_flags = 0 var/darkness_view = 2//Base human is 2 @@ -167,7 +167,7 @@ BLIND // can't see anything name = "space helmet" icon_state = "spaceold" desc = "A special helmet with solar UV shielding to protect your eyes from harmful rays." - flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL item_state = "spaceold" permeability_coefficient = 0.01 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) @@ -179,6 +179,7 @@ BLIND // can't see anything flash_protect = 2 strip_delay = 50 put_on_delay = 50 + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/space name = "space suit" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index ef549cf4acb..8f5cc495877 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -2,7 +2,7 @@ name = "helmet" desc = "Standard Security gear. Protects the head from impacts." icon_state = "helmet" - flags = HEADCOVERSEYES | HEADBANGPROTECT + flags = HEADBANGPROTECT item_state = "helmet" armor = list(melee = 25, bullet = 15, laser = 25,energy = 10, bomb = 25, bio = 0, rad = 0) flags_inv = HIDEEARS|HIDEEYES @@ -14,6 +14,7 @@ var/obj/machinery/camera/portable/helmetCam = null var/spawnWithHelmetCam = 0 var/canAttachCam = 0 + flags_cover = HEADCOVERSEYES /obj/item/clothing/head/helmet/New() @@ -49,7 +50,7 @@ toggle_message = "You pull the visor down on" alt_toggle_message = "You push the visor up on" can_toggle = 1 - flags = HEADCOVERSEYES|HEADCOVERSMOUTH|HEADBANGPROTECT + flags = HEADBANGPROTECT armor = list(melee = 41, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE strip_delay = 80 @@ -57,6 +58,7 @@ visor_flags = HEADCOVERSEYES|HEADCOVERSMOUTH visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE toggle_cooldown = 0 + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/head/helmet/attack_self() if(usr.canmove && !usr.stat && !usr.restrained() && can_toggle) @@ -126,7 +128,7 @@ /obj/item/clothing/head/helmet/roman name = "roman helmet" desc = "An ancient helmet made of bronze and leather." - flags = HEADCOVERSEYES + flags_cover = HEADCOVERSEYES armor = list(melee = 25, bullet = 0, laser = 25, energy = 10, bomb = 10, bio = 0, rad = 0) icon_state = "roman" item_state = "roman" @@ -142,15 +144,16 @@ name = "gladiator helmet" desc = "Ave, Imperator, morituri te salutant." icon_state = "gladiator" - flags = HEADCOVERSEYES|BLOCKHAIR + flags = BLOCKHAIR item_state = "gladiator" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES + flags_cover = HEADCOVERSEYES /obj/item/clothing/head/helmet/redtaghelm name = "red laser tag helmet" desc = "They have chosen their own end." icon_state = "redtaghelm" - flags = HEADCOVERSEYES + flags_cover = HEADCOVERSEYES item_state = "redtaghelm" armor = list(melee = 15, bullet = 10, laser = 20,energy = 10, bomb = 20, bio = 0, rad = 0) // Offer about the same protection as a hardhat. @@ -160,7 +163,7 @@ name = "blue laser tag helmet" desc = "They'll need more men." icon_state = "bluetaghelm" - flags = HEADCOVERSEYES + flags_cover = HEADCOVERSEYES item_state = "bluetaghelm" armor = list(melee = 15, bullet = 10, laser = 20,energy = 10, bomb = 20, bio = 0, rad = 0) // Offer about the same protection as a hardhat. diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index d19c7b7397c..7d2d81b6fa9 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -47,7 +47,8 @@ name = "nun hood" desc = "Maximum piety in this star system." icon_state = "nun_hood" - flags = HEADCOVERSEYES|BLOCKHAIR + flags = BLOCKHAIR + flags_cover = HEADCOVERSEYES /obj/item/clothing/head/det_hat name = "detective's fedora" diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 7130556f958..e7fc2072172 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -41,7 +41,8 @@ name = "hastur's hood" desc = "It's unspeakably stylish." icon_state = "hasturhood" - flags = HEADCOVERSEYES|BLOCKHAIR + flags = BLOCKHAIR + flags_cover = HEADCOVERSEYES /obj/item/clothing/head/nursehat name = "nurse's hat" @@ -68,7 +69,7 @@ desc = "A helmet made out of a box." icon_state = "cardborg_h" item_state = "cardborg_h" - flags = HEADCOVERSEYES + flags_cover = HEADCOVERSEYES flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE /obj/item/clothing/head/justice @@ -76,7 +77,8 @@ desc = "Fight for what's righteous!" icon_state = "justicered" item_state = "justicered" - flags = HEADCOVERSEYES|BLOCKHAIR + flags = BLOCKHAIR + flags_cover = HEADCOVERSEYES /obj/item/clothing/head/justice/blue icon_state = "justiceblue" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 6eee2eaf8a0..fa58e31116a 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -15,7 +15,7 @@ name = "welding helmet" desc = "A head-mounted face cover designed to protect the wearer completely from space-arc eye." icon_state = "welding" - flags = HEADCOVERSEYES | HEADCOVERSMOUTH + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "welding" m_amt = 1750 g_amt = 400 @@ -47,7 +47,7 @@ name = "cake-hat" desc = "It's tasty looking!" icon_state = "cake0" - flags = HEADCOVERSEYES + flags_cover = HEADCOVERSEYES var/onfire = 0.0 var/status = 0 var/fire_resist = T0C+1300 //this is the max temp it can stand before you start to cook. although it might not burn away, you take damage @@ -116,11 +116,12 @@ icon_state = "hardhat0_pumpkin" item_state = "hardhat0_pumpkin" item_color = "pumpkin" - flags = HEADCOVERSEYES | BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE action_button_name = "Toggle Pumpkin Light" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) brightness_on = 2 //luminosity when on + flags_cover = HEADCOVERSEYES /* * Kitty ears diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 4735d9325b9..a3b54c55779 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -4,13 +4,14 @@ icon_state = "breath" item_state = "m_mask" body_parts_covered = 0 - flags = MASKCOVERSMOUTH | MASKINTERNALS + flags = MASKINTERNALS visor_flags = MASKCOVERSMOUTH | MASKINTERNALS w_class = 2 gas_transfer_coefficient = 0.10 permeability_coefficient = 0.50 action_button_name = "Adjust Breath Mask" ignore_maskadjust = 0 + flags_cover = MASKCOVERSMOUTH /obj/item/clothing/mask/breath/attack_self(var/mob/user) adjustmask(user) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index bf59b9d3278..f1d415357bf 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -2,12 +2,13 @@ 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 = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS flags_inv = HIDEEARS|HIDEEYES|HIDEFACE w_class = 3.0 item_state = "gas_alt" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 + flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH // **** Welding gas mask **** @@ -47,10 +48,11 @@ icon_state = "sechailer" var/aggressiveness = 2 ignore_maskadjust = 0 - flags = MASKCOVERSMOUTH | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS flags_inv = HIDEFACE visor_flags = MASKCOVERSMOUTH | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS visor_flags_inv = HIDEFACE + flags_cover = MASKCOVERSMOUTH /obj/item/clothing/mask/gas/sechailer/swat name = "\improper SWAT mask" @@ -222,9 +224,10 @@ /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 = MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS icon_state = "clown" item_state = "clown_hat" + flags_cover = MASKCOVERSEYES /obj/item/clothing/mask/gas/clown_hat/attack_self(mob/user) @@ -245,30 +248,34 @@ /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 = MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS icon_state = "sexyclown" item_state = "sexyclown" + flags_cover = MASKCOVERSEYES /obj/item/clothing/mask/gas/mime name = "mime mask" desc = "The traditional mime's mask. It has an eerie facial posture." - flags = MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS icon_state = "mime" item_state = "mime" + flags_cover = MASKCOVERSEYES /obj/item/clothing/mask/gas/monkeymask name = "monkey mask" desc = "A mask used when acting as a monkey." - flags = MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS icon_state = "monkeymask" item_state = "monkeymask" + flags_cover = MASKCOVERSEYES /obj/item/clothing/mask/gas/sexymime name = "sexy mime mask" desc = "A traditional female mime's mask." - flags = MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS icon_state = "sexymime" item_state = "sexymime" + flags_cover = MASKCOVERSEYES /obj/item/clothing/mask/gas/death_commando name = "Death Commando Mask" @@ -283,5 +290,6 @@ /obj/item/clothing/mask/gas/owl_mask name = "owl mask" desc = "Twoooo!" - flags = MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS - icon_state = "owl" \ No newline at end of file + flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + icon_state = "owl" + flags_cover = MASKCOVERSEYES \ No newline at end of file diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index dc9c31861c7..46e72e75908 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -3,7 +3,7 @@ desc = "To stop that awful noise." icon_state = "muzzle" item_state = "blindfold" - flags = MASKCOVERSMOUTH + flags_cover = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 put_on_delay = 20 @@ -22,7 +22,7 @@ icon_state = "sterile" item_state = "sterile" w_class = 1 - flags = MASKCOVERSMOUTH + flags_cover = MASKCOVERSMOUTH flags_inv = HIDEFACE visor_flags = MASKCOVERSMOUTH visor_flags_inv = HIDEFACE @@ -111,7 +111,7 @@ name = "botany bandana" desc = "A fine bandana with nanotech lining and a hydroponics pattern." w_class = 1 - flags = MASKCOVERSMOUTH + flags_cover = MASKCOVERSMOUTH flags_inv = HIDEFACE visor_flags = MASKCOVERSMOUTH visor_flags_inv = HIDEFACE diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 4c0d46b7c43..959b4ee8ef2 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -12,7 +12,8 @@ var/on = 0 item_color = "engineering" //Determines used sprites: hardsuit[on]-[color] and hardsuit[on]-[color]2 (lying down sprite) action_button_name = "Toggle Helmet Light" - flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP + flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/head/helmet/space/hardsuit/attack_self(mob/user) @@ -162,7 +163,8 @@ on = 0 var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null action_button_name = "Toggle Helmet Mode" - flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP + flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon() icon_state = "hardsuit[on]-[item_color]" @@ -182,7 +184,8 @@ name = initial(name) desc = initial(desc) user.AddLuminosity(brightness_on) - flags |= HEADCOVERSEYES | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL + flags |= STOPSPRESSUREDMAGE | THICKMATERIAL + flags_cover |= HEADCOVERSEYES | HEADCOVERSMOUTH flags_inv |= HIDEMASK|HIDEEYES|HIDEFACE cold_protection |= HEAD else @@ -190,7 +193,8 @@ name += " (combat)" desc = alt_desc user.AddLuminosity(-brightness_on) - flags &= ~(HEADCOVERSEYES| HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL) + flags &= ~(STOPSPRESSUREDMAGE | THICKMATERIAL) + flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH) flags_inv &= ~(HIDEMASK|HIDEEYES|HIDEFACE) cold_protection &= ~HEAD update_icon() diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 9fedcc0e3a8..2f7f85299e6 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -96,7 +96,8 @@ name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" - flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = BLOCKHAIR | STOPSPRESSUREDMAGE + flags_cover = HEADCOVERSEYES /obj/item/clothing/suit/space/santa name = "Santa's suit" @@ -115,9 +116,10 @@ icon_state = "pirate" item_state = "pirate" armor = list(melee = 30, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) - flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = BLOCKHAIR | STOPSPRESSUREDMAGE strip_delay = 40 put_on_delay = 20 + flags_cover = HEADCOVERSEYES /obj/item/clothing/suit/space/pirate name = "pirate coat" @@ -141,8 +143,9 @@ item_color = "ert_commander" armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100) strip_delay = 130 - flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP + flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP brightness_on = 7 + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/space/hardsuit/ert name = "emergency response team suit" diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index b3e05df12ce..51ff7384a99 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -39,9 +39,10 @@ icon_state = "plasmaman_helmet0-plasma" item_color = "plasma" //needed for the helmet lighting item_state = "plasmaman_helmet0" - flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL //Removed the NODROP from /helmet/space/hardsuit. flags_inv = HIDEMASK|HIDEEARS|HIDEEYES //Removed the HIDEFACE from /helmet/space/hardsuit basestate = "plasmaman_helmet" + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 7d75bef57d4..1cf684ab76d 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -4,10 +4,11 @@ icon_state = "bio" desc = "A hood that protects the head and face from biological comtaminants." permeability_coefficient = 0.01 - flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR|THICKMATERIAL + flags = BLOCKHAIR|THICKMATERIAL armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES unacidable = 1 + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/bio_suit name = "bio suit" diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index c32db545664..a4d69048234 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -55,7 +55,7 @@ name = "bomb hood" desc = "Use in case of bomb." icon_state = "bombsuit" - flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR|THICKMATERIAL + flags = BLOCKHAIR|THICKMATERIAL armor = list(melee = 20, bullet = 0, laser = 20,energy = 10, bomb = 100, bio = 0, rad = 0) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES cold_protection = HEAD @@ -64,6 +64,7 @@ max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 70 put_on_delay = 70 + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/bomb_suit @@ -105,10 +106,11 @@ 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 = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR|THICKMATERIAL + flags = BLOCKHAIR|THICKMATERIAL armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) strip_delay = 60 put_on_delay = 60 + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/radiation diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 7ff98ab7531..0419b35935a 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -15,9 +15,10 @@ var/const/MAX_ACTIVE_TIME = 400 icon_state = "facehugger" item_state = "facehugger" w_class = 1 //note: can be picked up by aliens unlike most other items of w_class below 4 - flags = MASKCOVERSMOUTH | MASKCOVERSEYES | MASKINTERNALS + flags = MASKINTERNALS | PROXMOVE throw_range = 5 tint = 3 + flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH var/stat = CONSCIOUS //UNCONSCIOUS is the idle state in this case diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index ed151132066..7a233cea9c2 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -51,7 +51,7 @@ return ..() var/mob/living/carbon/human/H = M - if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) + if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags_cover & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) user << "You're going to need to remove their head cover first!" return diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 030b2a74750..124cf68ca36 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -493,7 +493,7 @@ var/const/GALOSHES_DONT_HELP = 8 src << "You fail to break [I]!" /mob/living/carbon/proc/is_mouth_covered(head_only = 0, mask_only = 0) - if( (!mask_only && head && (head.flags & HEADCOVERSMOUTH)) || (!head_only && wear_mask && (wear_mask.flags & MASKCOVERSMOUTH)) ) + if( (!mask_only && head && (head.flags_cover & HEADCOVERSMOUTH)) || (!head_only && wear_mask && (wear_mask.flags_cover & MASKCOVERSMOUTH)) ) return 1 /mob/living/carbon/get_standard_pixel_y_offset(lying = 0) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 7c0773877c1..b6cb6f5181b 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -50,7 +50,7 @@ var/loose = 40 if(stat || (status_flags & FAKEDEATH)) multiplier = 2 - if(H.flags & (HEADCOVERSEYES | HEADCOVERSMOUTH) || H.flags_inv & (HIDEEYES | HIDEFACE)) + if(H.flags_cover & (HEADCOVERSEYES | HEADCOVERSMOUTH) || H.flags_inv & (HIDEEYES | HIDEFACE)) loose = 0 return loose * multiplier diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 100251062c5..834a99db7d6 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -219,7 +219,7 @@ return 0 if (M.a_intent == "harm") - if(M.is_muzzled() || (M.wear_mask && M.wear_mask.flags & MASKCOVERSMOUTH)) + if(M.is_muzzled() || (M.wear_mask && M.wear_mask.flags_cover & MASKCOVERSMOUTH)) M << "You can't bite with your mouth covered!" return 0 M.do_attack_animation(src) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index c9883f02afe..0320ed38873 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -2,7 +2,7 @@ density = 1 layer = 4 animate_movement = 2 - flags = HEAR + flags = HEAR | PROXMOVE hud_possible = list(ANTAG_HUD) pressure_resistance = 8 var/datum/mind/mind diff --git a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm index 7fd49928443..64ac0c3278b 100644 --- a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm @@ -176,10 +176,10 @@ //monkeys and humans can have masks if( victim.wear_mask ) - if ( victim.wear_mask.flags & MASKCOVERSEYES ) + if ( victim.wear_mask.flags_cover & MASKCOVERSEYES ) eyes_covered = 1 safe_thing = victim.wear_mask - if ( victim.wear_mask.flags & MASKCOVERSMOUTH ) + if ( victim.wear_mask.flags_cover & MASKCOVERSMOUTH ) mouth_covered = 1 safe_thing = victim.wear_mask @@ -187,10 +187,10 @@ if(istype(victim, /mob/living/carbon/human)) var/mob/living/carbon/human/H = victim if( H.head ) - if ( H.head.flags & MASKCOVERSEYES ) + if ( H.head.flags_cover & MASKCOVERSEYES ) eyes_covered = 1 safe_thing = H.head - if ( H.head.flags & MASKCOVERSMOUTH ) + if ( H.head.flags_cover & MASKCOVERSMOUTH ) mouth_covered = 1 safe_thing = H.head if(H.glasses) diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 8a8f5f1728b..c180b0f34f4 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -28,10 +28,10 @@ var/obj/item/safe_thing = null if(victim.wear_mask) - if(victim.wear_mask.flags & MASKCOVERSEYES) + if(victim.wear_mask.flags_cover & MASKCOVERSEYES) safe_thing = victim.wear_mask if(victim.head) - if(victim.head.flags & MASKCOVERSEYES) + if(victim.head.flags_cover & MASKCOVERSEYES) safe_thing = victim.head if(victim.glasses) if(!safe_thing) diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index 662a4304d3e..4982c6bcc64 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -80,13 +80,13 @@ for(var/obj/item/clothing/I in list(C.back, C.wear_mask, C.head)) covered_locations |= I.body_parts_covered face_covered |= I.flags_inv - eyesmouth_covered |= I.flags + eyesmouth_covered |= I.flags_cover if(ishuman(C)) var/mob/living/carbon/human/H = C for(var/obj/item/I in list(H.wear_suit, H.w_uniform, H.shoes, H.belt, H.gloves, H.glasses, H.ears)) covered_locations |= I.body_parts_covered face_covered |= I.flags_inv - eyesmouth_covered |= I.flags + eyesmouth_covered |= I.flags_cover switch(location) if("head")