From 4e96730cae0ee1bf2e552a9704594b36e3c05e3b Mon Sep 17 00:00:00 2001
From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Date: Thu, 10 Aug 2023 18:10:25 -0400
Subject: [PATCH] [s] fixes a bug (#21939)
* REAL PAIN. REAL SUFFERING. REAL GOD WHY AAAAA.
* more space per space
---
code/datums/status_effects/neutral.dm | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm
index 0930a6f66a7..9d16b48ff79 100644
--- a/code/datums/status_effects/neutral.dm
+++ b/code/datums/status_effects/neutral.dm
@@ -62,9 +62,11 @@
var/sound_effect = 'sound/weapons/slap.ogg'
/// So we don't leave folks with god-mode
-/datum/status_effect/high_five/proc/wiz_cleanup(mob/user, mob/highfived)
+/datum/status_effect/high_five/proc/wiz_cleanup(mob/living/carbon/user, mob/living/carbon/highfived)
user.status_flags &= ~GODMODE
highfived.status_flags &= ~GODMODE
+ user.remove_status_effect(type)
+ highfived.remove_status_effect(type)
/datum/status_effect/high_five/on_apply()
if(!iscarbon(owner))
@@ -73,6 +75,7 @@
var/mob/living/carbon/user = owner
var/is_wiz = iswizard(user)
+ var/both_wiz = FALSE
for(var/mob/living/carbon/C in orange(1, user))
if(!C.has_status_effect(type) || C == user)
continue
@@ -82,18 +85,18 @@
C.status_flags |= GODMODE
explosion(get_turf(user), 5, 2, 1, 3, cause = id)
// explosions have a spawn so this makes sure that we don't get gibbed
- addtimer(CALLBACK(src, PROC_REF(wiz_cleanup), user, C), 1)
+ addtimer(CALLBACK(src, PROC_REF(wiz_cleanup), user, C), 0.3 SECONDS) //I want to be sure this lasts long enough, with lag.
add_attack_logs(user, C, "caused a wizard [id] explosion")
- user.remove_status_effect(type)
- C.remove_status_effect(type)
-
+ both_wiz = TRUE
user.do_attack_animation(C, no_effect = TRUE)
C.do_attack_animation(user, no_effect = TRUE)
- user.visible_message("[user.name] and [C.name] [success]")
playsound(user, sound_effect, 80)
- user.remove_status_effect(type)
- C.remove_status_effect(type)
- return FALSE
+ if(!both_wiz)
+ user.visible_message("[user.name] and [C.name] [success]")
+ user.remove_status_effect(type)
+ C.remove_status_effect(type)
+ return FALSE
+ return TRUE // DO NOT AUTOREMOVE
owner.custom_emote(EMOTE_VISIBLE, request)
owner.create_point_bubble_from_path(item_path, FALSE)