mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-09 22:25:46 +01:00
Merge pull request #11158 from Fox-McCloud/delayed-gibbing
Makes Delayed Gibbing a Proc
This commit is contained in:
@@ -96,3 +96,9 @@
|
||||
|
||||
// u no we dead
|
||||
return TRUE
|
||||
|
||||
/mob/living/proc/delayed_gib()
|
||||
visible_message("<span class='danger'><b>[src]</b> starts convulsing violently!</span>", "You feel as if your body is tearing itself apart!")
|
||||
Weaken(15)
|
||||
do_jitter_animation(1000, -1)
|
||||
addtimer(CALLBACK(src, .proc/gib), rand(20, 100))
|
||||
@@ -786,11 +786,11 @@
|
||||
..()
|
||||
floating = 0 // If we were without gravity, the bouncing animation got stopped, so we make sure we restart the bouncing after the next movement.
|
||||
|
||||
/mob/living/proc/do_jitter_animation(jitteriness)
|
||||
/mob/living/proc/do_jitter_animation(jitteriness, loop_amount = 6)
|
||||
var/amplitude = min(4, (jitteriness/100) + 1)
|
||||
var/pixel_x_diff = rand(-amplitude, amplitude)
|
||||
var/pixel_y_diff = rand(-amplitude/3, amplitude/3)
|
||||
animate(src, pixel_x = pixel_x + pixel_x_diff, pixel_y = pixel_y + pixel_y_diff , time = 2, loop = 6)
|
||||
animate(src, pixel_x = pixel_x + pixel_x_diff, pixel_y = pixel_y + pixel_y_diff , time = 2, loop = loop_amount)
|
||||
animate(pixel_x = initial(pixel_x) , pixel_y = initial(pixel_y) , time = 2)
|
||||
floating = 0 // If we were without gravity, the bouncing animation got stopped, so we make sure we restart the bouncing after the next movement.
|
||||
|
||||
|
||||
@@ -685,8 +685,7 @@
|
||||
if(method == INGEST)
|
||||
if(M.stat == DEAD)
|
||||
if(M.getBruteLoss()+M.getFireLoss()+M.getCloneLoss() >= 150)
|
||||
M.visible_message("<span class='warning'>[M]'s body starts convulsing!</span>")
|
||||
M.gib()
|
||||
M.delayed_gib()
|
||||
return
|
||||
var/mob/dead/observer/ghost = M.get_ghost()
|
||||
if(ghost)
|
||||
|
||||
@@ -506,19 +506,11 @@
|
||||
M.fakevomit()
|
||||
update_flags |= M.adjustToxLoss(2, FALSE)
|
||||
update_flags |= M.adjustBruteLoss(2, FALSE)
|
||||
if(volume > 40 && prob(4))
|
||||
M.delayed_gib()
|
||||
return
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/venom/overdose_process(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
if(volume >= 40)
|
||||
if(prob(4))
|
||||
M.visible_message("<span class='danger'><B>[M]</B> starts convulsing violently!</span>", "You feel as if your body is tearing itself apart!")
|
||||
update_flags |= M.Weaken(15, FALSE)
|
||||
M.AdjustJitter(1000)
|
||||
spawn(rand(20, 100))
|
||||
M.gib()
|
||||
return list(0, update_flags)
|
||||
|
||||
/datum/reagent/neurotoxin2
|
||||
name = "Neurotoxin"
|
||||
id = "neurotoxin2"
|
||||
|
||||
Reference in New Issue
Block a user