New feature (by rftr): Arulco Rebel Command (ARC)

Improve you cities and overall campaign by choosing out of several upgrades

Requires GameDir >= r2613

For more info, see https://thepit.ja-galaxy-forum.com/index.php?t=msg&th=24884&start=0&

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9153 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2021-08-22 19:00:09 +00:00
parent d1ec359600
commit eca080f0f9
44 changed files with 3925 additions and 36 deletions
+129
View File
@@ -82,6 +82,8 @@
#define CREATURES_SETTINGS_FILE "Creatures_Settings.ini"
#define REBEL_COMMAND_SETTINGS_FILE "RebelCommand_Settings.ini"
#define CD_ROOT_DIR "DATA\\"
GAME_SETTINGS gGameSettings;
@@ -94,6 +96,7 @@ HELICOPTER_SETTINGS gHelicopterSettings;
MORALE_SETTINGS gMoraleSettings;
REPUTATION_SETTINGS gReputationSettings;
CREATURES_SETTINGS gCreaturesSettings;
REBELCOMMAND_SETTINGS gRebelCommandSettings;
CTH_CONSTANTS gGameCTHConstants; // HEADROCK HAM 4: CTH constants
MOD_SETTINGS gModSettings; //DBrot: mod specific settings
@@ -113,6 +116,40 @@ BOOLEAN GetCDromDriveLetter( STR8 pString );
BOOLEAN IsDriveLetterACDromDrive( STR pDriveLetter );
void CDromEjectionErrorMessageBoxCallBack( UINT8 bExitValue );
// helper function for reading numerical arrays
template<typename T>
void FillArrayValues(CIniReader& iniReader, const STR8 sectionName, const STR8 settingName, T& vec)
{
using namespace std;
STRING512 textBuffer;
iniReader.ReadString(sectionName, settingName, NULL, textBuffer, _countof(textBuffer));
string str, token;
string delim = ",";
size_t offset = 0, prevOffset = 0;
// sanitise input
vec.clear();
str = textBuffer;
str.erase(std::remove(str.begin(), str.end(), ' '), str.end());
vector<FLOAT> tempVec;
do
{
offset = str.find(delim, prevOffset);
token = str.substr(prevOffset, offset-prevOffset);
prevOffset = offset + delim.length();
tempVec.push_back(stof(token.c_str()));
} while (offset != string::npos);
// assign values
for (const auto val : tempVec)
{
vec.push_back(val);
}
}
// these wrappers have the benefit that changing the location of the variable (gameinitoptionscreen/ini/ingame options) doesn't require huge changes throughout the code
// additionally, turning off a feature (for UB, for MP...) can be done here without additional checks in the code
bool UsingNewInventorySystem()
@@ -2319,6 +2356,9 @@ void LoadGameExternalOptions()
gGameExternalOptions.fMiniEventsEnabled = iniReader.ReadBoolean("Mini Events Settings", "MINI_EVENTS_ENABLED", FALSE);
gGameExternalOptions.fMiniEventsMinHoursBetweenEvents = iniReader.ReadInteger("Mini Events Settings", "MINI_EVENTS_MIN_HOURS_BETWEEN_EVENTS", 120, 24, 24000);
gGameExternalOptions.fMiniEventsMaxHoursBetweenEvents = iniReader.ReadInteger("Mini Events Settings", "MINI_EVENTS_MAX_HOURS_BETWEEN_EVENTS", 240, 24, 24000);
// Rebel Command
gGameExternalOptions.fRebelCommandEnabled = iniReader.ReadBoolean("Rebel Command Settings", "REBEL_COMMAND_ENABLED", FALSE);
}
@@ -3804,6 +3844,95 @@ void LoadCreaturesSettings()
gCreaturesSettings.ubCrepitusFeedingSectorZ = iniReader.ReadInteger("Creatures Settings", "CREPITUS_FEEDING_SECTOR_Z", 2);
}
void LoadRebelCommandSettings()
{
CIniReader iniReader(REBEL_COMMAND_SETTINGS_FILE);
gRebelCommandSettings.fIncomeModifier = iniReader.ReadFloat("Rebel Command Settings", "INCOME_MODIFIER", 1.5f, 1.0f, 100.0f);
gRebelCommandSettings.iMaxLoyaltyNovice = iniReader.ReadInteger("Rebel Command Settings", "MAX_LOYALTY_NOVICE", 80, 20, 100);
gRebelCommandSettings.iMaxLoyaltyExperienced = iniReader.ReadInteger("Rebel Command Settings", "MAX_LOYALTY_EXPERIENCED", 70, 20, 100);
gRebelCommandSettings.iMaxLoyaltyExpert = iniReader.ReadInteger("Rebel Command Settings", "MAX_LOYALTY_EXPERT", 60, 20, 100);
gRebelCommandSettings.iMaxLoyaltyInsane = iniReader.ReadInteger("Rebel Command Settings", "MAX_LOYALTY_INSANE", 50, 20, 100);
gRebelCommandSettings.iAdminActionCostIncreaseRegional = iniReader.ReadInteger("Rebel Command Settings", "ADMIN_ACTION_COST_INCREASE_REGIONAL", 13, 1, 100);
gRebelCommandSettings.iAdminActionCostIncreaseNational = iniReader.ReadInteger("Rebel Command Settings", "ADMIN_ACTION_COST_INCREASE_NATIONAL", 6, 1, 100);
gRebelCommandSettings.fLoyaltyGainModifier = iniReader.ReadFloat("Rebel Command Settings", "BASE_LOYALTY_GAIN_MODIFIER", 0.5f, 0.1f, 1.0f);
std::vector<FLOAT> vec;
// militia upgrades
FillArrayValues(iniReader, "Rebel Command Settings", "MILITIA_STATS_UPGRADE_COSTS", gRebelCommandSettings.iMilitiaUpgradeCosts);
gRebelCommandSettings.iMilitiaStatBonusPerLevel = iniReader.ReadInteger("Rebel Command Settings", "MILITIA_STAT_BONUS_PER_LEVEL", 2, 0, 5);
gRebelCommandSettings.iMilitiaMarksmanshipBonusPerLevel = iniReader.ReadInteger("Rebel Command Settings", "MILITIA_MARKSMANSHIP_BONUS_PER_LEVEL", 2, 0, 5);
// directives
FillArrayValues(iniReader, "Rebel Command Settings", "GATHER_SUPPLIES_COSTS", gRebelCommandSettings.iGatherSuppliesCosts);
FillArrayValues(iniReader, "Rebel Command Settings", "GATHER_SUPPLIES_INCOME", gRebelCommandSettings.iGatherSuppliesIncome);
gRebelCommandSettings.uSupportMilitiaProgressRequirement = iniReader.ReadUINT8("Rebel Command Settings", "SUPPORT_MILITIA_PROGRESS_REQUIREMENT", 25, 0, 100);
FillArrayValues(iniReader, "Rebel Command Settings", "SUPPORT_MILITIA_COSTS", gRebelCommandSettings.iSupportMilitiaCosts);
FillArrayValues(iniReader, "Rebel Command Settings", "SUPPORT_MILITIA_DISCOUNT", gRebelCommandSettings.fSupportMilitiaDiscounts);
gRebelCommandSettings.uTrainMilitiaProgressRequirement = iniReader.ReadUINT8("Rebel Command Settings", "TRAIN_MILITIA_PROGRESS_REQUIREMENT", 10, 0, 100);
FillArrayValues(iniReader, "Rebel Command Settings", "TRAIN_MILITIA_COSTS", gRebelCommandSettings.iTrainMilitiaCosts);
FillArrayValues(iniReader, "Rebel Command Settings", "TRAIN_MILITIA_DISCOUNT", gRebelCommandSettings.fTrainMilitiaDiscount);
FillArrayValues(iniReader, "Rebel Command Settings", "TRAIN_MILITIA_SPEED_BONUS", gRebelCommandSettings.iTrainMilitiaSpeedBonus);
gRebelCommandSettings.uCreatePropagandaProgressRequirement = iniReader.ReadUINT8("Rebel Command Settings", "CREATE_PROPAGANDA_PROGRESS_REQUIREMENT", 33, 0, 100);
FillArrayValues(iniReader, "Rebel Command Settings", "CREATE_PROPAGANDA_COSTS", gRebelCommandSettings.iCreatePropagandaCosts);
FillArrayValues(iniReader, "Rebel Command Settings", "CREATE_PROPAGANDA_MODIFIER", gRebelCommandSettings.fCreatePropagandaModifier);
gRebelCommandSettings.uEliteMilitiaProgressRequirement = iniReader.ReadUINT8("Rebel Command Settings", "ELITE_MILITIA_PROGRESS_REQUIREMENT", 50, 0, 100);
FillArrayValues(iniReader, "Rebel Command Settings", "ELITE_MILITIA_COSTS", gRebelCommandSettings.iEliteMilitiaCosts);
FillArrayValues(iniReader, "Rebel Command Settings", "ELITE_MILITIA_PER_DAY", gRebelCommandSettings.iEliteMilitiaPerDay);
gRebelCommandSettings.uHvtStrikesProgressRequirement = iniReader.ReadUINT8("Rebel Command Settings", "HVT_STRIKES_PROGRESS_REQUIREMENT", 33, 0, 100);
FillArrayValues(iniReader, "Rebel Command Settings", "HVT_STRIKES_COSTS", gRebelCommandSettings.iHvtStrikesCosts);
FillArrayValues(iniReader, "Rebel Command Settings", "HVT_STRIKES_CHANCE", gRebelCommandSettings.iHvtStrikesChance);
gRebelCommandSettings.uSpottersProgressRequirement = iniReader.ReadUINT8("Rebel Command Settings", "SPOTTERS_PROGRESS_REQUIREMENT", 50, 0, 100);
FillArrayValues(iniReader, "Rebel Command Settings", "SPOTTERS_COSTS", gRebelCommandSettings.iSpottersCosts);
FillArrayValues(iniReader, "Rebel Command Settings", "SPOTTERS_MODIFIER", gRebelCommandSettings.iSpottersModifier);
gRebelCommandSettings.uRaidMinesProgressRequirement = iniReader.ReadUINT8("Rebel Command Settings", "RAID_MINES_PROGRESS_REQUIREMENT", 0, 0, 100);
gRebelCommandSettings.iRaidMinesFailChance = iniReader.ReadInteger("Rebel Command Settings", "RAID_MINES_FAIL_CHANCE", 15, 0, 100);
FillArrayValues(iniReader, "Rebel Command Settings", "RAID_MINES_COSTS", gRebelCommandSettings.iRaidMinesCosts);
FillArrayValues(iniReader, "Rebel Command Settings", "RAID_MINES_PERCENTAGE", gRebelCommandSettings.fRaidMinesPercentage);
// admin actions
gRebelCommandSettings.iSupplyLineMaxLoyaltyIncrease = iniReader.ReadInteger("Rebel Command Settings", "SUPPLY_LINE_MAX_LOYALTY_INCREASE", 10, 1, 100);
gRebelCommandSettings.iRebelRadioDailyLoyaltyGain = iniReader.ReadInteger("Rebel Command Settings", "REBEL_RADIO_DAILY_LOYALTY_GAIN", 400, 1, 10000);
gRebelCommandSettings.iSafehouseReinforceChance = iniReader.ReadUINT32("Rebel Command Settings", "SAFEHOUSE_REINFORCE_CHANCE", 75, 0, 100);
gRebelCommandSettings.iSafehouseMinimumSoldiers = iniReader.ReadInteger("Rebel Command Settings", "SAFEHOUSE_MINIMUM_SOLDIERS", 2, 0, 10);
gRebelCommandSettings.iSafehouseBonusSoldiers = iniReader.ReadInteger("Rebel Command Settings", "SAFEHOUSE_BONUS_SOLDIERS", 4, 0, 10);
gRebelCommandSettings.iSupplyDisruptionEnemyStatLoss = iniReader.ReadInteger("Rebel Command Settings", "SUPPLY_DISRUPTION_ENEMY_STAT_LOSS", 5, 0, 100);
// SCOUTS - no variable effect, but included here for completeness
gRebelCommandSettings.iDeadDropsDailyIntel = iniReader.ReadInteger("Rebel Command Settings", "DEAD_DROPS_DAILY_INTEL", 25, 0, 100);
gRebelCommandSettings.iSmugglersDailySupplies = iniReader.ReadInteger("Rebel Command Settings", "SMUGGLERS_DAILY_SUPPLIES", 25, 0, 100);
gRebelCommandSettings.iWarehousesDailyMilitiaGuns = iniReader.ReadInteger("Rebel Command Settings", "WAREHOUSES_DAILY_MILITIA_RESOURCE_GUNS", 2, 0, 100);
gRebelCommandSettings.iWarehousesDailyMilitiaArmour = iniReader.ReadInteger("Rebel Command Settings", "WAREHOUSES_DAILY_MILITIA_RESOURCE_ARMOUR", 2, 0, 100);
gRebelCommandSettings.iWarehousesDailyMilitiaMisc = iniReader.ReadInteger("Rebel Command Settings", "WAREHOUSES_DAILY_MILITIA_RESOURCE_MISC", 2, 0, 100);
gRebelCommandSettings.iTaxesDailyIncome = iniReader.ReadInteger("Rebel Command Settings", "TAXES_DAILY_INCOME", 500, 0, 10000);
gRebelCommandSettings.iTaxesDailyLoyaltyLoss = iniReader.ReadInteger("Rebel Command Settings", "TAXES_DAILY_LOYALTY_LOSS", 250, 0, 10000);
gRebelCommandSettings.iAssistCiviliansDailyVolunteers = iniReader.ReadInteger("Rebel Command Settings", "ASSIST_CIVILIANS_DAILY_VOLUNTEERS", 10, 0, 100);
gRebelCommandSettings.iMercSupportBonus = iniReader.ReadInteger("Rebel Command Settings", "MERC_SUPPORT_BONUS", 25, 0, 100);
gRebelCommandSettings.iMiningPolicyBonus = iniReader.ReadInteger("Rebel Command Settings", "MINING_POLICY_BONUS", 10, 0, 100);
}
void FreeGameExternalOptions()
{
}
+90
View File
@@ -1584,6 +1584,9 @@ typedef struct
UINT16 fMiniEventsMinHoursBetweenEvents;
UINT16 fMiniEventsMaxHoursBetweenEvents;
// Rebel Command
BOOLEAN fRebelCommandEnabled;
} GAME_EXTERNAL_OPTIONS;
typedef struct
@@ -1685,6 +1688,90 @@ typedef struct
UINT8 ubCrepitusFeedingSectorZ;
} CREATURES_SETTINGS;
typedef struct
{
FLOAT fIncomeModifier;
INT8 iMaxLoyaltyNovice;
INT8 iMaxLoyaltyExperienced;
INT8 iMaxLoyaltyExpert;
INT8 iMaxLoyaltyInsane;
INT16 iAdminActionCostIncreaseRegional;
INT16 iAdminActionCostIncreaseNational;
FLOAT fLoyaltyGainModifier;
INT32 iMilitiaStatBonusPerLevel;
INT32 iMilitiaMarksmanshipBonusPerLevel;
std::vector<INT32> iMilitiaUpgradeCosts;
// directives
// this directive is always available
std::vector<INT32> iGatherSuppliesCosts;
std::vector<INT32> iGatherSuppliesIncome;
UINT8 uSupportMilitiaProgressRequirement;
std::vector<INT32> iSupportMilitiaCosts;
std::vector<FLOAT> fSupportMilitiaDiscounts;
UINT8 uTrainMilitiaProgressRequirement;
std::vector<INT32> iTrainMilitiaCosts;
std::vector<FLOAT> fTrainMilitiaDiscount;
std::vector<INT32> iTrainMilitiaSpeedBonus;
UINT8 uCreatePropagandaProgressRequirement;
std::vector<INT32> iCreatePropagandaCosts;
std::vector<FLOAT> fCreatePropagandaModifier;
UINT8 uEliteMilitiaProgressRequirement;
std::vector<INT32> iEliteMilitiaCosts;
std::vector<INT32> iEliteMilitiaPerDay;
UINT8 uHvtStrikesProgressRequirement;
std::vector<INT32> iHvtStrikesCosts;
std::vector<INT32> iHvtStrikesChance;
UINT8 uSpottersProgressRequirement;
std::vector<INT32> iSpottersCosts;
std::vector<INT32> iSpottersModifier;
UINT8 uRaidMinesProgressRequirement;
INT32 iRaidMinesFailChance;
std::vector<INT32> iRaidMinesCosts;
std::vector<FLOAT> fRaidMinesPercentage;
// admin actions
INT32 iSupplyLineMaxLoyaltyIncrease;
INT32 iRebelRadioDailyLoyaltyGain;
UINT32 iSafehouseReinforceChance;
INT32 iSafehouseMinimumSoldiers;
INT32 iSafehouseBonusSoldiers;
INT32 iSupplyDisruptionEnemyStatLoss;
// SCOUTS - no variable effect, but included here for completeness
INT32 iDeadDropsDailyIntel;
INT32 iSmugglersDailySupplies;
INT32 iWarehousesDailyMilitiaGuns;
INT32 iWarehousesDailyMilitiaArmour;
INT32 iWarehousesDailyMilitiaMisc;
INT32 iTaxesDailyIncome;
INT32 iTaxesDailyLoyaltyLoss;
INT32 iAssistCiviliansDailyVolunteers;
INT32 iMercSupportBonus;
INT32 iMiningPolicyBonus;
} REBELCOMMAND_SETTINGS;
typedef struct
{
UINT8 ubMaxNumberOfTraits;
@@ -2458,6 +2545,8 @@ extern REPUTATION_SETTINGS gReputationSettings;
extern CREATURES_SETTINGS gCreaturesSettings;
extern REBELCOMMAND_SETTINGS gRebelCommandSettings;
// HEADROCK HAM 4: CTH constants read from a separate INI file
extern CTH_CONSTANTS gGameCTHConstants;
@@ -2479,6 +2568,7 @@ void LoadHelicopterRepairRefuelSettings();
void LoadMoraleSettings();
void LoadReputationSettings();
void LoadCreaturesSettings();
void LoadRebelCommandSettings();
void FreeGameExternalOptions();
void InitGameOptions();
+2 -1
View File
@@ -22,6 +22,7 @@ extern CHAR16 zRevisionNumber[16];
// Keeps track of the saved game version. Increment the saved game version whenever
// you will invalidate the saved game file
#define REBELCOMMAND 183
#define DRAGSTRUCTURE 182 // Flugente: we can drag structures behind us
#define DISABILITYFLAGMASK 181 // Flugente: disabilities get a flagmask
#define PROFILETYPE_STORED 180 // Flugente: the type of each profile is stored in the savegame
@@ -102,7 +103,7 @@ extern CHAR16 zRevisionNumber[16];
#define AP100_SAVEGAME_DATATYPE_CHANGE 105 // Before this, we didn't have the 100AP structure changes
#define NIV_SAVEGAME_DATATYPE_CHANGE 102 // Before this, we used the old structure system
#define SAVE_GAME_VERSION DRAGSTRUCTURE
#define SAVE_GAME_VERSION REBELCOMMAND
//#define RUSSIANGOLD
#ifdef __cplusplus
+2
View File
@@ -144,6 +144,8 @@ enum definedDropDowns
DROPDOWN_MILTIAWEBSITE_FILTER_RANK,
DROPDOWN_MILTIAWEBSITE_FILTER_ORIGIN,
DROPDOWN_MILTIAWEBSITE_FILTER_SECTOR,
DROPDOWN_REBEL_COMMAND_DIRECTIVE,
};
/*
+1
View File
@@ -141,4 +141,5 @@
#include "BriefingRoom_Data.h"
#include "Encyclopedia_new.h"
#include "Encyclopedia_Data_new.h"
#include "Rebel Command.h"
#endif
+1
View File
@@ -60,6 +60,7 @@ enum
WORKERS_TRAINED, // Flugente: train workers
PROMOTE_MILITIA, // Flugente: drill militia
MINI_EVENT, // rftr: mini events
REBEL_COMMAND, // rftr: rebel command
TEXT_NUM_FINCANCES
};
+43
View File
@@ -93,6 +93,7 @@
#include "MilitiaWebsite.h" // added by Flugente
#include "Intelmarket.h" // added by Flugente
#include "FacilityProduction.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "connect.h"
@@ -1081,6 +1082,11 @@ INT32 EnterLaptop()
SetBookMark( PRODUCTION_BOOKMARK );
else
RemoveBookmark( PRODUCTION_BOOKMARK );
if (gGameExternalOptions.fRebelCommandEnabled && gubQuest[QUEST_FOOD_ROUTE] == QUESTDONE)
SetBookMark( REBELCOMMAND_BOOKMARK );
else
RemoveBookmark( REBELCOMMAND_BOOKMARK );
}
LoadLoadPending( );
@@ -1531,6 +1537,10 @@ void RenderLaptop()
case LAPTOP_MODE_FACILITY_PRODUCTION:
RenderFacilityProduction();
break;
case LAPTOP_MODE_REBEL_COMMAND:
RebelCommand::RenderWebsite();
break;
}
if( guiCurrentLaptopMode >= LAPTOP_MODE_WWW )
@@ -2011,6 +2021,10 @@ void EnterNewLaptopMode()
case LAPTOP_MODE_FACILITY_PRODUCTION:
EnterFacilityProduction();
break;
case LAPTOP_MODE_REBEL_COMMAND:
RebelCommand::EnterWebsite();
break;
}
// first time using webbrowser in this laptop session
@@ -2306,6 +2320,10 @@ void HandleLapTopHandles()
case LAPTOP_MODE_FACILITY_PRODUCTION:
HandleFacilityProduction();
break;
case LAPTOP_MODE_REBEL_COMMAND:
RebelCommand::HandleWebsite();
break;
}
}
@@ -2908,6 +2926,10 @@ UINT32 ExitLaptopMode(UINT32 uiMode)
case LAPTOP_MODE_FACILITY_PRODUCTION:
ExitFacilityProduction();
break;
case LAPTOP_MODE_REBEL_COMMAND:
RebelCommand::ExitWebsite();
break;
}
if( ( uiMode != LAPTOP_MODE_NONE )&&( uiMode < LAPTOP_MODE_WWW ) )
@@ -4594,6 +4616,27 @@ void GoToWebPage(INT32 iPageId )
}
}
break;
case REBELCOMMAND_BOOKMARK:
{
guiCurrentWWWMode = LAPTOP_MODE_REBEL_COMMAND;
guiCurrentLaptopMode = LAPTOP_MODE_REBEL_COMMAND;
// do we have to have a World Wide Wait
if ( LaptopSaveInfo.fVisitedBookmarkAlready[REBELCOMMAND_BOOKMARK] == FALSE )
{
// reset flag and set load pending flag
LaptopSaveInfo.fVisitedBookmarkAlready[REBELCOMMAND_BOOKMARK] = TRUE;
fLoadPendingFlag = TRUE;
}
else
{
// fast reload
fLoadPendingFlag = TRUE;
fFastLoadFlag = TRUE;
}
}
break;
}
#ifdef JA2UB
+3
View File
@@ -186,6 +186,8 @@ enum
LAPTOP_MODE_AIM_MEMBERS_ARCHIVES_NEW,
LAPTOP_MODE_REBEL_COMMAND,
LAPTOP_MODE_MAX,
};
@@ -255,6 +257,7 @@ enum{
MILITIAROSTER_BOOKMARK, // added by Flugente
INTELMARKET_BOOKMARK, // added by Flugente
PRODUCTION_BOOKMARK, // added by Flugente
REBELCOMMAND_BOOKMARK,
TEXT_NUM_LAPTOP_BOOKMARKS
};
+2
View File
@@ -393,6 +393,8 @@ void InitDependingGameStyleOptions()
LoadReputationSettings();
// Load creatures settings
LoadCreaturesSettings();
// Load rebel command settings
LoadRebelCommandSettings();
#ifdef JA2UB
LoadGameUBOptions(); // JA25 UB
+19
View File
@@ -118,6 +118,7 @@
#include "PMC.h" // added by Flugente
#include "ASD.h" // added by Flugente
#include "MilitiaIndividual.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "BobbyR.h"
@@ -4499,6 +4500,12 @@ BOOLEAN SaveGame( int ubSaveGameID, STR16 pGameDesc )
goto FAILED_TO_SAVE;
}
if (!RebelCommand::Save(hFile))
{
ScreenMsg( FONT_MCOLOR_WHITE, MSG_ERROR, L"ERROR writing rebel command data" );
goto FAILED_TO_SAVE;
}
//Close the saved game file
FileClose( hFile );
@@ -6362,6 +6369,18 @@ BOOLEAN LoadSavedGame( int ubSavedGameID )
InitIndividualMilitiaData();
}
uiRelEndPerc += 1;
SetRelativeStartAndEndPercentage( 0, uiRelStartPerc, uiRelEndPerc, L"Load rebel command data..." );
RenderProgressBar( 0, 100 );
uiRelStartPerc = uiRelEndPerc;
if ( !RebelCommand::Load( hFile ) )
{
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String( "Rebel Command data Load failed" ) );
FileClose( hFile );
return(FALSE);
}
#if LOADSAVEGAME_LOGTIME
if ( fp_timelog )
{
+5 -1
View File
@@ -76,6 +76,7 @@
#include "ASD.h" // added by Flugente
#include "Strategic AI.h"
#include "MiniEvents.h"
#include "Rebel Command.h"
#endif
#include <vector>
#include <queue>
@@ -6214,7 +6215,7 @@ void HandleTrainingInSector( INT16 sMapX, INT16 sMapY, INT8 bZ )
// a normal training session costs gGameExternalOptions.iMilitiaTrainingCost * gGameExternalOptions.iRegularCostModifier
// it promotes gGameExternalOptions.iTrainingSquadSize militia with gGameExternalOptions.usIndividualMilitia_PromotionPoints_To_Regular points each
// thus a point costs gGameExternalOptions.iMilitiaTrainingCost * gGameExternalOptions.iRegularCostModifier / ( gGameExternalOptions.iTrainingSquadSize * gGameExternalOptions.usIndividualMilitia_PromotionPoints_To_Regular) points
FLOAT costperpoint = (FLOAT)( gGameExternalOptions.iMilitiaTrainingCost * gGameExternalOptions.iRegularCostModifier / ( gGameExternalOptions.iTrainingSquadSize * gGameExternalOptions.usIndividualMilitia_PromotionPoints_To_Regular ) );
FLOAT costperpoint = (FLOAT)( RebelCommand::GetMilitiaTrainingCostModifier() * gGameExternalOptions.iMilitiaTrainingCost * gGameExternalOptions.iRegularCostModifier / ( gGameExternalOptions.iTrainingSquadSize * gGameExternalOptions.usIndividualMilitia_PromotionPoints_To_Regular ) );
FLOAT totalcost = drillpoints * costperpoint;
@@ -9209,6 +9210,9 @@ INT16 GetTownTrainPtsForCharacter( SOLDIERTYPE *pTrainer, UINT16 *pusMaxPts )
sTrainingBonus += gGameExternalOptions.ubRpcBonusToTrainMilitia;
}
// apply training bonus from rebel command
sTrainingBonus += RebelCommand::GetMilitiaTrainingSpeedBonus();
// HEADROCK HAM 3.5: Training bonus given by local facilities
if (pTrainer->bSectorZ == 0)
{
+8
View File
@@ -72,6 +72,7 @@
#include "CampaignStats.h" // added by Flugente
#include "DynamicDialogue.h" // added by Flugente
#include "MilitiaIndividual.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "Reinforcement.h"
@@ -2191,6 +2192,13 @@ void CreateAutoResolveInterface()
ubRegMilitia = MilitiaInSectorOfRank( gpAR->ubSectorX, gpAR->ubSectorY, REGULAR_MILITIA );
ubGreenMilitia = MilitiaInSectorOfRank( gpAR->ubSectorX, gpAR->ubSectorY, GREEN_MILITIA );
// see if we get any bonus militia from nearby towns
UINT8 bonusGreenMilitia = 0, bonusRegularMilitia = 0, bonusEliteMilitia = 0;
RebelCommand::GetBonusMilitia(gpAR->ubSectorX, gpAR->ubSectorY, bonusGreenMilitia, bonusRegularMilitia, bonusEliteMilitia, FALSE); // no need to create a group for autoresolve as we're just increasing local militia pop
ubEliteMilitia += bonusEliteMilitia;
ubRegMilitia += bonusRegularMilitia;
ubGreenMilitia += bonusGreenMilitia;
// This block should be unnecessary. If the counts do not line up, there is a bug.
#if 0
while( ubEliteMilitia + ubRegMilitia + ubGreenMilitia < gpAR->ubCivs )
+3
View File
@@ -63,6 +63,7 @@
#include "PMC.h" // added by Flugente
#include "ASD.h" // added by Flugente
#include "MiniEvents.h"
#include "Rebel Command.h"
#endif
#include "Vehicles.h"
@@ -821,6 +822,8 @@ fFirstTimeInMapScreen = TRUE;
InitMiniEvents();
RebelCommand::Init();
return( TRUE );
}
+3
View File
@@ -26,6 +26,7 @@
#include "Isometric Utils.h" // added by Flugente for NOWHERE
#include "strategic.h" // added by Flugente
#include "message.h" // added by Flugente for ScreenMsg(...)
#include "Rebel Command.h"
#endif
#include "Luaglobal.h"
@@ -156,6 +157,8 @@ CHAR16 zString[128];
HourlyDrugUpdate();
RebelCommand::HourlyUpdate();
// WANNE: This check should avoid the resaving of a loaded auto-save game, when entering tactical
BOOLEAN doAutoSave = TRUE;
if (lastLoadedSaveGameDay == GetWorldDay() && lastLoadedSaveGameHour == GetWorldHour() )
File diff suppressed because it is too large Load Diff
+146
View File
@@ -0,0 +1,146 @@
#ifndef REBEL_COMMAND_H
#define REBEL_COMMAND_H
#include "mapscreen.h"
#include "Soldier Control.h"
#include "Types.h"
#define REBEL_COMMAND_MAX_ACTIONS_PER_REGION 6
namespace RebelCommand
{
enum RebelCommandDirectives
{
RCD_NONE = -1,
RCD_GATHER_SUPPLIES = 0,
RCD_SUPPORT_MILITIA,
RCD_TRAIN_MILITIA,
RCD_CREATE_PROPAGANDA,
RCD_ELITE_MILITIA,
RCD_HVT_STRIKES,
RCD_SPOTTERS,
RCD_RAID_MINES,
RCD_NUM_DIRECTIVES
};
enum RebelCommandAdminActions
{
RCAA_NONE = -1,
RCAA_SUPPLY_LINE = 0,
RCAA_REBEL_RADIO,
RCAA_SAFEHOUSES,
RCAA_SUPPLY_DISRUPTION,
RCAA_SCOUTS,
RCAA_DEAD_DROPS,
RCAA_SMUGGLERS,
RCAA_WAREHOUSES,
RCAA_TAXES,
RCAA_ASSIST_CIVILIANS,
RCAA_MERC_SUPPORT,
RCAA_MINING_POLICY,
RCAA_NUM_ACTIONS
};
enum RegionAdminStatus
{
RAS_NONE,
RAS_ACTIVE,
RAS_INACTIVE
};
typedef struct Directive {
std::vector<INT32> iCostToImprove;
std::vector<FLOAT> fValue1;
std::vector<FLOAT> fValue2;
INT32 GetCostToImprove(INT8 currentLevel) { return iCostToImprove[currentLevel]; }
FLOAT GetValue1(INT8 currentLevel) { return fValue1[currentLevel]; }
FLOAT GetValue2(INT8 currentLevel) { return fValue2[currentLevel]; }
} Directive;
typedef struct AdminAction {
FLOAT fValue1;
FLOAT fValue2;
FLOAT fValue3;
} AdminAction;
typedef struct Info {
std::vector<Directive> directives;
std::vector<AdminAction> adminActions;
} Info;
extern Info info;
typedef struct DirectiveSaveInfo {
INT8 iLevel = 0;
RebelCommandDirectives id = RCD_NONE;
BOOLEAN CanImprove() { return id != RCD_NONE && (size_t)iLevel < info.directives[id].iCostToImprove.size() && info.directives[id].GetCostToImprove(iLevel); }
void Improve() { iLevel++; }
INT32 GetCostToImprove() { return info.directives[id].GetCostToImprove(iLevel); }
FLOAT GetValue1() { return info.directives[id].GetValue1(iLevel); }
FLOAT GetValue2() { return info.directives[id].GetValue2(iLevel); }
} DirectiveSaveInfo;
typedef struct RegionSaveInfo
{
RegionAdminStatus adminStatus = RAS_NONE;
RebelCommandAdminActions actions[REBEL_COMMAND_MAX_ACTIONS_PER_REGION] = { RCAA_SUPPLY_LINE, RCAA_NONE, RCAA_NONE, RCAA_NONE, RCAA_NONE, RCAA_NONE, };
UINT8 actionLevels[REBEL_COMMAND_MAX_ACTIONS_PER_REGION] = { 0, 0, 0, 0, 0, 0 };
UINT8 ubMaxLoyalty = 50;
INT32 GetAdminDeployCost(INT16 numAdminTeams) { return 10 * numAdminTeams * numAdminTeams; };
INT32 GetAdminReactivateCost(INT16 numAdminTeams) { return GetAdminDeployCost(numAdminTeams) / 4; };
} RegionSaveInfo;
typedef struct SaveInfo
{
RegionSaveInfo regions[MAX_TOWNS];
DirectiveSaveInfo directives[20];
INT32 iSupplies = 0;
INT32 iActiveDirective = RCD_GATHER_SUPPLIES;
INT32 iSelectedDirective = RCD_GATHER_SUPPLIES;
INT8 iMilitiaStatsLevel = 0;
INT8 filler[20];
} SaveInfo;
extern SaveInfo rebelCommandSaveInfo;
BOOLEAN EnterWebsite();
void ExitWebsite();
void RenderWebsite();
void HandleWebsite();
void ApplyEnemyPenalties(SOLDIERTYPE* pSoldier);
void ApplyMilitiaBonuses(SOLDIERTYPE* pMilitia);
UINT8 GetApproximateEnemyLocationResolutionIndex();
FLOAT GetAssignmentBonus(INT16 x, INT16 y);
INT32 GetMiningPolicyBonus(INT16 townId);
void GetBonusMilitia(INT16 x, INT16 y, UINT8& green, UINT8& regular, UINT8& elite, BOOLEAN createGroup);
FLOAT GetLoyaltyGainModifier();
UINT8 GetMaxTownLoyalty(INT8 townId);
INT16 GetMilitiaTrainingSpeedBonus();
FLOAT GetMilitiaTrainingCostModifier();
FLOAT GetMilitiaUpkeepCostModifier();
BOOLEAN NeutraliseRole(const SOLDIERTYPE* pSoldier);
void RaidMines(INT32 &playerIncome, INT32 &enemyIncome);
BOOLEAN ShowApproximateEnemyLocations();
void ShowWebsiteAvailableMessage();
void DailyUpdate();
void HourlyUpdate();
void Init();
BOOLEAN Load(HWFILE file);
BOOLEAN Save(HWFILE file);
}
//BOOLEAN LoadRebelCommand( HWFILE file ) { return RebelCommand::Load( file ); }
#endif
+1
View File
@@ -228,4 +228,5 @@
#include "Debug Control.h"
#include "expat.h"
#include "MiniEvents.h"
#include "Rebel Command.h"
#endif
+3
View File
@@ -30,6 +30,7 @@
#include "Town Militia.h" // added by Flugente
#include "Campaign.h" // added by Flugente
#include "Strategic AI.h"
#include "Rebel Command.h"
#endif
#include "Luaglobal.h"
@@ -741,6 +742,8 @@ void HandleNPCSystemEvent( UINT32 uiEvent )
{
EndQuest( QUEST_FOOD_ROUTE, 10, MAP_ROW_A );
SetFactTrue( FACT_FOOD_QUEST_OVER );
RebelCommand::ShowWebsiteAvailableMessage();
}
break;
case NPC_ACTION_DELAYED_MAKE_BRENDA_LEAVE:
+12 -7
View File
@@ -23,6 +23,7 @@
#include "history.h"
#include "Facilities.h"
#include "ASD.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "GameInitOptionsScreen.h"
@@ -693,8 +694,7 @@ void HandleIncomeFromMines( void )
INT32 iIncome = 0;
INT32 iIncome_Enemy = 0; // Flugente: new AI gets money from mines
// HEADROCK HAM 3.6: Modifier from Facilities
INT32 iFacilityModifier = 0;
INT32 iModifier = 0;
// mine each mine, check if we own it and such
for ( INT8 bCounter = 0; bCounter < MAX_NUMBER_OF_MINES; ++bCounter )
@@ -702,10 +702,12 @@ void HandleIncomeFromMines( void )
if ( PlayerControlsMine( bCounter ) )
{
// HEADROCK HAM 3.6: Add facility modifier as a percentage
iFacilityModifier = 100 + MineIncomeModifierFromFacility( bCounter );
// add rebel command bonus
iModifier = 100 + MineIncomeModifierFromFacility( bCounter ) + RebelCommand::GetMiningPolicyBonus(gMineStatus[bCounter].bAssociatedTown);
// mine this mine
iIncome += (MineAMine( bCounter ) * iFacilityModifier) / 100;
iIncome += (MineAMine( bCounter ) * iModifier) / 100;
}
else
{
@@ -718,6 +720,8 @@ void HandleIncomeFromMines( void )
iIncome = (iIncome * gGameExternalOptions.usMineIncomePercentage) / 100;
iIncome_Enemy = (iIncome_Enemy * gGameExternalOptions.usMineIncomePercentage) / 100;
RebelCommand::RaidMines(iIncome, iIncome_Enemy);
if( iIncome )
{
AddTransactionToPlayersBook( DEPOSIT_FROM_SILVER_MINE, 0, GetWorldTotalMin( ), iIncome );
@@ -736,7 +740,7 @@ UINT32 PredictDailyIncomeFromAMine( INT8 bMineIndex, BOOLEAN fIncludeFacilities
// (miner loyalty, % town controlled, monster infestation level, and current max removal rate may all in fact change)
UINT32 uiAmtExtracted = 0;
// HEADROCK HAM 3.6: Facilities can now modify income
INT32 iFacilityModifier = 0;
INT32 iModifier = 0;
if(PlayerControlsMine(bMineIndex))
{
@@ -752,8 +756,9 @@ UINT32 PredictDailyIncomeFromAMine( INT8 bMineIndex, BOOLEAN fIncludeFacilities
if (bMineIndex && fIncludeFacilities)
{
// HEADROCK HAM 3.6: Facility modifier applied as a percentage
iFacilityModifier = 100 + MineIncomeModifierFromFacility( bMineIndex );
uiAmtExtracted = (uiAmtExtracted * iFacilityModifier) / 100;
// add rebel command bonus
iModifier = 100 + MineIncomeModifierFromFacility( bMineIndex ) + RebelCommand::GetMiningPolicyBonus(gMineStatus[bMineIndex].bAssociatedTown);
uiAmtExtracted = (uiAmtExtracted * iModifier) / 100;
}
}
+7 -1
View File
@@ -38,6 +38,7 @@
#include "Facilities.h"
#include "CampaignStats.h" // added by Flugente
#include "DynamicDialogue.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "Luaglobal.h"
@@ -293,7 +294,6 @@ void IncrementTownLoyalty( INT8 bTownId, UINT32 uiLoyaltyIncrease )
UINT32 uiRemainingIncrement;
INT16 sThisIncrement;
AssertGE (bTownId, BLANK_SECTOR);
AssertLT (bTownId, NUM_TOWNS);
@@ -303,6 +303,9 @@ void IncrementTownLoyalty( INT8 bTownId, UINT32 uiLoyaltyIncrease )
return;
}
// if rebel command is enabled, apply gain modifier
uiLoyaltyIncrease *= RebelCommand::GetLoyaltyGainModifier();
// modify loyalty change by town's individual attitude toward rebelling (20 is typical)
uiLoyaltyIncrease *= (5 * gubTownRebelSentiment[ bTownId ]);
uiLoyaltyIncrease /= 100;
@@ -394,6 +397,9 @@ void UpdateTownLoyaltyRating( INT8 bTownId )
ubMaxLoyalty = MAX_LOYALTY_VALUE;
}
// if playing with rebel command, limit max loyalty
ubMaxLoyalty = min(ubMaxLoyalty, RebelCommand::GetMaxTownLoyalty(bTownId));
// check if we'd be going over the max
if( (gTownLoyalty[ bTownId ].ubRating + sRatingChange ) >= ubMaxLoyalty )
{
+3
View File
@@ -183,6 +183,9 @@ INT32 GetNumberOfWholeTownsUnderControl( void );
// is all the sectors of this town under control by the player
INT32 IsTownUnderCompleteControlByPlayer( INT8 bTownId );
// are all town sectors under control by the enemy
INT32 IsTownUnderCompleteControlByEnemy(INT8 bTownId);
// used when monsters attack a town sector without going through tactical and they win
void AdjustLoyaltyForCivsEatenByMonsters( INT16 sSectorX, INT16 sSectorY, UINT8 ubHowMany, BOOLEAN aBandits );
+8
View File
@@ -474,6 +474,10 @@
RelativePath=".\QuestText.h"
>
</File>
<File
RelativePath=".\Rebel Command.h"
>
</File>
<File
RelativePath=".\Reinforcement.h"
>
@@ -688,6 +692,10 @@
RelativePath=".\Quests.cpp"
>
</File>
<File
RelativePath=".\Rebel Command.cpp"
>
</File>
<File
RelativePath=".\Reinforcement.cpp"
>
+8
View File
@@ -474,6 +474,10 @@
RelativePath="QuestText.h"
>
</File>
<File
RelativePath="Rebel Command.h"
>
</File>
<File
RelativePath="Reinforcement.h"
>
@@ -686,6 +690,10 @@
RelativePath="Quests.cpp"
>
</File>
<File
RelativePath="Rebel Command.cpp"
>
</File>
<File
RelativePath="Reinforcement.cpp"
>
+2
View File
@@ -57,6 +57,7 @@
<ClInclude Include="Quest Debug System.h" />
<ClInclude Include="Quests.h" />
<ClInclude Include="QuestText.h" />
<ClInclude Include="Rebel Command.h" />
<ClInclude Include="Reinforcement.h" />
<ClInclude Include="Scheduling.h" />
<ClInclude Include="Strategic AI.h" />
@@ -111,6 +112,7 @@
<ClCompile Include="Queen Command.cpp" />
<ClCompile Include="Quest Debug System.cpp" />
<ClCompile Include="Quests.cpp" />
<ClCompile Include="Rebel Command.cpp" />
<ClCompile Include="Reinforcement.cpp" />
<ClCompile Include="Scheduling.cpp" />
<ClCompile Include="Strategic AI.cpp" />
+8 -2
View File
@@ -105,7 +105,10 @@
<ClInclude Include="QuestText.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Reinforcement.h">
<ClInclude Include="Rebel Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Reinforcement.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Scheduling.h">
@@ -263,7 +266,10 @@
<ClCompile Include="Quests.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Reinforcement.cpp">
<ClCompile Include="Rebel Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Reinforcement.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Scheduling.cpp">
+2
View File
@@ -57,6 +57,7 @@
<ClInclude Include="Quest Debug System.h" />
<ClInclude Include="Quests.h" />
<ClInclude Include="QuestText.h" />
<ClInclude Include="Rebel Command.h" />
<ClInclude Include="Reinforcement.h" />
<ClInclude Include="Scheduling.h" />
<ClInclude Include="Strategic AI.h" />
@@ -111,6 +112,7 @@
<ClCompile Include="Queen Command.cpp" />
<ClCompile Include="Quest Debug System.cpp" />
<ClCompile Include="Quests.cpp" />
<ClCompile Include="Rebel Command.cpp" />
<ClCompile Include="Reinforcement.cpp" />
<ClCompile Include="Scheduling.cpp" />
<ClCompile Include="Strategic AI.cpp" />
+8 -2
View File
@@ -99,7 +99,10 @@
<ClInclude Include="QuestText.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Reinforcement.h">
<ClInclude Include="Rebel Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Reinforcement.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Scheduling.h">
@@ -257,7 +260,10 @@
<ClCompile Include="Quests.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Reinforcement.cpp">
<ClCompile Include="Rebel Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Reinforcement.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Scheduling.cpp">
+4 -2
View File
@@ -50,13 +50,14 @@
<ClInclude Include="Merc Contract.h" />
<ClInclude Include="MilitiaIndividual.h" />
<ClInclude Include="MilitiaSquads.h" />
<ClInclude Include="MiniEvents.h" />
<ClInclude Include="MiniEvents.h" />
<ClInclude Include="Player Command.h" />
<ClInclude Include="PreBattle Interface.h" />
<ClInclude Include="Queen Command.h" />
<ClInclude Include="Quest Debug System.h" />
<ClInclude Include="Quests.h" />
<ClInclude Include="QuestText.h" />
<ClInclude Include="Rebel Command.h" />
<ClInclude Include="Reinforcement.h" />
<ClInclude Include="Scheduling.h" />
<ClInclude Include="Strategic AI.h" />
@@ -105,12 +106,13 @@
<ClCompile Include="Merc Contract.cpp" />
<ClCompile Include="MilitiaIndividual.cpp" />
<ClCompile Include="MilitiaSquads.cpp" />
<ClCompile Include="MiniEvents.cpp" />
<ClCompile Include="MiniEvents.cpp" />
<ClCompile Include="Player Command.cpp" />
<ClCompile Include="PreBattle Interface.cpp" />
<ClCompile Include="Queen Command.cpp" />
<ClCompile Include="Quest Debug System.cpp" />
<ClCompile Include="Quests.cpp" />
<ClCompile Include="Rebel Command.cpp" />
<ClCompile Include="Reinforcement.cpp" />
<ClCompile Include="Scheduling.cpp" />
<ClCompile Include="Strategic AI.cpp" />
+2
View File
@@ -77,6 +77,7 @@
<ClInclude Include="Quest Debug System.h" />
<ClInclude Include="Quests.h" />
<ClInclude Include="QuestText.h" />
<ClInclude Include="Rebel Command.h" />
<ClInclude Include="Reinforcement.h" />
<ClInclude Include="Scheduling.h" />
<ClInclude Include="Strategic AI.h" />
@@ -131,6 +132,7 @@
<ClCompile Include="Queen Command.cpp" />
<ClCompile Include="Quest Debug System.cpp" />
<ClCompile Include="Quests.cpp" />
<ClCompile Include="Rebel Command.cpp" />
<ClCompile Include="Reinforcement.cpp" />
<ClCompile Include="Scheduling.cpp" />
<ClCompile Include="Strategic AI.cpp" />
+5 -4
View File
@@ -34,6 +34,7 @@
#include "MilitiaIndividual.h" // added by Flugente
#include "Campaign.h" // added by Flugente
#include "message.h" // added by Flugente
#include "Rebel Command.h"
#endif
// HEADROCK HAM 3: include these files so that a militia trainer's Effective Leadership can be determined. Used
@@ -832,7 +833,7 @@ BOOLEAN ServeNextFriendlySectorInTown( INT16 *sNeighbourX, INT16 *sNeighbourY )
void HandleInterfaceMessageForCostOfTrainingMilitia( SOLDIERTYPE *pSoldier )
{
INT32 iMilitiaTrainingCost = gGameExternalOptions.iMilitiaTrainingCost;
INT32 iMilitiaTrainingCost = gGameExternalOptions.iMilitiaTrainingCost * RebelCommand::GetMilitiaTrainingCostModifier();
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Militia2");
CHAR16 sString[ 128 ];
@@ -937,7 +938,7 @@ void HandleInterfaceMessageForContinuingTrainingMilitia( SOLDIERTYPE *pSoldier )
INT32 iCounter = 0;
INT32 iMinLoyaltyToTrain = gGameExternalOptions.iMinLoyaltyToTrain;
INT32 iMilitiaTrainingCost = gGameExternalOptions.iMilitiaTrainingCost;
INT32 iMilitiaTrainingCost = gGameExternalOptions.iMilitiaTrainingCost * RebelCommand::GetMilitiaTrainingCostModifier();
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Militia3");
@@ -1642,7 +1643,7 @@ void ContinueTrainingInThisSector( UINT8 ubMilitiaType )
void PayForTrainingInSector( UINT8 ubSector )
{
INT32 iMilitiaTrainingCost = gGameExternalOptions.iMilitiaTrainingCost;
INT32 iMilitiaTrainingCost = gGameExternalOptions.iMilitiaTrainingCost * RebelCommand::GetMilitiaTrainingCostModifier();
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Militia6");
INT32 CostMultiplyer = 0;
@@ -2083,7 +2084,7 @@ UINT32 CalcMilitiaUpkeep( void )
}
}
return uiTotalPayment;
return uiTotalPayment * RebelCommand::GetMilitiaUpkeepCostModifier();
}
// Flugente: our militia volunteer pool is limited
+11
View File
@@ -116,6 +116,7 @@
#include "Creature Spreading.h" // added by Flugente forResetCreatureAttackVariables()
#include "finances.h" // added by Flugente
#include "MilitiaIndividual.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "connect.h"
@@ -182,6 +183,7 @@ INT32 giPauseAllAITimer = 0;
BOOLEAN sniperwarning;
BOOLEAN biggunwarning;
BOOLEAN gogglewarning;
BOOLEAN checkBonusMilitia;
//BOOLEAN airstrikeavailable;
TacticalStatusType gTacticalStatus;
@@ -993,6 +995,14 @@ BOOLEAN ExecuteOverhead( )
}
}
// check if bonus militia join us
if (checkBonusMilitia == TRUE && gGameExternalOptions.fRebelCommandEnabled && gubPBSectorZ == 0)
{
UINT8 bonusGreenMilitia = 0, bonusRegularMilitia = 0, bonusEliteMilitia = 0;
RebelCommand::GetBonusMilitia(gubPBSectorX, gubPBSectorY, bonusGreenMilitia, bonusRegularMilitia, bonusEliteMilitia, TRUE);
checkBonusMilitia = FALSE;
}
for ( cnt = 0; cnt < guiNumMercSlots; cnt++ )
{
pSoldier = MercSlots[ cnt ];
@@ -6748,6 +6758,7 @@ void SetEnemyPresence( )
sniperwarning = FALSE;
biggunwarning = FALSE;
gogglewarning = FALSE;
checkBonusMilitia = TRUE;
// airstrikeavailable = TRUE;
}
else
+2 -1
View File
@@ -125,6 +125,7 @@
#include "LightEffects.h" // added by Flugente for CreatePersonalLight()
#include "DynamicDialogue.h" // added by Flugente for HandleDynamicOpinions()
#include "strategic town loyalty.h" // added by Flugente for gTownLoyalty
#include "Rebel Command.h"
//forward declarations of common classes to eliminate includes
class OBJECTTYPE;
@@ -21382,7 +21383,7 @@ extern FLOAT GetAdministrationPercentage( INT16 sX, INT16 sY );
FLOAT SOLDIERTYPE::GetAdministrationModifier()
{
if ( ADMINISTRATION_BONUS( this->bAssignment ) )
return 1.0f + GetAdministrationPercentage( this->sSectorX, this->sSectorY ) / 100.0f;
return 1.0f + GetAdministrationPercentage( this->sSectorX, this->sSectorY ) / 100.0f + RebelCommand::GetAssignmentBonus(this->sSectorX, this->sSectorY);
return 1.0f;
}
+16 -5
View File
@@ -47,6 +47,7 @@
#include "Interface.h" // added by Flugente
#include "Soldier macros.h" // added by Flugente
#include "MilitiaIndividual.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "connect.h"
@@ -1763,6 +1764,10 @@ BOOLEAN TacticalCopySoldierFromCreateStruct( SOLDIERTYPE *pSoldier, SOLDIERCREAT
pSoldier->flags.bHasKeys = pCreateStruct->fHasKeys;
pSoldier->ubSoldierClass = pCreateStruct->ubSoldierClass;
pSoldier->sSectorX = pCreateStruct->sSectorX;
pSoldier->sSectorY = pCreateStruct->sSectorY;
pSoldier->bSectorZ = pCreateStruct->bSectorZ;
// Flugente: soldier profiles
// silversurfer: Don't replace tanks!
if ( !ARMED_VEHICLE( pCreateStruct ) && !ENEMYROBOT( pCreateStruct ) )
@@ -1821,6 +1826,12 @@ BOOLEAN TacticalCopySoldierFromCreateStruct( SOLDIERTYPE *pSoldier, SOLDIERCREAT
if ( gGameExternalOptions.fAssignTraitsToMilitia && SOLDIER_CLASS_MILITIA( pSoldier->ubSoldierClass ) )
AssignTraitsToSoldier( pSoldier, pCreateStruct );
// if rebel command is enabled, apply bonuses and penalties
if (SOLDIER_CLASS_MILITIA(pSoldier->ubSoldierClass))
RebelCommand::ApplyMilitiaBonuses(pSoldier);
if ((SOLDIER_CLASS_ENEMY(pSoldier->ubSoldierClass) || pSoldier->ubSoldierClass == SOLDIER_CLASS_BANDIT))
RebelCommand::ApplyEnemyPenalties(pSoldier);
// Flugente: enemy roles
if ( gGameExternalOptions.fEnemyRoles && gGameExternalOptions.fEnemyOfficers && SOLDIER_CLASS_ENEMY( pSoldier->ubSoldierClass ) )
{
@@ -1831,7 +1842,7 @@ BOOLEAN TacticalCopySoldierFromCreateStruct( SOLDIERTYPE *pSoldier, SOLDIERCREAT
UINT8 numofficers = HighestEnemyOfficersInSector( officertype );
// this guy becomes an officer if there are enough soldiers around, and we aren't already at max of officers
if ( numenemies > gGameExternalOptions.usEnemyOfficersPerTeamSize * numofficers && numofficers < gGameExternalOptions.usEnemyOfficersMax )
if ( numenemies > gGameExternalOptions.usEnemyOfficersPerTeamSize * numofficers && numofficers < gGameExternalOptions.usEnemyOfficersMax && !RebelCommand::NeutraliseRole(pSoldier) )
pSoldier->usSoldierFlagMask |= SOLDIER_ENEMY_OFFICER;
}
}
@@ -4907,7 +4918,7 @@ BOOLEAN AssignTraitsToSoldier( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCre
}
// Now assign the trait
if ( Chance( iChance ) )
if ( Chance( iChance ) && !RebelCommand::NeutraliseRole(pSoldier) )
{
if ( !ATraitAssigned )
{
@@ -5283,7 +5294,7 @@ BOOLEAN AssignTraitsToSoldier( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCre
if ( gGameOptions.fNewTraitSystem && (!ATraitAssigned || !BTraitAssigned || !CTraitAssigned) )
{
// if we have a radio set, give us the corresponding trait so we can use it...
if ( fRadioSetFound )
if ( fRadioSetFound && !RebelCommand::NeutraliseRole(pSoldier))
{
// this is a minor trait, so try to first fill the minor slot if possible
// reasoning: this trait has to be one of the first evaluated - getting a radio set is rare, so e want to make sure we become a radio guy if we're lucky
@@ -5307,7 +5318,7 @@ BOOLEAN AssignTraitsToSoldier( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCre
}
// HEAVY WEAPONS TRAIT
if ( foundMortar || foundRocketlauncher || foundGrenadelauncher )
if ( (foundMortar || foundRocketlauncher || foundGrenadelauncher) && !RebelCommand::NeutraliseRole(pSoldier) )
{
// setup basic chances based on soldier type
if ( ubSolClass == SOLDIER_CLASS_ELITE || ubSolClass == SOLDIER_CLASS_ELITE_MILITIA )
@@ -5837,7 +5848,7 @@ BOOLEAN AssignTraitsToSoldier( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCre
}
// Flugente: enemy roles: allow medics
if ( gGameExternalOptions.fEnemyRoles && gGameExternalOptions.fEnemyMedics && gGameOptions.fNewTraitSystem && (!ATraitAssigned || !BTraitAssigned) )
if ( gGameExternalOptions.fEnemyRoles && gGameExternalOptions.fEnemyMedics && gGameOptions.fNewTraitSystem && (!ATraitAssigned || !BTraitAssigned) && !RebelCommand::NeutraliseRole(pSoldier))
{
// if we have a radio set, give us the corresponding trait so we can use it...
if ( fFirstAidKitFound )
+25 -9
View File
@@ -23,6 +23,7 @@
#include "Interactive Tiles.h"
#include "gameloop.h"
#include "Action Items.h" // added by Flugente
#include "Rebel Command.h"
#endif
#include "connect.h"
@@ -662,16 +663,30 @@ void GoIntoOverheadMap( )
giXC += dX, giYC += dY;
}
if(WORLD_MAX == 129600){
if(NightTime()){
gubGridDivisor = ubResolutionTable360[gGameExternalOptions.ubGridResolutionNight];
}else{
gubGridDivisor = ubResolutionTable360[gGameExternalOptions.ubGridResolutionDay];
if (RebelCommand::ShowApproximateEnemyLocations())
{
gubGridDivisor = ubResolutionTable360[RebelCommand::GetApproximateEnemyLocationResolutionIndex()];
}
else
{
if(NightTime()){
gubGridDivisor = ubResolutionTable360[gGameExternalOptions.ubGridResolutionNight];
}else{
gubGridDivisor = ubResolutionTable360[gGameExternalOptions.ubGridResolutionDay];
}
}
}else{
if(NightTime()){
gubGridDivisor = ubResolutionTable160[gGameExternalOptions.ubGridResolutionNight];
}else{
gubGridDivisor = ubResolutionTable160[gGameExternalOptions.ubGridResolutionDay];
if (RebelCommand::ShowApproximateEnemyLocations())
{
gubGridDivisor = ubResolutionTable160[RebelCommand::GetApproximateEnemyLocationResolutionIndex()];
}
else
{
if(NightTime()){
gubGridDivisor = ubResolutionTable160[gGameExternalOptions.ubGridResolutionNight];
}else{
gubGridDivisor = ubResolutionTable160[gGameExternalOptions.ubGridResolutionDay];
}
}
}
gusGridFrameX = WORLD_COLS * 4;
@@ -1408,7 +1423,8 @@ void RenderOverheadOverlays()
UINT16 jamcolour = Get16BPPColor( FROMRGB( 36, 219, 151 ) );
BOOLEAN marklastenemy = FALSE;
if ( gGameSettings.fOptions[TOPTION_SHOW_LAST_ENEMY] && gGameExternalOptions.ubMarkerMode && gTacticalStatus.Team[ ENEMY_TEAM ].bMenInSector <= gGameExternalOptions.ubSoldiersLeft )
if ( (gGameSettings.fOptions[TOPTION_SHOW_LAST_ENEMY] && gGameExternalOptions.ubMarkerMode && gTacticalStatus.Team[ ENEMY_TEAM ].bMenInSector <= gGameExternalOptions.ubSoldiersLeft)
|| RebelCommand::ShowApproximateEnemyLocations())
marklastenemy = TRUE;
for( i = 0; i < end; ++i )
+5
View File
@@ -3115,6 +3115,11 @@ extern STR16 szFactoryText[];
extern STR16 szTurncoatText[];
extern STR16 szRebelCommandText[];
extern STR16 szRebelCommandHelpText[];
extern STR16 szRebelCommandAdminActionsText[];
extern STR16 szRebelCommandDirectivesText[];
#define TACTICAL_INVENTORY_DIALOG_NUM 16
#define TACTICAL_COVER_DIALOG_NUM 16
+141
View File
@@ -11675,6 +11675,147 @@ STR16 gLbeStatsDesc[14] =
L"兼容战斗包:", //L"Compatible combat packs:",
};
STR16 szRebelCommandText[] = // TODO.Translate
{
L"Arulco Rebel Command - National Overview",
L"Arulco Rebel Command - Regional Overview",
L"Switch to Regional Overview",
L"Switch to National Overview",
L"Supplies:",
L"Incoming Supplies",
L"/day",
L"Current Directive",
L"Improve Directive ($%d)",
L"Improving the selected directive will cost $%d. Confirm expenditure?",
L"Insufficient funds.",
L"New directive will take effect at 00:00.",
L"Militia Overview",
L"Green:",
L"Regular:",
L"Elite:",
L"Projected Daily Total:",
L"Volunteer Pool:",
L"Resources Available:",
L"Guns:",
L"Armour:",
L"Misc:",
L"Training Cost:",
L"Upkeep Cost Per Soldier Per Day:",
L"Training Speed Bonus:",
L"Combat Bonuses:",
L"Physical Stats Bonus:",
L"Marksmanship Bonus:",
L"Upgrade Stats ($%d)",
L"Upgrading militia stats will cost $%d. Confirm expenditure?",
L"Region:",
L"Next",
L"Previous",
L"Administration Team:",
L"None",
L"Active",
L"Inactive",
L"Loyalty:",
L"Maximum Loyalty:",
L"Deploy Administration Team (%d supplies)",
L"Reactivate Administration Team (%d supplies)",
L"It is currently not safe to deploy an administration team to this region. You must establish a foothold by controlling at least one town sector first.",
L"No regional actions available in Omerta.",
L"Administration teams can be deployed to other regions once you capture at least one town sector. Once active, they will be able to expand your influence and power in the region. However, they will need supplies to operate and enact policies.",
L"Be mindful of where you choose to direct supplies. Enacting regional policies will increase supply costs for other policies in the same region and nationally (to a lesser extent).",
L"Administrative Actions:",
L"Establish %s",
L"Improve %s",
L"Current Tier: %d",
L"Taking any administrative action in this region will cost %d supplies.",
L"Dead drop intel gain: %d",
L"Smuggler supply gain: %d",
L"A small group of militia from a nearby safehouse have joined the battle!",
L"[A.R.C. WEBSITE AVAILABLE] With the delivery of food and basic supplies to Omerta, you have convinced the rebels that you're here to make an impact. You have been granted access to the command system they've been working on, which is now available through your laptop.",
L"It is currently not safe to reactivate the administration team here. Recapture a town sector first.",
L"Mine raid successful. Stole $%d.",
};
STR16 szRebelCommandHelpText[] = // TODO.Translate
{
L"|S|u|p|p|l|i|e|s\n \nFood, water, medical supplies, weapons, and anything else that\nthe rebels might find useful. Supplies are obtained automatically\nby the rebels.",
L"|I|n|c|o|m|i|n|g |S|u|p|p|l|i|e|s\n \nEach day, the rebels will gather supplies on their own. As you\ntake over more towns, the amount of supplies they will be\nable to find per day will increase.",
L"|C|u|r|r|e|n|t |D|i|r|e|c|t|i|v|e\n \nYou can choose how the rebels will prioritise their strategic\nobjectives. New directives will become available as you make\nprogress.",
L"|A|d|m|i|n|i|s|t|r|a|t|i|o|n |T|e|a|m\n \nOnce deployed, an admin team is responsible for handling the\nday-to-day affairs of the region. This includes supporting\nlocals, creating rebel propaganda, establishing regional\npolicies, and more.",
L"|M|a|x|i|m|u|m |L|o|y|a|l|t|y\n \nYou will need to convince the locals to fully trust you. This\ncan be done by creating a supply line to them, showing that\nyou intend to improve their quality of life.",
};
// follows a specific format:
// x: "Admin Action Button Text",
// x+1: "Admin action description text",
STR16 szRebelCommandAdminActionsText[] = // TODO.Translate
{
L"Supply Line",
L"Distribute much-needed supplies amongst the local population. Increases maximum regional loyalty.",
L"Rebel Radio",
L"Begin broadcasting rebel public radio in the region. The town gains loyalty daily.",
L"Safehouses",
L"Construct rebel safehouses in the countryside, far from prying eyes. Bonus militia may join you in combat when operating in this region.",
L"Supply Disruption",
L"The rebels will try to disrupt enemy movements in the area by targetting their supplies. Enemies fighting in this region are weaker.",
L"Scout Patrols",
L"Start regular scout patrols to monitor hostile activity in the area. Enemy groups will be spotted further from town.",
L"Dead Drops",
L"Set up dead drops for rebel scouts and infiltrators to deliver their intel. Provides daily intel.",
L"Smugglers",
L"Enlist the aid of smugglers to bring in supplies for the rebels. Provides an unreliable daily supply boost.",
L"Militia Warehouses",
L"Construct warehouses in remote areas, allowing the rebels to stockpile weapons for the militia. Provides daily militia resources.",
L"Regional Taxes",
L"Collect money from the locals to assist your efforts. This is a permanent action. Increases daily income, but regional loyalty falls daily.",
L"Civilian Aid",
L"Assign some rebels to directly assist and support civilians in the area. Increases daily volunteer pool growth.",
L"Merc Support",
L"Set up facilities to directly support your mercs assigned in the town. Increases the effectiveness of merc assignments (doctoring, repairing, militia training, etc).",
L"Mining Policy",
L"Import better equipment and work with the town's miners to create more balanced and efficient shift schedules. Increases the town's mine income.",
};
// follows a specific format:
// x: "Directive Name",
// x+1: "Directive Bonus Description",
// x+2: "Directive Help Text",
// x+3: "Directive Improvement Button Description",
STR16 szRebelCommandDirectivesText[] = // TODO.Translate
{
L"Gather Supplies",
L"Gain an additional %.0f supplies per day.",
L"Increase daily supply income by amassing supplies from\nsympathetic locals, and seeking aid from international aid groups.",
L"Improving this directive will increase the amount of supplies that the rebels can gather daily.",
L"Support Militia",
L"Reduce militia daily upkeep costs. Militia daily upkeep cost modifier: %.2f.",
L"The rebels will help out with logistics about the militia\nyou've trained, reducing the strain on your wallet.",
L"Improving this directive will reduce the daily upkeep costs of your militia.",
L"Train Militia",
L"Reduce militia training costs and increase militia training speed. Militia training cost modifier: %.2f. Militia training speed modifier: %.2f.",
L"The rebels will assist when you are training militia,\nincreasing the efficiency at which you can train them.",
L"Improving this directive will further reduce training cost and increase training speed.",
L"Propaganda Campaign",
L"Town loyalty rises faster. Loyalty gain modifier: %.2f.",
L"Your victories and feats will be embellished as news reaches\nthe locals.",
L"Improving this directive will increase how quickly town loyalty rises.",
L"Deploy Elites",
L"%.0f elite militia appear in Omerta each day.",
L"The rebels release a small number of their highly-trained forces to your command.",
L"Improving this directive will increase the number of militia\nthat appear each day.",
L"High Value Target Strikes",
L"Enemy groups are less likely to have specialised soldiers.",
L"Surgical strikes will be conducted against enemy groups. Officers,\nmedics, radio operators, and other specialists are targetted.",
L"Improving this directive will make strikes more successful and effective.",
L"Spotter Teams",
L"When in combat, approximate enemy locations are revealed in the overhead map (press INSERT button in tactical).",
L"A small team will be attached to each of your squads, providing\napproximate locations of enemies when in combat.",
L"Improving this directive will make the locations of unspotted enemies more precise.",
L"Raid Mines",
L"Steal some income from mines not under your control. This directive becomes less useful as you claim mines.",
L"Conduct smash-and-grab raids on hostile mines. While not always\nsuccessful, the raids that do succeed should provide a\nsmall income bump.",
L"Improving this directive will increase the maximum value of stolen income.",
};
// WANNE: Some Chinese specific strings that needs to be in unicode!
STR16 ChineseSpecString1 = L"%"; //defined in _ChineseText.cpp as this file is already unicode
STR16 ChineseSpecString2 = L"*%3d%%%"; //defined in _ChineseText.cpp as this file is already unicode
+141
View File
@@ -11677,4 +11677,145 @@ STR16 gLbeStatsDesc[14] =
L"Compatible combat packs:",
};
STR16 szRebelCommandText[] = // TODO.Translate
{
L"Arulco Rebel Command - National Overview",
L"Arulco Rebel Command - Regional Overview",
L"Switch to Regional Overview",
L"Switch to National Overview",
L"Supplies:",
L"Incoming Supplies",
L"/day",
L"Current Directive",
L"Improve Directive ($%d)",
L"Improving the selected directive will cost $%d. Confirm expenditure?",
L"Insufficient funds.",
L"New directive will take effect at 00:00.",
L"Militia Overview",
L"Green:",
L"Regular:",
L"Elite:",
L"Projected Daily Total:",
L"Volunteer Pool:",
L"Resources Available:",
L"Guns:",
L"Armour:",
L"Misc:",
L"Training Cost:",
L"Upkeep Cost Per Soldier Per Day:",
L"Training Speed Bonus:",
L"Combat Bonuses:",
L"Physical Stats Bonus:",
L"Marksmanship Bonus:",
L"Upgrade Stats ($%d)",
L"Upgrading militia stats will cost $%d. Confirm expenditure?",
L"Region:",
L"Next",
L"Previous",
L"Administration Team:",
L"None",
L"Active",
L"Inactive",
L"Loyalty:",
L"Maximum Loyalty:",
L"Deploy Administration Team (%d supplies)",
L"Reactivate Administration Team (%d supplies)",
L"It is currently not safe to deploy an administration team to this region. You must establish a foothold by controlling at least one town sector first.",
L"No regional actions available in Omerta.",
L"Administration teams can be deployed to other regions once you capture at least one town sector. Once active, they will be able to expand your influence and power in the region. However, they will need supplies to operate and enact policies.",
L"Be mindful of where you choose to direct supplies. Enacting regional policies will increase supply costs for other policies in the same region and nationally (to a lesser extent).",
L"Administrative Actions:",
L"Establish %s",
L"Improve %s",
L"Current Tier: %d",
L"Taking any administrative action in this region will cost %d supplies.",
L"Dead drop intel gain: %d",
L"Smuggler supply gain: %d",
L"A small group of militia from a nearby safehouse have joined the battle!",
L"[A.R.C. WEBSITE AVAILABLE] With the delivery of food and basic supplies to Omerta, you have convinced the rebels that you're here to make an impact. You have been granted access to the command system they've been working on, which is now available through your laptop.",
L"It is currently not safe to reactivate the administration team here. Recapture a town sector first.",
L"Mine raid successful. Stole $%d.",
};
STR16 szRebelCommandHelpText[] = // TODO.Translate
{
L"|S|u|p|p|l|i|e|s\n \nFood, water, medical supplies, weapons, and anything else that\nthe rebels might find useful. Supplies are obtained automatically\nby the rebels.",
L"|I|n|c|o|m|i|n|g |S|u|p|p|l|i|e|s\n \nEach day, the rebels will gather supplies on their own. As you\ntake over more towns, the amount of supplies they will be\nable to find per day will increase.",
L"|C|u|r|r|e|n|t |D|i|r|e|c|t|i|v|e\n \nYou can choose how the rebels will prioritise their strategic\nobjectives. New directives will become available as you make\nprogress.",
L"|A|d|m|i|n|i|s|t|r|a|t|i|o|n |T|e|a|m\n \nOnce deployed, an admin team is responsible for handling the\nday-to-day affairs of the region. This includes supporting\nlocals, creating rebel propaganda, establishing regional\npolicies, and more.",
L"|M|a|x|i|m|u|m |L|o|y|a|l|t|y\n \nYou will need to convince the locals to fully trust you. This\ncan be done by creating a supply line to them, showing that\nyou intend to improve their quality of life.",
};
// follows a specific format:
// x: "Admin Action Button Text",
// x+1: "Admin action description text",
STR16 szRebelCommandAdminActionsText[] = // TODO.Translate
{
L"Supply Line",
L"Distribute much-needed supplies amongst the local population. Increases maximum regional loyalty.",
L"Rebel Radio",
L"Begin broadcasting rebel public radio in the region. The town gains loyalty daily.",
L"Safehouses",
L"Construct rebel safehouses in the countryside, far from prying eyes. Bonus militia may join you in combat when operating in this region.",
L"Supply Disruption",
L"The rebels will try to disrupt enemy movements in the area by targetting their supplies. Enemies fighting in this region are weaker.",
L"Scout Patrols",
L"Start regular scout patrols to monitor hostile activity in the area. Enemy groups will be spotted further from town.",
L"Dead Drops",
L"Set up dead drops for rebel scouts and infiltrators to deliver their intel. Provides daily intel.",
L"Smugglers",
L"Enlist the aid of smugglers to bring in supplies for the rebels. Provides an unreliable daily supply boost.",
L"Militia Warehouses",
L"Construct warehouses in remote areas, allowing the rebels to stockpile weapons for the militia. Provides daily militia resources.",
L"Regional Taxes",
L"Collect money from the locals to assist your efforts. This is a permanent action. Increases daily income, but regional loyalty falls daily.",
L"Civilian Aid",
L"Assign some rebels to directly assist and support civilians in the area. Increases daily volunteer pool growth.",
L"Merc Support",
L"Set up facilities to directly support your mercs assigned in the town. Increases the effectiveness of merc assignments (doctoring, repairing, militia training, etc).",
L"Mining Policy",
L"Import better equipment and work with the town's miners to create more balanced and efficient shift schedules. Increases the town's mine income.",
};
// follows a specific format:
// x: "Directive Name",
// x+1: "Directive Bonus Description",
// x+2: "Directive Help Text",
// x+3: "Directive Improvement Button Description",
STR16 szRebelCommandDirectivesText[] = // TODO.Translate
{
L"Gather Supplies",
L"Gain an additional %.0f supplies per day.",
L"Increase daily supply income by amassing supplies from\nsympathetic locals, and seeking aid from international aid groups.",
L"Improving this directive will increase the amount of supplies that the rebels can gather daily.",
L"Support Militia",
L"Reduce militia daily upkeep costs. Militia daily upkeep cost modifier: %.2f.",
L"The rebels will help out with logistics about the militia\nyou've trained, reducing the strain on your wallet.",
L"Improving this directive will reduce the daily upkeep costs of your militia.",
L"Train Militia",
L"Reduce militia training costs and increase militia training speed. Militia training cost modifier: %.2f. Militia training speed modifier: %.2f.",
L"The rebels will assist when you are training militia,\nincreasing the efficiency at which you can train them.",
L"Improving this directive will further reduce training cost and increase training speed.",
L"Propaganda Campaign",
L"Town loyalty rises faster. Loyalty gain modifier: %.2f.",
L"Your victories and feats will be embellished as news reaches\nthe locals.",
L"Improving this directive will increase how quickly town loyalty rises.",
L"Deploy Elites",
L"%.0f elite militia appear in Omerta each day.",
L"The rebels release a small number of their highly-trained forces to your command.",
L"Improving this directive will increase the number of militia\nthat appear each day.",
L"High Value Target Strikes",
L"Enemy groups are less likely to have specialised soldiers.",
L"Surgical strikes will be conducted against enemy groups. Officers,\nmedics, radio operators, and other specialists are targetted.",
L"Improving this directive will make strikes more successful and effective.",
L"Spotter Teams",
L"When in combat, approximate enemy locations are revealed in the overhead map (press INSERT button in tactical).",
L"A small team will be attached to each of your squads, providing\napproximate locations of enemies when in combat.",
L"Improving this directive will make the locations of unspotted enemies more precise.",
L"Raid Mines",
L"Steal some income from mines not under your control. This directive becomes less useful as you claim mines.",
L"Conduct smash-and-grab raids on hostile mines. While not always\nsuccessful, the raids that do succeed should provide a\nsmall income bump.",
L"Improving this directive will increase the maximum value of stolen income.",
};
#endif //DUTCH
+148 -1
View File
@@ -4640,6 +4640,7 @@ STR16 pTransactionText[] =
L"Trained workers", // Flugente: train workers
L"Drill militia in %s", // Flugente: drill militia
L"Mini event", // rftr: mini events
L"Funds transferred from rebel command", // rftr: rebel command
};
STR16 pTransactionAlternateText[] =
@@ -5092,6 +5093,7 @@ STR16 pBookMarkStrings[] =
L"Militia Overview",
L"R.I.S.",
L"Factories",
L"A.R.C.",
};
STR16 pBookmarkTitle[] =
@@ -5198,7 +5200,7 @@ STR16 pWebPagesTitles[] =
L"Contract",
L"Comments",
L"McGillicutty's Mortuary",
L"",
L"", //LAPTOP_MODE_SIRTECH
L"URL not found.",
L"%s Press Council - Conflict Summary",
L"%s Press Council - Battle Reports",
@@ -5224,6 +5226,9 @@ STR16 pWebPagesTitles[] =
L"Encyclopedia - Data",
L"Briefing Room",
L"Briefing Room - Data",
L"", //LAPTOP_MODE_BRIEFING_ROOM_ENTER
L"", //LAPTOP_MODE_AIM_MEMBERS_ARCHIVES_NEW
L"A.R.C.",
};
STR16 pShowBookmarkString[] =
@@ -7028,6 +7033,7 @@ STR16 gzLaptopHelpText[] =
L"Militia Overview",
L"Recon Intelligence Services",
L"Controlled factories",
L"Arulco Rebel Command",
};
@@ -11675,4 +11681,145 @@ STR16 gLbeStatsDesc[14] =
L"Compatible combat packs:",
};
STR16 szRebelCommandText[] =
{
L"Arulco Rebel Command - National Overview",
L"Arulco Rebel Command - Regional Overview",
L"Switch to Regional Overview",
L"Switch to National Overview",
L"Supplies:",
L"Incoming Supplies",
L"/day",
L"Current Directive",
L"Improve Directive ($%d)",
L"Improving the selected directive will cost $%d. Confirm expenditure?",
L"Insufficient funds.",
L"New directive will take effect at 00:00.",
L"Militia Overview",
L"Green:",
L"Regular:",
L"Elite:",
L"Projected Daily Total:",
L"Volunteer Pool:",
L"Resources Available:",
L"Guns:",
L"Armour:",
L"Misc:",
L"Training Cost:",
L"Upkeep Cost Per Soldier Per Day:",
L"Training Speed Bonus:",
L"Combat Bonuses:",
L"Physical Stats Bonus:",
L"Marksmanship Bonus:",
L"Upgrade Stats ($%d)",
L"Upgrading militia stats will cost $%d. Confirm expenditure?",
L"Region:",
L"Next",
L"Previous",
L"Administration Team:",
L"None",
L"Active",
L"Inactive",
L"Loyalty:",
L"Maximum Loyalty:",
L"Deploy Administration Team (%d supplies)",
L"Reactivate Administration Team (%d supplies)",
L"It is currently not safe to deploy an administration team to this region. You must establish a foothold by controlling at least one town sector first.",
L"No regional actions available in Omerta.",
L"Administration teams can be deployed to other regions once you capture at least one town sector. Once active, they will be able to expand your influence and power in the region. However, they will need supplies to operate and enact policies.",
L"Be mindful of where you choose to direct supplies. Enacting regional policies will increase supply costs for other policies in the same region and nationally (to a lesser extent).",
L"Administrative Actions:",
L"Establish %s",
L"Improve %s",
L"Current Tier: %d",
L"Taking any administrative action in this region will cost %d supplies.",
L"Dead drop intel gain: %d",
L"Smuggler supply gain: %d",
L"A small group of militia from a nearby safehouse have joined the battle!",
L"[A.R.C. WEBSITE AVAILABLE] With the delivery of food and basic supplies to Omerta, you have convinced the rebels that you're here to make an impact. You have been granted access to the command system they've been working on, which is now available through your laptop.",
L"It is currently not safe to reactivate the administration team here. Recapture a town sector first.",
L"Mine raid successful. Stole $%d.",
};
STR16 szRebelCommandHelpText[] =
{
L"|S|u|p|p|l|i|e|s\n \nFood, water, medical supplies, weapons, and anything else that\nthe rebels might find useful. Supplies are obtained automatically\nby the rebels.",
L"|I|n|c|o|m|i|n|g |S|u|p|p|l|i|e|s\n \nEach day, the rebels will gather supplies on their own. As you\ntake over more towns, the amount of supplies they will be\nable to find per day will increase.",
L"|C|u|r|r|e|n|t |D|i|r|e|c|t|i|v|e\n \nYou can choose how the rebels will prioritise their strategic\nobjectives. New directives will become available as you make\nprogress.",
L"|A|d|m|i|n|i|s|t|r|a|t|i|o|n |T|e|a|m\n \nOnce deployed, an admin team is responsible for handling the\nday-to-day affairs of the region. This includes supporting\nlocals, creating rebel propaganda, establishing regional\npolicies, and more.",
L"|M|a|x|i|m|u|m |L|o|y|a|l|t|y\n \nYou will need to convince the locals to fully trust you. This\ncan be done by creating a supply line to them, showing that\nyou intend to improve their quality of life.",
};
// follows a specific format:
// x: "Admin Action Button Text",
// x+1: "Admin action description text",
STR16 szRebelCommandAdminActionsText[] =
{
L"Supply Line",
L"Distribute much-needed supplies amongst the local population. Increases maximum regional loyalty.",
L"Rebel Radio",
L"Begin broadcasting rebel public radio in the region. The town gains loyalty daily.",
L"Safehouses",
L"Construct rebel safehouses in the countryside, far from prying eyes. Bonus militia may join you in combat when operating in this region.",
L"Supply Disruption",
L"The rebels will try to disrupt enemy movements in the area by targetting their supplies. Enemies fighting in this region are weaker.",
L"Scout Patrols",
L"Start regular scout patrols to monitor hostile activity in the area. Enemy groups will be spotted further from town.",
L"Dead Drops",
L"Set up dead drops for rebel scouts and infiltrators to deliver their intel. Provides daily intel.",
L"Smugglers",
L"Enlist the aid of smugglers to bring in supplies for the rebels. Provides an unreliable daily supply boost.",
L"Militia Warehouses",
L"Construct warehouses in remote areas, allowing the rebels to stockpile weapons for the militia. Provides daily militia resources.",
L"Regional Taxes",
L"Collect money from the locals to assist your efforts. This is a permanent action. Increases daily income, but regional loyalty falls daily.",
L"Civilian Aid",
L"Assign some rebels to directly assist and support civilians in the area. Increases daily volunteer pool growth.",
L"Merc Support",
L"Set up facilities to directly support your mercs assigned in the town. Increases the effectiveness of merc assignments (doctoring, repairing, militia training, etc).",
L"Mining Policy",
L"Import better equipment and work with the town's miners to create more balanced and efficient shift schedules. Increases the town's mine income.",
};
// follows a specific format:
// x: "Directive Name",
// x+1: "Directive Bonus Description",
// x+2: "Directive Help Text",
// x+3: "Directive Improvement Button Description",
STR16 szRebelCommandDirectivesText[] =
{
L"Gather Supplies",
L"Gain an additional %.0f supplies per day.",
L"Increase daily supply income by amassing supplies from\nsympathetic locals, and seeking aid from international aid groups.",
L"Improving this directive will increase the amount of supplies that the rebels can gather daily.",
L"Support Militia",
L"Reduce militia daily upkeep costs. Militia daily upkeep cost modifier: %.2f.",
L"The rebels will help out with logistics about the militia\nyou've trained, reducing the strain on your wallet.",
L"Improving this directive will reduce the daily upkeep costs of your militia.",
L"Train Militia",
L"Reduce militia training costs and increase militia training speed. Militia training cost modifier: %.2f. Militia training speed modifier: %.2f.",
L"The rebels will assist when you are training militia,\nincreasing the efficiency at which you can train them.",
L"Improving this directive will further reduce training cost and increase training speed.",
L"Propaganda Campaign",
L"Town loyalty rises faster. Loyalty gain modifier: %.2f.",
L"Your victories and feats will be embellished as news reaches\nthe locals.",
L"Improving this directive will increase how quickly town loyalty rises.",
L"Deploy Elites",
L"%.0f elite militia appear in Omerta each day.",
L"The rebels release a small number of their highly-trained forces to your command.",
L"Improving this directive will increase the number of militia\nthat appear each day.",
L"High Value Target Strikes",
L"Enemy groups are less likely to have specialised soldiers.",
L"Surgical strikes will be conducted against enemy groups. Officers,\nmedics, radio operators, and other specialists are targetted.",
L"Improving this directive will make strikes more successful and effective.",
L"Spotter Teams",
L"When in combat, approximate enemy locations are revealed in the overhead map (press INSERT button in tactical).",
L"A small team will be attached to each of your squads, providing\napproximate locations of enemies when in combat.",
L"Improving this directive will make the locations of unspotted enemies more precise.",
L"Raid Mines",
L"Steal some income from mines not under your control. This directive becomes less useful as you claim mines.",
L"Conduct smash-and-grab raids on hostile mines. While not always\nsuccessful, the raids that do succeed should provide a\nsmall income bump.",
L"Improving this directive will increase the maximum value of stolen income.",
};
#endif //ENGLISH
+141
View File
@@ -11659,4 +11659,145 @@ STR16 gLbeStatsDesc[14] =
L"Compatible combat packs:",
};
STR16 szRebelCommandText[] = // TODO.Translate
{
L"Arulco Rebel Command - National Overview",
L"Arulco Rebel Command - Regional Overview",
L"Switch to Regional Overview",
L"Switch to National Overview",
L"Supplies:",
L"Incoming Supplies",
L"/day",
L"Current Directive",
L"Improve Directive ($%d)",
L"Improving the selected directive will cost $%d. Confirm expenditure?",
L"Insufficient funds.",
L"New directive will take effect at 00:00.",
L"Militia Overview",
L"Green:",
L"Regular:",
L"Elite:",
L"Projected Daily Total:",
L"Volunteer Pool:",
L"Resources Available:",
L"Guns:",
L"Armour:",
L"Misc:",
L"Training Cost:",
L"Upkeep Cost Per Soldier Per Day:",
L"Training Speed Bonus:",
L"Combat Bonuses:",
L"Physical Stats Bonus:",
L"Marksmanship Bonus:",
L"Upgrade Stats ($%d)",
L"Upgrading militia stats will cost $%d. Confirm expenditure?",
L"Region:",
L"Next",
L"Previous",
L"Administration Team:",
L"None",
L"Active",
L"Inactive",
L"Loyalty:",
L"Maximum Loyalty:",
L"Deploy Administration Team (%d supplies)",
L"Reactivate Administration Team (%d supplies)",
L"It is currently not safe to deploy an administration team to this region. You must establish a foothold by controlling at least one town sector first.",
L"No regional actions available in Omerta.",
L"Administration teams can be deployed to other regions once you capture at least one town sector. Once active, they will be able to expand your influence and power in the region. However, they will need supplies to operate and enact policies.",
L"Be mindful of where you choose to direct supplies. Enacting regional policies will increase supply costs for other policies in the same region and nationally (to a lesser extent).",
L"Administrative Actions:",
L"Establish %s",
L"Improve %s",
L"Current Tier: %d",
L"Taking any administrative action in this region will cost %d supplies.",
L"Dead drop intel gain: %d",
L"Smuggler supply gain: %d",
L"A small group of militia from a nearby safehouse have joined the battle!",
L"[A.R.C. WEBSITE AVAILABLE] With the delivery of food and basic supplies to Omerta, you have convinced the rebels that you're here to make an impact. You have been granted access to the command system they've been working on, which is now available through your laptop.",
L"It is currently not safe to reactivate the administration team here. Recapture a town sector first.",
L"Mine raid successful. Stole $%d.",
};
STR16 szRebelCommandHelpText[] = // TODO.Translate
{
L"|S|u|p|p|l|i|e|s\n \nFood, water, medical supplies, weapons, and anything else that\nthe rebels might find useful. Supplies are obtained automatically\nby the rebels.",
L"|I|n|c|o|m|i|n|g |S|u|p|p|l|i|e|s\n \nEach day, the rebels will gather supplies on their own. As you\ntake over more towns, the amount of supplies they will be\nable to find per day will increase.",
L"|C|u|r|r|e|n|t |D|i|r|e|c|t|i|v|e\n \nYou can choose how the rebels will prioritise their strategic\nobjectives. New directives will become available as you make\nprogress.",
L"|A|d|m|i|n|i|s|t|r|a|t|i|o|n |T|e|a|m\n \nOnce deployed, an admin team is responsible for handling the\nday-to-day affairs of the region. This includes supporting\nlocals, creating rebel propaganda, establishing regional\npolicies, and more.",
L"|M|a|x|i|m|u|m |L|o|y|a|l|t|y\n \nYou will need to convince the locals to fully trust you. This\ncan be done by creating a supply line to them, showing that\nyou intend to improve their quality of life.",
};
// follows a specific format:
// x: "Admin Action Button Text",
// x+1: "Admin action description text",
STR16 szRebelCommandAdminActionsText[] = // TODO.Translate
{
L"Supply Line",
L"Distribute much-needed supplies amongst the local population. Increases maximum regional loyalty.",
L"Rebel Radio",
L"Begin broadcasting rebel public radio in the region. The town gains loyalty daily.",
L"Safehouses",
L"Construct rebel safehouses in the countryside, far from prying eyes. Bonus militia may join you in combat when operating in this region.",
L"Supply Disruption",
L"The rebels will try to disrupt enemy movements in the area by targetting their supplies. Enemies fighting in this region are weaker.",
L"Scout Patrols",
L"Start regular scout patrols to monitor hostile activity in the area. Enemy groups will be spotted further from town.",
L"Dead Drops",
L"Set up dead drops for rebel scouts and infiltrators to deliver their intel. Provides daily intel.",
L"Smugglers",
L"Enlist the aid of smugglers to bring in supplies for the rebels. Provides an unreliable daily supply boost.",
L"Militia Warehouses",
L"Construct warehouses in remote areas, allowing the rebels to stockpile weapons for the militia. Provides daily militia resources.",
L"Regional Taxes",
L"Collect money from the locals to assist your efforts. This is a permanent action. Increases daily income, but regional loyalty falls daily.",
L"Civilian Aid",
L"Assign some rebels to directly assist and support civilians in the area. Increases daily volunteer pool growth.",
L"Merc Support",
L"Set up facilities to directly support your mercs assigned in the town. Increases the effectiveness of merc assignments (doctoring, repairing, militia training, etc).",
L"Mining Policy",
L"Import better equipment and work with the town's miners to create more balanced and efficient shift schedules. Increases the town's mine income.",
};
// follows a specific format:
// x: "Directive Name",
// x+1: "Directive Bonus Description",
// x+2: "Directive Help Text",
// x+3: "Directive Improvement Button Description",
STR16 szRebelCommandDirectivesText[] = // TODO.Translate
{
L"Gather Supplies",
L"Gain an additional %.0f supplies per day.",
L"Increase daily supply income by amassing supplies from\nsympathetic locals, and seeking aid from international aid groups.",
L"Improving this directive will increase the amount of supplies that the rebels can gather daily.",
L"Support Militia",
L"Reduce militia daily upkeep costs. Militia daily upkeep cost modifier: %.2f.",
L"The rebels will help out with logistics about the militia\nyou've trained, reducing the strain on your wallet.",
L"Improving this directive will reduce the daily upkeep costs of your militia.",
L"Train Militia",
L"Reduce militia training costs and increase militia training speed. Militia training cost modifier: %.2f. Militia training speed modifier: %.2f.",
L"The rebels will assist when you are training militia,\nincreasing the efficiency at which you can train them.",
L"Improving this directive will further reduce training cost and increase training speed.",
L"Propaganda Campaign",
L"Town loyalty rises faster. Loyalty gain modifier: %.2f.",
L"Your victories and feats will be embellished as news reaches\nthe locals.",
L"Improving this directive will increase how quickly town loyalty rises.",
L"Deploy Elites",
L"%.0f elite militia appear in Omerta each day.",
L"The rebels release a small number of their highly-trained forces to your command.",
L"Improving this directive will increase the number of militia\nthat appear each day.",
L"High Value Target Strikes",
L"Enemy groups are less likely to have specialised soldiers.",
L"Surgical strikes will be conducted against enemy groups. Officers,\nmedics, radio operators, and other specialists are targetted.",
L"Improving this directive will make strikes more successful and effective.",
L"Spotter Teams",
L"When in combat, approximate enemy locations are revealed in the overhead map (press INSERT button in tactical).",
L"A small team will be attached to each of your squads, providing\napproximate locations of enemies when in combat.",
L"Improving this directive will make the locations of unspotted enemies more precise.",
L"Raid Mines",
L"Steal some income from mines not under your control. This directive becomes less useful as you claim mines.",
L"Conduct smash-and-grab raids on hostile mines. While not always\nsuccessful, the raids that do succeed should provide a\nsmall income bump.",
L"Improving this directive will increase the maximum value of stolen income.",
};
#endif //FRENCH
+141
View File
@@ -11581,4 +11581,145 @@ STR16 gLbeStatsDesc[14] =
L"Compatible combat packs:",
};
STR16 szRebelCommandText[] = // TODO.Translate
{
L"Arulco Rebel Command - National Overview",
L"Arulco Rebel Command - Regional Overview",
L"Switch to Regional Overview",
L"Switch to National Overview",
L"Supplies:",
L"Incoming Supplies",
L"/day",
L"Current Directive",
L"Improve Directive ($%d)",
L"Improving the selected directive will cost $%d. Confirm expenditure?",
L"Insufficient funds.",
L"New directive will take effect at 00:00.",
L"Militia Overview",
L"Green:",
L"Regular:",
L"Elite:",
L"Projected Daily Total:",
L"Volunteer Pool:",
L"Resources Available:",
L"Guns:",
L"Armour:",
L"Misc:",
L"Training Cost:",
L"Upkeep Cost Per Soldier Per Day:",
L"Training Speed Bonus:",
L"Combat Bonuses:",
L"Physical Stats Bonus:",
L"Marksmanship Bonus:",
L"Upgrade Stats ($%d)",
L"Upgrading militia stats will cost $%d. Confirm expenditure?",
L"Region:",
L"Next",
L"Previous",
L"Administration Team:",
L"None",
L"Active",
L"Inactive",
L"Loyalty:",
L"Maximum Loyalty:",
L"Deploy Administration Team (%d supplies)",
L"Reactivate Administration Team (%d supplies)",
L"It is currently not safe to deploy an administration team to this region. You must establish a foothold by controlling at least one town sector first.",
L"No regional actions available in Omerta.",
L"Administration teams can be deployed to other regions once you capture at least one town sector. Once active, they will be able to expand your influence and power in the region. However, they will need supplies to operate and enact policies.",
L"Be mindful of where you choose to direct supplies. Enacting regional policies will increase supply costs for other policies in the same region and nationally (to a lesser extent).",
L"Administrative Actions:",
L"Establish %s",
L"Improve %s",
L"Current Tier: %d",
L"Taking any administrative action in this region will cost %d supplies.",
L"Dead drop intel gain: %d",
L"Smuggler supply gain: %d",
L"A small group of militia from a nearby safehouse have joined the battle!",
L"[A.R.C. WEBSITE AVAILABLE] With the delivery of food and basic supplies to Omerta, you have convinced the rebels that you're here to make an impact. You have been granted access to the command system they've been working on, which is now available through your laptop.",
L"It is currently not safe to reactivate the administration team here. Recapture a town sector first.",
L"Mine raid successful. Stole $%d.",
};
STR16 szRebelCommandHelpText[] = // TODO.Translate
{
L"|S|u|p|p|l|i|e|s\n \nFood, water, medical supplies, weapons, and anything else that\nthe rebels might find useful. Supplies are obtained automatically\nby the rebels.",
L"|I|n|c|o|m|i|n|g |S|u|p|p|l|i|e|s\n \nEach day, the rebels will gather supplies on their own. As you\ntake over more towns, the amount of supplies they will be\nable to find per day will increase.",
L"|C|u|r|r|e|n|t |D|i|r|e|c|t|i|v|e\n \nYou can choose how the rebels will prioritise their strategic\nobjectives. New directives will become available as you make\nprogress.",
L"|A|d|m|i|n|i|s|t|r|a|t|i|o|n |T|e|a|m\n \nOnce deployed, an admin team is responsible for handling the\nday-to-day affairs of the region. This includes supporting\nlocals, creating rebel propaganda, establishing regional\npolicies, and more.",
L"|M|a|x|i|m|u|m |L|o|y|a|l|t|y\n \nYou will need to convince the locals to fully trust you. This\ncan be done by creating a supply line to them, showing that\nyou intend to improve their quality of life.",
};
// follows a specific format:
// x: "Admin Action Button Text",
// x+1: "Admin action description text",
STR16 szRebelCommandAdminActionsText[] = // TODO.Translate
{
L"Supply Line",
L"Distribute much-needed supplies amongst the local population. Increases maximum regional loyalty.",
L"Rebel Radio",
L"Begin broadcasting rebel public radio in the region. The town gains loyalty daily.",
L"Safehouses",
L"Construct rebel safehouses in the countryside, far from prying eyes. Bonus militia may join you in combat when operating in this region.",
L"Supply Disruption",
L"The rebels will try to disrupt enemy movements in the area by targetting their supplies. Enemies fighting in this region are weaker.",
L"Scout Patrols",
L"Start regular scout patrols to monitor hostile activity in the area. Enemy groups will be spotted further from town.",
L"Dead Drops",
L"Set up dead drops for rebel scouts and infiltrators to deliver their intel. Provides daily intel.",
L"Smugglers",
L"Enlist the aid of smugglers to bring in supplies for the rebels. Provides an unreliable daily supply boost.",
L"Militia Warehouses",
L"Construct warehouses in remote areas, allowing the rebels to stockpile weapons for the militia. Provides daily militia resources.",
L"Regional Taxes",
L"Collect money from the locals to assist your efforts. This is a permanent action. Increases daily income, but regional loyalty falls daily.",
L"Civilian Aid",
L"Assign some rebels to directly assist and support civilians in the area. Increases daily volunteer pool growth.",
L"Merc Support",
L"Set up facilities to directly support your mercs assigned in the town. Increases the effectiveness of merc assignments (doctoring, repairing, militia training, etc).",
L"Mining Policy",
L"Import better equipment and work with the town's miners to create more balanced and efficient shift schedules. Increases the town's mine income.",
};
// follows a specific format:
// x: "Directive Name",
// x+1: "Directive Bonus Description",
// x+2: "Directive Help Text",
// x+3: "Directive Improvement Button Description",
STR16 szRebelCommandDirectivesText[] = // TODO.Translate
{
L"Gather Supplies",
L"Gain an additional %.0f supplies per day.",
L"Increase daily supply income by amassing supplies from\nsympathetic locals, and seeking aid from international aid groups.",
L"Improving this directive will increase the amount of supplies that the rebels can gather daily.",
L"Support Militia",
L"Reduce militia daily upkeep costs. Militia daily upkeep cost modifier: %.2f.",
L"The rebels will help out with logistics about the militia\nyou've trained, reducing the strain on your wallet.",
L"Improving this directive will reduce the daily upkeep costs of your militia.",
L"Train Militia",
L"Reduce militia training costs and increase militia training speed. Militia training cost modifier: %.2f. Militia training speed modifier: %.2f.",
L"The rebels will assist when you are training militia,\nincreasing the efficiency at which you can train them.",
L"Improving this directive will further reduce training cost and increase training speed.",
L"Propaganda Campaign",
L"Town loyalty rises faster. Loyalty gain modifier: %.2f.",
L"Your victories and feats will be embellished as news reaches\nthe locals.",
L"Improving this directive will increase how quickly town loyalty rises.",
L"Deploy Elites",
L"%.0f elite militia appear in Omerta each day.",
L"The rebels release a small number of their highly-trained forces to your command.",
L"Improving this directive will increase the number of militia\nthat appear each day.",
L"High Value Target Strikes",
L"Enemy groups are less likely to have specialised soldiers.",
L"Surgical strikes will be conducted against enemy groups. Officers,\nmedics, radio operators, and other specialists are targetted.",
L"Improving this directive will make strikes more successful and effective.",
L"Spotter Teams",
L"When in combat, approximate enemy locations are revealed in the overhead map (press INSERT button in tactical).",
L"A small team will be attached to each of your squads, providing\napproximate locations of enemies when in combat.",
L"Improving this directive will make the locations of unspotted enemies more precise.",
L"Raid Mines",
L"Steal some income from mines not under your control. This directive becomes less useful as you claim mines.",
L"Conduct smash-and-grab raids on hostile mines. While not always\nsuccessful, the raids that do succeed should provide a\nsmall income bump.",
L"Improving this directive will increase the maximum value of stolen income.",
};
#endif //GERMAN
+141
View File
@@ -11668,4 +11668,145 @@ STR16 gLbeStatsDesc[14] =
L"Compatible combat packs:",
};
STR16 szRebelCommandText[] = // TODO.Translate
{
L"Arulco Rebel Command - National Overview",
L"Arulco Rebel Command - Regional Overview",
L"Switch to Regional Overview",
L"Switch to National Overview",
L"Supplies:",
L"Incoming Supplies",
L"/day",
L"Current Directive",
L"Improve Directive ($%d)",
L"Improving the selected directive will cost $%d. Confirm expenditure?",
L"Insufficient funds.",
L"New directive will take effect at 00:00.",
L"Militia Overview",
L"Green:",
L"Regular:",
L"Elite:",
L"Projected Daily Total:",
L"Volunteer Pool:",
L"Resources Available:",
L"Guns:",
L"Armour:",
L"Misc:",
L"Training Cost:",
L"Upkeep Cost Per Soldier Per Day:",
L"Training Speed Bonus:",
L"Combat Bonuses:",
L"Physical Stats Bonus:",
L"Marksmanship Bonus:",
L"Upgrade Stats ($%d)",
L"Upgrading militia stats will cost $%d. Confirm expenditure?",
L"Region:",
L"Next",
L"Previous",
L"Administration Team:",
L"None",
L"Active",
L"Inactive",
L"Loyalty:",
L"Maximum Loyalty:",
L"Deploy Administration Team (%d supplies)",
L"Reactivate Administration Team (%d supplies)",
L"It is currently not safe to deploy an administration team to this region. You must establish a foothold by controlling at least one town sector first.",
L"No regional actions available in Omerta.",
L"Administration teams can be deployed to other regions once you capture at least one town sector. Once active, they will be able to expand your influence and power in the region. However, they will need supplies to operate and enact policies.",
L"Be mindful of where you choose to direct supplies. Enacting regional policies will increase supply costs for other policies in the same region and nationally (to a lesser extent).",
L"Administrative Actions:",
L"Establish %s",
L"Improve %s",
L"Current Tier: %d",
L"Taking any administrative action in this region will cost %d supplies.",
L"Dead drop intel gain: %d",
L"Smuggler supply gain: %d",
L"A small group of militia from a nearby safehouse have joined the battle!",
L"[A.R.C. WEBSITE AVAILABLE] With the delivery of food and basic supplies to Omerta, you have convinced the rebels that you're here to make an impact. You have been granted access to the command system they've been working on, which is now available through your laptop.",
L"It is currently not safe to reactivate the administration team here. Recapture a town sector first.",
L"Mine raid successful. Stole $%d.",
};
STR16 szRebelCommandHelpText[] = // TODO.Translate
{
L"|S|u|p|p|l|i|e|s\n \nFood, water, medical supplies, weapons, and anything else that\nthe rebels might find useful. Supplies are obtained automatically\nby the rebels.",
L"|I|n|c|o|m|i|n|g |S|u|p|p|l|i|e|s\n \nEach day, the rebels will gather supplies on their own. As you\ntake over more towns, the amount of supplies they will be\nable to find per day will increase.",
L"|C|u|r|r|e|n|t |D|i|r|e|c|t|i|v|e\n \nYou can choose how the rebels will prioritise their strategic\nobjectives. New directives will become available as you make\nprogress.",
L"|A|d|m|i|n|i|s|t|r|a|t|i|o|n |T|e|a|m\n \nOnce deployed, an admin team is responsible for handling the\nday-to-day affairs of the region. This includes supporting\nlocals, creating rebel propaganda, establishing regional\npolicies, and more.",
L"|M|a|x|i|m|u|m |L|o|y|a|l|t|y\n \nYou will need to convince the locals to fully trust you. This\ncan be done by creating a supply line to them, showing that\nyou intend to improve their quality of life.",
};
// follows a specific format:
// x: "Admin Action Button Text",
// x+1: "Admin action description text",
STR16 szRebelCommandAdminActionsText[] = // TODO.Translate
{
L"Supply Line",
L"Distribute much-needed supplies amongst the local population. Increases maximum regional loyalty.",
L"Rebel Radio",
L"Begin broadcasting rebel public radio in the region. The town gains loyalty daily.",
L"Safehouses",
L"Construct rebel safehouses in the countryside, far from prying eyes. Bonus militia may join you in combat when operating in this region.",
L"Supply Disruption",
L"The rebels will try to disrupt enemy movements in the area by targetting their supplies. Enemies fighting in this region are weaker.",
L"Scout Patrols",
L"Start regular scout patrols to monitor hostile activity in the area. Enemy groups will be spotted further from town.",
L"Dead Drops",
L"Set up dead drops for rebel scouts and infiltrators to deliver their intel. Provides daily intel.",
L"Smugglers",
L"Enlist the aid of smugglers to bring in supplies for the rebels. Provides an unreliable daily supply boost.",
L"Militia Warehouses",
L"Construct warehouses in remote areas, allowing the rebels to stockpile weapons for the militia. Provides daily militia resources.",
L"Regional Taxes",
L"Collect money from the locals to assist your efforts. This is a permanent action. Increases daily income, but regional loyalty falls daily.",
L"Civilian Aid",
L"Assign some rebels to directly assist and support civilians in the area. Increases daily volunteer pool growth.",
L"Merc Support",
L"Set up facilities to directly support your mercs assigned in the town. Increases the effectiveness of merc assignments (doctoring, repairing, militia training, etc).",
L"Mining Policy",
L"Import better equipment and work with the town's miners to create more balanced and efficient shift schedules. Increases the town's mine income.",
};
// follows a specific format:
// x: "Directive Name",
// x+1: "Directive Bonus Description",
// x+2: "Directive Help Text",
// x+3: "Directive Improvement Button Description",
STR16 szRebelCommandDirectivesText[] = // TODO.Translate
{
L"Gather Supplies",
L"Gain an additional %.0f supplies per day.",
L"Increase daily supply income by amassing supplies from\nsympathetic locals, and seeking aid from international aid groups.",
L"Improving this directive will increase the amount of supplies that the rebels can gather daily.",
L"Support Militia",
L"Reduce militia daily upkeep costs. Militia daily upkeep cost modifier: %.2f.",
L"The rebels will help out with logistics about the militia\nyou've trained, reducing the strain on your wallet.",
L"Improving this directive will reduce the daily upkeep costs of your militia.",
L"Train Militia",
L"Reduce militia training costs and increase militia training speed. Militia training cost modifier: %.2f. Militia training speed modifier: %.2f.",
L"The rebels will assist when you are training militia,\nincreasing the efficiency at which you can train them.",
L"Improving this directive will further reduce training cost and increase training speed.",
L"Propaganda Campaign",
L"Town loyalty rises faster. Loyalty gain modifier: %.2f.",
L"Your victories and feats will be embellished as news reaches\nthe locals.",
L"Improving this directive will increase how quickly town loyalty rises.",
L"Deploy Elites",
L"%.0f elite militia appear in Omerta each day.",
L"The rebels release a small number of their highly-trained forces to your command.",
L"Improving this directive will increase the number of militia\nthat appear each day.",
L"High Value Target Strikes",
L"Enemy groups are less likely to have specialised soldiers.",
L"Surgical strikes will be conducted against enemy groups. Officers,\nmedics, radio operators, and other specialists are targetted.",
L"Improving this directive will make strikes more successful and effective.",
L"Spotter Teams",
L"When in combat, approximate enemy locations are revealed in the overhead map (press INSERT button in tactical).",
L"A small team will be attached to each of your squads, providing\napproximate locations of enemies when in combat.",
L"Improving this directive will make the locations of unspotted enemies more precise.",
L"Raid Mines",
L"Steal some income from mines not under your control. This directive becomes less useful as you claim mines.",
L"Conduct smash-and-grab raids on hostile mines. While not always\nsuccessful, the raids that do succeed should provide a\nsmall income bump.",
L"Improving this directive will increase the maximum value of stolen income.",
};
#endif //ITALIAN
+141
View File
@@ -11681,4 +11681,145 @@ STR16 gLbeStatsDesc[14] =
L"Compatible combat packs:",
};
STR16 szRebelCommandText[] = // TODO.Translate
{
L"Arulco Rebel Command - National Overview",
L"Arulco Rebel Command - Regional Overview",
L"Switch to Regional Overview",
L"Switch to National Overview",
L"Supplies:",
L"Incoming Supplies",
L"/day",
L"Current Directive",
L"Improve Directive ($%d)",
L"Improving the selected directive will cost $%d. Confirm expenditure?",
L"Insufficient funds.",
L"New directive will take effect at 00:00.",
L"Militia Overview",
L"Green:",
L"Regular:",
L"Elite:",
L"Projected Daily Total:",
L"Volunteer Pool:",
L"Resources Available:",
L"Guns:",
L"Armour:",
L"Misc:",
L"Training Cost:",
L"Upkeep Cost Per Soldier Per Day:",
L"Training Speed Bonus:",
L"Combat Bonuses:",
L"Physical Stats Bonus:",
L"Marksmanship Bonus:",
L"Upgrade Stats ($%d)",
L"Upgrading militia stats will cost $%d. Confirm expenditure?",
L"Region:",
L"Next",
L"Previous",
L"Administration Team:",
L"None",
L"Active",
L"Inactive",
L"Loyalty:",
L"Maximum Loyalty:",
L"Deploy Administration Team (%d supplies)",
L"Reactivate Administration Team (%d supplies)",
L"It is currently not safe to deploy an administration team to this region. You must establish a foothold by controlling at least one town sector first.",
L"No regional actions available in Omerta.",
L"Administration teams can be deployed to other regions once you capture at least one town sector. Once active, they will be able to expand your influence and power in the region. However, they will need supplies to operate and enact policies.",
L"Be mindful of where you choose to direct supplies. Enacting regional policies will increase supply costs for other policies in the same region and nationally (to a lesser extent).",
L"Administrative Actions:",
L"Establish %s",
L"Improve %s",
L"Current Tier: %d",
L"Taking any administrative action in this region will cost %d supplies.",
L"Dead drop intel gain: %d",
L"Smuggler supply gain: %d",
L"A small group of militia from a nearby safehouse have joined the battle!",
L"[A.R.C. WEBSITE AVAILABLE] With the delivery of food and basic supplies to Omerta, you have convinced the rebels that you're here to make an impact. You have been granted access to the command system they've been working on, which is now available through your laptop.",
L"It is currently not safe to reactivate the administration team here. Recapture a town sector first.",
L"Mine raid successful. Stole $%d.",
};
STR16 szRebelCommandHelpText[] = // TODO.Translate
{
L"|S|u|p|p|l|i|e|s\n \nFood, water, medical supplies, weapons, and anything else that\nthe rebels might find useful. Supplies are obtained automatically\nby the rebels.",
L"|I|n|c|o|m|i|n|g |S|u|p|p|l|i|e|s\n \nEach day, the rebels will gather supplies on their own. As you\ntake over more towns, the amount of supplies they will be\nable to find per day will increase.",
L"|C|u|r|r|e|n|t |D|i|r|e|c|t|i|v|e\n \nYou can choose how the rebels will prioritise their strategic\nobjectives. New directives will become available as you make\nprogress.",
L"|A|d|m|i|n|i|s|t|r|a|t|i|o|n |T|e|a|m\n \nOnce deployed, an admin team is responsible for handling the\nday-to-day affairs of the region. This includes supporting\nlocals, creating rebel propaganda, establishing regional\npolicies, and more.",
L"|M|a|x|i|m|u|m |L|o|y|a|l|t|y\n \nYou will need to convince the locals to fully trust you. This\ncan be done by creating a supply line to them, showing that\nyou intend to improve their quality of life.",
};
// follows a specific format:
// x: "Admin Action Button Text",
// x+1: "Admin action description text",
STR16 szRebelCommandAdminActionsText[] = // TODO.Translate
{
L"Supply Line",
L"Distribute much-needed supplies amongst the local population. Increases maximum regional loyalty.",
L"Rebel Radio",
L"Begin broadcasting rebel public radio in the region. The town gains loyalty daily.",
L"Safehouses",
L"Construct rebel safehouses in the countryside, far from prying eyes. Bonus militia may join you in combat when operating in this region.",
L"Supply Disruption",
L"The rebels will try to disrupt enemy movements in the area by targetting their supplies. Enemies fighting in this region are weaker.",
L"Scout Patrols",
L"Start regular scout patrols to monitor hostile activity in the area. Enemy groups will be spotted further from town.",
L"Dead Drops",
L"Set up dead drops for rebel scouts and infiltrators to deliver their intel. Provides daily intel.",
L"Smugglers",
L"Enlist the aid of smugglers to bring in supplies for the rebels. Provides an unreliable daily supply boost.",
L"Militia Warehouses",
L"Construct warehouses in remote areas, allowing the rebels to stockpile weapons for the militia. Provides daily militia resources.",
L"Regional Taxes",
L"Collect money from the locals to assist your efforts. This is a permanent action. Increases daily income, but regional loyalty falls daily.",
L"Civilian Aid",
L"Assign some rebels to directly assist and support civilians in the area. Increases daily volunteer pool growth.",
L"Merc Support",
L"Set up facilities to directly support your mercs assigned in the town. Increases the effectiveness of merc assignments (doctoring, repairing, militia training, etc).",
L"Mining Policy",
L"Import better equipment and work with the town's miners to create more balanced and efficient shift schedules. Increases the town's mine income.",
};
// follows a specific format:
// x: "Directive Name",
// x+1: "Directive Bonus Description",
// x+2: "Directive Help Text",
// x+3: "Directive Improvement Button Description",
STR16 szRebelCommandDirectivesText[] = // TODO.Translate
{
L"Gather Supplies",
L"Gain an additional %.0f supplies per day.",
L"Increase daily supply income by amassing supplies from\nsympathetic locals, and seeking aid from international aid groups.",
L"Improving this directive will increase the amount of supplies that the rebels can gather daily.",
L"Support Militia",
L"Reduce militia daily upkeep costs. Militia daily upkeep cost modifier: %.2f.",
L"The rebels will help out with logistics about the militia\nyou've trained, reducing the strain on your wallet.",
L"Improving this directive will reduce the daily upkeep costs of your militia.",
L"Train Militia",
L"Reduce militia training costs and increase militia training speed. Militia training cost modifier: %.2f. Militia training speed modifier: %.2f.",
L"The rebels will assist when you are training militia,\nincreasing the efficiency at which you can train them.",
L"Improving this directive will further reduce training cost and increase training speed.",
L"Propaganda Campaign",
L"Town loyalty rises faster. Loyalty gain modifier: %.2f.",
L"Your victories and feats will be embellished as news reaches\nthe locals.",
L"Improving this directive will increase how quickly town loyalty rises.",
L"Deploy Elites",
L"%.0f elite militia appear in Omerta each day.",
L"The rebels release a small number of their highly-trained forces to your command.",
L"Improving this directive will increase the number of militia\nthat appear each day.",
L"High Value Target Strikes",
L"Enemy groups are less likely to have specialised soldiers.",
L"Surgical strikes will be conducted against enemy groups. Officers,\nmedics, radio operators, and other specialists are targetted.",
L"Improving this directive will make strikes more successful and effective.",
L"Spotter Teams",
L"When in combat, approximate enemy locations are revealed in the overhead map (press INSERT button in tactical).",
L"A small team will be attached to each of your squads, providing\napproximate locations of enemies when in combat.",
L"Improving this directive will make the locations of unspotted enemies more precise.",
L"Raid Mines",
L"Steal some income from mines not under your control. This directive becomes less useful as you claim mines.",
L"Conduct smash-and-grab raids on hostile mines. While not always\nsuccessful, the raids that do succeed should provide a\nsmall income bump.",
L"Improving this directive will increase the maximum value of stolen income.",
};
#endif //POLISH
+141
View File
@@ -11675,4 +11675,145 @@ STR16 gLbeStatsDesc[14] =
L"Совместимые ранцы:",
};
STR16 szRebelCommandText[] = // TODO.Translate
{
L"Arulco Rebel Command - National Overview",
L"Arulco Rebel Command - Regional Overview",
L"Switch to Regional Overview",
L"Switch to National Overview",
L"Supplies:",
L"Incoming Supplies",
L"/day",
L"Current Directive",
L"Improve Directive ($%d)",
L"Improving the selected directive will cost $%d. Confirm expenditure?",
L"Insufficient funds.",
L"New directive will take effect at 00:00.",
L"Militia Overview",
L"Green:",
L"Regular:",
L"Elite:",
L"Projected Daily Total:",
L"Volunteer Pool:",
L"Resources Available:",
L"Guns:",
L"Armour:",
L"Misc:",
L"Training Cost:",
L"Upkeep Cost Per Soldier Per Day:",
L"Training Speed Bonus:",
L"Combat Bonuses:",
L"Physical Stats Bonus:",
L"Marksmanship Bonus:",
L"Upgrade Stats ($%d)",
L"Upgrading militia stats will cost $%d. Confirm expenditure?",
L"Region:",
L"Next",
L"Previous",
L"Administration Team:",
L"None",
L"Active",
L"Inactive",
L"Loyalty:",
L"Maximum Loyalty:",
L"Deploy Administration Team (%d supplies)",
L"Reactivate Administration Team (%d supplies)",
L"It is currently not safe to deploy an administration team to this region. You must establish a foothold by controlling at least one town sector first.",
L"No regional actions available in Omerta.",
L"Administration teams can be deployed to other regions once you capture at least one town sector. Once active, they will be able to expand your influence and power in the region. However, they will need supplies to operate and enact policies.",
L"Be mindful of where you choose to direct supplies. Enacting regional policies will increase supply costs for other policies in the same region and nationally (to a lesser extent).",
L"Administrative Actions:",
L"Establish %s",
L"Improve %s",
L"Current Tier: %d",
L"Taking any administrative action in this region will cost %d supplies.",
L"Dead drop intel gain: %d",
L"Smuggler supply gain: %d",
L"A small group of militia from a nearby safehouse have joined the battle!",
L"[A.R.C. WEBSITE AVAILABLE] With the delivery of food and basic supplies to Omerta, you have convinced the rebels that you're here to make an impact. You have been granted access to the command system they've been working on, which is now available through your laptop.",
L"It is currently not safe to reactivate the administration team here. Recapture a town sector first.",
L"Mine raid successful. Stole $%d.",
};
STR16 szRebelCommandHelpText[] = // TODO.Translate
{
L"|S|u|p|p|l|i|e|s\n \nFood, water, medical supplies, weapons, and anything else that\nthe rebels might find useful. Supplies are obtained automatically\nby the rebels.",
L"|I|n|c|o|m|i|n|g |S|u|p|p|l|i|e|s\n \nEach day, the rebels will gather supplies on their own. As you\ntake over more towns, the amount of supplies they will be\nable to find per day will increase.",
L"|C|u|r|r|e|n|t |D|i|r|e|c|t|i|v|e\n \nYou can choose how the rebels will prioritise their strategic\nobjectives. New directives will become available as you make\nprogress.",
L"|A|d|m|i|n|i|s|t|r|a|t|i|o|n |T|e|a|m\n \nOnce deployed, an admin team is responsible for handling the\nday-to-day affairs of the region. This includes supporting\nlocals, creating rebel propaganda, establishing regional\npolicies, and more.",
L"|M|a|x|i|m|u|m |L|o|y|a|l|t|y\n \nYou will need to convince the locals to fully trust you. This\ncan be done by creating a supply line to them, showing that\nyou intend to improve their quality of life.",
};
// follows a specific format:
// x: "Admin Action Button Text",
// x+1: "Admin action description text",
STR16 szRebelCommandAdminActionsText[] = // TODO.Translate
{
L"Supply Line",
L"Distribute much-needed supplies amongst the local population. Increases maximum regional loyalty.",
L"Rebel Radio",
L"Begin broadcasting rebel public radio in the region. The town gains loyalty daily.",
L"Safehouses",
L"Construct rebel safehouses in the countryside, far from prying eyes. Bonus militia may join you in combat when operating in this region.",
L"Supply Disruption",
L"The rebels will try to disrupt enemy movements in the area by targetting their supplies. Enemies fighting in this region are weaker.",
L"Scout Patrols",
L"Start regular scout patrols to monitor hostile activity in the area. Enemy groups will be spotted further from town.",
L"Dead Drops",
L"Set up dead drops for rebel scouts and infiltrators to deliver their intel. Provides daily intel.",
L"Smugglers",
L"Enlist the aid of smugglers to bring in supplies for the rebels. Provides an unreliable daily supply boost.",
L"Militia Warehouses",
L"Construct warehouses in remote areas, allowing the rebels to stockpile weapons for the militia. Provides daily militia resources.",
L"Regional Taxes",
L"Collect money from the locals to assist your efforts. This is a permanent action. Increases daily income, but regional loyalty falls daily.",
L"Civilian Aid",
L"Assign some rebels to directly assist and support civilians in the area. Increases daily volunteer pool growth.",
L"Merc Support",
L"Set up facilities to directly support your mercs assigned in the town. Increases the effectiveness of merc assignments (doctoring, repairing, militia training, etc).",
L"Mining Policy",
L"Import better equipment and work with the town's miners to create more balanced and efficient shift schedules. Increases the town's mine income.",
};
// follows a specific format:
// x: "Directive Name",
// x+1: "Directive Bonus Description",
// x+2: "Directive Help Text",
// x+3: "Directive Improvement Button Description",
STR16 szRebelCommandDirectivesText[] = // TODO.Translate
{
L"Gather Supplies",
L"Gain an additional %.0f supplies per day.",
L"Increase daily supply income by amassing supplies from\nsympathetic locals, and seeking aid from international aid groups.",
L"Improving this directive will increase the amount of supplies that the rebels can gather daily.",
L"Support Militia",
L"Reduce militia daily upkeep costs. Militia daily upkeep cost modifier: %.2f.",
L"The rebels will help out with logistics about the militia\nyou've trained, reducing the strain on your wallet.",
L"Improving this directive will reduce the daily upkeep costs of your militia.",
L"Train Militia",
L"Reduce militia training costs and increase militia training speed. Militia training cost modifier: %.2f. Militia training speed modifier: %.2f.",
L"The rebels will assist when you are training militia,\nincreasing the efficiency at which you can train them.",
L"Improving this directive will further reduce training cost and increase training speed.",
L"Propaganda Campaign",
L"Town loyalty rises faster. Loyalty gain modifier: %.2f.",
L"Your victories and feats will be embellished as news reaches\nthe locals.",
L"Improving this directive will increase how quickly town loyalty rises.",
L"Deploy Elites",
L"%.0f elite militia appear in Omerta each day.",
L"The rebels release a small number of their highly-trained forces to your command.",
L"Improving this directive will increase the number of militia\nthat appear each day.",
L"High Value Target Strikes",
L"Enemy groups are less likely to have specialised soldiers.",
L"Surgical strikes will be conducted against enemy groups. Officers,\nmedics, radio operators, and other specialists are targetted.",
L"Improving this directive will make strikes more successful and effective.",
L"Spotter Teams",
L"When in combat, approximate enemy locations are revealed in the overhead map (press INSERT button in tactical).",
L"A small team will be attached to each of your squads, providing\napproximate locations of enemies when in combat.",
L"Improving this directive will make the locations of unspotted enemies more precise.",
L"Raid Mines",
L"Steal some income from mines not under your control. This directive becomes less useful as you claim mines.",
L"Conduct smash-and-grab raids on hostile mines. While not always\nsuccessful, the raids that do succeed should provide a\nsmall income bump.",
L"Improving this directive will increase the maximum value of stolen income.",
};
#endif //RUSSIAN
+2
View File
@@ -149,6 +149,8 @@ BOOLEAN InitializeGame(void)
LoadReputationSettings();
// Load creatures settings
LoadCreaturesSettings();
// Load rebel command settings
LoadRebelCommandSettings();
#ifdef JA2UB
LoadGameUBOptions(); // JA25 UB