Pure relocation, no behaviour change. BaseArmor and BaseClothing already kept
their pre-codegen Deserialize(reader, version) in a .Migrations.cs partial, but
left the OldSaveFlag enum and the GetSaveFlag helper behind in the main class
file, even though every one of their call sites is in the partial -- 26 for
BaseArmor, 12 for BaseClothing, none elsewhere. BaseWeapon had all three still
inline, its .Migrations.cs holding only a MigrateFrom.
All three now follow the same layout: MigrateFrom newest to oldest, then the
pre-codegen Deserialize, then GetSaveFlag, then OldSaveFlag. That takes ~290
lines of dead-on-arrival read path out of BaseWeapon.cs, which is the file that
needed it most, and leaves the main class files describing only how the type
behaves today.
The three partials gain `using System;` for the [Flags] attribute, and
BaseWeapon's moved Deserialize gains the `// Version 9 (pre-codegen)` marker the
other two already carry. Those two things plus blank lines are the entire
difference: across each .cs/.Migrations.cs pair the multiset of non-blank
source lines is otherwise identical to what it was before.
Verified: schema generator emits no new migration files, confirming nothing
about the serialized shape moved with the code; full solution builds with 0
errors and 0 warnings, 1516 tests pass.