From 275a16d1bfdff91ad03e87168853ce33ea16976c Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Fri, 20 Aug 2021 22:19:00 +0200 Subject: [PATCH] Fix infinite loop in silver bullet trace. --- language.version | 4 ++-- zscript/weapons/swwm_thiccboolet.zsc | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/language.version b/language.version index e6e9186bd..40310d73f 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw1.0.5 r4 \cu(Fri 20 Aug 21:49:27 CEST 2021)\c-"; -SWWM_SHORTVER="\cw1.0.5 r4 \cu(2021-08-20 21:49:27)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw1.0.7 \cu(Fri 20 Aug 22:19:29 CEST 2021)\c-"; +SWWM_SHORTVER="\cw1.0.7 \cu(2021-08-20 22:19:29)\c-"; diff --git a/zscript/weapons/swwm_thiccboolet.zsc b/zscript/weapons/swwm_thiccboolet.zsc index 58d10d35a..bfdedde1c 100644 --- a/zscript/weapons/swwm_thiccboolet.zsc +++ b/zscript/weapons/swwm_thiccboolet.zsc @@ -674,15 +674,16 @@ Class SilverBullet : SWWMWeapon } } sst.pastwall = false; - sst.fullstop = false; Vector3 norigin = origin; double maxdist = 20000.; - while ( !sst.fullstop ) + do { + sst.fullstop = true; sst.Trace(norigin,level.PointInSector(norigin.xy),x2,maxdist,TRACE_HitSky); maxdist -= (sst.exitpoint-norigin).length(); norigin = sst.exitpoint; } + while ( !sst.fullstop ); invoker.nkills = 0; ProcessTraceHit(sst,origin,x2); }