From d099ff386397937f9ed4a848f46db69bb2bad852 Mon Sep 17 00:00:00 2001 From: Alphas00 <154434082+Alphas00@users.noreply.github.com> Date: Fri, 7 Jun 2024 00:48:34 +0200 Subject: [PATCH] Sink drinking You can now attach people to sinks to have them start gulping down water --- GainStation13/code/mechanics/water_sponge.dm | 33 ++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/GainStation13/code/mechanics/water_sponge.dm b/GainStation13/code/mechanics/water_sponge.dm index 1373a403..0b966ad2 100644 --- a/GainStation13/code/mechanics/water_sponge.dm +++ b/GainStation13/code/mechanics/water_sponge.dm @@ -49,3 +49,36 @@ reagents.add_reagent(/datum/reagent/water, H2O_pp/10) breath_gases[/datum/gas/water_vapor] -= H2O_pp +/obj/structure/sink + var/mob/living/attached + +/obj/structure/sink/MouseDrop(mob/living/target) + . = ..() + if(!ishuman(usr) || !usr.canUseTopic(src, BE_CLOSE) || !isliving(target)) + return + if(attached) + visible_message("[attached] is detached from [src].") + attached = null + return + if(Adjacent(target) && usr.Adjacent(target)) + usr.visible_message("[usr] attaches [target] to [src].", "You attach [target] to [src].") + add_fingerprint(usr) + attached = target + START_PROCESSING(SSobj, src) + +/obj/structure/sink/process() + if(!(get_dist(src, attached) <= 1 && isturf(attached.loc))) + to_chat(attached, "[attached] is ripped from the sink!") // GS13 + attached = null + return PROCESS_KILL + if(attached) + playsound(attached, 'sound/vore/pred/swallow_02.ogg', rand(10,50), 1) + attached.reagents.add_reagent(/datum/reagent/water, 5) + else + return PROCESS_KILL + +/obj/structure/sink/attack_hand(mob/living/user) + if(attached) + visible_message("[attached] is detached from [src]") + attached = null + return