zer0Kerbal / OhScrap

Scrapyard based part failure mod for Kerbal Space Program.
https://forum.kerbalspaceprogram.com/index.php?/topic/192360-*/
GNU General Public License v2.0
5 stars 10 forks source link

Oh Scrap!/Scrapyard support? #45

Open zer0Kerbal opened 2 years ago

zer0Kerbal commented 2 years ago

From Kerbalism created by baldamundo: Kerbalism/Kerbalism#493

Wondered if anyone has given this any thought?

Oh Scrap (https://forum.kerbalspaceprogram.com/index.php?/topic/160854-17x-oh-scrap-a-scrapyard-based-part-failure-and-reliability-mod-163-22062019/) is an incredibly good part failure mod, which ties the failure to how many times you've built copies of that part, as well as how often that particular instance of the part has been re-used. This gives a huge amount of depth to a career game, encouraging using common hardware across your stable of vehicles, giving an actual reason for test-flights, significantly nerfing/balancing reuseable vehicles, etc.

At present, the two mods seem to be perfectly compatible, and actually seem to complement each other quite nicely since the Oh Scrap failures only happen while a vessel is loaded - so generally concentrated around launch failures - while Kerbalism's happen in the background and thus better representing long-term decay.

Ultimately the Oh Scrap system is much deeper than Kerbalism's, but Kerbalism has two advantages:

  1. Part failures in Kerbalism can occur during background simulation.
  2. Failed parts in Kerbalism are displayed in the Kerbalism UI.

Is it at all feasible to integrate the two systems better? I'm guessing that either adding background simulation to Oh Scrap or part history tracking to Kerbalism would be very much non-trivial, but at a minimum, is there a way for Oh Scrap to plug into Kerbalism's API and show its failures in the Kerbalism UI?

zer0Kerbal commented 2 years ago

just thoughts off the top of my head: it can be done. just need a KerbalismWrapper.cs and should be able to add a call to xxxKerbalismAPI in the part failure/repair.