- Fix: new clothes are not damaged

- Fix: changing clothes in sight of enemies no longer auto-hides
- Fix: opponent refresh for captured soldiers should work now
- Fix: prisons must have been liberated once to be able to send prisoners there
- adjusted spy trait for new animations
- Fix: allied militia no longer uncovers player spies

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5751 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2012-12-29 03:13:12 +00:00
parent a107e80c39
commit 4eccdec2ee
5 changed files with 39 additions and 25 deletions
+8 -9
View File
@@ -1773,7 +1773,7 @@ void HandleManNoLongerSeen( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent, INT
{
// if neither side is neutral AND
// if this soldier is an opponent (fights for different side)
if (pSoldier->bActive && pOpponent->bActive && !CONSIDERED_NEUTRAL( pOpponent, pSoldier ) && !CONSIDERED_NEUTRAL( pSoldier, pOpponent ) && (pSoldier->bSide != pOpponent->bSide) && pSoldier->RecognizeAsCombatant(pOpponent->ubID) )
if (pSoldier->bActive && pOpponent->bActive && !CONSIDERED_NEUTRAL_NOT_POW( pOpponent, pSoldier ) && !CONSIDERED_NEUTRAL_NOT_POW( pSoldier, pOpponent ) && (pSoldier->bSide != pOpponent->bSide) && pSoldier->RecognizeAsCombatant(pOpponent->ubID) )
{
RemoveOneOpponent(pSoldier);
}
@@ -6807,7 +6807,7 @@ void DecayIndividualOpplist(SOLDIERTYPE *pSoldier)
if (pSoldier->stats.bLife < OKLIFE)
{
// must make sure that public opplist is kept to match...
for ( uiLoop = 0; uiLoop < TOTAL_SOLDIERS; uiLoop++ )
for ( uiLoop = 0; uiLoop < TOTAL_SOLDIERS; ++uiLoop )
{
if ( pSoldier->aiData.bOppList[ uiLoop ] == SEEN_CURRENTLY )
{
@@ -6822,7 +6822,7 @@ void DecayIndividualOpplist(SOLDIERTYPE *pSoldier)
}
// man looks for each of his opponents WHO IS CURRENTLY SEEN
for (uiLoop = 0; uiLoop < guiNumMercSlots; uiLoop++)
for (uiLoop = 0; uiLoop < guiNumMercSlots; ++uiLoop)
{
pOpponent = MercSlots[ uiLoop ];
@@ -6835,21 +6835,20 @@ void DecayIndividualOpplist(SOLDIERTYPE *pSoldier)
continue;
}
pPersOL = pSoldier->aiData.bOppList + pOpponent->ubID;
pPersOL = pSoldier->aiData.bOppList + pOpponent->ubID;
// if this opponent is seen currently
if (*pPersOL == SEEN_CURRENTLY)
{
// if this opponent is seen currently
if (*pPersOL == SEEN_CURRENTLY)
{
// they are NOT visible now!
(*pPersOL)++;
if (!CONSIDERED_NEUTRAL( pOpponent, pSoldier ) && !CONSIDERED_NEUTRAL( pSoldier, pOpponent ) && (pSoldier->bSide != pOpponent->bSide) && pSoldier->RecognizeAsCombatant(pOpponent->ubID) )
{
RemoveOneOpponent(pSoldier);
}
}
}
}
}
}