- New feature: massive counterattacks in all major cities

- Fix: Check for water drums was wrong

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5688 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2012-11-16 21:16:31 +00:00
parent f6ae18533f
commit 23e93663fd
8 changed files with 420 additions and 7 deletions
+13
View File
@@ -35,6 +35,8 @@
#include "Town Militia.h"
#include "Campaign Types.h"
#include "Tactical Save.h"
#include "Strategic AI.h"
#include "interface Dialogue.h"
#endif
#ifdef JA2UB
@@ -1727,6 +1729,17 @@ void HourlyProgressUpdate(void)
gMercProfiles[ IGGY ].sSectorY = MAP_ROW_C;
}
// Flugente: on certain progress levels, the queen decides to initiate major attacks
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressOffensiveStage1 && gStrategicStatus.ubHighestProgress <= gGameExternalOptions.ubGameProgressOffensiveStage1 )
{
ExecuteStrategicAIAction( NPC_ACTION_GLOBAL_OFFENSIVE_1, 0, 0 );
}
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressOffensiveStage2 && gStrategicStatus.ubHighestProgress <= gGameExternalOptions.ubGameProgressOffensiveStage2 )
{
ExecuteStrategicAIAction( NPC_ACTION_GLOBAL_OFFENSIVE_2, 0, 0 );
}
gStrategicStatus.ubHighestProgress = ubCurrentProgress;
// debug message
+1 -1
View File
@@ -762,7 +762,7 @@ void SectorFillCanteens( void )
// search for a water drum
BOOLEAN waterdrumfound = FALSE;
OBJECTTYPE* pWaterDrum = GetUsableWaterDrumInSector();
if ( !pWaterDrum || !(pWaterDrum->exists()) )
if ( pWaterDrum && (pWaterDrum->exists()) )
waterdrumfound = TRUE;
// drink from sector if water is ok, or it is poisonous but we haven't found a useable water drum
+7
View File
@@ -3551,6 +3551,13 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
case NPC_ACTION_SEND_SOLDIERS_TO_OMERTA:
case NPC_ACTION_ADD_MORE_ELITES:
case NPC_ACTION_GIVE_KNOWLEDGE_OF_ALL_MERCS:
case NPC_ACTION_SEND_SOLDIERS_TO_CHITZENA:
case NPC_ACTION_SEND_SOLDIERS_TO_GRUMM:
case NPC_ACTION_SEND_SOLDIERS_TO_CAMBRIA:
case NPC_ACTION_SEND_SOLDIERS_TO_ALMA:
case NPC_ACTION_SEND_SOLDIERS_TO_BALIME:
case NPC_ACTION_GLOBAL_OFFENSIVE_1:
case NPC_ACTION_GLOBAL_OFFENSIVE_2:
break;
case NPC_ACTION_TRIGGER_QUEEN_BY_SAM_SITES_CONTROLLED:
+11 -1
View File
@@ -372,7 +372,17 @@ enum
NPC_ACTION_TURN_TO_FACE_NEAREST_MERC = 500,
NPC_ACTION_TURN_TO_FACE_PROFILE_ID_0,
NPC_ACTION_LAST_TURN_TO_FACE_PROFILE = 650
NPC_ACTION_LAST_TURN_TO_FACE_PROFILE = 650,
// Flugente: counterattacks for all cities
NPC_ACTION_SEND_SOLDIERS_TO_CHITZENA,
NPC_ACTION_SEND_SOLDIERS_TO_GRUMM,
NPC_ACTION_SEND_SOLDIERS_TO_CAMBRIA,
NPC_ACTION_SEND_SOLDIERS_TO_ALMA,
NPC_ACTION_SEND_SOLDIERS_TO_BALIME,
NPC_ACTION_GLOBAL_OFFENSIVE_1,
NPC_ACTION_GLOBAL_OFFENSIVE_2,
};
#define HOSPITAL_PATIENT_DISTANCE 9