From 9ee13407610c06dacf35987e9c1cfcebaaf5c76b Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Tue, 17 Aug 2021 15:12:41 +0200 Subject: [PATCH] Fix incorrect gibhealth handling in hitscan. --- language.version | 4 ++-- zscript/weapons/swwm_shot.zsc | 4 ++-- zscript/weapons/swwm_thiccboolet.zsc | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/language.version b/language.version index fdd25ca8b..dfdb44121 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw1.0.4 \cu(Tue 17 Aug 09:15:42 CEST 2021)\c-"; -SWWM_SHORTVER="\cw1.0.4 \cu(2021-08-17 09:15:42)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw1.0.5 \cu(Tue 17 Aug 15:13:01 CEST 2021)\c-"; +SWWM_SHORTVER="\cw1.0.5 \cu(2021-08-17 15:13:01)\c-"; diff --git a/zscript/weapons/swwm_shot.zsc b/zscript/weapons/swwm_shot.zsc index 592f94bae..bdebcfafa 100644 --- a/zscript/weapons/swwm_shot.zsc +++ b/zscript/weapons/swwm_shot.zsc @@ -32,9 +32,9 @@ Class SpreadgunTracer : LineTracer { int amt = SWWMDamageAccumulator.GetAmount(Results.HitActor); // getgibhealth isn't clearscope, fuck - int gibh = (Results.HitActor.GibHealth!=int.min)?Results.HitActor.GibHealth:int(Results.HitActor.GetSpawnHealth()*gameinfo.gibfactor); + int gibh = (Results.HitActor.GibHealth!=int.min)?Results.HitActor.GibHealth:-int(Results.HitActor.GetSpawnHealth()*gameinfo.gibfactor); // if gibbed, go through without dealing more damage - if ( Results.HitActor.health-amt <= -gibh ) return TRACE_Skip; + if ( Results.HitActor.health-amt <= gibh ) return TRACE_Skip; let ent = new("HitListEntry"); ent.hitactor = Results.HitActor; ent.hitlocation = Results.HitPos; diff --git a/zscript/weapons/swwm_thiccboolet.zsc b/zscript/weapons/swwm_thiccboolet.zsc index edbb62bb3..58d10d35a 100644 --- a/zscript/weapons/swwm_thiccboolet.zsc +++ b/zscript/weapons/swwm_thiccboolet.zsc @@ -67,8 +67,8 @@ Class SilverBulletTracer : SpreadSlugTracer } else { - int gibh = (Results.HitActor.GibHealth!=int.min)?Results.HitActor.GibHealth:int(Results.HitActor.GetSpawnHealth()*gameinfo.gibfactor); - ent.hitdamage = min(Results.HitActor.health+int(gibh*1.5),int(penetration)); + int gibh = (Results.HitActor.GibHealth!=int.min)?Results.HitActor.GibHealth:-int(Results.HitActor.GetSpawnHealth()*gameinfo.gibfactor); + ent.hitdamage = min(Results.HitActor.health-int(gibh*1.5),int(penetration)); int killdamage = min(Results.HitActor.health,int(penetration)); penetration = max(0,penetration-killdamage*.4); }