Răsfoiți Sursa

Moving "saga quests" to proper folder to keep same style as most quests.

Zoey76 10 ani în urmă
părinte
comite
731ac2087b
37 a modificat fișierele cu 365 adăugiri și 289 ștergeri
  1. 0 1
      L2J_DataPack/dist/game/data/scripts.cfg
  2. 59 118
      L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java
  3. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00067_SagaOfTheDoombringer/Q00067_SagaOfTheDoombringer.java
  4. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00068_SagaOfTheSoulHound/Q00068_SagaOfTheSoulHound.java
  5. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00069_SagaOfTheTrickster/Q00069_SagaOfTheTrickster.java
  6. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/Q00070_SagaOfThePhoenixKnight.java
  7. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/Q00071_SagaOfEvasTemplar.java
  8. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/Q00072_SagaOfTheSwordMuse.java
  9. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
  10. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/Q00074_SagaOfTheDreadnought.java
  11. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/Q00075_SagaOfTheTitan.java
  12. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/Q00076_SagaOfTheGrandKhavatari.java
  13. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/Q00077_SagaOfTheDominator.java
  14. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/Q00078_SagaOfTheDoomcryer.java
  15. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/Q00079_SagaOfTheAdventurer.java
  16. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/Q00080_SagaOfTheWindRider.java
  17. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/Q00081_SagaOfTheGhostHunter.java
  18. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/Q00082_SagaOfTheSagittarius.java
  19. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/Q00083_SagaOfTheMoonlightSentinel.java
  20. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/Q00084_SagaOfTheGhostSentinel.java
  21. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/Q00085_SagaOfTheCardinal.java
  22. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/Q00086_SagaOfTheHierophant.java
  23. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/Q00087_SagaOfEvasSaint.java
  24. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/Q00088_SagaOfTheArchmage.java
  25. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/Q00089_SagaOfTheMysticMuse.java
  26. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/Q00090_SagaOfTheStormScreamer.java
  27. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/Q00091_SagaOfTheArcanaLord.java
  28. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/Q00092_SagaOfTheElementalMaster.java
  29. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/Q00093_SagaOfTheSpectralMaster.java
  30. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/Q00094_SagaOfTheSoultaker.java
  31. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/Q00095_SagaOfTheHellKnight.java
  32. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/Q00096_SagaOfTheSpectralDancer.java
  33. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/Q00097_SagaOfTheShillienTemplar.java
  34. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/Q00098_SagaOfTheShillienSaint.java
  35. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/Q00099_SagaOfTheFortuneSeeker.java
  36. 7 5
      L2J_DataPack/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/Q00100_SagaOfTheMaestro.java
  37. 68 0
      L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java

+ 0 - 1
L2J_DataPack/dist/game/data/scripts.cfg

@@ -205,7 +205,6 @@ hellbound/HellboundLoader.java
 
 # Quests Section
 quests/QuestMasterHandler.java
-quests/SagasScripts/SagasSuperClass.java
 quests/TerritoryWarScripts/TerritoryWarSuperClass.java
 quests/22_TragedyInVonHellmannForest/__init__.py
 quests/23_LidiasHeart/__init__.py

+ 59 - 118
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagasSuperClass.java → L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java

@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -25,7 +25,6 @@ import java.util.Map;
 
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.ai.CtrlIntention;
-import com.l2jserver.gameserver.instancemanager.QuestManager;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.L2World;
@@ -41,20 +40,19 @@ import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
 import com.l2jserver.gameserver.network.serverpackets.NpcSay;
 
 /**
- * Saga quests superclass.
+ * Abstract Saga quest.
  * @author Kerberos
  */
-public class SagasSuperClass extends Quest
+public abstract class AbstractSagaQuest extends Quest
 {
-	private static List<Quest> _scripts = new ArrayList<>();
-	public int[] NPC = {};
-	public int[] Items = {};
-	public int[] Mob = {};
-	public int[] classid = {};
-	public int[] prevclass = {};
-	public Location[] npcSpawnLocations = {};
-	public String[] Text = {};
-	private static final Map<L2Npc, Integer> _spawnList = new HashMap<>();
+	protected int[] _npc;
+	protected int[] Items;
+	protected int[] Mob;
+	protected int[] classid;
+	protected int[] prevclass;
+	protected Location[] npcSpawnLocations;
+	protected String[] Text;
+	private static final Map<L2Npc, Integer> SPAWN_LIST = new HashMap<>();
 	// @formatter:off
 	private static int[][] QuestClass =
 	{
@@ -66,9 +64,9 @@ public class SagasSuperClass extends Quest
 	};
 	// @formatter:on
 	
-	public SagasSuperClass(int id, String name, String descr)
+	public AbstractSagaQuest(int questId, String name, String descr)
 	{
-		super(id, name, descr);
+		super(questId, name, descr);
 	}
 	
 	private QuestState findQuest(L2PcInstance player)
@@ -98,9 +96,9 @@ public class SagasSuperClass extends Quest
 	{
 		L2PcInstance player = null;
 		QuestState st = null;
-		if (_spawnList.containsKey(npc))
+		if (SPAWN_LIST.containsKey(npc))
 		{
-			player = L2World.getInstance().getPlayer(_spawnList.get(npc));
+			player = L2World.getInstance().getPlayer(SPAWN_LIST.get(npc));
 			if (player != null)
 			{
 				st = player.getQuestState(getName());
@@ -327,7 +325,7 @@ public class SagasSuperClass extends Quest
 					if (st.getInt("Quest0") == 0)
 					{
 						L2Npc Mob_3 = addSpawn(Mob[2], npcSpawnLocations[1], false, 0);
-						L2Npc Mob_2 = addSpawn(NPC[4], npcSpawnLocations[2], false, 0);
+						L2Npc Mob_2 = addSpawn(_npc[4], npcSpawnLocations[2], false, 0);
 						addSpawn(st, Mob_3);
 						addSpawn(st, Mob_2);
 						st.set("Mob_2", String.valueOf(Mob_2.getObjectId()));
@@ -489,7 +487,7 @@ public class SagasSuperClass extends Quest
 		int npcId = npc.getId();
 		if (st != null)
 		{
-			if (npcId == NPC[4])
+			if (npcId == _npc[4])
 			{
 				int cond = st.getCond();
 				if (cond == 17)
@@ -716,9 +714,9 @@ public class SagasSuperClass extends Quest
 	@Override
 	public String onSkillSee(L2Npc npc, L2PcInstance player, Skill skill, L2Object[] targets, boolean isSummon)
 	{
-		if (_spawnList.containsKey(npc) && (_spawnList.get(npc) != player.getObjectId()))
+		if (SPAWN_LIST.containsKey(npc) && (SPAWN_LIST.get(npc) != player.getObjectId()))
 		{
-			L2PcInstance quest_player = (L2PcInstance) L2World.getInstance().findObject(_spawnList.get(npc));
+			L2PcInstance quest_player = (L2PcInstance) L2World.getInstance().findObject(SPAWN_LIST.get(npc));
 			if (quest_player == null)
 			{
 				return null;
@@ -751,7 +749,7 @@ public class SagasSuperClass extends Quest
 		if (st != null)
 		{
 			int npcId = npc.getId();
-			if ((npcId == NPC[0]) && st.isCompleted())
+			if ((npcId == _npc[0]) && st.isCompleted())
 			{
 				htmltext = getAlreadyCompletedMsg(player);
 			}
@@ -760,33 +758,33 @@ public class SagasSuperClass extends Quest
 				switch (st.getCond())
 				{
 					case 0:
-						if (npcId == NPC[0])
+						if (npcId == _npc[0])
 						{
 							htmltext = "0-01.htm";
 						}
 						break;
 					case 1:
-						if (npcId == NPC[0])
+						if (npcId == _npc[0])
 						{
 							htmltext = "0-04.htm";
 						}
-						else if (npcId == NPC[2])
+						else if (npcId == _npc[2])
 						{
 							htmltext = "2-01.htm";
 						}
 						break;
 					case 2:
-						if (npcId == NPC[2])
+						if (npcId == _npc[2])
 						{
 							htmltext = "2-02.htm";
 						}
-						else if (npcId == NPC[1])
+						else if (npcId == _npc[1])
 						{
 							htmltext = "1-01.htm";
 						}
 						break;
 					case 3:
-						if ((npcId == NPC[1]) && hasQuestItems(player, Items[0]))
+						if ((npcId == _npc[1]) && hasQuestItems(player, Items[0]))
 						{
 							if ((Items[11] == 0) || hasQuestItems(player, Items[11]))
 							{
@@ -799,70 +797,70 @@ public class SagasSuperClass extends Quest
 						}
 						break;
 					case 4:
-						if (npcId == NPC[1])
+						if (npcId == _npc[1])
 						{
 							htmltext = "1-04.htm";
 						}
-						else if (npcId == NPC[2])
+						else if (npcId == _npc[2])
 						{
 							htmltext = "2-03.htm";
 						}
 						break;
 					case 5:
-						if (npcId == NPC[2])
+						if (npcId == _npc[2])
 						{
 							htmltext = "2-04.htm";
 						}
-						else if (npcId == NPC[5])
+						else if (npcId == _npc[5])
 						{
 							htmltext = "5-01.htm";
 						}
 						break;
 					case 6:
-						if (npcId == NPC[5])
+						if (npcId == _npc[5])
 						{
 							htmltext = "5-03.htm";
 						}
-						else if (npcId == NPC[6])
+						else if (npcId == _npc[6])
 						{
 							htmltext = "6-01.htm";
 						}
 						break;
 					case 7:
-						if (npcId == NPC[6])
+						if (npcId == _npc[6])
 						{
 							htmltext = "6-02.htm";
 						}
 						break;
 					case 8:
-						if (npcId == NPC[6])
+						if (npcId == _npc[6])
 						{
 							htmltext = "6-04.htm";
 						}
-						else if (npcId == NPC[7])
+						else if (npcId == _npc[7])
 						{
 							htmltext = "7-01.htm";
 						}
 						break;
 					case 9:
-						if (npcId == NPC[7])
+						if (npcId == _npc[7])
 						{
 							htmltext = "7-05.htm";
 						}
 						break;
 					case 10:
-						if (npcId == NPC[7])
+						if (npcId == _npc[7])
 						{
 							htmltext = "7-07.htm";
 						}
-						else if (npcId == NPC[3])
+						else if (npcId == _npc[3])
 						{
 							htmltext = "3-01.htm";
 						}
 						break;
 					case 11:
 					case 12:
-						if (npcId == NPC[3])
+						if (npcId == _npc[3])
 						{
 							if (hasQuestItems(player, Items[2]))
 							{
@@ -875,69 +873,69 @@ public class SagasSuperClass extends Quest
 						}
 						break;
 					case 13:
-						if (npcId == NPC[3])
+						if (npcId == _npc[3])
 						{
 							htmltext = "3-06.htm";
 						}
-						else if (npcId == NPC[8])
+						else if (npcId == _npc[8])
 						{
 							htmltext = "8-01.htm";
 						}
 						break;
 					case 14:
-						if (npcId == NPC[8])
+						if (npcId == _npc[8])
 						{
 							htmltext = "8-03.htm";
 						}
-						else if (npcId == NPC[11])
+						else if (npcId == _npc[11])
 						{
 							htmltext = "11-01.htm";
 						}
 						break;
 					case 15:
-						if (npcId == NPC[11])
+						if (npcId == _npc[11])
 						{
 							htmltext = "11-02.htm";
 						}
-						else if (npcId == NPC[9])
+						else if (npcId == _npc[9])
 						{
 							htmltext = "9-01.htm";
 						}
 						break;
 					case 16:
-						if (npcId == NPC[9])
+						if (npcId == _npc[9])
 						{
 							htmltext = "9-02.htm";
 						}
 						break;
 					case 17:
-						if (npcId == NPC[9])
+						if (npcId == _npc[9])
 						{
 							htmltext = "9-04.htm";
 						}
-						else if (npcId == NPC[10])
+						else if (npcId == _npc[10])
 						{
 							htmltext = "10-01.htm";
 						}
 						break;
 					case 18:
-						if (npcId == NPC[10])
+						if (npcId == _npc[10])
 						{
 							htmltext = "10-05.htm";
 						}
 						break;
 					case 19:
-						if (npcId == NPC[10])
+						if (npcId == _npc[10])
 						{
 							htmltext = "10-07.htm";
 						}
-						else if (npcId == NPC[0])
+						else if (npcId == _npc[0])
 						{
 							htmltext = "0-06.htm";
 						}
 						break;
 					case 20:
-						if (npcId == NPC[0])
+						if (npcId == _npc[0])
 						{
 							if (player.getLevel() >= 76)
 							{
@@ -973,11 +971,11 @@ public class SagasSuperClass extends Quest
 	
 	public void registerNPCs()
 	{
-		addStartNpc(NPC[0]);
+		addStartNpc(_npc[0]);
 		addAttackId(Mob[2], Mob[1]);
 		addSkillSeeId(Mob[1]);
-		addFirstTalkId(NPC[4]);
-		addTalkId(NPC);
+		addFirstTalkId(_npc[4]);
+		addTalkId(_npc);
 		addKillId(Mob);
 		final int[] questItemIds = Items.clone();
 		questItemIds[0] = 0;
@@ -1002,24 +1000,9 @@ public class SagasSuperClass extends Quest
 		}
 	}
 	
-	@Override
-	public boolean unload()
-	{
-		for (Quest script : _scripts)
-		{
-			if (script == null)
-			{
-				continue;
-			}
-			QuestManager.getInstance().removeScript(script);
-		}
-		_scripts.clear();
-		return super.unload();
-	}
-	
 	private static void addSpawn(QuestState st, L2Npc mob)
 	{
-		_spawnList.put(mob, st.getPlayer().getObjectId());
+		SPAWN_LIST.put(mob, st.getPlayer().getObjectId());
 	}
 	
 	private static void autoChat(L2Npc npc, String text)
@@ -1035,61 +1018,19 @@ public class SagasSuperClass extends Quest
 	
 	private static void DeleteSpawn(QuestState st, L2Npc npc)
 	{
-		if (_spawnList.containsKey(npc))
+		if (SPAWN_LIST.containsKey(npc))
 		{
-			_spawnList.remove(npc);
+			SPAWN_LIST.remove(npc);
 			npc.deleteMe();
 		}
 	}
 	
 	private static L2Npc FindSpawn(L2PcInstance player, L2Npc npc)
 	{
-		if (_spawnList.containsKey(npc) && (_spawnList.get(npc) == player.getObjectId()))
+		if (SPAWN_LIST.containsKey(npc) && (SPAWN_LIST.get(npc) == player.getObjectId()))
 		{
 			return npc;
 		}
 		return null;
 	}
-	
-	public static void main(String[] args)
-	{
-		// initialize superclass
-		new SagasSuperClass(-1, SagasSuperClass.class.getSimpleName(), "Saga's SuperClass");
-		
-		// initialize subclasses
-		_scripts.add(new SagaOfEvasSaint());
-		_scripts.add(new SagaOfEvasTemplar());
-		_scripts.add(new SagaOfTheAdventurer());
-		_scripts.add(new SagaOfTheArcanaLord());
-		_scripts.add(new SagaOfTheArchmage());
-		_scripts.add(new SagaOfTheCardinal());
-		_scripts.add(new SagaOfTheDominator());
-		_scripts.add(new SagaOfTheDoombringer());
-		_scripts.add(new SagaOfTheDoomcryer());
-		_scripts.add(new SagaOfTheDreadnought());
-		_scripts.add(new SagaOfTheDuelist());
-		_scripts.add(new SagaOfTheElementalMaster());
-		_scripts.add(new SagaOfTheFortuneSeeker());
-		_scripts.add(new SagaOfTheGhostHunter());
-		_scripts.add(new SagaOfTheGhostSentinel());
-		_scripts.add(new SagaOfTheGrandKhavatari());
-		_scripts.add(new SagaOfTheHellKnight());
-		_scripts.add(new SagaOfTheHierophant());
-		_scripts.add(new SagaOfTheMaestro());
-		_scripts.add(new SagaOfTheMoonlightSentinel());
-		_scripts.add(new SagaOfTheMysticMuse());
-		_scripts.add(new SagaOfThePhoenixKnight());
-		_scripts.add(new SagaOfTheSagittarius());
-		_scripts.add(new SagaOfTheShillienSaint());
-		_scripts.add(new SagaOfTheShillienTemplar());
-		_scripts.add(new SagaOfTheSoulHound());
-		_scripts.add(new SagaOfTheSoultaker());
-		_scripts.add(new SagaOfTheSpectralDancer());
-		_scripts.add(new SagaOfTheSpectralMaster());
-		_scripts.add(new SagaOfTheStormScreamer());
-		_scripts.add(new SagaOfTheSwordMuse());
-		_scripts.add(new SagaOfTheTitan());
-		_scripts.add(new SagaOfTheTrickster());
-		_scripts.add(new SagaOfTheWindRider());
-	}
 }

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDoombringer.java → L2J_DataPack/dist/game/data/scripts/quests/Q00067_SagaOfTheDoombringer/Q00067_SagaOfTheDoombringer.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00067_SagaOfTheDoombringer;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Doombringer (67)
  * @author Emperorc
  */
-public class SagaOfTheDoombringer extends SagasSuperClass
+public final class Q00067_SagaOfTheDoombringer extends AbstractSagaQuest
 {
-	public SagaOfTheDoombringer()
+	public Q00067_SagaOfTheDoombringer()
 	{
-		super(67, "Q00067_SagaOfTheDoombringer", "Saga of the Doombringer");
-		NPC = new int[]
+		super(67, Q00067_SagaOfTheDoombringer.class.getSimpleName(), "Saga of the Doombringer");
+		_npc = new int[]
 		{
 			32138,
 			31627,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheSoulHound.java → L2J_DataPack/dist/game/data/scripts/quests/Q00068_SagaOfTheSoulHound/Q00068_SagaOfTheSoulHound.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00068_SagaOfTheSoulHound;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Soul Hound (68)
  * @author Emperorc
  */
-public class SagaOfTheSoulHound extends SagasSuperClass
+public class Q00068_SagaOfTheSoulHound extends AbstractSagaQuest
 {
-	public SagaOfTheSoulHound()
+	public Q00068_SagaOfTheSoulHound()
 	{
-		super(68, "Q00068_SagaOfTheSoulHound", "Saga of the Soul Hound");
-		NPC = new int[]
+		super(68, Q00068_SagaOfTheSoulHound.class.getSimpleName(), "Saga of the Soul Hound");
+		_npc = new int[]
 		{
 			32138,
 			31272,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheTrickster.java → L2J_DataPack/dist/game/data/scripts/quests/Q00069_SagaOfTheTrickster/Q00069_SagaOfTheTrickster.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00069_SagaOfTheTrickster;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Trickster (69)
  * @author Emperorc
  */
-public class SagaOfTheTrickster extends SagasSuperClass
+public class Q00069_SagaOfTheTrickster extends AbstractSagaQuest
 {
-	public SagaOfTheTrickster()
+	public Q00069_SagaOfTheTrickster()
 	{
-		super(69, "Q00069_SagaOfTheTrickster", "Saga of the Trickster");
-		NPC = new int[]
+		super(69, Q00069_SagaOfTheTrickster.class.getSimpleName(), "Saga of the Trickster");
+		_npc = new int[]
 		{
 			32138,
 			31270,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfThePhoenixKnight.java → L2J_DataPack/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/Q00070_SagaOfThePhoenixKnight.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00070_SagaOfThePhoenixKnight;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Phoenix Knight (70)
  * @author Emperorc
  */
-public class SagaOfThePhoenixKnight extends SagasSuperClass
+public class Q00070_SagaOfThePhoenixKnight extends AbstractSagaQuest
 {
-	public SagaOfThePhoenixKnight()
+	public Q00070_SagaOfThePhoenixKnight()
 	{
-		super(70, "Q00070_SagaOfThePhoenixKnight", "Saga of the Phoenix Knight");
-		NPC = new int[]
+		super(70, Q00070_SagaOfThePhoenixKnight.class.getSimpleName(), "Saga of the Phoenix Knight");
+		_npc = new int[]
 		{
 			30849,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfEvasTemplar.java → L2J_DataPack/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/Q00071_SagaOfEvasTemplar.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00071_SagaOfEvasTemplar;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of Eva's Templar (71)
  * @author Emperorc
  */
-public class SagaOfEvasTemplar extends SagasSuperClass
+public class Q00071_SagaOfEvasTemplar extends AbstractSagaQuest
 {
-	public SagaOfEvasTemplar()
+	public Q00071_SagaOfEvasTemplar()
 	{
-		super(71, "Q00071_SagaOfEvasTemplar", "Saga of Eva's Templar");
-		NPC = new int[]
+		super(71, Q00071_SagaOfEvasTemplar.class.getSimpleName(), "Saga of Eva's Templar");
+		_npc = new int[]
 		{
 			30852,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheSwordMuse.java → L2J_DataPack/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/Q00072_SagaOfTheSwordMuse.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00072_SagaOfTheSwordMuse;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Sword Muse (72)
  * @author Emperorc
  */
-public class SagaOfTheSwordMuse extends SagasSuperClass
+public class Q00072_SagaOfTheSwordMuse extends AbstractSagaQuest
 {
-	public SagaOfTheSwordMuse()
+	public Q00072_SagaOfTheSwordMuse()
 	{
-		super(72, "Q00072_SagaOfTheSwordMuse", "Saga of the Sword Muse");
-		NPC = new int[]
+		super(72, Q00072_SagaOfTheSwordMuse.class.getSimpleName(), "Saga of the Sword Muse");
+		_npc = new int[]
 		{
 			30853,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDuelist.java → L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00073_SagaOfTheDuelist;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
@@ -27,7 +29,7 @@ import com.l2jserver.gameserver.model.quest.QuestState;
  * Saga of the Duelist (73)
  * @author Emperorc
  */
-public class SagaOfTheDuelist extends SagasSuperClass
+public class Q00073_SagaOfTheDuelist extends AbstractSagaQuest
 {
 	/**
 	 * Third Class Transfer Quest - Duelist: The quest asks for "Top-grade Meat" which can now be acquired directly through NPC Tunatun, instead of through an additional quest from NPC Tunatun.
@@ -35,10 +37,10 @@ public class SagaOfTheDuelist extends SagasSuperClass
 	private final int TUNATUN = 31537;
 	private final int TOPQUALITYMEAT = 7546;
 	
-	public SagaOfTheDuelist()
+	public Q00073_SagaOfTheDuelist()
 	{
-		super(73, "Q00073_SagaOfTheDuelist", "Saga of the Duelist");
-		NPC = new int[]
+		super(73, Q00073_SagaOfTheDuelist.class.getSimpleName(), "Saga of the Duelist");
+		_npc = new int[]
 		{
 			30849,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDreadnought.java → L2J_DataPack/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/Q00074_SagaOfTheDreadnought.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00074_SagaOfTheDreadnought;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Dreadnought (74)
  * @author Emperorc
  */
-public class SagaOfTheDreadnought extends SagasSuperClass
+public class Q00074_SagaOfTheDreadnought extends AbstractSagaQuest
 {
-	public SagaOfTheDreadnought()
+	public Q00074_SagaOfTheDreadnought()
 	{
-		super(74, "Q00074_SagaOfTheDreadnought", "Saga of the Dreadnought");
-		NPC = new int[]
+		super(74, Q00074_SagaOfTheDreadnought.class.getSimpleName(), "Saga of the Dreadnought");
+		_npc = new int[]
 		{
 			30850,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheTitan.java → L2J_DataPack/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/Q00075_SagaOfTheTitan.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00075_SagaOfTheTitan;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Titan (75)
  * @author Emperorc
  */
-public class SagaOfTheTitan extends SagasSuperClass
+public class Q00075_SagaOfTheTitan extends AbstractSagaQuest
 {
-	public SagaOfTheTitan()
+	public Q00075_SagaOfTheTitan()
 	{
-		super(75, "Q00075_SagaOfTheTitan", "Saga of the Titan");
-		NPC = new int[]
+		super(75, Q00075_SagaOfTheTitan.class.getSimpleName(), "Saga of the Titan");
+		_npc = new int[]
 		{
 			31327,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheGrandKhavatari.java → L2J_DataPack/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/Q00076_SagaOfTheGrandKhavatari.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00076_SagaOfTheGrandKhavatari;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Grand Khavatari (76)
  * @author Emperorc
  */
-public class SagaOfTheGrandKhavatari extends SagasSuperClass
+public class Q00076_SagaOfTheGrandKhavatari extends AbstractSagaQuest
 {
-	public SagaOfTheGrandKhavatari()
+	public Q00076_SagaOfTheGrandKhavatari()
 	{
-		super(76, "Q00076_SagaOfTheGrandKhavatari", "Saga of the Grand Khavatari");
-		NPC = new int[]
+		super(76, Q00076_SagaOfTheGrandKhavatari.class.getSimpleName(), "Saga of the Grand Khavatari");
+		_npc = new int[]
 		{
 			31339,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDominator.java → L2J_DataPack/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/Q00077_SagaOfTheDominator.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00077_SagaOfTheDominator;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Dominator (77)
  * @author Emperorc
  */
-public class SagaOfTheDominator extends SagasSuperClass
+public class Q00077_SagaOfTheDominator extends AbstractSagaQuest
 {
-	public SagaOfTheDominator()
+	public Q00077_SagaOfTheDominator()
 	{
-		super(77, "Q00077_SagaOfTheDominator", "Saga of the Dominator");
-		NPC = new int[]
+		super(77, Q00077_SagaOfTheDominator.class.getSimpleName(), "Saga of the Dominator");
+		_npc = new int[]
 		{
 			31336,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDoomcryer.java → L2J_DataPack/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/Q00078_SagaOfTheDoomcryer.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00078_SagaOfTheDoomcryer;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Doomcryer (78)
  * @author Emperorc
  */
-public class SagaOfTheDoomcryer extends SagasSuperClass
+public class Q00078_SagaOfTheDoomcryer extends AbstractSagaQuest
 {
-	public SagaOfTheDoomcryer()
+	public Q00078_SagaOfTheDoomcryer()
 	{
-		super(78, "Q00078_SagaOfTheDoomcryer", "Saga of the Doomcryer");
-		NPC = new int[]
+		super(78, Q00078_SagaOfTheDoomcryer.class.getSimpleName(), "Saga of the Doomcryer");
+		_npc = new int[]
 		{
 			31336,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheAdventurer.java → L2J_DataPack/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/Q00079_SagaOfTheAdventurer.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00079_SagaOfTheAdventurer;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Adventurer (79)
  * @author Emperorc
  */
-public class SagaOfTheAdventurer extends SagasSuperClass
+public class Q00079_SagaOfTheAdventurer extends AbstractSagaQuest
 {
-	public SagaOfTheAdventurer()
+	public Q00079_SagaOfTheAdventurer()
 	{
-		super(79, "Q00079_SagaOfTheAdventurer", "Saga of the Adventurer");
-		NPC = new int[]
+		super(79, Q00079_SagaOfTheAdventurer.class.getSimpleName(), "Saga of the Adventurer");
+		_npc = new int[]
 		{
 			31603,
 			31584,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheWindRider.java → L2J_DataPack/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/Q00080_SagaOfTheWindRider.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00080_SagaOfTheWindRider;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Wind Rider (80)
  * @author Emperorc
  */
-public class SagaOfTheWindRider extends SagasSuperClass
+public class Q00080_SagaOfTheWindRider extends AbstractSagaQuest
 {
-	public SagaOfTheWindRider()
+	public Q00080_SagaOfTheWindRider()
 	{
-		super(80, "Q00080_SagaOfTheWindRider", "Saga of the Wind Rider");
-		NPC = new int[]
+		super(80, Q00080_SagaOfTheWindRider.class.getSimpleName(), "Saga of the Wind Rider");
+		_npc = new int[]
 		{
 			31603,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheGhostHunter.java → L2J_DataPack/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/Q00081_SagaOfTheGhostHunter.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00081_SagaOfTheGhostHunter;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Ghost Hunter (81)
  * @author Emperorc
  */
-public class SagaOfTheGhostHunter extends SagasSuperClass
+public class Q00081_SagaOfTheGhostHunter extends AbstractSagaQuest
 {
-	public SagaOfTheGhostHunter()
+	public Q00081_SagaOfTheGhostHunter()
 	{
-		super(81, "Q00081_SagaOfTheGhostHunter", "Saga of the Ghost Hunter");
-		NPC = new int[]
+		super(81, Q00081_SagaOfTheGhostHunter.class.getSimpleName(), "Saga of the Ghost Hunter");
+		_npc = new int[]
 		{
 			31603,
 			31624,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheSagittarius.java → L2J_DataPack/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/Q00082_SagaOfTheSagittarius.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00082_SagaOfTheSagittarius;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Sagittarius (82)
  * @author Emperorc
  */
-public class SagaOfTheSagittarius extends SagasSuperClass
+public class Q00082_SagaOfTheSagittarius extends AbstractSagaQuest
 {
-	public SagaOfTheSagittarius()
+	public Q00082_SagaOfTheSagittarius()
 	{
-		super(82, "Q00082_SagaOfTheSagittarius", "Saga of the Sagittarius");
-		NPC = new int[]
+		super(82, Q00082_SagaOfTheSagittarius.class.getSimpleName(), "Saga of the Sagittarius");
+		_npc = new int[]
 		{
 			30702,
 			31627,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheMoonlightSentinel.java → L2J_DataPack/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/Q00083_SagaOfTheMoonlightSentinel.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00083_SagaOfTheMoonlightSentinel;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Moonlight Sentinel (83)
  * @author Emperorc
  */
-public class SagaOfTheMoonlightSentinel extends SagasSuperClass
+public class Q00083_SagaOfTheMoonlightSentinel extends AbstractSagaQuest
 {
-	public SagaOfTheMoonlightSentinel()
+	public Q00083_SagaOfTheMoonlightSentinel()
 	{
-		super(83, "Q00083_SagaOfTheMoonlightSentinel", "Saga of the Moonlight Sentinel");
-		NPC = new int[]
+		super(83, Q00083_SagaOfTheMoonlightSentinel.class.getSimpleName(), "Saga of the Moonlight Sentinel");
+		_npc = new int[]
 		{
 			30702,
 			31627,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheGhostSentinel.java → L2J_DataPack/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/Q00084_SagaOfTheGhostSentinel.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00084_SagaOfTheGhostSentinel;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Ghost Sentinel (84)
  * @author Emperorc
  */
-public class SagaOfTheGhostSentinel extends SagasSuperClass
+public class Q00084_SagaOfTheGhostSentinel extends AbstractSagaQuest
 {
-	public SagaOfTheGhostSentinel()
+	public Q00084_SagaOfTheGhostSentinel()
 	{
-		super(84, "Q00084_SagaOfTheGhostSentinel", "Saga of the Ghost Sentinel");
-		NPC = new int[]
+		super(84, Q00084_SagaOfTheGhostSentinel.class.getSimpleName(), "Saga of the Ghost Sentinel");
+		_npc = new int[]
 		{
 			30702,
 			31587,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheCardinal.java → L2J_DataPack/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/Q00085_SagaOfTheCardinal.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00085_SagaOfTheCardinal;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Cardinal (85)
  * @author Emperorc
  */
-public class SagaOfTheCardinal extends SagasSuperClass
+public class Q00085_SagaOfTheCardinal extends AbstractSagaQuest
 {
-	public SagaOfTheCardinal()
+	public Q00085_SagaOfTheCardinal()
 	{
-		super(85, "Q00085_SagaOfTheCardinal", "Saga of the Cardinal");
-		NPC = new int[]
+		super(85, Q00085_SagaOfTheCardinal.class.getSimpleName(), "Saga of the Cardinal");
+		_npc = new int[]
 		{
 			30191,
 			31626,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheHierophant.java → L2J_DataPack/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/Q00086_SagaOfTheHierophant.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00086_SagaOfTheHierophant;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Hierophant (86)
  * @author Emperorc
  */
-public class SagaOfTheHierophant extends SagasSuperClass
+public class Q00086_SagaOfTheHierophant extends AbstractSagaQuest
 {
-	public SagaOfTheHierophant()
+	public Q00086_SagaOfTheHierophant()
 	{
-		super(86, "Q00086_SagaOfTheHierophant", "Saga of the Hierophant");
-		NPC = new int[]
+		super(86, Q00086_SagaOfTheHierophant.class.getSimpleName(), "Saga of the Hierophant");
+		_npc = new int[]
 		{
 			30191,
 			31626,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfEvasSaint.java → L2J_DataPack/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/Q00087_SagaOfEvasSaint.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00087_SagaOfEvasSaint;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of Eva's Saint (87)
  * @author Emperorc
  */
-public class SagaOfEvasSaint extends SagasSuperClass
+public class Q00087_SagaOfEvasSaint extends AbstractSagaQuest
 {
-	public SagaOfEvasSaint()
+	public Q00087_SagaOfEvasSaint()
 	{
-		super(87, "Q00087_SagaOfEvasSaint", "Saga of Eva's Saint");
-		NPC = new int[]
+		super(87, Q00087_SagaOfEvasSaint.class.getSimpleName(), "Saga of Eva's Saint");
+		_npc = new int[]
 		{
 			30191,
 			31626,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheArchmage.java → L2J_DataPack/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/Q00088_SagaOfTheArchmage.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00088_SagaOfTheArchmage;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Archmage (88)
  * @author Emperorc
  */
-public class SagaOfTheArchmage extends SagasSuperClass
+public class Q00088_SagaOfTheArchmage extends AbstractSagaQuest
 {
-	public SagaOfTheArchmage()
+	public Q00088_SagaOfTheArchmage()
 	{
-		super(88, "Q00088_SagaOfTheArchmage", "Saga of the Archmage");
-		NPC = new int[]
+		super(88, Q00088_SagaOfTheArchmage.class.getSimpleName(), "Saga of the Archmage");
+		_npc = new int[]
 		{
 			30176,
 			31627,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheMysticMuse.java → L2J_DataPack/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/Q00089_SagaOfTheMysticMuse.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00089_SagaOfTheMysticMuse;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Mystic Muse (89)
  * @author Emperorc
  */
-public class SagaOfTheMysticMuse extends SagasSuperClass
+public class Q00089_SagaOfTheMysticMuse extends AbstractSagaQuest
 {
-	public SagaOfTheMysticMuse()
+	public Q00089_SagaOfTheMysticMuse()
 	{
-		super(89, "Q00089_SagaOfTheMysticMuse", "Saga of the Mystic Muse");
-		NPC = new int[]
+		super(89, Q00089_SagaOfTheMysticMuse.class.getSimpleName(), "Saga of the Mystic Muse");
+		_npc = new int[]
 		{
 			30174,
 			31627,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheStormScreamer.java → L2J_DataPack/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/Q00090_SagaOfTheStormScreamer.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00090_SagaOfTheStormScreamer;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Storm Screamer (90)
  * @author Emperorc
  */
-public class SagaOfTheStormScreamer extends SagasSuperClass
+public class Q00090_SagaOfTheStormScreamer extends AbstractSagaQuest
 {
-	public SagaOfTheStormScreamer()
+	public Q00090_SagaOfTheStormScreamer()
 	{
-		super(90, "Q00090_SagaOfTheStormScreamer", "Saga of the Storm Screamer");
-		NPC = new int[]
+		super(90, Q00090_SagaOfTheStormScreamer.class.getSimpleName(), "Saga of the Storm Screamer");
+		_npc = new int[]
 		{
 			30175,
 			31627,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheArcanaLord.java → L2J_DataPack/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/Q00091_SagaOfTheArcanaLord.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00091_SagaOfTheArcanaLord;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Arcana Lord (91)
  * @author Emperorc
  */
-public class SagaOfTheArcanaLord extends SagasSuperClass
+public class Q00091_SagaOfTheArcanaLord extends AbstractSagaQuest
 {
-	public SagaOfTheArcanaLord()
+	public Q00091_SagaOfTheArcanaLord()
 	{
-		super(91, "Q00091_SagaOfTheArcanaLord", "Saga of the Arcana Lord");
-		NPC = new int[]
+		super(91, Q00091_SagaOfTheArcanaLord.class.getSimpleName(), "Saga of the Arcana Lord");
+		_npc = new int[]
 		{
 			31605,
 			31622,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheElementalMaster.java → L2J_DataPack/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/Q00092_SagaOfTheElementalMaster.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00092_SagaOfTheElementalMaster;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Elemental Master (92)
  * @author Emperorc
  */
-public class SagaOfTheElementalMaster extends SagasSuperClass
+public class Q00092_SagaOfTheElementalMaster extends AbstractSagaQuest
 {
-	public SagaOfTheElementalMaster()
+	public Q00092_SagaOfTheElementalMaster()
 	{
-		super(92, "Q00092_SagaOfTheElementalMaster", "Saga of the Elemental Master");
-		NPC = new int[]
+		super(92, Q00092_SagaOfTheElementalMaster.class.getSimpleName(), "Saga of the Elemental Master");
+		_npc = new int[]
 		{
 			30174,
 			31281,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheSpectralMaster.java → L2J_DataPack/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/Q00093_SagaOfTheSpectralMaster.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00093_SagaOfTheSpectralMaster;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Spectral Master (93)
  * @author Emperorc
  */
-public class SagaOfTheSpectralMaster extends SagasSuperClass
+public class Q00093_SagaOfTheSpectralMaster extends AbstractSagaQuest
 {
-	public SagaOfTheSpectralMaster()
+	public Q00093_SagaOfTheSpectralMaster()
 	{
-		super(93, "Q00093_SagaOfTheSpectralMaster", "Saga of the Spectral Master");
-		NPC = new int[]
+		super(93, Q00093_SagaOfTheSpectralMaster.class.getSimpleName(), "Saga of the Spectral Master");
+		_npc = new int[]
 		{
 			30175,
 			31287,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheSoultaker.java → L2J_DataPack/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/Q00094_SagaOfTheSoultaker.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00094_SagaOfTheSoultaker;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Soultaker (94)
  * @author Emperorc
  */
-public class SagaOfTheSoultaker extends SagasSuperClass
+public class Q00094_SagaOfTheSoultaker extends AbstractSagaQuest
 {
-	public SagaOfTheSoultaker()
+	public Q00094_SagaOfTheSoultaker()
 	{
-		super(94, "Q00094_SagaOfTheSoultaker", "Saga of the Soultaker");
-		NPC = new int[]
+		super(94, Q00094_SagaOfTheSoultaker.class.getSimpleName(), "Saga of the Soultaker");
+		_npc = new int[]
 		{
 			30832,
 			31623,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheHellKnight.java → L2J_DataPack/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/Q00095_SagaOfTheHellKnight.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00095_SagaOfTheHellKnight;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Hell Knight (95)
  * @author Emperorc
  */
-public class SagaOfTheHellKnight extends SagasSuperClass
+public class Q00095_SagaOfTheHellKnight extends AbstractSagaQuest
 {
-	public SagaOfTheHellKnight()
+	public Q00095_SagaOfTheHellKnight()
 	{
-		super(95, "Q00095_SagaOfTheHellKnight", "Saga of the Hell Knight");
-		NPC = new int[]
+		super(95, Q00095_SagaOfTheHellKnight.class.getSimpleName(), "Saga of the Hell Knight");
+		_npc = new int[]
 		{
 			31582,
 			31623,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheSpectralDancer.java → L2J_DataPack/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/Q00096_SagaOfTheSpectralDancer.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00096_SagaOfTheSpectralDancer;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Spectral Dancer (96)
  * @author Emperorc
  */
-public class SagaOfTheSpectralDancer extends SagasSuperClass
+public class Q00096_SagaOfTheSpectralDancer extends AbstractSagaQuest
 {
-	public SagaOfTheSpectralDancer()
+	public Q00096_SagaOfTheSpectralDancer()
 	{
-		super(96, "Q00096_SagaOfTheSpectralDancer", "Saga of the Spectral Dancer");
-		NPC = new int[]
+		super(96, Q00096_SagaOfTheSpectralDancer.class.getSimpleName(), "Saga of the Spectral Dancer");
+		_npc = new int[]
 		{
 			31582,
 			31623,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheShillienTemplar.java → L2J_DataPack/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/Q00097_SagaOfTheShillienTemplar.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00097_SagaOfTheShillienTemplar;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Shillien Templar (97)
  * @author Emperorc
  */
-public class SagaOfTheShillienTemplar extends SagasSuperClass
+public class Q00097_SagaOfTheShillienTemplar extends AbstractSagaQuest
 {
-	public SagaOfTheShillienTemplar()
+	public Q00097_SagaOfTheShillienTemplar()
 	{
-		super(97, "Q00097_SagaOfTheShillienTemplar", "Saga of the Shillien Templar");
-		NPC = new int[]
+		super(97, Q00097_SagaOfTheShillienTemplar.class.getSimpleName(), "Saga of the Shillien Templar");
+		_npc = new int[]
 		{
 			31580,
 			31623,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheShillienSaint.java → L2J_DataPack/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/Q00098_SagaOfTheShillienSaint.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00098_SagaOfTheShillienSaint;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Shillien Saint (98)
  * @author Emperorc
  */
-public class SagaOfTheShillienSaint extends SagasSuperClass
+public class Q00098_SagaOfTheShillienSaint extends AbstractSagaQuest
 {
-	public SagaOfTheShillienSaint()
+	public Q00098_SagaOfTheShillienSaint()
 	{
-		super(98, "Q00098_SagaOfTheShillienSaint", "Saga of the Shillien Saint");
-		NPC = new int[]
+		super(98, Q00098_SagaOfTheShillienSaint.class.getSimpleName(), "Saga of the Shillien Saint");
+		_npc = new int[]
 		{
 			31581,
 			31626,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheFortuneSeeker.java → L2J_DataPack/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/Q00099_SagaOfTheFortuneSeeker.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00099_SagaOfTheFortuneSeeker;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Fortune Seeker (99)
  * @author Emperorc
  */
-public class SagaOfTheFortuneSeeker extends SagasSuperClass
+public class Q00099_SagaOfTheFortuneSeeker extends AbstractSagaQuest
 {
-	public SagaOfTheFortuneSeeker()
+	public Q00099_SagaOfTheFortuneSeeker()
 	{
-		super(99, "Q00099_SagaOfTheFortuneSeeker", "Saga of the Fortune Seeker");
-		NPC = new int[]
+		super(99, Q00099_SagaOfTheFortuneSeeker.class.getSimpleName(), "Saga of the Fortune Seeker");
+		_npc = new int[]
 		{
 			31594,
 			31623,

+ 7 - 5
L2J_DataPack/dist/game/data/scripts/quests/SagasScripts/SagaOfTheMaestro.java → L2J_DataPack/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/Q00100_SagaOfTheMaestro.java

@@ -16,7 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package quests.SagasScripts;
+package quests.Q00100_SagaOfTheMaestro;
+
+import quests.AbstractSagaQuest;
 
 import com.l2jserver.gameserver.model.Location;
 
@@ -24,12 +26,12 @@ import com.l2jserver.gameserver.model.Location;
  * Saga of the Maestro (100)
  * @author Emperorc
  */
-public class SagaOfTheMaestro extends SagasSuperClass
+public class Q00100_SagaOfTheMaestro extends AbstractSagaQuest
 {
-	public SagaOfTheMaestro()
+	public Q00100_SagaOfTheMaestro()
 	{
-		super(100, "Q00100_SagaOfTheMaestro", "Saga of the Maestro");
-		NPC = new int[]
+		super(100, Q00100_SagaOfTheMaestro.class.getSimpleName(), "Saga of the Maestro");
+		_npc = new int[]
 		{
 			31592,
 			31273,

+ 68 - 0
L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java

@@ -74,6 +74,40 @@ import quests.Q00061_LawEnforcement.Q00061_LawEnforcement;
 import quests.Q00062_PathOfTheTrooper.Q00062_PathOfTheTrooper;
 import quests.Q00063_PathOfTheWarder.Q00063_PathOfTheWarder;
 import quests.Q00064_CertifiedBerserker.Q00064_CertifiedBerserker;
+import quests.Q00067_SagaOfTheDoombringer.Q00067_SagaOfTheDoombringer;
+import quests.Q00068_SagaOfTheSoulHound.Q00068_SagaOfTheSoulHound;
+import quests.Q00069_SagaOfTheTrickster.Q00069_SagaOfTheTrickster;
+import quests.Q00070_SagaOfThePhoenixKnight.Q00070_SagaOfThePhoenixKnight;
+import quests.Q00071_SagaOfEvasTemplar.Q00071_SagaOfEvasTemplar;
+import quests.Q00072_SagaOfTheSwordMuse.Q00072_SagaOfTheSwordMuse;
+import quests.Q00073_SagaOfTheDuelist.Q00073_SagaOfTheDuelist;
+import quests.Q00074_SagaOfTheDreadnought.Q00074_SagaOfTheDreadnought;
+import quests.Q00075_SagaOfTheTitan.Q00075_SagaOfTheTitan;
+import quests.Q00076_SagaOfTheGrandKhavatari.Q00076_SagaOfTheGrandKhavatari;
+import quests.Q00077_SagaOfTheDominator.Q00077_SagaOfTheDominator;
+import quests.Q00078_SagaOfTheDoomcryer.Q00078_SagaOfTheDoomcryer;
+import quests.Q00079_SagaOfTheAdventurer.Q00079_SagaOfTheAdventurer;
+import quests.Q00080_SagaOfTheWindRider.Q00080_SagaOfTheWindRider;
+import quests.Q00081_SagaOfTheGhostHunter.Q00081_SagaOfTheGhostHunter;
+import quests.Q00082_SagaOfTheSagittarius.Q00082_SagaOfTheSagittarius;
+import quests.Q00083_SagaOfTheMoonlightSentinel.Q00083_SagaOfTheMoonlightSentinel;
+import quests.Q00084_SagaOfTheGhostSentinel.Q00084_SagaOfTheGhostSentinel;
+import quests.Q00085_SagaOfTheCardinal.Q00085_SagaOfTheCardinal;
+import quests.Q00086_SagaOfTheHierophant.Q00086_SagaOfTheHierophant;
+import quests.Q00087_SagaOfEvasSaint.Q00087_SagaOfEvasSaint;
+import quests.Q00088_SagaOfTheArchmage.Q00088_SagaOfTheArchmage;
+import quests.Q00089_SagaOfTheMysticMuse.Q00089_SagaOfTheMysticMuse;
+import quests.Q00090_SagaOfTheStormScreamer.Q00090_SagaOfTheStormScreamer;
+import quests.Q00091_SagaOfTheArcanaLord.Q00091_SagaOfTheArcanaLord;
+import quests.Q00092_SagaOfTheElementalMaster.Q00092_SagaOfTheElementalMaster;
+import quests.Q00093_SagaOfTheSpectralMaster.Q00093_SagaOfTheSpectralMaster;
+import quests.Q00094_SagaOfTheSoultaker.Q00094_SagaOfTheSoultaker;
+import quests.Q00095_SagaOfTheHellKnight.Q00095_SagaOfTheHellKnight;
+import quests.Q00096_SagaOfTheSpectralDancer.Q00096_SagaOfTheSpectralDancer;
+import quests.Q00097_SagaOfTheShillienTemplar.Q00097_SagaOfTheShillienTemplar;
+import quests.Q00098_SagaOfTheShillienSaint.Q00098_SagaOfTheShillienSaint;
+import quests.Q00099_SagaOfTheFortuneSeeker.Q00099_SagaOfTheFortuneSeeker;
+import quests.Q00100_SagaOfTheMaestro.Q00100_SagaOfTheMaestro;
 import quests.Q00101_SwordOfSolidarity.Q00101_SwordOfSolidarity;
 import quests.Q00102_SeaOfSporesFever.Q00102_SeaOfSporesFever;
 import quests.Q00103_SpiritOfCraftsman.Q00103_SpiritOfCraftsman;
@@ -472,6 +506,40 @@ public class QuestMasterHandler
 		Q00062_PathOfTheTrooper.class,
 		Q00063_PathOfTheWarder.class,
 		Q00064_CertifiedBerserker.class,
+		Q00067_SagaOfTheDoombringer.class,
+		Q00068_SagaOfTheSoulHound.class,
+		Q00069_SagaOfTheTrickster.class,
+		Q00070_SagaOfThePhoenixKnight.class,
+		Q00071_SagaOfEvasTemplar.class,
+		Q00072_SagaOfTheSwordMuse.class,
+		Q00073_SagaOfTheDuelist.class,
+		Q00074_SagaOfTheDreadnought.class,
+		Q00075_SagaOfTheTitan.class,
+		Q00076_SagaOfTheGrandKhavatari.class,
+		Q00077_SagaOfTheDominator.class,
+		Q00078_SagaOfTheDoomcryer.class,
+		Q00079_SagaOfTheAdventurer.class,
+		Q00080_SagaOfTheWindRider.class,
+		Q00081_SagaOfTheGhostHunter.class,
+		Q00082_SagaOfTheSagittarius.class,
+		Q00083_SagaOfTheMoonlightSentinel.class,
+		Q00084_SagaOfTheGhostSentinel.class,
+		Q00085_SagaOfTheCardinal.class,
+		Q00086_SagaOfTheHierophant.class,
+		Q00087_SagaOfEvasSaint.class,
+		Q00088_SagaOfTheArchmage.class,
+		Q00089_SagaOfTheMysticMuse.class,
+		Q00090_SagaOfTheStormScreamer.class,
+		Q00091_SagaOfTheArcanaLord.class,
+		Q00092_SagaOfTheElementalMaster.class,
+		Q00093_SagaOfTheSpectralMaster.class,
+		Q00094_SagaOfTheSoultaker.class,
+		Q00095_SagaOfTheHellKnight.class,
+		Q00096_SagaOfTheSpectralDancer.class,
+		Q00097_SagaOfTheShillienTemplar.class,
+		Q00098_SagaOfTheShillienSaint.class,
+		Q00099_SagaOfTheFortuneSeeker.class,
+		Q00100_SagaOfTheMaestro.class,
 		Q00101_SwordOfSolidarity.class,
 		Q00102_SeaOfSporesFever.class,
 		Q00103_SpiritOfCraftsman.class,