ModernUO/Projects/UOContent/Multis
Kamron Batman 4849c80750
refactor: fold hand-written serializable property setters into field hooks
Converts 113 [SerializableProperty] members whose setters only coerce the
value, reject it, or run post-change side effects into plain
[SerializableField] declarations using allowFieldChange and fieldChanged.
Wire- and schema-neutral: the migration schema regeneration produces zero
changes.

Kept as hand-written properties: custom getters (fallback defaults, lazy or
self-healing reads), virtual/override members, pre-assignment state capture
(durability unscale/scale sandwiches), and setters with exotic semantics
(work on equal assignment, early returns that skip persistence).

Behavioral notes: generated setters skip all work when the incoming value
equals the field, and always MarkDirty on change - a handful of converted
setters previously never marked dirty (their changes only persisted if
something else dirtied the entity) or re-ran side effects on equal
assignment.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-22 18:07:47 -07:00
..
Boats refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
Camps fix: Fixes timer leak in BaseCamp (#2259) 2025-11-12 09:49:35 -08:00
Houses fix: Eliminates double lookup with Contains->Remove (#2539) 2026-07-19 09:26:27 -07:00
ComponentVerification.cs fix(housing): register doors, and stop crashing on client component sheets (#2557) 2026-08-04 20:05:28 -07:00
Deeds.cs fix: Converts houses/deeds to serialization generator (#2288) 2025-12-04 21:26:39 -08:00
DynamicDecay.cs Cleanup & Fixes for .NET 5 (#309) 2020-11-15 10:03:50 -08:00
HouseDeed.cs fix: Converts houses/deeds to serialization generator (#2288) 2025-12-04 21:26:39 -08:00
HousePlacementTarget.cs chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00