From fbf80bb3617c772ab315d46fd0eb13ad9fc735da Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Sat, 1 Dec 2012 15:30:31 +0000
Subject: [PATCH] BETA: XSD for event config XML and minor cleanup.

---
 .../FreyaCelebration/FreyaCelebration.java    |  6 +-
 .../events/FreyaCelebration/config.xml        |  6 +-
 .../events/GiftOfVitality/GiftOfVitality.java |  6 +-
 .../scripts/events/GiftOfVitality/config.xml  |  6 +-
 .../scripts/events/HeavyMedal/HeavyMedal.java |  6 +-
 .../data/scripts/events/HeavyMedal/config.xml |  3 +-
 .../MasterOfEnchanting.java                   |  6 +-
 .../events/MasterOfEnchanting/config.xml      |  3 +-
 .../TheValentineEvent/TheValentineEvent.java  |  6 +-
 .../events/TheValentineEvent/config.xml       |  3 +-
 .../dist/game/data/xsd/eventConfig.xsd        | 59 +++++++++++++++++++
 11 files changed, 84 insertions(+), 26 deletions(-)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/xsd/eventConfig.xsd

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java b/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
index 1b3f73f214..28f3b68adf 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
@@ -150,9 +150,9 @@ public class FreyaCelebration extends LongTimeEvent
 		return "13296.htm";
 	}
 	
-	public FreyaCelebration(int questId, String name, String descr)
+	public FreyaCelebration(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		
 		addStartNpc(FREYA);
 		addFirstTalkId(FREYA);
@@ -162,6 +162,6 @@ public class FreyaCelebration extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new FreyaCelebration(-1, FreyaCelebration.class.getSimpleName(), "events");
+		new FreyaCelebration(FreyaCelebration.class.getSimpleName(), "events");
 	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/config.xml b/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/config.xml
index cd0d78c536..13a41a9f46 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/config.xml
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/config.xml
@@ -1,7 +1,5 @@
-<event name="Freya Celebration" active="27 02 2009-28 02 2009">
-	<droplist>
-		<!-- No drop here -->
-	</droplist>
+<?xml version="1.0" encoding="UTF-8"?>
+<event name="Freya Celebration" active="27 02 2009-28 02 2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
 	<spawnlist>
 		<add npc="13296" x="-119494" y="44882" z="360" heading="24576" />
 		<add npc="13296" x="-117239" y="46842" z="360" heading="49151" />
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java b/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
index 38b224cccc..855e793bd8 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
@@ -34,9 +34,9 @@ public class GiftOfVitality extends LongTimeEvent
 	// NPC
 	private static final int JACK = 4306;
 	
-	public GiftOfVitality(int questId, String name, String descr)
+	public GiftOfVitality(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		addStartNpc(JACK);
 		addFirstTalkId(JACK);
 		addTalkId(JACK);
@@ -149,6 +149,6 @@ public class GiftOfVitality extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new GiftOfVitality(-1, GiftOfVitality.class.getSimpleName(), "events");
+		new GiftOfVitality(GiftOfVitality.class.getSimpleName(), "events");
 	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/config.xml b/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/config.xml
index 7e8dfad71e..13fc2dbef9 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/config.xml
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/config.xml
@@ -1,7 +1,5 @@
-<event name="Gift of Vitality" active="27 02 2008-28 02 2008">
-	<droplist>
-		<!-- No drop here -->
-	</droplist>
+<?xml version="1.0" encoding="UTF-8"?>
+<event name="Gift of Vitality" active="27 02 2008-28 02 2008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
 	<spawnlist>
 		<add npc="4306" x="82766" y="149438" z="-3464" heading="33865" />
 		<add npc="4306" x="82286" y="53291" z="-1488" heading="15250" />
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java b/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
index a9136f184b..6486dcb4f2 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
@@ -46,9 +46,9 @@ public class HeavyMedal extends LongTimeEvent
 		6402
 	};
 	
-	public HeavyMedal(int questId, String name, String descr)
+	public HeavyMedal(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		addStartNpc(CAT_ROY);
 		addStartNpc(CAT_WINNIE);
 		addTalkId(CAT_ROY);
@@ -141,6 +141,6 @@ public class HeavyMedal extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new HeavyMedal(-1, HeavyMedal.class.getSimpleName(), "events");
+		new HeavyMedal(HeavyMedal.class.getSimpleName(), "events");
 	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/config.xml b/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/config.xml
index 466339ce53..fff159a650 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/config.xml
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/config.xml
@@ -1,4 +1,5 @@
-<event name="Heavy Medal" active="27 02 2007-28 02 2007">
+<?xml version="1.0" encoding="UTF-8"?>
+<event name="Heavy Medal" active="27 02 2007-28 02 2007" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
 	<droplist>
 		<add item="6392" min="1" max="1" chance="45%" /> <!-- Event - Medal -->
 		<add item="6393" min="1" max="1" chance="5%" /> <!-- Event - Glittering Medal -->
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java b/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
index 5522965ff4..e0ccc1c098 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
@@ -65,9 +65,9 @@ public class MasterOfEnchanting extends LongTimeEvent
 	@SuppressWarnings("deprecation")
 	private static final Date _eventStart = new Date(2011, 7, 1);
 	
-	public MasterOfEnchanting(int questId, String name, String descr)
+	public MasterOfEnchanting(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		addStartNpc(MASTER_YOGI);
 		addFirstTalkId(MASTER_YOGI);
 		addTalkId(MASTER_YOGI);
@@ -280,6 +280,6 @@ public class MasterOfEnchanting extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new MasterOfEnchanting(-1, MasterOfEnchanting.class.getSimpleName(), "events");
+		new MasterOfEnchanting(MasterOfEnchanting.class.getSimpleName(), "events");
 	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/config.xml b/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/config.xml
index 823f599511..ea262c5201 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/config.xml
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/config.xml
@@ -1,4 +1,5 @@
-<event name="Master of Enchanting" active="27 02 2010-28 02 2010">
+<?xml version="1.0" encoding="UTF-8"?>
+<event name="Master of Enchanting" active="27 02 2010-28 02 2010" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
 	<droplist>
 		<add item="13540" min="1" max="1" chance="1%" /> <!-- Master Yogi's Scroll: Enchant Weapon -->
 	</droplist>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java b/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
index 29ad9a7df1..11b8f4af70 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
@@ -31,9 +31,9 @@ public class TheValentineEvent extends LongTimeEvent
 	// Item
 	private static final int RECIPE = 20191;
 	
-	public TheValentineEvent(int questId, String name, String descr)
+	public TheValentineEvent(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		addStartNpc(NPC);
 		addFirstTalkId(NPC);
 		addTalkId(NPC);
@@ -77,6 +77,6 @@ public class TheValentineEvent extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new TheValentineEvent(-1, TheValentineEvent.class.getSimpleName(), "events");
+		new TheValentineEvent(TheValentineEvent.class.getSimpleName(), "events");
 	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/config.xml b/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/config.xml
index 25876975eb..9dbe581617 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/config.xml
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/config.xml
@@ -1,4 +1,5 @@
-<event name="Valentine Event" active="15 12 2001-16 12 2001">
+<?xml version="1.0" encoding="UTF-8"?>
+<event name="Valentine Event" active="15 12 2001-16 12 2001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
 	<droplist>
 		<add item="20192" min="1" max="1" chance="5%" /> <!-- Valentine Dark Chocolate -->
 		<add item="20193" min="1" max="1" chance="5%" /> <!-- Valentine White Chocolate -->
diff --git a/L2J_DataPack_BETA/dist/game/data/xsd/eventConfig.xsd b/L2J_DataPack_BETA/dist/game/data/xsd/eventConfig.xsd
new file mode 100644
index 0000000000..2770130581
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/xsd/eventConfig.xsd
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<xs:element name="event">
+		<xs:complexType>
+			<xs:sequence maxOccurs="1" minOccurs="1">
+				<xs:element name="droplist" maxOccurs="1" minOccurs="0">
+					<xs:complexType>
+						<xs:sequence maxOccurs="1" minOccurs="1">
+							<xs:element name="add" maxOccurs="unbounded" minOccurs="1">
+								<xs:complexType>
+									<xs:attribute name="item" type="xs:positiveInteger" use="required" />
+									<xs:attribute name="min" type="xs:positiveInteger" use="required" />
+									<xs:attribute name="max" type="xs:positiveInteger" use="required" />
+									<xs:attribute name="chance" type="xs:token" use="required" />
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+					</xs:complexType>
+				</xs:element>
+				<xs:element name="spawnlist" maxOccurs="1" minOccurs="1">
+					<xs:complexType>
+						<xs:sequence maxOccurs="1" minOccurs="1">
+							<xs:element name="add" maxOccurs="unbounded" minOccurs="1">
+								<xs:complexType>
+									<xs:attribute name="npc" type="xs:positiveInteger" use="required" />
+									<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:attribute name="heading" type="xs:int" use="required" />
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+					</xs:complexType>
+				</xs:element>
+				<xs:element name="messages" maxOccurs="1" minOccurs="1">
+					<xs:complexType>
+						<xs:sequence maxOccurs="1" minOccurs="1">
+							<xs:element name="add" maxOccurs="2" minOccurs="2">
+								<xs:complexType>
+									<xs:attribute name="type" use="required">
+										<xs:simpleType>
+											<xs:restriction base="xs:token">
+												<xs:enumeration value="onEnd" />
+												<xs:enumeration value="onEnter" />
+											</xs:restriction>
+										</xs:simpleType>
+									</xs:attribute>
+									<xs:attribute name="text" type="xs:token" use="required" />
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+					</xs:complexType>
+				</xs:element>
+			</xs:sequence>
+			<xs:attribute name="name" type="xs:token" use="required" />
+			<xs:attribute name="active" type="xs:token" use="required" />
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
\ No newline at end of file
-- 
GitLab