Skip to content

Commit

Permalink
Showing 5 changed files with 41 additions and 9 deletions.
8 changes: 4 additions & 4 deletions GameData/RP-0/KCT_Presets/RP0_KCTPresets.cfg
Original file line number Diff line number Diff line change
@@ -37,8 +37,8 @@ KCT_Preset
UpgradeFundsFormula = 30000
UpgradeScienceFormula = -1
ResearchFormula = -1
EffectivePartFormula = [PV]*[RV]*[MV]*(min([C]/([I] + ([B]*(max([U]*0.125,1)+1))), [C]))
ProceduralPartFormula = [MV] * ((([C]-[A]) + ([A]*10/max([I],1))) / max([B]*(max([U]*0.125,1)+1),1))
EffectivePartFormula = [PV]*[RV]*[MV]*[C]
ProceduralPartFormula = [PV]*[RV]*[MV]*[C]
BPFormula = (5000 + ([E]*20))*[O]*2
KSCUpgradeFormula = (([C]*0.2)^(0.75))*200*[O]
ReconditioningFormula = abs([RE]-[S])*(([BP]-(5000*[O]*2)) * (0.7 + (([SN]^0.5)*0.05) + (([SP]^0.5)*0.05)) * (([L]+4)^2) * 0.00012)*2*[O]
@@ -47,7 +47,7 @@ KCT_Preset
InventorySaleFormula = 0
RolloutCostFormula = (((([L]+1)^2.5)*200)-180) + (([BP]-(5000*[O]*2)) * (0.7 + (([SN]^0.5)*0.05) + (([SP]^0.5)*0.05)) * (([L]+12)^1.2) * 0.00005)
NewLaunchPadCostFormula = 25000*(0.75 + ([N]^1.25)*.25)
}
}
KCT_Preset_Part_Variables
{
Part_Variables
@@ -72,7 +72,7 @@ KCT_Preset
Hydrazine = 1.5
UDMH = 1.25
Aerozine50 = 1.35
MMH = 1.35
MMH = 1.1
UH25 = 1.35
Aniline = 1.2
}
20 changes: 20 additions & 0 deletions GameData/RP-0/Parts/RFProcTanks.cfg
Original file line number Diff line number Diff line change
@@ -28,6 +28,8 @@
toolingType = Tank-I
untooledMultiplier = 0.25
finalToolingCostMultiplier = 0.375

costMultiplierDL = 3
}
@MODULE[ProceduralPart]
{
@@ -76,6 +78,8 @@
untooledMultiplier = 0.25
finalToolingCostMultiplier = 0.5
costReducers = Tank-I

costMultiplierDL = 5
}
@MODULE[ProceduralPart]
{
@@ -124,6 +128,8 @@
untooledMultiplier = 0.25
finalToolingCostMultiplier = 0.75
costReducers = Tank-II

costMultiplierDL = 8
}
@MODULE[ProceduralPart]
{
@@ -172,6 +178,8 @@
untooledMultiplier = 0.25
finalToolingCostMultiplier = 1.125
costReducers = Tank-III,Tank-III-Balloon

costMultiplierDL = 9
}
@MODULE[ProceduralPart]
{
@@ -218,6 +226,8 @@
toolingType = Tank-III-Balloon
untooledMultiplier = 0.25
finalToolingCostMultiplier = 1.25

costMultiplierDL = 5
}
@MODULE[ProceduralPart]
{
@@ -258,6 +268,8 @@
utilization = 50
type = SM-I
typeAvailable = SM-I

costMultiplierDL = 10
}
MODULE
{
@@ -312,6 +324,8 @@
untooledMultiplier = 0.1
finalToolingCostMultiplier = 1.5
costReducers = SM-I

costMultiplierDL = 10
}
@MODULE[ProceduralPart]
{
@@ -359,6 +373,8 @@
untooledMultiplier = 0.1
finalToolingCostMultiplier = 1.75
costReducers = SM-II

costMultiplierDL = 10
}
@MODULE[ProceduralPart]
{
@@ -406,6 +422,8 @@
untooledMultiplier = 0.1
finalToolingCostMultiplier = 2.0
costReducers = SM-III

costMultiplierDL = 10
}
@MODULE[ProceduralPart]
{
@@ -450,6 +468,8 @@
toolingType = TankShielded
untooledMultiplier = 0.25
finalToolingCostMultiplier = 1.375 // more than balloon, less than SM

costMultiplierDL = 10
}

}
Binary file modified GameData/RP-0/Plugins/RP0.dll
Binary file not shown.
11 changes: 6 additions & 5 deletions Source/Tooling/ModuleTooling.cs
Original file line number Diff line number Diff line change
@@ -46,9 +46,11 @@ public virtual void ToolingEvent()
{
if (IsUnlocked())
{
tEvent.guiActiveEditor = false;
tEvent.guiName = "TOOLED";
return;
}
else
tEvent.guiName = toolingName;

float toolingCost = GetToolingCost();
bool canAfford = true;
@@ -107,8 +109,7 @@ public override void OnLoad(ConfigNode node)

tEvent = Events["ToolingEvent"];

tEvent.guiActiveEditor = IsUnlocked();
tEvent.guiName = toolingName;
tEvent.guiName = IsUnlocked() ? "TOOLED" : toolingName;

if (!string.IsNullOrEmpty(costReducers))
reducers = new List<string>(costReducers.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
@@ -121,10 +122,10 @@ public virtual float GetModuleCost(float defaultCost, ModifierStagingSituation s

if (IsUnlocked())
{
tEvent.guiActiveEditor = false;
tEvent.guiName = "TOOLED";
return 0f;
}
tEvent.guiActiveEditor = true;
tEvent.guiName = toolingName;

return GetToolingCost() * untooledMultiplier;
}
11 changes: 11 additions & 0 deletions Source/Tooling/ModuleToolingDiamLen.cs
Original file line number Diff line number Diff line change
@@ -14,6 +14,9 @@ public class ModuleToolingDiamLen : ModuleTooling
[KSPField]
public float partLength;

[KSPField]
public float costMultiplierDL = 0f;

public virtual void GetDimensions(out float diam, out float len)
{
diam = partDiameter;
@@ -68,5 +71,13 @@ public override bool IsUnlocked()

return ToolingDatabase.HasTooling(toolingType, d, l) == ToolingDatabase.ToolingLevel.Full;
}

public override float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
{
float baseCost = base.GetModuleCost(defaultCost, sit);
float d, l;
GetDimensions(out d, out l);
return baseCost + (d * l * costMultiplierDL);
}
}
}

0 comments on commit 29abd83

Please sign in to comment.