mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Fixes some bugs tangentially related to Vox code
This commit is contained in:
@@ -40,15 +40,11 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
|
|||||||
|
|
||||||
obj/var/contaminated = 0
|
obj/var/contaminated = 0
|
||||||
|
|
||||||
obj/var/phoronproof = 0
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/proc/can_contaminate()
|
/obj/item/proc/can_contaminate()
|
||||||
//Clothing and backpacks can be contaminated.
|
//Clothing and backpacks can be contaminated.
|
||||||
if(flags & PHORONGUARD)
|
if(flags & PHORONGUARD)
|
||||||
return 0
|
return 0
|
||||||
else if(phoronproof == 1)
|
|
||||||
return 0
|
|
||||||
else if(istype(src,/obj/item/weapon/storage/backpack))
|
else if(istype(src,/obj/item/weapon/storage/backpack))
|
||||||
return 0 //Cannot be washed :(
|
return 0 //Cannot be washed :(
|
||||||
else if(istype(src,/obj/item/clothing))
|
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.
|
//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(head)
|
||||||
if(vsc.plc.PHORONGUARD_ONLY)
|
if(vsc.plc.PHORONGUARD_ONLY)
|
||||||
if(head.flags & PHORONGUARD || head.phoronproof)
|
if(head.flags & PHORONGUARD)
|
||||||
return 1
|
return 1
|
||||||
else if(head.body_parts_covered & EYES)
|
else if(head.body_parts_covered & EYES)
|
||||||
return 1
|
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.
|
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)
|
if(!protection)
|
||||||
continue
|
continue
|
||||||
if(vsc.plc.PHORONGUARD_ONLY && !(protection.flags & PHORONGUARD) && !protection.phoronproof)
|
if(vsc.plc.PHORONGUARD_ONLY && !(protection.flags & PHORONGUARD))
|
||||||
return 0
|
return 0
|
||||||
coverage |= protection.body_parts_covered
|
coverage |= protection.body_parts_covered
|
||||||
|
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ BLIND // can't see anything
|
|||||||
/obj/item/clothing/glasses/night/vox
|
/obj/item/clothing/glasses/night/vox
|
||||||
name = "Alien Optics"
|
name = "Alien Optics"
|
||||||
species_restricted = list("Vox")
|
species_restricted = list("Vox")
|
||||||
phoronproof = 1
|
flags = PHORONGUARD
|
||||||
|
|
||||||
/obj/item/clothing/glasses/night/New()
|
/obj/item/clothing/glasses/night/New()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -105,9 +105,8 @@
|
|||||||
name = "insulated gauntlets"
|
name = "insulated gauntlets"
|
||||||
icon_state = "gloves-vox"
|
icon_state = "gloves-vox"
|
||||||
item_state = "gloves-vox"
|
item_state = "gloves-vox"
|
||||||
item_flags = PHORONGUARD
|
flags = PHORONGUARD
|
||||||
siemens_coefficient = 0
|
siemens_coefficient = 0
|
||||||
phoronproof = 1
|
|
||||||
permeability_coefficient = 0.05
|
permeability_coefficient = 0.05
|
||||||
species_restricted = list("Vox")
|
species_restricted = list("Vox")
|
||||||
|
|
||||||
|
|||||||
@@ -142,8 +142,7 @@
|
|||||||
desc = "Ave, Imperator, morituri te salutant."
|
desc = "Ave, Imperator, morituri te salutant."
|
||||||
icon_state = "gladiator"
|
icon_state = "gladiator"
|
||||||
item_state_slots = list(slot_r_hand_str = "vhelmet", slot_l_hand_str = "vhelmet")
|
item_state_slots = list(slot_r_hand_str = "vhelmet", slot_l_hand_str = "vhelmet")
|
||||||
flags = BLOCKHAIR
|
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
|
||||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
|
|
||||||
siemens_coefficient = 1
|
siemens_coefficient = 1
|
||||||
valid_accessory_slots = null
|
valid_accessory_slots = null
|
||||||
|
|
||||||
|
|||||||
@@ -62,8 +62,8 @@
|
|||||||
/obj/item/clothing/mask/gas/swat/vox
|
/obj/item/clothing/mask/gas/swat/vox
|
||||||
name = "\improper alien mask"
|
name = "\improper alien mask"
|
||||||
desc = "Clearly not designed for a human face."
|
desc = "Clearly not designed for a human face."
|
||||||
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | PHORONGUARD
|
flags = PHORONGUARD
|
||||||
phoronproof = 1
|
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT
|
||||||
species_restricted = list(SPECIES_VOX)
|
species_restricted = list(SPECIES_VOX)
|
||||||
filtered_gases = list("oxygen", "sleeping_agent")
|
filtered_gases = list("oxygen", "sleeping_agent")
|
||||||
var/mask_open = FALSE // Controls if the Vox can eat through this mask
|
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)
|
/obj/item/clothing/mask/gas/swat/vox/proc/feeding_port(mob/user)
|
||||||
if(user.canmove && !user.stat)
|
if(user.canmove && !user.stat)
|
||||||
mask_open = !mask_open
|
mask_open = !mask_open
|
||||||
if (mask_open)
|
if(mask_open)
|
||||||
body_parts_covered = body_parts_covered & ~FACE
|
body_parts_covered = EYES
|
||||||
to_chat(user, "Your mask moves to allow you to eat.")
|
to_chat(user, "Your mask moves to allow you to eat.")
|
||||||
else
|
else
|
||||||
body_parts_covered = initial(body_parts_covered)
|
body_parts_covered = FACE|EYES
|
||||||
to_chat(user, "Your mask moves to cover your mouth.")
|
to_chat(user, "Your mask moves to cover your mouth.")
|
||||||
|
return
|
||||||
|
|
||||||
/obj/item/clothing/mask/gas/swat/vox/attack_self(mob/user)
|
/obj/item/clothing/mask/gas/swat/vox/attack_self(mob/user)
|
||||||
feeding_port(user)
|
feeding_port(user)
|
||||||
|
..()
|
||||||
|
|
||||||
/obj/item/clothing/mask/gas/syndicate
|
/obj/item/clothing/mask/gas/syndicate
|
||||||
name = "tactical mask"
|
name = "tactical mask"
|
||||||
|
|||||||
@@ -86,8 +86,7 @@
|
|||||||
name = "vox magclaws"
|
name = "vox magclaws"
|
||||||
item_state = "boots-vox"
|
item_state = "boots-vox"
|
||||||
icon_state = "boots-vox"
|
icon_state = "boots-vox"
|
||||||
item_flags = PHORONGUARD
|
flags = PHORONGUARD
|
||||||
phoronproof = 1
|
|
||||||
species_restricted = list(SPECIES_VOX)
|
species_restricted = list(SPECIES_VOX)
|
||||||
|
|
||||||
action_button_name = "Toggle the magclaws"
|
action_button_name = "Toggle the magclaws"
|
||||||
|
|||||||
@@ -31,9 +31,9 @@
|
|||||||
// Can't be equipped by any other species due to bone structure and vox cybernetics.
|
// Can't be equipped by any other species due to bone structure and vox cybernetics.
|
||||||
/obj/item/clothing/suit/space/vox
|
/obj/item/clothing/suit/space/vox
|
||||||
w_class = ITEMSIZE_NORMAL
|
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)
|
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)
|
armor = list(melee = 60, bullet = 50, laser = 40,energy = 15, bomb = 30, bio = 100, rad = 50)
|
||||||
siemens_coefficient = 0.2
|
siemens_coefficient = 0.2
|
||||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||||
@@ -43,9 +43,9 @@
|
|||||||
/obj/item/clothing/head/helmet/space/vox
|
/obj/item/clothing/head/helmet/space/vox
|
||||||
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
|
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
|
||||||
siemens_coefficient = 0.2
|
siemens_coefficient = 0.2
|
||||||
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT | PHORONGUARD
|
flags = PHORONGUARD
|
||||||
|
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT
|
||||||
flags_inv = 0
|
flags_inv = 0
|
||||||
phoronproof = 1
|
|
||||||
species_restricted = list(SPECIES_VOX)
|
species_restricted = list(SPECIES_VOX)
|
||||||
|
|
||||||
/obj/item/clothing/head/helmet/space/vox/pressure
|
/obj/item/clothing/head/helmet/space/vox/pressure
|
||||||
|
|||||||
@@ -47,9 +47,8 @@
|
|||||||
suit_type = "alien"
|
suit_type = "alien"
|
||||||
icon_state = "vox_rig"
|
icon_state = "vox_rig"
|
||||||
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
|
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
|
siemens_coefficient = 0.2
|
||||||
phoronproof = 1
|
|
||||||
offline_slowdown = 5
|
offline_slowdown = 5
|
||||||
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit)
|
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
|
/obj/item/clothing/head/helmet/space/rig/vox
|
||||||
species_restricted = list(SPECIES_VOX)
|
species_restricted = list(SPECIES_VOX)
|
||||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
/obj/item/clothing/shoes/magboots/rig/vox
|
/obj/item/clothing/shoes/magboots/rig/vox
|
||||||
name = "talons"
|
name = "talons"
|
||||||
@@ -71,11 +69,9 @@
|
|||||||
sprite_sheets = list(
|
sprite_sheets = list(
|
||||||
SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi'
|
SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi'
|
||||||
)
|
)
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
/obj/item/clothing/suit/space/rig/vox
|
/obj/item/clothing/suit/space/rig/vox
|
||||||
species_restricted = list(SPECIES_VOX)
|
species_restricted = list(SPECIES_VOX)
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
/obj/item/clothing/gloves/gauntlets/rig/vox
|
/obj/item/clothing/gloves/gauntlets/rig/vox
|
||||||
siemens_coefficient = 0
|
siemens_coefficient = 0
|
||||||
@@ -83,14 +79,12 @@
|
|||||||
sprite_sheets = list(
|
sprite_sheets = list(
|
||||||
SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi'
|
SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi'
|
||||||
)
|
)
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
/obj/item/weapon/rig/vox/carapace
|
/obj/item/weapon/rig/vox/carapace
|
||||||
name = "dense alien control module"
|
name = "dense alien control module"
|
||||||
suit_type = "dense alien"
|
suit_type = "dense alien"
|
||||||
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
|
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.
|
emp_protection = 40 //change this to 30 if too high.
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
req_access = list(access_syndicate)
|
req_access = list(access_syndicate)
|
||||||
|
|
||||||
@@ -111,7 +105,6 @@
|
|||||||
icon_state = "voxstealth_rig"
|
icon_state = "voxstealth_rig"
|
||||||
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50)
|
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.
|
emp_protection = 40 //change this to 30 if too high.
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
req_access = list(access_syndicate)
|
req_access = list(access_syndicate)
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
name = "Space helmet"
|
name = "Space helmet"
|
||||||
icon_state = "space"
|
icon_state = "space"
|
||||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment."
|
desc = "A special helmet designed for work in a hazardous, low-pressure environment."
|
||||||
|
flags = PHORONGUARD
|
||||||
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT
|
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT
|
||||||
permeability_coefficient = 0.01
|
permeability_coefficient = 0.01
|
||||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
|
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
|
||||||
@@ -16,7 +17,6 @@
|
|||||||
siemens_coefficient = 0.9
|
siemens_coefficient = 0.9
|
||||||
species_restricted = list("exclude",SPECIES_DIONA)
|
species_restricted = list("exclude",SPECIES_DIONA)
|
||||||
preserve_item = 1
|
preserve_item = 1
|
||||||
phoronproof = 1
|
|
||||||
flash_protection = FLASH_PROTECTION_MAJOR
|
flash_protection = FLASH_PROTECTION_MAJOR
|
||||||
valid_accessory_slots = null
|
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.
|
w_class = ITEMSIZE_HUGE // So you can't fit this in your bag and be prepared at all times.
|
||||||
gas_transfer_coefficient = 0.01
|
gas_transfer_coefficient = 0.01
|
||||||
permeability_coefficient = 0.02
|
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
|
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)
|
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/suit_cooling_unit)
|
||||||
slowdown = 3
|
slowdown = 3
|
||||||
@@ -66,7 +67,6 @@
|
|||||||
siemens_coefficient = 0.9
|
siemens_coefficient = 0.9
|
||||||
species_restricted = list("exclude",SPECIES_DIONA)
|
species_restricted = list("exclude",SPECIES_DIONA)
|
||||||
preserve_item = 1
|
preserve_item = 1
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
var/list/supporting_limbs //If not-null, automatically splints breaks. Checked when removing the suit.
|
var/list/supporting_limbs //If not-null, automatically splints breaks. Checked when removing the suit.
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,7 @@
|
|||||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
|
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
|
||||||
body_parts_covered = HEAD|FACE|EYES
|
body_parts_covered = HEAD|FACE|EYES
|
||||||
siemens_coefficient = 0.9
|
siemens_coefficient = 0.9
|
||||||
item_flags = THICKMATERIAL
|
item_flags = THICKMATERIAL | PHORONGUARD
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
/obj/item/clothing/suit/bio_suit
|
/obj/item/clothing/suit/bio_suit
|
||||||
name = "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)
|
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
|
||||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
||||||
siemens_coefficient = 0.9
|
siemens_coefficient = 0.9
|
||||||
item_flags = THICKMATERIAL
|
item_flags = THICKMATERIAL | PHORONGUARD
|
||||||
phoronproof = 1
|
|
||||||
|
|
||||||
//Standard biosuit, orange stripe
|
//Standard biosuit, orange stripe
|
||||||
/obj/item/clothing/head/bio_hood/general
|
/obj/item/clothing/head/bio_hood/general
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
has_sensor = 0
|
has_sensor = 0
|
||||||
species_restricted = list(SPECIES_VOX)
|
species_restricted = list(SPECIES_VOX)
|
||||||
starting_accessories = list(/obj/item/clothing/accessory/storage/vox) // Dont' start with a backback, so free webbing
|
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
|
/obj/item/clothing/under/vox/vox_casual
|
||||||
name = "alien clothing"
|
name = "alien clothing"
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
desc = "An alien mesh. Seems to be made up mostly of pockets and writhing flesh."
|
desc = "An alien mesh. Seems to be made up mostly of pockets and writhing flesh."
|
||||||
icon_state = "webbing-vox"
|
icon_state = "webbing-vox"
|
||||||
|
|
||||||
|
flags = PHORONGUARD
|
||||||
|
|
||||||
slots = 3
|
slots = 3
|
||||||
|
|
||||||
/obj/item/clothing/accessory/storage/vox/New()
|
/obj/item/clothing/accessory/storage/vox/New()
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
category_text = "Reagent"
|
category_text = "Reagent"
|
||||||
var/volume = 0
|
var/volume = 0
|
||||||
unacidable = 1
|
unacidable = 1
|
||||||
phoronproof = 1
|
|
||||||
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2)
|
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2)
|
||||||
|
|
||||||
/obj/item/integrated_circuit/reagent/New()
|
/obj/item/integrated_circuit/reagent/New()
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ emp_act
|
|||||||
// Checked in borer code
|
// Checked in borer code
|
||||||
/mob/living/carbon/human/proc/check_head_coverage()
|
/mob/living/carbon/human/proc/check_head_coverage()
|
||||||
var/obj/item/organ/external/H = organs_by_name[BP_HEAD]
|
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))
|
if(LAZYLEN(body_parts))
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
@@ -174,7 +174,7 @@ emp_act
|
|||||||
//Used to check if they can be fed food/drinks/pills
|
//Used to check if they can be fed food/drinks/pills
|
||||||
/mob/living/carbon/human/proc/check_mouth_coverage()
|
/mob/living/carbon/human/proc/check_mouth_coverage()
|
||||||
var/obj/item/organ/external/H = organs_by_name[BP_HEAD]
|
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)
|
for(var/obj/item/gear in protective_gear)
|
||||||
if(istype(gear) && (gear.body_parts_covered & FACE) && !(gear.item_flags & FLEXIBLEMATERIAL))
|
if(istype(gear) && (gear.body_parts_covered & FACE) && !(gear.item_flags & FLEXIBLEMATERIAL))
|
||||||
return gear
|
return gear
|
||||||
|
|||||||
@@ -1332,12 +1332,16 @@ Note that amputating the affected organ does in fact remove the infection from t
|
|||||||
return english_list(flavor_text)
|
return english_list(flavor_text)
|
||||||
|
|
||||||
// Returns a list of the clothing (not glasses) that are covering this part
|
// 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()
|
var/list/covering_clothing = list()
|
||||||
|
|
||||||
|
if(!target_covering)
|
||||||
|
target_covering = src.body_part
|
||||||
|
|
||||||
if(owner)
|
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)
|
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
|
covering_clothing |= gear
|
||||||
if(LAZYLEN(gear.accessories))
|
if(LAZYLEN(gear.accessories))
|
||||||
for(var/obj/item/clothing/accessory/bling in gear.accessories)
|
for(var/obj/item/clothing/accessory/bling in gear.accessories)
|
||||||
|
|||||||
@@ -426,7 +426,7 @@
|
|||||||
if(alien != IS_SLIME)
|
if(alien != IS_SLIME)
|
||||||
return
|
return
|
||||||
else if(eyes_covered)
|
else if(eyes_covered)
|
||||||
to_chat(M, "<span class='warning'>Your [safe_thing] protect you from most of the pepperspray!</span>")
|
to_chat(M, "<span class='warning'>Your [safe_thing] protects you from most of the pepperspray!</span>")
|
||||||
M.eye_blurry = max(M.eye_blurry, effective_strength * 3)
|
M.eye_blurry = max(M.eye_blurry, effective_strength * 3)
|
||||||
M.Blind(effective_strength)
|
M.Blind(effective_strength)
|
||||||
M.Stun(5)
|
M.Stun(5)
|
||||||
|
|||||||
Reference in New Issue
Block a user