Files
Yogstation/code/modules/clothing/masks/miscellaneous.dm
SapphicOverload fbbb81d368 Adds jumpsuits to the game (#21997)
* lizard

* map

* more stuff

* aaaaa

* aaaa 2

* Update IceMeta.dmm

* Update religion.dm

* more map

* Update DonutStation.dmm

* Update civilian.dm

* centcom
2024-05-07 16:36:03 -05:00

392 lines
14 KiB
Plaintext

/obj/item/clothing/mask/muzzle
name = "muzzle"
desc = "To stop that awful noise."
icon_state = "muzzle"
item_state = "blindfold"
flags_cover = MASKCOVERSMOUTH
w_class = WEIGHT_CLASS_SMALL
gas_transfer_coefficient = 0.9
equip_delay_other = 20
/obj/item/clothing/mask/muzzle/attack_paw(mob/user)
if(iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.wear_mask)
to_chat(user, span_warning("You need help taking this off!"))
return
..()
/obj/item/clothing/mask/muzzle/tape
name = "tape muzzle"
icon_state = "tape"
/obj/item/clothing/mask/muzzle/tape/attack_self(mob/user)
..()
user.visible_message(span_notice("You take apart [src]."), span_notice("[user] takes apart [src]."))
new /obj/item/stack/tape(user.drop_location())
qdel(src)
/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 = "sterile"
w_class = WEIGHT_CLASS_TINY
flags_inv = HIDEFACE
flags_cover = MASKCOVERSMOUTH
visor_flags_inv = HIDEFACE
visor_flags_cover = MASKCOVERSMOUTH
gas_transfer_coefficient = 0.9
mutantrace_variation = DIGITIGRADE_VARIATION
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 0, ACID = 0)
actions_types = list(/datum/action/item_action/adjust)
/obj/item/clothing/mask/surgical/attack_self(mob/user)
adjustmask(user)
/obj/item/clothing/mask/fakemoustache
name = "fake moustache"
desc = "Warning: moustache is fake."
icon_state = "fake-moustache"
flags_inv = HIDEFACE
/obj/item/clothing/mask/fakemoustache/italian
name = "italian moustache"
desc = "Made from authentic Italian moustache hairs. Gives the wearer an irresistable urge to gesticulate wildly."
modifies_speech = TRUE
/obj/item/clothing/mask/fakemoustache/italian/handle_speech(datum/source, list/speech_args)
var/message = speech_args[SPEECH_MESSAGE]
if(message[1] != "*")
message = " [message]"
var/list/italian_words = strings("italian_replacement.json", "italian")
for(var/key in italian_words)
var/value = italian_words[key]
if(islist(value))
value = pick(value)
message = replacetextEx(message, " [uppertext(key)]", " [uppertext(value)]")
message = replacetextEx(message, " [capitalize(key)]", " [capitalize(value)]")
message = replacetextEx(message, " [key]", " [value]")
if(prob(3))
message += pick(" Ravioli, ravioli, give me the formuoli!"," Mamma-mia!"," Mamma-mia! That's a spicy meat-ball!", " La la la la la funiculi funicula!")
speech_args[SPEECH_MESSAGE] = trim(message)
/obj/item/clothing/mask/joy
name = "joy mask"
desc = "Express your happiness or hide your sorrows with this laughing face with crying tears of joy cutout."
icon_state = "joy"
GLOBAL_LIST_INIT(cursed_animal_masks, list(
/obj/item/clothing/mask/pig/cursed,
/obj/item/clothing/mask/frog/cursed,
/obj/item/clothing/mask/cowmask/cursed,
/obj/item/clothing/mask/horsehead/cursed,
// /obj/item/clothing/mask/animal/small/rat/cursed,
// /obj/item/clothing/mask/animal/small/fox/cursed,
// /obj/item/clothing/mask/animal/small/bee/cursed,
// /obj/item/clothing/mask/animal/small/bear/cursed,
// /obj/item/clothing/mask/animal/small/bat/cursed,
// /obj/item/clothing/mask/animal/small/raven/cursed,
// /obj/item/clothing/mask/animal/small/jackal/cursed
))
/obj/item/clothing/mask/pig
name = "pig mask"
desc = "A rubber pig mask with a built in voice modulator."
icon_state = "pig"
item_state = "pig"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
clothing_flags = VOICEBOX_TOGGLABLE
w_class = WEIGHT_CLASS_SMALL
modifies_speech = TRUE
/obj/item/clothing/mask/pig/handle_speech(datum/source, list/speech_args)
if(!CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED))
speech_args[SPEECH_MESSAGE] = pick("Oink!","Squeeeeeeee!","Oink Oink!")
/obj/item/clothing/mask/pig/cursed
name = "pig face"
desc = "It looks like a mask, but closer inspection reveals it's melded onto this person's face!"
flags_inv = HIDEFACIALHAIR
clothing_flags = NONE
/obj/item/clothing/mask/pig/cursed/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT)
playsound(get_turf(src), 'sound/magic/pighead_curse.ogg', 50, 1)
///frog mask - reeee!!
/obj/item/clothing/mask/frog
name = "frog mask"
desc = "An ancient mask carved in the shape of a frog.<br>Sanity is like gravity: all it needs is a push."
icon_state = "frog"
item_state = "frog"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
w_class = WEIGHT_CLASS_SMALL
clothing_flags = VOICEBOX_TOGGLABLE
modifies_speech = TRUE
/obj/item/clothing/mask/frog/handle_speech(datum/source, list/speech_args) //whenever you speak
if(!CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED))
if(prob(5)) //sometimes, the angry spirit finds others words to speak.
speech_args[SPEECH_MESSAGE] = pick("HUUUUU!!","SMOOOOOKIN'!!","Hello my baby, hello my honey, hello my rag-time gal.", "Feels bad, man.", "GIT DIS GUY OFF ME!!" ,"SOMEBODY STOP ME!!", "NORMIES, GET OUT!!")
else
speech_args[SPEECH_MESSAGE] = pick("Ree!!", "Reee!!","REEE!!","REEEEE!!") //but its usually just angry gibberish,
/obj/item/clothing/mask/frog/cursed
clothing_flags = NONE
/obj/item/clothing/mask/frog/cursed/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT)
/obj/item/clothing/mask/frog/cursed/equipped(mob/user, slot)
var/mob/living/carbon/C = user
if(C.wear_mask == src && HAS_TRAIT_FROM(src, TRAIT_NODROP, CURSED_MASK_TRAIT))
to_chat(user, span_userdanger("[src] was cursed! Ree!!"))
return ..()
/obj/item/clothing/mask/cowmask
name = "cow mask"
icon = 'icons/mob/clothing/mask/mask.dmi'
icon_state = "cowmask"
item_state = "cowmask"
clothing_flags = VOICEBOX_TOGGLABLE
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
w_class = WEIGHT_CLASS_SMALL
modifies_speech = TRUE
/obj/item/clothing/mask/cowmask/handle_speech(datum/source, list/speech_args)
if(!CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED))
speech_args[SPEECH_MESSAGE] = pick("Moooooooo!","Moo!","Moooo!")
/obj/item/clothing/mask/cowmask/cursed
name = "cow face"
desc = "It looks like a cow mask, but closer inspection reveals it's melded onto this person's face!"
flags_inv = HIDEFACIALHAIR
clothing_flags = NONE
/obj/item/clothing/mask/cowmask/cursed/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT)
playsound(get_turf(src), 'sound/magic/cowhead_curse.ogg', 50, 1)
/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"
item_state = "horsehead"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEYES|HIDEEARS
w_class = WEIGHT_CLASS_SMALL
clothing_flags = VOICEBOX_TOGGLABLE
/obj/item/clothing/mask/horsehead/handle_speech(datum/source, list/speech_args)
if(!CHECK_BITFIELD(clothing_flags, VOICEBOX_DISABLED))
speech_args[SPEECH_MESSAGE] = pick("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!")
/obj/item/clothing/mask/horsehead/cursed
name = "horse face"
desc = "It looks like a horse mask, but closer inspection reveals it's melded onto this person's face!"
clothing_flags = NONE
flags_inv = HIDEFACIALHAIR
/obj/item/clothing/mask/horsehead/cursed/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT)
playsound(get_turf(src), 'sound/magic/horsehead_curse.ogg', 50, 1)
/obj/item/clothing/mask/rat
name = "rat mask"
desc = "A mask made of soft vinyl and latex, representing the head of a rat."
icon_state = "rat"
item_state = "rat"
flags_inv = HIDEFACE
flags_cover = MASKCOVERSMOUTH
/obj/item/clothing/mask/rat/fox
name = "fox mask"
desc = "A mask made of soft vinyl and latex, representing the head of a fox."
icon_state = "fox"
item_state = "fox"
/obj/item/clothing/mask/rat/bee
name = "bee mask"
desc = "A mask made of soft vinyl and latex, representing the head of a bee."
icon_state = "bee"
item_state = "bee"
/obj/item/clothing/mask/rat/bear
name = "bear mask"
desc = "A mask made of soft vinyl and latex, representing the head of a bear."
icon_state = "bear"
item_state = "bear"
/obj/item/clothing/mask/rat/bat
name = "bat mask"
desc = "A mask made of soft vinyl and latex, representing the head of a bat."
icon_state = "bat"
item_state = "bat"
/obj/item/clothing/mask/rat/raven
name = "raven mask"
desc = "A mask made of soft vinyl and latex, representing the head of a raven."
icon_state = "raven"
item_state = "raven"
/obj/item/clothing/mask/rat/jackal
name = "jackal mask"
desc = "A mask made of soft vinyl and latex, representing the head of a jackal."
icon_state = "jackal"
item_state = "jackal"
/obj/item/clothing/mask/rat/tribal
name = "tribal mask"
desc = "A mask carved out of wood, detailed carefully by hand."
icon_state = "bumba"
item_state = "bumba"
/obj/item/clothing/mask/bandana
name = "botany bandana"
desc = "A fine bandana with nanotech lining and a hydroponics pattern."
w_class = WEIGHT_CLASS_TINY
flags_cover = MASKCOVERSMOUTH
flags_inv = HIDEFACE|HIDEFACIALHAIR
visor_flags_inv = HIDEFACE|HIDEFACIALHAIR
visor_flags_cover = MASKCOVERSMOUTH
slot_flags = ITEM_SLOT_MASK
adjusted_flags = ITEM_SLOT_HEAD
icon_state = "bandbotany"
mutantrace_variation = DIGITIGRADE_VARIATION
/obj/item/clothing/mask/bandana/attack_self(mob/user)
adjustmask(user)
/obj/item/clothing/mask/bandana/AltClick(mob/user,bypass = FALSE)
. = ..()
if(iscarbon(user) && !bypass)
var/mob/living/carbon/C = user
if((C.get_item_by_slot(ITEM_SLOT_HEAD == src)) || (C.get_item_by_slot(ITEM_SLOT_MASK) == src))
to_chat(user, span_warning("You can't tie [src] while wearing it!"))
return
if(slot_flags & ITEM_SLOT_HEAD && !bypass)
to_chat(user, span_warning("You must undo [src] before you can tie it into a neckerchief!"))
else
if(user.is_holding(src) || bypass)
var/obj/item/clothing/neck/neckerchief/nk = new(src)
nk.name = "[name] neckerchief"
nk.desc = "[desc] It's tied up like a neckerchief."
nk.worn_icon = 'icons/blank.dmi'
nk.icon_state = icon_state
nk.sourceBandanaType = src.type
var/currentHandIndex = user.get_held_index_of_item(src)
user.transferItemToLoc(src, null)
user.put_in_hand(nk, currentHandIndex)
user.visible_message(span_notice("[user] ties [src] up like a neckerchief."), span_notice("You tie [src] up like a neckerchief."))
qdel(src)
else
to_chat(user, span_warning("You must be holding [src] in order to tie it!"))
/obj/item/clothing/mask/bandana/red
name = "red bandana"
desc = "A fine red bandana with nanotech lining."
icon_state = "bandred"
mutantrace_variation = DIGITIGRADE_VARIATION
/obj/item/clothing/mask/bandana/blue
name = "blue bandana"
desc = "A fine blue bandana with nanotech lining."
icon_state = "bandblue"
mutantrace_variation = DIGITIGRADE_VARIATION
/obj/item/clothing/mask/bandana/green
name = "green bandana"
desc = "A fine green bandana with nanotech lining."
icon_state = "bandgreen"
mutantrace_variation = DIGITIGRADE_VARIATION
/obj/item/clothing/mask/bandana/gold
name = "gold bandana"
desc = "A fine gold bandana with nanotech lining."
icon_state = "bandgold"
mutantrace_variation = DIGITIGRADE_VARIATION
/obj/item/clothing/mask/bandana/black
name = "black bandana"
desc = "A fine black bandana with nanotech lining."
icon_state = "bandblack"
mutantrace_variation = DIGITIGRADE_VARIATION
/obj/item/clothing/mask/bandana/skull
name = "skull bandana"
desc = "A fine black bandana with nanotech lining and a skull emblem."
icon_state = "bandskull"
mutantrace_variation = DIGITIGRADE_VARIATION
/obj/item/clothing/mask/bandana/durathread
name = "durathread bandana"
desc = "A bandana made from durathread, you wish it would provide some protection to its wearer, but it's far too thin..."
icon_state = "banddurathread"
mutantrace_variation = DIGITIGRADE_VARIATION
/obj/item/clothing/mask/bandana/durathread/tied/Initialize(mapload)
. = ..()
AltClick(bypass = TRUE)
/obj/item/clothing/mask/mummy
name = "mummy mask"
desc = "Ancient bandages."
icon_state = "mummy_mask"
item_state = "mummy_mask"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
/obj/item/clothing/mask/scarecrow
name = "sack mask"
desc = "A burlap sack with eyeholes."
icon_state = "scarecrow_sack"
item_state = "scarecrow_sack"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
/obj/item/clothing/mask/gondola
name = "gondola mask"
desc = "Genuine gondola fur."
icon_state = "gondola"
item_state = "gondola"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
w_class = WEIGHT_CLASS_SMALL
modifies_speech = TRUE
/obj/item/clothing/mask/gondola/handle_speech(datum/source, list/speech_args)
var/message = speech_args[SPEECH_MESSAGE]
if(message[1] != "*")
message = " [message]"
var/list/spurdo_words = strings("spurdo_replacement.json", "spurdo")
for(var/key in spurdo_words)
var/value = spurdo_words[key]
if(islist(value))
value = pick(value)
message = replacetextEx(message,regex(uppertext(key),"g"), "[uppertext(value)]")
message = replacetextEx(message,regex(capitalize(key),"g"), "[capitalize(value)]")
message = replacetextEx(message,regex(key,"g"), "[value]")
speech_args[SPEECH_MESSAGE] = trim(message)
/obj/item/clothing/mask/rmask
name = "dusty mask"
desc = "A face is nothing, it's what's inside that matters."
icon_state = "rmask"
item_state = "rmaks"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
clothing_flags = MASKINTERNALS
flags_cover = MASKCOVERSEYES
/obj/item/clothing/mask/pocketcatmask
name = "peculiar cat mask"
desc = "This mask makes you a little uneasy."
icon_state = "pocketmask"
item_state = "pocketmask"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
flags_cover = MASKCOVERSEYES