Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions GameSettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1428,6 +1428,11 @@ void LoadGameExternalOptions()
gGameExternalOptions.usLeadershipSubpointsToImprove = iniReader.ReadInteger("Tactical Difficulty Settings","LEADERSHIP_SUBPOINTS_TO_IMPROVE", 25, 1, 1000 );
gGameExternalOptions.usLevelSubpointsToImprove = iniReader.ReadInteger("Tactical Difficulty Settings","LEVEL_SUBPOINTS_TO_IMPROVE", 350, 1, 6500);

// rftr: optionally slow stat growth at 80+ and 90+. this gives more value to mercs with high base stats
gGameExternalOptions.ubMaxGrowthChanceAt80 = iniReader.ReadInteger("Tactical Difficulty Settings", "MAX_GROWTH_CHANCE_AT_80", 100, 1, 100);
gGameExternalOptions.ubMaxGrowthChanceAt90 = iniReader.ReadInteger("Tactical Difficulty Settings", "MAX_GROWTH_CHANCE_AT_90", 100, 1, 100);


// Alternate algorithm for choosing equipment level. Mostly disregards soldier's class and puts less emphasis on distance from Sector P3.
// SANDRO - moved into the game
//gGameExternalOptions.fSlowProgressForEnemyItemsChoice = iniReader.ReadBoolean("Tactical Difficulty Settings", "SLOW_PROGRESS_FOR_ENEMY_ITEMS_CHOICE", TRUE);
Expand Down
4 changes: 4 additions & 0 deletions GameSettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -1149,6 +1149,10 @@ typedef struct
UINT16 usLeadershipSubpointsToImprove;
UINT16 usLevelSubpointsToImprove;

// rftr: optionally slow stat growth at 80+ and 90+. this gives more value to mercs with high base stats
UINT8 ubMaxGrowthChanceAt80;
UINT8 ubMaxGrowthChanceAt90;

// HEADROCK HAM B2.7: When turned on, this will give a CTH approximation instead of an exact value, on CTH Bars and "F" key feedback.
BOOLEAN fApproximateCTH;

Expand Down
10 changes: 10 additions & 0 deletions Tactical/Campaign.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,16 @@ void ProcessStatChange(MERCPROFILESTRUCT *pProfile, UINT8 ubStat, UINT16 usNumCh
usChance += (usChance * (pProfile->bWisdom + (pProfile->sWisdomGain / SubpointsPerPoint(WISDOMAMT, pProfile->bExpLevel)) - 50)) / 100;
}

// rftr: reduced growth rates at 80+ and 90+ (to make mercs with higher base stats more valuable)
if (bCurrentRating >= 90)
{
usChance = min(min(gGameExternalOptions.ubMaxGrowthChanceAt80, gGameExternalOptions.ubMaxGrowthChanceAt90), usChance);
}
else if (bCurrentRating >= 80)
{
usChance = min(gGameExternalOptions.ubMaxGrowthChanceAt80, usChance);
}

/*
// if the stat is Marksmanship, and the guy is a hopeless shot
if ((ubStat == MARKAMT) && (pProfile->bSpecialTrait == HOPELESS_SHOT))
Expand Down