ModernUO/Projects/UOContent/Mobiles
Kamron Batman a082202e98
refactor: serialize one master reference; fold the SummonMaster lockstep
ControlMaster and SummonMaster, when both set, are always the same
mobile: BaseCreature.Summon assigns both to the caster, and every pet
management flow (transfer, stable, claim, ball of summoning, GM obey,
login overflow) followed SetControlMaster with an identical SummonMaster
assignment. They differ only in presence - uncontrolled summons carry
only a summon master, pets only a control master.

So one _master reference serializes (refreshed at save, fanned back out
through the Controlled/Summoned flags in AfterDeserialization; legacy
loads feed the same path), and SetControlMaster now keeps SummonMaster
in lockstep itself, deleting the six hand-rolled copies of that
boilerplate.

Also: a creature constructed without speeds (missing npc-speeds.json)
now logs debug and defaults to Medium (0.25/0.5) instead of throwing -
this is the place a sane default belongs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 20:07:35 -07:00
..
Abilities refactor: BaseCreature to the SerializationGenerator with SaveFlag elision 2026-08-23 10:50:38 -07:00
AI refactor: serialize one master reference; fold the SummonMaster lockstep 2026-08-23 20:07:35 -07:00
Animals feat: convert all delta-time serialization to anchored time (#2589) 2026-08-22 19:34:43 -07:00
Familiars fix: Fixes container enumeration not recycling pooled arrays (#2341) 2026-02-17 09:54:32 -08:00
Guards feat: Adjusts fame and karma system with era gates for OSI accuracy (#2389) 2026-04-25 11:19:57 -07:00
Healers feat: Adds Mobile.Murderer virtual property, consolidates kill-threshold checks (#2355) 2026-03-06 08:36:41 -08:00
Hireables refactor: fold hand-written serializable property setters into field hooks (#2587) 2026-08-22 18:20:39 -07:00
Monsters refactor: BaseCreature to the SerializationGenerator with SaveFlag elision 2026-08-23 10:50:38 -07:00
Special feat: Adds independent think/move clocks for creature AI to fix speed (#2591) 2026-08-23 10:19:59 -07:00
Townfolk feat: adopt serialization generator v4 (field-side linkage, anchored timers) (#2586) 2026-08-22 17:54:02 -07:00
Vendors refactor: serialize one master reference; fold the SummonMaster lockstep 2026-08-23 20:07:35 -07:00
BaseCreature.cs refactor: serialize one master reference; fold the SummonMaster lockstep 2026-08-23 20:07:35 -07:00
CreatureEvents.cs refactor: BaseCreature to the SerializationGenerator with SaveFlag elision 2026-08-23 10:50:38 -07:00
NPCSpeeds.cs refactor: None means custom; the type list resolves only at construction 2026-08-23 13:13:46 -07:00
PlayerMobile.cs refactor: serialize one master reference; fold the SummonMaster lockstep 2026-08-23 20:07:35 -07:00
VirtualMountItem.cs fix: Fixes mount stamina, adds Pub46+ Ethereal stamina (#1716) 2024-04-05 21:05:16 -07:00