From 2b3ed95a8e397ca975438a5e1e73334c8cd08492 Mon Sep 17 00:00:00 2001
From: Zealar <zealar@mail.bg>
Date: Tue, 10 Nov 2015 12:11:36 +0200
Subject: [PATCH] DataPack for Duel rework

Core L2J/L2J_Server@54f9f147fae29c12776386bb93e950bff48e2fb0
---
 .../CavernOfThePirateCaptainWorldDay60.xml    |  2 +-
 .../CavernOfThePirateCaptainWorldDay83.xml    |  2 +-
 .../data/instances/ChamberOfDelusionEast.xml  |  2 +-
 .../data/instances/ChamberOfDelusionNorth.xml |  2 +-
 .../data/instances/ChamberOfDelusionSouth.xml |  2 +-
 .../instances/ChamberOfDelusionSquare.xml     |  2 +-
 .../data/instances/ChamberOfDelusionTower.xml |  2 +-
 .../data/instances/ChamberOfDelusionWest.xml  |  2 +-
 dist/game/data/instances/CrystalCaverns.xml   |  2 +-
 dist/game/data/instances/DarkCloudMansion.xml |  2 +-
 dist/game/data/instances/DemonPrince.xml      |  2 +-
 .../instances/DisciplesNecropolisPast.xml     |  2 +-
 dist/game/data/instances/ElcadiasTent.xml     |  2 +-
 .../game/data/instances/FinalEmperialTomb.xml |  2 +-
 dist/game/data/instances/HallOfSuffering.xml  |  2 +-
 dist/game/data/instances/HideoutOfTheDawn.xml |  2 +-
 dist/game/data/instances/IceQueensCastle.xml  |  2 +-
 .../instances/IceQueensCastleNormalBattle.xml |  2 +-
 .../data/instances/JiniaGuildHideout1.xml     |  2 +-
 .../data/instances/JiniaGuildHideout2.xml     |  2 +-
 .../data/instances/JiniaGuildHideout3.xml     |  2 +-
 .../data/instances/JiniaGuildHideout4.xml     |  2 +-
 dist/game/data/instances/LibraryOfSages.xml   |  2 +-
 dist/game/data/instances/MithrilMine.xml      |  2 +-
 .../data/instances/MonasteryOfSilence.xml     |  2 +-
 dist/game/data/instances/NornilsGarden.xml    |  2 +-
 .../data/instances/NornilsGardenQuest.xml     |  2 +-
 .../data/instances/PailakaDevilsLegacy.xml    |  2 +-
 .../instances/PailakaSongOfIceAndFire.xml     |  2 +-
 dist/game/data/instances/PartyDuel.xml        | 31 +++++++++
 dist/game/data/instances/Ranku.xml            |  2 +-
 .../instances/SanctumoftheLordsofDawn.xml     |  2 +-
 dist/game/data/instances/SecretArea.xml       |  2 +-
 .../instances/SeedOfDestructionStage1.xml     |  2 +-
 dist/game/data/instances/UrbanArea.xml        |  2 +-
 .../DemonPrinceFloor/DemonPrinceFloor.java    |  2 +-
 .../Instances/RankuFloor/RankuFloor.java      |  2 +-
 .../instances/ChambersOfDelusion/Chamber.java |  2 +-
 .../scripts/instances/Kamaloka/Kamaloka.java  |  4 +-
 .../NornilsGarden/NornilsGarden.java          |  2 +-
 .../Q00511_AwlUnderFoot.java                  |  2 +-
 dist/game/data/xsd/instance.xsd               | 68 +++++++++++++------
 42 files changed, 121 insertions(+), 60 deletions(-)
 create mode 100644 dist/game/data/instances/PartyDuel.xml

diff --git a/dist/game/data/instances/CavernOfThePirateCaptainWorldDay60.xml b/dist/game/data/instances/CavernOfThePirateCaptainWorldDay60.xml
index 6459dac93c..5c505cf1fb 100644
--- a/dist/game/data/instances/CavernOfThePirateCaptainWorldDay60.xml
+++ b/dist/game/data/instances/CavernOfThePirateCaptainWorldDay60.xml
@@ -3,7 +3,7 @@
 	<activityTime val="60"/>
 	<allowSummon val="false"/>
 	<showTimer val="true" increase="true" text="Elapsed Time :" />
-	<spawnPoint spawnX="52212" spawnY="218998" spawnZ="-3208" />
+	<exitPoint x="52212" y="218998" z="-3208" />
 	<reenter additionStyle="ON_INSTANCE_FINISH" >
 		<reset day="Monday" hour="6" minute="30" />
 		<reset day="Wednesday" hour="6" minute="30" />
diff --git a/dist/game/data/instances/CavernOfThePirateCaptainWorldDay83.xml b/dist/game/data/instances/CavernOfThePirateCaptainWorldDay83.xml
index 7b9eb20e4c..306c45067d 100644
--- a/dist/game/data/instances/CavernOfThePirateCaptainWorldDay83.xml
+++ b/dist/game/data/instances/CavernOfThePirateCaptainWorldDay83.xml
@@ -3,7 +3,7 @@
 	<activityTime val="60"/>
 	<allowSummon val="false"/>
 	<showTimer val="true" increase="true" text="Elapsed Time :" />
-	<spawnPoint spawnX="52212" spawnY="218998" spawnZ="-3208" />
+	<exitPoint x="52212" y="218998" z="-3208" />
 	<reenter additionStyle="ON_INSTANCE_FINISH" >
 		<reset day="Monday" hour="6" minute="30" />
 		<reset day="Wednesday" hour="6" minute="30" />
diff --git a/dist/game/data/instances/ChamberOfDelusionEast.xml b/dist/game/data/instances/ChamberOfDelusionEast.xml
index 9bfe3b60de..835876a736 100644
--- a/dist/game/data/instances/ChamberOfDelusionEast.xml
+++ b/dist/game/data/instances/ChamberOfDelusionEast.xml
@@ -3,7 +3,7 @@
 	<activityTime val="40" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1200" />
-	<spawnPoint spawnX="-114592" spawnY="-152509" spawnZ="-6723" />
+	<exitPoint x="-114592" y="-152509" z="-6723" />
 	<spawnlist>
 		<group name="general">
 			<!-- Room 1 -->
diff --git a/dist/game/data/instances/ChamberOfDelusionNorth.xml b/dist/game/data/instances/ChamberOfDelusionNorth.xml
index 5a77c0a37d..0195d3f366 100644
--- a/dist/game/data/instances/ChamberOfDelusionNorth.xml
+++ b/dist/game/data/instances/ChamberOfDelusionNorth.xml
@@ -3,7 +3,7 @@
 	<activityTime val="40" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1200" />
-	<spawnPoint spawnX="-114592" spawnY="-152509" spawnZ="-6723" />
+	<exitPoint x="-114592" y="-152509" z="-6723" />
 	<spawnlist>
 		<group name="general">
 			<!-- Room 1 -->
diff --git a/dist/game/data/instances/ChamberOfDelusionSouth.xml b/dist/game/data/instances/ChamberOfDelusionSouth.xml
index 2aa619194d..26bcd503bf 100644
--- a/dist/game/data/instances/ChamberOfDelusionSouth.xml
+++ b/dist/game/data/instances/ChamberOfDelusionSouth.xml
@@ -3,7 +3,7 @@
 	<activityTime val="40" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1200" />
-	<spawnPoint spawnX="-114592" spawnY="-152509" spawnZ="-6723" />
+	<exitPoint x="-114592" y="-152509" z="-6723" />
 	<spawnlist>
 		<group name="general">
 			<!-- Room 1 -->
diff --git a/dist/game/data/instances/ChamberOfDelusionSquare.xml b/dist/game/data/instances/ChamberOfDelusionSquare.xml
index e42eb105e6..a4d4f86491 100644
--- a/dist/game/data/instances/ChamberOfDelusionSquare.xml
+++ b/dist/game/data/instances/ChamberOfDelusionSquare.xml
@@ -3,7 +3,7 @@
 	<activityTime val="60" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="60" />
-	<spawnPoint spawnX="-114592" spawnY="-152509" spawnZ="-6723" />
+	<exitPoint x="-114592" y="-152509" z="-6723" />
 	<spawnlist>
 		<group name="general">
 			<!-- Room 1 -->
diff --git a/dist/game/data/instances/ChamberOfDelusionTower.xml b/dist/game/data/instances/ChamberOfDelusionTower.xml
index f2869cf4d6..628785fe79 100644
--- a/dist/game/data/instances/ChamberOfDelusionTower.xml
+++ b/dist/game/data/instances/ChamberOfDelusionTower.xml
@@ -3,7 +3,7 @@
 	<activityTime val="60" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1200" />
-	<spawnPoint spawnX="-114592" spawnY="-152509" spawnZ="-6723" />
+	<exitPoint x="-114592" y="-152509" z="-6723" />
 	<spawnlist>
 		<group name="general">
 			<!-- Room 1 -->
diff --git a/dist/game/data/instances/ChamberOfDelusionWest.xml b/dist/game/data/instances/ChamberOfDelusionWest.xml
index d4718f9ff4..367c37c583 100644
--- a/dist/game/data/instances/ChamberOfDelusionWest.xml
+++ b/dist/game/data/instances/ChamberOfDelusionWest.xml
@@ -3,7 +3,7 @@
 	<activityTime val="40" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1200" />
-	<spawnPoint spawnX="-114592" spawnY="-152509" spawnZ="-6723" />
+	<exitPoint x="-114592" y="-152509" z="-6723" />
 	<spawnlist>
 		<group name="general">
 			<!-- Room 1 -->
diff --git a/dist/game/data/instances/CrystalCaverns.xml b/dist/game/data/instances/CrystalCaverns.xml
index 96498a1b62..8cb787ede3 100644
--- a/dist/game/data/instances/CrystalCaverns.xml
+++ b/dist/game/data/instances/CrystalCaverns.xml
@@ -3,7 +3,7 @@
 	<activityTime val="90" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1200" />
-	<spawnPoint spawnX="149442" spawnY="173520" spawnZ="-5024" />
+	<exitPoint x="149442" y="173520" z="-5024" />
 	<reenter additionStyle="ON_INSTANCE_ENTER" >
 		<reset time="86400000" />
 	</reenter>
diff --git a/dist/game/data/instances/DarkCloudMansion.xml b/dist/game/data/instances/DarkCloudMansion.xml
index d3dcd09512..6f7f6d624b 100644
--- a/dist/game/data/instances/DarkCloudMansion.xml
+++ b/dist/game/data/instances/DarkCloudMansion.xml
@@ -3,7 +3,7 @@
 	<activityTime val="30" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="30" />
-	<spawnPoint spawnX="139968" spawnY="150367" spawnZ="-3111" />
+	<exitPoint x="139968" y="150367" z="-3111" />
 	<doorlist>
 		<door doorId="24230001" />
 		<door doorId="24230002" />
diff --git a/dist/game/data/instances/DemonPrince.xml b/dist/game/data/instances/DemonPrince.xml
index c05daa72a4..d08ba88a64 100644
--- a/dist/game/data/instances/DemonPrince.xml
+++ b/dist/game/data/instances/DemonPrince.xml
@@ -3,7 +3,7 @@
 	<activityTime val="30" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="600" />
-	<spawnPoint spawnX="-22213" spawnY="277138" spawnZ="-9930" />
+	<exitPoint x="-22213" y="277138" z="-9930" />
 	<reenter additionStyle="ON_INSTANCE_FINISH" >
 		<reset day="Wednesday" hour="6" minute="30" />
 		<reset day="Saturday" hour="6" minute="30" />
diff --git a/dist/game/data/instances/DisciplesNecropolisPast.xml b/dist/game/data/instances/DisciplesNecropolisPast.xml
index 45bc3b8a20..5779739f6a 100644
--- a/dist/game/data/instances/DisciplesNecropolisPast.xml
+++ b/dist/game/data/instances/DisciplesNecropolisPast.xml
@@ -3,7 +3,7 @@
 	<activityTime val="60" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="900" />
-	<spawnPoint spawnX="171895" spawnY="-17501" spawnZ="-4903" />
+	<exitPoint x="171895" y="-17501" z="-4903" />
 	<removeBuffs type="ALL" />
 	<doorlist>
 		<door doorId="17240101" />
diff --git a/dist/game/data/instances/ElcadiasTent.xml b/dist/game/data/instances/ElcadiasTent.xml
index 9c68d68d48..9525d3ca23 100644
--- a/dist/game/data/instances/ElcadiasTent.xml
+++ b/dist/game/data/instances/ElcadiasTent.xml
@@ -3,7 +3,7 @@
 	<activityTime val="30" />
 	<allowSummon val="false" />	
 	<emptyDestroyTime val="1" />
-	<spawnPoint spawnX="43275" spawnY="-87928" spawnZ="-2835" />
+	<exitPoint x="43275" y="-87928" z="-2835" />
 	<spawnlist>
 		<group name="general">
 			<!-- Elcadia -->
diff --git a/dist/game/data/instances/FinalEmperialTomb.xml b/dist/game/data/instances/FinalEmperialTomb.xml
index 0866bf125c..79607535a8 100644
--- a/dist/game/data/instances/FinalEmperialTomb.xml
+++ b/dist/game/data/instances/FinalEmperialTomb.xml
@@ -3,7 +3,7 @@
 	<activityTime val="120" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1800" />
-	<spawnPoint spawnX="181381" spawnY="-80883" spawnZ="-2730" />
+	<exitPoint x="181381" y="-80883" z="-2730" />
 	<reenter additionStyle="NONE" >
 		<reset day="Wednesday" hour="6" minute="30" />
 		<reset day="Saturday" hour="6" minute="30" />
diff --git a/dist/game/data/instances/HallOfSuffering.xml b/dist/game/data/instances/HallOfSuffering.xml
index 928b4a323e..a061129ace 100644
--- a/dist/game/data/instances/HallOfSuffering.xml
+++ b/dist/game/data/instances/HallOfSuffering.xml
@@ -4,5 +4,5 @@
 	<allowSummon val="false" />
 	<emptyDestroyTime val="600" />
 	<showTimer val="true" />
-	<spawnPoint spawnX="-183292" spawnY="206063" spawnZ="-12888" />
+	<exitPoint x="-183292" y="206063" z="-12888" />
 </instance>
\ No newline at end of file
diff --git a/dist/game/data/instances/HideoutOfTheDawn.xml b/dist/game/data/instances/HideoutOfTheDawn.xml
index 8e4d8fbd20..2bafa5fe16 100644
--- a/dist/game/data/instances/HideoutOfTheDawn.xml
+++ b/dist/game/data/instances/HideoutOfTheDawn.xml
@@ -3,7 +3,7 @@
 	<activityTime val="30" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="30" />
-	<spawnPoint spawnX="147072" spawnY="23743" spawnZ="-1984" />
+	<exitPoint x="147072" y="23743" z="-1984" />
 	<removeBuffs type="ALL" />
 	<spawnlist>
 		<group name="general">
diff --git a/dist/game/data/instances/IceQueensCastle.xml b/dist/game/data/instances/IceQueensCastle.xml
index 3d8e707812..1e3d349039 100644
--- a/dist/game/data/instances/IceQueensCastle.xml
+++ b/dist/game/data/instances/IceQueensCastle.xml
@@ -3,7 +3,7 @@
 	<activityTime val="20" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="5" />
-	<spawnPoint spawnX="113883" spawnY="-108777" spawnZ="-848" />
+	<exitPoint x="113883" y="-108777" z="-848" />
 	<doorlist>
 		<door doorId="23140101" />
 	</doorlist>
diff --git a/dist/game/data/instances/IceQueensCastleNormalBattle.xml b/dist/game/data/instances/IceQueensCastleNormalBattle.xml
index 8c861857b2..43c66f7c3c 100644
--- a/dist/game/data/instances/IceQueensCastleNormalBattle.xml
+++ b/dist/game/data/instances/IceQueensCastleNormalBattle.xml
@@ -3,7 +3,7 @@
 	<activityTime val="120" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="600" />
-	<spawnPoint spawnX="115717" spawnY="-125734" spawnZ="-3392" />
+	<exitPoint x="115717" y="-125734" z="-3392" />
 	<reenter additionStyle="ON_INSTANCE_FINISH" >
 		<reset day="Wednesday" hour="6" minute="30" />
 		<reset day="Saturday" hour="6" minute="30" />
diff --git a/dist/game/data/instances/JiniaGuildHideout1.xml b/dist/game/data/instances/JiniaGuildHideout1.xml
index 6ff421a2f9..8aef365b53 100644
--- a/dist/game/data/instances/JiniaGuildHideout1.xml
+++ b/dist/game/data/instances/JiniaGuildHideout1.xml
@@ -3,7 +3,7 @@
 	<activityTime val="5" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="5" />
-	<spawnPoint spawnX="113793" spawnY="-109342" spawnZ="-845" />
+	<exitPoint x="113793" y="-109342" z="-845" />
 	<spawnlist>
 		<group name="general">
 			<!-- Jinia -->
diff --git a/dist/game/data/instances/JiniaGuildHideout2.xml b/dist/game/data/instances/JiniaGuildHideout2.xml
index ac11115308..31d2126f50 100644
--- a/dist/game/data/instances/JiniaGuildHideout2.xml
+++ b/dist/game/data/instances/JiniaGuildHideout2.xml
@@ -3,7 +3,7 @@
 	<activityTime val="5" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="5" />
-	<spawnPoint spawnX="113793" spawnY="-109342" spawnZ="-845" />
+	<exitPoint x="113793" y="-109342" z="-845" />
 	<spawnlist>
 		<group name="general">
 			<!-- Jinia -->
diff --git a/dist/game/data/instances/JiniaGuildHideout3.xml b/dist/game/data/instances/JiniaGuildHideout3.xml
index ac11115308..31d2126f50 100644
--- a/dist/game/data/instances/JiniaGuildHideout3.xml
+++ b/dist/game/data/instances/JiniaGuildHideout3.xml
@@ -3,7 +3,7 @@
 	<activityTime val="5" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="5" />
-	<spawnPoint spawnX="113793" spawnY="-109342" spawnZ="-845" />
+	<exitPoint x="113793" y="-109342" z="-845" />
 	<spawnlist>
 		<group name="general">
 			<!-- Jinia -->
diff --git a/dist/game/data/instances/JiniaGuildHideout4.xml b/dist/game/data/instances/JiniaGuildHideout4.xml
index ac11115308..31d2126f50 100644
--- a/dist/game/data/instances/JiniaGuildHideout4.xml
+++ b/dist/game/data/instances/JiniaGuildHideout4.xml
@@ -3,7 +3,7 @@
 	<activityTime val="5" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="5" />
-	<spawnPoint spawnX="113793" spawnY="-109342" spawnZ="-845" />
+	<exitPoint x="113793" y="-109342" z="-845" />
 	<spawnlist>
 		<group name="general">
 			<!-- Jinia -->
diff --git a/dist/game/data/instances/LibraryOfSages.xml b/dist/game/data/instances/LibraryOfSages.xml
index 0b2bbb2b0b..634693e282 100644
--- a/dist/game/data/instances/LibraryOfSages.xml
+++ b/dist/game/data/instances/LibraryOfSages.xml
@@ -3,7 +3,7 @@
 	<activityTime val="30" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1" />
-	<spawnPoint spawnX="37063" spawnY="-49813" spawnZ="-1128" />
+	<exitPoint x="37063" y="-49813" z="-1128" />
 	<spawnlist>
 		<group name="general">
 			<!-- Sophia2 -->
diff --git a/dist/game/data/instances/MithrilMine.xml b/dist/game/data/instances/MithrilMine.xml
index 595b522a22..cad4ff8daf 100644
--- a/dist/game/data/instances/MithrilMine.xml
+++ b/dist/game/data/instances/MithrilMine.xml
@@ -3,7 +3,7 @@
 	<activityTime val="20" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="20" />
-	<spawnPoint spawnX="178823" spawnY="-184303" spawnZ="-347" />
+	<exitPoint x="178823" y="-184303" z="-347" />
 	<spawnlist>
 		<group name="general">
 			<!-- Kegor -->
diff --git a/dist/game/data/instances/MonasteryOfSilence.xml b/dist/game/data/instances/MonasteryOfSilence.xml
index a0feb48c72..0846738d61 100644
--- a/dist/game/data/instances/MonasteryOfSilence.xml
+++ b/dist/game/data/instances/MonasteryOfSilence.xml
@@ -3,7 +3,7 @@
 	<activityTime val="30" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1" />
-	<spawnPoint spawnX="115983" spawnY="-87351" spawnZ="-3397" />
+	<exitPoint x="115983" y="-87351" z="-3397" />
 	<removeBuffs type="ALL" />
 	<spawnlist>
 		<group name="general">
diff --git a/dist/game/data/instances/NornilsGarden.xml b/dist/game/data/instances/NornilsGarden.xml
index e33d9c943b..f710a1bec5 100644
--- a/dist/game/data/instances/NornilsGarden.xml
+++ b/dist/game/data/instances/NornilsGarden.xml
@@ -3,7 +3,7 @@
 	<activityTime val="60" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="3000" />
-	<spawnPoint spawnX="-84757" spawnY="60009" spawnZ="-2581" />
+	<exitPoint x="-84757" y="60009" z="-2581" />
 	<removeBuffs type="ALL" />
 	<doorlist>
 		<door doorId="16200001" />
diff --git a/dist/game/data/instances/NornilsGardenQuest.xml b/dist/game/data/instances/NornilsGardenQuest.xml
index 6b9c09ed6c..2ff5998344 100644
--- a/dist/game/data/instances/NornilsGardenQuest.xml
+++ b/dist/game/data/instances/NornilsGardenQuest.xml
@@ -2,7 +2,7 @@
 <instance name="Nornil's Garden" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
 	<activityTime val="15" />
 	<allowSummon val="false" />
-	<spawnPoint spawnX="-119538" spawnY="87177" spawnZ="-12592" />
+	<exitPoint x="-119538" y="87177" z="-12592" />
 	<spawnlist>
 		<group name="general">
 			<!-- Rodenpicula -->
diff --git a/dist/game/data/instances/PailakaDevilsLegacy.xml b/dist/game/data/instances/PailakaDevilsLegacy.xml
index b181896faa..f4ca703789 100644
--- a/dist/game/data/instances/PailakaDevilsLegacy.xml
+++ b/dist/game/data/instances/PailakaDevilsLegacy.xml
@@ -3,7 +3,7 @@
 	<activityTime val="90" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="900" />
-	<spawnPoint spawnX="85039" spawnY="147543" spawnZ="-3400" />
+	<exitPoint x="85039" y="147543" z="-3400" />
 	<doorlist>
 		<door doorId="22110100" />
 		<door doorId="22110101" />
diff --git a/dist/game/data/instances/PailakaSongOfIceAndFire.xml b/dist/game/data/instances/PailakaSongOfIceAndFire.xml
index 8012a0d228..44e279ee24 100644
--- a/dist/game/data/instances/PailakaSongOfIceAndFire.xml
+++ b/dist/game/data/instances/PailakaSongOfIceAndFire.xml
@@ -3,7 +3,7 @@
 	<activityTime val="60" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="3000" />
-	<spawnPoint spawnX="-80666" spawnY="151321" spawnZ="-3040" />
+	<exitPoint x="-80666" y="151321" z="-3040" />
 	<spawnlist>
 		<group name="general">
 			<!-- Inspector Sinai -->
diff --git a/dist/game/data/instances/PartyDuel.xml b/dist/game/data/instances/PartyDuel.xml
new file mode 100644
index 0000000000..ca1ad7bd97
--- /dev/null
+++ b/dist/game/data/instances/PartyDuel.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<instance name="coliseum" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
+	<activityTime val="30" />
+	<allowSummon val="false" />
+	<spawnPoints startPosType="FIXED">
+		<Location x="148786" y="46368" z="-3414" />
+		<Location x="148786" y="46454" z="-3414" />
+		<Location x="148786" y="46549" z="-3414" />
+		<Location x="148786" y="46652" z="-3414" />
+		<Location x="148786" y="46745" z="-3414" />
+		<Location x="148786" y="46842" z="-3414" />
+		<Location x="148786" y="46939" z="-3414" />
+		<Location x="148786" y="47033" z="-3414" />
+		<Location x="148786" y="47132" z="-3414" />
+		<Location x="150114" y="46358" z="-3414" />
+		<Location x="150114" y="46445" z="-3414" />
+		<Location x="150114" y="46540" z="-3414" />
+		<Location x="150114" y="46642" z="-3414" />
+		<Location x="150114" y="46735" z="-3414" />
+		<Location x="150114" y="46833" z="-3414" />
+		<Location x="150114" y="46930" z="-3414" />
+		<Location x="150114" y="47023" z="-3414" />
+		<Location x="150114" y="47122" z="-3414" />
+	</spawnPoints>
+	<doorlist>
+		<door doorId="24190001" />
+		<door doorId="24190002" />
+		<door doorId="24190003" />
+		<door doorId="24190004" />
+	</doorlist>
+</instance>
\ No newline at end of file
diff --git a/dist/game/data/instances/Ranku.xml b/dist/game/data/instances/Ranku.xml
index f8aa5483e8..068d84b6b6 100644
--- a/dist/game/data/instances/Ranku.xml
+++ b/dist/game/data/instances/Ranku.xml
@@ -3,7 +3,7 @@
 	<activityTime val="30" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="600" />
-	<spawnPoint spawnX="-19006" spawnY="277065" spawnZ="-13383" />
+	<exitPoint x="-19006" y="277065" z="-13383" />
 	<reenter additionStyle="ON_INSTANCE_FINISH" >
 		<reset day="Wednesday" hour="6" minute="30" />
 		<reset day="Saturday" hour="6" minute="30" />
diff --git a/dist/game/data/instances/SanctumoftheLordsofDawn.xml b/dist/game/data/instances/SanctumoftheLordsofDawn.xml
index cd9a85f828..a2b8f690fc 100644
--- a/dist/game/data/instances/SanctumoftheLordsofDawn.xml
+++ b/dist/game/data/instances/SanctumoftheLordsofDawn.xml
@@ -3,7 +3,7 @@
 	<activityTime val="60" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="900" />
-	<spawnPoint spawnX="-12797" spawnY="122675" spawnZ="-3117" />
+	<exitPoint x="-12797" y="122675" z="-3117" />
 	<doorlist>
 		<door doorId="17240001" />
 		<door doorId="17240002" />
diff --git a/dist/game/data/instances/SecretArea.xml b/dist/game/data/instances/SecretArea.xml
index fbf7e14489..306e824a2c 100644
--- a/dist/game/data/instances/SecretArea.xml
+++ b/dist/game/data/instances/SecretArea.xml
@@ -3,7 +3,7 @@
 	<activityTime val="15" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="1" />
-	<spawnPoint spawnX="-185057" spawnY="242821" spawnZ="1576" />
+	<exitPoint x="-185057" y="242821" z="1576" />
 	<spawnlist>
 		<!-- Lelrikia -->
 		<group name="general">
diff --git a/dist/game/data/instances/SeedOfDestructionStage1.xml b/dist/game/data/instances/SeedOfDestructionStage1.xml
index b1d4d49977..81eb19ea12 100644
--- a/dist/game/data/instances/SeedOfDestructionStage1.xml
+++ b/dist/game/data/instances/SeedOfDestructionStage1.xml
@@ -3,7 +3,7 @@
 	<activityTime val="130" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="900" />
-	<spawnPoint spawnX="-248717" spawnY="250260" spawnZ="4337" />
+	<exitPoint x="-248717" y="250260" z="4337" />
 	<doorlist>
 		<door doorId="12240001" />
 		<door doorId="12240002" />
diff --git a/dist/game/data/instances/UrbanArea.xml b/dist/game/data/instances/UrbanArea.xml
index 0a1658d8ce..d7150f4236 100644
--- a/dist/game/data/instances/UrbanArea.xml
+++ b/dist/game/data/instances/UrbanArea.xml
@@ -3,7 +3,7 @@
 	<activityTime val="30" />
 	<allowSummon val="false" />
 	<emptyDestroyTime val="180" />
-	<spawnPoint spawnX="13725" spawnY="255403" spawnZ="-2023" />
+	<exitPoint x="13725" y="255403" z="-2023" />
 	<spawnlist>
 		<group name="general">
 			<spawn npcId="32343" x="19604" y="250067" z="-2022" heading="16384" respawn="60" /> <!-- Moonlight Tombstone -->
diff --git a/dist/game/data/scripts/hellbound/Instances/DemonPrinceFloor/DemonPrinceFloor.java b/dist/game/data/scripts/hellbound/Instances/DemonPrinceFloor/DemonPrinceFloor.java
index b5df927681..98edf9fc32 100644
--- a/dist/game/data/scripts/hellbound/Instances/DemonPrinceFloor/DemonPrinceFloor.java
+++ b/dist/game/data/scripts/hellbound/Instances/DemonPrinceFloor/DemonPrinceFloor.java
@@ -107,7 +107,7 @@ public final class DemonPrinceFloor extends AbstractInstance
 		{
 			final Instance inst = InstanceManager.getInstance().getInstance(instanceId);
 			final InstanceWorld world = InstanceManager.getInstance().getWorld(npc.getInstanceId());
-			inst.setSpawnLoc(EXIT_POINT);
+			inst.setExitLoc(EXIT_POINT);
 			
 			finishInstance(world);
 			addSpawn(CUBE, -22144, 278744, -8239, 0, false, 0, false, instanceId);
diff --git a/dist/game/data/scripts/hellbound/Instances/RankuFloor/RankuFloor.java b/dist/game/data/scripts/hellbound/Instances/RankuFloor/RankuFloor.java
index b1b4a5758e..3f7e3be1b9 100644
--- a/dist/game/data/scripts/hellbound/Instances/RankuFloor/RankuFloor.java
+++ b/dist/game/data/scripts/hellbound/Instances/RankuFloor/RankuFloor.java
@@ -107,7 +107,7 @@ public final class RankuFloor extends AbstractInstance
 		{
 			final Instance inst = InstanceManager.getInstance().getInstance(instanceId);
 			final InstanceWorld world = InstanceManager.getInstance().getWorld(npc.getInstanceId());
-			inst.setSpawnLoc(EXIT_POINT);
+			inst.setExitLoc(EXIT_POINT);
 			finishInstance(world);
 			addSpawn(CUBE, -19056, 278732, -15000, 0, false, 0, false, instanceId);
 		}
diff --git a/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java b/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
index 3e92a69fc4..0581297b1f 100644
--- a/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
+++ b/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
@@ -425,7 +425,7 @@ public abstract class Chamber extends AbstractInstance
 			return;
 		}
 		final Instance inst = InstanceManager.getInstance().getInstance(player.getInstanceId());
-		Location ret = inst.getSpawnLoc();
+		Location ret = inst.getExitLoc();
 		final String return_point = player.getVariables().getString(RETURN, null);
 		if (return_point != null)
 		{
diff --git a/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java b/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java
index 72cc8f684f..7b22109a5b 100644
--- a/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java
+++ b/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java
@@ -1381,7 +1381,7 @@ public final class Kamaloka extends AbstractInstance
 		// set name for the kamaloka
 		inst.setName(InstanceManager.getInstance().getInstanceIdName(templateId));
 		// set return location
-		inst.setSpawnLoc(new Location(player));
+		inst.setExitLoc(new Location(player));
 		// disable summon friend into instance
 		inst.setAllowSummon(false);
 		// set duration and empty destroy time
@@ -1574,7 +1574,7 @@ public final class Kamaloka extends AbstractInstance
 						{
 							if ((partyMember != null) && (partyMember.getInstanceId() == world.getInstanceId()))
 							{
-								teleportPlayer(partyMember, inst.getSpawnLoc(), 0);
+								teleportPlayer(partyMember, inst.getExitLoc(), 0);
 							}
 						}
 					}
diff --git a/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
index 09b2a79600..2db44ef212 100644
--- a/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
+++ b/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
@@ -278,7 +278,7 @@ public final class NornilsGarden extends AbstractInstance
 		final Instance inst = InstanceManager.getInstance().getInstance(instanceId);
 		
 		inst.setName(InstanceManager.getInstance().getInstanceIdName(TEMPLATE_ID));
-		inst.setSpawnLoc(new Location(player));
+		inst.setExitLoc(new Location(player));
 		inst.setAllowSummon(false);
 		inst.setDuration(DURATION_TIME * 60000);
 		inst.setEmptyDestroyTime(EMPTY_DESTROY_TIME * 60000);
diff --git a/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java b/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
index c1e3acda47..36fa0e77c0 100644
--- a/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
+++ b/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
@@ -290,7 +290,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 		L2Party party = player.getParty();
 		int instanceId = InstanceManager.getInstance().createDynamicInstance(template);
 		Instance ins = InstanceManager.getInstance().getInstance(instanceId);
-		ins.setSpawnLoc(new Location(player));
+		ins.setExitLoc(new Location(player));
 		world = new FAUWorld();
 		world.setInstanceId(instanceId);
 		world.setTemplateId(dungeon.getInstanceId());
diff --git a/dist/game/data/xsd/instance.xsd b/dist/game/data/xsd/instance.xsd
index 2325d5b0e0..e66672854e 100644
--- a/dist/game/data/xsd/instance.xsd
+++ b/dist/game/data/xsd/instance.xsd
@@ -5,7 +5,8 @@
 			<xs:sequence minOccurs="1" maxOccurs="1">
 				<xs:element name="activityTime" minOccurs="0" maxOccurs="1">
 					<xs:complexType>
-						<xs:attribute name="val" type="xs:positiveInteger" use="required" />
+						<xs:attribute name="val" type="xs:positiveInteger"
+							use="required" />
 					</xs:complexType>
 				</xs:element>
 				<xs:element name="allowSummon" minOccurs="0" maxOccurs="1">
@@ -13,9 +14,11 @@
 						<xs:attribute name="val" type="xs:boolean" use="required" />
 					</xs:complexType>
 				</xs:element>
-				<xs:element name="emptyDestroyTime" minOccurs="0" maxOccurs="1">
+				<xs:element name="emptyDestroyTime" minOccurs="0"
+					maxOccurs="1">
 					<xs:complexType>
-						<xs:attribute name="val" type="xs:positiveInteger" use="required" />
+						<xs:attribute name="val" type="xs:positiveInteger"
+							use="required" />
 					</xs:complexType>
 				</xs:element>
 				<xs:element name="PvPInstance" minOccurs="0" maxOccurs="1">
@@ -30,11 +33,32 @@
 						<xs:attribute name="text" type="xs:normalizedString" use="optional" />
 					</xs:complexType>
 				</xs:element>
-				<xs:element name="spawnPoint" minOccurs="0" maxOccurs="1">
+				<xs:element name="spawnPoints" minOccurs="0" maxOccurs="1">
 					<xs:complexType>
-						<xs:attribute name="spawnX" type="xs:integer" use="required" />
-						<xs:attribute name="spawnY" type="xs:integer" use="required" />
-						<xs:attribute name="spawnZ" type="xs:integer" use="required" />
+						<xs:sequence>
+							<xs:element name="Location" minOccurs="1" maxOccurs="unbounded">
+								<xs:complexType>
+									<xs:attribute name="x" type="xs:int" use="required" />
+									<xs:attribute name="y" type="xs:int" use="required" />
+									<xs:attribute name="z" type="xs:int" use="required" />
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+						<xs:attribute name="startPosType" use="required">
+							<xs:simpleType>
+								<xs:restriction base="xs:token">
+									<xs:enumeration value="FIXED" />
+									<xs:enumeration value="RANDOM" />
+								</xs:restriction>
+							</xs:simpleType>
+						</xs:attribute>
+					</xs:complexType>
+				</xs:element>
+				<xs:element name="exitPoint" minOccurs="0" maxOccurs="1">
+					<xs:complexType>
+						<xs:attribute name="x" type="xs:int" use="required" />
+						<xs:attribute name="y" type="xs:int" use="required" />
+						<xs:attribute name="z" type="xs:int" use="required" />
 					</xs:complexType>
 				</xs:element>
 				<xs:element name="reenter" minOccurs="0" maxOccurs="1">
@@ -64,9 +88,9 @@
 						<xs:attribute name="additionStyle">
 							<xs:simpleType>
 								<xs:restriction base="xs:token">
-										<xs:enumeration value="NONE" />
-										<xs:enumeration value="ON_INSTANCE_ENTER" />
-										<xs:enumeration value="ON_INSTANCE_FINISH" />
+									<xs:enumeration value="NONE" />
+									<xs:enumeration value="ON_INSTANCE_ENTER" />
+									<xs:enumeration value="ON_INSTANCE_FINISH" />
 								</xs:restriction>
 							</xs:simpleType>
 						</xs:attribute>
@@ -84,9 +108,9 @@
 						<xs:attribute name="type">
 							<xs:simpleType>
 								<xs:restriction base="xs:token">
-										<xs:enumeration value="ALL" />
-										<xs:enumeration value="WHITELIST" />
-										<xs:enumeration value="BLACKLIST" />
+									<xs:enumeration value="ALL" />
+									<xs:enumeration value="WHITELIST" />
+									<xs:enumeration value="BLACKLIST" />
 								</xs:restriction>
 							</xs:simpleType>
 						</xs:attribute>
@@ -97,7 +121,8 @@
 						<xs:sequence minOccurs="1" maxOccurs="1">
 							<xs:element name="door" minOccurs="1" maxOccurs="unbounded">
 								<xs:complexType>
-									<xs:attribute name="doorId" type="xs:positiveInteger" use="required" />
+									<xs:attribute name="doorId" type="xs:positiveInteger"
+										use="required" />
 									<xs:attribute name="default_status">
 										<xs:simpleType>
 											<xs:restriction base="xs:token">
@@ -128,10 +153,13 @@
 										<xs:element name="spawn" minOccurs="1" maxOccurs="unbounded">
 											<xs:complexType>
 												<xs:attribute name="amount" type="xs:positiveInteger" />
-												<xs:attribute name="heading" type="xs:integer" use="required" />
-												<xs:attribute name="npcId" type="xs:positiveInteger" use="required" />
+												<xs:attribute name="heading" type="xs:integer"
+													use="required" />
+												<xs:attribute name="npcId" type="xs:positiveInteger"
+													use="required" />
 												<xs:attribute name="onKillDelay" type="xs:nonNegativeInteger" />
-												<xs:attribute name="respawn" type="xs:nonNegativeInteger" use="required" />
+												<xs:attribute name="respawn" type="xs:nonNegativeInteger"
+													use="required" />
 												<xs:attribute name="respawnRandom" type="xs:nonNegativeInteger" />
 												<xs:attribute name="allowRandomWalk" type="xs:boolean" />
 												<xs:attribute name="x" type="xs:integer" use="required" />
@@ -140,14 +168,16 @@
 											</xs:complexType>
 										</xs:element>
 									</xs:sequence>
-									<xs:attribute name="name" type="xs:normalizedString" use="required" />
+									<xs:attribute name="name" type="xs:normalizedString"
+										use="required" />
 								</xs:complexType>
 							</xs:element>
 						</xs:sequence>
 					</xs:complexType>
 				</xs:element>
 			</xs:sequence>
-			<xs:attribute name="name" type="xs:normalizedString" use="required" />
+			<xs:attribute name="name" type="xs:normalizedString"
+				use="required" />
 			<xs:attribute name="ejectTime" type="xs:positiveInteger" />
 			<xs:attribute name="allowRandomWalk" type="xs:boolean" />
 		</xs:complexType>
-- 
GitLab