From 288e73d8a2854d62b605030a24f5ed05c2b976b4 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Wed, 6 May 2020 16:24:41 +0200 Subject: [PATCH] More consistent handling of 75% damage reduction below 25% health. --- zscript/swwm_player.zsc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index 8bdb0ebc1..220caad78 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -630,8 +630,14 @@ Class Demolitionist : PlayerPawn override int DamageMobj( Actor inflictor, Actor source, int damage, Name mod, int flags, double angle ) { // lucky collar - if ( Health < 25 ) damage /= 4; if ( source == self ) damage /= 2; + if ( Health-damage < 25 ) + { + int splitdmg[2]; + splitdmg[0] = max(0,Health-25); // non-reduced part (>=25% health) + splitdmg[1] = (damage-splitdmg[0])/4; // reduced part (<25% health) + damage = splitdmg[0]+splitdmg[1]; + } if ( !inflictor && !source && (CurSector.flags&Sector.SECF_ENDLEVEL) ) { // end level hax