diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm
index 90c93aba8f..f54d8d6b18 100644
--- a/code/_helpers/global_lists_vr.dm
+++ b/code/_helpers/global_lists_vr.dm
@@ -123,6 +123,42 @@ var/global/list/tf_egg_types = list(
"Xenochimera" = /obj/structure/closet/secure_closet/egg/scree,
"Xenomorph" = /obj/structure/closet/secure_closet/egg/xenomorph)
+var/global/list/edible_trash = list(/obj/item/trash,
+ /obj/item/device/flashlight,
+ /obj/item/toy/figure,
+ /obj/item/weapon/cigbutt,
+ /obj/item/weapon/bananapeel,
+ /obj/item/stack/material/cardboard,
+ /obj/item/weapon/light,
+ /obj/item/weapon/paper,
+ /obj/item/weapon/broken_bottle,
+ /obj/item/weapon/reagent_containers/food,
+ /obj/item/inflatable/torn,
+ /obj/item/weapon/flame/match,
+ /obj/item/clothing/mask/smokable,
+ /obj/item/weapon/storage/wallet,
+ /obj/item/weapon/spacecash,
+ /obj/item/broken_device,
+ /obj/item/weapon/corncob,
+ /obj/item/weapon/paperplane,
+ /obj/item/weapon/pen,
+ /obj/item/weapon/photo,
+ /obj/item/weapon/storage/box/wings,
+ /obj/item/weapon/storage/box/matches,
+ /obj/item/weapon/storage/fancy/cigarettes,
+ /obj/item/weapon/storage/fancy/egg_box,
+ /obj/item/weapon/storage/fancy/candle_box,
+ /obj/item/weapon/storage/fancy/crayons,
+ /obj/item/weapon/dice,
+ /obj/item/weapon/newspaper,
+ /obj/item/weapon/reagent_containers/glass/rag,
+ /obj/item/weapon/lipstick,
+ /obj/item/weapon/soap,
+ /obj/item/weapon/material/shard,
+ /obj/item/device/paicard,
+ /obj/item/device/mmi/digital/posibrain,
+ /obj/item/device/aicard)
+
/hook/startup/proc/init_vore_datum_ref_lists()
var/paths
diff --git a/code/game/objects/items/trash_vr.dm b/code/game/objects/items/trash_vr.dm
index 58f8e23967..38c434b973 100644
--- a/code/game/objects/items/trash_vr.dm
+++ b/code/game/objects/items/trash_vr.dm
@@ -14,7 +14,7 @@
user.drop_item()
var/belly = H.vore_selected
var/datum/belly/selected = H.vore_organs[belly]
- src.forceMove(H)
+ forceMove(H)
selected.internal_contents |= src
to_chat(H, "You can taste the flavor of garbage. Wait what?")
return
@@ -26,8 +26,8 @@
user.drop_item()
var/belly = R.vore_selected
var/datum/belly/selected = R.vore_organs[belly]
- src.forceMove(R)
+ forceMove(R)
selected.internal_contents |= src // Too many hoops and obstacles to stick it into the sleeper module.
R.visible_message("[user] feeds [R] with [src]!")
return
- ..()
+ ..()
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm
index ee849fb721..7349bafa02 100644
--- a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm
+++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm
@@ -91,10 +91,14 @@
/datum/trait/trashcan
name = "Trash Can"
- desc = "Allows you to dispose of the snack wrappings on the go instead of having to look for a bin or littering like an animal."
+ desc = "Allows you to dispose of some garbage on the go instead of having to look for a bin or littering like an animal."
cost = 0
var_changes = list("trashcan" = 1)
+/datum/trait/trashcan/apply(var/datum/species/S,var/mob/living/carbon/human/H)
+ ..(S,H)
+ H.verbs |= /mob/living/proc/eat_trash
+
/datum/trait/glowing_eyes
name = "Glowing Eyes"
desc = "Your eyes show up above darkness. SPOOKY! And kinda edgey too."
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index c2bd6e0bf4..df86b24c00 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -270,6 +270,10 @@
return 0
else if(istype(card.loc,/mob))
var/mob/holder = card.loc
+ var/datum/belly/inside_belly = check_belly(card) //VOREStation edit.
+ if(inside_belly) //VOREStation edit.
+ to_chat(src, "There is no room to unfold in here. You're good and stuck.") //VOREStation edit.
+ return 0 //VOREStation edit.
if(ishuman(holder))
var/mob/living/carbon/human/H = holder
for(var/obj/item/organ/external/affecting in H.organs)
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index c999b7b88b..a6ec760ffa 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -587,3 +587,66 @@
var/new_color = input(src,"Select a new color","Body Glow",glow_color) as color
if(new_color)
glow_color = new_color
+
+/mob/living/proc/eat_trash()
+ set name = "Eat Trash"
+ set category = "Abilities"
+ set desc = "Consume held garbage."
+
+ var/obj/item/I = get_active_hand()
+ if(!I)
+ to_chat(src, "You are not holding anything.")
+ return
+ if(is_type_in_list(I,edible_trash))
+ playsound(src.loc,'sound/vore/gulp.ogg', 20, 1)
+ drop_item()
+ var/belly = vore_selected
+ var/datum/belly/selected = vore_organs[belly]
+ I.forceMove(src)
+ selected.internal_contents |= I
+ if(istype(I,/obj/item/device/flashlight/flare) || istype(I,/obj/item/weapon/flame/match) || istype(I,/obj/item/weapon/storage/box/matches))
+ to_chat(src, "You can taste the flavor of spicy cardboard.")
+ else if(istype(I,/obj/item/device/flashlight/glowstick))
+ to_chat(src, "You found out the glowy juice only tastes like regret.")
+ else if(istype(I,/obj/item/weapon/cigbutt))
+ to_chat(src, "You can taste the flavor of bitter ash. Classy.")
+ else if(istype(I,/obj/item/clothing/mask/smokable))
+ var/obj/item/clothing/mask/smokable/C = I
+ if(C.lit)
+ to_chat(src, "You can taste the flavor of burning ash. Spicy!")
+ else
+ to_chat(src, "You can taste the flavor of aromatic rolling paper and funny looks.")
+ else if(istype(I,/obj/item/weapon/paper))
+ to_chat(src, "You can taste the dry flavor of bureaucracy.")
+ else if(istype(I,/obj/item/weapon/dice))
+ to_chat(src, "You can taste the bitter flavor of cheating.")
+ else if(istype(I,/obj/item/weapon/lipstick))
+ to_chat(src, "You can taste the flavor of couture and style. Toddler at the make-up bag style.")
+ else if(istype(I,/obj/item/weapon/soap))
+ to_chat(src, "You can taste the bitter flavor of verbal purification.")
+ else if(istype(I,/obj/item/weapon/spacecash) || istype(I,/obj/item/weapon/storage/wallet))
+ to_chat(src, "You can taste the flavor of wealth and reckless waste.")
+ else if(istype(I,/obj/item/weapon/broken_bottle) || istype(I,/obj/item/weapon/material/shard))
+ to_chat(src, "You can taste the flavor of pain. This can't possibly be healthy for your guts.")
+ else if(istype(I,/obj/item/weapon/light))
+ var/obj/item/weapon/light/L = I
+ if(L.status == LIGHT_BROKEN)
+ to_chat(src, "You can taste the flavor of pain. This can't possibly be healthy for your guts.")
+ else
+ to_chat(src, "You can taste the flavor of really bad ideas.")
+ else if(istype(I,/obj/item/toy/figure))
+ visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!")
+ else if(istype(I,/obj/item/device/paicard) || istype(I,/obj/item/device/mmi/digital/posibrain) || istype(I,/obj/item/device/aicard))
+ visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!")
+ to_chat(src, "You can taste the sweet flavor of digital friendship. Or maybe it is something else.")
+ else if(istype(I,/obj/item/weapon/reagent_containers/food))
+ var/obj/item/weapon/reagent_containers/food/F = I
+ if(!F.reagents.total_volume)
+ to_chat(src, "You can taste the flavor of garbage and leftovers. Delicious?")
+ else
+ to_chat(src, "You can taste the flavor of gluttonous waste of food.")
+ else
+ to_chat(src, "You can taste the flavor of garbage. Delicious.")
+ return
+ to_chat(src, "This item is not appropriate for ethical consumption.")
+ return
\ No newline at end of file