From f9ec5b1b0463ae8c95c4eb0697a30ae2b8056465 Mon Sep 17 00:00:00 2001 From: Sevenfm Date: Sun, 25 Apr 2021 06:32:03 +0000 Subject: [PATCH] Partially fixed vanilla exploit (detect invisible enemy by using plotted path), still doesn't work if merc is prone. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8974 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/PATHAI.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Tactical/PATHAI.cpp b/Tactical/PATHAI.cpp index fedcfadec..7f95ee4d4 100644 --- a/Tactical/PATHAI.cpp +++ b/Tactical/PATHAI.cpp @@ -3439,17 +3439,12 @@ if(!GridNoOnVisibleWorldTile(iDestination)) // ATE: ONLY cancel if they are moving..... ubMerc = WhoIsThere2( newLoc, s->pathing.bLevel); - if ( ubMerc < TOTAL_SOLDIERS && ubMerc != s->ubID ) + // sevenfm: for player mercs, ignore invisible opponents + if (ubMerc < TOTAL_SOLDIERS && ubMerc != s->ubID && + (!(s->flags.uiStatusFlags & SOLDIER_PC) || MercPtrs[ubMerc]->bSide == s->bSide || MercPtrs[ubMerc]->aiData.bNeutral || MercPtrs[ubMerc]->bVisible >= 0 || SoldierToSoldierLineOfSightTest(s, MercPtrs[ubMerc], TRUE, CALC_FROM_ALL_DIRS))) + //if ( ubMerc < TOTAL_SOLDIERS && ubMerc != s->ubID ) { - // Check for movement.... - //if ( fTurnBased || ( (Menptr[ ubMerc ].sFinalDestination == Menptr[ ubMerc ].sGridNo) || (Menptr[ ubMerc ].fDelayedMovement) ) ) - //{ - goto NEXTDIR; - //} - // else - //{ - // nextCost += 50; - //} + goto NEXTDIR; } }