Removes MASK/HEADCOVERSMOUTH

Code that used to check this flag now checks body_parts_covered for FACE
instead. Added a FLEXIBLEMATERIAL item flag to continue to allow vox to
eat food without poisoning themselves.
This commit is contained in:
mwerezak
2015-08-18 17:20:36 -04:00
committed by HarpyEagle
parent d70f064b1b
commit fd8f6d9639
17 changed files with 32 additions and 61 deletions
-1
View File
@@ -49,7 +49,6 @@
name = "gladiator helmet"
desc = "Ave, Imperator, morituri te salutant."
icon_state = "gladiator"
flags = HEADCOVERSMOUTH
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
body_parts_covered = HEAD|FACE
siemens_coefficient = 1
-3
View File
@@ -83,7 +83,6 @@
desc = "A large, featureless white orb mean to be worn on your head. How do you even see out of this thing?"
icon_state = "cueball"
item_state = "cueball"
flags = HEADCOVERSMOUTH
flags_inv = BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
@@ -100,7 +99,6 @@
desc = "A helmet made out of a box."
icon_state = "cardborg_h"
item_state = "cardborg_h"
flags = HEADCOVERSMOUTH
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
body_parts_covered = HEAD|FACE|EYES
@@ -108,7 +106,6 @@
name = "justice hat"
desc = "fight for what's righteous!"
icon_state = "justicered"
flags = HEADCOVERSMOUTH
flags_inv = BLOCKHAIR
body_parts_covered = HEAD|EYES
+2 -7
View File
@@ -19,7 +19,6 @@
slot_l_hand_str = "welding",
slot_r_hand_str = "welding",
)
flags = HEADCOVERSMOUTH
matter = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 1000)
var/up = 0
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
@@ -44,16 +43,14 @@
if(usr.canmove && !usr.stat && !usr.restrained())
if(src.up)
src.up = !src.up
src.flags |= (HEADCOVERSMOUTH)
flags_inv |= (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
body_parts_covered |= (EYES|FACE)
flags_inv |= (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
icon_state = base_state
usr << "You flip the [src] down to protect your eyes."
else
src.up = !src.up
src.flags &= ~(HEADCOVERSMOUTH)
flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
body_parts_covered &= ~(EYES|FACE)
flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
icon_state = "[base_state]up"
usr << "You push the [src] up out of your face."
update_clothing_icon() //so our mob-overlays
@@ -125,7 +122,6 @@
name = "carved pumpkin"
desc = "A jack o' lantern! Believed to ward off evil spirits."
icon_state = "hardhat0_pumpkin"//Could stand to be renamed
flags = HEADCOVERSMOUTH
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
brightness_on = 2
@@ -156,5 +152,4 @@
desc = "You can hear the distant sounds of rhythmic electronica."
icon_state = "richard"
body_parts_covered = HEAD|FACE
flags = HEADCOVERSMOUTH
flags_inv = BLOCKHAIR
+5 -8
View File
@@ -3,9 +3,8 @@
name = "breath mask"
icon_state = "breath"
item_state = "breath"
flags = MASKCOVERSMOUTH
item_flags = AIRTIGHT
body_parts_covered = 0
item_flags = AIRTIGHT|FLEXIBLEMATERIAL
body_parts_covered = FACE
w_class = 2
gas_transfer_coefficient = 0.10
permeability_coefficient = 0.50
@@ -21,18 +20,16 @@
if(!src.hanging)
src.hanging = !src.hanging
gas_transfer_coefficient = 1 //gas is now escaping to the turf and vice versa
flags &= ~(MASKCOVERSMOUTH)
item_flags &= ~(AIRTIGHT)
body_parts_covered = 0
body_parts_covered = ~(FACE)
icon_state = "breathdown"
user << "Your mask is now hanging on your neck."
else
src.hanging = !src.hanging
gas_transfer_coefficient = initial(gas_transfer_coefficient)
flags |= MASKCOVERSMOUTH
item_flags |= AIRTIGHT
body_parts_covered = initial(body_parts_covered)
body_parts_covered |= FACE
icon_state = "breath"
user << "You pull the mask up to cover your face."
update_clothing_icon()
@@ -52,4 +49,4 @@
name = "medical mask"
icon_state = "medical"
item_state = "medical"
permeability_coefficient = 0.01
permeability_coefficient = 0.01
+2 -2
View File
@@ -2,7 +2,6 @@
name = "gas mask"
desc = "A face-covering mask that can be connected to an air supply. Filters harmful gases from the air."
icon_state = "gas_alt"
flags = MASKCOVERSMOUTH
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
body_parts_covered = FACE|EYES
@@ -35,7 +34,7 @@
icon_state = "plaguedoctor"
item_state = "gas_mask"
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 90, rad = 0)
body_parts_covered = HEAD|FACE
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/gas/swat
name = "\improper SWAT mask"
@@ -102,3 +101,4 @@
name = "owl mask"
desc = "Twoooo!"
icon_state = "owl"
body_parts_covered = HEAD|FACE|EYES
+12 -9
View File
@@ -3,8 +3,7 @@
desc = "To stop that awful noise."
icon_state = "muzzle"
item_state = "muzzle"
flags = MASKCOVERSMOUTH
body_parts_covered = 0
body_parts_covered = FACE
w_class = 2
gas_transfer_coefficient = 0.90
voicechange = 1
@@ -26,8 +25,8 @@
icon_state = "sterile"
item_state = "sterile"
w_class = 2
flags = MASKCOVERSMOUTH
body_parts_covered = 0
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.01
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
@@ -47,13 +46,14 @@
body_parts_covered = 0
//scarves (fit in in mask slot)
//None of these actually have on-mob sprites...
/obj/item/clothing/mask/bluescarf
name = "blue neck scarf"
desc = "A blue neck scarf."
icon_state = "blueneckscarf"
item_state = "blueneckscarf"
flags = MASKCOVERSMOUTH
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = 2
gas_transfer_coefficient = 0.90
@@ -62,7 +62,8 @@
desc = "A red and white checkered neck scarf."
icon_state = "redwhite_scarf"
item_state = "redwhite_scarf"
flags = MASKCOVERSMOUTH
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = 2
gas_transfer_coefficient = 0.90
@@ -71,7 +72,8 @@
desc = "A green neck scarf."
icon_state = "green_scarf"
item_state = "green_scarf"
flags = MASKCOVERSMOUTH
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = 2
gas_transfer_coefficient = 0.90
@@ -80,7 +82,8 @@
desc = "A stealthy, dark scarf."
icon_state = "ninja_scarf"
item_state = "ninja_scarf"
flags = MASKCOVERSMOUTH
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = 2
gas_transfer_coefficient = 0.90
siemens_coefficient = 0
@@ -37,7 +37,6 @@
slot_r_hand_str = "syndicate-helm-black-red",
)
armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 100, rad = 60)
flags = HEADCOVERSMOUTH
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL
flags_inv = BLOCKHAIR
siemens_coefficient = 0.6
@@ -4,7 +4,6 @@
/obj/item/clothing/head/helmet/space/rig
name = "helmet"
flags = HEADCOVERSMOUTH
item_flags = THICKMATERIAL
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
@@ -6,7 +6,6 @@
name = "Space helmet"
icon_state = "space"
desc = "A special helmet designed for work in a hazardous, low-pressure environment."
flags = HEADCOVERSMOUTH
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT
flags_inv = BLOCKHAIR
item_state_slots = list(
-1
View File
@@ -8,7 +8,6 @@
)
desc = "A hood that protects the head and face from biological comtaminants."
permeability_coefficient = 0.01
flags = HEADCOVERSMOUTH
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
-2
View File
@@ -47,7 +47,6 @@
name = "bomb hood"
desc = "Use in case of bomb."
icon_state = "bombsuit"
flags = HEADCOVERSMOUTH
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
@@ -86,7 +85,6 @@
name = "Radiation Hood"
icon_state = "rad"
desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation"
flags = HEADCOVERSMOUTH
flags_inv = BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
@@ -60,10 +60,10 @@
if(!check_has_mouth())
H << "<span class='danger'>They don't have a mouth, you cannot perform CPR!</span>"
return
if((H.head && (H.head.flags & HEADCOVERSMOUTH)) || (H.wear_mask && (H.wear_mask.flags & MASKCOVERSMOUTH)))
if((H.head && (H.head.body_parts_covered & FACE)) || (H.wear_mask && (H.wear_mask.body_parts_covered & FACE)))
H << "<span class='notice'>Remove your mask!</span>"
return 0
if((head && (head.flags & HEADCOVERSMOUTH)) || (wear_mask && (wear_mask.flags & MASKCOVERSMOUTH)))
if((head && (head.body_parts_covered & FACE)) || (wear_mask && (wear_mask.body_parts_covered & FACE)))
H << "<span class='notice'>Remove [src]'s mask!</span>"
return 0
@@ -144,7 +144,7 @@ emp_act
/mob/living/carbon/human/proc/check_mouth_coverage()
var/list/protective_gear = list(head, wear_mask, wear_suit, w_uniform)
for(var/obj/item/gear in protective_gear)
if(istype(gear) && (gear.body_parts_covered & FACE) && (gear.flags & (MASKCOVERSMOUTH|HEADCOVERSMOUTH)))
if(istype(gear) && (gear.body_parts_covered & FACE) && !(gear.item_flags & FLEXIBLEMATERIAL))
return gear
return null
@@ -15,7 +15,7 @@ var/const/MAX_ACTIVE_TIME = 400
icon_state = "facehugger"
item_state = "facehugger"
w_class = 3 //note: can be picked up by aliens unlike most other items of w_class below 4
flags = MASKCOVERSMOUTH | PROXMOVE
flags = PROXMOVE
body_parts_covered = FACE|EYES
throw_range = 5
@@ -126,15 +126,6 @@ var/const/MAX_ACTIVE_TIME = 400
L.visible_message("\red \b [src] leaps at [L]'s face!")
/* Tentatively removed since huggers can't be thrown anymore
if(ishuman(L))
var/mob/living/carbon/human/H = L
if(H.head && H.head.flags & HEADCOVERSMOUTH)
H.visible_message("\red \b [src] smashes against [H]'s [H.head]!")
Die()
return
*/
if(iscarbon(M))
var/mob/living/carbon/target = L
@@ -235,6 +226,6 @@ var/const/MAX_ACTIVE_TIME = 400
if(ishuman(C))
var/mob/living/carbon/human/H = C
if(H.head && H.head.flags & HEADCOVERSMOUTH)
if(H.head && (H.head.body_parts_covered & FACE) && !(H.head.item_flags & FLEXIBLEMATERIAL))
return 0
return 1
@@ -274,14 +274,14 @@
if(H.head.body_parts_covered & EYES)
eyes_covered = 1
safe_thing = H.head
if(H.head.flags & MASKCOVERSMOUTH)
if((H.head.body_parts_covered & FACE) && !(H.head.item_flags & FLEXIBLEMATERIAL))
mouth_covered = 1
safe_thing = H.head
if(H.wear_mask)
if(!eyes_covered && H.wear_mask.body_parts_covered & EYES)
eyes_covered = 1
safe_thing = H.wear_mask
if(!mouth_covered && H.wear_mask.flags & MASKCOVERSMOUTH)
if(!mouth_covered && (H.wear_mask.body_parts_covered & FACE) && !(H.wear_mask.item_flags & FLEXIBLEMATERIAL))
mouth_covered = 1
safe_thing = H.wear_mask
if(H.glasses && H.glasses.body_parts_covered & EYES)