ModernUO/Projects/UOContent/Engines/Virtues
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
..
Compassion.cs fix: Cleans up entity persistence. Generalizes Mobiles/Items/Guilds (#1528) 2023-10-01 22:10:47 -07:00
Honor.cs chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
HonorContext.cs fix: Fixes honor check crash on target killed (#1987) 2024-10-30 16:33:43 -07:00
HonorSelfGump.cs fix: Cleans up HonorGump and Honor checks (#1853) 2024-07-04 11:23:42 -07:00
IHonorTarget.cs fix: Overhauls virtue system (#1376) 2023-07-19 21:43:47 -07:00
Justice.cs feat: Converts player deletion handling to a generated event (#2029) 2024-12-21 20:55:10 -08:00
Sacrifice.cs chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Valor.cs fix: Cleans up entity persistence. Generalizes Mobiles/Items/Guilds (#1528) 2023-10-01 22:10:47 -07:00
VirtueContext.cs fix: Overhauls virtue system (#1376) 2023-07-19 21:43:47 -07:00
VirtueGump.cs feat: Add spawn position caching and spiral scan optimization (#2295) 2025-12-28 02:40:21 -08:00
VirtueInfoGump.cs fix: Optimizes gump relay info (Prep for Static Gumps) (#1698) 2024-03-07 20:54:53 -08:00
VirtueStatusGump.cs fix: Optimizes gump relay info (Prep for Static Gumps) (#1698) 2024-03-07 20:54:53 -08:00
VirtueSystem.cs chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00