From 4c7196c2e81e9d76b43743c6d1acc4c0b5001bd7 Mon Sep 17 00:00:00 2001
From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Sat, 16 Apr 2022 01:30:55 +0000
Subject: [PATCH] Merged spawn zones with spawn data.
---
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../TalkingIsland/HarnakUndergroundRuins.xml | 352 +-
.../spawnZones/harnak_underground_ruins.xml | 165 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../data/spawns/random_treasurebox_spawns.xml | 4884 ++++++++++++++++
.../data/spawns/turek_orcs_zone_based.xml | 219 +-
.../dist/game/data/xsd/spawnZones.xsd | 67 -
.../dist/game/data/xsd/spawns.xsd | 20 +
.../spawnZones/random_treasurebox_zones.xml | 4887 -----------------
.../game/data/zones/spawnZones/turek_orcs.xml | 254 -
.../l2jmobius/gameserver/data/SpawnTable.java | 110 +-
.../instancemanager/ZoneManager.java | 22 +-
.../FinalEmperialTomb/FinalEmperialTomb.java | 2 +-
...mperial_tomb.xml => FinalEmperialTomb.xml} | 2 +-
.../FinalEmperialTomb/FinalEmperialTomb.xsd | 71 +
.../data/spawns/random_treasurebox_spawns.xml | 4884 ++++++++++++++++
.../data/spawns/turek_orcs_zone_based.xml | 219 +-
.../dist/game/data/xsd/spawnZones.xsd | 67 -
.../dist/game/data/xsd/spawns.xsd | 20 +
.../spawnZones/random_treasurebox_zones.xml | 4887 -----------------
.../game/data/zones/spawnZones/turek_orcs.xml | 254 -
.../l2jmobius/gameserver/data/SpawnTable.java | 110 +-
.../instancemanager/ZoneManager.java | 22 +-
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
.../zones/spawnZones/npc_spawn_zone_test.xml | 7 -
.../instancemanager/ZoneManager.java | 2 -
89 files changed, 13909 insertions(+), 13503 deletions(-)
delete mode 100644 L2J_Mobius_01.0_Ertheia/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_01.0_Ertheia/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_02.5_Underground/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_02.5_Underground/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_10.1_MasterClass/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_10.1_MasterClass/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_10.2_MasterClass/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
delete mode 100644 L2J_Mobius_10.2_MasterClass/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_CT_2.4_Epilogue/dist/game/data/xsd/spawnZones.xsd
delete mode 100644 L2J_Mobius_CT_2.4_Epilogue/dist/game/data/zones/spawnZones/random_treasurebox_zones.xml
delete mode 100644 L2J_Mobius_CT_2.4_Epilogue/dist/game/data/zones/spawnZones/turek_orcs.xml
rename L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/{final_emperial_tomb.xml => FinalEmperialTomb.xml} (96%)
create mode 100644 L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.xsd
delete mode 100644 L2J_Mobius_CT_2.6_HighFive/dist/game/data/xsd/spawnZones.xsd
delete mode 100644 L2J_Mobius_CT_2.6_HighFive/dist/game/data/zones/spawnZones/random_treasurebox_zones.xml
delete mode 100644 L2J_Mobius_CT_2.6_HighFive/dist/game/data/zones/spawnZones/turek_orcs.xml
delete mode 100644 L2J_Mobius_Classic_2.0_Saviors/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Classic_2.1_Zaken/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Classic_2.2_Antharas/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Classic_Interlude/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
delete mode 100644 L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_01.0_Ertheia/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_01.0_Ertheia/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_01.0_Ertheia/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_01.0_Ertheia/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_01.0_Ertheia/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_01.0_Ertheia/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_02.5_Underground/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_02.5_Underground/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_02.5_Underground/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_02.5_Underground/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_02.5_Underground/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_02.5_Underground/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_02.5_Underground/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_03.0_Helios/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_03.0_Helios/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_03.0_Helios/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_03.0_Helios/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_03.0_Helios/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_03.0_Helios/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_03.0_Helios/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_05.0_Salvation/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_05.0_Salvation/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_05.0_Salvation/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_05.0_Salvation/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_05.0_Salvation/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_05.0_Salvation/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_05.0_Salvation/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_05.5_EtinasFate/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_05.5_EtinasFate/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_05.5_EtinasFate/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_06.0_Fafurion/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_06.0_Fafurion/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_06.0_Fafurion/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_06.0_Fafurion/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_06.0_Fafurion/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_06.0_Fafurion/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_08.2_Homunculus/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_08.2_Homunculus/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_08.2_Homunculus/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_08.2_Homunculus/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_08.2_Homunculus/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_08.2_Homunculus/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_10.1_MasterClass/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_10.1_MasterClass/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_10.1_MasterClass/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_10.1_MasterClass/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_10.1_MasterClass/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_10.1_MasterClass/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_10.1_MasterClass/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_10.1_MasterClass/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_10.1_MasterClass/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_10.1_MasterClass/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml b/L2J_Mobius_10.2_MasterClass/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
index 03154cb66b..2b61ccde34 100644
--- a/L2J_Mobius_10.2_MasterClass/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
+++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/spawns/TalkingIsland/HarnakUndergroundRuins.xml
@@ -174,81 +174,285 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml b/L2J_Mobius_10.2_MasterClass/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
deleted file mode 100644
index 954923dc72..0000000000
--- a/L2J_Mobius_10.2_MasterClass/dist/game/data/zones/spawnZones/harnak_underground_ruins.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_10.2_MasterClass/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_10.2_MasterClass/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/spawns/random_treasurebox_spawns.xml b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/spawns/random_treasurebox_spawns.xml
index 35d4bcec43..3ae9b293c7 100644
--- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/spawns/random_treasurebox_spawns.xml
+++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/spawns/random_treasurebox_spawns.xml
@@ -1,1870 +1,4924 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1873,158 +4927,334 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2033,6 +5263,12 @@
+
+
+
+
+
+
@@ -2041,6 +5277,13 @@
+
+
+
+
+
+
+
@@ -2049,6 +5292,13 @@
+
+
+
+
+
+
+
@@ -2057,6 +5307,13 @@
+
+
+
+
+
+
+
@@ -2065,6 +5322,13 @@
+
+
+
+
+
+
+
@@ -2073,6 +5337,14 @@
+
+
+
+
+
+
+
+
@@ -2081,6 +5353,12 @@
+
+
+
+
+
+
@@ -2089,6 +5367,14 @@
+
+
+
+
+
+
+
+
@@ -2097,6 +5383,13 @@
+
+
+
+
+
+
+
@@ -2105,6 +5398,12 @@
+
+
+
+
+
+
@@ -2113,6 +5412,12 @@
+
+
+
+
+
+
@@ -2121,6 +5426,12 @@
+
+
+
+
+
+
@@ -2129,246 +5440,687 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2377,692 +6129,1824 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/spawns/turek_orcs_zone_based.xml b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/spawns/turek_orcs_zone_based.xml
index 918645d359..701522857a 100644
--- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/spawns/turek_orcs_zone_based.xml
+++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/spawns/turek_orcs_zone_based.xml
@@ -7,6 +7,12 @@
102304
-3552
+
+
+
+
+
+
@@ -19,6 +25,12 @@
106816
-3392
+
+
+
+
+
+
@@ -30,6 +42,12 @@
102304
-3552
+
+
+
+
+
+
@@ -42,6 +60,12 @@
100144
-3520
+
+
+
+
+
+
@@ -54,6 +78,13 @@
100384
-3552
+
+
+
+
+
+
+
@@ -66,6 +97,14 @@
103152
-3392
+
+
+
+
+
+
+
+
@@ -78,6 +117,12 @@
106816
-3392
+
+
+
+
+
+
@@ -91,6 +136,13 @@
106368
-3696
+
+
+
+
+
+
+
@@ -104,6 +156,13 @@
108016
-3872
+
+
+
+
+
+
+
@@ -116,6 +175,13 @@
110528
-3472
+
+
+
+
+
+
+
@@ -129,6 +195,13 @@
114192
-3552
+
+
+
+
+
+
+
@@ -142,6 +215,14 @@
112432
-3696
+
+
+
+
+
+
+
+
@@ -156,6 +237,12 @@
110112
-3536
+
+
+
+
+
+
@@ -169,6 +256,13 @@
117952
-3424
+
+
+
+
+
+
+
@@ -181,6 +275,14 @@
117600
-3600
+
+
+
+
+
+
+
+
@@ -195,6 +297,13 @@
114784
-3549
+
+
+
+
+
+
+
@@ -208,6 +317,12 @@
111488
-3456
+
+
+
+
+
+
@@ -221,16 +336,38 @@
102304
-3552
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -241,6 +378,14 @@
106816
-3392
+
+
+
+
+
+
+
+
@@ -252,6 +397,12 @@
106368
-3696
+
+
+
+
+
+
@@ -263,6 +414,13 @@
108016
-3872
+
+
+
+
+
+
+
@@ -274,6 +432,13 @@
110528
-3472
+
+
+
+
+
+
+
@@ -285,6 +450,13 @@
110112
-3536
+
+
+
+
+
+
+
@@ -296,6 +468,12 @@
111488
-3456
+
+
+
+
+
+
@@ -306,6 +484,14 @@
112432
-3696
+
+
+
+
+
+
+
+
@@ -317,6 +503,12 @@
114192
-3552
+
+
+
+
+
+
@@ -328,6 +520,13 @@
117952
-3424
+
+
+
+
+
+
+
@@ -339,6 +538,13 @@
117600
-3600
+
+
+
+
+
+
+
@@ -350,6 +556,12 @@
119280
-3488
+
+
+
+
+
+
@@ -361,9 +573,14 @@
114784
-3549
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/xsd/spawnZones.xsd b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/xsd/spawnZones.xsd
deleted file mode 100644
index 2301f172f5..0000000000
--- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/xsd/spawnZones.xsd
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/xsd/spawns.xsd b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/xsd/spawns.xsd
index b19841f49e..f67a465a47 100644
--- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/xsd/spawns.xsd
+++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/xsd/spawns.xsd
@@ -18,6 +18,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/zones/spawnZones/random_treasurebox_zones.xml b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/zones/spawnZones/random_treasurebox_zones.xml
deleted file mode 100644
index f8e939296e..0000000000
--- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/zones/spawnZones/random_treasurebox_zones.xml
+++ /dev/null
@@ -1,4887 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/zones/spawnZones/turek_orcs.xml b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/zones/spawnZones/turek_orcs.xml
deleted file mode 100644
index 332a263340..0000000000
--- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/zones/spawnZones/turek_orcs.xml
+++ /dev/null
@@ -1,254 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/SpawnTable.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/SpawnTable.java
index 60b1133986..bfafe59c13 100644
--- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/SpawnTable.java
+++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/SpawnTable.java
@@ -21,8 +21,10 @@ import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@@ -44,6 +46,11 @@ import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
+import org.l2jmobius.gameserver.model.zone.ZoneForm;
+import org.l2jmobius.gameserver.model.zone.form.ZoneCuboid;
+import org.l2jmobius.gameserver.model.zone.form.ZoneCylinder;
+import org.l2jmobius.gameserver.model.zone.form.ZoneNPoly;
+import org.l2jmobius.gameserver.model.zone.type.NpcSpawnTerritory;
/**
* Spawn data retriever.
@@ -125,8 +132,8 @@ public class SpawnTable implements IXmlReader
{
spawnName = parseString(attrs, "name");
}
- // Check, if spawn territory specified and exists
- if ((attrs.getNamedItem("zone") != null) && (ZoneManager.getInstance().getSpawnTerritory(attrs.getNamedItem("zone").getNodeValue()) != null))
+ // Check, if spawn territory specified
+ if (attrs.getNamedItem("zone") != null)
{
territoryName = parseString(attrs, "zone");
}
@@ -166,6 +173,105 @@ public class SpawnTable implements IXmlReader
map.put(c.getNodeName(), val);
}
}
+ // Check for NPC spawn territories
+ else if (npctag.getNodeName().equalsIgnoreCase("territory"))
+ {
+ if (ZoneManager.getInstance().spawnTerritoryExists(territoryName))
+ {
+ continue;
+ }
+
+ final int minZ = parseInteger(attrs, "minZ");
+ final int maxZ = parseInteger(attrs, "maxZ");
+ final String zoneShape = parseString(attrs, "shape", "NPoly");
+
+ final List rs = new ArrayList<>();
+ int[][] coords;
+ ZoneForm zoneForm = null;
+ try
+ {
+ for (Node c = npctag.getFirstChild(); c != null; c = c.getNextSibling())
+ {
+ if ("node".equalsIgnoreCase(c.getNodeName()))
+ {
+ attrs = c.getAttributes();
+ final int[] point = new int[2];
+ point[0] = parseInteger(attrs, "x");
+ point[1] = parseInteger(attrs, "y");
+ rs.add(point);
+ }
+ }
+
+ coords = rs.toArray(new int[rs.size()][2]);
+ rs.clear();
+
+ if ((coords == null) || (coords.length == 0))
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: missing data for spawn territory: " + territoryName + " XML file: " + f.getName());
+ continue;
+ }
+
+ // Create this zone. Parsing for cuboids is a bit different than for other polygons cuboids need exactly 2 points to be defined.
+ // Other polygons need at least 3 (one per vertex)
+ if (zoneShape.equalsIgnoreCase("Cuboid"))
+ {
+ if (coords.length == 2)
+ {
+ zoneForm = new ZoneCuboid(coords[0][0], coords[1][0], coords[0][1], coords[1][1], minZ, maxZ);
+ }
+ else
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: Missing cuboid vertex data for territory: " + territoryName + " in file: " + f.getName());
+ continue;
+ }
+ }
+ else if (zoneShape.equalsIgnoreCase("NPoly"))
+ {
+ // nPoly needs to have at least 3 vertices
+ if (coords.length > 2)
+ {
+ final int[] aX = new int[coords.length];
+ final int[] aY = new int[coords.length];
+ for (int i = 0; i < coords.length; i++)
+ {
+ aX[i] = coords[i][0];
+ aY[i] = coords[i][1];
+ }
+ zoneForm = new ZoneNPoly(aX, aY, minZ, maxZ);
+ }
+ else
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: Bad data for territory: " + territoryName + " in file: " + f.getName());
+ continue;
+ }
+ }
+ else if (zoneShape.equalsIgnoreCase("Cylinder"))
+ {
+ // A Cylinder zone requires a center point at x,y and a radius
+ final int zoneRad = Integer.parseInt(attrs.getNamedItem("rad").getNodeValue());
+ if ((coords.length == 1) && (zoneRad > 0))
+ {
+ zoneForm = new ZoneCylinder(coords[0][0], coords[0][1], minZ, maxZ, zoneRad);
+ }
+ else
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: Bad data for territory: " + territoryName + " in file: " + f.getName());
+ continue;
+ }
+ }
+ else
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: Unknown shape: \"" + zoneShape + "\" for territory: " + territoryName + " in file: " + f.getName());
+ continue;
+ }
+ }
+ catch (Exception e)
+ {
+ LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": SpawnTable: Failed to load territory " + territoryName + " coordinates: " + e.getMessage(), e);
+ }
+
+ ZoneManager.getInstance().addSpawnTerritory(territoryName, new NpcSpawnTerritory(territoryName, zoneForm));
+ }
// Check for NPC spawns
else if (npctag.getNodeName().equalsIgnoreCase("npc"))
{
diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 212d5ae209..c6c15db605 100644
--- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -453,9 +453,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
@@ -682,6 +680,26 @@ public class ZoneManager implements IXmlReader
return null;
}
+ /**
+ * Addition of new spawn territory, if not already exists.
+ * @param name name of territory to search.
+ * @param zone NpcSpawnTerritory zone of territory.
+ */
+ public void addSpawnTerritory(String name, NpcSpawnTerritory zone)
+ {
+ _spawnTerritories.putIfAbsent(name, zone);
+ }
+
+ /**
+ * Check if spawn territory exists.
+ * @param name name of territory to search.
+ * @return true, if spawn territory exists.
+ */
+ public boolean spawnTerritoryExists(String name)
+ {
+ return _spawnTerritories.containsKey(name);
+ }
+
/**
* Get spawm territory by name
* @param name name of territory to search
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
index fb99a3ec5b..b612de4a1b 100644
--- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
+++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
@@ -226,7 +226,7 @@ public class FinalEmperialTomb extends AbstractInstance implements IXmlReader
_spawnCount = 0;
_spawnList.clear();
_spawnZoneList.clear();
- parseDatapackFile("data/scripts/instances/FinalEmperialTomb/final_emperial_tomb.xml");
+ parseDatapackFile("data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.xml");
LOGGER.info("[Final Emperial Tomb] Loaded " + _spawnZoneList.size() + " spawn zones data.");
LOGGER.info("[Final Emperial Tomb] Loaded " + _spawnCount + " spawns data.");
}
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/final_emperial_tomb.xml b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.xml
similarity index 96%
rename from L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/final_emperial_tomb.xml
rename to L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.xml
index 5f29d3c077..62d82a2455 100644
--- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/final_emperial_tomb.xml
+++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.xsd b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.xsd
new file mode 100644
index 0000000000..57e55a9cd1
--- /dev/null
+++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.xsd
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/spawns/random_treasurebox_spawns.xml b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/spawns/random_treasurebox_spawns.xml
index 68d097bd7d..22353d3b7b 100644
--- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/spawns/random_treasurebox_spawns.xml
+++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/spawns/random_treasurebox_spawns.xml
@@ -1,1870 +1,4924 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1873,158 +4927,334 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2033,6 +5263,12 @@
+
+
+
+
+
+
@@ -2041,6 +5277,13 @@
+
+
+
+
+
+
+
@@ -2049,6 +5292,13 @@
+
+
+
+
+
+
+
@@ -2057,6 +5307,13 @@
+
+
+
+
+
+
+
@@ -2065,6 +5322,13 @@
+
+
+
+
+
+
+
@@ -2073,6 +5337,14 @@
+
+
+
+
+
+
+
+
@@ -2081,6 +5353,12 @@
+
+
+
+
+
+
@@ -2089,6 +5367,14 @@
+
+
+
+
+
+
+
+
@@ -2097,6 +5383,13 @@
+
+
+
+
+
+
+
@@ -2105,6 +5398,12 @@
+
+
+
+
+
+
@@ -2113,6 +5412,12 @@
+
+
+
+
+
+
@@ -2121,6 +5426,12 @@
+
+
+
+
+
+
@@ -2129,246 +5440,687 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2377,692 +6129,1824 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/spawns/turek_orcs_zone_based.xml b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/spawns/turek_orcs_zone_based.xml
index 918645d359..701522857a 100644
--- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/spawns/turek_orcs_zone_based.xml
+++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/spawns/turek_orcs_zone_based.xml
@@ -7,6 +7,12 @@
102304
-3552
+
+
+
+
+
+
@@ -19,6 +25,12 @@
106816
-3392
+
+
+
+
+
+
@@ -30,6 +42,12 @@
102304
-3552
+
+
+
+
+
+
@@ -42,6 +60,12 @@
100144
-3520
+
+
+
+
+
+
@@ -54,6 +78,13 @@
100384
-3552
+
+
+
+
+
+
+
@@ -66,6 +97,14 @@
103152
-3392
+
+
+
+
+
+
+
+
@@ -78,6 +117,12 @@
106816
-3392
+
+
+
+
+
+
@@ -91,6 +136,13 @@
106368
-3696
+
+
+
+
+
+
+
@@ -104,6 +156,13 @@
108016
-3872
+
+
+
+
+
+
+
@@ -116,6 +175,13 @@
110528
-3472
+
+
+
+
+
+
+
@@ -129,6 +195,13 @@
114192
-3552
+
+
+
+
+
+
+
@@ -142,6 +215,14 @@
112432
-3696
+
+
+
+
+
+
+
+
@@ -156,6 +237,12 @@
110112
-3536
+
+
+
+
+
+
@@ -169,6 +256,13 @@
117952
-3424
+
+
+
+
+
+
+
@@ -181,6 +275,14 @@
117600
-3600
+
+
+
+
+
+
+
+
@@ -195,6 +297,13 @@
114784
-3549
+
+
+
+
+
+
+
@@ -208,6 +317,12 @@
111488
-3456
+
+
+
+
+
+
@@ -221,16 +336,38 @@
102304
-3552
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -241,6 +378,14 @@
106816
-3392
+
+
+
+
+
+
+
+
@@ -252,6 +397,12 @@
106368
-3696
+
+
+
+
+
+
@@ -263,6 +414,13 @@
108016
-3872
+
+
+
+
+
+
+
@@ -274,6 +432,13 @@
110528
-3472
+
+
+
+
+
+
+
@@ -285,6 +450,13 @@
110112
-3536
+
+
+
+
+
+
+
@@ -296,6 +468,12 @@
111488
-3456
+
+
+
+
+
+
@@ -306,6 +484,14 @@
112432
-3696
+
+
+
+
+
+
+
+
@@ -317,6 +503,12 @@
114192
-3552
+
+
+
+
+
+
@@ -328,6 +520,13 @@
117952
-3424
+
+
+
+
+
+
+
@@ -339,6 +538,13 @@
117600
-3600
+
+
+
+
+
+
+
@@ -350,6 +556,12 @@
119280
-3488
+
+
+
+
+
+
@@ -361,9 +573,14 @@
114784
-3549
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/xsd/spawnZones.xsd b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/xsd/spawnZones.xsd
deleted file mode 100644
index 2301f172f5..0000000000
--- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/xsd/spawnZones.xsd
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/xsd/spawns.xsd b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/xsd/spawns.xsd
index b19841f49e..f67a465a47 100644
--- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/xsd/spawns.xsd
+++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/xsd/spawns.xsd
@@ -18,6 +18,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/zones/spawnZones/random_treasurebox_zones.xml b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/zones/spawnZones/random_treasurebox_zones.xml
deleted file mode 100644
index f8e939296e..0000000000
--- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/zones/spawnZones/random_treasurebox_zones.xml
+++ /dev/null
@@ -1,4887 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/zones/spawnZones/turek_orcs.xml b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/zones/spawnZones/turek_orcs.xml
deleted file mode 100644
index 332a263340..0000000000
--- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/zones/spawnZones/turek_orcs.xml
+++ /dev/null
@@ -1,254 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/SpawnTable.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/SpawnTable.java
index 60b1133986..bfafe59c13 100644
--- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/SpawnTable.java
+++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/SpawnTable.java
@@ -21,8 +21,10 @@ import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@@ -44,6 +46,11 @@ import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
+import org.l2jmobius.gameserver.model.zone.ZoneForm;
+import org.l2jmobius.gameserver.model.zone.form.ZoneCuboid;
+import org.l2jmobius.gameserver.model.zone.form.ZoneCylinder;
+import org.l2jmobius.gameserver.model.zone.form.ZoneNPoly;
+import org.l2jmobius.gameserver.model.zone.type.NpcSpawnTerritory;
/**
* Spawn data retriever.
@@ -125,8 +132,8 @@ public class SpawnTable implements IXmlReader
{
spawnName = parseString(attrs, "name");
}
- // Check, if spawn territory specified and exists
- if ((attrs.getNamedItem("zone") != null) && (ZoneManager.getInstance().getSpawnTerritory(attrs.getNamedItem("zone").getNodeValue()) != null))
+ // Check, if spawn territory specified
+ if (attrs.getNamedItem("zone") != null)
{
territoryName = parseString(attrs, "zone");
}
@@ -166,6 +173,105 @@ public class SpawnTable implements IXmlReader
map.put(c.getNodeName(), val);
}
}
+ // Check for NPC spawn territories
+ else if (npctag.getNodeName().equalsIgnoreCase("territory"))
+ {
+ if (ZoneManager.getInstance().spawnTerritoryExists(territoryName))
+ {
+ continue;
+ }
+
+ final int minZ = parseInteger(attrs, "minZ");
+ final int maxZ = parseInteger(attrs, "maxZ");
+ final String zoneShape = parseString(attrs, "shape", "NPoly");
+
+ final List rs = new ArrayList<>();
+ int[][] coords;
+ ZoneForm zoneForm = null;
+ try
+ {
+ for (Node c = npctag.getFirstChild(); c != null; c = c.getNextSibling())
+ {
+ if ("node".equalsIgnoreCase(c.getNodeName()))
+ {
+ attrs = c.getAttributes();
+ final int[] point = new int[2];
+ point[0] = parseInteger(attrs, "x");
+ point[1] = parseInteger(attrs, "y");
+ rs.add(point);
+ }
+ }
+
+ coords = rs.toArray(new int[rs.size()][2]);
+ rs.clear();
+
+ if ((coords == null) || (coords.length == 0))
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: missing data for spawn territory: " + territoryName + " XML file: " + f.getName());
+ continue;
+ }
+
+ // Create this zone. Parsing for cuboids is a bit different than for other polygons cuboids need exactly 2 points to be defined.
+ // Other polygons need at least 3 (one per vertex)
+ if (zoneShape.equalsIgnoreCase("Cuboid"))
+ {
+ if (coords.length == 2)
+ {
+ zoneForm = new ZoneCuboid(coords[0][0], coords[1][0], coords[0][1], coords[1][1], minZ, maxZ);
+ }
+ else
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: Missing cuboid vertex data for territory: " + territoryName + " in file: " + f.getName());
+ continue;
+ }
+ }
+ else if (zoneShape.equalsIgnoreCase("NPoly"))
+ {
+ // nPoly needs to have at least 3 vertices
+ if (coords.length > 2)
+ {
+ final int[] aX = new int[coords.length];
+ final int[] aY = new int[coords.length];
+ for (int i = 0; i < coords.length; i++)
+ {
+ aX[i] = coords[i][0];
+ aY[i] = coords[i][1];
+ }
+ zoneForm = new ZoneNPoly(aX, aY, minZ, maxZ);
+ }
+ else
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: Bad data for territory: " + territoryName + " in file: " + f.getName());
+ continue;
+ }
+ }
+ else if (zoneShape.equalsIgnoreCase("Cylinder"))
+ {
+ // A Cylinder zone requires a center point at x,y and a radius
+ final int zoneRad = Integer.parseInt(attrs.getNamedItem("rad").getNodeValue());
+ if ((coords.length == 1) && (zoneRad > 0))
+ {
+ zoneForm = new ZoneCylinder(coords[0][0], coords[0][1], minZ, maxZ, zoneRad);
+ }
+ else
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: Bad data for territory: " + territoryName + " in file: " + f.getName());
+ continue;
+ }
+ }
+ else
+ {
+ LOGGER.warning(getClass().getSimpleName() + ": SpawnTable: Unknown shape: \"" + zoneShape + "\" for territory: " + territoryName + " in file: " + f.getName());
+ continue;
+ }
+ }
+ catch (Exception e)
+ {
+ LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": SpawnTable: Failed to load territory " + territoryName + " coordinates: " + e.getMessage(), e);
+ }
+
+ ZoneManager.getInstance().addSpawnTerritory(territoryName, new NpcSpawnTerritory(territoryName, zoneForm));
+ }
// Check for NPC spawns
else if (npctag.getNodeName().equalsIgnoreCase("npc"))
{
diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 212d5ae209..c6c15db605 100644
--- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -453,9 +453,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
@@ -682,6 +680,26 @@ public class ZoneManager implements IXmlReader
return null;
}
+ /**
+ * Addition of new spawn territory, if not already exists.
+ * @param name name of territory to search.
+ * @param zone NpcSpawnTerritory zone of territory.
+ */
+ public void addSpawnTerritory(String name, NpcSpawnTerritory zone)
+ {
+ _spawnTerritories.putIfAbsent(name, zone);
+ }
+
+ /**
+ * Check if spawn territory exists.
+ * @param name name of territory to search.
+ * @return true, if spawn territory exists.
+ */
+ public boolean spawnTerritoryExists(String name)
+ {
+ return _spawnTerritories.containsKey(name);
+ }
+
/**
* Get spawm territory by name
* @param name name of territory to search
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Classic_Interlude/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Classic_Interlude/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 5f3eb28e8a..a90044f3a5 100644
--- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -461,9 +461,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
deleted file mode 100644
index c0f6ff212e..0000000000
--- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/zones/spawnZones/npc_spawn_zone_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
index 7799768d15..6df238e7fa 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
+++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/ZoneManager.java
@@ -463,9 +463,7 @@ public class ZoneManager implements IXmlReader
_classZones.put(WaterZone.class, new ConcurrentHashMap<>());
_spawnTerritories.clear();
parseDatapackDirectory("data/zones", false);
- parseDatapackDirectory("data/zones/spawnZones", false);
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones.");
- LOGGER.info(getClass().getSimpleName() + ": Loaded " + _spawnTerritories.size() + " NPC spawn territoriers.");
final OptionalInt maxId = _classZones.values().stream().flatMap(map -> map.keySet().stream()).mapToInt(Integer.class::cast).filter(value -> value < 300000).max();
LOGGER.info(getClass().getSimpleName() + ": Last static id " + maxId.getAsInt() + ".");
}