ModernUO/Projects/UOContent/Engines/Quests
Kamron Batman 08dab47413
fix: check Controlled before reading ControlMaster (#2668)
Readers of `ControlMaster` that act on "this creature is a player's pet" now also require
`Controlled`. Nothing sets a master on an uncontrolled creature today, so behavior does not
change, except that the ML notoriety branch was the one read with nothing in front of it.
The guard keeps these readers correct if a creature ever keeps a master without being
controlled (a suspended-control state such as a charm or turn-pet ability, or folding
SummonMaster into one master field).

- Notoriety (ML): a creature only takes its master's notoriety while controlled
- BaseCreature.AggressiveAction: the aggressor link to the master only applies to controlled pets
- PlayerMobile.AutoStablePets: uncontrolled summons (blade spirits, energy vortexes) are skipped
- CrystalCaveBarrier: only a controlled pet passes on its owner's quest progress
- Discordance: the own-pet exception only applies to a controlled pet
- Dismount (ML): the remount block only goes to the owner of a controlled pet

Also removes the "Summons from monsters can attack players" branch in Mobile_AllowHarmful.
It has been unreachable since #2000: a creature with no player master returns from the
NPC check above it.

Tests: UOContent.Tests 1158 passed.
2026-09-23 11:45:48 -07:00
..
Ambitious Solen Queen perf: Migrate Quest gumps to DynamicGump (#2416) 2026-04-25 20:23:13 -07:00
Collector perf: Migrate Quest gumps to DynamicGump (#2416) 2026-04-25 20:23:13 -07:00
Core perf: Migrate Quest gumps to DynamicGump (#2416) 2026-04-25 20:23:13 -07:00
Dark Tides fix: check Controlled before reading ControlMaster (#2668) 2026-09-23 11:45:48 -07:00
Emino's Undertaking perf: Migrate Quest gumps to DynamicGump (#2416) 2026-04-25 20:23:13 -07:00
Haochi's Trials fix: Optimizes items to use default weights. (Part 1) (#2240) 2025-07-24 14:44:39 -07:00
Regions chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Solen Matriarch perf: Migrate Quest gumps to DynamicGump (#2416) 2026-04-25 20:23:13 -07:00
Study of the Solen Hive perf: Migrate Quest gumps to DynamicGump (#2416) 2026-04-25 20:23:13 -07:00
Terrible Hatchlings perf: Migrate Quest gumps to DynamicGump (#2416) 2026-04-25 20:23:13 -07:00
The Summoning refactor: fold hand-written serializable property setters into field hooks (#2587) 2026-08-22 18:20:39 -07:00
Uzeraan Turmoil refactor: decompose mobile/corpse hair, delete VirtualHairInfo, fix removal serial (#2462) (#2463) 2026-06-06 14:33:28 -07:00
Witch Apprentice perf: Migrate Quest gumps to DynamicGump (#2416) 2026-04-25 20:23:13 -07:00