Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Engine Shutdown Easily "Fixed" #160

Closed
Starstrider42 opened this issue May 6, 2017 · 2 comments
Closed

Engine Shutdown Easily "Fixed" #160

Starstrider42 opened this issue May 6, 2017 · 2 comments
Labels

Comments

@Starstrider42
Copy link
Contributor

I've discovered that an "engine shutdown" failure can be fixed despite TestFlight no longer supporting repair functionality... sort of.

The bug can be reproduced in KSP 1.2.2, with ModuleManager 2.7.5, TestFlight 1.8.0.1, and this config file instead of the default stock ones. I started a sandbox game, cheated the Orbiter 1A into orbit, and applied thrust until an engine failed. Right-clicking on the affected engine shows the normal "Activate Engine" button:
screenshot4
Clicking it restores functionality to the engine, although the engine is still marked in red in the staging list and is still marked as failed in the TF window. However, it works just fine, and is immune to further failures:
screenshot9

I suspect a similar bug applies to ignition failures, but I haven't been able to trigger one yet.

@jwvanderbeck
Copy link
Collaborator

Possibly something changed in 1.2 in regards to how you disable the engine.

@Starstrider42
Copy link
Contributor Author

Update: I suspected at first that the code was merely missing the usual Event.active = false commands (which it was). However, adding

engine.engine.Events["Activate"].active = false;
engine.engine.Events["Shutdown"].active = false;

doesn't fix this bug. Debugging statements (using an independent way of accessing the PartModule) confirm that the events do get disabled; it's almost as if something else came along and re-enabled them afterward. This behavior seems to be unique to engines; e.g., the Event.active = false commands in TestFlightFailure_LightBroken do work.

That's about as far as I've gotten. I'm kind of stumped at the moment. 😞

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants