mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
Improved watched location AI code:
- check that we can see enemy if we raise weapon when considering using noise spot as watched location - prefer hiding first when in dangerous place if hiding is possible git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8790 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -6549,10 +6549,13 @@ void HearNoise(SOLDIERTYPE *pSoldier, UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bL
|
||||
!pSoldier->aiData.bNeutral &&
|
||||
MercPtrs[ubNoiseMaker] &&
|
||||
!MercPtrs[ubNoiseMaker]->aiData.bNeutral &&
|
||||
!pSoldier->IsFlanking() &&
|
||||
SoldierToVirtualSoldierLineOfSightTest(pSoldier, sGridNo, bLevel, ANIM_STAND, TRUE, CALC_FROM_ALL_DIRS))
|
||||
!pSoldier->IsFlanking())
|
||||
{
|
||||
IncrementWatchedLoc(pSoldier->ubID, sGridNo, bLevel);
|
||||
// check that we can see enemy if we raise weapon
|
||||
gbForceWeaponReady = TRUE;
|
||||
if (SoldierToVirtualSoldierLineOfSightTest(pSoldier, sGridNo, bLevel, ANIM_STAND, TRUE, CALC_FROM_ALL_DIRS))
|
||||
IncrementWatchedLoc(pSoldier->ubID, sGridNo, bLevel);
|
||||
gbForceWeaponReady = FALSE;
|
||||
}
|
||||
|
||||
// Public info is not set unless EVERYONE on the team fails to see the
|
||||
|
||||
@@ -3604,7 +3604,10 @@ INT8 DecideActionRed(SOLDIERTYPE *pSoldier)
|
||||
CountFriendsBlack(pSoldier) > 0 )
|
||||
{
|
||||
// prefer hiding when in dangerous place
|
||||
bWatchPts -= 10;
|
||||
if (bHidePts > -90)
|
||||
bWatchPts = min(bWatchPts, bHidePts - 1);
|
||||
else
|
||||
bWatchPts--;
|
||||
}
|
||||
|
||||
// sevenfm: don't watch when overcrowded and not in a building
|
||||
|
||||
Reference in New Issue
Block a user