Versions 3.15 and 3.16 Windows
I have 4 Spectre SPR-4F light 'Mechs that I cannot replace limbs on. I have included 2 of them in the attached file. I get the "must salvage parts in location before replacing location" error. I have salvaged the parts. I even went so far as to change one of the 'Mechs to salvage and salvaged everything that was not a location (just in case something was put where it shouldn't be), switched it back to repair and got the same error. I am attaching Spectre Repairs.mul with 2 of the 'Mechs I'm having problems with.
Ok, I see the problem. The issues are the null sig and chameleon polarization system. Both of these systems occupy a critical space in every location of the mech (except head, I believe) but they are actually only reported to be in one location (LL in this case) where the Mounted was placed. So the first problem is that they are not showing up on the report of equipment in that location. The second problem is that even if you do salvage them, you will not be able to replace the other locations until after a save and reload, because the initial salvaging only destroys the crit in the mounted's primary location.
The short term work around is to salvage or scap the Null Sig and Cham Pol System and then save and reload. You should then be able to proceed.
The fix for this is two-fold. I think I can change EquipmentPart.remove to call Unit.destroySystem without a location specification without causing problems because that is how we do it in MissingEquipmentPart.updateFromPart and it doesn't cause problems. Note that the current system will also cause problems for units that have weapons with more than a primary location. That will fix the problem of not all the critical slots being properly destroyed and thus eliminate the save/reload necessity. The second issue is to get these kinds of parts to show up in all the locations, so users don't think they have salvaged things when they haven't.
Fixed by [213d63]
Ok this has been fixed for the next release. I implemented both of the things discussed above. I believe this will also resolve any remaining issues with not being able to salvage locations. This would have affected any units with distributed equpment such as null sig, void sig, cham polarization, as well as any unit that had equipment that spanned multiple locations.
Related
Commit: [213d63]
I see. Thanks ffor the quick fix and the work around. At least now I can make the repairs and continue until the next release. I appreciate the information.