ModernUO/Projects/UOContent
Quick 0b34cc4417
feat: Changes Spawner HomeRange to SpawnBounds (#2290)
### Summary

This PR transitions the spawner system from a simple radius-based model to a flexible 3D boundary system.

### Core Changes

* **Replaced `HomeRange` with `SpawnBounds`**: Spawners now use a `Rectangle3D` to define spawn areas instead of a circular integer range.
* **Backward Compatibility**:
* The `HomeRange` property remains as a helper that generates square `SpawnBounds` centered on the spawner.
* Included a migration path (v10 to v11) that automatically converts old range data into new bounds during deserialization.


* **Dynamic Bounds Shifting**: If a spawner is moved, its `SpawnBounds` will automatically shift with it, provided the bounds are currently configured as a centered square.
* **New Spawn Logic**: Added `SpawnLocationIsHome` toggle. If enabled, spawned mobiles treat their exact spawn coordinates as their "Home" rather than the spawner's location.

### Implementation Details

* **Interface Updates**: Updated `ISpawner` to include `WalkingRange`, `SpawnBounds`, and `IsInSpawnBounds()`.
* **UI Enhancements**: The Spawner Controller Gump now displays "Custom" for complex bounds and allows copying of the new boundary properties between spawners.
* **Refactored Constructors**: Streamlined `BaseSpawner`, `ProximitySpawner`, and `RegionSpawner` constructors to support the new data types.
2025-12-26 18:07:26 -08:00
..
Accounting fix: Eliminates List allocations in various places. (#2158) 2025-11-16 18:33:53 -08:00
Assistants feat: Converts OnLogin to a coded generated event (#2070) 2025-01-17 15:21:45 -08:00
Commands feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
Compression fix: Fixes directory copying (#1668) 2024-02-09 23:25:20 -08:00
Configuration chore: Updates copyright (#1448) 2023-08-09 09:09:26 -07:00
Console feat: Adds console commands (#1714) 2024-03-30 09:40:43 -07:00
Context Menus fix: Moves ContextMenu out of core, streamlines code, fixes bugs (#1873) 2024-07-20 21:33:23 -07:00
Engines feat: Changes Spawner HomeRange to SpawnBounds (#2290) 2025-12-26 18:07:26 -08:00
Gumps feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
Holiday Stuff fix: Optimizes items to use default weights. (Part 1) (#2240) 2025-07-24 14:44:39 -07:00
Items fix: Fixes ConditionTeleporter.DenyFollowers (#2284) 2025-11-29 16:28:14 -08:00
Migrations feat: Changes Spawner HomeRange to SpawnBounds (#2290) 2025-12-26 18:07:26 -08:00
Misc feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
Mobiles feat: Changes Spawner HomeRange to SpawnBounds (#2290) 2025-12-26 18:07:26 -08:00
Multis fix: Converts houses/deeds to serialization generator (#2288) 2025-12-04 21:26:39 -08:00
Network fix: Eliminates List allocations in various places. (#2158) 2025-11-16 18:33:53 -08:00
Regions feat: New Jail System (#2215) 2025-07-16 20:41:21 -07:00
Skills feat: Adds proper OSI tracking up to 120 tiles. (#2281) 2025-11-29 09:55:52 -08:00
Special Systems feat: Converts OnLogin to a coded generated event (#2070) 2025-01-17 15:21:45 -08:00
Spells fix: Standardizes the variables for AI (#2234) 2025-07-18 17:50:32 -07:00
Systems/JailSystem feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
Targets chore: Fixes variable types for possible performance issues (#2172) 2025-05-01 21:54:41 -07:00
Text feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
Utilities fix: Fixes various mobile packets and setting serials (#1618) 2023-11-26 00:42:15 -08:00
World Saves chore: Fixes variable types for possible performance issues (#2172) 2025-05-01 21:54:41 -07:00
Module.cs fix: Fixes sending packets and sidesteps a major issue with stackalloc and PGO in .NET 8 (#1607) 2023-11-21 12:18:20 -08:00
UOContent.csproj feat: Bumps Serialization Generator for better support (#2292) 2025-12-26 14:27:24 -08:00