SSTU - Shadow Space Technologies Unlimited

SSTU - Shadow Space Technologies Unlimited

98.5k Downloads

Adjustable parts don't seem to respect tech limits after first tier

blowfishpro opened this issue ยท 6 comments

commented

After unlocking one of the nodes allowing larger diameters, it appears that the SRBs and fuel tanks can take any diameter (whereas they should be limited to 1.875m)

commented

Strange as this was definitely working when I was last testing in my career game (<1 week ago).

Will do some investigation here shortly.

commented

I cannot confirm this during testing;

In my career game the tanks are being properly limited depending on what techs are unlocked. In my case they are being limited to 2.5m as I have Fuel Systems and Heavy rocketry unlocked.

Might need to know what tech you are unlocking that is breaking the limitations -- e.g. when does the problem first appear?

commented

using it in RO (I even made a custom tech tree to match Procedural Parts), and it works fine (both, original and the modified one)

commented

Okay, it turns out there are very specific circumstances under which this occurs:

  • Place the tank. It properly respects tech limits
  • Exit the VAB (clicking don't save is fine)
  • Re-enter the VAB (the craft will still be there)
  • Part no longer respects tech limits
commented

Confirmed with the above steps;

Likely cause is that for some reason the R&D data is not available for parts that are reloaded in the editor; KSP has numerous inconsistencies with loading sequences.

I'll investigate delaying the tech-limitation loading stuff until Start(), as that seems to work around most of the loading-sequence problems that I've run across.

commented

Indeed, at the point where I'm checking for available tech nodes, the R&D instance is null for parts that are in the editor on editor startup; the current behavior of the helper method is to return 'true' when R&D is null, which results in every tech node being seen as unlocked and max size being available.

Am going to investigate setting up a separate tech-limitation monitor/handler that will track the data persistently, reloading it on scene changes, so that it can use whatever the most recently known data is.