mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-22 04:24:20 +01:00
Adds a quick-expansion gibbing proc, applies it to lazarus and instagib rifle (#22188)
* Adds quick explosion for laz gibbing * Applies to instagib and mint * Apply suggestions from code review -- timers Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> --------- Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
@@ -94,14 +94,20 @@
|
||||
// u no we dead
|
||||
return TRUE
|
||||
|
||||
/mob/living/proc/delayed_gib()
|
||||
/mob/living/proc/delayed_gib(inflate_at_end = FALSE)
|
||||
visible_message("<span class='danger'><b>[src]</b> starts convulsing violently!</span>", "You feel as if your body is tearing itself apart!")
|
||||
Weaken(30 SECONDS)
|
||||
do_jitter_animation(1000, -1) // jitter until they are gibbed
|
||||
addtimer(CALLBACK(src, PROC_REF(gib)), rand(2 SECONDS, 10 SECONDS))
|
||||
addtimer(CALLBACK(src, inflate_at_end ? PROC_REF(quick_explode_gib) : PROC_REF(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_REF(gib), null, null, TRUE, TRUE), 25)
|
||||
var/matrix/M = matrix()
|
||||
/mob/living/proc/inflate_gib() // Plays an animation that makes mobs appear to inflate before finally gibbing
|
||||
addtimer(CALLBACK(src, PROC_REF(gib), null, null, TRUE, TRUE), 2.5 SECONDS)
|
||||
var/matrix/M = transform
|
||||
M.Scale(1.8, 1.2)
|
||||
animate(src, time = 40, transform = M, easing = SINE_EASING)
|
||||
|
||||
/mob/living/proc/quick_explode_gib()
|
||||
addtimer(CALLBACK(src, PROC_REF(gib), null, null, TRUE, TRUE), 0.1 SECONDS)
|
||||
var/matrix/M = transform
|
||||
M.Scale(1.8, 1.2)
|
||||
animate(src, time = 1, transform = M, easing = SINE_EASING)
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
L.visible_message("<span class='danger'>[L] explodes!</span>")
|
||||
L.gib()
|
||||
L.quick_explode_gib()
|
||||
|
||||
/obj/item/projectile/beam/laser/detective
|
||||
name = "energy revolver shot"
|
||||
|
||||
@@ -784,7 +784,7 @@
|
||||
if(M.getBruteLoss() + M.getFireLoss() + M.getCloneLoss() >= 150)
|
||||
if(ischangeling(M))
|
||||
return
|
||||
M.delayed_gib()
|
||||
M.delayed_gib(TRUE)
|
||||
return
|
||||
if(!M.ghost_can_reenter())
|
||||
M.visible_message("<span class='warning'>[M] twitches slightly, but is otherwise unresponsive!</span>")
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
/datum/reagent/minttoxin/on_mob_life(mob/living/M)
|
||||
if(HAS_TRAIT(M, TRAIT_FAT))
|
||||
M.gib()
|
||||
M.inflate_gib()
|
||||
return ..()
|
||||
|
||||
/datum/reagent/slimejelly
|
||||
|
||||
Reference in New Issue
Block a user