diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm
index 0df3c2b1c79..a53a977c584 100644
--- a/code/game/objects/items/storage/boxes.dm
+++ b/code/game/objects/items/storage/boxes.dm
@@ -1323,6 +1323,15 @@
for(var/i in 1 to 4)
new/obj/item/reagent_containers/food/snacks/chewable/bubblegum/happiness(src)
+/obj/item/storage/box/gum/bubblegum
+ name = "bubblegum gum packet"
+ desc = "The packaging is entirely in Demonic, apparently. You feel like even opening this would be a sin."
+ icon_state = "bubblegum_bubblegum"
+
+/obj/item/storage/box/gum/bubblegum/PopulateContents()
+ for(var/i in 1 to 4)
+ new/obj/item/reagent_containers/food/snacks/chewable/bubblegum/bubblegum(src)
+
/obj/item/storage/box/shipping
name = "box of shipping supplies"
desc = "Contains several scanners and labelers for shipping things. Wrapping Paper not included."
diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm
index 2f7a7d61317..56c72919066 100644
--- a/code/modules/food_and_drinks/food/snacks_other.dm
+++ b/code/modules/food_and_drinks/food/snacks_other.dm
@@ -531,6 +531,34 @@
tastes = list("paint thinner" = 1)
color = "#EE35FF"
+/obj/item/reagent_containers/food/snacks/chewable/bubblegum/bubblegum
+ name = "bubblegum gum"
+ desc = "A rubbery strip of gum. You don't feel like eating it is a good idea."
+ color = "#913D3D"
+ list_reagents = list(/datum/reagent/blood = 15)
+ tastes = list("hell" = 1)
+
+/obj/item/reagent_containers/food/snacks/chewable/bubblegum/bubblegum/process()
+ . = ..()
+ if(iscarbon(loc))
+ hallucinate(loc)
+
+
+/obj/item/reagent_containers/food/snacks/chewable/bubblegum/bubblegum/On_Consume(mob/living/eater)
+ . = ..()
+ if(iscarbon(eater))
+ hallucinate(eater)
+
+///This proc has a 5% chance to have a bubblegum line appear, with an 85% chance for just text and 15% for a bubblegum hallucination and scarier text.
+/obj/item/reagent_containers/food/snacks/chewable/bubblegum/bubblegum/proc/hallucinate(mob/living/carbon/victim)
+ if(!prob(5)) //cursed by bubblegum
+ return
+ if(prob(15))
+ new /datum/hallucination/oh_yeah(victim)
+ to_chat(victim, "[pick("I AM IMMORTAL.","I SHALL TAKE YOUR WORLD.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","NOTHING CAN HOLD ME.")]")
+ else
+ to_chat(victim, "[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]")
+
/obj/item/reagent_containers/food/snacks/gumball
name = "gumball"
desc = "A colorful, sugary gumball."
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index 4416a5fd34b..8743d26b980 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -17,6 +17,7 @@
new /datum/data/mining_equipment("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 300),
new /datum/data/mining_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 100),
new /datum/data/mining_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, 100),
+ new /datum/data/mining_equipment("Bubblegum Gum Packet", /obj/item/storage/box/gum/bubblegum, 100),
new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
new /datum/data/mining_equipment("Soap", /obj/item/soap/nanotrasen, 200),
new /datum/data/mining_equipment("Laser Pointer", /obj/item/laser_pointer, 300),
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index a2a2b87a42b..470864664c0 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ