diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 2510c19c05..6a3cb6b179 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -980,8 +980,8 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
/obj/item/clothing/mask/gas/cyborg = 1, /obj/item/clothing/suit/holidaypriest = 1, /obj/item/clothing/head/wizard/marisa/fake = 1,
/obj/item/clothing/suit/wizrobe/marisa/fake = 1, /obj/item/clothing/under/sundress = 1, /obj/item/clothing/head/witchwig = 1, /obj/item/staff/broom = 1,
/obj/item/clothing/suit/wizrobe/fake = 1, /obj/item/clothing/head/wizard/fake = 1, /obj/item/staff = 3, /obj/item/clothing/mask/gas/sexyclown = 1,
- /obj/item/clothing/under/rank/clown/sexy = 1, /obj/item/clothing/mask/gas/sexymime = 1, /obj/item/clothing/under/sexymime = 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/rat/tribal = 1, /obj/item/clothing/mask/rat = 1, /obj/item/clothing/suit/apron/overalls = 1,
- /obj/item/clothing/head/rabbitears =1, /obj/item/clothing/head/sombrero = 1, /obj/item/clothing/head/sombrero/green = 1, /obj/item/clothing/suit/poncho = 1,
+ /obj/item/clothing/under/rank/clown/sexy = 1, /obj/item/clothing/mask/gas/sexymime = 1, /obj/item/clothing/under/sexymime = 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/suit/apron/overalls = 1, /obj/item/clothing/head/rabbitears =1, /obj/item/clothing/head/sombrero = 1, /obj/item/clothing/head/sombrero/green = 1, /obj/item/clothing/suit/poncho = 1,
/obj/item/clothing/suit/poncho/green = 1, /obj/item/clothing/suit/poncho/red = 1,
/obj/item/clothing/under/maid = 1, /obj/item/clothing/under/janimaid = 1, /obj/item/clothing/glasses/cold=1, /obj/item/clothing/glasses/heat=1,
/obj/item/clothing/suit/whitedress = 1,
@@ -998,8 +998,8 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
/obj/item/clothing/head/cueball = 1,
/obj/item/clothing/under/scratch = 1,
/obj/item/clothing/under/sailor = 1,
- /obj/item/clothing/ears/headphones = 2,
- /obj/item/clothing/head/wig/random = 3)
+ /obj/item/clothing/ears/headphones = 2,
+ /obj/item/clothing/head/wig/random = 3)
contraband = list(/obj/item/clothing/suit/judgerobe = 1, /obj/item/clothing/head/powdered_wig = 1, /obj/item/gun/magic/wand = 2, /obj/item/clothing/glasses/sunglasses/garb = 2, /obj/item/clothing/glasses/sunglasses/blindfold = 1, /obj/item/clothing/mask/muzzle = 2)
premium = list(/obj/item/clothing/suit/pirate/captain = 2, /obj/item/clothing/head/pirate/captain = 2, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1, /obj/item/shield/riot/roman = 1, /obj/item/skub = 1)
refill_canister = /obj/item/vending_refill/autodrobe
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index 8422b5b76f..3bdbdc05fa 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -78,6 +78,63 @@
message = pick("Oink!","Squeeeeeeee!","Oink Oink!")
return message
+///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"
+ item_state = "frog"
+ flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
+ w_class = WEIGHT_CLASS_SMALL
+ var/voicechange = TRUE
+ var/last_sound = 0
+ var/delay = 15
+
+/obj/item/clothing/mask/frog/proc/play_ree()
+ if(world.time - delay > last_sound)
+ playsound (src, 'sound/effects/reee.ogg', 30, 1)
+ last_sound = world.time
+
+/obj/item/clothing/mask/frog/proc/play_huu()
+ if(world.time - delay > last_sound)
+ playsound (src, 'sound/effects/huuu.ogg', 30, 1)
+ last_sound = world.time
+
+/obj/item/clothing/mask/frog/attack_self(mob/user)
+ voicechange = !voicechange
+ to_chat(user, "You turn the voice box [voicechange ? "on" : "off"]!")
+ if(voicechange)
+ play_ree()
+
+/obj/item/clothing/mask/frog/equipped(mob/user, slot) //when you put it on
+ var/mob/living/carbon/C = user
+ if((C.wear_mask == src) && (voicechange))
+ play_ree()
+ return ..()
+
+/obj/item/clothing/mask/frog/speechModification(message) //whenever you speak
+ if(voicechange)
+ if(prob(5)) //sometimes, the angry spirit finds others words to speak.
+ 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!!")
+ play_huu()
+ else
+ message = pick("Ree!!", "Reee!!","REEE!!","REEEEE!!") //but its usually just angry gibberish,
+ play_ree()
+ return message
+
+obj/item/clothing/mask/frog/cursed
+ flags_1 = NODROP_1 //reee!!
+
+/obj/item/clothing/mask/frog/cursed/attack_self(mob/user)
+ return //no voicebox to alter.
+
+/obj/item/clothing/mask/frog/cursed/equipped(mob/user, slot)
+ var/mob/living/carbon/C = user
+ if(C.wear_mask == src)
+ to_chat(user, "[src] was cursed! Ree!!")
+ return ..()
+
+
/obj/item/clothing/mask/cowmask
name = "Cowface"
desc = "It looks like a mask, but closer inspection reveals it's melded onto this persons face!"