Moar whitespace normalization [MDB IGNORE] (#7750)

Co-authored-by: Raeschen <rycoop29@gmail.com>
This commit is contained in:
Drathek
2024-02-16 01:54:47 -08:00
committed by GitHub
parent eecf6bbff9
commit 3995338290
1177 changed files with 550902 additions and 550902 deletions

View File

@@ -1,35 +1,35 @@
/obj/item/clothing/mask/balaclava
name = "balaclava"
desc = "LOADSAMONEY"
icon_state = "balaclava"
item_state_slots = list(slot_r_hand_str = "bandblack", slot_l_hand_str = "bandblack")
flags_inv = HIDEFACE|BLOCKHAIR
body_parts_covered = FACE|HEAD
w_class = ITEMSIZE_SMALL
/obj/item/clothing/mask/balaclava/tactical
name = "green balaclava"
desc = "Designed to both hide identities and keep your face comfy and warm."
icon_state = "swatclava"
item_state_slots = list(slot_r_hand_str = "bandgreen", slot_l_hand_str = "bandgreen")
flags_inv = HIDEFACE|BLOCKHAIR
w_class = ITEMSIZE_SMALL
/obj/item/clothing/mask/luchador
name = "Luchador Mask"
desc = "Worn by robust fighters, flying high to defeat their foes!"
icon_state = "luchag"
flags_inv = HIDEFACE|BLOCKHAIR
body_parts_covered = HEAD|FACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 3.0
/obj/item/clothing/mask/luchador/tecnicos
name = "Tecnicos Mask"
desc = "Worn by robust fighters who uphold justice and fight honorably."
icon_state = "luchador"
/obj/item/clothing/mask/luchador/rudos
name = "Rudos Mask"
desc = "Worn by robust fighters who are willing to do anything to win."
/obj/item/clothing/mask/balaclava
name = "balaclava"
desc = "LOADSAMONEY"
icon_state = "balaclava"
item_state_slots = list(slot_r_hand_str = "bandblack", slot_l_hand_str = "bandblack")
flags_inv = HIDEFACE|BLOCKHAIR
body_parts_covered = FACE|HEAD
w_class = ITEMSIZE_SMALL
/obj/item/clothing/mask/balaclava/tactical
name = "green balaclava"
desc = "Designed to both hide identities and keep your face comfy and warm."
icon_state = "swatclava"
item_state_slots = list(slot_r_hand_str = "bandgreen", slot_l_hand_str = "bandgreen")
flags_inv = HIDEFACE|BLOCKHAIR
w_class = ITEMSIZE_SMALL
/obj/item/clothing/mask/luchador
name = "Luchador Mask"
desc = "Worn by robust fighters, flying high to defeat their foes!"
icon_state = "luchag"
flags_inv = HIDEFACE|BLOCKHAIR
body_parts_covered = HEAD|FACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 3.0
/obj/item/clothing/mask/luchador/tecnicos
name = "Tecnicos Mask"
desc = "Worn by robust fighters who uphold justice and fight honorably."
icon_state = "luchador"
/obj/item/clothing/mask/luchador/rudos
name = "Rudos Mask"
desc = "Worn by robust fighters who are willing to do anything to win."
icon_state = "luchar"

View File

@@ -1,63 +1,63 @@
/obj/item/clothing/mask/breath
desc = "A close-fitting mask that can be connected to an air supply."
name = "breath mask"
icon_state = "breath"
item_state_slots = list(slot_r_hand_str = "breath", slot_l_hand_str = "breath")
item_flags = AIRTIGHT|FLEXIBLEMATERIAL
body_parts_covered = FACE
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.10
permeability_coefficient = 0.50
var/hanging = 0
action_button_name = "Adjust Breath Mask"
pickup_sound = 'sound/items/pickup/component.ogg'
drop_sound = 'sound/items/drop/component.ogg'
/obj/item/clothing/mask/breath/proc/adjust_mask(mob/user)
if(user.canmove && !user.stat)
src.hanging = !src.hanging
if (src.hanging)
gas_transfer_coefficient = 1
body_parts_covered = body_parts_covered & ~FACE
item_flags = item_flags & ~AIRTIGHT
icon_state = "breathdown"
to_chat(user, "Your mask is now hanging on your neck.")
else
gas_transfer_coefficient = initial(gas_transfer_coefficient)
body_parts_covered = initial(body_parts_covered)
item_flags = initial(item_flags)
icon_state = initial(icon_state)
to_chat(user, "You pull the mask up to cover your face.")
update_clothing_icon()
/obj/item/clothing/mask/breath/attack_self(mob/user)
adjust_mask(user)
/obj/item/clothing/mask/breath/verb/toggle()
set category = "Object"
set name = "Adjust mask"
set src in usr
adjust_mask(usr)
/obj/item/clothing/mask/breath/medical
desc = "A close-fitting sterile mask that can be connected to an air supply."
name = "medical mask"
icon_state = "medical"
item_state_slots = list(slot_r_hand_str = "medical", slot_l_hand_str = "medical")
permeability_coefficient = 0.01
/obj/item/clothing/mask/breath/emergency
desc = "A close-fitting mask that is used by the wallmounted emergency oxygen pump."
name = "emergency mask"
icon_state = "breath"
item_state = "breath"
permeability_coefficient = 0.50
/obj/item/clothing/mask/breath/anesthetic
desc = "A close-fitting sterile mask that is used by the anesthetic wallmounted pump."
name = "anesthetic mask"
icon_state = "medical"
item_state = "medical"
permeability_coefficient = 0.01
/obj/item/clothing/mask/breath
desc = "A close-fitting mask that can be connected to an air supply."
name = "breath mask"
icon_state = "breath"
item_state_slots = list(slot_r_hand_str = "breath", slot_l_hand_str = "breath")
item_flags = AIRTIGHT|FLEXIBLEMATERIAL
body_parts_covered = FACE
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.10
permeability_coefficient = 0.50
var/hanging = 0
action_button_name = "Adjust Breath Mask"
pickup_sound = 'sound/items/pickup/component.ogg'
drop_sound = 'sound/items/drop/component.ogg'
/obj/item/clothing/mask/breath/proc/adjust_mask(mob/user)
if(user.canmove && !user.stat)
src.hanging = !src.hanging
if (src.hanging)
gas_transfer_coefficient = 1
body_parts_covered = body_parts_covered & ~FACE
item_flags = item_flags & ~AIRTIGHT
icon_state = "breathdown"
to_chat(user, "Your mask is now hanging on your neck.")
else
gas_transfer_coefficient = initial(gas_transfer_coefficient)
body_parts_covered = initial(body_parts_covered)
item_flags = initial(item_flags)
icon_state = initial(icon_state)
to_chat(user, "You pull the mask up to cover your face.")
update_clothing_icon()
/obj/item/clothing/mask/breath/attack_self(mob/user)
adjust_mask(user)
/obj/item/clothing/mask/breath/verb/toggle()
set category = "Object"
set name = "Adjust mask"
set src in usr
adjust_mask(usr)
/obj/item/clothing/mask/breath/medical
desc = "A close-fitting sterile mask that can be connected to an air supply."
name = "medical mask"
icon_state = "medical"
item_state_slots = list(slot_r_hand_str = "medical", slot_l_hand_str = "medical")
permeability_coefficient = 0.01
/obj/item/clothing/mask/breath/emergency
desc = "A close-fitting mask that is used by the wallmounted emergency oxygen pump."
name = "emergency mask"
icon_state = "breath"
item_state = "breath"
permeability_coefficient = 0.50
/obj/item/clothing/mask/breath/anesthetic
desc = "A close-fitting sterile mask that is used by the anesthetic wallmounted pump."
name = "anesthetic mask"
icon_state = "medical"
item_state = "medical"
permeability_coefficient = 0.01

View File

@@ -1,186 +1,186 @@
/obj/item/clothing/mask/gas
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"
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | ALLOW_SURVIVALFOOD
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
body_parts_covered = FACE|EYES
w_class = ITEMSIZE_NORMAL
item_state_slots = list(slot_r_hand_str = "gas_alt", slot_l_hand_str = "gas_alt")
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
siemens_coefficient = 0.9
var/gas_filter_strength = 1 //For gas mask filters
var/list/filtered_gases = list("phoron", "nitrous_oxide")
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 75, rad = 0)
pickup_sound = 'sound/items/pickup/rubber.ogg'
/obj/item/clothing/mask/gas/filter_air(datum/gas_mixture/air)
var/datum/gas_mixture/gas_filtered = new
for(var/g in filtered_gases)
if(air.gas[g])
gas_filtered.gas[g] = air.gas[g] * gas_filter_strength
air.gas[g] -= gas_filtered.gas[g]
air.update_values()
gas_filtered.update_values()
return gas_filtered
/obj/item/clothing/mask/gas/clear
name = "gas mask"
desc = "A face-covering mask with a transparent faceplate that can be connected to an air supply."
icon_state = "gas_clear"
flags_inv = null
/obj/item/clothing/mask/gas/half
name = "face mask"
desc = "A compact, durable gas mask that can be connected to an air supply."
icon_state = "halfgas"
siemens_coefficient = 0.7
body_parts_covered = FACE
w_class = ITEMSIZE_SMALL
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 55, rad = 0)
//Turn it into a hailer mask
/obj/item/clothing/mask/gas/half/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/device/hailer))
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
user.drop_item(src)
var/obj/item/clothing/mask/gas/sechailer/N = new /obj/item/clothing/mask/gas/sechailer(src.loc)
N.fingerprints = src.fingerprints
N.fingerprintshidden = src.fingerprintshidden
N.fingerprintslast = src.fingerprintslast
N.suit_fibers = src.suit_fibers
N.hailer = I
I.loc = N
if(!isturf(N.loc))
user.put_in_hands(N)
qdel(src)
..()
//Plague Dr suit can be found in clothing/suits/bio.dm
/obj/item/clothing/mask/gas/plaguedoctor
name = "plague doctor mask"
desc = "A modernised version of the classic design, this mask will not only filter out phoron but it can also be connected to an air supply."
icon_state = "plaguedoctor"
item_state_slots = list(slot_r_hand_str = "gas", slot_l_hand_str = "gas")
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 90, rad = 0)
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/gas/plaguedoctor/gold
name = "gold plague doctor mask"
desc = "A modernised version of the classic design, this mask will not only filter out phoron but it can also be connected to an air supply. This one is gold."
icon_state = "plaguedoctor2"
/obj/item/clothing/mask/gas/swat
name = "\improper SWAT mask"
desc = "A close-fitting tactical mask that can be connected to an air supply."
icon_state = "swat"
siemens_coefficient = 0.7
body_parts_covered = FACE|EYES
// Vox mask, has special code for eating
/obj/item/clothing/mask/gas/swat/vox
name = "\improper alien mask"
desc = "Clearly not designed for a human face."
flags = PHORONGUARD
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT
species_restricted = list(SPECIES_VOX)
filtered_gases = list("oxygen", "nitrous_oxide")
var/mask_open = FALSE // Controls if the Vox can eat through this mask
action_button_name = "Toggle Feeding Port"
/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 = EYES
to_chat(user, "Your mask moves to allow you to eat.")
else
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/zaddat
name = "Zaddat Veil"
desc = "A clear survival mask used by the Zaddat to filter out harmful nitrogen. Can be connected to an air supply and reconfigured to allow for safe eating."
icon_state = "zaddat_mask"
item_state = "vax_mask"
//body_parts_covered = 0
species_restricted = list(SPECIES_ZADDAT)
flags_inv = HIDEEARS //semi-transparent
filtered_gases = list("phoron", "nitrogen", "nitrous_oxide")
/obj/item/clothing/mask/gas/syndicate
name = "tactical mask"
desc = "A close-fitting tactical mask that can be connected to an air supply."
icon_state = "swat"
siemens_coefficient = 0.7
/obj/item/clothing/mask/gas/explorer
name = "explorer gas mask"
desc = "A military-grade gas mask that can be connected to an air supply."
icon_state = "explorer"
item_state_slots = list(slot_r_hand_str = "gas", slot_l_hand_str = "gas")
armor = list(melee = 10, bullet = 5, laser = 5,energy = 5, bomb = 0, bio = 50, rad = 0)
siemens_coefficient = 0.9
/obj/item/clothing/mask/gas/clown_hat
name = "clown wig and mask"
desc = "A true prankster's facial attire. A clown is incomplete without their wig and mask."
icon_state = "clown"
item_state_slots = list(slot_r_hand_str = "clown_hat", slot_l_hand_str = "clown_hat")
/obj/item/clothing/mask/gas/sexyclown
name = "sexy-clown wig and mask"
desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."
icon_state = "sexyclown"
item_state_slots = list(slot_r_hand_str = "clown_hat", slot_l_hand_str = "clown_hat")
/obj/item/clothing/mask/gas/mime
name = "mime mask"
desc = "The traditional mime's mask. It has an eerie facial posture."
icon_state = "mime"
item_state_slots = list(slot_r_hand_str = "mime", slot_l_hand_str = "mime")
/obj/item/clothing/mask/gas/monkeymask
name = "monkey mask"
desc = "A mask used when acting as a monkey."
icon_state = "monkeymask"
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/gas/sexymime
name = "sexy mime mask"
desc = "A traditional female mime's mask."
icon_state = "sexymime"
item_state_slots = list(slot_r_hand_str = "mime", slot_l_hand_str = "mime")
/obj/item/clothing/mask/gas/guy
name = "guy fawkes mask"
desc = "A mask stylised to depict Guy Fawkes."
icon_state = "guyfawkes"
flags_inv = HIDEEARS|HIDEFACE
item_state_slots = list(slot_r_hand_str = "mime", slot_l_hand_str = "mime")
/obj/item/clothing/mask/gas/commando
name = "commando mask"
icon_state = "fullgas"
item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat")
siemens_coefficient = 0.2
/obj/item/clothing/mask/gas/cyborg
name = "cyborg visor"
desc = "Beep boop"
icon_state = "death"
/obj/item/clothing/mask/gas/owl_mask
name = "owl mask"
desc = "Twoooo!"
icon_state = "owl"
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/gas
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"
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | ALLOW_SURVIVALFOOD
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
body_parts_covered = FACE|EYES
w_class = ITEMSIZE_NORMAL
item_state_slots = list(slot_r_hand_str = "gas_alt", slot_l_hand_str = "gas_alt")
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
siemens_coefficient = 0.9
var/gas_filter_strength = 1 //For gas mask filters
var/list/filtered_gases = list("phoron", "nitrous_oxide")
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 75, rad = 0)
pickup_sound = 'sound/items/pickup/rubber.ogg'
/obj/item/clothing/mask/gas/filter_air(datum/gas_mixture/air)
var/datum/gas_mixture/gas_filtered = new
for(var/g in filtered_gases)
if(air.gas[g])
gas_filtered.gas[g] = air.gas[g] * gas_filter_strength
air.gas[g] -= gas_filtered.gas[g]
air.update_values()
gas_filtered.update_values()
return gas_filtered
/obj/item/clothing/mask/gas/clear
name = "gas mask"
desc = "A face-covering mask with a transparent faceplate that can be connected to an air supply."
icon_state = "gas_clear"
flags_inv = null
/obj/item/clothing/mask/gas/half
name = "face mask"
desc = "A compact, durable gas mask that can be connected to an air supply."
icon_state = "halfgas"
siemens_coefficient = 0.7
body_parts_covered = FACE
w_class = ITEMSIZE_SMALL
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 55, rad = 0)
//Turn it into a hailer mask
/obj/item/clothing/mask/gas/half/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/device/hailer))
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
user.drop_item(src)
var/obj/item/clothing/mask/gas/sechailer/N = new /obj/item/clothing/mask/gas/sechailer(src.loc)
N.fingerprints = src.fingerprints
N.fingerprintshidden = src.fingerprintshidden
N.fingerprintslast = src.fingerprintslast
N.suit_fibers = src.suit_fibers
N.hailer = I
I.loc = N
if(!isturf(N.loc))
user.put_in_hands(N)
qdel(src)
..()
//Plague Dr suit can be found in clothing/suits/bio.dm
/obj/item/clothing/mask/gas/plaguedoctor
name = "plague doctor mask"
desc = "A modernised version of the classic design, this mask will not only filter out phoron but it can also be connected to an air supply."
icon_state = "plaguedoctor"
item_state_slots = list(slot_r_hand_str = "gas", slot_l_hand_str = "gas")
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 90, rad = 0)
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/gas/plaguedoctor/gold
name = "gold plague doctor mask"
desc = "A modernised version of the classic design, this mask will not only filter out phoron but it can also be connected to an air supply. This one is gold."
icon_state = "plaguedoctor2"
/obj/item/clothing/mask/gas/swat
name = "\improper SWAT mask"
desc = "A close-fitting tactical mask that can be connected to an air supply."
icon_state = "swat"
siemens_coefficient = 0.7
body_parts_covered = FACE|EYES
// Vox mask, has special code for eating
/obj/item/clothing/mask/gas/swat/vox
name = "\improper alien mask"
desc = "Clearly not designed for a human face."
flags = PHORONGUARD
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT
species_restricted = list(SPECIES_VOX)
filtered_gases = list("oxygen", "nitrous_oxide")
var/mask_open = FALSE // Controls if the Vox can eat through this mask
action_button_name = "Toggle Feeding Port"
/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 = EYES
to_chat(user, "Your mask moves to allow you to eat.")
else
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/zaddat
name = "Zaddat Veil"
desc = "A clear survival mask used by the Zaddat to filter out harmful nitrogen. Can be connected to an air supply and reconfigured to allow for safe eating."
icon_state = "zaddat_mask"
item_state = "vax_mask"
//body_parts_covered = 0
species_restricted = list(SPECIES_ZADDAT)
flags_inv = HIDEEARS //semi-transparent
filtered_gases = list("phoron", "nitrogen", "nitrous_oxide")
/obj/item/clothing/mask/gas/syndicate
name = "tactical mask"
desc = "A close-fitting tactical mask that can be connected to an air supply."
icon_state = "swat"
siemens_coefficient = 0.7
/obj/item/clothing/mask/gas/explorer
name = "explorer gas mask"
desc = "A military-grade gas mask that can be connected to an air supply."
icon_state = "explorer"
item_state_slots = list(slot_r_hand_str = "gas", slot_l_hand_str = "gas")
armor = list(melee = 10, bullet = 5, laser = 5,energy = 5, bomb = 0, bio = 50, rad = 0)
siemens_coefficient = 0.9
/obj/item/clothing/mask/gas/clown_hat
name = "clown wig and mask"
desc = "A true prankster's facial attire. A clown is incomplete without their wig and mask."
icon_state = "clown"
item_state_slots = list(slot_r_hand_str = "clown_hat", slot_l_hand_str = "clown_hat")
/obj/item/clothing/mask/gas/sexyclown
name = "sexy-clown wig and mask"
desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."
icon_state = "sexyclown"
item_state_slots = list(slot_r_hand_str = "clown_hat", slot_l_hand_str = "clown_hat")
/obj/item/clothing/mask/gas/mime
name = "mime mask"
desc = "The traditional mime's mask. It has an eerie facial posture."
icon_state = "mime"
item_state_slots = list(slot_r_hand_str = "mime", slot_l_hand_str = "mime")
/obj/item/clothing/mask/gas/monkeymask
name = "monkey mask"
desc = "A mask used when acting as a monkey."
icon_state = "monkeymask"
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/gas/sexymime
name = "sexy mime mask"
desc = "A traditional female mime's mask."
icon_state = "sexymime"
item_state_slots = list(slot_r_hand_str = "mime", slot_l_hand_str = "mime")
/obj/item/clothing/mask/gas/guy
name = "guy fawkes mask"
desc = "A mask stylised to depict Guy Fawkes."
icon_state = "guyfawkes"
flags_inv = HIDEEARS|HIDEFACE
item_state_slots = list(slot_r_hand_str = "mime", slot_l_hand_str = "mime")
/obj/item/clothing/mask/gas/commando
name = "commando mask"
icon_state = "fullgas"
item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat")
siemens_coefficient = 0.2
/obj/item/clothing/mask/gas/cyborg
name = "cyborg visor"
desc = "Beep boop"
icon_state = "death"
/obj/item/clothing/mask/gas/owl_mask
name = "owl mask"
desc = "Twoooo!"
icon_state = "owl"
body_parts_covered = HEAD|FACE|EYES

View File

@@ -1,422 +1,422 @@
/obj/item/clothing/mask/muzzle
name = "muzzle"
desc = "To stop that awful noise."
icon_state = "muzzle"
body_parts_covered = FACE
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
voicechange = 1
/obj/item/clothing/mask/muzzle/tape
name = "length of tape"
desc = "It's a robust DIY muzzle!"
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "tape_cross"
item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null)
w_class = ITEMSIZE_TINY
/obj/item/clothing/mask/muzzle/New()
..()
say_messages = list("Mmfph!", "Mmmf mrrfff!", "Mmmf mnnf!")
say_verbs = list("mumbles", "says")
// Clumsy folks can't take the mask off themselves.
/obj/item/clothing/mask/muzzle/attack_hand(mob/living/user as mob)
if(user.wear_mask == src && !user.IsAdvancedToolUser())
return 0
..()
/obj/item/clothing/mask/surgical
name = "sterile mask"
desc = "A sterile mask designed to help prevent the spread of diseases."
icon_state = "sterile"
item_state_slots = list(slot_r_hand_str = "sterile", slot_l_hand_str = "sterile")
w_class = ITEMSIZE_SMALL
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)
var/hanging = 0
/obj/item/clothing/mask/surgical/proc/adjust_mask(mob_user)
if(usr.canmove && !usr.stat)
src.hanging = !src.hanging
if (src.hanging)
gas_transfer_coefficient = 1
body_parts_covered = body_parts_covered & ~FACE
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "steriledown"
to_chat(usr, "You pull the mask below your chin.")
else
gas_transfer_coefficient = initial(gas_transfer_coefficient)
body_parts_covered = initial(body_parts_covered)
icon_state = initial(icon_state)
armor = initial(armor)
to_chat(usr, "You pull the mask up to cover your face.")
update_clothing_icon()
/obj/item/clothing/mask/surgical/verb/toggle()
set category = "Object"
set name = "Adjust mask"
set src in usr
adjust_mask(usr)
/obj/item/clothing/mask/surgical/white
icon_state = "sterilew"
item_state_slots = list(slot_r_hand_str = "sterilew", slot_l_hand_str = "sterilew")
/obj/item/clothing/mask/surgical/dust
name = "dust mask"
desc = "A dust mask designed to protect the wearer against construction and/or custodial particulate."
icon_state = "dust"
item_state_slots = list(slot_r_hand_str = "dust", slot_l_hand_str = "dust")
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 30, rad = 0)
/obj/item/clothing/mask/surgical/cloth
name = "cloth mask"
desc = "A cloth mask designed to protect the wearer against allergens, illnesses, and social interaction."
icon_state = "cloth"
item_state_slots = list(slot_r_hand_str = "cloth", slot_l_hand_str = "cloth")
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 20, rad = 0)
/obj/item/clothing/mask/fakemoustache
name = "fake moustache"
desc = "Warning: moustache is fake."
icon_state = "fake-moustache"
flags_inv = HIDEFACE
body_parts_covered = 0
/obj/item/clothing/mask/snorkel
name = "Snorkel"
desc = "For the Swimming Savant."
icon_state = "snorkel"
flags_inv = HIDEFACE
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"
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
/obj/item/clothing/mask/redscarf
name = "red scarf"
desc = "A red and white checkered neck scarf."
icon_state = "redwhite_scarf"
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
/obj/item/clothing/mask/greenscarf
name = "green scarf"
desc = "A green neck scarf."
icon_state = "green_scarf"
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
/obj/item/clothing/mask/ninjascarf
name = "ninja scarf"
desc = "A stealthy, dark scarf."
icon_state = "ninja_scarf"
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
siemens_coefficient = 0
/obj/item/clothing/mask/pig
name = "pig mask"
desc = "A rubber pig mask."
icon_state = "pig"
flags_inv = HIDEFACE|BLOCKHAIR
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/shark
name = "shark mask"
desc = "A rubber shark mask."
icon_state = "shark"
flags_inv = HIDEFACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/dolphin
name = "dolphin mask"
desc = "A rubber dolphin mask."
icon_state = "dolphin"
flags_inv = HIDEFACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/goblin
name = "goblin mask"
desc = "A rubber goblin mask."
icon_state = "goblin"
flags_inv = HIDEFACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/demon
name = "demon mask"
desc = "A rubber demon mask."
icon_state = "demon"
flags_inv = HIDEFACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/horsehead
name = "horse head mask"
desc = "A mask made of soft vinyl and latex, representing the head of a horse."
icon_state = "horsehead"
flags_inv = HIDEFACE|BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
/obj/item/clothing/mask/nock_scarab
name = "nock mask (blue, scarab)"
desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself."
icon_state = "nock_scarab"
w_class = ITEMSIZE_SMALL
body_parts_covered = HEAD|FACE
/obj/item/clothing/mask/nock_demon
name = "nock mask (purple, demon)"
desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself."
icon_state = "nock_demon"
w_class = ITEMSIZE_SMALL
body_parts_covered = HEAD|FACE
/obj/item/clothing/mask/nock_life
name = "nock mask (green, life)"
desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself."
icon_state = "nock_life"
w_class = ITEMSIZE_SMALL
body_parts_covered = HEAD|FACE
/obj/item/clothing/mask/nock_ornate
name = "nock mask (red, ornate)"
desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself."
icon_state = "nock_ornate"
w_class = ITEMSIZE_SMALL
body_parts_covered = HEAD|FACE
/obj/item/clothing/mask/horsehead/New()
..()
// The horse mask doesn't cause voice changes by default, the wizard spell changes the flag as necessary
say_messages = list("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!")
say_verbs = list("whinnies", "neighs", "says")
/obj/item/clothing/mask/ai
name = "camera MIU"
desc = "Allows for direct mental connection to accessible camera networks."
icon_state = "s-ninja"
item_state_slots = list(slot_r_hand_str = "mime", slot_l_hand_str = "mime")
flags_inv = HIDEFACE
body_parts_covered = 0
var/mob/observer/eye/aiEye/eye
/obj/item/clothing/mask/ai/New()
eye = new(src)
/obj/item/clothing/mask/ai/equipped(var/mob/user, var/slot)
..(user, slot)
if(slot == slot_wear_mask)
eye.owner = user
user.eyeobj = eye
for(var/datum/chunk/c in eye.visibleChunks)
c.remove(eye)
eye.setLoc(user)
/obj/item/clothing/mask/ai/dropped(var/mob/user)
..()
if(eye.owner == user)
for(var/datum/chunk/c in eye.visibleChunks)
c.remove(eye)
eye.owner.eyeobj = null
eye.owner = null
/obj/item/clothing/mask/bandana
name = "black bandana"
desc = "A fine black bandana with nanotech lining. Can be worn on the head or face."
w_class = ITEMSIZE_TINY
flags_inv = HIDEFACE
slot_flags = SLOT_MASK|SLOT_HEAD
body_parts_covered = FACE
icon_state = "bandblack"
item_state_slots = list(slot_r_hand_str = "bandblack", slot_l_hand_str = "bandblack")
/obj/item/clothing/mask/bandana/equipped(var/mob/user, var/slot)
switch(slot)
if(slot_wear_mask) //Mask is the default for all the settings
flags_inv = initial(flags_inv)
body_parts_covered = initial(body_parts_covered)
icon_state = initial(icon_state)
if(slot_head)
flags_inv = 0
body_parts_covered = HEAD
icon_state = "[initial(icon_state)]_up"
return ..()
/obj/item/clothing/mask/bandana/red
name = "red bandana"
desc = "A fine red bandana with nanotech lining. Can be worn on the head or face."
icon_state = "bandred"
item_state_slots = list(slot_r_hand_str = "bandred", slot_l_hand_str = "bandred")
/obj/item/clothing/mask/bandana/blue
name = "blue bandana"
desc = "A fine blue bandana with nanotech lining. Can be worn on the head or face."
icon_state = "bandblue"
item_state_slots = list(slot_r_hand_str = "bandblue", slot_l_hand_str = "bandblue")
/obj/item/clothing/mask/bandana/green
name = "green bandana"
desc = "A fine green bandana with nanotech lining. Can be worn on the head or face."
icon_state = "bandgreen"
item_state_slots = list(slot_r_hand_str = "bandgreen", slot_l_hand_str = "bandgreen")
/obj/item/clothing/mask/bandana/gold
name = "gold bandana"
desc = "A fine gold bandana with nanotech lining. Can be worn on the head or face."
icon_state = "bandgold"
item_state_slots = list(slot_r_hand_str = "bandgold", slot_l_hand_str = "bandgold")
/obj/item/clothing/mask/bandana/skull
name = "skull bandana"
desc = "A fine black bandana with nanotech lining and a skull emblem. Can be worn on the head or face."
icon_state = "bandskull"
item_state_slots = list(slot_r_hand_str = "bandskull", slot_l_hand_str = "bandskull")
/obj/item/clothing/mask/veil
name = "black veil"
desc = "A black veil, typically worn at funerals or by goths."
w_class = ITEMSIZE_TINY
body_parts_covered = FACE
icon_state = "veil"
/obj/item/clothing/mask/paper
name = "paper mask"
desc = "A neat, circular mask made out of paper. Perhaps you could try drawing on it with a pen!"
w_class = ITEMSIZE_SMALL
body_parts_covered = FACE
icon_state = "papermask"
action_button_name = "Redraw Design"
action_button_is_hands_free = TRUE
var/list/papermask_designs = list()
/obj/item/clothing/mask/paper/Initialize(mapload)
. = ..()
papermask_designs = list(
"Blank" = image(icon = src.icon, icon_state = "papermask"),
"Neutral" = image(icon = src.icon, icon_state = "neutralmask"),
"Eyes" = image(icon = src.icon, icon_state = "eyemask"),
"Sleeping" = image(icon = src.icon, icon_state = "sleepingmask"),
"Heart" = image(icon = src.icon, icon_state = "heartmask"),
"Core" = image(icon = src.icon, icon_state = "coremask"),
"Plus" = image(icon = src.icon, icon_state = "plusmask"),
"Square" = image(icon = src.icon, icon_state = "squaremask"),
"Bullseye" = image(icon = src.icon, icon_state = "bullseyemask"),
"Vertical" = image(icon = src.icon, icon_state = "verticalmask"),
"Horizontal" = image(icon = src.icon, icon_state = "horizontalmask"),
"X" = image(icon = src.icon, icon_state = "xmask"),
"Bugeyes" = image(icon = src.icon, icon_state = "bugmask"),
"Double" = image(icon = src.icon, icon_state = "doublemask"),
"Mark" = image(icon = src.icon, icon_state = "markmask"),
"Line" = image(icon = src.icon, icon_state = "linemask"),
"Minus" = image(icon = src.icon, icon_state = "minusmask"),
"Four" = image(icon = src.icon, icon_state = "fourmask"),
"Diamond" = image(icon = src.icon, icon_state = "diamondmask"),
"Cat" = image(icon = src.icon, icon_state = "catmask"),
"Big Eyes" = image(icon = src.icon, icon_state = "bigeyemask"),
"Good" = image(icon = src.icon, icon_state = "goodmask"),
"Bad" = image(icon = src.icon, icon_state = "badmask"),
"Happy" = image(icon = src.icon, icon_state = "happymask"),
"Sad" = image(icon = src.icon, icon_state = "sadmask")
)
/obj/item/clothing/mask/paper/attack_self(mob/user)
. = ..()
if(!istype(user) || user.incapacitated())
return
var/static/list/options = list("Blank" = "papermask", "Neutral" = "neutralmask", "Eyes" = "eyemask",
"Sleeping" ="sleepingmask", "Heart" = "heartmask", "Core" = "coremask",
"Plus" = "plusmask", "Square" ="squaremask", "Bullseye" = "bullseyemask",
"Vertical" = "verticalmask", "Horizontal" = "horizontalmask", "X" ="xmask",
"Bugeyes" = "bugmask", "Double" = "doublemask", "Mark" = "markmask",
"Line" = "linemask", "Minus" = "minusmask", "Four" = "fourmask",
"Diamond" = "diamondmask", "Cat" = "catmask", "Big Eyes" = "bigeyemask",
"Good" = "goodmask", "Bad" = "badmask", "Happy" = "happymask", "Sad" = "sadmask"
)
var/choice = show_radial_menu(user, src, papermask_designs, custom_check = FALSE, radius = 36, require_near = TRUE)
if(src && choice && !user.incapacitated() && in_range(user,src))
icon_state = options[choice]
user.update_inv_wear_mask()
user.update_action_buttons()
to_chat(user, "<span class='notice'>Your paper mask now is now [choice].</span>")
return 1
/obj/item/clothing/mask/emotions
name = "emotional mask"
desc = "Express your happiness or hide your sorrows with this modular cutout. Draw your current emotions onto it with a pen!"
w_class = ITEMSIZE_SMALL
body_parts_covered = FACE
icon_state = "joy"
action_button_name = "Redraw Design"
action_button_is_hands_free = TRUE
var/static/list/joymask_designs = list()
/obj/item/clothing/mask/emotions/Initialize(mapload)
. = ..()
joymask_designs = list(
"Joy" = image(icon = src.icon, icon_state = "joy"),
"Flushed" = image(icon = src.icon, icon_state = "flushed"),
"Pensive" = image(icon = src.icon, icon_state = "pensive"),
"Angry" = image(icon = src.icon, icon_state = "angry"),
)
/obj/item/clothing/mask/emotions/attack_self(mob/user)
. = ..()
if(!istype(user) || user.incapacitated())
return
var/static/list/options = list("Joy" = "joy", "Flushed" = "flushed", "Pensive" = "pensive","Angry" ="angry")
var/choice = show_radial_menu(user, src, joymask_designs, custom_check = FALSE, radius = 36, require_near = TRUE)
if(src && choice && !user.incapacitated() && in_range(user,src))
icon_state = options[choice]
user.update_inv_wear_mask()
user.update_action_buttons()
to_chat(user, "<span class='notice'>Your [src] now displays a [choice] emotion.</span>")
return 1
/obj/item/clothing/mask/mouthwheat
name = "mouth wheat"
desc = "100% synthetic \"Country Girls LLC.\" brand mouth wheat. Warning: not for actual consumption."
icon_state = "mouthwheat"
w_class = ITEMSIZE_SMALL
body_parts_covered = 0
/obj/item/clothing/mask/muzzle
name = "muzzle"
desc = "To stop that awful noise."
icon_state = "muzzle"
body_parts_covered = FACE
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
voicechange = 1
/obj/item/clothing/mask/muzzle/tape
name = "length of tape"
desc = "It's a robust DIY muzzle!"
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "tape_cross"
item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null)
w_class = ITEMSIZE_TINY
/obj/item/clothing/mask/muzzle/New()
..()
say_messages = list("Mmfph!", "Mmmf mrrfff!", "Mmmf mnnf!")
say_verbs = list("mumbles", "says")
// Clumsy folks can't take the mask off themselves.
/obj/item/clothing/mask/muzzle/attack_hand(mob/living/user as mob)
if(user.wear_mask == src && !user.IsAdvancedToolUser())
return 0
..()
/obj/item/clothing/mask/surgical
name = "sterile mask"
desc = "A sterile mask designed to help prevent the spread of diseases."
icon_state = "sterile"
item_state_slots = list(slot_r_hand_str = "sterile", slot_l_hand_str = "sterile")
w_class = ITEMSIZE_SMALL
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)
var/hanging = 0
/obj/item/clothing/mask/surgical/proc/adjust_mask(mob_user)
if(usr.canmove && !usr.stat)
src.hanging = !src.hanging
if (src.hanging)
gas_transfer_coefficient = 1
body_parts_covered = body_parts_covered & ~FACE
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "steriledown"
to_chat(usr, "You pull the mask below your chin.")
else
gas_transfer_coefficient = initial(gas_transfer_coefficient)
body_parts_covered = initial(body_parts_covered)
icon_state = initial(icon_state)
armor = initial(armor)
to_chat(usr, "You pull the mask up to cover your face.")
update_clothing_icon()
/obj/item/clothing/mask/surgical/verb/toggle()
set category = "Object"
set name = "Adjust mask"
set src in usr
adjust_mask(usr)
/obj/item/clothing/mask/surgical/white
icon_state = "sterilew"
item_state_slots = list(slot_r_hand_str = "sterilew", slot_l_hand_str = "sterilew")
/obj/item/clothing/mask/surgical/dust
name = "dust mask"
desc = "A dust mask designed to protect the wearer against construction and/or custodial particulate."
icon_state = "dust"
item_state_slots = list(slot_r_hand_str = "dust", slot_l_hand_str = "dust")
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 30, rad = 0)
/obj/item/clothing/mask/surgical/cloth
name = "cloth mask"
desc = "A cloth mask designed to protect the wearer against allergens, illnesses, and social interaction."
icon_state = "cloth"
item_state_slots = list(slot_r_hand_str = "cloth", slot_l_hand_str = "cloth")
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 20, rad = 0)
/obj/item/clothing/mask/fakemoustache
name = "fake moustache"
desc = "Warning: moustache is fake."
icon_state = "fake-moustache"
flags_inv = HIDEFACE
body_parts_covered = 0
/obj/item/clothing/mask/snorkel
name = "Snorkel"
desc = "For the Swimming Savant."
icon_state = "snorkel"
flags_inv = HIDEFACE
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"
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
/obj/item/clothing/mask/redscarf
name = "red scarf"
desc = "A red and white checkered neck scarf."
icon_state = "redwhite_scarf"
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
/obj/item/clothing/mask/greenscarf
name = "green scarf"
desc = "A green neck scarf."
icon_state = "green_scarf"
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
/obj/item/clothing/mask/ninjascarf
name = "ninja scarf"
desc = "A stealthy, dark scarf."
icon_state = "ninja_scarf"
body_parts_covered = FACE
item_flags = FLEXIBLEMATERIAL
w_class = ITEMSIZE_SMALL
gas_transfer_coefficient = 0.90
siemens_coefficient = 0
/obj/item/clothing/mask/pig
name = "pig mask"
desc = "A rubber pig mask."
icon_state = "pig"
flags_inv = HIDEFACE|BLOCKHAIR
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/shark
name = "shark mask"
desc = "A rubber shark mask."
icon_state = "shark"
flags_inv = HIDEFACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/dolphin
name = "dolphin mask"
desc = "A rubber dolphin mask."
icon_state = "dolphin"
flags_inv = HIDEFACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/goblin
name = "goblin mask"
desc = "A rubber goblin mask."
icon_state = "goblin"
flags_inv = HIDEFACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/demon
name = "demon mask"
desc = "A rubber demon mask."
icon_state = "demon"
flags_inv = HIDEFACE
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
body_parts_covered = HEAD|FACE|EYES
/obj/item/clothing/mask/horsehead
name = "horse head mask"
desc = "A mask made of soft vinyl and latex, representing the head of a horse."
icon_state = "horsehead"
flags_inv = HIDEFACE|BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
w_class = ITEMSIZE_SMALL
siemens_coefficient = 0.9
/obj/item/clothing/mask/nock_scarab
name = "nock mask (blue, scarab)"
desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself."
icon_state = "nock_scarab"
w_class = ITEMSIZE_SMALL
body_parts_covered = HEAD|FACE
/obj/item/clothing/mask/nock_demon
name = "nock mask (purple, demon)"
desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself."
icon_state = "nock_demon"
w_class = ITEMSIZE_SMALL
body_parts_covered = HEAD|FACE
/obj/item/clothing/mask/nock_life
name = "nock mask (green, life)"
desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself."
icon_state = "nock_life"
w_class = ITEMSIZE_SMALL
body_parts_covered = HEAD|FACE
/obj/item/clothing/mask/nock_ornate
name = "nock mask (red, ornate)"
desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself."
icon_state = "nock_ornate"
w_class = ITEMSIZE_SMALL
body_parts_covered = HEAD|FACE
/obj/item/clothing/mask/horsehead/New()
..()
// The horse mask doesn't cause voice changes by default, the wizard spell changes the flag as necessary
say_messages = list("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!")
say_verbs = list("whinnies", "neighs", "says")
/obj/item/clothing/mask/ai
name = "camera MIU"
desc = "Allows for direct mental connection to accessible camera networks."
icon_state = "s-ninja"
item_state_slots = list(slot_r_hand_str = "mime", slot_l_hand_str = "mime")
flags_inv = HIDEFACE
body_parts_covered = 0
var/mob/observer/eye/aiEye/eye
/obj/item/clothing/mask/ai/New()
eye = new(src)
/obj/item/clothing/mask/ai/equipped(var/mob/user, var/slot)
..(user, slot)
if(slot == slot_wear_mask)
eye.owner = user
user.eyeobj = eye
for(var/datum/chunk/c in eye.visibleChunks)
c.remove(eye)
eye.setLoc(user)
/obj/item/clothing/mask/ai/dropped(var/mob/user)
..()
if(eye.owner == user)
for(var/datum/chunk/c in eye.visibleChunks)
c.remove(eye)
eye.owner.eyeobj = null
eye.owner = null
/obj/item/clothing/mask/bandana
name = "black bandana"
desc = "A fine black bandana with nanotech lining. Can be worn on the head or face."
w_class = ITEMSIZE_TINY
flags_inv = HIDEFACE
slot_flags = SLOT_MASK|SLOT_HEAD
body_parts_covered = FACE
icon_state = "bandblack"
item_state_slots = list(slot_r_hand_str = "bandblack", slot_l_hand_str = "bandblack")
/obj/item/clothing/mask/bandana/equipped(var/mob/user, var/slot)
switch(slot)
if(slot_wear_mask) //Mask is the default for all the settings
flags_inv = initial(flags_inv)
body_parts_covered = initial(body_parts_covered)
icon_state = initial(icon_state)
if(slot_head)
flags_inv = 0
body_parts_covered = HEAD
icon_state = "[initial(icon_state)]_up"
return ..()
/obj/item/clothing/mask/bandana/red
name = "red bandana"
desc = "A fine red bandana with nanotech lining. Can be worn on the head or face."
icon_state = "bandred"
item_state_slots = list(slot_r_hand_str = "bandred", slot_l_hand_str = "bandred")
/obj/item/clothing/mask/bandana/blue
name = "blue bandana"
desc = "A fine blue bandana with nanotech lining. Can be worn on the head or face."
icon_state = "bandblue"
item_state_slots = list(slot_r_hand_str = "bandblue", slot_l_hand_str = "bandblue")
/obj/item/clothing/mask/bandana/green
name = "green bandana"
desc = "A fine green bandana with nanotech lining. Can be worn on the head or face."
icon_state = "bandgreen"
item_state_slots = list(slot_r_hand_str = "bandgreen", slot_l_hand_str = "bandgreen")
/obj/item/clothing/mask/bandana/gold
name = "gold bandana"
desc = "A fine gold bandana with nanotech lining. Can be worn on the head or face."
icon_state = "bandgold"
item_state_slots = list(slot_r_hand_str = "bandgold", slot_l_hand_str = "bandgold")
/obj/item/clothing/mask/bandana/skull
name = "skull bandana"
desc = "A fine black bandana with nanotech lining and a skull emblem. Can be worn on the head or face."
icon_state = "bandskull"
item_state_slots = list(slot_r_hand_str = "bandskull", slot_l_hand_str = "bandskull")
/obj/item/clothing/mask/veil
name = "black veil"
desc = "A black veil, typically worn at funerals or by goths."
w_class = ITEMSIZE_TINY
body_parts_covered = FACE
icon_state = "veil"
/obj/item/clothing/mask/paper
name = "paper mask"
desc = "A neat, circular mask made out of paper. Perhaps you could try drawing on it with a pen!"
w_class = ITEMSIZE_SMALL
body_parts_covered = FACE
icon_state = "papermask"
action_button_name = "Redraw Design"
action_button_is_hands_free = TRUE
var/list/papermask_designs = list()
/obj/item/clothing/mask/paper/Initialize(mapload)
. = ..()
papermask_designs = list(
"Blank" = image(icon = src.icon, icon_state = "papermask"),
"Neutral" = image(icon = src.icon, icon_state = "neutralmask"),
"Eyes" = image(icon = src.icon, icon_state = "eyemask"),
"Sleeping" = image(icon = src.icon, icon_state = "sleepingmask"),
"Heart" = image(icon = src.icon, icon_state = "heartmask"),
"Core" = image(icon = src.icon, icon_state = "coremask"),
"Plus" = image(icon = src.icon, icon_state = "plusmask"),
"Square" = image(icon = src.icon, icon_state = "squaremask"),
"Bullseye" = image(icon = src.icon, icon_state = "bullseyemask"),
"Vertical" = image(icon = src.icon, icon_state = "verticalmask"),
"Horizontal" = image(icon = src.icon, icon_state = "horizontalmask"),
"X" = image(icon = src.icon, icon_state = "xmask"),
"Bugeyes" = image(icon = src.icon, icon_state = "bugmask"),
"Double" = image(icon = src.icon, icon_state = "doublemask"),
"Mark" = image(icon = src.icon, icon_state = "markmask"),
"Line" = image(icon = src.icon, icon_state = "linemask"),
"Minus" = image(icon = src.icon, icon_state = "minusmask"),
"Four" = image(icon = src.icon, icon_state = "fourmask"),
"Diamond" = image(icon = src.icon, icon_state = "diamondmask"),
"Cat" = image(icon = src.icon, icon_state = "catmask"),
"Big Eyes" = image(icon = src.icon, icon_state = "bigeyemask"),
"Good" = image(icon = src.icon, icon_state = "goodmask"),
"Bad" = image(icon = src.icon, icon_state = "badmask"),
"Happy" = image(icon = src.icon, icon_state = "happymask"),
"Sad" = image(icon = src.icon, icon_state = "sadmask")
)
/obj/item/clothing/mask/paper/attack_self(mob/user)
. = ..()
if(!istype(user) || user.incapacitated())
return
var/static/list/options = list("Blank" = "papermask", "Neutral" = "neutralmask", "Eyes" = "eyemask",
"Sleeping" ="sleepingmask", "Heart" = "heartmask", "Core" = "coremask",
"Plus" = "plusmask", "Square" ="squaremask", "Bullseye" = "bullseyemask",
"Vertical" = "verticalmask", "Horizontal" = "horizontalmask", "X" ="xmask",
"Bugeyes" = "bugmask", "Double" = "doublemask", "Mark" = "markmask",
"Line" = "linemask", "Minus" = "minusmask", "Four" = "fourmask",
"Diamond" = "diamondmask", "Cat" = "catmask", "Big Eyes" = "bigeyemask",
"Good" = "goodmask", "Bad" = "badmask", "Happy" = "happymask", "Sad" = "sadmask"
)
var/choice = show_radial_menu(user, src, papermask_designs, custom_check = FALSE, radius = 36, require_near = TRUE)
if(src && choice && !user.incapacitated() && in_range(user,src))
icon_state = options[choice]
user.update_inv_wear_mask()
user.update_action_buttons()
to_chat(user, "<span class='notice'>Your paper mask now is now [choice].</span>")
return 1
/obj/item/clothing/mask/emotions
name = "emotional mask"
desc = "Express your happiness or hide your sorrows with this modular cutout. Draw your current emotions onto it with a pen!"
w_class = ITEMSIZE_SMALL
body_parts_covered = FACE
icon_state = "joy"
action_button_name = "Redraw Design"
action_button_is_hands_free = TRUE
var/static/list/joymask_designs = list()
/obj/item/clothing/mask/emotions/Initialize(mapload)
. = ..()
joymask_designs = list(
"Joy" = image(icon = src.icon, icon_state = "joy"),
"Flushed" = image(icon = src.icon, icon_state = "flushed"),
"Pensive" = image(icon = src.icon, icon_state = "pensive"),
"Angry" = image(icon = src.icon, icon_state = "angry"),
)
/obj/item/clothing/mask/emotions/attack_self(mob/user)
. = ..()
if(!istype(user) || user.incapacitated())
return
var/static/list/options = list("Joy" = "joy", "Flushed" = "flushed", "Pensive" = "pensive","Angry" ="angry")
var/choice = show_radial_menu(user, src, joymask_designs, custom_check = FALSE, radius = 36, require_near = TRUE)
if(src && choice && !user.incapacitated() && in_range(user,src))
icon_state = options[choice]
user.update_inv_wear_mask()
user.update_action_buttons()
to_chat(user, "<span class='notice'>Your [src] now displays a [choice] emotion.</span>")
return 1
/obj/item/clothing/mask/mouthwheat
name = "mouth wheat"
desc = "100% synthetic \"Country Girls LLC.\" brand mouth wheat. Warning: not for actual consumption."
icon_state = "mouthwheat"
w_class = ITEMSIZE_SMALL
body_parts_covered = 0