ModernUO/Projects/UOContent/Engines
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
..
Advanced Search perf(login): run password hashing on a parked worker thread (#2566) 2026-08-09 00:13:34 -07:00
BuffIcons feat: Standardizes South/East selection gumps (#1839) 2025-02-14 00:15:14 -08:00
Bulk Orders feat: adopt serialization generator v4 (field-side linkage, anchored timers) (#2586) 2026-08-22 17:54:02 -07:00
CannedEvil refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
Character Creation fix: Fixes bug with non blessed starter spellbooks (#2368) 2026-03-13 00:20:23 -07:00
Chat fix: Removes unnecessary dictionary removal guards (#2565) 2026-08-08 11:50:01 -07:00
ConPVP refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
Craft fix: Consolidate PlayerConstructed onto Item, stamped by the craft system (#2574) 2026-08-13 18:34:59 -07:00
Doom chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Ethics perf(saves): eliminate world-save freeze bottlenecks (~9.5x faster freeze) (#2525) 2026-07-16 22:53:28 -07:00
Events fix: Streamlines event scheduler API. Adds months to weekly recurrence (#2178) 2025-05-07 22:42:44 -07:00
Factions fix(opl): refuse property list invalidation raised from inside GetProperties (#2555) 2026-07-28 21:29:03 -07:00
FeatureFlags fix: Streamlines insurance. Insurance only executes when enabled. (#2550) 2026-07-26 09:47:49 -07:00
Harvest chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Help feat: Add zero-alloc interpolation handler to ValueStringBuilder, replace all StringBuilder usage (#2387) 2026-03-22 14:23:44 -07:00
Insurance fix: Streamlines insurance. Insurance only executes when enabled. (#2550) 2026-07-26 09:47:49 -07:00
Khaldun refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
ML Quests fix: Removes unnecessary dictionary removal guards (#2565) 2026-08-08 11:50:01 -07:00
Party fix: Eliminates double lookup with Contains->Remove (#2539) 2026-07-19 09:26:27 -07:00
Pathing perf(login): run password hashing on a parked worker thread (#2566) 2026-08-09 00:13:34 -07:00
Plants refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
Player Murder System refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
Quests refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
Spawners refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
Stealables feat(throwing): wire SA loot flavor + Valkyrie's Glaive stealable (#2512) 2026-07-02 22:28:55 -07:00
Treasures of Tokuno refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
UltimaStore fix: Fixes thread guard and cleans up incoming packet reader (#1641) 2023-12-19 17:04:09 -08:00
Veteran Rewards refactor: fold hand-written serializable property setters into field hooks 2026-08-22 18:07:47 -07:00
Virtues feat: adopt serialization generator v4 (field-side linkage, anchored timers) (#2586) 2026-08-22 17:54:02 -07:00