Skip to content

Commit

Permalink
* **FIX**: Fix major bug in FloatCurve handling that was causing Test…
Browse files Browse the repository at this point in the history
…FlightFailure_IgnitionFail and TestFlightReliability_EngineCycle to both not apply proper failure chances
  • Loading branch information
jwvanderbeck committed Apr 2, 2016
1 parent 9b10e11 commit 1f62c35
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 10 deletions.
Binary file modified GameData/TestFlight/Plugins/TestFlight.dll
Binary file not shown.
Binary file modified GameData/TestFlight/Plugins/TestFlightAPI.dll
Binary file not shown.
Binary file modified GameData/TestFlight/Plugins/TestFlightContracts.dll
Binary file not shown.
Binary file modified GameData/TestFlight/Plugins/TestFlightCore.dll
Binary file not shown.
26 changes: 20 additions & 6 deletions TestFlightFailure_IgnitionFail.cs
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,11 @@ public override void OnUpdate()
if (multiplier <= 0f)
multiplier = 1f;

float minValue, maxValue = -1f;
baseIgnitionChance.FindMinMaxValue(out minValue, out maxValue);
Log(String.Format("TestFlightFailure_IgnitionFail: IgnitionChance Curve, Min Value {0:F2}:{1:F6}, Max Value {2:F2}:{3:F6}", baseIgnitionChance.minTime, minValue, baseIgnitionChance.maxTime, maxValue));


if (this.vessel.situation != Vessel.Situations.PRELAUNCH)
ignitionChance = ignitionChance * multiplier * ignitionUseMultiplier.Evaluate(numIgnitions);

Expand Down Expand Up @@ -174,12 +179,21 @@ public void RestoreIgnitor()
public override void OnAwake()
{
base.OnAwake();
baseIgnitionChance = new FloatCurve();
baseIgnitionChance.Add(0f, 1f);
pressureCurve = new FloatCurve();
pressureCurve.Add(0f, 1f);
ignitionUseMultiplier = new FloatCurve();
ignitionUseMultiplier.Add(0f, 1f);
if (baseIgnitionChance == null)
{
baseIgnitionChance = new FloatCurve();
baseIgnitionChance.Add(0f, 1f);
}
if (pressureCurve == null)
{
pressureCurve = new FloatCurve();
pressureCurve.Add(0f, 1f);
}
if (ignitionUseMultiplier == null)
{
ignitionUseMultiplier = new FloatCurve();
ignitionUseMultiplier.Add(0f, 1f);
}
}
}
}
Expand Down
14 changes: 10 additions & 4 deletions TestFlightReliability_EngineCycle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,16 @@ public override string GetInfo()
public override void OnAwake()
{
base.OnAwake();
thrustModifier = new FloatCurve();
thrustModifier.Add(0f, 1f);
cycle = new FloatCurve();
cycle.Add(0f, 1f);
if (thrustModifier == null)
{
thrustModifier = new FloatCurve();
thrustModifier.Add(0f, 1f);
}
if (cycle == null)
{
cycle = new FloatCurve();
cycle.Add(0f, 1f);
}
}

public override List<string> GetTestFlightInfo()
Expand Down

0 comments on commit 1f62c35

Please sign in to comment.