Skip to content

Commit

Permalink
Showing 5 changed files with 13 additions and 9 deletions.
1 change: 1 addition & 0 deletions GameData/RP-0/MaintenanceSettings.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
MAINTENANCESETTINGS
{
facilityLevelCostMult = 0.0000005
facilityLevelCostPow = 1
kctBPMult = 20
kctResearchMult = 8640000
nautYearlyUpkeepAdd = 5000
Binary file modified GameData/RP-0/Plugins/RP0.dll
Binary file not shown.
Binary file modified GameData/RP-0/Plugins/RP0KCTBinder.dll
Binary file not shown.
18 changes: 9 additions & 9 deletions Source/Maintenance/MaintenanceHandler.cs
Original file line number Diff line number Diff line change
@@ -113,43 +113,43 @@ public void updateUpkeep()
{
padCosts[i] = 0d;
if (i < lC)
padCosts[i] = settings.facilityLevelCostMult * kctPadCounts[i] * levels[i].levelCost;
padCosts[i] = settings.facilityLevelCostMult * kctPadCounts[i] * Math.Pow(levels[i].levelCost, settings.facilityLevelCostPow);
}
padCost = 0;
for (int i = padLevels; i-- > 0;)
padCost += padCosts[i];
}
else
padCost = settings.facilityLevelCostMult * levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.LaunchPad) * (levels.Length + 0.05f))].levelCost;
padCost = settings.facilityLevelCostMult * Math.Pow(levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.LaunchPad) * (levels.Length + 0.05f))].levelCost, settings.facilityLevelCostPow);
}

// Runway
if (facilityLevels.TryGetValue(SpaceCenterFacility.Runway, out levels))
runwayCost = settings.facilityLevelCostMult * levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.Runway) * (levels.Length + 0.05f))].levelCost;
runwayCost = settings.facilityLevelCostMult * Math.Pow(levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.Runway) * (levels.Length + 0.05f))].levelCost, settings.facilityLevelCostPow);

//VAB
if (facilityLevels.TryGetValue(SpaceCenterFacility.VehicleAssemblyBuilding, out levels))
vabCost = settings.facilityLevelCostMult * levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.VehicleAssemblyBuilding) * (levels.Length + 0.05f))].levelCost;
vabCost = settings.facilityLevelCostMult * Math.Pow(levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.VehicleAssemblyBuilding) * (levels.Length + 0.05f))].levelCost, settings.facilityLevelCostPow);

//SPH
if (facilityLevels.TryGetValue(SpaceCenterFacility.SpaceplaneHangar, out levels))
sphCost = settings.facilityLevelCostMult * levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.SpaceplaneHangar) * (levels.Length + 0.05f))].levelCost;
sphCost = settings.facilityLevelCostMult * Math.Pow(levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.SpaceplaneHangar) * (levels.Length + 0.05f))].levelCost, settings.facilityLevelCostPow);

//RnD
if (facilityLevels.TryGetValue(SpaceCenterFacility.ResearchAndDevelopment, out levels))
rndCost = settings.facilityLevelCostMult * levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.ResearchAndDevelopment) * (levels.Length + 0.05f))].levelCost;
rndCost = settings.facilityLevelCostMult * Math.Pow(levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.ResearchAndDevelopment) * (levels.Length + 0.05f))].levelCost, settings.facilityLevelCostPow);

// MC
if (facilityLevels.TryGetValue(SpaceCenterFacility.MissionControl, out levels))
mcCost = settings.facilityLevelCostMult * levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.MissionControl) * (levels.Length + 0.05f))].levelCost;
mcCost = settings.facilityLevelCostMult * Math.Pow(levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.MissionControl) * (levels.Length + 0.05f))].levelCost, settings.facilityLevelCostPow);

// TS
if (facilityLevels.TryGetValue(SpaceCenterFacility.TrackingStation, out levels))
tsCost = settings.facilityLevelCostMult * levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.TrackingStation) * (levels.Length + 0.05f))].levelCost;
tsCost = settings.facilityLevelCostMult * Math.Pow(levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.TrackingStation) * (levels.Length + 0.05f))].levelCost, settings.facilityLevelCostPow);

// AC
if (facilityLevels.TryGetValue(SpaceCenterFacility.AstronautComplex, out levels))
acCost = settings.facilityLevelCostMult * levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.AstronautComplex) * (levels.Length + 0.05f))].levelCost;
acCost = settings.facilityLevelCostMult * Math.Pow(levels[(int)(ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.AstronautComplex) * (levels.Length + 0.05f))].levelCost, settings.facilityLevelCostPow);

nautYearlyUpkeep = settings.nautYearlyUpkeepBase + ((double)ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.AstronautComplex) * settings.nautYearlyUpkeepAdd);
nautUpkeep = HighLogic.CurrentGame.CrewRoster.GetActiveCrewCount() * nautYearlyUpkeep * (1d / 365d);
3 changes: 3 additions & 0 deletions Source/Maintenance/MaintenanceSettings.cs
Original file line number Diff line number Diff line change
@@ -12,6 +12,9 @@ public class MaintenanceSettings : IConfigNode
[Persistent]
public double facilityLevelCostMult = 0.0000005d;

[Persistent]
public double facilityLevelCostPow = 1d;

[Persistent]
public double kctBPMult = 20d;

0 comments on commit 34529f6

Please sign in to comment.