mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
- Magically appeared reinforcements for enemy and militia just turn after they are called from now could be delayed and randomized. Details: - Practically all enemy reinforcement which can populate available slots was always appeared next turn after they are called so now we have game settings under "Strategic Gameplay Settings" for fine tunning enemy and militia reinforce entry: MIN_DELAY_ENEMY_REINFORCEMENTS enemy reinforcement will arrive minimum this number of turns after they are called, if 0 then is disabled. RND_DELAY_ENEMY_REINFORCEMENTS additional random delay added to minimum when reinforcements will arrive after they are called. MIN_ENTER_ENEMY_REINFORCEMENTS minimum enemy units which will enter after above delay is over. RND_ENTER_ENEMY_REINFORCEMENTS additional random enemy units to appear after passing delay. MIN_DELAY_MILITIA_REINFORCEMENTS enemy reinforcement will arrive minimum this number of turns after they are called, if 0 then is disabled. RND_DELAY_MILITIA_REINFORCEMENTS additional random delay added to minimum when reinforcements will arrive after they are called. MIN_ENTER_MILITIA_REINFORCEMENTS minimum enemy units which will enter after above delay is over. RND_ENTER_MILITIA_REINFORCEMENTS additional random enemy units to appear after passing delay. - After first delay ends any other reinforcement appeared more frequently or if already arrive (but no free slot), they will pop up soon after slot is free. - Add option NO_REMOVE_RANDOM_SECTOR_ITEMS under "Strategic Gameplay Settings" to prevent permanent random removal of your sector items. - Add missing function DisplaySectorItemsInfo. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6386 3b4a5df2-a311-0410-b5c6-a8a6f20db521
68 lines
2.6 KiB
C
68 lines
2.6 KiB
C
#ifndef __QUEEN_COMMAND_H
|
|
#define __QUEEN_COMMAND_H
|
|
|
|
#include "types.h"
|
|
#include "Campaign Types.h"
|
|
#include "Soldier Control.h"
|
|
#include "FileMan.h"
|
|
#include "Strategic Movement.h"
|
|
|
|
|
|
|
|
extern BOOLEAN gfPendingEnemies;
|
|
|
|
|
|
UINT8 NumFreeEnemySlots();
|
|
|
|
//Counts enemies and crepitus, but not bloodcats.
|
|
UINT8 NumHostilesInSector( INT16 sSectorX, INT16 sSectorY, INT16 sSectorZ );
|
|
|
|
UINT8 NumEnemiesInAnySector( INT16 sSectorX, INT16 sSectorY, INT16 sSectorZ );
|
|
|
|
UINT8 NumEnemiesInSector( INT16 sSectorX, INT16 sSectorY );
|
|
UINT8 NumStationaryEnemiesInSector( INT16 sSectorX, INT16 sSectorY );
|
|
UINT8 NumMobileEnemiesInSector( INT16 sSectorX, INT16 sSectorY );
|
|
void GetNumberOfMobileEnemiesInSector( INT16 sSectorX, INT16 sSectorY, UINT8 *pubNumAdmins, UINT8 *pubNumTroops, UINT8 *pubNumElites );
|
|
void GetNumberOfMobileEnemiesInSectorWithoutRoadBlock( INT16 sSectorX, INT16 sSectorY, UINT8 *pubNumAdmins, UINT8 *pubNumTroops, UINT8 *pubNumElites );
|
|
void GetNumberOfStationaryEnemiesInSector( INT16 sSectorX, INT16 sSectorY, UINT8 *pubNumAdmins, UINT8 *pubNumTroops, UINT8 *pubNumElites );
|
|
void GetNumberOfEnemiesInSector( INT16 sSectorX, INT16 sSectorY, UINT8 *pubNumAdmins, UINT8 *pubNumTroops, UINT8 *pubNumElites );
|
|
|
|
//Called when entering a sector so the campaign AI can automatically insert the
|
|
//correct number of troops of each type based on the current number in the sector
|
|
//in global focus (gWorldSectorX/Y)
|
|
BOOLEAN PrepareEnemyForSectorBattle();
|
|
BOOLEAN PrepareEnemyForUndergroundBattle();
|
|
|
|
void AddEnemiesToBattle( GROUP *pGroup, UINT8 ubStrategicInsertionCode, UINT8 ubNumAdmins, UINT8 ubNumTroops, UINT8 ubNumElites, BOOLEAN fMagicallyAppeared );
|
|
void AddPossiblePendingEnemiesToBattle();
|
|
void EndTacticalBattleForEnemy();
|
|
|
|
void ProcessQueenCmdImplicationsOfDeath( SOLDIERTYPE *pSoldier );
|
|
|
|
void HandleEnemyStatusInCurrentMapBeforeLoadingNewMap();
|
|
BOOLEAN SaveUnderGroundSectorInfoToSaveGame( HWFILE hFile );
|
|
BOOLEAN LoadUnderGroundSectorInfoFromSavedGame( HWFILE hFile );
|
|
|
|
//Finds and returns the specified underground structure ( DONT MODIFY IT ). Else returns NULL
|
|
UNDERGROUND_SECTORINFO* FindUnderGroundSector( INT16 sMapX, INT16 sMapY, UINT8 bMapZ );
|
|
|
|
void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier );
|
|
void BeginCaptureSquence( );
|
|
void EndCaptureSequence( );
|
|
|
|
BOOLEAN PlayerSectorDefended( UINT8 ubSectorID );
|
|
|
|
BOOLEAN OnlyHostileCivsInSector();
|
|
|
|
extern INT32 gsInterrogationGridNo[3];
|
|
|
|
#ifdef JA2UB
|
|
extern INT32 gsGridNoForMapEdgePointInfo;
|
|
#endif
|
|
|
|
BOOLEAN CheckPendingEnemies();
|
|
|
|
extern UINT32 guiTurnCnt, guiReinforceTurn, guiMilitiaReinforceTurn;//dnl ch68 080913
|
|
|
|
#endif
|