Add NoHousingRegion child regions for Vesper vendor shops on both
facets, nested under the Vesper TownRegion. Same shop-region pattern
as Britain.
Refs #1052
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add NoHousingRegion child regions for Trinsic vendor shops on both
facets, nested under the Trinsic TownRegion. Same shop-region pattern
as Britain.
Refs #1052
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add NoHousingRegion child regions for Britain vendor shops on both
facets, following the existing New Haven/Haven shop pattern. Each shop
type (bakery, blacksmith, tailor, mage, bank, etc.) resolves to its own
region nested under the Britain TownRegion instead of only the broad
town region. Taverns/inns are intentionally excluded as they already
have dedicated NoLogoutDelay regions.
Refs #1052
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
### Summary
- [X] Gets rid of the Dtos
- [X] Simplifies the json serializer registration
- [X] Adds a custom `RegionByName` JsonConverter that can look up other regions that have already been registered.
### BREAKING CHANGE
1. **Child regions must appear after their parents in the JSON file**
2. In the regions json file, _"Parent"_ can no longer be just a string. It must be an object that includes the map.
- ```json
"Parent": { "Name": "Britain", "Map": "Felucca" }
```
## Possible Breaking Change
* Reverted regions.json back to RunUO until newer regions are implemented and proper expansion checks are added.
### Other Changes
- [X] Adds `Region.IsPartOf<T1, T2>()` to check for multiple types.
- [X] Fixes regions.json being wrong
- [X] Adds lots of missing regions. **They are not implemented properly yet**
- [X] Adds regions.xml -> regions.json (check ModernUO Discord)
- [X] Adds expansion specific regions.