ModernUO/Projects/UOContent/Spells
Kamron Batman 3e8d548f38
feat: Add spawn position caching and spiral scan optimization (#2295)
### Summary

Adds spawn position caching and optimization for constrained spawners (e.g., those near houses, water, or blocked terrain).

### Key features:
- Sector-based bitmap cache (32 bytes per 16x16 sector) stores valid spawn positions
- Spiral scan progressively discovers positions from spawner center outward
- Automatic mode detects constrained spawners after 5+ non-transient failures
- Prevents mob spawning inside private houses (allows public AoS buildings)
- Deduplicates sector lookups for multi-bounds spawners (RegionSpawner)
- Cache invalidation on house placement/demolition
- Moves SpawnBounds to Spawner

### New spawner properties:
- SpawnPositionMode: Automatic (default), Enabled, Disabled, Abandoned
- MaxSpawnAttempts: Configurable attempts before optimization engages (default: 5)
2025-12-28 02:40:21 -08:00
..
Base chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Bushido chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Chivalry chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Eighth fix: Fixes pet validation for resurrection spell (#2197) 2025-07-16 21:34:43 -07:00
Fifth feat: Add spawn position caching and spiral scan optimization (#2295) 2025-12-28 02:40:21 -08:00
First fix: Fixes buffs don't start/stop properly. Streamlines constructor and Add/Remove buffs. (#2082) 2025-01-24 18:20:23 -08:00
Fourth fix: Fixes curse spell fizzling (#2193) 2025-05-25 14:58:02 -07:00
Gargoyle/SpellDefinitions fix: Fixes buffs don't start/stop properly. Streamlines constructor and Add/Remove buffs. (#2082) 2025-01-24 18:20:23 -08:00
Mysticism chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Necromancy chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Ninjitsu chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Second chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Seventh chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Sixth chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Spellweaving fix: Fixes buffs don't start/stop properly. Streamlines constructor and Add/Remove buffs. (#2082) 2025-01-24 18:20:23 -08:00
Targeting fix: Adjusts spell ranges to match OSI (#2171) 2025-05-01 20:03:56 -07:00
Third fix: Adjusts spell ranges to match OSI (#2171) 2025-05-01 20:03:56 -07:00
Initializer.cs fix: Adds Cleansing Winds Spell (#1126) 2022-07-17 07:49:55 -07:00
Reagent.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
UnsummonTimer.cs chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00