diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 1fba72bf6c3..ffe317e68a2 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -36744,7 +36744,7 @@ dir = 1 }, /obj/structure/table/wood, -/obj/item/clothing/mask/pig, +/obj/item/clothing/mask/animal/pig, /obj/item/bikehorn, /turf/open/floor/wood, /area/crew_quarters/theatre) @@ -38246,7 +38246,7 @@ /area/maintenance/port) "bPJ" = ( /obj/structure/rack, -/obj/item/clothing/mask/horsehead, +/obj/item/clothing/mask/animal/horsehead, /obj/effect/spawner/lootdrop/costume, /turf/open/floor/plating, /area/maintenance/port) @@ -62927,7 +62927,7 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/item/clothing/mask/horsehead, +/obj/item/clothing/mask/animal/horsehead, /obj/structure/table/wood, /obj/machinery/airalarm{ dir = 1; diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 4f0ad511edd..7506e2c7484 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -144,7 +144,7 @@ SUBSYSTEM_DEF(traumas) /obj/item/clothing/mask/gas/space_ninja, /obj/item/clothing/shoes/space_ninja, /obj/item/clothing/gloves/space_ninja, /obj/item/vibro_weapon, /obj/item/nullrod/scythe/vibro, /obj/item/energy_katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana, /obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe)), - "insects" = typecacheof(list(/obj/item/toy/plush/moth, /obj/item/toy/plush/beeplushie, /obj/item/clothing/mask/rat/bee, /obj/item/clothing/suit/hooded/bee_costume, /obj/structure/beebox)) + "insects" = typecacheof(list(/obj/item/toy/plush/moth, /obj/item/toy/plush/beeplushie, /obj/item/clothing/mask/animal/rat/bee, /obj/item/clothing/suit/hooded/bee_costume, /obj/structure/beebox)) ) phobia_turfs = list("space" = typecacheof(list(/turf/open/space, /turf/open/floor/holofloor/space, /turf/open/floor/fakespace)), diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 3e680ed7416..367fa191d29 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -269,7 +269,7 @@ /obj/item/book/granter/spell/barnyard/recoil(mob/living/carbon/user) if(ishuman(user)) to_chat(user,"HORSIE HAS RISEN") - var/obj/item/clothing/magichead = new /obj/item/clothing/mask/horsehead/cursed(user.drop_location()) + var/obj/item/clothing/magichead = new /obj/item/clothing/mask/animal/horsehead/cursed(user.drop_location()) if(!user.dropItemToGround(user.wear_mask)) qdel(user.wear_mask) user.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, TRUE, TRUE) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 2dbd8840dff..3f10a324a69 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -175,7 +175,7 @@ if("bee") new /obj/item/paper/fluff/bee_objectives(src) // 0 tc (motivation) new /obj/item/clothing/suit/hooded/bee_costume(src) // 0 tc - new /obj/item/clothing/mask/rat/bee(src) // 0 tc + new /obj/item/clothing/mask/animal/rat/bee(src) // 0 tc new /obj/item/storage/belt/fannypack/yellow(src) // 0 tc new /obj/item/grenade/spawnergrenade/buzzkill(src) new /obj/item/grenade/spawnergrenade/buzzkill(src) diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 992e30a4ecd..e967b32be10 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -26,7 +26,19 @@ . = ..() UnregisterSignal(M, COMSIG_MOB_SAY) +/obj/item/clothing/mask/vv_edit_var(vname, vval) + if(vname == NAMEOF(src, modifies_speech) && ismob(loc)) + var/mob/M = loc + if(M.get_item_by_slot(ITEM_SLOT_MASK) == src) + if(vval) + if(!modifies_speech) + RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + else if(modifies_speech) + UnregisterSignal(M, COMSIG_MOB_SAY) + return ..() + /obj/item/clothing/mask/proc/handle_speech() + SIGNAL_HANDLER /obj/item/clothing/mask/worn_overlays(isinhands = FALSE) . = list() diff --git a/code/modules/clothing/masks/animal_masks.dm b/code/modules/clothing/masks/animal_masks.dm new file mode 100644 index 00000000000..f41dea23bf4 --- /dev/null +++ b/code/modules/clothing/masks/animal_masks.dm @@ -0,0 +1,254 @@ + +GLOBAL_LIST_INIT(cursed_animal_masks, list( + /obj/item/clothing/mask/animal/pig/cursed, + /obj/item/clothing/mask/animal/frog/cursed, + /obj/item/clothing/mask/animal/cowmask/cursed, + /obj/item/clothing/mask/animal/horsehead/cursed, + /obj/item/clothing/mask/animal/rat/cursed, + /obj/item/clothing/mask/animal/rat/fox/cursed, + /obj/item/clothing/mask/animal/rat/bee/cursed, + /obj/item/clothing/mask/animal/rat/bear/cursed, + /obj/item/clothing/mask/animal/rat/bat/cursed, + /obj/item/clothing/mask/animal/rat/raven/cursed, + /obj/item/clothing/mask/animal/rat/jackal/cursed + )) + +/obj/item/clothing/mask/animal + w_class = WEIGHT_CLASS_SMALL + clothing_flags = VOICEBOX_TOGGLABLE + modifies_speech = TRUE + flags_cover = MASKCOVERSMOUTH + + var/animal_type ///what kind of animal the masks represents. used for automatic name and description generation. + var/list/animal_sounds ///phrases to be said when the player attempts to talk when speech modification / voicebox is enabled. + var/list/animal_sounds_alt ///lower probability phrases to be said when talking. + var/animal_sounds_alt_probability ///probability for alternative sounds to play. + + var/cursed ///if it's a cursed mask variant. + var/curse_spawn_sound ///sound to play when the cursed mask variant is spawned. + +/obj/item/clothing/mask/animal/Initialize() + . = ..() + if(cursed) + make_cursed() + +/obj/item/clothing/mask/animal/vv_edit_var(vname, vval) + if(vname == NAMEOF(src, cursed)) + if(vval) + if(!cursed) + make_cursed() + else if(cursed) + clear_curse() + return ..() + +/obj/item/clothing/mask/animal/examine(mob/user) + . = ..() + if(clothing_flags & VOICEBOX_TOGGLABLE) + . += "Its voicebox is currently [clothing_flags & VOICEBOX_DISABLED ? "disabled" : "enabled"]. Alt-click to toggle it." + +/obj/item/clothing/mask/animal/AltClick(mob/user) + . = ..() + if(clothing_flags & VOICEBOX_TOGGLABLE) + clothing_flags ^= VOICEBOX_DISABLED + to_chat(user, "You [clothing_flags & VOICEBOX_DISABLED ? "disabled" : "enabled"] [src]'s voicebox.") + +/obj/item/clothing/mask/animal/proc/make_cursed() //apply cursed effects. + ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT) + clothing_flags = NONE //force animal sounds to always on. + if(flags_inv == initial(flags_inv)) + flags_inv = HIDEFACIALHAIR + name = "[animal_type] face" + desc = "It looks like a [animal_type] mask, but closer inspection reveals it's melded onto this person's face!" + if(curse_spawn_sound) + playsound(src, curse_spawn_sound, 50, TRUE) + var/update_speech_mod = !modifies_speech && LAZYLEN(animal_sounds) + if(update_speech_mod) + modifies_speech = TRUE + if(ismob(loc)) + var/mob/M = loc + if(M.get_item_by_slot(ITEM_SLOT_MASK) == src) + if(update_speech_mod) + RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + to_chat(M, "[src] was cursed!") + M.update_inv_wear_mask() + +/obj/item/clothing/mask/animal/proc/clear_curse() + REMOVE_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT) + clothing_flags = initial(clothing_flags) + flags_inv = initial(flags_inv) + name = initial(name) + desc = initial(desc) + var/update_speech_mod = modifies_speech && !initial(modifies_speech) + if(update_speech_mod) + modifies_speech = FALSE + if(ismob(loc)) + var/mob/M = loc + if(M.get_item_by_slot(ITEM_SLOT_MASK) == src) + to_chat(M, "[src]'s curse has been lifted!") + if(update_speech_mod) + UnregisterSignal(M, COMSIG_MOB_SAY) + M.update_inv_wear_mask() + +/obj/item/clothing/mask/animal/handle_speech(datum/source, list/speech_args) + if(clothing_flags & VOICEBOX_DISABLED) + return + if(!modifies_speech || !LAZYLEN(animal_sounds)) + return + speech_args[SPEECH_MESSAGE] = pick((prob(animal_sounds_alt_probability) && LAZYLEN(animal_sounds_alt)) ? animal_sounds_alt : animal_sounds) + +/obj/item/clothing/mask/animal/equipped(mob/user, slot) + if(!iscarbon(user)) + return ..() + if(slot == ITEM_SLOT_MASK && HAS_TRAIT_FROM(src, TRAIT_NODROP, CURSED_MASK_TRAIT)) + to_chat(user, "[src] was cursed!") + return ..() + + +/obj/item/clothing/mask/animal/pig + name = "pig mask" + desc = "A rubber pig mask with a built-in voice modulator." + animal_type = "pig" + icon_state = "pig" + inhand_icon_state = "pig" + animal_sounds = list("Oink!","Squeeeeeeee!","Oink Oink!") + curse_spawn_sound = 'sound/magic/pighead_curse.ogg' + flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR + +/obj/item/clothing/mask/animal/pig/cursed + cursed = TRUE + +///frog mask - reeee!! +/obj/item/clothing/mask/animal/frog + name = "frog mask" + desc = "An ancient mask carved in the shape of a frog.
Sanity is like gravity, all it needs is a push." + icon_state = "frog" + inhand_icon_state = "frog" + animal_sounds = list("Ree!!", "Reee!!","REEE!!","REEEEE!!") + animal_sounds_alt_probability = 5 + animal_sounds_alt = list("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!!") + flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR + +/obj/item/clothing/mask/animal/frog/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/cowmask + name = "cow mask" + icon_state = "cowmask" + inhand_icon_state = "cowmask" + flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR + curse_spawn_sound = 'sound/magic/cowhead_curse.ogg' + animal_sounds = list("Moooooooo!","Moo!","Moooo!") + +/obj/item/clothing/mask/animal/cowmask/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/horsehead + name = "horse mask" + desc = "A mask made of soft vinyl and latex, representing the head of a horse." + animal_type = "horse" + icon_state = "horsehead" + inhand_icon_state = "horsehead" + animal_sounds = list("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!") + flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEYES|HIDEEARS + curse_spawn_sound = 'sound/magic/horsehead_curse.ogg' + +/obj/item/clothing/mask/animal/horsehead/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/rat + name = "rat mask" + desc = "A mask made of soft vinyl and latex, representing the head of a rat." + animal_type = "rat" + icon_state = "rat" + inhand_icon_state = "rat" + flags_inv = HIDEFACE + modifies_speech = FALSE + animal_sounds = list("Skree!","SKREEE!","Squeak!") + +/obj/item/clothing/mask/animal/rat/make_cursed() + flags_inv = NONE + return ..() + +/obj/item/clothing/mask/animal/rat/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/rat/fox + name = "fox mask" + desc = "A mask made of soft vinyl and latex, representing the head of a fox." + animal_type = "fox" + icon_state = "fox" + inhand_icon_state = "fox" + animal_sounds = list("Ack-Ack!","Ack-Ack-Ack-Ackawoooo!","Geckers!","AWOO!","TCHOFF!") + +/obj/item/clothing/mask/animal/rat/fox/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/rat/bee + name = "bee mask" + desc = "A mask made of soft vinyl and latex, representing the head of a bee." + animal_type = "bee" + icon_state = "bee" + inhand_icon_state = "bee" + animal_sounds = list("BZZT!", "BUZZZ!", "B-zzzz!", "Bzzzzzzttttt!") + +/obj/item/clothing/mask/animal/rat/bee/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/rat/bear + name = "bear mask" + desc = "A mask made of soft vinyl and latex, representing the head of a bear." + animal_type = "bear" + icon_state = "bear" + inhand_icon_state = "bear" + animal_sounds = list("RAWR!","Rawr!","GRR!","Growl!") + +/obj/item/clothing/mask/animal/rat/bear/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/rat/bat + name = "bat mask" + desc = "A mask made of soft vinyl and latex, representing the head of a bat." + animal_type = "bat" + icon_state = "bat" + inhand_icon_state = "bat" + +/obj/item/clothing/mask/animal/rat/bat/cursed + cursed = TRUE + + +/obj/item/clothing/mask/animal/rat/raven + name = "raven mask" + desc = "A mask made of soft vinyl and latex, representing the head of a raven." + icon_state = "raven" + inhand_icon_state = "raven" + animal_type = "raven" + animal_sounds = list("CAW!", "C-CAWW!", "Squawk!") + animal_sounds_alt = list("Nevermore...") + animal_sounds_alt_probability = 1 + +/obj/item/clothing/mask/animal/rat/raven/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/rat/jackal + name = "jackal mask" + desc = "A mask made of soft vinyl and latex, representing the head of a jackal." + animal_type = "jackal" + icon_state = "jackal" + inhand_icon_state = "jackal" + animal_sounds = list("YAP!", "Woof!", "Bark!", "AUUUUUU!") + +/obj/item/clothing/mask/animal/rat/jackal/cursed + cursed = TRUE + +/obj/item/clothing/mask/animal/rat/tribal + name = "tribal mask" + desc = "A mask carved out of wood, detailed carefully by hand." + animal_type = "tribal" //honk. + icon_state = "bumba" + inhand_icon_state = "bumba" + animal_sounds = list("Bad juju, mon!", "Da Iwa be praised!", "Sum bad mojo, dat!", "You do da voodoo, mon!") + animal_sounds_alt = list("Eekum-bokum!", "Oomenacka!", "In mah head..... Zombi.... Zombi!") + animal_sounds_alt_probability = 5 + +/obj/item/clothing/mask/animal/rat/tribal/cursed //adminspawn only. + cursed = TRUE diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 899799a200c..df8a341560e 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -70,159 +70,6 @@ desc = "Express your happiness or hide your sorrows with this laughing face with crying tears of joy cutout." icon_state = "joy" -/obj/item/clothing/mask/pig - name = "pig mask" - desc = "A rubber pig mask with a built-in voice modulator." - icon_state = "pig" - inhand_icon_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(!(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() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT) - playsound(get_turf(src), 'sound/magic/pighead_curse.ogg', 50, TRUE) - -///frog mask - reeee!! -/obj/item/clothing/mask/frog - name = "frog mask" - desc = "An ancient mask carved in the shape of a frog.
Sanity is like gravity, all it needs is a push." - icon_state = "frog" - inhand_icon_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(!(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() - . = ..() - 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, "[src] was cursed! Ree!!") - return ..() - -/obj/item/clothing/mask/cowmask - name = "cow mask" - icon_state = "cowmask" - inhand_icon_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(!(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() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT) - playsound(get_turf(src), 'sound/magic/cowhead_curse.ogg', 50, TRUE) - -/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" - inhand_icon_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(!(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 initially looks like a mask, but it's melded into the poor person's face." - clothing_flags = NONE - flags_inv = HIDEFACIALHAIR - -/obj/item/clothing/mask/horsehead/cursed/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT) - playsound(get_turf(src), 'sound/magic/horsehead_curse.ogg', 50, TRUE) - -/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" - inhand_icon_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" - inhand_icon_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" - inhand_icon_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" - inhand_icon_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" - inhand_icon_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" - inhand_icon_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" - inhand_icon_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" - inhand_icon_state = "bumba" /obj/item/clothing/mask/bandana name = "botany bandana" diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index 1f165160831..6cd7da5144f 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -234,7 +234,7 @@ name = "Bee Day" begin_day = 20 begin_month = MAY - drone_hat = /obj/item/clothing/mask/rat/bee + drone_hat = /obj/item/clothing/mask/animal/rat/bee /datum/holiday/bee/getStationPrefix() return pick("Bee","Honey","Hive","Africanized","Mead","Buzz") @@ -504,7 +504,7 @@ name = "Mayan Doomsday Anniversary" begin_day = 21 begin_month = DECEMBER - drone_hat = /obj/item/clothing/mask/rat/tribal + drone_hat = /obj/item/clothing/mask/animal/rat/tribal /datum/holiday/xmas name = CHRISTMAS diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index a212e2bd9f3..2cc7fe77054 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -238,4 +238,4 @@ belt = /obj/item/storage/belt/fannypack/yellow/bee_terrorist id = /obj/item/card/id l_pocket = /obj/item/paper/fluff/bee_objectives - mask = /obj/item/clothing/mask/rat/bee + mask = /obj/item/clothing/mask/animal/rat/bee diff --git a/code/modules/spells/spell_types/pointed/barnyard.dm b/code/modules/spells/spell_types/pointed/barnyard.dm index 4753f7b4182..a62f7d8e275 100644 --- a/code/modules/spells/spell_types/pointed/barnyard.dm +++ b/code/modules/spells/spell_types/pointed/barnyard.dm @@ -32,8 +32,7 @@ "Your face starts burning up, but the flames are repulsed by your anti-magic protection!") return FALSE - var/list/masks = list(/obj/item/clothing/mask/pig/cursed, /obj/item/clothing/mask/cowmask/cursed, /obj/item/clothing/mask/horsehead/cursed) - var/choice = pick(masks) + var/choice = pick(GLOB.cursed_animal_masks) var/obj/item/clothing/mask/magichead = new choice(get_turf(target)) target.visible_message("[target]'s face bursts into flames, and a barnyard animal's head takes its place!", \ diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm index 24856fd74dc..2b82ae9b1eb 100644 --- a/code/modules/vending/autodrobe.dm +++ b/code/modules/vending/autodrobe.dm @@ -77,15 +77,15 @@ /obj/item/clothing/mask/gas/sexymime = 1, /obj/item/clothing/under/rank/civilian/mime/sexy = 1, /obj/item/clothing/under/rank/civilian/mime/skirt = 1, - /obj/item/clothing/mask/rat/bat = 1, - /obj/item/clothing/mask/rat/bee = 1, - /obj/item/clothing/mask/rat/bear = 1, - /obj/item/clothing/mask/rat/raven = 1, - /obj/item/clothing/mask/rat/jackal = 1, - /obj/item/clothing/mask/rat/fox = 1, - /obj/item/clothing/mask/frog = 1, - /obj/item/clothing/mask/rat/tribal = 1, - /obj/item/clothing/mask/rat = 1, + /obj/item/clothing/mask/animal/rat/bat = 1, + /obj/item/clothing/mask/animal/rat/bee = 1, + /obj/item/clothing/mask/animal/rat/bear = 1, + /obj/item/clothing/mask/animal/rat/raven = 1, + /obj/item/clothing/mask/animal/rat/jackal = 1, + /obj/item/clothing/mask/animal/rat/fox = 1, + /obj/item/clothing/mask/animal/frog = 1, + /obj/item/clothing/mask/animal/rat/tribal = 1, + /obj/item/clothing/mask/animal/rat = 1, /obj/item/clothing/suit/apron/overalls = 1, /obj/item/clothing/head/rabbitears =1, /obj/item/clothing/head/sombrero = 1, diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index a7b80e1c25c..cda43a65cda 100644 Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 1fd8dd4b127..76e17f96cb4 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1788,6 +1788,7 @@ #include "code\modules\clothing\head\misc_special.dm" #include "code\modules\clothing\head\soft_caps.dm" #include "code\modules\clothing\masks\_masks.dm" +#include "code\modules\clothing\masks\animal_masks.dm" #include "code\modules\clothing\masks\boxing.dm" #include "code\modules\clothing\masks\breath.dm" #include "code\modules\clothing\masks\gasmask.dm"