mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
[MIRROR] adds more cursed animal masks (#1335)
* adds more cursed animal masks (#53539) Animal masks refactor * adds more cursed animal masks Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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)),
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
/obj/item/book/granter/spell/barnyard/recoil(mob/living/carbon/user)
|
||||
if(ishuman(user))
|
||||
to_chat(user,"<font size='15' color='red'><b>HORSIE HAS RISEN</b></font>")
|
||||
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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
. += "<span class='notice'>Its voicebox is currently [clothing_flags & VOICEBOX_DISABLED ? "disabled" : "enabled"]. <b>Alt-click</b> to toggle it.</span>"
|
||||
|
||||
/obj/item/clothing/mask/animal/AltClick(mob/user)
|
||||
. = ..()
|
||||
if(clothing_flags & VOICEBOX_TOGGLABLE)
|
||||
clothing_flags ^= VOICEBOX_DISABLED
|
||||
to_chat(user, "<span class='notice'>You [clothing_flags & VOICEBOX_DISABLED ? "disabled" : "enabled"] [src]'s voicebox.</span>")
|
||||
|
||||
/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, "<span class='userdanger'>[src] was cursed!</span>")
|
||||
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, "<span class='notice'>[src]'s curse has been lifted!</span>")
|
||||
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, "<span class='userdanger'>[src] was cursed!</span>")
|
||||
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.<br> 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
|
||||
@@ -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.<br> 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, "<span class='userdanger'>[src] was cursed! Ree!!</span>")
|
||||
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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -32,8 +32,7 @@
|
||||
"<span class='danger'>Your face starts burning up, but the flames are repulsed by your anti-magic protection!</span>")
|
||||
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("<span class='danger'>[target]'s face bursts into flames, and a barnyard animal's head takes its place!</span>", \
|
||||
|
||||
@@ -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,
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user