From e70b3abb93d921cf8b91dc95aab9d7596493be84 Mon Sep 17 00:00:00 2001
From: Contrabang <91113370+Contrabang@users.noreply.github.com>
Date: Mon, 17 Jul 2023 05:51:28 -0400
Subject: [PATCH] The syndicate balloon now has a special suicide action
(#21547)
* syndiballoon
* now leaves stuff on the floor behind
* lewcc review
* lewc review
---
code/game/objects/items/toys.dm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 89a937df4df..542421d668f 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -123,6 +123,34 @@
user.visible_message("[user] plays with [src].", "You [playverb].")
lastused = world.time
+/obj/item/toy/syndicateballoon/suicide_act(mob/living/user)
+ . = ..()
+ if(!user)
+ return
+
+ user.visible_message("[user] ties [src] around [user.p_their()] neck and starts to float away! It looks like [user.p_theyre()] trying to commit suicide!")
+
+ playsound(get_turf(user), 'sound/magic/fleshtostone.ogg', 80, TRUE)
+
+ user.Immobilize(10 SECONDS)
+
+ // yes im stealing fulton code
+ var/obj/effect/extraction_holder/holder_obj = new(get_turf(user))
+ holder_obj.appearance = user.appearance
+
+ user.forceMove(holder_obj)
+ animate(holder_obj, pixel_z = 1000, time = 50)
+
+ for(var/obj/item/W in user)
+ user.unEquip(W)
+
+ user.notransform = TRUE
+ icon = null
+ invisibility = 101
+ QDEL_IN(user, 2 SECONDS)
+ QDEL_IN(src, 2 SECONDS)
+ return OBLITERATION
+
/*
* Fake telebeacon
*/