Restored the previous code but with Scripted preservation
Restored the previous code but with Scripted preservation

For backwards-compatibility, I replaced the newer simple code with the
original code, but then wrapped it with new code that saves the current
state of the Scripted flag for the part, applies the old code, then
updates just that one Scripted flag with the saved value. This should
allow the previous fixes in PR#152 to be maintained.

kf6kjg/halcyon,kf6kjg/halcyon,InWorldz/halcyon,InWorldz/halcyon,emperorstarfinder/halcyon,M-O-S-E-S/halcyon,InWorldz/halcyon,InWorldz/halcyon,InWorldz/halcyon,zwagoth/halcyon,emperorstarfinder/halcyon,M-O-S-E-S/halcyon,M-O-S-E-S/halcyon,M-O-S-E-S/halcyon,M-O-S-E-S/halcyon,zwagoth/halcyon,kf6kjg/halcyon,InWorldz/halcyon,emperorstarfinder/halcyon,kf6kjg/halcyon,emperorstarfinder/halcyon,zwagoth/halcyon,M-O-S-E-S/halcyon,kf6kjg/halcyon,zwagoth/halcyon,kf6kjg/halcyon,kf6kjg/halcyon,emperorstarfinder/halcyon,zwagoth/halcyon,M-O-S-E-S/halcyon,zwagoth/halcyon,M-O-S-E-S/halcyon,zwagoth/halcyon,zwagoth/halcyon,InWorldz/halcyon,InWorldz/halcyon,zwagoth/halcyon,kf6kjg/halcyon,emperorstarfinder/halcyon,emperorstarfinder/halcyon,kf6kjg/halcyon,M-O-S-E-S/halcyon,InWorldz/halcyon