diff --git a/code/ZAS/Phoron.dm b/code/ZAS/Phoron.dm
index fc0d5a1191..b8ca13521c 100644
--- a/code/ZAS/Phoron.dm
+++ b/code/ZAS/Phoron.dm
@@ -40,15 +40,11 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
obj/var/contaminated = 0
-obj/var/phoronproof = 0
-
/obj/item/proc/can_contaminate()
//Clothing and backpacks can be contaminated.
if(flags & PHORONGUARD)
return 0
- else if(phoronproof == 1)
- return 0
else if(istype(src,/obj/item/weapon/storage/backpack))
return 0 //Cannot be washed :(
else if(istype(src,/obj/item/clothing))
@@ -144,7 +140,7 @@ obj/var/phoronproof = 0
//Checks if the head is adequately sealed. //This is just odd. TODO: Make this respect the body_parts_covered stuff like thermal gear does.
if(head)
if(vsc.plc.PHORONGUARD_ONLY)
- if(head.flags & PHORONGUARD || head.phoronproof)
+ if(head.flags & PHORONGUARD)
return 1
else if(head.body_parts_covered & EYES)
return 1
@@ -156,7 +152,7 @@ obj/var/phoronproof = 0
for(var/obj/item/protection in list(wear_suit, gloves, shoes)) //This is why it's odd. If I'm in a full suit, but my shoes and gloves aren't phoron proof, damage.
if(!protection)
continue
- if(vsc.plc.PHORONGUARD_ONLY && !(protection.flags & PHORONGUARD) && !protection.phoronproof)
+ if(vsc.plc.PHORONGUARD_ONLY && !(protection.flags & PHORONGUARD))
return 0
coverage |= protection.body_parts_covered
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 87aef44851..c932d2524b 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -145,7 +145,7 @@ BLIND // can't see anything
/obj/item/clothing/glasses/night/vox
name = "Alien Optics"
species_restricted = list("Vox")
- phoronproof = 1
+ flags = PHORONGUARD
/obj/item/clothing/glasses/night/New()
..()
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 7546d81651..78e335377f 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -105,9 +105,8 @@
name = "insulated gauntlets"
icon_state = "gloves-vox"
item_state = "gloves-vox"
- item_flags = PHORONGUARD
+ flags = PHORONGUARD
siemens_coefficient = 0
- phoronproof = 1
permeability_coefficient = 0.05
species_restricted = list("Vox")
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index 8e7b10052d..5881629496 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -142,8 +142,7 @@
desc = "Ave, Imperator, morituri te salutant."
icon_state = "gladiator"
item_state_slots = list(slot_r_hand_str = "vhelmet", slot_l_hand_str = "vhelmet")
- flags = BLOCKHAIR
- flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
+ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
siemens_coefficient = 1
valid_accessory_slots = null
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 874901a0e4..a1e9b1a749 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -62,8 +62,8 @@
/obj/item/clothing/mask/gas/swat/vox
name = "\improper alien mask"
desc = "Clearly not designed for a human face."
- item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | PHORONGUARD
- phoronproof = 1
+ flags = PHORONGUARD
+ item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT
species_restricted = list(SPECIES_VOX)
filtered_gases = list("oxygen", "sleeping_agent")
var/mask_open = FALSE // Controls if the Vox can eat through this mask
@@ -72,15 +72,17 @@
/obj/item/clothing/mask/gas/swat/vox/proc/feeding_port(mob/user)
if(user.canmove && !user.stat)
mask_open = !mask_open
- if (mask_open)
- body_parts_covered = body_parts_covered & ~FACE
+ if(mask_open)
+ body_parts_covered = EYES
to_chat(user, "Your mask moves to allow you to eat.")
else
- body_parts_covered = initial(body_parts_covered)
+ body_parts_covered = FACE|EYES
to_chat(user, "Your mask moves to cover your mouth.")
+ return
/obj/item/clothing/mask/gas/swat/vox/attack_self(mob/user)
feeding_port(user)
+ ..()
/obj/item/clothing/mask/gas/syndicate
name = "tactical mask"
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index 4bd3f59e29..17a44db61d 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -86,8 +86,7 @@
name = "vox magclaws"
item_state = "boots-vox"
icon_state = "boots-vox"
- item_flags = PHORONGUARD
- phoronproof = 1
+ flags = PHORONGUARD
species_restricted = list(SPECIES_VOX)
action_button_name = "Toggle the magclaws"
diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm
index 1cd2f394be..a5e0b31451 100644
--- a/code/modules/clothing/spacesuits/alien.dm
+++ b/code/modules/clothing/spacesuits/alien.dm
@@ -31,9 +31,9 @@
// Can't be equipped by any other species due to bone structure and vox cybernetics.
/obj/item/clothing/suit/space/vox
w_class = ITEMSIZE_NORMAL
- item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | PHORONGUARD
+ flags = PHORONGUARD
+ item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank)
- phoronproof = 1
armor = list(melee = 60, bullet = 50, laser = 40,energy = 15, bomb = 30, bio = 100, rad = 50)
siemens_coefficient = 0.2
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
@@ -43,9 +43,9 @@
/obj/item/clothing/head/helmet/space/vox
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
siemens_coefficient = 0.2
- item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT | PHORONGUARD
+ flags = PHORONGUARD
+ item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT
flags_inv = 0
- phoronproof = 1
species_restricted = list(SPECIES_VOX)
/obj/item/clothing/head/helmet/space/vox/pressure
diff --git a/code/modules/clothing/spacesuits/rig/suits/alien.dm b/code/modules/clothing/spacesuits/rig/suits/alien.dm
index b6e3e85596..27b97df92b 100644
--- a/code/modules/clothing/spacesuits/rig/suits/alien.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/alien.dm
@@ -47,9 +47,8 @@
suit_type = "alien"
icon_state = "vox_rig"
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
- item_flags = THICKMATERIAL
+ item_flags = THICKMATERIAL|PHORONGUARD
siemens_coefficient = 0.2
- phoronproof = 1
offline_slowdown = 5
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit)
@@ -63,7 +62,6 @@
/obj/item/clothing/head/helmet/space/rig/vox
species_restricted = list(SPECIES_VOX)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
- phoronproof = 1
/obj/item/clothing/shoes/magboots/rig/vox
name = "talons"
@@ -71,11 +69,9 @@
sprite_sheets = list(
SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi'
)
- phoronproof = 1
/obj/item/clothing/suit/space/rig/vox
species_restricted = list(SPECIES_VOX)
- phoronproof = 1
/obj/item/clothing/gloves/gauntlets/rig/vox
siemens_coefficient = 0
@@ -83,14 +79,12 @@
sprite_sheets = list(
SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi'
)
- phoronproof = 1
/obj/item/weapon/rig/vox/carapace
name = "dense alien control module"
suit_type = "dense alien"
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
emp_protection = 40 //change this to 30 if too high.
- phoronproof = 1
req_access = list(access_syndicate)
@@ -111,7 +105,6 @@
icon_state = "voxstealth_rig"
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50)
emp_protection = 40 //change this to 30 if too high.
- phoronproof = 1
req_access = list(access_syndicate)
diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm
index b5a9900081..400bd96b4b 100644
--- a/code/modules/clothing/spacesuits/spacesuits.dm
+++ b/code/modules/clothing/spacesuits/spacesuits.dm
@@ -6,6 +6,7 @@
name = "Space helmet"
icon_state = "space"
desc = "A special helmet designed for work in a hazardous, low-pressure environment."
+ flags = PHORONGUARD
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT
permeability_coefficient = 0.01
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
@@ -16,7 +17,6 @@
siemens_coefficient = 0.9
species_restricted = list("exclude",SPECIES_DIONA)
preserve_item = 1
- phoronproof = 1
flash_protection = FLASH_PROTECTION_MAJOR
valid_accessory_slots = null
@@ -55,7 +55,8 @@
w_class = ITEMSIZE_HUGE // So you can't fit this in your bag and be prepared at all times.
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.02
- item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL
+ flags = PHORONGUARD
+ item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | PHORONGUARD
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/suit_cooling_unit)
slowdown = 3
@@ -66,7 +67,6 @@
siemens_coefficient = 0.9
species_restricted = list("exclude",SPECIES_DIONA)
preserve_item = 1
- phoronproof = 1
var/list/supporting_limbs //If not-null, automatically splints breaks. Checked when removing the suit.
diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm
index 32cb6551fe..4ac233529e 100644
--- a/code/modules/clothing/suits/bio.dm
+++ b/code/modules/clothing/suits/bio.dm
@@ -8,8 +8,7 @@
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
siemens_coefficient = 0.9
- item_flags = THICKMATERIAL
- phoronproof = 1
+ item_flags = THICKMATERIAL | PHORONGUARD
/obj/item/clothing/suit/bio_suit
name = "bio suit"
@@ -24,8 +23,7 @@
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
siemens_coefficient = 0.9
- item_flags = THICKMATERIAL
- phoronproof = 1
+ item_flags = THICKMATERIAL | PHORONGUARD
//Standard biosuit, orange stripe
/obj/item/clothing/head/bio_hood/general
diff --git a/code/modules/clothing/under/xenos/vox.dm b/code/modules/clothing/under/xenos/vox.dm
index 0c9942881f..ecbc618061 100644
--- a/code/modules/clothing/under/xenos/vox.dm
+++ b/code/modules/clothing/under/xenos/vox.dm
@@ -2,7 +2,7 @@
has_sensor = 0
species_restricted = list(SPECIES_VOX)
starting_accessories = list(/obj/item/clothing/accessory/storage/vox) // Dont' start with a backback, so free webbing
- phoronproof = 1
+ flags = PHORONGUARD
/obj/item/clothing/under/vox/vox_casual
name = "alien clothing"
@@ -23,6 +23,8 @@
desc = "An alien mesh. Seems to be made up mostly of pockets and writhing flesh."
icon_state = "webbing-vox"
+ flags = PHORONGUARD
+
slots = 3
/obj/item/clothing/accessory/storage/vox/New()
diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm
index 65929e51c9..e8ca2ae134 100644
--- a/code/modules/integrated_electronics/subtypes/reagents.dm
+++ b/code/modules/integrated_electronics/subtypes/reagents.dm
@@ -2,7 +2,6 @@
category_text = "Reagent"
var/volume = 0
unacidable = 1
- phoronproof = 1
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2)
/obj/item/integrated_circuit/reagent/New()
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 21589fc791..c5f259e0b4 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -166,7 +166,7 @@ emp_act
// Checked in borer code
/mob/living/carbon/human/proc/check_head_coverage()
var/obj/item/organ/external/H = organs_by_name[BP_HEAD]
- var/list/body_parts = H.get_covering_clothing()
+ var/list/body_parts = H.get_covering_clothing(EYES)
if(LAZYLEN(body_parts))
return 1
return 0
@@ -174,7 +174,7 @@ emp_act
//Used to check if they can be fed food/drinks/pills
/mob/living/carbon/human/proc/check_mouth_coverage()
var/obj/item/organ/external/H = organs_by_name[BP_HEAD]
- var/list/protective_gear = H.get_covering_clothing()
+ var/list/protective_gear = H.get_covering_clothing(FACE)
for(var/obj/item/gear in protective_gear)
if(istype(gear) && (gear.body_parts_covered & FACE) && !(gear.item_flags & FLEXIBLEMATERIAL))
return gear
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index 16250e2c22..baa4a94530 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -1332,12 +1332,16 @@ Note that amputating the affected organ does in fact remove the infection from t
return english_list(flavor_text)
// Returns a list of the clothing (not glasses) that are covering this part
-/obj/item/organ/external/proc/get_covering_clothing()
+/obj/item/organ/external/proc/get_covering_clothing(var/target_covering) // target_covering checks for mouth/eye coverage
var/list/covering_clothing = list()
+
+ if(!target_covering)
+ target_covering = src.body_part
+
if(owner)
- var/list/protective_gear = list(owner.head, owner.wear_mask, owner.wear_suit, owner.w_uniform, owner.gloves, owner.shoes)
+ var/list/protective_gear = list(owner.head, owner.wear_mask, owner.wear_suit, owner.w_uniform, owner.gloves, owner.shoes, owner.glasses)
for(var/obj/item/clothing/gear in protective_gear)
- if(gear.body_parts_covered & src.body_part)
+ if(gear.body_parts_covered & target_covering)
covering_clothing |= gear
if(LAZYLEN(gear.accessories))
for(var/obj/item/clothing/accessory/bling in gear.accessories)
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
index f92e2d8c97..d61f8e8e98 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
@@ -426,7 +426,7 @@
if(alien != IS_SLIME)
return
else if(eyes_covered)
- to_chat(M, "Your [safe_thing] protect you from most of the pepperspray!")
+ to_chat(M, "Your [safe_thing] protects you from most of the pepperspray!")
M.eye_blurry = max(M.eye_blurry, effective_strength * 3)
M.Blind(effective_strength)
M.Stun(5)