In the code stay:
public class MSTSTrainControlSystem : TrainControlSystem { public enum MonitorState { Disabled, StandBy, Alarm, Emergency }; public bool ResetButtonPressed { get; private set; } public bool VigilanceSystemEnabled { get { bool enabled = true; enabled &= IsAlerterEnabled(); if (VigilanceMonitor != null) { if (VigilanceMonitor.ResetOnDirectionNeutral) { enabled &= CurrentDirection() != Direction.N; } if (VigilanceMonitor.ResetOnZeroSpeed) { enabled &= SpeedMpS() >= 0.1f; } } return enabled; } } public bool VigilanceReset { get { bool vigilanceReset = true; if (VigilanceMonitor != null) { if (VigilanceMonitor.ResetOnDirectionNeutral) { vigilanceReset &= CurrentDirection() == Direction.N; } if (VigilanceMonitor.ResetOnZeroSpeed) { vigilanceReset &= SpeedMpS() < 0.1f; } if (VigilanceMonitor.ResetOnResetButton) { vigilanceReset &= ResetButtonPressed; } } return vigilanceReset; } }
In MSTS when Alerter give emergencybrakes... you can rearm after push Alerterbuttons. For moment in OpenRails you can onley do this after you have Zero speed & reverser is set to neutral.
There is something wrong with the code. Normal it must be that you rearm alerter when you push alerter reset key, in MSTS was this correct
MSTS reset the time of alerter too, if reverser are in neutral, ZeroSpeed or reset key too.
OpenRails Alertertimer have no hold&reset command like MSTS
You can see this in begin of game when you power on youre train and after full alerter time, set reverser to forward/backward postion, the alerter runs directly
if there is a hold/reset command this problem is been fixed and works like in MSTS.
Trains in my country when alerter go in emergency, you can rearm with alerterreset key, and you must reclose circuitbreaker (on some trains there is button to annulate dispach SOS message, not important for now )
I hope some can fix this, i have make some try's todo that = no succes. I'am not c# professional man.