Exploit fix: don't allow "apply item to others" cursor to reveal position of invisible enemy.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8976 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2021-04-25 12:26:58 +00:00
parent c3e961731a
commit e23e473333
3 changed files with 29 additions and 70 deletions
+8 -25
View File
@@ -680,13 +680,13 @@ UINT32 HandleTacticalUI( void )
}
// Look for soldier full
if ( FindSoldier( usMapPos, &gusUIFullTargetID, &guiUIFullTargetFlags, ( FINDSOLDIERSAMELEVEL( gsInterfaceLevel ) ) ) )
if (FindSoldier(usMapPos, &gusUIFullTargetID, &guiUIFullTargetFlags, (FINDSOLDIERSAMELEVEL(gsInterfaceLevel))))
{
gfUIFullTargetFound = TRUE;
}
// Look for soldier selective
if ( FindSoldier( usMapPos, &gusUISelectiveTargetID, &guiUISelectiveTargetFlags, FINDSOLDIERSELECTIVESAMELEVEL( gsInterfaceLevel ) ) )
if (FindSoldier(usMapPos, &gusUISelectiveTargetID, &guiUISelectiveTargetFlags, FINDSOLDIERSELECTIVESAMELEVEL(gsInterfaceLevel)))
{
gfUISelectiveTargetFound = TRUE;
}
@@ -4766,11 +4766,11 @@ INT16 APsToTurnAround(SOLDIERTYPE *pSoldier, INT16 sAdjustedGridNo)
BOOLEAN UIMouseOnValidAttackLocation( SOLDIERTYPE *pSoldier )
{
UINT16 usInHand;
BOOLEAN fGuyHere = FALSE;
SOLDIERTYPE *pTSoldier;
UINT8 ubItemCursor;
INT32 usMapPos;
UINT16 usInHand;
BOOLEAN fGuyHere = FALSE;
SOLDIERTYPE *pTSoldier;
UINT8 ubItemCursor;
INT32 usMapPos;
if ( !GetMouseMapPos( &usMapPos ) )
{
@@ -4788,7 +4788,6 @@ BOOLEAN UIMouseOnValidAttackLocation( SOLDIERTYPE *pSoldier )
return( FALSE );
}
if ( ubItemCursor == WIRECUTCURS )
{
if ( IsCuttableWireFenceAtGridNo( usMapPos ) && pSoldier->pathing.bLevel == 0 )
@@ -4964,7 +4963,7 @@ BOOLEAN UIMouseOnValidAttackLocation( SOLDIERTYPE *pSoldier )
}
// SEE IF THERE IS SOMEBODY HERE
if ( gfUIFullTargetFound && ubItemCursor != KNIFECURS )
if ( gfUIFullTargetFound && ubItemCursor != KNIFECURS )
{
fGuyHere = TRUE;
@@ -4979,14 +4978,6 @@ BOOLEAN UIMouseOnValidAttackLocation( SOLDIERTYPE *pSoldier )
return( FALSE );
}
//if ( Item[ usInHand ].usItemClass == IC_BLADE && usInHand != THROWING_KNIFE )
//{
// if ( !fGuyHere )
// {
// return( FALSE );
// }
//}
if ( Item[ usInHand ].usItemClass == IC_PUNCH )
{
if ( !fGuyHere )
@@ -4995,14 +4986,6 @@ BOOLEAN UIMouseOnValidAttackLocation( SOLDIERTYPE *pSoldier )
}
}
//if ( Item[ usInHand ].usItemClass == IC_BLADE )
//{
// if ( !fGuyHere )
// {
// return( FALSE );
// }
//}
if ( Item[ usInHand ].usItemClass == IC_MEDKIT )
{
if ( !fGuyHere )