cleaning things up
This commit is contained in:
@@ -14,4 +14,5 @@
|
||||
)
|
||||
result = /obj/structure/disposaloutlet/industrial_feeding_tube
|
||||
tools = list(TOOL_WELDER, TOOL_WRENCH, TOOL_SCREWDRIVER)
|
||||
category = CAT_MISC
|
||||
subcategory = CAT_MISCELLANEOUS
|
||||
category = CAT_MISCELLANEOUS
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Contains:
|
||||
* Industrial Feeding Tube
|
||||
* Industrial Feeding Tube
|
||||
*/
|
||||
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube
|
||||
@@ -13,7 +13,7 @@
|
||||
/// Is it welded down?
|
||||
var/welded = FALSE
|
||||
/// Who the tube is attached to
|
||||
var/mob/living/attached
|
||||
var/mob/living/attached
|
||||
/// Where the tube tries to dump it's stuff into
|
||||
var/output_dest
|
||||
/// It's Glogged !
|
||||
@@ -54,12 +54,12 @@
|
||||
new /obj/item/stack/sheet/plastic(loc, 5)
|
||||
new /obj/item/pipe/binary(loc, PIPE_STRAIGHT, NORTH)
|
||||
new /obj/item/pipe/binary(loc, PIPE_STRAIGHT, NORTH)
|
||||
|
||||
|
||||
if(contents) //Anything still glogged inside...
|
||||
for(var/atom/movable/AM in src)
|
||||
AM.forceMove(loc)
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/Destroy()
|
||||
if(attached)
|
||||
attached = null
|
||||
@@ -73,7 +73,7 @@
|
||||
AM.forceMove(loc)
|
||||
continue
|
||||
qdel(AM)
|
||||
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/MouseDrop(mob/living/target)
|
||||
@@ -89,8 +89,8 @@
|
||||
attached.visible_message("<span class='warning'>[attached] is detached from [src].</span>")
|
||||
attached = null
|
||||
update_icon()
|
||||
return
|
||||
|
||||
return
|
||||
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/feedee = target
|
||||
|
||||
@@ -113,12 +113,12 @@
|
||||
face_atom(feedee)
|
||||
return
|
||||
//Either we arn't attaching to vorebelly, or we arnt able to. Let's try to feed them normally!
|
||||
if(usr != feedee) //
|
||||
if(usr != feedee) //
|
||||
var/feedeePrefCheck = alert(feedee, "[usr] is attempting to shove \the [src]'s tube into your mouth! Do you want this?", "THE TUBE", "Yes!!", "No!")
|
||||
if(feedeePrefCheck != "Yes!!")
|
||||
to_chat(usr, "[feedee] doesnt want to be fed by \the [src]...")
|
||||
return
|
||||
|
||||
|
||||
output_dest = feedee //Attach normally
|
||||
attached = feedee
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
cut_overlays()
|
||||
|
||||
var/mutable_appearance/tube_overlay = mutable_appearance('GainStation13/icons/obj/feeding_tube_industrial.dmi', "tube_idle")
|
||||
|
||||
|
||||
if(pumping)
|
||||
tube_overlay.icon_state = "tube-pump"
|
||||
else
|
||||
@@ -155,7 +155,7 @@
|
||||
tube_overlay.icon_state = "tube-active"
|
||||
else
|
||||
tube_overlay.icon_state = "tube-idle"
|
||||
|
||||
|
||||
if(welded) //if we're not welded, dont show our light on.
|
||||
add_overlay("light-[clogged ? "r" : "g"]")
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
// called when the holder exits the outlet
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/expel(obj/structure/disposalholder/H)
|
||||
var/clunkVol = LAZYLEN(H.contents)
|
||||
if(H.hasmob) //Uh oh-
|
||||
if(H.hasmob) //Uh oh-
|
||||
clunkVol += 25
|
||||
playsound(src, H.hasmob ? "clang" : "clangsmall", clamp(clunkVol, 5, H.hasmob ? 50 : 25))
|
||||
H.active = FALSE
|
||||
@@ -180,7 +180,7 @@
|
||||
if(!pumping) //Lets start a new pump cycle if we arnt pumping. Otherwise, it'll just be added to the queue.
|
||||
pump()
|
||||
qdel(H)
|
||||
|
||||
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/proc/pump(repeat = TRUE, unlimited = FALSE)
|
||||
if(clogged)
|
||||
return
|
||||
@@ -204,7 +204,7 @@
|
||||
if(LAZYLEN(pump_stuff) && repeat)
|
||||
pump()
|
||||
return
|
||||
|
||||
|
||||
var/fed_something = FALSE
|
||||
// Feed Normally
|
||||
if(isliving(output_dest))
|
||||
@@ -251,11 +251,13 @@
|
||||
if(is_type_in_list(I, item_vore_blacklist))
|
||||
inedible += I
|
||||
continue
|
||||
/*
|
||||
if(isliving(AM))
|
||||
var/mob/living/cutie = AM
|
||||
if(cutie.devourable != TRUE) //Do not eat this QT...
|
||||
inedible += cutie
|
||||
continue
|
||||
*/
|
||||
|
||||
fed_something = TRUE
|
||||
AM.forceMove(output_dest)
|
||||
@@ -272,7 +274,7 @@
|
||||
else
|
||||
pumping = FALSE
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/expel_holder(obj/structure/disposalholder/H, playsound=FALSE)
|
||||
if(playsound)
|
||||
playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0)
|
||||
@@ -292,7 +294,7 @@
|
||||
attached = null
|
||||
output_dest = null
|
||||
update_icon()
|
||||
return
|
||||
return
|
||||
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/attackby(obj/item/I, mob/living/user, params)
|
||||
if(user.a_intent != INTENT_HELP)
|
||||
@@ -330,7 +332,7 @@
|
||||
if(!found_trunk)
|
||||
to_chat(user, "<span class='warning'>\The [src] requires a trunk underneath it in order to work!</span>")
|
||||
return
|
||||
|
||||
|
||||
to_chat(user, "<span class='notice'>You attach \the [src] to the trunk.</span>")
|
||||
anchored = TRUE
|
||||
|
||||
@@ -342,7 +344,7 @@
|
||||
if(!clogged)
|
||||
to_chat(user, "<span class='notice'>\The [src] doesnt seem to be clogged at the moment...")
|
||||
return TRUE
|
||||
|
||||
|
||||
user.visible_message("<span class='italics'>[user] starts to pry open the maintenance hatch of \the [src], attempting to unclog it...</span>")
|
||||
if(do_after(user, 30, TRUE, src))
|
||||
user.visible_message("<span class='notice'>[user] unclogs \the [src]!</span>")
|
||||
@@ -355,7 +357,7 @@
|
||||
return
|
||||
if(anchored)
|
||||
//var/turf/T = get_turf(src)
|
||||
if(!welded)
|
||||
if(!welded)
|
||||
if(!trunk) // If we're attaching it, we need to check for the pipe we're attaching to
|
||||
to_chat(user, "<span class='danger'>\The [src] needs to be welded to a trunk.</span>")
|
||||
return TRUE
|
||||
@@ -381,8 +383,8 @@
|
||||
welded = TRUE
|
||||
trunk.linked = src
|
||||
return TRUE
|
||||
|
||||
|
||||
|
||||
|
||||
else
|
||||
playsound(src, 'sound/items/welder2.ogg', 100, 1)
|
||||
to_chat(user, "<span class='notice'>You begin deconstructing \the [src]</span>")
|
||||
@@ -393,7 +395,7 @@
|
||||
|
||||
// Someone got stuck inside after it got clogged!
|
||||
// Lets let them force their way out
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/container_resist(mob/living/user)
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/container_resist(mob/living/user)
|
||||
if(user.stat || !clogged) //If it's not clogged, they'll be ejected soon... One way or another.
|
||||
return
|
||||
playsound(src, 'sound/effects/clang.ogg', 50)
|
||||
@@ -407,14 +409,14 @@
|
||||
if(!(AM in pump_stuff))
|
||||
pump_stuff += AM
|
||||
AM.forceMove(src)
|
||||
|
||||
|
||||
|
||||
|
||||
update_icon()
|
||||
if(loud)
|
||||
playsound(src, 'sound/machines/warning-buzzer.ogg', 50, 1)
|
||||
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/proc/unclog()
|
||||
|
||||
|
||||
spew(pump_stuff)
|
||||
|
||||
clogged = FALSE
|
||||
@@ -422,7 +424,7 @@
|
||||
|
||||
/obj/structure/disposaloutlet/industrial_feeding_tube/proc/spew(var/list/spew_stuff, playsound = FALSE)
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
|
||||
if(playsound)
|
||||
playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0)
|
||||
for(var/atom/movable/AM in spew_stuff)
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
/mob/living
|
||||
var/adminbus_trash = FALSE // For abusing trash eater for event shenanigans.
|
||||
|
||||
/obj/item
|
||||
var/trash_eatable = TRUE
|
||||
|
||||
/mob/living/proc/eat_trash()
|
||||
set name = "Eat Trash"
|
||||
set category = "Vore" //No Abilities?
|
||||
set desc = "Consume held garbage."
|
||||
|
||||
if(!vore_selected)
|
||||
to_chat(src,"<span class='warning'>You either don't have a belly selected, or don't have a belly!</span>")
|
||||
return
|
||||
|
||||
var/obj/item/I = get_active_held_item()
|
||||
if(!I)
|
||||
to_chat(src, "<span class='notice'>You are not holding anything.</span>")
|
||||
return
|
||||
|
||||
if(is_type_in_list(I,item_vore_blacklist) && !adminbus_trash) //If someone has adminbus, they can eat whatever they want.
|
||||
to_chat(src, "<span class='warning'>You are not allowed to eat this.</span>")
|
||||
return
|
||||
|
||||
if(!I.trash_eatable) //OOC pref. This /IS/ respected, even if adminbus_trash is enabled
|
||||
to_chat(src, "<span class='warning'>You can't eat that so casually!</span>")
|
||||
return
|
||||
|
||||
/*
|
||||
if(istype(I, /obj/item/paicard))
|
||||
var/obj/item/paicard/palcard = I
|
||||
var/mob/living/silicon/pai/pocketpal = palcard.pai
|
||||
if(pocketpal && (!pocketpal.devourable))
|
||||
to_chat(src, "<span class='warning'>\The [pocketpal] doesn't allow you to eat it.</span>")
|
||||
return
|
||||
*/
|
||||
|
||||
if(is_type_in_list(I,edible_trash) | adminbus_trash /*|| is_type_in_list(I,edible_tech) && isSynthetic()*/)
|
||||
/*
|
||||
if(I.hidden_uplink)
|
||||
to_chat(src, "<span class='warning'>You really should not be eating this.</span>")
|
||||
message_admins("[key_name(src)] has attempted to ingest an uplink item. ([src ? ADMIN_JMP(src) : "null"])")
|
||||
return
|
||||
*/
|
||||
if(istype(I,/obj/item/pda))
|
||||
var/obj/item/pda/P = I
|
||||
if(P.owner)
|
||||
var/watching = FALSE
|
||||
for(var/mob/living/carbon/human/H in view(src))
|
||||
if(H.real_name == P.owner && H.client)
|
||||
watching = TRUE
|
||||
break
|
||||
if(!watching)
|
||||
return
|
||||
else
|
||||
visible_message("<span class='warning'>[src] is threatening to make [P] disappear!</span>")
|
||||
if(P.id)
|
||||
var/confirm = alert(src, "The PDA you're holding contains a vulnerable ID card. Will you risk it?", "Confirmation", "Definitely", "Cancel") //No tgui input?
|
||||
if(confirm != "Definitely")
|
||||
return
|
||||
if(!do_after(src, 100, P))
|
||||
return
|
||||
visible_message("<span class='warning'>[src] successfully makes [P] disappear!</span>")
|
||||
to_chat(src, "<span class='notice'>You can taste the sweet flavor of delicious technology.</span>")
|
||||
dropItemToGround(I)
|
||||
I.forceMove(vore_selected)
|
||||
updateVRPanel()
|
||||
return
|
||||
/*
|
||||
if(istype(I,/obj/item/clothing/shoes))
|
||||
var/obj/item/clothing/shoes/S = I
|
||||
if(S.holding)
|
||||
to_chat(src, "<span class='warning'>There's something inside!</span>")
|
||||
return
|
||||
*/
|
||||
/*
|
||||
if(iscapturecrystal(I))
|
||||
var/obj/item/capture_crystal/C = I
|
||||
if(!C.bound_mob.devourable)
|
||||
to_chat(src, "<span class='warning'>That doesn't seem like a good idea. (\The [C.bound_mob]'s prefs don't allow it.)</span>")
|
||||
return
|
||||
*/
|
||||
dropItemToGround(I)
|
||||
I.forceMove(vore_selected)
|
||||
updateVRPanel()
|
||||
|
||||
log_admin("VORE: [src] used Eat Trash to swallow [I].")
|
||||
|
||||
if(istype(I,/obj/item/flashlight/flare) || istype(I,/obj/item/match) || istype(I,/obj/item/storage/box/matches))
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of spicy cardboard.</span>")
|
||||
else if(istype(I,/obj/item/flashlight/glowstick)) //Repath from /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/cigbutt)) //Repath from /obj/item/trash/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/cigarette)) //Repath from /obj/item/clothing/mask/smokable
|
||||
var/obj/item/clothing/mask/cigarette/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/paper)) //Repath from /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/dice)) //Repath from /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/lipstick)) //Repath from /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/soap)) //Repath from /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/stack/spacecash) || istype(I,/obj/item/storage/wallet)) //Repath from /obj/item/weapon/spacecash and /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/broken_bottle) || istype(I,/obj/item/shard)) //Repath from /obj/item/weapon/broken_bottle
|
||||
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/light)) //Repath from /obj/item/weapon/light
|
||||
var/obj/item/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/weapon/bikehorn/tinytether)) //Doenst exist
|
||||
to_chat(src, "<span class='notice'>You feel a rush of power swallowing such a large, err, tiny structure.</span>")
|
||||
*/
|
||||
else if(istype(I,/obj/item/mmi/posibrain) || istype(I,/obj/item/aicard)) //Repath from /obj/item/device/mmi/digital/posibrain and //Repath from /obj/item/device/aicard
|
||||
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/paicard)) //Repath from /obj/item/device/paicard
|
||||
to_chat(src, "<span class='notice'>You can taste the sweet flavor of digital friendship.</span>")
|
||||
var/obj/item/paicard/ourcard = I
|
||||
if(ourcard.pai && ourcard.pai.client && isbelly(ourcard.loc))
|
||||
var/obj/belly/B = ourcard.loc
|
||||
to_chat(ourcard.pai, "<span class= 'notice'><B>[B.desc]</B></span>")
|
||||
else if(istype(I,/obj/item/reagent_containers/food)) //Repath from /obj/item/weapon/reagent_containers/food
|
||||
var/obj/item/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 if (istype(I,/obj/item/clothing/neck/petcollar))
|
||||
to_chat(src, "<span class='notice'>You can taste the submissiveness in the wearer of [I]!</span>")
|
||||
/*
|
||||
else if(iscapturecrystal(I))
|
||||
var/obj/item/capture_crystal/C = I
|
||||
if(C.bound_mob && (C.bound_mob in C.contents))
|
||||
if(isbelly(C.loc))
|
||||
//var/obj/belly/B = C.loc //CHOMPedit
|
||||
//to_chat(C.bound_mob, "<span class= 'notice'>Outside of your crystal, you can see; <B>[B.desc]</B></span>") //CHOMPedit: moved to modular_chomp capture_crystal.dm
|
||||
to_chat(src, "<span class='notice'>You can taste the the power of command.</span>")
|
||||
*/
|
||||
// CHOMPedit begin
|
||||
/*
|
||||
else if(istype(I,/obj/item/starcaster_news))
|
||||
to_chat(src, "<span class='notice'>You can taste the dry flavor of digital garbage, oh wait its just the news.</span>")
|
||||
*/
|
||||
else if(istype(I,/obj/item/newspaper))
|
||||
to_chat(src, "<span class='notice'>You can taste the dry flavor of garbage, oh wait its just the news.</span>")
|
||||
else if (istype(I,/obj/item/stock_parts/cell))
|
||||
visible_message("<span class='warning'>[src] sates their electric appetite with a [I]!</span>")
|
||||
to_chat(src, "<span class='notice'>You can taste the spicy flavor of electrolytes, yum.</span>")
|
||||
/*
|
||||
else if (istype(I,/obj/item/walkpod))
|
||||
visible_message("<span class='warning'>[src] sates their musical appetite with a [I]!</span>")
|
||||
to_chat(src, "<span class='notice'>You can taste the jazzy flavor of music.</span>")
|
||||
*/
|
||||
/*
|
||||
else if (istype(I,/obj/item/mail/junkmail))
|
||||
visible_message("<span class='warning'>[src] devours the [I]!</span>")
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of the galactic postal service.</span>")
|
||||
*/
|
||||
/*
|
||||
else if (istype(I,/obj/item/weapon/gun/energy/sizegun))
|
||||
visible_message("<span class='warning'>[src] devours the [I]!</span>")
|
||||
to_chat(src, "<span class='notice'>You didn't read the warning label, did you?</span>")
|
||||
*/
|
||||
/*
|
||||
else if (istype(I,/obj/item/device/slow_sizegun))
|
||||
visible_message("<span class='warning'>[src] devours the [I]!</span>")
|
||||
to_chat(src, "<span class='notice'>You taste the flavor of sunday driver bluespace.</span>")
|
||||
*/
|
||||
else if (istype(I,/obj/item/laser_pointer))
|
||||
visible_message("<span class='warning'>[src] devours the [I]!</span>")
|
||||
to_chat(src, "<span class='notice'>You taste the flavor of a laser.</span>")
|
||||
else if (istype(I,/obj/item/canvas))
|
||||
visible_message("<span class='warning'>[src] devours the [I]!</span>")
|
||||
to_chat(src, "<span class='notice'>You taste the flavor of priceless artwork.</span>")
|
||||
//CHOMPedit end
|
||||
|
||||
else
|
||||
to_chat(src, "<span class='notice'>You can taste the flavor of garbage. Delicious.</span>")
|
||||
visible_message("<span class='warning'>[src] demonstrates their voracious capabilities by swallowing [I] whole!</span>")
|
||||
return
|
||||
to_chat(src, "<span class='notice'>This snack is too powerful to go down that easily.</span>") //CHOMPEdit
|
||||
return
|
||||
@@ -3970,6 +3970,7 @@
|
||||
#include "GainStation13\code\mechanics\den abductors\purchaseble_goodies.dm"
|
||||
#include "GainStation13\code\mobs\cakegolem.dm"
|
||||
#include "GainStation13\code\mobs\chocoslime.dm"
|
||||
#include "GainStation13\code\mobs\eat_trash.dm"
|
||||
#include "GainStation13\code\mobs\emote.dm"
|
||||
#include "GainStation13\code\mobs\races\caloritegolem.dm"
|
||||
#include "GainStation13\code\modules\arousal\arousal.dm"
|
||||
|
||||
Reference in New Issue
Block a user