From 7bb5e41029e01fd0141d6f6b7cdfc0eb50f06404 Mon Sep 17 00:00:00 2001 From: Verkister Date: Thu, 5 Oct 2023 01:31:32 +0300 Subject: [PATCH] Small toilet fix and funny feature. (#7070) --- .../code/game/objects/structures/watercloset_ch.dm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modular_chomp/code/game/objects/structures/watercloset_ch.dm b/modular_chomp/code/game/objects/structures/watercloset_ch.dm index 72e9aba71c..2d13b1c692 100644 --- a/modular_chomp/code/game/objects/structures/watercloset_ch.dm +++ b/modular_chomp/code/game/objects/structures/watercloset_ch.dm @@ -10,6 +10,7 @@ var/no_destination = TRUE var/max_w_class = 3 //glogged var/total_w = 0 + var/panic_mult = 1 /obj/structure/toilet/Initialize() if(z in global.using_map.map_levels) @@ -25,7 +26,9 @@ return ..() /obj/structure/toilet/attack_hand(mob/living/user as mob) - if(open && !refilling && no_destination || (teleplumbed && exit_landmark)) + if(open && !refilling && (no_destination || (teleplumbed && exit_landmark))) + if(user.a_intent == I_HURT) + panic_mult += 1 var/list/bowl_contents = list() for(var/obj/item/I in loc.contents) if(istype(I) && !I.anchored) @@ -34,7 +37,6 @@ if((L.resting || L.lying) && !L.buckled) bowl_contents += L if(bowl_contents.len) - refilling = TRUE user.visible_message("[user] flushes the [lowertext(name)].", "You flush the [lowertext(name)].") playsound(src, 'sound/vore/death7.ogg', 50, 1) //Got lazy about getting new sound files. Have a sick remix lmao. playsound(src, 'sound/effects/bubbles.ogg', 50, 1) @@ -54,12 +56,14 @@ if(isliving(F)) var/mob/living/L = F total_w += L.size_multiplier * 13 - if(total_w <= max_w_class) + if(total_w <= max_w_class * panic_mult) taken_contents |= F F.forceMove(src) else visible_message("The [lowertext(name)] glurks and splutters, unable to guzzle more stuff down in a single flush!") break + refilling = TRUE + panic_mult = 1 spawn(refill_cooldown) for(var/atom/movable/F in taken_contents) if(F.loc == src) @@ -69,6 +73,8 @@ total_w = 0 refilling = FALSE return + else + panic_mult = 1 if(refilling) playsound(src, 'sound/machines/door_locked.ogg', 30, 1) to_chat(user, "The [lowertext(name)] is still refilling its tank.")