diff --git a/language.version b/language.version index 006c327c9..c35230a26 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1221 \cu(mar 03 jun 2025 10:45:42 CEST)\c-"; -SWWM_SHORTVER="\cw1.3pre r1221 \cu(2025-06-03 10:45:42)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1222 \cu(mar 03 jun 2025 23:13:06 CEST)\c-"; +SWWM_SHORTVER="\cw1.3pre r1222 \cu(2025-06-03 23:13:06)\c-"; diff --git a/zscript/handler/swwm_handler_cheats.zsc b/zscript/handler/swwm_handler_cheats.zsc index 881ea768e..ef17ee173 100644 --- a/zscript/handler/swwm_handler_cheats.zsc +++ b/zscript/handler/swwm_handler_cheats.zsc @@ -348,7 +348,10 @@ extend Class SWWMHandler bool burned = false; while ( a = Actor(ti.Next()) ) { - if ( !a.bSHOOTABLE || (a.player == players[e.Args[0]]) || a.IsFriend(players[e.Args[0]].mo) || !SWWMUtility.InPlayerFOV(players[e.Args[0]],a) ) continue; + if ( !a.bSHOOTABLE || (a.player == players[e.Args[0]]) + || a.IsFriend(players[e.Args[0]].mo) + || !a.CheckSight(players[e.Args[0].mo,SF_IGNOREVISIBILITY|SF_IGNOREWATERBOUNDARY) ) + continue; OnFire.Apply(a,players[e.Args[0]].mo,500); burned = true; } diff --git a/zscript/utility/swwm_utility_math.zsc b/zscript/utility/swwm_utility_math.zsc index a8fae274e..44130a4ee 100644 --- a/zscript/utility/swwm_utility_math.zsc +++ b/zscript/utility/swwm_utility_math.zsc @@ -393,6 +393,7 @@ extend Class SWWMUtility return true, ov0, ov1; } + // this check is dependent on the screen aspect ratio, so use only for non-interactive effects static play bool InPlayerFOV( PlayerInfo p, Actor a, double maxdist = 0. ) { double vfov = p.fov*.5;