From 5418068462e91092ac60a0a58c0bdf522da001be Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Sun, 21 Mar 2021 13:55:55 +1100 Subject: [PATCH] Fix energy usage by warp engines. --- 84 Super Star Trek/csharp/Objects/Enterprise.cs | 7 +++++++ 84 Super Star Trek/csharp/Systems/ShieldControl.cs | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/84 Super Star Trek/csharp/Objects/Enterprise.cs b/84 Super Star Trek/csharp/Objects/Enterprise.cs index e48c5f76..4adf81df 100644 --- a/84 Super Star Trek/csharp/Objects/Enterprise.cs +++ b/84 Super Star Trek/csharp/Objects/Enterprise.cs @@ -179,6 +179,13 @@ namespace SuperStarTrek.Objects _quadrant.SetEnterpriseSector(sector); SectorCoordinates = sector; + TotalEnergy -= distance + 10; + if (Energy < 0) + { + _output.WriteLine("Shield Control supplies energy to complete the maneuver."); + ShieldControl.ShieldEnergy = Math.Max(0, TotalEnergy); + } + return GetTimeElapsed(quadrant, warpFactor); } diff --git a/84 Super Star Trek/csharp/Systems/ShieldControl.cs b/84 Super Star Trek/csharp/Systems/ShieldControl.cs index 5af343f1..a7518359 100644 --- a/84 Super Star Trek/csharp/Systems/ShieldControl.cs +++ b/84 Super Star Trek/csharp/Systems/ShieldControl.cs @@ -18,7 +18,7 @@ namespace SuperStarTrek.Systems _input = input; } - public float ShieldEnergy { get; private set; } + public float ShieldEnergy { get; set; } protected override bool CanExecuteCommand() => IsOperational("{name} inoperable");