Adds a special suicide action to air tanks (#18575)

* Add /tg/ tank suicide_act

* Review
This commit is contained in:
Luc
2022-08-03 16:06:20 -07:00
committed by GitHub
parent 964eeea4e9
commit 2daa76e6fc
2 changed files with 20 additions and 0 deletions
@@ -115,6 +115,20 @@
qdel(src)
/obj/item/tank/suicide_act(mob/user)
var/mob/living/carbon/human/H = user
user.visible_message("<span class='suicide'>[user] is putting [src]'s valve to [user.p_their()] lips! It looks like [user.p_theyre()] trying to commit suicide!</span>")
playsound(loc, 'sound/effects/spray.ogg', 10, TRUE, -3)
if(!QDELETED(H) && air_contents && air_contents.return_pressure() >= 1000)
var/obj/item/organ/external/head/head = H.get_organ("head")
head.disfigure()
H.inflate_gib()
return OBLITERATION
to_chat(user, "<span class='warning'>There isn't enough pressure in [src] to commit suicide with...</span>")
return SHAME
/obj/item/tank/deconstruct(disassembled = TRUE)
if(!disassembled)
var/turf/T = get_turf(src)
+6
View File
@@ -101,3 +101,9 @@
Weaken(30 SECONDS)
do_jitter_animation(1000, -1) // jitter until they are gibbed
addtimer(CALLBACK(src, .proc/gib), rand(2 SECONDS, 10 SECONDS))
/mob/living/carbon/proc/inflate_gib() // Plays an animation that makes mobs appear to inflate before finally gibbing
addtimer(CALLBACK(src, .proc/gib, null, null, TRUE, TRUE), 25)
var/matrix/M = matrix()
M.Scale(1.8, 1.2)
animate(src, time = 40, transform = M, easing = SINE_EASING)