mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-28 06:28:01 +01:00
Merge pull request #2934 from Verkister/yummytrash
Trashcan perk refactor and slight expansion.
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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, "<span class='notice'>You can taste the flavor of garbage. Wait what?</span>")
|
||||
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("<span class='warning'>[user] feeds [R] with [src]!</span>")
|
||||
return
|
||||
..()
|
||||
..()
|
||||
@@ -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."
|
||||
|
||||
@@ -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, "<span class='notice'>There is no room to unfold in here. You're good and stuck.</span>") //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)
|
||||
|
||||
@@ -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, "<span class='notice'>You are not holding anything.</span>")
|
||||
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, "<span class='notice'>You can taste the flavor of spicy cardboard.</span>")
|
||||
else if(istype(I,/obj/item/device/flashlight/glowstick))
|
||||
to_chat(src, "<span class='notice'>You found out the glowy juice only tastes like regret.</span>")
|
||||
else if(istype(I,/obj/item/weapon/cigbutt))
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of bitter ash. Classy.</span>")
|
||||
else if(istype(I,/obj/item/clothing/mask/smokable))
|
||||
var/obj/item/clothing/mask/smokable/C = I
|
||||
if(C.lit)
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of burning ash. Spicy!</span>")
|
||||
else
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of aromatic rolling paper and funny looks.</span>")
|
||||
else if(istype(I,/obj/item/weapon/paper))
|
||||
to_chat(src, "<span class='notice'>You can taste the dry flavor of bureaucracy.</span>")
|
||||
else if(istype(I,/obj/item/weapon/dice))
|
||||
to_chat(src, "<span class='notice'>You can taste the bitter flavor of cheating.</span>")
|
||||
else if(istype(I,/obj/item/weapon/lipstick))
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of couture and style. Toddler at the make-up bag style.</span>")
|
||||
else if(istype(I,/obj/item/weapon/soap))
|
||||
to_chat(src, "<span class='notice'>You can taste the bitter flavor of verbal purification.</span>")
|
||||
else if(istype(I,/obj/item/weapon/spacecash) || istype(I,/obj/item/weapon/storage/wallet))
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of wealth and reckless waste.</span>")
|
||||
else if(istype(I,/obj/item/weapon/broken_bottle) || istype(I,/obj/item/weapon/material/shard))
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of pain. This can't possibly be healthy for your guts.</span>")
|
||||
else if(istype(I,/obj/item/weapon/light))
|
||||
var/obj/item/weapon/light/L = I
|
||||
if(L.status == LIGHT_BROKEN)
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of pain. This can't possibly be healthy for your guts.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of really bad ideas.</span>")
|
||||
else if(istype(I,/obj/item/toy/figure))
|
||||
visible_message("<span class='warning'>[src] demonstrates their voracious capabilities by swallowing [I] whole!</span>")
|
||||
else if(istype(I,/obj/item/device/paicard) || istype(I,/obj/item/device/mmi/digital/posibrain) || istype(I,/obj/item/device/aicard))
|
||||
visible_message("<span class='warning'>[src] demonstrates their voracious capabilities by swallowing [I] whole!</span>")
|
||||
to_chat(src, "<span class='notice'>You can taste the sweet flavor of digital friendship. Or maybe it is something else.</span>")
|
||||
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, "<span class='notice'>You can taste the flavor of garbage and leftovers. Delicious?</span>")
|
||||
else
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of gluttonous waste of food.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of garbage. Delicious.</span>")
|
||||
return
|
||||
to_chat(src, "<span class='notice'>This item is not appropriate for ethical consumption.</span>")
|
||||
return
|
||||
Reference in New Issue
Block a user