mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
Various AI improvements.
FindThrowableGrenade: allows to specify type and damage of searched grenade. New counter SOLDIER_COUNTER_RETREAT allows to set number of turns which soldier will try to retreat and take cover. FindBestNearbyCover: use PrepareThreatlist as unified function to make list of all known opponents. Militia Control: - start retreating mode for 2 turns when ordering retreat - replace AI_ACTION_RUN_AWAY with AI_ACTION_TAKE_COVER order so that militia do not retreat from sector New AI behavior: - soldier can use smoke grenade to cover himself when under fire - soldier can use use smoke grenade on his friend to cover him - if soldier used smoke, he starts retreat mode for 2 turns - added retreat code to Red, Black AI - improved Main Red AI for civilians (they only run away) Improved suppression code: - less chance of suppression when opponent has high shock level - prefer using suppression fire when soldier is in cover git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8879 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -631,6 +631,7 @@ enum {
|
||||
SOLDIER_COUNTER_RADIO_ARTILLERY, // there is actually no need for an artillery timer, but we use one to forbid the same AI guy ordering multiple strikes at once
|
||||
SOLDIER_COUNTER_SPOTTER, // used to determine wether we are a spotter
|
||||
SOLDIER_COUNTER_ROLE_OBSERVED, // every turn that the player observes an enemy, the enemies counter is increased. If it is high enough, we know his role
|
||||
SOLDIER_COUNTER_RETREAT, // use to retreat from position
|
||||
|
||||
SOLDIER_COUNTER_MAX = 20, // enough space for fillers
|
||||
};
|
||||
@@ -1862,6 +1863,14 @@ public:
|
||||
|
||||
// sevenfm: service functions
|
||||
BOOLEAN IsFlanking(void);
|
||||
BOOLEAN CheckInitialAP(void);
|
||||
UINT8 ShockLevelPercent(void);
|
||||
BOOLEAN TakenLargeHit(void);
|
||||
BOOLEAN IsCowering(void);
|
||||
|
||||
void RetreatCounterStart(UINT16 usValue);
|
||||
void RetreatCounterStop(void);
|
||||
UINT16 RetreatCounterValue(void);
|
||||
|
||||
// Flugente: prisoner system
|
||||
BOOLEAN CanProcessPrisoners();
|
||||
@@ -1875,9 +1884,6 @@ public:
|
||||
// Flugente: are we an assassin?
|
||||
BOOLEAN IsAssassin();
|
||||
|
||||
// sevenfm: service functions
|
||||
BOOLEAN CheckInitialAP(void);
|
||||
|
||||
// Flugente: multi-turn actions
|
||||
UINT8 GetMultiTurnAction();
|
||||
void StartMultiTurnAction( UINT8 usActionType, INT32 asGridNo );
|
||||
|
||||
Reference in New Issue
Block a user