TerritoryArea
Overview
Section titled “Overview”TerritoryData files define territory areas: spatial regions within a territory group that contain NPCs, parties, fences, and other gameplay elements. Each area specifies its type, vertical bounds, and optional features like approach prohibitions and dungeon triggers.
Version Support
Section titled “Version Support”| Version | Status |
|---|---|
| v92 | Full |
| v90 | - |
| v86 | - |
DSL Support
Section titled “DSL Support”Entity: territoryAreas
Operations: create, update, delete, upsert
Key attributes: huntingZoneId, groupId, territoryId (composite key)
Quick Recipes
Section titled “Quick Recipes”Create
Section titled “Create”spec: version: "1.0" schema: v92
territoryAreas: create: - huntingZoneId: 400 groupId: 1 territoryId: 1 type: normal addMaxZ: 999 subtractMinZ: 999 desc: "Field Area" fences: - pos: [100.0, 200.0, 0.0] - pos: [150.0, 200.0, 0.0] - pos: [150.0, 250.0, 0.0]Update
Section titled “Update”spec: version: "1.0" schema: v92
territoryAreas: update: - huntingZoneId: 400 groupId: 1 territoryId: 1 changes: type: boss eventId: 5001 desc: "Boss Arena"Delete
Section titled “Delete”spec: version: "1.0" schema: v92
territoryAreas: delete: - huntingZoneId: 400 groupId: 1 territoryId: 1Upsert
Section titled “Upsert”spec: version: "1.0" schema: v92
territoryAreas: upsert: - huntingZoneId: 400 groupId: 1 territoryId: 1 type: normal addMaxZ: 999 subtractMinZ: 999 desc: "Upserted Area"Properties Reference
Section titled “Properties Reference”Required Attributes
Section titled “Required Attributes”| Attribute | Type | Since | Description |
|---|---|---|---|
huntingZoneId | int | v92 | Hunting zone identifier (used for file partitioning) |
groupId | int | v92 | Parent territory group identifier |
territoryId | int | v92 | Unique territory area identifier within the group |
type | TerritoryType | v92 | Territory type classification. See TerritoryType. |
addMaxZ | decimal | v92 | Maximum Z-axis boundary extension |
subtractMinZ | decimal | v92 | Minimum Z-axis boundary extension |
Optional Attributes
Section titled “Optional Attributes”| Attribute | Type | Since | Description |
|---|---|---|---|
desc | string | v92 | Territory area description |
eventId | int | v92 | Associated event identifier |
absoluteFenceZ | decimal | v92 | Absolute fence Z-axis boundary |
peaceMoveNpcCheckDist | decimal | v92 | NPC movement check distance in peace state |
randomPosMinDist | decimal | v92 | Minimum distance for random positioning |
Optional Nested Elements
Section titled “Optional Nested Elements”| Attribute | Type | Since | Description |
|---|---|---|---|
fences | list[Fence] | v92 | Boundary fence positions. See Fence. |
attribute | nested | v92 | Territory attributes. See Attribute. |
randomSpawn | nested | v92 | Random spawn configuration. See RandomSpawn. |
approachProhibition | nested | v92 | Approach restriction configuration. See ApproachProhibition. |
jumpGears | list[JumpGear] | v92 | Jump gear positions. See JumpGear. |
dungeonTrigger | nested | v92 | Dungeon trigger configuration. See DungeonTrigger. |
Nested Elements
Section titled “Nested Elements”Defines boundary vertices for the territory area.
| Attribute | Type | Since | Description |
|---|---|---|---|
pos | decimal[] | v92 | 3D coordinate position [x, y, z] |
Attribute
Section titled “Attribute”Territory-level attributes for abnormalities and achievements.
| Attribute | Type | Since | Description |
|---|---|---|---|
abnormality | int | v92 | Abnormality ID applied in this territory |
achieveConditionId | int | v92 | Achievement condition ID |
RandomSpawn
Section titled “RandomSpawn”Configuration for random spawn points within the territory.
| Attribute | Type | Since | Description |
|---|---|---|---|
fixedPos | decimal[] | v92 | Fixed position for random spawn anchor [x, y, z] |
ApproachProhibition
Section titled “ApproachProhibition”Restricts player approach to specific areas.
| Attribute | Type | Since | Description |
|---|---|---|---|
msg | string | v92 | Message displayed when approaching prohibited area |
pos | decimal[] | v92 | Position of the prohibition zone [x, y, z] |
JumpGear
Section titled “JumpGear”Defines jump gear teleport locations.
| Attribute | Type | Since | Description |
|---|---|---|---|
id | int | v92 | Jump gear entry identifier |
jumpGearId | int | v92 | Jump gear type reference |
pos | decimal[] | v92 | Position coordinates [x, y, z] |
continentId | int | v92 | Target continent identifier |
DungeonTrigger
Section titled “DungeonTrigger”Camera configuration for dungeon-specific triggers.
| Attribute | Type | Since | Description |
|---|---|---|---|
cameraCurrentZoom | int | v92 | Camera zoom level on trigger |
cameraMaxZoom | int | v92 | Maximum allowed camera zoom |
Enum Reference
Section titled “Enum Reference”TerritoryType
Section titled “TerritoryType”| Value | Since |
|---|---|
normal | v92 |
quest | v92 |
event | v92 |
boss | v92 |
race | v92 |
coop | v92 |
fishing | v92 |
pvp | v92 |
gathering | v92 |
dungeon | v92 |
XML Structure
Section titled “XML Structure”TerritoryData_{huntingZoneId}.xml└── TerritoryData (huntingZoneId) └── TerritoryGroup (id) └── TerritoryList └── Territory (id, type, addMaxZ, subtractMinZ) [multiple] ├── Fence (pos) [multiple] ├── Attribute (abnormality, achieveConditionId) ├── RandomSpawn (fixedPos) ├── ApproachProhibition (msg, pos) ├── JumpGear (id, jumpGearId, pos, continentId) [multiple] ├── DungeonTrigger (cameraCurrentZoom, cameraMaxZoom) ├── Party [multiple] → see TerritoryParty └── Npc [multiple] → see TerritorySpawnCommon Pitfalls
Section titled “Common Pitfalls”-
Composite key: Territory areas are identified by
huntingZoneId,groupId, ANDterritoryId. All three are required for update and delete operations. -
Fence replacement: When updating fences via
changes, the entire fence list is replaced. Include all fence positions in the update. -
Type enum casing: Territory type values use lowercase in YAML (
normal,boss,quest).