jrossignol / ContractConfigurator

A config file based solution for creating new contracts for Kerbal Space Program.
https://forum.kerbalspaceprogram.com/index.php?/topic/91625-1
Other
64 stars 67 forks source link

EVAing Kerbal Prevents PartValidation Check from Succeeding #440

Closed inigmatus closed 8 years ago

inigmatus commented 8 years ago

Currently my CoastGuard Buoy Drop contracts are not able to complete when a player flies a command seat aircraft. I discovered why after ripping out all mods and testing only with CC (latest dev):

Bug Contract: https://github.com/inigmatus/GAP/blob/master/Development/BugTest%23440.cfg Bug Craft: https://github.com/inigmatus/GAP/blob/master/Development/BugTest440.craft

Steps to Duplicate:

  1. Accept bug contract.
  2. Launch bug craft.
  3. Hit spacebar to stage the first barometer release. Completes fine.
  4. Hit spacebar to stage the second barometer release. Completes fine.
  5. Revert to launch.
  6. Go on EVA, and re-board capsule.
  7. Hit spacebar to stage the first barometer release. Completes fine.
  8. Hit spacebar to stage the second barometer release. Fails to complete.

I can't figure this one out beyond this.

When I set the disableOnStateChange from true to false for the second barometer, it works.

Also included in the contract cfg is a commented out workaround idea that doesn't work at all and might be a separate idea: maxCount = 0.

Again, when disableOnStateChange is set from true to false for the commented out second barometer, it works.

Unfortunately I need disableOnStateChange set to true so i can then have the player load the buoys after recovering the aircraft, and transmit data separately. See the full original contract here: https://github.com/inigmatus/GAP/blob/master/CoastGuard-DropBuoys.cfg

Work around for now is for me to tell players not to EVA or use CommandSeats when doing the GAP CoastGuard-BuoyDrop contract.

jrossignol commented 8 years ago

That's a massive list of repro steps. When you say you removed all mods, does that include Take Command? Are you able to provide a quick save from right before the second bugged drop?

inigmatus commented 8 years ago

Yes TakeCommand is removed. Its only CC.

inigmatus commented 8 years ago

Here is a save file before EVA:

[edit] accidentally gave you BugTest411 not 440.

if you hit both stages, both barometer releases are recognized by CC.

[edit] accidentally gave you BugTest411 not 440.

Once you EVA though, and return to the capsule, the second barometer release is never recognized. No matter which one.

inigmatus commented 8 years ago

woops let me fix that contract and quicksave by adding a completeInSequence...

inigmatus commented 8 years ago

updated.

[edit] oops, did it again. accidentally gave you BugTest411 not 440. here you go: https://github.com/inigmatus/GAP/blob/master/Development/BugTest%23440.cfg

Here is a save file before EVA:

[edit] oops, did it again. accidentally gave you BugTest411 not 440. here you go: https://github.com/inigmatus/GAP/blob/master/Development/BugTest440.sfs

craft: https://github.com/inigmatus/GAP/blob/master/Development/BugTest440.craft

Steps:

  1. Stage both releases. Both barometer releases are recognized by CC.
  2. Revert to launch.
  3. EVA before staging though, and return to the capsule, the second barometer release is never recognized. No matter which one.
inigmatus commented 8 years ago

hah. third times the charm?

contract:

https://github.com/inigmatus/GAP/blob/master/Development/BugTest%23440.cfg

Here is a save file before EVA: https://github.com/inigmatus/GAP/blob/master/Development/BugTest440.sfs

here is the craft file: https://github.com/inigmatus/GAP/blob/master/Development/BugTest440.craft

inigmatus commented 8 years ago

ok fourth time here we go. this is finally it:

bugtest contract: https://github.com/inigmatus/GAP/blob/master/Development/BugTest%23440.cfg

Here is a save file before EVA: https://github.com/inigmatus/GAP/blob/master/Development/BugTest440.sfs

here is the craft: https://github.com/inigmatus/GAP/blob/master/Development/BugTest440.craft

Steps:

  1. Stage both releases. Both barometer releases are recognized by CC.
  2. Revert to launch.
  3. EVA before staging though, and return to the capsule, the second barometer release is never recognized. No matter which one.
jrossignol commented 8 years ago

Ah, okay, I'd just fixed a similar one with CollectScience. It's a problem with Sequence/complete in sequence with all these ones where the child parameters do the checking. Let me give some thought as to if there's a fix that'll just work all the time rather than doing another piecemeal fix.

jrossignol commented 8 years ago

Okay, got a fix that I think is going to work pretty well, definitely worked for your situation.

Fixed for 1.9.3

inigmatus commented 8 years ago

confirmed fixed. thanks. that was a bugger.