mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
- added new parameters for NCTH in DifficultySettings.xml that allow the modification of CTH for militia and player mercs (requires GameDir 2445)
- re-enabled the extra elites for counter attacks git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8615 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -89,8 +89,12 @@ typedef struct
|
||||
BOOLEAN bRadioSightings;
|
||||
BOOLEAN bRadioSightings2;
|
||||
|
||||
FLOAT NewDifficultySettingsBASE_DIFFICULTY;
|
||||
FLOAT NewDifficultySettingsAIM_DIFFICULTY;
|
||||
FLOAT fCTHSettingsBaseDifficultyEnemy;
|
||||
FLOAT fCTHSettingsAimDifficultyEnemy;
|
||||
FLOAT fCTHSettingsBaseDifficultyMilitia;
|
||||
FLOAT fCTHSettingsAimDifficultyMilitia;
|
||||
FLOAT fCTHSettingsBaseDifficultyPlayer;
|
||||
FLOAT fCTHSettingsAimDifficultyPlayer;
|
||||
|
||||
BOOLEAN bEnemyMoraleWorried;
|
||||
|
||||
|
||||
+2
-2
@@ -55,8 +55,8 @@
|
||||
|
||||
#endif
|
||||
|
||||
CHAR8 czVersionNumber[16] = { "Build 18.02.09" }; //YY.MM.DD
|
||||
CHAR8 czVersionNumber[16] = { "Build 18.20.09" }; //YY.MM.DD
|
||||
CHAR16 zTrackingNumber[16] = { L"Z" };
|
||||
CHAR16 zRevisionNumber[16] = { L"Revision 8610" };
|
||||
CHAR16 zRevisionNumber[16] = { L"Revision 8612" };
|
||||
|
||||
// SAVE_GAME_VERSION is defined in header, change it there
|
||||
|
||||
@@ -4588,7 +4588,7 @@ void ExecuteStrategicAIAction( UINT16 usActionCode, INT16 sSectorX, INT16 sSecto
|
||||
if ( gGameOptions.ubDifficultyLevel > 0 )
|
||||
{
|
||||
groupelites[ubCounter] = grouptroops[ubCounter] - grouptroops[ubCounter] / gGameOptions.ubDifficultyLevel;
|
||||
grouptroops[ubCounter] -= groupelites[ubCounter];
|
||||
//grouptroops[ubCounter] -= groupelites[ubCounter];
|
||||
}
|
||||
|
||||
totalusedsoldiers += grouptroops[ubCounter] + groupelites[ubCounter] + grouptanks[ubCounter] + groupjeeps[ubCounter];
|
||||
|
||||
+15
-3
@@ -11804,9 +11804,15 @@ FLOAT CalcNewChanceToHitBaseSpecialBonus(SOLDIERTYPE *pSoldier)
|
||||
// GAME DIFFICULTY
|
||||
if ( !(pSoldier->flags.uiStatusFlags & SOLDIER_PC ) && (pSoldier->bSide != gbPlayerNum) )
|
||||
{
|
||||
fBaseModifier += zDiffSetting[gGameOptions.ubDifficultyLevel].NewDifficultySettingsBASE_DIFFICULTY;
|
||||
fBaseModifier += zDiffSetting[gGameOptions.ubDifficultyLevel].fCTHSettingsBaseDifficultyEnemy;
|
||||
}
|
||||
|
||||
else if ( pSoldier->bTeam == MILITIA_TEAM )
|
||||
{
|
||||
fBaseModifier += zDiffSetting[gGameOptions.ubDifficultyLevel].fCTHSettingsBaseDifficultyMilitia;
|
||||
}
|
||||
else
|
||||
fBaseModifier += __max( 0, ( 30 - CurrentPlayerProgressPercentage() ) ) * zDiffSetting[gGameOptions.ubDifficultyLevel].fCTHSettingsBaseDifficultyPlayer / 30;
|
||||
|
||||
return fBaseModifier;
|
||||
}
|
||||
|
||||
@@ -12122,8 +12128,14 @@ FLOAT CalcNewChanceToHitAimSpecialBonus(SOLDIERTYPE *pSoldier)
|
||||
// GAME DIFFICULTY
|
||||
if ( !(pSoldier->flags.uiStatusFlags & SOLDIER_PC ) && (pSoldier->bSide != gbPlayerNum) )
|
||||
{
|
||||
fAimModifier += zDiffSetting[gGameOptions.ubDifficultyLevel].NewDifficultySettingsAIM_DIFFICULTY;
|
||||
fAimModifier += zDiffSetting[gGameOptions.ubDifficultyLevel].fCTHSettingsAimDifficultyEnemy;
|
||||
}
|
||||
else if ( pSoldier->bTeam == MILITIA_TEAM )
|
||||
{
|
||||
fAimModifier += zDiffSetting[gGameOptions.ubDifficultyLevel].fCTHSettingsAimDifficultyMilitia;
|
||||
}
|
||||
else
|
||||
fAimModifier += __max( 0, ( 30 - CurrentPlayerProgressPercentage() ) ) * zDiffSetting[gGameOptions.ubDifficultyLevel].fCTHSettingsAimDifficultyPlayer / 30;
|
||||
|
||||
return fAimModifier;
|
||||
}
|
||||
|
||||
@@ -110,7 +110,11 @@ DifficultySettingsParseDataStartElementHandle(void *userData, const XML_Char *na
|
||||
strcmp(name, "EnemyMoraleWorried") == 0 ||
|
||||
strcmp(name, "MaxMortarsPerTeam" ) == 0 ||
|
||||
strcmp(name, "CthConstantsAimDifficulty") == 0 ||
|
||||
strcmp(name, "CthConstantsBaseDifficulty") == 0
|
||||
strcmp(name, "CthConstantsBaseDifficulty") == 0 ||
|
||||
strcmp(name, "CthConstantsAimDifficultyMilitia") == 0 ||
|
||||
strcmp(name, "CthConstantsBaseDifficultyMilitia") == 0 ||
|
||||
strcmp(name, "CthConstantsAimDifficultyPlayer") == 0 ||
|
||||
strcmp(name, "CthConstantsBaseDifficultyPlayer") == 0
|
||||
))
|
||||
{
|
||||
pData->curElement = ELEMENT_PROPERTY;
|
||||
@@ -229,8 +233,12 @@ difficultySettingsEndElementHandle(void *userData, const XML_Char *name)
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].bRadioSightings = pData->curDifficultySettings.bRadioSightings;
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].bRadioSightings2 = pData->curDifficultySettings.bRadioSightings2;
|
||||
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].NewDifficultySettingsAIM_DIFFICULTY = pData->curDifficultySettings.NewDifficultySettingsAIM_DIFFICULTY;
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].NewDifficultySettingsBASE_DIFFICULTY = pData->curDifficultySettings.NewDifficultySettingsBASE_DIFFICULTY;
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].fCTHSettingsAimDifficultyEnemy = pData->curDifficultySettings.fCTHSettingsAimDifficultyEnemy;
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].fCTHSettingsBaseDifficultyEnemy = pData->curDifficultySettings.fCTHSettingsBaseDifficultyEnemy;
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].fCTHSettingsAimDifficultyMilitia = pData->curDifficultySettings.fCTHSettingsAimDifficultyMilitia;
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].fCTHSettingsBaseDifficultyMilitia = pData->curDifficultySettings.fCTHSettingsBaseDifficultyMilitia;
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].fCTHSettingsAimDifficultyPlayer = pData->curDifficultySettings.fCTHSettingsAimDifficultyPlayer;
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].fCTHSettingsBaseDifficultyPlayer = pData->curDifficultySettings.fCTHSettingsBaseDifficultyPlayer;
|
||||
|
||||
zDiffSetting[pData->curDifficultySettings.uiIndex].bEnemyMoraleWorried = pData->curDifficultySettings.bEnemyMoraleWorried;
|
||||
|
||||
@@ -567,12 +575,32 @@ difficultySettingsEndElementHandle(void *userData, const XML_Char *name)
|
||||
else if(strcmp(name, "CthConstantsAimDifficulty") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curDifficultySettings.NewDifficultySettingsAIM_DIFFICULTY = (FLOAT) atol(pData->szCharData);
|
||||
pData->curDifficultySettings.fCTHSettingsAimDifficultyEnemy = (FLOAT) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "CthConstantsBaseDifficulty") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curDifficultySettings.NewDifficultySettingsBASE_DIFFICULTY = (FLOAT) atol(pData->szCharData);
|
||||
pData->curDifficultySettings.fCTHSettingsBaseDifficultyEnemy = (FLOAT) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "CthConstantsAimDifficultyMilitia") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curDifficultySettings.fCTHSettingsAimDifficultyMilitia = (FLOAT) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "CthConstantsBaseDifficultyMilitia") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curDifficultySettings.fCTHSettingsBaseDifficultyMilitia = (FLOAT) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "CthConstantsAimDifficultyPlayer") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curDifficultySettings.fCTHSettingsAimDifficultyPlayer = (FLOAT) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "CthConstantsBaseDifficultyPlayer") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curDifficultySettings.fCTHSettingsBaseDifficultyPlayer = (FLOAT) atol(pData->szCharData);
|
||||
}
|
||||
pData->maxReadDepth--;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user