/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/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 <<<<<<< HEAD icon_state = "veil" ||||||| parent of 23daa38dfa... Merge pull request #11716 from GhostActual/straw_accessories 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" /obj/item/clothing/mask/paper/attackby(obj/item/I as obj, mob/living/user as mob, proximity) if(!proximity) return if(istype(I, /obj/item/weapon/pen)) var/drawtype = tgui_alert(user, "Choose what you'd like to draw.", "Faces", list("blank","neutral","eyes","sleeping", "heart", "core", "plus", "square", "bullseye", "vertical", "horizontal", "X", "bug eyes", "double", "mark" )) switch(drawtype) if("blank") src.icon_state = "papermask" if("neutral") src.icon_state = "neutralmask" if("eyes") src.icon_state = "eyemask" if("sleeping") src.icon_state = "sleepingmask" if("heart") src.icon_state = "heartmask" if("core") src.icon_state = "coremask" if("plus") src.icon_state = "plusmask" if("square") src.icon_state = "squaremask" if("bullseye") src.icon_state = "bullseyemask" if("vertical") src.icon_state = "verticalmask" if("horizontal") src.icon_state = "horizontalmask" if("X") src.icon_state = "xmask" if("bug eyes") src.icon_state = "bugmask" if("double") src.icon_state = "doublemask" if("mark") src.icon_state = "markmask" return /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" /obj/item/clothing/mask/emotions/attackby(obj/item/I as obj, mob/living/user as mob, proximity) if(!proximity) return if(istype(I, /obj/item/weapon/pen)) var/drawtype = tgui_alert(user, "Choose what emotions you'd like to display.", "Emotions", list("joy","pensive","angry","flushed" )) switch(drawtype) if("joy") src.icon_state = "joy" if("pensive") src.icon_state = "pensive" if("angry") src.icon_state = "angry" if("flushed") src.icon_state = "flushed" return //Gaiter scarves /obj/item/clothing/mask/gaiter name = "red neck gaiter" desc = "A slightly worn neck gaiter, it's loose enough to be worn comfortably like a scarf. Commonly used by outdoorsmen and mercenaries, both to keep warm and keep debris away from the face." icon_state = "gaiter_red" /obj/item/clothing/mask/gaiter/attack_self(mob/user as mob) if(src.icon_state == initial(icon_state)) src.icon_state = "[icon_state]_up" to_chat(user, "You pull the gaiter up over your nose.") else src.icon_state = initial(icon_state) to_chat(user, "You tug the gaiter down around your neck.") update_clothing_icon() //so our mob-overlays update /obj/item/clothing/mask/gaiter/tan name = "tan neck gaiter" icon_state = "gaiter_tan" /obj/item/clothing/mask/gaiter/gray name = "gray neck gaiter" icon_state = "gaiter_gray" /obj/item/clothing/mask/gaiter/green name = "green neck gaiter" icon_state = "gaiter_green" ======= 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" /obj/item/clothing/mask/paper/attackby(obj/item/I as obj, mob/living/user as mob, proximity) if(!proximity) return if(istype(I, /obj/item/weapon/pen)) var/drawtype = tgui_alert(user, "Choose what you'd like to draw.", "Faces", list("blank","neutral","eyes","sleeping", "heart", "core", "plus", "square", "bullseye", "vertical", "horizontal", "X", "bug eyes", "double", "mark" )) switch(drawtype) if("blank") src.icon_state = "papermask" if("neutral") src.icon_state = "neutralmask" if("eyes") src.icon_state = "eyemask" if("sleeping") src.icon_state = "sleepingmask" if("heart") src.icon_state = "heartmask" if("core") src.icon_state = "coremask" if("plus") src.icon_state = "plusmask" if("square") src.icon_state = "squaremask" if("bullseye") src.icon_state = "bullseyemask" if("vertical") src.icon_state = "verticalmask" if("horizontal") src.icon_state = "horizontalmask" if("X") src.icon_state = "xmask" if("bug eyes") src.icon_state = "bugmask" if("double") src.icon_state = "doublemask" if("mark") src.icon_state = "markmask" return /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" /obj/item/clothing/mask/emotions/attackby(obj/item/I as obj, mob/living/user as mob, proximity) if(!proximity) return if(istype(I, /obj/item/weapon/pen)) var/drawtype = tgui_alert(user, "Choose what emotions you'd like to display.", "Emotions", list("joy","pensive","angry","flushed" )) switch(drawtype) if("joy") src.icon_state = "joy" if("pensive") src.icon_state = "pensive" if("angry") src.icon_state = "angry" if("flushed") src.icon_state = "flushed" return //Gaiter scarves /obj/item/clothing/mask/gaiter name = "red neck gaiter" desc = "A slightly worn neck gaiter, it's loose enough to be worn comfortably like a scarf. Commonly used by outdoorsmen and mercenaries, both to keep warm and keep debris away from the face." icon_state = "gaiter_red" /obj/item/clothing/mask/gaiter/attack_self(mob/user as mob) if(src.icon_state == initial(icon_state)) src.icon_state = "[icon_state]_up" to_chat(user, "You pull the gaiter up over your nose.") else src.icon_state = initial(icon_state) to_chat(user, "You tug the gaiter down around your neck.") update_clothing_icon() //so our mob-overlays update /obj/item/clothing/mask/gaiter/tan name = "tan neck gaiter" icon_state = "gaiter_tan" /obj/item/clothing/mask/gaiter/gray name = "gray neck gaiter" icon_state = "gaiter_gray" /obj/item/clothing/mask/gaiter/green name = "green neck gaiter" icon_state = "gaiter_green" /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 >>>>>>> 23daa38dfa... Merge pull request #11716 from GhostActual/straw_accessories