Disrupt ASD now blocks upgrades

This commit is contained in:
rftrdev
2022-11-03 00:08:03 -07:00
parent 32d565eb99
commit 568ee070a8
3 changed files with 20 additions and 3 deletions
+3 -3
View File
@@ -1514,7 +1514,7 @@ UINT32 ASDResourceCostFuel( UINT8 aType )
// if ASD has tanks, it can allow the queen to upgrade soldiers to tanks
BOOLEAN ASDSoldierUpgradeToTank( )
{
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsTanks )
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsTanks && RebelCommand::GetASDCanDeployUnits() )
{
if ( gASD_Flags & ASDFACT_TANK_UNLOCKED )
{
@@ -1531,7 +1531,7 @@ BOOLEAN ASDSoldierUpgradeToTank( )
BOOLEAN ASDSoldierUpgradeToJeep( )
{
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsJeeps )
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsJeeps && RebelCommand::GetASDCanDeployUnits() )
{
if ( gASD_Flags & ASDFACT_JEEP_UNLOCKED )
{
@@ -1548,7 +1548,7 @@ BOOLEAN ASDSoldierUpgradeToJeep( )
BOOLEAN ASDSoldierUpgradeToRobot( )
{
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsRobots )
if ( gGameExternalOptions.fASDActive && gGameExternalOptions.fASDAssignsRobots && RebelCommand::GetASDCanDeployUnits() )
{
if ( gASD_Flags & ASDFACT_ROBOT_UNLOCKED )
{
+16
View File
@@ -4671,6 +4671,22 @@ INT16 GetAdditionalDeployRange(const UINT8 insertionCode)
return 0;
}
BOOLEAN GetASDCanDeployUnits()
{
if (!gGameExternalOptions.fRebelCommandEnabled)
return TRUE;
const std::unordered_map<RebelCommandAgentMissions, UINT32>::iterator iter = missionMap.find(RCAM_DISRUPT_ASD);
if (iter == missionMap.end())
return TRUE;
MissionSecondEvent evt;
DeserialiseMissionSecondEvent(iter->second, evt);
return evt.isSecondEvent ? FALSE : TRUE;
}
FLOAT GetASDIncomeModifier()
{
if (!gGameExternalOptions.fRebelCommandEnabled)
+1
View File
@@ -209,6 +209,7 @@ BOOLEAN CanAssignTraitsToMilitia();
BOOLEAN CanTrainMilitiaAnywhere();
UINT8 GetMaxTrainersForTrainMilitiaAnywhere();
INT16 GetAdditionalDeployRange(const UINT8 insertionCode);
BOOLEAN GetASDCanDeployUnits();
FLOAT GetASDIncomeModifier();
INT8 GetEnemyEquipmentCoolnessModifier();
INT8 GetEnemyEquipmentStatusModifier(const INT8 initialStatus);