ModernUO/Projects/UOContent/Mobiles/Monsters
Kamron Batman 3eb3f0fb5c
fix(ai): restore pre-AOS berserk energy vortexes and blade spirits (#2666)
#2132 let a player's energy vortex or blade spirits in pre-AOS Felucca target their own caster, gated by `FollowsAcquireRules`. #2232's AI overhaul moved the summon checks into `IsInvalidSummonTarget`, which excluded the caster in every era, and dropped the gate. Since then `FollowsAcquireRules` has had no readers and summons have never turned on their caster.

## Changes

- `IsInvalidSummonTarget` reads `FollowsAcquireRules` again. A summon that follows the acquire rules spares its caster and anyone the caster's harmful spells would spare. The vortex and blade spirits don't follow them in pre-AOS Felucca when a player summoned them.
- The animated-dead restrictions (no players, no other animated dead, no pets) apply to every animated summon regardless of that setting.
- `AcquireNewFocusMob` sets a berserk summon's caster aside and targets them only when nobody else is available. #2132 meant to prefer others, but its check only worked when the caster was scanned before the other candidates, and the vortex's Int-plus-Magery ranking usually puts a nearby caster first.
- The AOS summon-target check no longer dereferences a missing `SummonMaster`. A summon whose caster was deleted before a reload comes back without one.

Controlled summons are unaffected: since #2665 they target through `HandleControlled` and never reach this scan.

## Tests

`SummonAcquireRulesTests` has 6 cases, skipped without client map data. Pre-AOS Felucca: a vortex and blade spirits each target their caster when the caster is alone, and a vortex targets a bystander even when the caster ranks higher. Pre-AOS Trammel and AOS Felucca: the caster is still spared. An AOS scan next to a summon with no master doesn't throw. `UOContent.Tests`: 1148 passed, 2 skipped, 0 failed on Windows.
2026-09-23 10:29:20 -07:00
..
Ants fix: Updates messages with clilocs (#1381) 2023-03-26 00:54:09 -07:00
AOS feat: Adds new decay system and SkipSerialization (#2311) 2026-01-08 11:43:51 -08:00
Arachnid fix: Changes on Monsters to use code generation (#1304) 2022-12-17 19:40:04 -08:00
Elemental feat: Adds Endless Decanter of Water and Water Elemental acquisition (#2371) 2026-03-14 16:45:06 -07:00
Humanoid feat: Adds Spectral Spellbinder for Old Haven (#2453) 2026-07-02 19:40:11 -07:00
LBR refactor: Changes BaseCreature to the SerializationGenerator (delta save requirement) (#2611) 2026-09-06 14:11:51 -07:00
Mammal/Melee feat: Adds new decay system and SkipSerialization (#2311) 2026-01-08 11:43:51 -08:00
Misc fix(ai): restore pre-AOS berserk energy vortexes and blade spirits (#2666) 2026-09-23 10:29:20 -07:00
ML feat: Adds SpecialAttack monster ability trigger. Fixes fanning fire. (#2186) 2025-05-15 22:14:52 -07:00
Ore Elementals chore: Fixes variable types for possible performance issues (#2172) 2025-05-01 21:54:41 -07:00
Plant fix: Changes Map.Sector.Mobiles to link list & Fixes various related crash bugs (#1553) 2023-10-29 22:42:46 -07:00
Reptile fix: pets freeze, forget their orders, obey the wrong players, and fight when told not to (#2614) 2026-09-10 19:28:13 -07:00
SE feat: Adds leather/metal food, fixes weapons/armors with wrong materials (#1718) 2024-04-04 19:43:02 -07:00
Summons feat: Standardizes South/East selection gumps (#1839) 2025-02-14 00:15:14 -08:00