From 8270f92d7ea11abdb5b33e8704b2c5edc8517855 Mon Sep 17 00:00:00 2001
From: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Date: Sat, 23 Mar 2024 02:39:59 +1000
Subject: [PATCH] Adds a suicide act to the wormhome projector. (#24532)
* Update special_eguns.dm
* Update code/modules/projectiles/guns/energy/special_eguns.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* more feedback. plus a explanation on what SHAME does
* oops
* Update code/modules/projectiles/guns/energy/special_eguns.dm
---------
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
---
code/__DEFINES/combat_defines.dm | 1 +
code/modules/projectiles/guns/energy/special_eguns.dm | 9 +++++++++
2 files changed, 10 insertions(+)
diff --git a/code/__DEFINES/combat_defines.dm b/code/__DEFINES/combat_defines.dm
index 514698f62d8..ee2ec5345af 100644
--- a/code/__DEFINES/combat_defines.dm
+++ b/code/__DEFINES/combat_defines.dm
@@ -40,6 +40,7 @@
#define FIRELOSS (1<<1)
#define TOXLOSS (1<<2)
#define OXYLOSS (1<<3)
+/// Stam crits the effected mob, as well as ensures they dont die from suicide
#define SHAME (1<<4)
#define OBLITERATION (1<<5)
diff --git a/code/modules/projectiles/guns/energy/special_eguns.dm b/code/modules/projectiles/guns/energy/special_eguns.dm
index 50167d3573b..98e3b6be1cc 100644
--- a/code/modules/projectiles/guns/energy/special_eguns.dm
+++ b/code/modules/projectiles/guns/energy/special_eguns.dm
@@ -256,6 +256,15 @@
blue.target = get_turf(orange)
orange.target = get_turf(blue)
+/obj/item/gun/energy/wormhole_projector/suicide_act(mob/user)
+ user.visible_message(pick("[user] looking directly into the operational end of [src]! It looks like [user.p_theyre()] trying to commit suicide!",
+ "[user] is touching the operatonal end of [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
+ if(!do_after(user, 0.5 SECONDS, target = user)) // touch/looking doesn't take that long, but still probably good for a delay to exist for shoving and whatnot
+ return SHAME
+ user.dust()
+ playsound(loc, 'sound/effects/supermatter.ogg', 20, TRUE)
+ return OBLITERATION
+
/* 3d printer 'pseudo guns' for borgs */
/obj/item/gun/energy/printer
name = "cyborg lmg"