Don't use InPlayerFOV for anything that affects gameplay

This commit is contained in:
Mari the Deer 2025-06-03 23:13:06 +02:00
commit 8a04ef9074
3 changed files with 7 additions and 3 deletions

View file

@ -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-";

View file

@ -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;
}

View file

@ -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;