Files
CHOMPStation2/code/modules/clothing/masks/miscellaneous.dm
2021-10-27 21:53:50 +00:00

497 lines
16 KiB
Plaintext

/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