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