mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* lizard * map * more stuff * aaaaa * aaaa 2 * Update IceMeta.dmm * Update religion.dm * more map * Update DonutStation.dmm * Update civilian.dm * centcom
392 lines
14 KiB
Plaintext
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
|