Merge pull request #2934 from Verkister/yummytrash

Trashcan perk refactor and slight expansion.
This commit is contained in:
Aronai Sieyes
2018-02-04 16:56:47 -05:00
committed by GitHub
5 changed files with 111 additions and 4 deletions
+36
View File
@@ -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
+3 -3
View File
@@ -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)
+63
View File
@@ -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