mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
ASD: don't change reinforcement pool when unlimited reinforcements enabled.
Interrogate prisoner: don't change reinforcement pool when unlimited reinforcements enabled. EvaluateQueenSituation: - allow recruiting when pool size drops below iQueenPoolIncrementPerDifficultyLevel, this should result in more stable strategic AI behavior - with default values, recruiting can result in up to 8 days of doing nothing, I think that skipping once cycle of decisions should be enough git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8787 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -3431,7 +3431,7 @@ void EvaluateQueenSituation()
|
||||
uiOffset = max( 100 - giRequestPoints, 0);
|
||||
uiOffset = uiOffset + Random( uiOffset * 4 );
|
||||
|
||||
// Flugente: enemy generals can speed up the AI decision process (justification: the generals are the ones planning the military operations, so if theay are around, the army is more efficient)
|
||||
// Flugente: enemy generals can speed up the AI decision process (justification: the generals are the ones planning the military operations, so if they are around, the army is more efficient)
|
||||
FLOAT dEnemyGeneralsSpeedupFactor = 1.0f;
|
||||
if ( gGameExternalOptions.fEnemyRoles && gGameExternalOptions.fEnemyGenerals )
|
||||
{
|
||||
@@ -3440,14 +3440,13 @@ void EvaluateQueenSituation()
|
||||
|
||||
uiOffset += dEnemyGeneralsSpeedupFactor * (zDiffSetting[gGameOptions.ubDifficultyLevel].iBaseDelayInMinutesBetweenEvaluations + Random( zDiffSetting[gGameOptions.ubDifficultyLevel].iEvaluationDelayVariance ));
|
||||
|
||||
if( !giReinforcementPool )
|
||||
// sevenfm: allow recruiting when pool size drops below iQueenPoolIncrementPerDifficultyLevel, this should result in more stable strategic AI behavior
|
||||
if (giReinforcementPool <= 0 || !gfUnlimitedTroops && giReinforcementPool < zDiffSetting[gGameOptions.ubDifficultyLevel].iQueenPoolIncrementPerDifficultyLevel)
|
||||
{
|
||||
//Queen has run out of reinforcements. Simulate recruiting and training new troops
|
||||
uiOffset *= 10;
|
||||
//Madd: don't need an unlimited troops check here, since they can never run out like this
|
||||
|
||||
giReinforcementPool += ( zDiffSetting[gGameOptions.ubDifficultyLevel].iQueenPoolIncrementPerDifficultyLevel * gGameOptions.ubDifficultyLevel ) * ( 100 + CurrentPlayerProgressPercentage() ) / 100 ;
|
||||
|
||||
//Queen has run out of reinforcements. Simulate recruiting and training new troops
|
||||
// sevenfm: with default values, it can be up to 8 days of doing nothing, I think that skipping once cycle of decisions should be enough
|
||||
//uiOffset *= 10;
|
||||
giReinforcementPool += ( zDiffSetting[gGameOptions.ubDifficultyLevel].iQueenPoolIncrementPerDifficultyLevel * gGameOptions.ubDifficultyLevel ) * ( 100 + CurrentPlayerProgressPercentage() ) / 100 ;
|
||||
AddStrategicEvent( EVENT_EVALUATE_QUEEN_SITUATION, GetWorldTotalMin() + uiOffset, 0 );
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user