Bug #27020
2nd Satellite repair contract fails to complete (refers to a part from the previous 1st contract's vessel)
10%


Description
(Attached quicksave file).
A satellite repair contract from the quicksave refuses to complete because it claims I did not repair the Communicatron 16 antenna when I absolutely did. This is the contract in question from the attached save file:
CONTRACT { guid = c072ab91-3b9b-47e6-8dde-9636ff7230a3 type = VesselRepairContract
I investigated in the save file and I see something very suspicious.
This contract claims the the part I need to repair is the following one:
PARAM { name = RepairPartParameter state = Incomplete values = 0,0,0,0,0 bodyName = Kerbin partName = longAntenna partPersistentId = 1509972433 vesselPersistentId = 3819982714 }
What I find suspicious about this is that while a part with persistentId=1509972433 does exist in the save file, it is NOT on a vessel with persistentId=3819982714 as described by this contract parameter. It's on a vessel with persistentId=490346003 instead.
That older vessel, with persistentId=490346003, also coincidentally happens to be one that was spawned by this very same type of contract earlier in the game.
I suspect this: This type of contract only works right the first time it spawns a vessel of this specific design. The second time the same design of vessel is spawned by a second instance of this contract, it won't complete because it's using a part ID that's on the vessel the first contract spawned, not the new second vessel.