Well, if we're talking about a minimum of coding changes to the program, then insert a flag, like
WAS_MOTHBALLED_AT_SPACE_YARD {1/0}
If this is set to 1, then the ship was 'mothballed'. If set to 0, it was 'abandoned' (but the status is the same otherwise). Then don't change the ship until someone comes along and tries to board it. When they do, pick a random number of components and damage them. This could represent the fact that sometimes ships could float for millenia in the cold, preserving vacuum of space, but other times a freak meteor shower etc could damage them severely.
The point is, you don't need to track this, but rather leave the ship intact until someone comes and actually looks inside; the Schroedinger's Ship paradox
Hey, I just had an idea for a modification to this. If the SDD is still functioning when the ship is boarded, it could detonate. This could represent the crew abandoning the ship, but leaving it 'booby-trapped'.
Hmm, but why would you abandon it if you had a functioning SDD? Isn't that how this thread started. Well, I'm confused
