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 d0b6d7dbe6aec9c30a4b55fcaa3d962c50eab967..b7965a057a5892b385b59e67618ecbc28ec0c74b 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
@@ -15,11 +15,10 @@
 package events.FreyaCelebration;
 
 import com.l2jserver.gameserver.model.L2Object;
-import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.event.LongTimeEvent;
 import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.quest.State;
 import com.l2jserver.gameserver.model.skills.L2Skill;
@@ -34,7 +33,7 @@ import com.l2jserver.gameserver.util.Util;
  * Freya Celebration event AI.
  * @author Gnacik
  */
-public class FreyaCelebration extends Quest
+public class FreyaCelebration extends LongTimeEvent
 {
 	private static final int _freya = 13296;
 	private static final int _freya_potion = 15440;
@@ -54,41 +53,7 @@ public class FreyaCelebration extends Quest
 		NpcStringId.BUT_I_KIND_OF_MISS_IT_LIKE_I_HAD_FELT_THIS_FEELING_BEFORE,
 		NpcStringId.I_AM_ICE_QUEEN_FREYA_THIS_FEELING_AND_EMOTION_ARE_NOTHING_BUT_A_PART_OF_MELISSAA_MEMORIES
 	};
-	
-	private static final Location[] _spawns =
-	{
-		new Location(-119494, 44882, 360, 24576),
-		new Location(-117239, 46842, 360, 49151),
-		new Location(-84023, 243051, -3728, 4096),
-		new Location(-84411, 244813, -3728, 57343),
-		new Location(46908, 50856, -2992, 8192),
-		new Location(45538, 48357, -3056, 18000),
-		new Location(-45372, -114104, -240, 16384),
-		new Location(-45278, -112766, -240, 0),
-		new Location(9929, 16324, -4568, 62999),
-		new Location(11546, 17599, -4584, 46900),
-		new Location(115096, -178370, -880, 0),
-		new Location(-13727, 122117, -2984, 16384),
-		new Location(-14129, 123869, -3112, 40959),
-		new Location(-83156, 150994, -3120, 0),
-		new Location(-81031, 150038, -3040, 0),
-		new Location(16111, 142850, -2696, 16000),
-		new Location(17275, 145000, -3032, 25000),
-		new Location(111004, 218928, -3536, 16384),
-		new Location(81755, 146487, -3528, 32768),
-		new Location(82145, 148609, -3464, 0),
-		new Location(83037, 149324, -3464, 44000),
-		new Location(81987, 53723, -1488, 0),
-		new Location(147200, 25614, -2008, 16384),
-		new Location(148557, 26806, -2200, 32768),
-		new Location(147421, -55435, -2728, 49151),
-		new Location(148206, -55786, -2776, 61439),
-		new Location(85584, -142490, -1336, 0),
-		new Location(86865, -142915, -1336, 26000),
-		new Location(43966, -47709, -792, 49999),
-		new Location(43165, -48461, -792, 17000)
-	};
-	
+
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -184,10 +149,6 @@ public class FreyaCelebration extends Quest
 		addFirstTalkId(_freya);
 		addTalkId(_freya);
 		addSkillSeeId(_freya);
-		for (Location loc : _spawns)
-		{
-			addSpawn(_freya, loc, false, 0);
-		}
 	}
 	
 	public static void main(String[] args)
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
new file mode 100644
index 0000000000000000000000000000000000000000..cd0d78c5366a602b0021e8bbd863e365919c0dba
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/config.xml
@@ -0,0 +1,41 @@
+<event name="Freya Celebration" active="27 02 2009-28 02 2009">
+	<droplist>
+		<!-- No drop here -->
+	</droplist>
+	<spawnlist>
+		<add npc="13296" x="-119494" y="44882" z="360" heading="24576" />
+		<add npc="13296" x="-117239" y="46842" z="360" heading="49151" />
+		<add npc="13296" x="-84023" y="243051" z="-3728" heading="4096" />
+		<add npc="13296" x="-84411" y="244813" z="-3728" heading="57343" />
+		<add npc="13296" x="46908" y="50856" z="-2992" heading="8192" />
+		<add npc="13296" x="45538" y="48357" z="-3056" heading="18000" />
+		<add npc="13296" x="-45372" y="-114104" z="-240" heading="16384" />
+		<add npc="13296" x="-45278" y="-112766" z="-240" heading="0" />
+		<add npc="13296" x="9929" y="16324" z="-4568" heading="62999" />
+		<add npc="13296" x="11546" y="17599" z="-4584" heading="46900" />
+		<add npc="13296" x="115096" y="-178370" z="-880" heading="0" />
+		<add npc="13296" x="-13727" y="122117" z="-2984" heading="16384" />
+		<add npc="13296" x="-14129" y="123869" z="-3112" heading="40959" />
+		<add npc="13296" x="-83156" y="150994" z="-3120" heading="0" />
+		<add npc="13296" x="-81031" y="150038" z="-3040" heading="0" />
+		<add npc="13296" x="16111" y="142850" z="-2696" heading="16000" />
+		<add npc="13296" x="17275" y="145000" z="-3032" heading="25000" />
+		<add npc="13296" x="111004" y="218928" z="-3536" heading="16384" />
+		<add npc="13296" x="81755" y="146487" z="-3528" heading="32768" />
+		<add npc="13296" x="82145" y="148609" z="-3464" heading="0" />
+		<add npc="13296" x="83037" y="149324" z="-3464" heading="44000" />
+		<add npc="13296" x="81987" y="53723" z="-1488" heading="0" />
+		<add npc="13296" x="147200" y="25614" z="-2008" heading="16384" />
+		<add npc="13296" x="148557" y="26806" z="-2200" heading="32768" />
+		<add npc="13296" x="147421" y="-55435" z="-2728" heading="49151" />
+		<add npc="13296" x="148206" y="-55786" z="-2776" heading="61439" />
+		<add npc="13296" x="85584" y="-142490" z="-1336" heading="0" />
+		<add npc="13296" x="86865" y="-142915" z="-1336" heading="26000" />
+		<add npc="13296" x="43966" y="-47709" z="-792" heading="49999" />
+		<add npc="13296" x="43165" y="-48461" z="-792" heading="17000" />
+	</spawnlist>
+	<messages>
+		<add type="onEnd" text="Freya Celebration: Event end!" />
+		<add type="onEnter" text="Freya Celebration: Event ongoing!" />
+	</messages>
+</event>
\ No newline at end of file
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 f4b611bde10a986ef5ccf54d1b8bd9e4d0d22bbb..b206b3fbba59b2063678ff8e8399909c00e4564b 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
@@ -15,10 +15,9 @@
 package events.GiftOfVitality;
 
 import com.l2jserver.gameserver.datatables.SkillTable;
-import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.event.LongTimeEvent;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.quest.State;
 import com.l2jserver.gameserver.network.SystemMessageId;
@@ -28,43 +27,19 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  * Gift of Vitality event AI.
  * @author Gnacik
  */
-public class GiftOfVitality extends Quest
+public class GiftOfVitality extends LongTimeEvent
 {
 	// Reuse between buffs
 	private static final int _hours = 5;
 	
 	private static final int _jack = 4306;
 	
-	private static final Location[] _spawns =
-	{
-		new Location(82766, 149438, -3464, 33865),
-		new Location(82286, 53291, -1488, 15250),
-		new Location(147060, 25943, -2008, 18774),
-		new Location(148096, -55466, -2728, 40541),
-		new Location(87116, -141332, -1336, 52193),
-		new Location(43521, -47542, -792, 31655),
-		new Location(17203, 144949, -3024, 18166),
-		new Location(111164, 221062, -3544, 2714),
-		new Location(-13869, 122063, -2984, 18270),
-		new Location(-83161, 150915, -3120, 17311),
-		new Location(45402, 48355, -3056, 49153),
-		new Location(115616, -177941, -896, 30708),
-		new Location(-44928, -113608, -192, 30212),
-		new Location(-84037, 243194, -3728, 8992),
-		new Location(-119690, 44583, 360, 29289),
-		new Location(12084, 16576, -4584, 57345)
-	};
-	
 	public GiftOfVitality(int questId, String name, String descr)
 	{
 		super(questId, name, descr);
 		addStartNpc(_jack);
 		addFirstTalkId(_jack);
 		addTalkId(_jack);
-		for (Location loc : _spawns)
-		{
-			addSpawn(_jack, loc, false, 0);
-		}
 	}
 	
 	@Override
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
new file mode 100644
index 0000000000000000000000000000000000000000..7e8dfad71e3a1f93a6f517b290b81594a320e4e2
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/config.xml
@@ -0,0 +1,27 @@
+<event name="Gift of Vitality" active="27 02 2008-28 02 2008">
+	<droplist>
+		<!-- No drop here -->
+	</droplist>
+	<spawnlist>
+		<add npc="4306" x="82766" y="149438" z="-3464" heading="33865" />
+		<add npc="4306" x="82286" y="53291" z="-1488" heading="15250" />
+		<add npc="4306" x="147060" y="25943" z="-2008" heading="18774" />
+		<add npc="4306" x="148096" y="-55466" z="-2728" heading="40541" />
+		<add npc="4306" x="87116" y="-141332" z="-1336" heading="52193" />
+		<add npc="4306" x="43521" y="-47542" z="-792" heading="31655" />
+		<add npc="4306" x="17203" y="144949" z="-3024" heading="18166" />
+		<add npc="4306" x="111164" y="221062" z="-3544" heading="2714" />
+		<add npc="4306" x="-13869" y="122063" z="-2984" heading="18270" />
+		<add npc="4306" x="-83161" y="150915" z="-3120" heading="17311" />
+		<add npc="4306" x="45402" y="48355" z="-3056" heading="49153" />
+		<add npc="4306" x="115616" y="-177941" z="-896" heading="30708" />
+		<add npc="4306" x="-44928" y="-113608" z="-192" heading="30212" />
+		<add npc="4306" x="-84037" y="243194" z="-3728" heading="8992" />
+		<add npc="4306" x="-119690" y="44583" z="360" heading="29289" />
+		<add npc="4306" x="12084" y="16576" z="-4584" heading="57345" />
+	</spawnlist>
+	<messages>
+		<add type="onEnd" text="Gift of Vitality: Event end!" />
+		<add type="onEnter" text="Gift of Vitality: Event ongoing!" />
+	</messages>
+</event>
\ No newline at end of file
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 67f308106d1d0b340312643a16ecd944c7599a76..4980905ed7f835c5feb3b4702f21232914b3061d 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
@@ -14,17 +14,16 @@
  */
 package events.HeavyMedal;
 
-import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.event.LongTimeEvent;
 import com.l2jserver.gameserver.model.quest.QuestState;
 
 /**
  * Heavy Medals event AI.
  * @author Gnacik
  */
-public class HeavyMedal extends Quest
+public class HeavyMedal extends LongTimeEvent
 {
 	private final static int CAT_ROY = 31228;
 	private final static int CAT_WINNIE = 31229;
@@ -40,93 +39,7 @@ public class HeavyMedal extends Quest
 	{
 		6399, 6400, 6401, 6402
 	};
-	
-	private static final Location[] _spawns_winnie =
-	{
-		new Location(-44342, -113726, -240, 0),
-		new Location(-44671, -115437, -240, 22500),
-		new Location(-13073, 122841, -3117, 0),
-		new Location(-13972, 121893, -2988, 32768),
-		new Location(-14843, 123710, -3117, 8192),
-		new Location(11327, 15682, -4584, 25000),
-		new Location(11243, 17712, -4574, 57344),
-		new Location(18154, 145192, -3054, 7400),
-		new Location(19214, 144327, -3097, 32768),
-		new Location(19459, 145775, -3086, 48000),
-		new Location(17418, 170217, -3507, 36000),
-		new Location(47146, 49382, -3059, 32000),
-		new Location(44157, 50827, -3059, 57344),
-		new Location(79798, 55629, -1560, 0),
-		new Location(83328, 55769, -1525, 32768),
-		new Location(80986, 54452, -1525, 32768),
-		new Location(83329, 149095, -3405, 49152),
-		new Location(82277, 148564, -3467, 0),
-		new Location(81620, 148689, -3464, 32768),
-		new Location(81691, 145610, -3467, 32768),
-		new Location(114719, -178742, -821, 0),
-		new Location(115708, -182422, -1449, 0),
-		new Location(-80731, 151152, -3043, 28672),
-		new Location(-84097, 150171, -3129, 4096),
-		new Location(-82678, 151666, -3129, 49152),
-		new Location(117459, 76664, -2695, 38000),
-		new Location(115936, 76488, -2711, 59000),
-		new Location(119576, 76940, -2275, 40960),
-		new Location(-84516, 243015, -3730, 34000),
-		new Location(-86031, 243153, -3730, 60000),
-		new Location(147124, 27401, -2192, 40960),
-		new Location(147985, 25664, -2000, 16384),
-		new Location(111724, 221111, -3543, 16384),
-		new Location(107899, 218149, -3675, 0),
-		new Location(114920, 220080, -3632, 32768),
-		new Location(147924, -58052, -2979, 49000),
-		new Location(147285, -56461, -2776, 33000),
-		new Location(44176, -48688, -800, 33000),
-		new Location(44294, -47642, -792, 50000)
-	};
-	
-	private static final Location[] _spawns_roy =
-	{
-		new Location(-44337, -113669, -224, 0),
-		new Location(-44628, -115409, -240, 22500),
-		new Location(-13073, 122801, -3117, 0),
-		new Location(-13949, 121934, -2988, 32768),
-		new Location(-14786, 123686, -3117, 8192),
-		new Location(11281, 15652, -4584, 25000),
-		new Location(11303, 17732, -4574, 57344),
-		new Location(18178, 145149, -3054, 7400),
-		new Location(19208, 144380, -3097, 32768),
-		new Location(19508, 145775, -3086, 48000),
-		new Location(17396, 170259, -3507, 36000),
-		new Location(47151, 49436, -3059, 32000),
-		new Location(44122, 50784, -3059, 57344),
-		new Location(79806, 55570, -1560, 0),
-		new Location(83328, 55824, -1525, 32768),
-		new Location(80986, 54504, -1525, 32768),
-		new Location(83332, 149160, -3405, 49152),
-		new Location(82277, 148598, -3467, 0),
-		new Location(81621, 148725, -3467, 32768),
-		new Location(81680, 145656, -3467, 32768),
-		new Location(114733, -178691, -821, 0),
-		new Location(115708, -182362, -1449, 0),
-		new Location(-80789, 151073, -3043, 28672),
-		new Location(-84049, 150176, -3129, 4096),
-		new Location(-82623, 151666, -3129, 49152),
-		new Location(117498, 76630, -2695, 38000),
-		new Location(115914, 76449, -2711, 59000),
-		new Location(119536, 76988, -2275, 40960),
-		new Location(-84516, 242971, -3730, 34000),
-		new Location(-86003, 243205, -3730, 60000),
-		new Location(147184, 27405, -2192, 17000),
-		new Location(147920, 25664, -2000, 16384),
-		new Location(111776, 221104, -3543, 16384),
-		new Location(107904, 218096, -3675, 0),
-		new Location(114920, 220020, -3632, 32768),
-		new Location(147888, -58048, -2979, 49000),
-		new Location(147262, -56450, -2776, 33000),
-		new Location(44176, -48732, -800, 33000),
-		new Location(44319, -47640, -792, 50000)
-	};
-	
+
 	public HeavyMedal(int questId, String name, String descr)
 	{
 		super(questId, name, descr);
@@ -136,14 +49,6 @@ public class HeavyMedal extends Quest
 		addTalkId(CAT_WINNIE);
 		addFirstTalkId(CAT_ROY);
 		addFirstTalkId(CAT_WINNIE);
-		for (Location loc : _spawns_roy)
-		{
-			addSpawn(CAT_ROY, loc, false, 0);
-		}
-		for (Location loc : _spawns_winnie)
-		{
-			addSpawn(CAT_WINNIE, loc, false, 0);
-		}
 	}
 	
 	@Override
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
new file mode 100644
index 0000000000000000000000000000000000000000..466339ce539fbb519eba77cffd275cb625d80da7
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/config.xml
@@ -0,0 +1,92 @@
+<event name="Heavy Medal" active="27 02 2007-28 02 2007">
+	<droplist>
+		<add item="6392" min="1" max="1" chance="45%" /> <!-- Event - Medal -->
+		<add item="6393" min="1" max="1" chance="5%" /> <!-- Event - Glittering Medal -->
+	</droplist>
+	<spawnlist>
+		<!-- Roy -->
+		<add npc="31228" x="-44337" y="-113669" z="-224" heading="0" />
+		<add npc="31228" x="-44628" y="-115409" z="-240" heading="22500" />
+		<add npc="31228" x="-13073" y="122801" z="-3117" heading="0" />
+		<add npc="31228" x="-13949" y="121934" z="-2988" heading="32768" />
+		<add npc="31228" x="-14786" y="123686" z="-3117" heading="8192" />
+		<add npc="31228" x="11281" y="15652" z="-4584" heading="25000" />
+		<add npc="31228" x="11303" y="17732" z="-4574" heading="57344" />
+		<add npc="31228" x="18178" y="145149" z="-3054" heading="7400" />
+		<add npc="31228" x="19208" y="144380" z="-3097" heading="32768" />
+		<add npc="31228" x="19508" y="145775" z="-3086" heading="48000" />
+		<add npc="31228" x="17396" y="170259" z="-3507" heading="36000" />
+		<add npc="31228" x="47151" y="49436" z="-3059" heading="32000" />
+		<add npc="31228" x="44122" y="50784" z="-3059" heading="57344" />
+		<add npc="31228" x="79806" y="55570" z="-1560" heading="0" />
+		<add npc="31228" x="83328" y="55824" z="-1525" heading="32768" />
+		<add npc="31228" x="80986" y="54504" z="-1525" heading="32768" />
+		<add npc="31228" x="83332" y="149160" z="-3405" heading="49152" />
+		<add npc="31228" x="82277" y="148598" z="-3467" heading="0" />
+		<add npc="31228" x="81621" y="148725" z="-3467" heading="32768" />
+		<add npc="31228" x="81680" y="145656" z="-3467" heading="32768" />
+		<add npc="31228" x="114733" y="-178691" z="-821" heading="0" />
+		<add npc="31228" x="115708" y="-182362" z="-1449" heading="0" />
+		<add npc="31228" x="-80789" y="151073" z="-3043" heading="28672" />
+		<add npc="31228" x="-84049" y="150176" z="-3129" heading="4096" />
+		<add npc="31228" x="-82623" y="151666" z="-3129" heading="49152" />
+		<add npc="31228" x="117498" y="76630" z="-2695" heading="38000" />
+		<add npc="31228" x="115914" y="76449" z="-2711" heading="59000" />
+		<add npc="31228" x="119536" y="76988" z="-2275" heading="40960" />
+		<add npc="31228" x="-84516" y="242971" z="-3730" heading="34000" />
+		<add npc="31228" x="-86003" y="243205" z="-3730" heading="60000" />
+		<add npc="31228" x="147184" y="27405" z="-2192" heading="17000" />
+		<add npc="31228" x="147920" y="25664" z="-2000" heading="16384" />
+		<add npc="31228" x="111776" y="221104" z="-3543" heading="16384" />
+		<add npc="31228" x="107904" y="218096" z="-3675" heading="0" />
+		<add npc="31228" x="114920" y="220020" z="-3632" heading="32768" />
+		<add npc="31228" x="147888" y="-58048" z="-2979" heading="49000" />
+		<add npc="31228" x="147262" y="-56450" z="-2776" heading="33000" />
+		<add npc="31228" x="44176" y="-48732" z="-800" heading="33000" />
+		<add npc="31228" x="44319" y="-47640" z="-792" heading="50000" />
+		<!-- Winnie -->
+		<add npc="31229" x="-44342" y="-113726" z="-240" heading="0" />
+		<add npc="31229" x="-44671" y="-115437" z="-240" heading="22500" />
+		<add npc="31229" x="-13073" y="122841" z="-3117" heading="0" />
+		<add npc="31229" x="-13972" y="121893" z="-2988" heading="32768" />
+		<add npc="31229" x="-14843" y="123710" z="-3117" heading="8192" />
+		<add npc="31229" x="11327" y="15682" z="-4584" heading="25000" />
+		<add npc="31229" x="11243" y="17712" z="-4574" heading="57344" />
+		<add npc="31229" x="18154" y="145192" z="-3054" heading="7400" />
+		<add npc="31229" x="19214" y="144327" z="-3097" heading="32768" />
+		<add npc="31229" x="19459" y="145775" z="-3086" heading="48000" />
+		<add npc="31229" x="17418" y="170217" z="-3507" heading="36000" />
+		<add npc="31229" x="47146" y="49382" z="-3059" heading="32000" />
+		<add npc="31229" x="44157" y="50827" z="-3059" heading="57344" />
+		<add npc="31229" x="79798" y="55629" z="-1560" heading="0" />
+		<add npc="31229" x="83328" y="55769" z="-1525" heading="32768" />
+		<add npc="31229" x="80986" y="54452" z="-1525" heading="32768" />
+		<add npc="31229" x="83329" y="149095" z="-3405" heading="49152" />
+		<add npc="31229" x="82277" y="148564" z="-3467" heading="0" />
+		<add npc="31229" x="81620" y="148689" z="-3464" heading="32768" />
+		<add npc="31229" x="81691" y="145610" z="-3467" heading="32768" />
+		<add npc="31229" x="114719" y="-178742" z="-821" heading="0" />
+		<add npc="31229" x="115708" y="-182422" z="-1449" heading="0" />
+		<add npc="31229" x="-80731" y="151152" z="-3043" heading="28672" />
+		<add npc="31229" x="-84097" y="150171" z="-3129" heading="4096" />
+		<add npc="31229" x="-82678" y="151666" z="-3129" heading="49152" />
+		<add npc="31229" x="117459" y="76664" z="-2695" heading="38000" />
+		<add npc="31229" x="115936" y="76488" z="-2711" heading="59000" />
+		<add npc="31229" x="119576" y="76940" z="-2275" heading="40960" />
+		<add npc="31229" x="-84516" y="243015" z="-3730" heading="34000" />
+		<add npc="31229" x="-86031" y="243153" z="-3730" heading="60000" />
+		<add npc="31229" x="147124" y="27401" z="-2192" heading="40960" />
+		<add npc="31229" x="147985" y="25664" z="-2000" heading="16384" />
+		<add npc="31229" x="111724" y="221111" z="-3543" heading="16384" />
+		<add npc="31229" x="107899" y="218149" z="-3675" heading="0" />
+		<add npc="31229" x="114920" y="220080" z="-3632" heading="32768" />
+		<add npc="31229" x="147924" y="-58052" z="-2979" heading="49000" />
+		<add npc="31229" x="147285" y="-56461" z="-2776" heading="33000" />
+		<add npc="31229" x="44176" y="-48688" z="-800" heading="33000" />
+		<add npc="31229" x="44294" y="-47642" z="-792" heading="50000" />
+	</spawnlist>
+	<messages>
+		<add type="onEnd" text="Heavy Medal: Event end!" />
+		<add type="onEnter" text="Heavy Medal Event: Collect Medals and trade them for prizes at Event Cats in every town! Hurry up, since the event will end at Feb 28th!" />
+	</messages>
+</event>
\ No newline at end of file
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 be8be967184c75fe8a5c99447aa0cbf9edbc140d..939db4970f3eba9e31e1526e13fa4874ac7e294d 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
@@ -16,12 +16,11 @@ package events.MasterOfEnchanting;
 
 import java.util.Date;
 
-import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.event.LongTimeEvent;
 import com.l2jserver.gameserver.model.itemcontainer.Inventory;
 import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
@@ -30,7 +29,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  * Master of Enchanting event AI.
  * @author Gnacik
  */
-public class MasterOfEnchanting extends Quest
+public class MasterOfEnchanting extends LongTimeEvent
 {
 	private static final int _master_yogi = 32599;
 	private static final int _master_yogi_staff = 13539;
@@ -58,56 +57,13 @@ public class MasterOfEnchanting extends Quest
 	
 	@SuppressWarnings("deprecation")
 	private static final Date _eventStart = new Date(2011, 7, 1);
-	
-	private static final Location[] _spawns =
-	{
-		new Location(16111, 142850, -2707, 16000),
-		new Location(17275, 145000, -3037, 25000),
-		new Location(83037, 149324, -3470, 44000),
-		new Location(82145, 148609, -3468, 0),
-		new Location(81755, 146487, -3534, 32768),
-		new Location(-81031, 150038, -3045, 0),
-		new Location(-83156, 150994, -3130, 0),
-		new Location(-13727, 122117, -2990, 16384),
-		new Location(-14129, 123869, -3118, 40959),
-		new Location(-84411, 244813, -3730, 57343),
-		new Location(-84023, 243051, -3730, 4096),
-		new Location(46908, 50856, -2997, 8192),
-		new Location(45538, 48357, -3061, 18000),
-		new Location(9929, 16324, -4576, 62999),
-		new Location(11546, 17599, -4586, 46900),
-		new Location(81987, 53723, -1497, 0),
-		new Location(81083, 56118, -1562, 32768),
-		new Location(147200, 25614, -2014, 16384),
-		new Location(148557, 26806, -2206, 32768),
-		new Location(117356, 76708, -2695, 49151),
-		new Location(115887, 76382, -2714, 0),
-		new Location(-117239, 46842, 367, 49151),
-		new Location(-119494, 44882, 367, 24576),
-		new Location(111004, 218928, -3544, 16384),
-		new Location(108426, 221876, -3600, 49151),
-		new Location(-45278, -112766, -241, 0),
-		new Location(-45372, -114104, -241, 16384),
-		new Location(115096, -178370, -891, 0),
-		new Location(116199, -182694, -1506, 0),
-		new Location(86865, -142915, -1341, 26000),
-		new Location(85584, -142490, -1343, 0),
-		new Location(147421, -55435, -2736, 49151),
-		new Location(148206, -55786, -2782, 61439),
-		new Location(43165, -48461, -797, 17000),
-		new Location(43966, -47709, -798, 49999)
-	};
-	
+
 	public MasterOfEnchanting(int questId, String name, String descr)
 	{
 		super(questId, name, descr);
 		addStartNpc(_master_yogi);
 		addFirstTalkId(_master_yogi);
 		addTalkId(_master_yogi);
-		for (Location loc : _spawns)
-		{
-			addSpawn(_master_yogi, loc, false, 0);
-		}
 	}
 	
 	@Override
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
new file mode 100644
index 0000000000000000000000000000000000000000..823f5995118355abdbbe80395c6a6c68fa1af3c8
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/config.xml
@@ -0,0 +1,46 @@
+<event name="Master of Enchanting" active="27 02 2010-28 02 2010">
+	<droplist>
+		<add item="13540" min="1" max="1" chance="1%" /> <!-- Master Yogi's Scroll: Enchant Weapon -->
+	</droplist>
+	<spawnlist>
+		<add npc="32599" x="16111" y="142850" z="-2707" heading="16000" />
+		<add npc="32599" x="17275" y="145000" z="-3037" heading="25000" />
+		<add npc="32599" x="83037" y="149324" z="-3470" heading="44000" />
+		<add npc="32599" x="82145" y="148609" z="-3468" heading="0" />
+		<add npc="32599" x="81755" y="146487" z="-3534" heading="32768" />
+		<add npc="32599" x="-81031" y="150038" z="-3045" heading="0" />
+		<add npc="32599" x="-83156" y="150994" z="-3130" heading="0" />
+		<add npc="32599" x="-13727" y="122117" z="-2990" heading="16384" />
+		<add npc="32599" x="-14129" y="123869" z="-3118" heading="40959" />
+		<add npc="32599" x="-84411" y="244813" z="-3730" heading="57343" />
+		<add npc="32599" x="-84023" y="243051" z="-3730" heading="4096" />
+		<add npc="32599" x="46908" y="50856" z="-2997" heading="8192" />
+		<add npc="32599" x="45538" y="48357" z="-3061" heading="18000" />
+		<add npc="32599" x="9929" y="16324" z="-4576" heading="62999" />
+		<add npc="32599" x="11546" y="17599" z="-4586" heading="46900" />
+		<add npc="32599" x="81987" y="53723" z="-1497" heading="0" />
+		<add npc="32599" x="81083" y="56118" z="-1562" heading="32768" />
+		<add npc="32599" x="147200" y="25614" z="-2014" heading="16384" />
+		<add npc="32599" x="148557" y="26806" z="-2206" heading="32768" />
+		<add npc="32599" x="117356" y="76708" z="-2695" heading="49151" />
+		<add npc="32599" x="115887" y="76382" z="-2714" heading="0" />
+		<add npc="32599" x="-117239" y="46842" z="367" heading="49151" />
+		<add npc="32599" x="-119494" y="44882" z="367" heading="24576" />
+		<add npc="32599" x="111004" y="218928" z="-3544" heading="16384" />
+		<add npc="32599" x="108426" y="221876" z="-3600" heading="49151" />
+		<add npc="32599" x="-45278" y="-112766" z="-241" heading="0" />
+		<add npc="32599" x="-45372" y="-114104" z="-241" heading="16384" />
+		<add npc="32599" x="115096" y="-178370" z="-891" heading="0" />
+		<add npc="32599" x="116199" y="-182694" z="-1506" heading="0" />
+		<add npc="32599" x="86865" y="-142915" z="-1341" heading="26000" />
+		<add npc="32599" x="85584" y="-142490" z="-1343" heading="0" />
+		<add npc="32599" x="147421" y="-55435" z="-2736" heading="49151" />
+		<add npc="32599" x="148206" y="-55786" z="-2782" heading="61439" />
+		<add npc="32599" x="43165" y="-48461" z="-797" heading="17000" />
+		<add npc="32599" x="43966" y="-47709" z="-798" heading="49999" />
+	</spawnlist>
+	<messages>
+		<add type="onEnd" text="Master of Enchantig: event end!" />
+		<add type="onEnter" text="Master of enchanting: Event ongoing! Visit Master Yogi!" />
+	</messages>
+</event>
\ No newline at end of file
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 d198e63eb65ca4734ac19e598aedcfa4e90f5836..80a147d7bc7727c72e559c415847697dc56520eb 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
@@ -14,10 +14,9 @@
  */
 package events.TheValentineEvent;
 
-import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.event.LongTimeEvent;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.quest.State;
 
@@ -25,66 +24,17 @@ import com.l2jserver.gameserver.model.quest.State;
  * The Valentine Event event AI.
  * @author Gnacik
  */
-public class TheValentineEvent extends Quest
+public class TheValentineEvent extends LongTimeEvent
 {
 	private static final int _npc = 4301;
 	private static final int _recipe = 20191;
-	
-	private static final Location[] _spawns =
-	{
-		new Location(87792, -142240, -1343, 44000),
-		new Location(87616, -140688, -1542, 16500),
-		new Location(114733, -178691, -821, 0),
-		new Location(115708, -182362, -1449, 0),
-		new Location(-44337, -113669, -224, 0),
-		new Location(-44628, -115409, -240, 22500),
-		new Location(-13073, 122801, -3117, 0),
-		new Location(-13949, 121934, -2988, 32768),
-		new Location(-14822, 123708, -3117, 8192),
-		new Location(-80762, 151118, -3043, 28672),
-		new Location(-84049, 150176, -3129, 4096),
-		new Location(-82623, 151666, -3129, 49152),
-		new Location(-84516, 242971, -3730, 34000),
-		new Location(-86003, 243205, -3730, 60000),
-		new Location(11281, 15652, -4584, 25000),
-		new Location(11303, 17732, -4574, 57344),
-		new Location(47151, 49436, -3059, 32000),
-		new Location(79806, 55570, -1560, 0),
-		new Location(83328, 55824, -1525, 32768),
-		new Location(80986, 54504, -1525, 32768),
-		new Location(18178, 145149, -3054, 7400),
-		new Location(19208, 144380, -3097, 32768),
-		new Location(19508, 145775, -3086, 48000),
-		new Location(17396, 170259, -3507, 30000),
-		new Location(83332, 149160, -3405, 49152),
-		new Location(82277, 148598, -3467, 0),
-		new Location(81621, 148725, -3467, 32768),
-		new Location(81680, 145656, -3533, 32768),
-		new Location(117498, 76630, -2695, 38000),
-		new Location(115914, 76449, -2711, 59000),
-		new Location(119536, 76988, -2275, 40960),
-		new Location(147120, 27312, -2192, 40960),
-		new Location(147920, 25664, -2000, 16384),
-		new Location(111776, 221104, -3543, 16384),
-		new Location(107904, 218096, -3675, 0),
-		new Location(114920, 220020, -3632, 32768),
-		new Location(147888, -58048, -2979, 49000),
-		new Location(147285, -56461, -2776, 11500),
-		new Location(44176, -48732, -800, 33000),
-		new Location(44294, -47642, -792, 50000),
-		new Location(-116677, 46824, 360, 34828)
-	};
-	
+
 	public TheValentineEvent(int questId, String name, String descr)
 	{
 		super(questId, name, descr);
 		addStartNpc(_npc);
 		addFirstTalkId(_npc);
 		addTalkId(_npc);
-		for (Location loc : _spawns)
-		{
-			addSpawn(_npc, loc, false, 0);
-		}
 	}
 	
 	@Override
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
new file mode 100644
index 0000000000000000000000000000000000000000..25876975eb2f8707b3ac7e5c8968edbbdc54ea91
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/config.xml
@@ -0,0 +1,54 @@
+<event name="Valentine Event" active="15 12 2001-16 12 2001">
+	<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 -->
+		<add item="20194" min="1" max="1" chance="5%" /> <!-- Valentine Fresh Cream -->
+	</droplist>
+	<spawnlist>
+		<add npc="4301" x="87792" y="-142240" z="-1343" heading="44000" />
+		<add npc="4301" x="87616" y="-140688" z="-1542" heading="16500" />
+		<add npc="4301" x="114733" y="-178691" z="-821" heading="0" />
+		<add npc="4301" x="115708" y="-182362" z="-1449" heading="0" />
+		<add npc="4301" x="-44337" y="-113669" z="-224" heading="0" />
+		<add npc="4301" x="-44628" y="-115409" z="-240" heading="22500" />
+		<add npc="4301" x="-13073" y="122801" z="-3117" heading="0" />
+		<add npc="4301" x="-13949" y="121934" z="-2988" heading="32768" />
+		<add npc="4301" x="-14822" y="123708" z="-3117" heading="8192" />
+		<add npc="4301" x="-80762" y="151118" z="-3043" heading="28672" />
+		<add npc="4301" x="-84049" y="150176" z="-3129" heading="4096" />
+		<add npc="4301" x="-82623" y="151666" z="-3129" heading="49152" />
+		<add npc="4301" x="-84516" y="242971" z="-3730" heading="34000" />
+		<add npc="4301" x="-86003" y="243205" z="-3730" heading="60000" />
+		<add npc="4301" x="11281" y="15652" z="-4584" heading="25000" />
+		<add npc="4301" x="11303" y="17732" z="-4574" heading="57344" />
+		<add npc="4301" x="47151" y="49436" z="-3059" heading="32000" />
+		<add npc="4301" x="79806" y="55570" z="-1560" heading="0" />
+		<add npc="4301" x="83328" y="55824" z="-1525" heading="32768" />
+		<add npc="4301" x="80986" y="54504" z="-1525" heading="32768" />
+		<add npc="4301" x="18178" y="145149" z="-3054" heading="7400" />
+		<add npc="4301" x="19208" y="144380" z="-3097" heading="32768" />
+		<add npc="4301" x="19508" y="145775" z="-3086" heading="48000" />
+		<add npc="4301" x="17396" y="170259" z="-3507" heading="30000" />
+		<add npc="4301" x="83332" y="149160" z="-3405" heading="49152" />
+		<add npc="4301" x="82277" y="148598" z="-3467" heading="0" />
+		<add npc="4301" x="81621" y="148725" z="-3467" heading="32768" />
+		<add npc="4301" x="81680" y="145656" z="-3533" heading="32768" />
+		<add npc="4301" x="117498" y="76630" z="-2695" heading="38000" />
+		<add npc="4301" x="115914" y="76449" z="-2711" heading="59000" />
+		<add npc="4301" x="119536" y="76988" z="-2275" heading="40960" />
+		<add npc="4301" x="147120" y="27312" z="-2192" heading="40960" />
+		<add npc="4301" x="147920" y="25664" z="-2000" heading="16384" />
+		<add npc="4301" x="111776" y="221104" z="-3543" heading="16384" />
+		<add npc="4301" x="107904" y="218096" z="-3675" heading="0" />
+		<add npc="4301" x="114920" y="220020" z="-3632" heading="32768" />
+		<add npc="4301" x="147888" y="-58048" z="-2979" heading="49000" />
+		<add npc="4301" x="147285" y="-56461" z="-2776" heading="11500" />
+		<add npc="4301" x="44176" y="-48732" z="-800" heading="33000" />
+		<add npc="4301" x="44294" y="-47642" z="-792" heading="50000" />
+		<add npc="4301" x="-116677" y="46824" z="360" heading="34828" />
+	</spawnlist>
+	<messages>
+		<add type="onEnd" text="The Valentine Event end!" />
+		<add type="onEnter" text="Valentine's Event is currently active. Collect all items and make your Valentine Cake!" />
+	</messages>
+</event>
\ No newline at end of file