From 4c5607bae9a6c8471c5124330b1bae7a25587ef4 Mon Sep 17 00:00:00 2001 From: lalien Date: Fri, 30 Jun 2006 11:11:48 +0000 Subject: [PATCH] - when enemy retreats he will be added to the adjacent sector, not deleted git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@316 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- JA2.vcproj | 4 ++-- TacticalAI/AIMain.cpp | 41 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/JA2.vcproj b/JA2.vcproj index a07803f7..3fc74829 100644 --- a/JA2.vcproj +++ b/JA2.vcproj @@ -43,7 +43,7 @@ ubQuoteActionID; + HandleNPCChangesForTacticalTraversal( pSoldier ); if ( pSoldier->ubProfile != NO_PROFILE && NPCHasUnusedRecordWithGivenApproach( pSoldier->ubProfile, APPROACH_DONE_TRAVERSAL ) ) @@ -2855,7 +2857,44 @@ void HandleAITacticalTraversal( SOLDIERTYPE * pSoldier ) } else { - ProcessQueenCmdImplicationsOfDeath( pSoldier ); + int iMapX = gWorldSectorX; + int iMapY = gWorldSectorY; + + switch( ubQuoteActionID ) + { + case QUOTE_ACTION_ID_TRAVERSE_EAST: + ++iMapX; + break; + case QUOTE_ACTION_ID_TRAVERSE_WEST: + --iMapX; + break; + case QUOTE_ACTION_ID_TRAVERSE_SOUTH: + ++iMapY; + break; + case QUOTE_ACTION_ID_TRAVERSE_NORTH: + --iMapY; + break; + } + + SECTORINFO *pSectorInfo = &( SectorInfo[ SECTOR( iMapX, iMapY ) ] ); + + switch( pSoldier->ubSoldierClass ) + { + case SOLDIER_CLASS_ELITE: + ++pSectorInfo->ubNumElites; + break; + + case SOLDIER_CLASS_ARMY: + ++pSectorInfo->ubNumTroops; + break; + + case SOLDIER_CLASS_ADMINISTRATOR: + ++pSectorInfo->ubNumAdmins; + break; + + } + + ProcessQueenCmdImplicationsOfDeath( pSoldier ); TacticalRemoveSoldier( pSoldier->ubID ); } CheckForEndOfBattle( TRUE );