Browse Source

BETA: Updating Quests/AIs to new constructor standard. Addition to [100029].
* Patch by: jurchiks
* Reviewed by: xban1x

xban1x 11 years ago
parent
commit
ee2bbf4fec
54 changed files with 541 additions and 956 deletions
  1. 5 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Alexandria/Alexandria.java
  2. 3 7
      L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/DevastatedCastle/DevastatedCastle.java
  3. 3 11
      L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/FortressOfResistance/FortressOfResistance.java
  4. 3 11
      L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/FortressOfTheDead/FortressOfTheDead.java
  5. 4 11
      L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java
  6. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/BanditStronghold/BanditStronghold.java
  7. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/WildBeastReserve/WildBeastReserve.java
  8. 21 22
      L2J_DataPack_BETA/dist/game/data/scripts/custom/EchoCrystals/EchoCrystals.java
  9. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/custom/IOPRace/IOPRace.java
  10. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/custom/Listeners/Listeners.java
  11. 6 8
      L2J_DataPack_BETA/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java
  12. 11 15
      L2J_DataPack_BETA/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java
  13. 39 154
      L2J_DataPack_BETA/dist/game/data/scripts/custom/RaidbossInfo/RaidbossInfo.java
  14. 2 3
      L2J_DataPack_BETA/dist/game/data/scripts/custom/ShadowWeapons/ShadowWeapons.java
  15. 7 8
      L2J_DataPack_BETA/dist/game/data/scripts/custom/Validators/SkillTransferValidator.java
  16. 19 123
      L2J_DataPack_BETA/dist/game/data/scripts/custom/Validators/SubClassSkills.java
  17. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java
  18. 11 12
      L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
  19. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
  20. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
  21. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java
  22. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
  23. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
  24. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionEast.java
  25. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionNorth.java
  26. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionSouth.java
  27. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionSquare.java
  28. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionTower.java
  29. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionWest.java
  30. 44 84
      L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
  31. 6 8
      L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
  32. 9 11
      L2J_DataPack_BETA/dist/game/data/scripts/instances/DemonPrinceFloor/DemonPrinceFloor.java
  33. 18 19
      L2J_DataPack_BETA/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
  34. 4 15
      L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java
  35. 4 5
      L2J_DataPack_BETA/dist/game/data/scripts/instances/HideoutOfTheDawn/HideoutOfTheDawn.java
  36. 63 140
      L2J_DataPack_BETA/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java
  37. 25 29
      L2J_DataPack_BETA/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
  38. 15 14
      L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java
  39. 15 14
      L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java
  40. 9 11
      L2J_DataPack_BETA/dist/game/data/scripts/instances/RankuFloor/RankuFloor.java
  41. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/instances/SanctumOftheLordsOfDawn/SanctumOftheLordsOfDawn.java
  42. 10 11
      L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java
  43. 33 39
      L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java
  44. 18 18
      L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/HallOfSuffering.java
  45. 4 6
      L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/AirShipGludioGracia.java
  46. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/vehicles/EngineerLekon/EngineerLekon.java
  47. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusNorthController/KeucereusNorthController.java
  48. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusSouthController/KeucereusSouthController.java
  49. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoDController/SoDController.java
  50. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoIController/SoIController.java
  51. 16 16
      L2J_DataPack_BETA/dist/game/data/scripts/village_master/Alliance/Alliance.java
  52. 15 16
      L2J_DataPack_BETA/dist/game/data/scripts/village_master/Clan/Clan.java
  53. 6 12
      L2J_DataPack_BETA/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java
  54. 14 19
      L2J_DataPack_BETA/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java

+ 5 - 5
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Alexandria/Alexandria.java

@@ -124,11 +124,6 @@ public final class Alexandria extends AbstractNpcAI
 		return htmltext;
 	}
 	
-	public static void main(String[] args)
-	{
-		new Alexandria();
-	}
-	
 	public static class AdditionalQuestItemHolder extends QuestItemHolder
 	{
 		private final int _additionalId;
@@ -144,4 +139,9 @@ public final class Alexandria extends AbstractNpcAI
 			return _additionalId;
 		}
 	}
+	
+	public static void main(String[] args)
+	{
+		new Alexandria();
+	}
 }

+ 3 - 7
L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/DevastatedCastle/DevastatedCastle.java

@@ -39,8 +39,6 @@ import com.l2jserver.gameserver.network.clientpackets.Say2;
  */
 public final class DevastatedCastle extends ClanHallSiegeEngine
 {
-	private static final String qn = "DevastatedCastle";
-	
 	private static final int GUSTAV = 35410;
 	private static final int MIKHAIL = 35409;
 	private static final int DIETRICH = 35408;
@@ -48,14 +46,12 @@ public final class DevastatedCastle extends ClanHallSiegeEngine
 	
 	private static Map<Integer, Integer> _damageToGustav = new HashMap<>();
 	
-	public DevastatedCastle(int questId, String name, String descr, int hallId)
+	private DevastatedCastle()
 	{
-		super(questId, name, descr, hallId);
+		super(-1, DevastatedCastle.class.getSimpleName(), "conquerablehalls", DEVASTATED_CASTLE);
 		addKillId(GUSTAV);
-		
 		addSpawnId(MIKHAIL);
 		addSpawnId(DIETRICH);
-		
 		addAttackId(GUSTAV);
 	}
 	
@@ -150,6 +146,6 @@ public final class DevastatedCastle extends ClanHallSiegeEngine
 	
 	public static void main(String[] args)
 	{
-		new DevastatedCastle(-1, qn, "conquerablehalls", DEVASTATED_CASTLE);
+		new DevastatedCastle();
 	}
 }

+ 3 - 11
L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/FortressOfResistance/FortressOfResistance.java

@@ -40,8 +40,6 @@ import com.l2jserver.gameserver.util.Util;
  */
 public final class FortressOfResistance extends ClanHallSiegeEngine
 {
-	private static final String qn = "FortressOfResistance";
-	
 	private final int MESSENGER = 35382;
 	private final int BLOODY_LORD_NURKA = 35375;
 	
@@ -57,15 +55,9 @@ public final class FortressOfResistance extends ClanHallSiegeEngine
 	private final Map<Integer, Long> _damageToNurka = new HashMap<>();
 	private NpcHtmlMessage _messengerMsg;
 	
-	/**
-	 * @param questId
-	 * @param name
-	 * @param descr
-	 * @param hallId
-	 */
-	public FortressOfResistance(int questId, String name, String descr, final int hallId)
+	private FortressOfResistance()
 	{
-		super(questId, name, descr, hallId);
+		super(-1, FortressOfResistance.class.getSimpleName(), "conquerablehalls", FORTRESS_RESSISTANCE);
 		addFirstTalkId(MESSENGER);
 		addKillId(BLOODY_LORD_NURKA);
 		addAttackId(BLOODY_LORD_NURKA);
@@ -188,6 +180,6 @@ public final class FortressOfResistance extends ClanHallSiegeEngine
 	
 	public static void main(String[] args)
 	{
-		new FortressOfResistance(-1, qn, "conquerablehalls", FORTRESS_RESSISTANCE);
+		new FortressOfResistance();
 	}
 }

+ 3 - 11
L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/FortressOfTheDead/FortressOfTheDead.java

@@ -38,23 +38,15 @@ import com.l2jserver.gameserver.network.clientpackets.Say2;
  */
 public final class FortressOfTheDead extends ClanHallSiegeEngine
 {
-	private static final String qn = "FortressOfTheDead";
-	
 	private static final int LIDIA = 35629;
 	private static final int ALFRED = 35630;
 	private static final int GISELLE = 35631;
 	
 	private static Map<Integer, Integer> _damageToLidia = new HashMap<>();
 	
-	/**
-	 * @param questId
-	 * @param name
-	 * @param descr
-	 * @param hallId
-	 */
-	public FortressOfTheDead(int questId, String name, String descr, final int hallId)
+	public FortressOfTheDead()
 	{
-		super(questId, name, descr, hallId);
+		super(-1, FortressOfTheDead.class.getSimpleName(), "conquerablehalls", FORTRESS_OF_DEAD);
 		addKillId(LIDIA);
 		addKillId(ALFRED);
 		addKillId(GISELLE);
@@ -179,6 +171,6 @@ public final class FortressOfTheDead extends ClanHallSiegeEngine
 	
 	public static void main(String[] args)
 	{
-		new FortressOfTheDead(-1, qn, "conquerablehalls", FORTRESS_OF_DEAD);
+		new FortressOfTheDead();
 	}
 }

+ 4 - 11
L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java

@@ -65,7 +65,7 @@ import com.l2jserver.gameserver.util.Util;
  * Rainbow Springs Chateau clan hall siege script.
  * @author BiggBoss
  */
-public class RainbowSpringsChateau extends Quest
+public final class RainbowSpringsChateau extends Quest
 {
 	private static final Logger _log = Logger.getLogger(RainbowSpringsChateau.class.getName());
 	
@@ -203,8 +203,6 @@ public class RainbowSpringsChateau extends Quest
 		}
 	}
 	
-	private static final String qn = "RainbowSpringsChateau";
-	
 	private static final int RAINBOW_SPRINGS = 62;
 	
 	private static final int WAR_DECREES = 8034;
@@ -278,14 +276,9 @@ public class RainbowSpringsChateau extends Quest
 	protected static ScheduledFuture<?> _nextSiege, _siegeEnd;
 	private static String _registrationEnds;
 	
-	/**
-	 * @param questId
-	 * @param name
-	 * @param descr
-	 */
-	public RainbowSpringsChateau(int questId, String name, String descr)
+	private RainbowSpringsChateau()
 	{
-		super(questId, name, descr);
+		super(-1, RainbowSpringsChateau.class.getSimpleName(), "conquerablehalls");
 		
 		addFirstTalkId(MESSENGER);
 		addTalkId(MESSENGER);
@@ -942,6 +935,6 @@ public class RainbowSpringsChateau extends Quest
 	
 	public static void main(String[] args)
 	{
-		new RainbowSpringsChateau(-1, qn, "conquerablehalls");
+		new RainbowSpringsChateau();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/BanditStronghold/BanditStronghold.java

@@ -89,9 +89,9 @@ public final class BanditStronghold extends FlagWar
 		CENTER = new Location(82882, -16280, -1894, 0);
 	}
 	
-	public BanditStronghold(int questId, String name, String descr, int hallId)
+	private BanditStronghold()
 	{
-		super(questId, name, descr, hallId);
+		super(-1, qn, "conquerablehalls/flagwar", BANDIT_STRONGHOLD);
 	}
 	
 	@Override
@@ -150,6 +150,6 @@ public final class BanditStronghold extends FlagWar
 	
 	public static void main(String[] args)
 	{
-		new BanditStronghold(-1, qn, "conquerablehalls/flagwar", BANDIT_STRONGHOLD);
+		new BanditStronghold();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/WildBeastReserve/WildBeastReserve.java

@@ -89,9 +89,9 @@ public final class WildBeastReserve extends FlagWar
 		CENTER = new Location(57762, -92696, -1359, 0);
 	}
 	
-	public WildBeastReserve(int questId, String name, String descr, int hallId)
+	private WildBeastReserve()
 	{
-		super(questId, name, descr, hallId);
+		super(-1, qn, "conquerablehalls/flagwar", BEAST_FARM);
 	}
 	
 	@Override
@@ -156,6 +156,6 @@ public final class WildBeastReserve extends FlagWar
 	
 	public static void main(String[] args)
 	{
-		new WildBeastReserve(-1, qn, "conquerablehalls/flagwar", BEAST_FARM);
+		new WildBeastReserve();
 	}
 }

+ 21 - 22
L2J_DataPack_BETA/dist/game/data/scripts/custom/EchoCrystals/EchoCrystals.java

@@ -33,7 +33,7 @@ import com.l2jserver.gameserver.util.Util;
  * Original Jython script by DrLecter, formerly based on Elektra's script.
  * @author Plim
  */
-public class EchoCrystals extends Quest
+public final class EchoCrystals extends Quest
 {
 	private final static int[] NPCs =
 	{
@@ -83,6 +83,25 @@ public class EchoCrystals extends Quest
 		}
 	}
 	
+	private EchoCrystals()
+	{
+		super(-1, EchoCrystals.class.getSimpleName(), "custom");
+		// Initialize Map
+		SCORES.put(4410, new ScoreData(4411, "01", "02", "03"));
+		SCORES.put(4409, new ScoreData(4412, "04", "05", "06"));
+		SCORES.put(4408, new ScoreData(4413, "07", "08", "09"));
+		SCORES.put(4420, new ScoreData(4414, "10", "11", "12"));
+		SCORES.put(4421, new ScoreData(4415, "13", "14", "15"));
+		SCORES.put(4419, new ScoreData(4417, "16", "05", "06"));
+		SCORES.put(4418, new ScoreData(4416, "17", "05", "06"));
+		
+		for (int npc : NPCs)
+		{
+			addStartNpc(npc);
+			addTalkId(npc);
+		}
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -129,28 +148,8 @@ public class EchoCrystals extends Quest
 		return "1.htm";
 	}
 	
-	public EchoCrystals(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		
-		// Initialize Map
-		SCORES.put(4410, new ScoreData(4411, "01", "02", "03"));
-		SCORES.put(4409, new ScoreData(4412, "04", "05", "06"));
-		SCORES.put(4408, new ScoreData(4413, "07", "08", "09"));
-		SCORES.put(4420, new ScoreData(4414, "10", "11", "12"));
-		SCORES.put(4421, new ScoreData(4415, "13", "14", "15"));
-		SCORES.put(4419, new ScoreData(4417, "16", "05", "06"));
-		SCORES.put(4418, new ScoreData(4416, "17", "05", "06"));
-		
-		for (int npc : NPCs)
-		{
-			addStartNpc(npc);
-			addTalkId(npc);
-		}
-	}
-	
 	public static void main(String[] args)
 	{
-		new EchoCrystals(-1, EchoCrystals.class.getSimpleName(), "custom");
+		new EchoCrystals();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/custom/IOPRace/IOPRace.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.skills.L2Skill;
  * IOP Race AI.
  * @author Gigiikun, Charus
  */
-public class IOPRace extends Quest
+public final class IOPRace extends Quest
 {
 	final private static int RIGNOS = 32349;
 	final private static int STAMP = 10013;
@@ -37,9 +37,9 @@ public class IOPRace extends Quest
 	
 	private int _player = -1;
 	
-	public IOPRace(int id, String name, String descr)
+	private IOPRace()
 	{
-		super(id, name, descr);
+		super(-1, IOPRace.class.getSimpleName(), "custom");
 		addStartNpc(RIGNOS);
 		addTalkId(RIGNOS);
 		addFirstTalkId(RIGNOS);
@@ -138,6 +138,6 @@ public class IOPRace extends Quest
 	
 	public static void main(String[] args)
 	{
-		new IOPRace(-1, "IOPRace", "custom");
+		new IOPRace();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/custom/Listeners/Listeners.java

@@ -56,13 +56,13 @@ import com.l2jserver.gameserver.scripting.scriptengine.impl.L2Script;
  * An example class of using Listeners.
  * @author UnAfraid
  */
-public class Listeners extends L2Script
+public final class Listeners extends L2Script
 {
 	private static final Logger _log = Logger.getLogger(Listeners.class.getName());
 	
-	public Listeners(String name, String descr)
+	private Listeners()
 	{
-		super(name, descr);
+		super(Listeners.class.getSimpleName(), "custom");
 		addLoginLogoutNotify();
 		addClanCreationLevelUpNotify();
 		addFortSiegeNotify();
@@ -448,6 +448,6 @@ public class Listeners extends L2Script
 	
 	public static void main(String[] args)
 	{
-		new Listeners(Listeners.class.getSimpleName(), "custom");
+		new Listeners();
 	}
 }

+ 6 - 8
L2J_DataPack_BETA/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java

@@ -29,10 +29,8 @@ import com.l2jserver.gameserver.model.quest.QuestState;
  * Original Jython script by Vice.
  * @author Nyaran
  */
-public class NewbieCoupons extends Quest
+public final class NewbieCoupons extends Quest
 {
-	private static final String qn = "NewbieCoupons";
-	
 	private static final int COUPON_ONE = 7832;
 	private static final int COUPON_TWO = 7833;
 	
@@ -61,9 +59,9 @@ public class NewbieCoupons extends Quest
 	private static final int NEWBIE_WEAPON = 16;
 	private static final int NEWBIE_ACCESORY = 32;
 	
-	public NewbieCoupons(int id, String name, String descr)
+	private NewbieCoupons()
 	{
-		super(id, name, descr);
+		super(-1, NewbieCoupons.class.getSimpleName(), "custom");
 		
 		for (int i : NPCs)
 		{
@@ -81,7 +79,7 @@ public class NewbieCoupons extends Quest
 			return htmltext;
 		}
 		
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		int newbie = player.getNewbie();
 		int level = player.getLevel();
 		int occupation_level = player.getClassId().level();
@@ -156,7 +154,7 @@ public class NewbieCoupons extends Quest
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			st = newQuestState(player);
@@ -167,6 +165,6 @@ public class NewbieCoupons extends Quest
 	
 	public static void main(String args[])
 	{
-		new NewbieCoupons(-1, qn, "custom");
+		new NewbieCoupons();
 	}
 }

+ 11 - 15
L2J_DataPack_BETA/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java

@@ -30,10 +30,8 @@ import com.l2jserver.gameserver.util.Util;
  * Npc Location Info AI.
  * @author Nyaran
  */
-public class NpcLocationInfo extends Quest
+public final class NpcLocationInfo extends Quest
 {
-	private static final String qn = "NpcLocationInfo";
-	
 	private static final int[] NPC =
 	{
 		30598,
@@ -261,15 +259,21 @@ public class NpcLocationInfo extends Quest
 		32158, // Warehouse Chief Fisler
 		32157, // Head Blacksmith Moka
 		32159, // Blacksmith Kincaid
-		32169
-	// Spellbook Trader Mifren
+		32169, // Spellbook Trader Mifren
 	};
 	
+	private NpcLocationInfo()
+	{
+		super(-1, NpcLocationInfo.class.getSimpleName(), "custom");
+		addStartNpc(NPC);
+		addTalkId(NPC);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		
 		if (st == null)
 		{
@@ -313,16 +317,8 @@ public class NpcLocationInfo extends Quest
 		return htmltext;
 	}
 	
-	public NpcLocationInfo(int id, String name, String descr)
-	{
-		super(id, name, descr);
-		
-		addStartNpc(NPC);
-		addTalkId(NPC);
-	}
-	
 	public static void main(String args[])
 	{
-		new NpcLocationInfo(-1, qn, "custom");
+		new NpcLocationInfo();
 	}
 }

+ 39 - 154
L2J_DataPack_BETA/dist/game/data/scripts/custom/RaidbossInfo/RaidbossInfo.java

@@ -18,9 +18,8 @@
  */
 package custom.RaidbossInfo;
 
-import java.util.Map;
-
-import javolution.util.FastMap;
+import java.util.ArrayList;
+import java.util.List;
 
 import com.l2jserver.gameserver.datatables.NpcTable;
 import com.l2jserver.gameserver.datatables.SpawnTable;
@@ -30,7 +29,6 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.quest.Quest;
-import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.util.Util;
 
 /**
@@ -38,157 +36,58 @@ import com.l2jserver.gameserver.util.Util;
  * Original Jython script Kerberos.
  * @author Nyaran
  */
-public class RaidbossInfo extends Quest
+public final class RaidbossInfo extends Quest
 {
-	private static final String qn = "RaidbossInfo";
-	
+	// @formatter:off
 	private static final int[] NPC =
 	{
-		31729,
-		31730,
-		31731,
-		31732,
-		31733,
-		31734,
-		31735,
-		31736,
-		31737,
-		31738,
-		31739,
-		31740,
-		31741,
-		31742,
-		31743,
-		31744,
-		31745,
-		31746,
-		31747,
-		31748,
-		31749,
-		31750,
-		31751,
-		31752,
-		31753,
-		31754,
-		31755,
-		31756,
-		31757,
-		31758,
-		31759,
-		31760,
-		31761,
-		31762,
-		31763,
-		31764,
-		31765,
-		31766,
-		31767,
-		31768,
-		31769,
-		31770,
-		31771,
-		31772,
-		31773,
-		31774,
-		31775,
-		31776,
-		31777,
-		31778,
-		31779,
-		31780,
-		31781,
-		31782,
-		31783,
-		31784,
-		31785,
-		31786,
-		31787,
-		31788,
-		31789,
-		31790,
-		31791,
-		31792,
-		31793,
-		31794,
-		31795,
-		31796,
-		31797,
-		31798,
-		31799,
-		31800,
-		31801,
-		31802,
-		31803,
-		31804,
-		31805,
-		31806,
-		31807,
-		31808,
-		31809,
-		31810,
-		31811,
-		31812,
-		31813,
-		31814,
-		31815,
-		31816,
-		31817,
-		31818,
-		31819,
-		31820,
-		31821,
-		31822,
-		31823,
-		31824,
-		31825,
-		31826,
-		31827,
-		31828,
-		31829,
-		31830,
-		31831,
-		31832,
-		31833,
-		31834,
-		31835,
-		31836,
-		31837,
-		31838,
-		31839,
-		31840,
-		31841,
-		32337,
-		32338,
-		32339,
-		32340
+		31729, 31730, 31731, 31732, 31733, 31734, 31735, 31736, 31737, 31738,
+		31739, 31740, 31741, 31742, 31743, 31744, 31745, 31746, 31747, 31748,
+		31749, 31750, 31751, 31752, 31753, 31754, 31755, 31756, 31757, 31758,
+		31759, 31760, 31761, 31762, 31763, 31764, 31765, 31766, 31767, 31768,
+		31769, 31770, 31771, 31772, 31773, 31774, 31775, 31776, 31777, 31778,
+		31779, 31780, 31781, 31782, 31783, 31784, 31785, 31786, 31787, 31788,
+		31789, 31790, 31791, 31792, 31793, 31794, 31795, 31796, 31797, 31798,
+		31799, 31800, 31801, 31802, 31803, 31804, 31805, 31806, 31807, 31808,
+		31809, 31810, 31811, 31812, 31813, 31814, 31815, 31816, 31817, 31818,
+		31819, 31820, 31821, 31822, 31823, 31824, 31825, 31826, 31827, 31828,
+		31829, 31830, 31831, 31832, 31833, 31834, 31835, 31836, 31837, 31838,
+		31839, 31840, 31841, 32337, 32338, 32339, 32340
 	};
+	// @formatter:on
+	private static final List<Integer> RAIDS = new ArrayList<>();
 	
-	private static final Map<Integer, Location> RADAR = new FastMap<>();
+	private RaidbossInfo()
+	{
+		super(-1, RaidbossInfo.class.getSimpleName(), "custom");
+		addStartNpc(NPC);
+		addTalkId(NPC);
+		
+		// Add all Raid Bosses to RAIDS list
+		for (L2NpcTemplate raid : NpcTable.getInstance().getAllNpcOfClassType("L2RaidBoss"))
+		{
+			RAIDS.add(raid.getId());
+		}
+	}
 	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		
-		QuestState st = player.getQuestState(qn);
-		
-		if (st == null)
-		{
-			return htmltext;
-		}
-		
 		if (Util.isDigit(event))
 		{
 			htmltext = null;
-			int rbid = Integer.parseInt(event);
+			int bossId = Integer.parseInt(event);
 			
-			if (RADAR.containsKey(rbid))
+			if (RAIDS.contains(bossId))
 			{
-				Location loc = RADAR.get(rbid);
-				st.addRadar(loc.getX(), loc.getY(), loc.getZ());
+				final L2Spawn spawn = SpawnTable.getInstance().getFirstSpawn(bossId);
+				if (spawn != null)
+				{
+					final Location loc = spawn.getLocation();
+					player.getRadar().addMarker(loc.getX(), loc.getY(), loc.getZ());
+				}
 			}
-			
-			st.exitQuest(true);
 		}
 		return htmltext;
 	}
@@ -199,22 +98,8 @@ public class RaidbossInfo extends Quest
 		return "info.htm";
 	}
 	
-	public RaidbossInfo(int id, String name, String descr)
-	{
-		super(id, name, descr);
-		addStartNpc(NPC);
-		addTalkId(NPC);
-		
-		// Add all Raid Bosses to RAIDS list
-		for (L2NpcTemplate raid : NpcTable.getInstance().getAllNpcOfClassType("L2RaidBoss"))
-		{
-			final L2Spawn spawn = SpawnTable.getInstance().getFirstSpawn(raid.getId());
-			RADAR.put(raid.getId(), spawn != null ? spawn.getLocation() : new Location(0, 0, 0));
-		}
-	}
-	
 	public static void main(String args[])
 	{
-		new RaidbossInfo(-1, qn, "custom");
+		new RaidbossInfo();
 	}
 }

+ 2 - 3
L2J_DataPack_BETA/dist/game/data/scripts/custom/ShadowWeapons/ShadowWeapons.java

@@ -27,7 +27,7 @@ import com.l2jserver.gameserver.model.quest.Quest;
  * Original Jython script by DrLecter.
  * @author Nyaran, jurchiks
  */
-public class ShadowWeapons extends Quest
+public final class ShadowWeapons extends Quest
 {
 	// @formatter:off
 	private static final int[] NPCS =
@@ -44,8 +44,7 @@ public class ShadowWeapons extends Quest
 		32230, 32233, 32234
 	};
 	// @formatter:on
-	
-	public ShadowWeapons()
+	private ShadowWeapons()
 	{
 		super(-1, ShadowWeapons.class.getSimpleName(), "custom");
 		addStartNpc(NPCS);

+ 7 - 8
L2J_DataPack_BETA/dist/game/data/scripts/custom/Validators/SkillTransferValidator.java

@@ -39,8 +39,6 @@ import com.l2jserver.gameserver.util.Util;
  */
 public final class SkillTransferValidator extends L2Script
 {
-	private static final String qn = "SkillTransfer";
-	
 	private static final ItemHolder[] PORMANDERS =
 	{
 		// Cardinal (97)
@@ -51,9 +49,10 @@ public final class SkillTransferValidator extends L2Script
 		new ItemHolder(15309, 4)
 	};
 	
-	public SkillTransferValidator(int id, String name, String descr)
+	private SkillTransferValidator()
 	{
-		super(id, name, descr);
+		// TODO rewrite to use actual class name
+		super(-1, "SkillTransfer", "custom");
 		setOnEnterWorld(true);
 	}
 	
@@ -82,20 +81,20 @@ public final class SkillTransferValidator extends L2Script
 			final int index = getTransferClassIndex(player);
 			if (index >= 0)
 			{
-				QuestState st = player.getQuestState(qn);
+				QuestState st = player.getQuestState(getName());
 				if (st == null)
 				{
 					st = newQuestState(player);
 				}
 				
-				final String name = qn + String.valueOf(player.getClassId().getId());
+				final String name = getName() + String.valueOf(player.getClassId().getId());
 				if (st.getInt(name) == 0)
 				{
 					st.setInternal(name, "1");
 					if (st.getGlobalQuestVar(name).isEmpty())
 					{
 						st.saveGlobalQuestVar(name, "1");
-						player.addItem(qn, PORMANDERS[index].getId(), PORMANDERS[index].getCount(), null, true);
+						player.addItem(getName(), PORMANDERS[index].getId(), PORMANDERS[index].getCount(), null, true);
 					}
 				}
 				
@@ -150,6 +149,6 @@ public final class SkillTransferValidator extends L2Script
 	
 	public static void main(String[] args)
 	{
-		new SkillTransferValidator(-1, qn, "custom");
+		new SkillTransferValidator();
 	}
 }

+ 19 - 123
L2J_DataPack_BETA/dist/game/data/scripts/custom/Validators/SubClassSkills.java

@@ -41,148 +41,44 @@ import com.l2jserver.gameserver.util.Util;
 public final class SubClassSkills extends Quest
 {
 	// arrays must be sorted
+	// @formatter:off
 	private static final int[] _allCertSkillIds =
 	{
-		631,
-		632,
-		633,
-		634,
-		637,
-		638,
-		639,
-		640,
-		641,
-		642,
-		643,
-		644,
-		645,
-		646,
-		647,
-		648,
-		650,
-		651,
-		652,
-		653,
-		654,
-		655,
-		656,
-		657,
-		658,
-		659,
-		660,
-		661,
-		662,
-		799,
-		800,
-		801,
-		802,
-		803,
-		804,
-		1489,
-		1490,
-		1491
+		631, 632, 633, 634, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
+		647, 648, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+		662, 799, 800, 801, 802, 803, 804, 1489, 1490, 1491
 	};
 	private static final int[][] _certSkillsByLevel =
 	{
 		{
-			631,
-			632,
-			633,
-			634
+			631, 632, 633, 634
 		},
 		{
-			631,
-			632,
-			633,
-			634
+			631, 632, 633, 634
 		},
 		{
-			637,
-			638,
-			639,
-			640,
-			641,
-			642,
-			643,
-			644,
-			645,
-			646,
-			647,
-			648,
-			650,
-			651,
-			652,
-			653,
-			654,
-			655,
-			799,
-			800,
-			801,
-			802,
-			803,
-			804,
-			1489,
-			1490,
+			637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 650,
+			651, 652, 653, 654, 655, 799, 800, 801, 802, 803, 804, 1489, 1490,
 			1491
 		},
 		{
-			656,
-			657,
-			658,
-			659,
-			660,
-			661,
-			662
+			656, 657, 658, 659, 660, 661, 662
 		}
 	};
 	
 	private static final int[] _allCertItemIds =
 	{
-		10280,
-		10281,
-		10282,
-		10283,
-		10284,
-		10285,
-		10286,
-		10287,
-		10288,
-		10289,
-		10290,
-		10291,
-		10292,
-		10293,
-		10294,
-		10612
+		10280, 10281, 10282, 10283, 10284, 10285, 10286, 10287, 10288, 10289,
+		10290, 10291, 10292, 10293, 10294, 10612
 	};
 	private static final int[][] _certItemsByLevel =
 	{
-		{
-			10280
-		},
-		{
-			10280
-		},
-		{
-			10612,
-			10281,
-			10282,
-			10283,
-			10284,
-			10285,
-			10286,
-			10287
-		},
-		{
-			10288,
-			10289,
-			10290,
-			10291,
-			10292,
-			10293,
-			10294
-		}
+		{ 10280 },
+		{ 10280 },
+		{ 10612, 10281, 10282, 10283, 10284, 10285, 10286, 10287 },
+		{ 10288, 10289, 10290, 10291, 10292, 10293, 10294 }
 	};
+	// @formatter:on
 	
 	private static final String[] VARS =
 	{
@@ -192,9 +88,9 @@ public final class SubClassSkills extends Quest
 		"ClassAbility80-"
 	};
 	
-	public SubClassSkills(int id, String name, String descr)
+	private SubClassSkills()
 	{
-		super(id, name, descr);
+		super(-1, SubClassSkills.class.getSimpleName(), "custom");
 		setOnEnterWorld(true);
 	}
 	
@@ -475,6 +371,6 @@ public final class SubClassSkills extends Quest
 	
 	public static void main(String[] args)
 	{
-		new SubClassSkills(-1, "SubClassSkills", "custom");
+		new SubClassSkills();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java

@@ -30,7 +30,7 @@ import com.l2jserver.gameserver.util.Util;
  * Updated to H5 by Nyaran.
  * @author Gnacik
  */
-public class CharacterBirthday extends Quest
+public final class CharacterBirthday extends Quest
 {
 	private static final int ALEGRIA = 32600;
 	private static int SPAWNS = 0;
@@ -58,9 +58,9 @@ public class CharacterBirthday extends Quest
 		32163
 	};
 	
-	public CharacterBirthday(int questId, String name, String descr)
+	private CharacterBirthday()
 	{
-		super(questId, name, descr);
+		super(-1, CharacterBirthday.class.getSimpleName(), "events");
 		addStartNpc(ALEGRIA);
 		addStartNpc(GK);
 		addTalkId(ALEGRIA);
@@ -130,6 +130,6 @@ public class CharacterBirthday extends Quest
 	
 	public static void main(String[] args)
 	{
-		new CharacterBirthday(-1, CharacterBirthday.class.getSimpleName(), "events");
+		new CharacterBirthday();
 	}
 }

+ 11 - 12
L2J_DataPack_BETA/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java

@@ -37,7 +37,7 @@ import com.l2jserver.gameserver.util.Util;
  * Freya Celebration event AI.
  * @author Gnacik
  */
-public class FreyaCelebration extends LongTimeEvent
+public final class FreyaCelebration extends LongTimeEvent
 {
 	// NPC
 	private static final int FREYA = 13296;
@@ -67,6 +67,15 @@ public class FreyaCelebration extends LongTimeEvent
 		NpcStringId.I_AM_ICE_QUEEN_FREYA_THIS_FEELING_AND_EMOTION_ARE_NOTHING_BUT_A_PART_OF_MELISSAA_MEMORIES
 	};
 	
+	private FreyaCelebration()
+	{
+		super(FreyaCelebration.class.getSimpleName(), "events");
+		addStartNpc(FREYA);
+		addFirstTalkId(FREYA);
+		addTalkId(FREYA);
+		addSkillSeeId(FREYA);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -154,18 +163,8 @@ public class FreyaCelebration extends LongTimeEvent
 		return "13296.htm";
 	}
 	
-	public FreyaCelebration(String name, String descr)
-	{
-		super(name, descr);
-		
-		addStartNpc(FREYA);
-		addFirstTalkId(FREYA);
-		addTalkId(FREYA);
-		addSkillSeeId(FREYA);
-	}
-	
 	public static void main(String[] args)
 	{
-		new FreyaCelebration(FreyaCelebration.class.getSimpleName(), "events");
+		new FreyaCelebration();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java

@@ -31,7 +31,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  * Gift of Vitality event AI.
  * @author Gnacik, Adry_85
  */
-public class GiftOfVitality extends LongTimeEvent
+public final class GiftOfVitality extends LongTimeEvent
 {
 	// NPC
 	private static final int STEVE_SHYAGEL = 4306;
@@ -76,9 +76,9 @@ public class GiftOfVitality extends LongTimeEvent
 		new SkillHolder(5636, 1), // Empower
 	};
 	
-	public GiftOfVitality(String name, String descr)
+	private GiftOfVitality()
 	{
-		super(name, descr);
+		super(GiftOfVitality.class.getSimpleName(), "events");
 		addStartNpc(STEVE_SHYAGEL);
 		addFirstTalkId(STEVE_SHYAGEL);
 		addTalkId(STEVE_SHYAGEL);
@@ -181,6 +181,6 @@ public class GiftOfVitality extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new GiftOfVitality(GiftOfVitality.class.getSimpleName(), "events");
+		new GiftOfVitality();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java

@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.quest.QuestState;
  * Heavy Medals event AI.
  * @author Gnacik
  */
-public class HeavyMedal extends LongTimeEvent
+public final class HeavyMedal extends LongTimeEvent
 {
 	private final static int CAT_ROY = 31228;
 	private final static int CAT_WINNIE = 31229;
@@ -51,9 +51,9 @@ public class HeavyMedal extends LongTimeEvent
 		6402
 	};
 	
-	public HeavyMedal(String name, String descr)
+	private HeavyMedal()
 	{
-		super(name, descr);
+		super(HeavyMedal.class.getSimpleName(), "events");
 		addStartNpc(CAT_ROY);
 		addStartNpc(CAT_WINNIE);
 		addTalkId(CAT_ROY);
@@ -146,6 +146,6 @@ public class HeavyMedal extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new HeavyMedal(HeavyMedal.class.getSimpleName(), "events");
+		new HeavyMedal();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java

@@ -32,9 +32,9 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  * Love Your Gatekeeper event.
  * @author Gladicek
  */
-public class LoveYourGatekeeper extends LongTimeEvent
+public final class LoveYourGatekeeper extends LongTimeEvent
 {
-	// NCP
+	// NPC
 	private static final int GATEKEEPER = 32477;
 	// Item
 	private static final int GATEKEEPER_TRANSFORMATION_STICK = 12814;
@@ -44,7 +44,7 @@ public class LoveYourGatekeeper extends LongTimeEvent
 	// Skills
 	private static SkillHolder TELEPORTER_TRANSFORM = new SkillHolder(5655, 1);
 	
-	public LoveYourGatekeeper()
+	private LoveYourGatekeeper()
 	{
 		super(LoveYourGatekeeper.class.getSimpleName(), "events");
 		addStartNpc(GATEKEEPER);

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java

@@ -33,7 +33,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  * Master of Enchanting event AI.
  * @author Gnacik
  */
-public class MasterOfEnchanting extends LongTimeEvent
+public final class MasterOfEnchanting extends LongTimeEvent
 {
 	// NPC
 	private static final int MASTER_YOGI = 32599;
@@ -69,9 +69,9 @@ public class MasterOfEnchanting extends LongTimeEvent
 	@SuppressWarnings("deprecation")
 	private static final Date _eventStart = new Date(2011, 7, 1);
 	
-	public MasterOfEnchanting(String name, String descr)
+	private MasterOfEnchanting()
 	{
-		super(name, descr);
+		super(MasterOfEnchanting.class.getSimpleName(), "events");
 		addStartNpc(MASTER_YOGI);
 		addFirstTalkId(MASTER_YOGI);
 		addTalkId(MASTER_YOGI);
@@ -284,6 +284,6 @@ public class MasterOfEnchanting extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new MasterOfEnchanting(MasterOfEnchanting.class.getSimpleName(), "events");
+		new MasterOfEnchanting();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java

@@ -29,16 +29,16 @@ import com.l2jserver.gameserver.model.quest.State;
  * The Valentine Event event AI.
  * @author Gnacik
  */
-public class TheValentineEvent extends LongTimeEvent
+public final class TheValentineEvent extends LongTimeEvent
 {
 	// NPC
 	private static final int NPC = 4301;
 	// Item
 	private static final int RECIPE = 20191;
 	
-	public TheValentineEvent(String name, String descr)
+	private TheValentineEvent()
 	{
-		super(name, descr);
+		super(TheValentineEvent.class.getSimpleName(), "events");
 		addStartNpc(NPC);
 		addFirstTalkId(NPC);
 		addTalkId(NPC);
@@ -82,6 +82,6 @@ public class TheValentineEvent extends LongTimeEvent
 	
 	public static void main(String[] args)
 	{
-		new TheValentineEvent(TheValentineEvent.class.getSimpleName(), "events");
+		new TheValentineEvent();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionEast.java

@@ -45,14 +45,14 @@ public final class ChamberOfDelusionEast extends Chamber
 	private static final int INSTANCEID = 127;
 	private static final String INSTANCE_TEMPLATE = "ChamberOfDelusionEast.xml";
 	
-	private ChamberOfDelusionEast(int questId, String name, String descr)
+	private ChamberOfDelusionEast()
 	{
-		super(questId, name, descr, INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
+		super(-1, ChamberOfDelusionEast.class.getSimpleName(), "instances", INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
 		ROOM_ENTER_POINTS = ENTER_POINTS;
 	}
 	
 	public static void main(String[] args)
 	{
-		new ChamberOfDelusionEast(-1, ChamberOfDelusionEast.class.getSimpleName(), "instances");
+		new ChamberOfDelusionEast();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionNorth.java

@@ -45,14 +45,14 @@ public final class ChamberOfDelusionNorth extends Chamber
 	private static final int INSTANCEID = 130; // this is the client number
 	private static final String INSTANCE_TEMPLATE = "ChamberOfDelusionNorth.xml";
 	
-	private ChamberOfDelusionNorth(int questId, String name, String descr)
+	private ChamberOfDelusionNorth()
 	{
-		super(questId, name, descr, INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
+		super(-1, ChamberOfDelusionNorth.class.getSimpleName(), "instances", INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
 		ROOM_ENTER_POINTS = ENTER_POINTS;
 	}
 	
 	public static void main(String[] args)
 	{
-		new ChamberOfDelusionNorth(-1, ChamberOfDelusionNorth.class.getSimpleName(), "instances");
+		new ChamberOfDelusionNorth();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionSouth.java

@@ -45,14 +45,14 @@ public final class ChamberOfDelusionSouth extends Chamber
 	private static final int INSTANCEID = 129; // this is the client number
 	private static final String INSTANCE_TEMPLATE = "ChamberOfDelusionSouth.xml";
 	
-	private ChamberOfDelusionSouth(int questId, String name, String descr)
+	private ChamberOfDelusionSouth()
 	{
-		super(questId, name, descr, INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
+		super(-1, ChamberOfDelusionSouth.class.getSimpleName(), "instances", INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
 		ROOM_ENTER_POINTS = ENTER_POINTS;
 	}
 	
 	public static void main(String[] args)
 	{
-		new ChamberOfDelusionSouth(-1, ChamberOfDelusionSouth.class.getSimpleName(), "instances");
+		new ChamberOfDelusionSouth();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionSquare.java

@@ -49,14 +49,14 @@ public final class ChamberOfDelusionSquare extends Chamber
 	private static final int INSTANCEID = 131;
 	private static final String INSTANCE_TEMPLATE = "ChamberOfDelusionSquare.xml";
 	
-	private ChamberOfDelusionSquare(int questId, String name, String descr)
+	private ChamberOfDelusionSquare()
 	{
-		super(questId, name, descr, INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
+		super(-1, ChamberOfDelusionSquare.class.getSimpleName(), "instances", INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
 		ROOM_ENTER_POINTS = ENTER_POINTS;
 	}
 	
 	public static void main(String[] args)
 	{
-		new ChamberOfDelusionSquare(-1, ChamberOfDelusionSquare.class.getSimpleName(), "instances");
+		new ChamberOfDelusionSquare();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionTower.java

@@ -49,14 +49,14 @@ public final class ChamberOfDelusionTower extends Chamber
 	private static final int INSTANCEID = 132; // this is the client number
 	private static final String INSTANCE_TEMPLATE = "ChamberOfDelusionTower.xml";
 	
-	private ChamberOfDelusionTower(int questId, String name, String descr)
+	private ChamberOfDelusionTower()
 	{
-		super(questId, name, descr, INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
+		super(-1, ChamberOfDelusionTower.class.getSimpleName(), "instances", INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
 		ROOM_ENTER_POINTS = ENTER_POINTS;
 	}
 	
 	public static void main(String[] args)
 	{
-		new ChamberOfDelusionTower(-1, ChamberOfDelusionTower.class.getSimpleName(), "instances");
+		new ChamberOfDelusionTower();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/ChamberOfDelusionWest.java

@@ -45,14 +45,14 @@ public final class ChamberOfDelusionWest extends Chamber
 	private static final int INSTANCEID = 128; // this is the client number
 	private static final String INSTANCE_TEMPLATE = "ChamberOfDelusionWest.xml";
 	
-	private ChamberOfDelusionWest(int questId, String name, String descr)
+	private ChamberOfDelusionWest()
 	{
-		super(questId, name, descr, INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
+		super(-1, ChamberOfDelusionWest.class.getSimpleName(), "instances", INSTANCEID, INSTANCE_TEMPLATE, ENTRANCE_GATEKEEPER, ROOM_GATEKEEPER_FIRST, ROOM_GATEKEEPER_LAST, AENKINEL, BOX);
 		ROOM_ENTER_POINTS = ENTER_POINTS;
 	}
 	
 	public static void main(String[] args)
 	{
-		new ChamberOfDelusionWest(-1, ChamberOfDelusionWest.class.getSimpleName(), "instances");
+		new ChamberOfDelusionWest();
 	}
 }

+ 44 - 84
L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java

@@ -71,7 +71,7 @@ import com.l2jserver.gameserver.util.Util;
  * 4. Baylor Raid is missing a lot of things This script takes the best elements of different versions and combines them into one script to get the most optimal and retail-like experience.<br>
  * Original sources: theone, L2JEmu, L2JOfficial, L2JFree Contributing authors: TGS, Lantoc, Janiii, Gigiikun, RosT Please maintain consistency between the Crystal Caverns scripts.
  */
-public class CrystalCaverns extends Quest
+public final class CrystalCaverns extends Quest
 {
 	protected static class CrystalGolem
 	{
@@ -128,7 +128,6 @@ public class CrystalCaverns extends Quest
 		}
 	}
 	
-	private static final String qn = "CrystalCaverns";
 	private static final int INSTANCEID = 10; // this is the client number
 	private static final boolean debug = false;
 	
@@ -1440,6 +1439,44 @@ public class CrystalCaverns extends Quest
 	private static final int DRAGONSCALETIME = 3000;
 	private static final int DRAGONCLAWTIME = 3000;
 	
+	private CrystalCaverns()
+	{
+		super(-1, CrystalCaverns.class.getSimpleName(), "instances");
+		addStartNpc(ORACLE_GUIDE_1);
+		addTalkId(ORACLE_GUIDE_1);
+		addTalkId(ORACLE_GUIDE_3);
+		addStartNpc(ORACLE_GUIDE_4);
+		addFirstTalkId(ORACLE_GUIDE_4);
+		addTalkId(ORACLE_GUIDE_4);
+		addFirstTalkId(CRYSTAL_GOLEM);
+		addAttackId(TEARS);
+		addTrapActionId(DOOR_OPENING_TRAP[0]);
+		addKillId(TEARS);
+		addKillId(GK1);
+		addKillId(GK2);
+		addKillId(TEROD);
+		addKillId(WEYLIN);
+		addKillId(DOLPH);
+		addKillId(DARNEL);
+		addKillId(KECHI);
+		addKillId(GUARDIAN);
+		addKillId(GUARDIAN2);
+		addKillId(TOURMALINE);
+		addKillId(BAYLOR);
+		addSpellFinishedId(BAYLOR);
+		addKillId(ALARMID);
+		addFirstTalkId(32274, 32275, 32276, 32277, ORACLE_GUIDE_1, ORACLE_GUIDE_2);
+		addTalkId(32275, 32276, 32277);
+		addSkillSeeId(25534, 32275, 32276, 32277, BAYLOR);
+		addKillId(MOBLIST);
+		addKillId(CGMOBS);
+		for (int zones : ZONES)
+		{
+			addEnterZoneId(zones);
+			addExitZoneId(zones);
+		}
+	}
+	
 	private boolean checkConditions(L2PcInstance player)
 	{
 		if (debug)
@@ -2440,7 +2477,7 @@ public class CrystalCaverns extends Quest
 			{
 				if (partyMember.getInstanceId() == instanceId)
 				{
-					QuestState st = partyMember.getQuestState(qn);
+					QuestState st = partyMember.getQuestState(getName());
 					if (st == null)
 					{
 						st = newQuestState(partyMember);
@@ -2463,7 +2500,7 @@ public class CrystalCaverns extends Quest
 		}
 		else if (player.getInstanceId() == instanceId)
 		{
-			QuestState st = player.getQuestState(qn);
+			QuestState st = player.getQuestState(getName());
 			if (st == null)
 			{
 				st = newQuestState(player);
@@ -2722,7 +2759,7 @@ public class CrystalCaverns extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			st = newQuestState(player);
@@ -2971,7 +3008,7 @@ public class CrystalCaverns extends Quest
 							{
 								return "";
 							}
-							QuestState st = ((L2PcInstance) character).getQuestState(qn);
+							QuestState st = ((L2PcInstance) character).getQuestState(getName());
 							if (st == null)
 							{
 								st = newQuestState((L2PcInstance) character);
@@ -3041,86 +3078,9 @@ public class CrystalCaverns extends Quest
 		return super.onExitZone(character, zone);
 	}
 	
-	public CrystalCaverns(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		
-		addStartNpc(ORACLE_GUIDE_1);
-		addTalkId(ORACLE_GUIDE_1);
-		addTalkId(ORACLE_GUIDE_3);
-		addStartNpc(ORACLE_GUIDE_4);
-		addFirstTalkId(ORACLE_GUIDE_4);
-		addTalkId(ORACLE_GUIDE_4);
-		addFirstTalkId(CRYSTAL_GOLEM);
-		addAttackId(TEARS);
-		addTrapActionId(DOOR_OPENING_TRAP[0]);
-		addKillId(TEARS);
-		addKillId(GK1);
-		addKillId(GK2);
-		addKillId(TEROD);
-		addKillId(WEYLIN);
-		addKillId(DOLPH);
-		addKillId(DARNEL);
-		addKillId(KECHI);
-		addKillId(GUARDIAN);
-		addKillId(GUARDIAN2);
-		addKillId(TOURMALINE);
-		addKillId(BAYLOR);
-		addSpellFinishedId(BAYLOR);
-		addKillId(ALARMID);
-		int[] Talk =
-		{
-			32275,
-			32276,
-			32277
-		};
-		for (int npc : Talk)
-		{
-			addTalkId(npc);
-		}
-		int[] firstTalk =
-		{
-			32274,
-			32275,
-			32276,
-			32277,
-			ORACLE_GUIDE_1,
-			ORACLE_GUIDE_2
-		};
-		for (int npc : firstTalk)
-		{
-			addFirstTalkId(npc);
-		}
-		int[] skillSee =
-		{
-			25534,
-			32275,
-			32276,
-			32277,
-			BAYLOR
-		};
-		for (int npc : skillSee)
-		{
-			addSkillSeeId(npc);
-		}
-		for (int mob : MOBLIST)
-		{
-			addKillId(mob);
-		}
-		for (int mob : CGMOBS)
-		{
-			addKillId(mob);
-		}
-		for (int zones : ZONES)
-		{
-			addEnterZoneId(zones);
-			addExitZoneId(zones);
-		}
-	}
-	
 	public static void main(String[] args)
 	{
 		// now call the constructor (starts up the)
-		new CrystalCaverns(-1, qn, "instances");
+		new CrystalCaverns();
 	}
 }

+ 6 - 8
L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java

@@ -41,9 +41,8 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 /**
  * Dark Cloud Mansion instance zone.
  */
-public class DarkCloudMansion extends Quest
+public final class DarkCloudMansion extends Quest
 {
-	private static String qn = "DarkCloudMansion";
 	private static final int INSTANCEID = 9;
 	
 	private static boolean debug = false;
@@ -444,10 +443,9 @@ public class DarkCloudMansion extends Quest
 		}
 	};
 	
-	public DarkCloudMansion(int questId, String name, String descr)
+	private DarkCloudMansion()
 	{
-		super(questId, name, descr);
-		
+		super(-1, DarkCloudMansion.class.getSimpleName(), "instances");
 		addFirstTalkId(BSM);
 		addFirstTalkId(SOTruth);
 		addStartNpc(YIYEN);
@@ -566,7 +564,7 @@ public class DarkCloudMansion extends Quest
 		{
 			for (L2PcInstance partyMember : party.getMembers())
 			{
-				if (partyMember.getQuestState(qn) == null)
+				if (partyMember.getQuestState(getName()) == null)
 				{
 					newQuestState(partyMember);
 				}
@@ -1415,7 +1413,7 @@ public class DarkCloudMansion extends Quest
 			if ((npc.getId() == SOTruth) && (world.getStatus() == 10))
 			{
 				npc.showChatWindow(player);
-				QuestState st = player.getQuestState(qn);
+				QuestState st = player.getQuestState(getName());
 				if (st == null)
 				{
 					st = newQuestState(player);
@@ -1477,6 +1475,6 @@ public class DarkCloudMansion extends Quest
 	
 	public static void main(String[] args)
 	{
-		new DarkCloudMansion(-1, "DarkCloudMansion", qn);
+		new DarkCloudMansion();
 	}
 }

+ 9 - 11
L2J_DataPack_BETA/dist/game/data/scripts/instances/DemonPrinceFloor/DemonPrinceFloor.java

@@ -37,26 +37,24 @@ import com.l2jserver.gameserver.util.Util;
  * Demon Prince Floor instance zone.
  * @author GKR
  */
-public class DemonPrinceFloor extends Quest
+public final class DemonPrinceFloor extends Quest
 {
-	private static final int INSTANCEID = 142; // this is the client number
-	private static final int RESET_HOUR = 6;
-	private static final int RESET_MIN = 30;
-	
 	// NPCs
 	private static final int GK_4 = 32748;
 	private static final int CUBE = 32375;
 	private static final int DEMON_PRINCE = 25540;
-	
+	// Item
 	private static final int SEAL_BREAKER_5 = 15515;
-	
+	// Misc
+	private static final int INSTANCEID = 142; // this is the client number
+	private static final int RESET_HOUR = 6;
+	private static final int RESET_MIN = 30;
 	private static final Location ENTRY_POINT = new Location(-22208, 277056, -8239);
 	private static final Location EXIT_POINT = new Location(-19024, 277122, -8256);
 	
-	public DemonPrinceFloor(int questId, String name, String descr)
+	private DemonPrinceFloor()
 	{
-		super(questId, name, descr);
-		
+		super(-1, DemonPrinceFloor.class.getSimpleName(), "instances");
 		addStartNpc(GK_4);
 		addStartNpc(CUBE);
 		addTalkId(GK_4);
@@ -274,6 +272,6 @@ public class DemonPrinceFloor extends Quest
 	
 	public static void main(String[] args)
 	{
-		new DemonPrinceFloor(-1, DemonPrinceFloor.class.getSimpleName(), "instances");
+		new DemonPrinceFloor();
 	}
 }

+ 18 - 19
L2J_DataPack_BETA/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java

@@ -81,7 +81,7 @@ import com.l2jserver.gameserver.util.Util;
  * Use proper zone spawn system.
  * @author Gigiikun
  */
-public class FinalEmperialTomb extends Quest
+public final class FinalEmperialTomb extends Quest
 {
 	private class FETWorld extends InstanceWorld
 	{
@@ -293,9 +293,24 @@ public class FinalEmperialTomb extends Quest
 	private static final int RESET_DAY_1 = 4;
 	private static final int RESET_DAY_2 = 7;
 	
-	@SuppressWarnings("unused")
+	private FinalEmperialTomb()
+	{
+		super(-1, FinalEmperialTomb.class.getSimpleName(), "instances");
+		load();
+		addAttackId(SCARLET1, FRINTEZZA);
+		addAttackId(PORTRAITS);
+		addStartNpc(GUIDE, CUBE);
+		addTalkId(GUIDE, CUBE);
+		addKillId(HALL_ALARM, HALL_KEEPER_CAPTAIN, DARK_CHOIR_PLAYER, SCARLET2);
+		addKillId(PORTRAITS);
+		addKillId(DEMONS);
+		addKillId(_mustKillMobsId);
+		addSpellFinishedId(HALL_KEEPER_SUICIDAL_SOLDIER);
+	}
+	
 	private void load()
 	{
+		@SuppressWarnings("unused")
 		int spawnCount = 0;
 		try
 		{
@@ -1578,24 +1593,8 @@ public class FinalEmperialTomb extends Quest
 		return "";
 	}
 	
-	public FinalEmperialTomb(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		
-		load();
-		addAttackId(SCARLET1, FRINTEZZA);
-		addAttackId(PORTRAITS);
-		addStartNpc(GUIDE, CUBE);
-		addTalkId(GUIDE, CUBE);
-		addKillId(HALL_ALARM, HALL_KEEPER_CAPTAIN, DARK_CHOIR_PLAYER, SCARLET2);
-		addKillId(PORTRAITS);
-		addKillId(DEMONS);
-		addKillId(_mustKillMobsId);
-		addSpellFinishedId(HALL_KEEPER_SUICIDAL_SOLDIER);
-	}
-	
 	public static void main(String[] args)
 	{
-		new FinalEmperialTomb(-1, FinalEmperialTomb.class.getSimpleName(), "instances");
+		new FinalEmperialTomb();
 	}
 }

+ 4 - 15
L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java

@@ -45,7 +45,7 @@ import com.l2jserver.gameserver.util.Util;
  * Urban Area instance zone.
  * @author GKR
  */
-public class HellboundTown extends Quest
+public final class HellboundTown extends Quest
 {
 	protected class TownWorld extends InstanceWorld
 	{
@@ -54,7 +54,6 @@ public class HellboundTown extends Quest
 		public boolean isAmaskariDead = false;
 	}
 	
-	private static final String qn = "HellboundTown";
 	private static final int INSTANCEID = 2;
 	
 	private static final NpcStringId[] NPCSTRING_ID =
@@ -77,34 +76,24 @@ public class HellboundTown extends Quest
 	private static final int DOWNTOWN_NATIVE = 32358;
 	private static final int TOWN_GUARD = 22359;
 	private static final int TOWN_PATROL = 22360;
-	
 	private static final Location AMASKARI_SPAWN_POINT = new Location(19424, 253360, -2032, 16860);
-	
 	private static final Location ENTRY_POINT = new Location(14117, 255434, -2016);
-	
 	protected static final Location EXIT_POINT = new Location(16262, 283651, -9700);
-	
 	private static final SkillHolder STONE = new SkillHolder(4616, 1);
-	
 	private static final int KEY = 9714;
 	
-	public HellboundTown(int questId, String name, String descr)
+	private HellboundTown()
 	{
-		super(questId, name, descr);
-		
+		super(-1, HellboundTown.class.getSimpleName(), "instances");
 		addFirstTalkId(DOWNTOWN_NATIVE);
-		
 		addStartNpc(KANAF);
 		addStartNpc(DOWNTOWN_NATIVE);
 		addTalkId(KANAF);
 		addTalkId(DOWNTOWN_NATIVE);
-		
 		addAttackId(TOWN_GUARD);
 		addAttackId(KEYMASTER);
 		addAggroRangeEnterId(TOWN_GUARD);
-		
 		addKillId(AMASKARI);
-		
 		addSpawnId(DOWNTOWN_NATIVE);
 		addSpawnId(TOWN_GUARD);
 		addSpawnId(TOWN_PATROL);
@@ -493,6 +482,6 @@ public class HellboundTown extends Quest
 	
 	public static void main(String[] args)
 	{
-		new HellboundTown(-1, qn, "instances");
+		new HellboundTown();
 	}
 }

+ 4 - 5
L2J_DataPack_BETA/dist/game/data/scripts/instances/HideoutOfTheDawn/HideoutOfTheDawn.java

@@ -31,7 +31,7 @@ import com.l2jserver.gameserver.network.SystemMessageId;
  * Hideout of the Dawn instance zone.
  * @author Adry_85
  */
-public class HideoutOfTheDawn extends Quest
+public final class HideoutOfTheDawn extends Quest
 {
 	protected class HotDWorld extends InstanceWorld
 	{
@@ -46,10 +46,9 @@ public class HideoutOfTheDawn extends Quest
 	private static final Location WOOD_LOC = new Location(-23758, -8959, -5384, 0, 0);
 	private static final Location JAINA_LOC = new Location(147072, 23743, -1984, 0);
 	
-	public HideoutOfTheDawn(int questId, String name, String descr)
+	private HideoutOfTheDawn()
 	{
-		super(questId, name, descr);
-		
+		super(-1, HideoutOfTheDawn.class.getSimpleName(), "instances");
 		addStartNpc(WOOD);
 		addTalkId(WOOD, JAINA);
 	}
@@ -119,6 +118,6 @@ public class HideoutOfTheDawn extends Quest
 	
 	public static void main(String[] args)
 	{
-		new HideoutOfTheDawn(-1, HideoutOfTheDawn.class.getSimpleName(), "instances");
+		new HideoutOfTheDawn();
 	}
 }

+ 63 - 140
L2J_DataPack_BETA/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java

@@ -44,7 +44,7 @@ import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 
-public class Kamaloka extends Quest
+public final class Kamaloka extends Quest
 {
 	/*
 	 * Reset time for all kamaloka Default: 6:30AM on server time
@@ -75,27 +75,11 @@ public class Kamaloka extends Quest
 	/*
 	 * Hardcoded instance ids for kamaloka
 	 */
+	// @formatter:off
+	// TODO optimize instance data, this can be compressed to look much more readable
 	private static final int[] INSTANCE_IDS =
 	{
-		57,
-		58,
-		73,
-		60,
-		61,
-		74,
-		63,
-		64,
-		75,
-		66,
-		67,
-		76,
-		69,
-		70,
-		77,
-		72,
-		78,
-		79,
-		134
+		57, 58, 73, 60, 61, 74, 63, 64, 75, 66, 67, 76, 69, 70, 77, 72, 78, 79, 134
 	};
 	
 	/*
@@ -103,25 +87,7 @@ public class Kamaloka extends Quest
 	 */
 	private static final int[] LEVEL =
 	{
-		23,
-		26,
-		29,
-		33,
-		36,
-		39,
-		43,
-		46,
-		49,
-		53,
-		56,
-		59,
-		63,
-		66,
-		69,
-		73,
-		78,
-		81,
-		83
+		23, 26, 29, 33, 36, 39, 43, 46, 49, 53, 56, 59, 63, 66, 69, 73, 78, 81, 83
 	};
 	
 	/*
@@ -129,25 +95,7 @@ public class Kamaloka extends Quest
 	 */
 	private static final int[] DURATION =
 	{
-		30,
-		30,
-		45,
-		30,
-		30,
-		45,
-		30,
-		30,
-		45,
-		30,
-		30,
-		45,
-		30,
-		30,
-		45,
-		30,
-		45,
-		45,
-		45
+		30, 30, 45, 30, 30, 45, 30, 30, 45, 30, 30, 45, 30, 30, 45, 30, 45, 45, 45
 	};
 	
 	/*
@@ -155,47 +103,19 @@ public class Kamaloka extends Quest
 	 */
 	private static final int[] MAX_PARTY_SIZE =
 	{
-		6,
-		6,
-		9,
-		6,
-		6,
-		9,
-		6,
-		6,
-		9,
-		6,
-		6,
-		9,
-		6,
-		6,
-		9,
-		6,
-		9,
-		9,
-		9
+		6, 6, 9, 6, 6, 9, 6, 6, 9, 6, 6, 9, 6, 6, 9, 6, 9, 9, 9
 	};
 	
-	/*
-	 * List of buffs NOT removed on enter from player and pet On retail only newbie guide buffs not removed CAUTION: array must be sorted in ascension order !
+	/**
+	 * List of buffs NOT removed on enter from player and pet<br>
+	 * On retail only newbie guide buffs not removed<br>
+	 * CAUTION: array must be sorted in ascension order!
 	 */
 	protected static final int[] BUFFS_WHITELIST =
 	{
-		4322,
-		4323,
-		4324,
-		4325,
-		4326,
-		4327,
-		4328,
-		4329,
-		4330,
-		4331,
-		5632,
-		5637,
-		5950
+		4322, 4323, 4324, 4325, 4326, 4327, 4328, 4329, 4330, 4331, 5632, 5637, 5950
 	};
-	
+	// @formatter:on
 	/*
 	 * Teleport points into instances x, y, z
 	 */
@@ -227,8 +147,11 @@ public class Kamaloka extends Quest
 	 */
 	private static final int FIRST_ROOM_RESPAWN_DELAY = 25;
 	
-	/*
-	 * First room information, null if room not spawned Skill is casted on the boss when shaman is defeated and mobs respawn stopped Default: 5699 (decrease pdef) shaman npcId, minions npcId, skillId, skillLvl
+	/**
+	 * First room information, null if room not spawned.<br>
+	 * Skill is casted on the boss when shaman is defeated and mobs respawn stopped<br>
+	 * Default: 5699 (decrease pdef)<br>
+	 * shaman npcId, minions npcId, skillId, skillLvl
 	 */
 	private static final int[][] FIRST_ROOM =
 	{
@@ -1283,6 +1206,50 @@ public class Kamaloka extends Quest
 		public L2Npc boss = null; // boss
 	}
 	
+	private Kamaloka()
+	{
+		super(-1, Kamaloka.class.getSimpleName(), "instances");
+		addFirstTalkId(TELEPORTER);
+		addTalkId(TELEPORTER);
+		for (int cap : CAPTAINS)
+		{
+			addStartNpc(cap);
+			addTalkId(cap);
+		}
+		for (int[] mob : FIRST_ROOM)
+		{
+			if (mob != null)
+			{
+				if (STEALTH_SHAMAN)
+				{
+					addKillId(mob[1]);
+				}
+				else
+				{
+					addKillId(mob[0]);
+				}
+			}
+		}
+		for (int[] mob : SECOND_ROOM)
+		{
+			if (mob != null)
+			{
+				addKillId(mob[0]);
+			}
+		}
+		for (int[] mob : MINIBOSS)
+		{
+			if (mob != null)
+			{
+				addKillId(mob[0]);
+			}
+		}
+		for (int[] mob : BOSS)
+		{
+			addKillId(mob[0]);
+		}
+	}
+	
 	/**
 	 * Check if party with player as leader allowed to enter
 	 * @param player party leader
@@ -1775,52 +1742,8 @@ public class Kamaloka extends Quest
 		return super.onKill(npc, player, isSummon);
 	}
 	
-	public Kamaloka(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		addFirstTalkId(TELEPORTER);
-		addTalkId(TELEPORTER);
-		for (int cap : CAPTAINS)
-		{
-			addStartNpc(cap);
-			addTalkId(cap);
-		}
-		for (int[] mob : FIRST_ROOM)
-		{
-			if (mob != null)
-			{
-				if (STEALTH_SHAMAN)
-				{
-					addKillId(mob[1]);
-				}
-				else
-				{
-					addKillId(mob[0]);
-				}
-			}
-		}
-		for (int[] mob : SECOND_ROOM)
-		{
-			if (mob != null)
-			{
-				addKillId(mob[0]);
-			}
-		}
-		for (int[] mob : MINIBOSS)
-		{
-			if (mob != null)
-			{
-				addKillId(mob[0]);
-			}
-		}
-		for (int[] mob : BOSS)
-		{
-			addKillId(mob[0]);
-		}
-	}
-	
 	public static void main(String[] args)
 	{
-		new Kamaloka(-1, Kamaloka.class.getSimpleName(), "instances");
+		new Kamaloka();
 	}
 }

+ 25 - 29
L2J_DataPack_BETA/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java

@@ -45,7 +45,7 @@ import com.l2jserver.gameserver.util.Util;
  * @author Gnacik
  * @version 2010-10-15 Based on official server Naia
  */
-public class NornilsGarden extends Quest
+public final class NornilsGarden extends Quest
 {
 	protected class NornilsWorld extends InstanceWorld
 	{
@@ -56,7 +56,6 @@ public class NornilsGarden extends Quest
 		public boolean spawned_4 = false;
 	}
 	
-	private static final String qn = "NornilsGarden";
 	private static final int INSTANCE_ID = 11;
 	
 	private static final int DURATION_TIME = 70;
@@ -218,10 +217,29 @@ public class NornilsGarden extends Quest
 		}
 	}
 	
+	private NornilsGarden()
+	{
+		super(-1, NornilsGarden.class.getSimpleName(), "instances");
+		addStartNpc(_garden_guard);
+		addFirstTalkId(_garden_guard);
+		addTalkId(_garden_guard);
+		for (int i[] : _gatekeepers)
+		{
+			addKillId(i[0]);
+		}
+		for (int i[] : _auto_gates)
+		{
+			addEnterZoneId(i[0]);
+		}
+		addTalkId(_final_gates);
+		addAttackId(_herb_jar);
+		addAttackId(18362); // first garden guard
+	}
+	
 	@Override
 	public final void teleportPlayer(L2PcInstance player, Location loc, int instanceId)
 	{
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			st = newQuestState(player);
@@ -510,7 +528,7 @@ public class NornilsGarden extends Quest
 		player.sendMessage("On Event");
 		
 		String htmltext = event;
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -592,7 +610,7 @@ public class NornilsGarden extends Quest
 	@Override
 	public final String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			st = newQuestState(player);
@@ -619,7 +637,7 @@ public class NornilsGarden extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			return null;
@@ -650,30 +668,8 @@ public class NornilsGarden extends Quest
 		return super.onKill(npc, player, isSummon);
 	}
 	
-	public NornilsGarden(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		
-		addStartNpc(_garden_guard);
-		addFirstTalkId(_garden_guard);
-		addTalkId(_garden_guard);
-		
-		for (int i[] : _gatekeepers)
-		{
-			addKillId(i[0]);
-		}
-		for (int i[] : _auto_gates)
-		{
-			addEnterZoneId(i[0]);
-		}
-		addTalkId(_final_gates);
-		
-		addAttackId(_herb_jar);
-		addAttackId(18362); // first garden guard
-	}
-	
 	public static void main(String[] args)
 	{
-		new NornilsGarden(-1, qn, "instances");
+		new NornilsGarden();
 	}
 }

+ 15 - 14
L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java

@@ -46,7 +46,7 @@ import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
 /**
  * Pailaka (Devil's Isle) instance zone.
  */
-public class PailakaDevilsLegacy extends Quest
+public final class PailakaDevilsLegacy extends Quest
 {
 	private static final int MIN_LEVEL = 61;
 	private static final int MAX_LEVEL = 67;
@@ -170,6 +170,20 @@ public class PailakaDevilsLegacy extends Quest
 	private static L2Skill boom_skill = SkillTable.getInstance().getInfo(5714, 1);
 	private static L2Skill energy_skill = SkillTable.getInstance().getInfo(5712, 1);
 	
+	private PailakaDevilsLegacy()
+	{
+		// TODO change the script to use the actual class name
+		super(129, "129_PailakaDevilsLegacy", "Pailaka - Devil's Legacy");
+		addStartNpc(SURVIVOR);
+		addFirstTalkId(SURVIVOR, SUPPORTER, ADVENTURER1, ADVENTURER2);
+		addTalkId(SURVIVOR, SUPPORTER, ADVENTURER1, ADVENTURER2);
+		addAttackId(TREASURE_BOX, POWDER_KEG, LEMATAN);
+		addKillId(MONSTERS);
+		addEnterZoneId(ZONE);
+		addSpawnId(FOLLOWERS);
+		registerQuestItems(ITEMS);
+	}
+	
 	private void attackPlayer(L2Attackable npc, L2Playable attacker)
 	{
 		npc.setIsRunning(true);
@@ -604,19 +618,6 @@ public class PailakaDevilsLegacy extends Quest
 		}
 	}
 	
-	private PailakaDevilsLegacy()
-	{
-		super(129, "129_PailakaDevilsLegacy", "Pailaka - Devil's Legacy");
-		addStartNpc(SURVIVOR);
-		addFirstTalkId(SURVIVOR, SUPPORTER, ADVENTURER1, ADVENTURER2);
-		addTalkId(SURVIVOR, SUPPORTER, ADVENTURER1, ADVENTURER2);
-		addAttackId(TREASURE_BOX, POWDER_KEG, LEMATAN);
-		addKillId(MONSTERS);
-		addEnterZoneId(ZONE);
-		addSpawnId(FOLLOWERS);
-		registerQuestItems(ITEMS);
-	}
-	
 	public static void main(String[] args)
 	{
 		new PailakaDevilsLegacy();

+ 15 - 14
L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java

@@ -41,7 +41,7 @@ import com.l2jserver.gameserver.util.Broadcast;
 /**
  * Pailaka (Forgotten Temple) instance zone.
  */
-public class PailakaSongOfIceAndFire extends Quest
+public final class PailakaSongOfIceAndFire extends Quest
 {
 	private static final int MIN_LEVEL = 36;
 	private static final int MAX_LEVEL = 42;
@@ -194,6 +194,20 @@ public class PailakaSongOfIceAndFire extends Quest
 	/** Flag for "see creature". */
 	private boolean _seenCreature = false;
 	
+	private PailakaSongOfIceAndFire()
+	{
+		// TODO change the script to use the actual class name
+		super(128, "128_PailakaSongOfIceAndFire", "Pailaka - Song of Ice and Fire");
+		addStartNpc(ADLER1);
+		addFirstTalkId(ADLER1, ADLER2, SINAI, INSPECTOR);
+		addTalkId(ADLER1, ADLER2, SINAI, INSPECTOR);
+		addAttackId(BOTTLE, BRAZIER);
+		addKillId(MONSTERS);
+		addExitZoneId(ZONE);
+		addSeeCreatureId(GARGOS);
+		registerQuestItems(ITEMS);
+	}
+	
 	private static final void dropHerb(L2Npc mob, L2PcInstance player, int[][] drop)
 	{
 		final int chance = getRandom(100);
@@ -554,19 +568,6 @@ public class PailakaSongOfIceAndFire extends Quest
 		}
 	}
 	
-	private PailakaSongOfIceAndFire()
-	{
-		super(128, "128_PailakaSongOfIceAndFire", "Pailaka - Song of Ice and Fire");
-		addStartNpc(ADLER1);
-		addFirstTalkId(ADLER1, ADLER2, SINAI, INSPECTOR);
-		addTalkId(ADLER1, ADLER2, SINAI, INSPECTOR);
-		addAttackId(BOTTLE, BRAZIER);
-		addKillId(MONSTERS);
-		addExitZoneId(ZONE);
-		addSeeCreatureId(GARGOS);
-		registerQuestItems(ITEMS);
-	}
-	
 	public static void main(String[] args)
 	{
 		new PailakaSongOfIceAndFire();

+ 9 - 11
L2J_DataPack_BETA/dist/game/data/scripts/instances/RankuFloor/RankuFloor.java

@@ -37,26 +37,24 @@ import com.l2jserver.gameserver.util.Util;
  * Tower of Infinitum (10th Floor) instance zone.
  * @author GKR
  */
-public class RankuFloor extends Quest
+public final class RankuFloor extends Quest
 {
-	private static final int INSTANCEID = 143; // this is the client number
-	private static final int RESET_HOUR = 6;
-	private static final int RESET_MIN = 30;
-	
 	// NPCs
 	private static final int GK_9 = 32752;
 	private static final int CUBE = 32374;
 	private static final int RANKU = 25542;
-	
+	// Item
 	private static final int SEAL_BREAKER_10 = 15516;
-	
+	// Misc
+	private static final int INSTANCEID = 143; // this is the client number
+	private static final int RESET_HOUR = 6;
+	private static final int RESET_MIN = 30;
 	private static final Location ENTRY_POINT = new Location(-19008, 277024, -15000);
 	private static final Location EXIT_POINT = new Location(-19008, 277122, -13376);
 	
-	public RankuFloor(int questId, String name, String descr)
+	private RankuFloor()
 	{
-		super(questId, name, descr);
-		
+		super(-1, RankuFloor.class.getSimpleName(), "instances");
 		addStartNpc(GK_9);
 		addStartNpc(CUBE);
 		addTalkId(GK_9);
@@ -276,6 +274,6 @@ public class RankuFloor extends Quest
 	
 	public static void main(String[] args)
 	{
-		new RankuFloor(-1, RankuFloor.class.getSimpleName(), "instances");
+		new RankuFloor();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/instances/SanctumOftheLordsOfDawn/SanctumOftheLordsOfDawn.java

@@ -39,7 +39,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Sanctum of the Lords of Dawn instance zone.
  * @author Adry_85
  */
-public class SanctumOftheLordsOfDawn extends Quest
+public final class SanctumOftheLordsOfDawn extends Quest
 {
 	protected class HSWorld extends InstanceWorld
 	{
@@ -70,9 +70,9 @@ public class SanctumOftheLordsOfDawn extends Quest
 	private static final Location ENTER = new Location(-76161, 213401, -7120, 0, 0);
 	private static final Location EXIT = new Location(-12585, 122305, -2989, 0, 0);
 	
-	public SanctumOftheLordsOfDawn(int questId, String name, String descr)
+	private SanctumOftheLordsOfDawn()
 	{
-		super(questId, name, descr);
+		super(-1, SanctumOftheLordsOfDawn.class.getSimpleName(), "instances");
 		addStartNpc(LIGHT_OF_DAWN);
 		addTalkId(LIGHT_OF_DAWN, IDENTITY_CONFIRM_DEVICE, PASSWORD_ENTRY_DEVICE, DARKNESS_OF_DAWN, SHELF);
 		addAggroRangeEnterId(GUARDS_OF_THE_DAWN, GUARDS_OF_THE_DAWN_2, GUARDS_OF_THE_DAWN_3);
@@ -245,6 +245,6 @@ public class SanctumOftheLordsOfDawn extends Quest
 	
 	public static void main(String[] args)
 	{
-		new SanctumOftheLordsOfDawn(-1, SanctumOftheLordsOfDawn.class.getSimpleName(), "instances");
+		new SanctumOftheLordsOfDawn();
 	}
 }

+ 10 - 11
L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java

@@ -31,7 +31,7 @@ import com.l2jserver.gameserver.network.SystemMessageId;
  * Secret Area in the Keucereus Fortress instance zone.
  * @author Gladicek
  */
-public class SecretArea extends Quest
+public final class SecretArea extends Quest
 {
 	private static final int INSTANCE_ID = 117;
 	// TODO Unharcode htmls.
@@ -47,6 +47,14 @@ public class SecretArea extends Quest
 		new Location(-185057, 242821, 1576)
 	};
 	
+	private SecretArea()
+	{
+		super(-1, SecretArea.class.getSimpleName(), "instances");
+		addStartNpc(GINBY);
+		addTalkId(GINBY);
+		addTalkId(LELRIKIA);
+	}
+	
 	protected void enterInstance(L2PcInstance player)
 	{
 		InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player);
@@ -94,17 +102,8 @@ public class SecretArea extends Quest
 		return htmltext;
 	}
 	
-	public SecretArea(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		
-		addStartNpc(GINBY);
-		addTalkId(GINBY);
-		addTalkId(LELRIKIA);
-	}
-	
 	public static void main(String[] args)
 	{
-		new SecretArea(-1, SecretArea.class.getSimpleName(), "instances");
+		new SecretArea();
 	}
 }

+ 33 - 39
L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java

@@ -77,7 +77,7 @@ import com.l2jserver.gameserver.util.Util;
  * Please maintain consistency between the Seed scripts.
  * @author Gigiikun
  */
-public class Stage1 extends Quest
+public final class Stage1 extends Quest
 {
 	protected class SOD1World extends InstanceWorld
 	{
@@ -99,7 +99,6 @@ public class Stage1 extends Quest
 		public int count = 0;
 	}
 	
-	private static final String qn = "SoDStage1";
 	private static final int INSTANCEID = 110; // this is the client number
 	private static final int MIN_PLAYERS = 36;
 	private static final int MAX_PLAYERS = 45;
@@ -212,14 +211,42 @@ public class Stage1 extends Quest
 	private static final int FORTRESS_DOOR = 12240030;
 	private static final int THRONE_DOOR = 12240031;
 	
-	// spawns
-	
 	// Initialization at 6:30 am on Wednesday and Saturday
 	private static final int RESET_HOUR = 6;
 	private static final int RESET_MIN = 30;
 	private static final int RESET_DAY_1 = 4;
 	private static final int RESET_DAY_2 = 7;
 	
+	private Stage1()
+	{
+		// TODO change name to use actual class name
+		super(-1, "SoDStage1", "instances");
+		load();
+		addStartNpc(ALENOS);
+		addTalkId(ALENOS);
+		addStartNpc(TELEPORT);
+		addTalkId(TELEPORT);
+		addAttackId(OBELISK);
+		addSpawnId(OBELISK);
+		addKillId(OBELISK);
+		addSpawnId(POWERFUL_DEVICE);
+		addKillId(POWERFUL_DEVICE);
+		addSpawnId(THRONE_POWERFUL_DEVICE);
+		addKillId(THRONE_POWERFUL_DEVICE);
+		addAttackId(TIAT);
+		addKillId(TIAT);
+		addKillId(SPAWN_DEVICE);
+		addSpawnId(TIAT_GUARD);
+		addKillId(TIAT_GUARD);
+		addAggroRangeEnterId(TIAT_VIDEO_NPC);
+		// registering spawn traps which handled in this script
+		for (int i = 18771; i <= 18774; i++)
+		{
+			addTrapActionId(i);
+		}
+		addKillId(_mustKillMobsId);
+	}
+	
 	private void load()
 	{
 		int spawnCount = 0;
@@ -992,7 +1019,7 @@ public class Stage1 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			st = newQuestState(player);
@@ -1046,42 +1073,9 @@ public class Stage1 extends Quest
 		return null;
 	}
 	
-	public Stage1(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		
-		load();
-		addStartNpc(ALENOS);
-		addTalkId(ALENOS);
-		addStartNpc(TELEPORT);
-		addTalkId(TELEPORT);
-		addAttackId(OBELISK);
-		addSpawnId(OBELISK);
-		addKillId(OBELISK);
-		addSpawnId(POWERFUL_DEVICE);
-		addKillId(POWERFUL_DEVICE);
-		addSpawnId(THRONE_POWERFUL_DEVICE);
-		addKillId(THRONE_POWERFUL_DEVICE);
-		addAttackId(TIAT);
-		addKillId(TIAT);
-		addKillId(SPAWN_DEVICE);
-		addSpawnId(TIAT_GUARD);
-		addKillId(TIAT_GUARD);
-		addAggroRangeEnterId(TIAT_VIDEO_NPC);
-		// registering spawn traps which handled in this script
-		for (int i = 18771; i <= 18774; i++)
-		{
-			addTrapActionId(i);
-		}
-		for (int mobId : _mustKillMobsId)
-		{
-			addKillId(mobId);
-		}
-	}
-	
 	public static void main(String[] args)
 	{
 		// now call the constructor (starts up the)
-		new Stage1(-1, qn, "instances");
+		new Stage1();
 	}
 }

+ 18 - 18
L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/HallOfSuffering.java

@@ -51,7 +51,7 @@ import com.l2jserver.gameserver.util.Util;
  * - bound instance to quests<br>
  * @author Gigiikun, ZakaX, Didldak
  */
-public class HallOfSuffering extends Quest
+public final class HallOfSuffering extends Quest
 {
 	protected class HSWorld extends InstanceWorld
 	{
@@ -66,7 +66,6 @@ public class HallOfSuffering extends Quest
 		public boolean isRewarded = false;
 	}
 	
-	private static final String qn = "SeedOfInfinity";
 	private static final int INSTANCEID = 115; // this is the client number
 	private static final boolean debug = false;
 	
@@ -405,6 +404,19 @@ public class HallOfSuffering extends Quest
 	// default: 24h
 	private static final int INSTANCEPENALTY = 24;
 	
+	private HallOfSuffering()
+	{
+		// TODO change name to use actual class name
+		super(-1, "SeedOfInfinity", "instances");
+		addStartNpc(MOUTHOFEKIMUS, TEPIOS);
+		addTalkId(MOUTHOFEKIMUS, TEPIOS);
+		addFirstTalkId(TEPIOS);
+		addKillId(TUMOR_ALIVE, KLODEKUS, KLANIKUS);
+		addAttackId(KLODEKUS, KLANIKUS);
+		addSkillSeeId(TUMOR_MOBIDS);
+		addKillId(TUMOR_MOBIDS);
+	}
+	
 	private boolean checkConditions(L2PcInstance player)
 	{
 		if (debug)
@@ -501,7 +513,7 @@ public class HallOfSuffering extends Quest
 			{
 				teleportPlayer(partyMember, coords, instanceId);
 				world.addAllowed(partyMember.getObjectId());
-				if (partyMember.getQuestState(qn) == null)
+				if (partyMember.getQuestState(getName()) == null)
 				{
 					newQuestState(partyMember);
 				}
@@ -873,7 +885,7 @@ public class HallOfSuffering extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			st = newQuestState(player);
@@ -900,7 +912,7 @@ public class HallOfSuffering extends Quest
 				((HSWorld) world).isRewarded = true;
 				for (L2PcInstance pl : player.getParty().getMembers())
 				{
-					st = pl.getQuestState(qn);
+					st = pl.getQuestState(getName());
 					if (st != null)
 					{
 						st.giveItems(736, 1);
@@ -915,20 +927,8 @@ public class HallOfSuffering extends Quest
 		return "";
 	}
 	
-	public HallOfSuffering(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		addStartNpc(MOUTHOFEKIMUS, TEPIOS);
-		addTalkId(MOUTHOFEKIMUS, TEPIOS);
-		addFirstTalkId(TEPIOS);
-		addKillId(TUMOR_ALIVE, KLODEKUS, KLANIKUS);
-		addAttackId(KLODEKUS, KLANIKUS);
-		addSkillSeeId(TUMOR_MOBIDS);
-		addKillId(TUMOR_MOBIDS);
-	}
-	
 	public static void main(String[] args)
 	{
-		new HallOfSuffering(-1, qn, "instances");
+		new HallOfSuffering();
 	}
 }

+ 4 - 6
L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/AirShipGludioGracia.java

@@ -36,7 +36,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
 /**
  * @author DS
  */
-public class AirShipGludioGracia extends Quest implements Runnable
+public final class AirShipGludioGracia extends Quest implements Runnable
 {
 	private static final int[] CONTROLLERS =
 	{
@@ -109,14 +109,12 @@ public class AirShipGludioGracia extends Quest implements Runnable
 	private boolean _foundAtcGracia = false;
 	private L2Npc _atcGracia = null;
 	
-	public AirShipGludioGracia(int questId, String name, String descr)
+	private AirShipGludioGracia()
 	{
-		super(questId, name, descr);
-		
+		super(-1, AirShipGludioGracia.class.getSimpleName(), "vehicles");
 		addStartNpc(CONTROLLERS);
 		addFirstTalkId(CONTROLLERS);
 		addTalkId(CONTROLLERS);
-		
 		_ship = AirShipManager.getInstance().getNewAirShip(-149378, 252552, 198, 33837);
 		_ship.setOustLoc(OUST_GLUDIO);
 		_ship.setInDock(GLUDIO_DOCK_ID);
@@ -312,6 +310,6 @@ public class AirShipGludioGracia extends Quest implements Runnable
 	
 	public static void main(String[] args)
 	{
-		new AirShipGludioGracia(-1, AirShipGludioGracia.class.getSimpleName(), "vehicles");
+		new AirShipGludioGracia();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/vehicles/EngineerLekon/EngineerLekon.java

@@ -25,7 +25,7 @@ import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 
-public class EngineerLekon extends Quest
+public final class EngineerLekon extends Quest
 {
 	private static final int LEKON = 32557;
 	
@@ -37,9 +37,9 @@ public class EngineerLekon extends Quest
 	private static final SystemMessage SM_NO_PRIVS = SystemMessage.getSystemMessage(SystemMessageId.THE_AIRSHIP_NO_PRIVILEGES);
 	private static final SystemMessage SM_LICENSE_ALREADY_ACQUIRED = SystemMessage.getSystemMessage(SystemMessageId.THE_AIRSHIP_SUMMON_LICENSE_ALREADY_ACQUIRED);
 	
-	public EngineerLekon(int questId, String name, String descr)
+	private EngineerLekon()
 	{
-		super(questId, name, descr);
+		super(-1, EngineerLekon.class.getSimpleName(), "vehicles");
 		addStartNpc(LEKON);
 		addFirstTalkId(LEKON);
 		addTalkId(LEKON);
@@ -89,6 +89,6 @@ public class EngineerLekon extends Quest
 	
 	public static void main(String[] args)
 	{
-		new EngineerLekon(-1, EngineerLekon.class.getSimpleName(), "vehicles");
+		new EngineerLekon();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusNorthController/KeucereusNorthController.java

@@ -23,7 +23,7 @@ import vehicles.AirShipController;
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.VehiclePathPoint;
 
-public class KeucereusNorthController extends AirShipController
+public final class KeucereusNorthController extends AirShipController
 {
 	private static final int DOCK_ZONE = 50602;
 	private static final int LOCATION = 100;
@@ -67,9 +67,9 @@ public class KeucereusNorthController extends AirShipController
 		100
 	};
 	
-	public KeucereusNorthController(int questId, String name, String descr)
+	private KeucereusNorthController()
 	{
-		super(questId, name, descr);
+		super(-1, KeucereusNorthController.class.getSimpleName(), "vehicles");
 		addStartNpc(CONTROLLER_ID);
 		addFirstTalkId(CONTROLLER_ID);
 		addTalkId(CONTROLLER_ID);
@@ -97,6 +97,6 @@ public class KeucereusNorthController extends AirShipController
 	
 	public static void main(String[] args)
 	{
-		new KeucereusNorthController(-1, KeucereusNorthController.class.getSimpleName(), "vehicles");
+		new KeucereusNorthController();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusSouthController/KeucereusSouthController.java

@@ -23,7 +23,7 @@ import vehicles.AirShipController;
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.VehiclePathPoint;
 
-public class KeucereusSouthController extends AirShipController
+public final class KeucereusSouthController extends AirShipController
 {
 	private static final int DOCK_ZONE = 50603;
 	private static final int LOCATION = 100;
@@ -67,9 +67,9 @@ public class KeucereusSouthController extends AirShipController
 		100
 	};
 	
-	public KeucereusSouthController(int questId, String name, String descr)
+	private KeucereusSouthController()
 	{
-		super(questId, name, descr);
+		super(-1, KeucereusSouthController.class.getSimpleName(), "vehicles");
 		addStartNpc(CONTROLLER_ID);
 		addFirstTalkId(CONTROLLER_ID);
 		addTalkId(CONTROLLER_ID);
@@ -97,6 +97,6 @@ public class KeucereusSouthController extends AirShipController
 	
 	public static void main(String[] args)
 	{
-		new KeucereusSouthController(-1, KeucereusSouthController.class.getSimpleName(), "vehicles");
+		new KeucereusSouthController();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoDController/SoDController.java

@@ -23,7 +23,7 @@ import vehicles.AirShipController;
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.VehiclePathPoint;
 
-public class SoDController extends AirShipController
+public final class SoDController extends AirShipController
 {
 	private static final int DOCK_ZONE = 50601;
 	private static final int LOCATION = 102;
@@ -57,9 +57,9 @@ public class SoDController extends AirShipController
 		100
 	};
 	
-	public SoDController(int questId, String name, String descr)
+	private SoDController()
 	{
-		super(questId, name, descr);
+		super(-1, SoDController.class.getSimpleName(), "vehicles");
 		addStartNpc(CONTROLLER_ID);
 		addFirstTalkId(CONTROLLER_ID);
 		addTalkId(CONTROLLER_ID);
@@ -87,6 +87,6 @@ public class SoDController extends AirShipController
 	
 	public static void main(String[] args)
 	{
-		new SoDController(-1, SoDController.class.getSimpleName(), "vehicles");
+		new SoDController();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoIController/SoIController.java

@@ -23,7 +23,7 @@ import vehicles.AirShipController;
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.VehiclePathPoint;
 
-public class SoIController extends AirShipController
+public final class SoIController extends AirShipController
 {
 	private static final int DOCK_ZONE = 50600;
 	private static final int LOCATION = 101;
@@ -61,9 +61,9 @@ public class SoIController extends AirShipController
 		50
 	};
 	
-	public SoIController(int questId, String name, String descr)
+	private SoIController()
 	{
-		super(questId, name, descr);
+		super(-1, SoIController.class.getSimpleName(), "vehicles");
 		addStartNpc(CONTROLLER_ID);
 		addFirstTalkId(CONTROLLER_ID);
 		addTalkId(CONTROLLER_ID);
@@ -91,6 +91,6 @@ public class SoIController extends AirShipController
 	
 	public static void main(String[] args)
 	{
-		new SoIController(-1, SoIController.class.getSimpleName(), "vehicles");
+		new SoIController();
 	}
 }

+ 16 - 16
L2J_DataPack_BETA/dist/game/data/scripts/village_master/Alliance/Alliance.java

@@ -25,29 +25,29 @@ import com.l2jserver.gameserver.model.quest.Quest;
 /**
  * @author UnAfraid
  */
-public class Alliance extends Quest
+public final class Alliance extends Quest
 {
 	// @formatter:off
 	private static final int[] NPCS =
 	{
-		30026,30031,30037,30066,30070,30109,30115,30120,30154,30174, 
-	    30175,30176,30187,30191,30195,30288,30289,30290,30297,30358, 
-	    30373,30462,30474,30498,30499,30500,30503,30504,30505,30508, 
-	    30511,30512,30513,30520,30525,30565,30594,30595,30676,30677, 
-	    30681,30685,30687,30689,30694,30699,30704,30845,30847,30849, 
-	    30854,30857,30862,30865,30894,30897,30900,30905,30910,30913, 
-	    31269,31272,31276,31279,31285,31288,31314,31317,31321,31324, 
-	    31326,31328,31331,31334,31336,31755,31958,31961,31965,31968, 
-	    31974,31977,31996,32092,32093,32094,32095,32096,32097,32098, 
-	    32145,32146,32147,32150,32153,32154,32157,32158,32160,32171, 
-	    32193,32196,32199,32202,32205,32206,32209,32210,32213,32214, 
-	    32217,32218,32221,32222,32225,32226,32229,32230,32233,32234
+		30026,30031,30037,30066,30070,30109,30115,30120,30154,30174,
+		30175,30176,30187,30191,30195,30288,30289,30290,30297,30358,
+		30373,30462,30474,30498,30499,30500,30503,30504,30505,30508,
+		30511,30512,30513,30520,30525,30565,30594,30595,30676,30677,
+		30681,30685,30687,30689,30694,30699,30704,30845,30847,30849,
+		30854,30857,30862,30865,30894,30897,30900,30905,30910,30913,
+		31269,31272,31276,31279,31285,31288,31314,31317,31321,31324,
+		31326,31328,31331,31334,31336,31755,31958,31961,31965,31968,
+		31974,31977,31996,32092,32093,32094,32095,32096,32097,32098,
+		32145,32146,32147,32150,32153,32154,32157,32158,32160,32171,
+		32193,32196,32199,32202,32205,32206,32209,32210,32213,32214,
+		32217,32218,32221,32222,32225,32226,32229,32230,32233,32234
 	};
 	// @formatter:on
 	
-	public Alliance(int questId, String name, String descr)
+	private Alliance()
 	{
-		super(questId, name, descr);
+		super(-1, Alliance.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 	}
@@ -70,6 +70,6 @@ public class Alliance extends Quest
 	
 	public static void main(String[] args)
 	{
-		new Alliance(-1, Alliance.class.getSimpleName(), "village_master");
+		new Alliance();
 	}
 }

+ 15 - 16
L2J_DataPack_BETA/dist/game/data/scripts/village_master/Clan/Clan.java

@@ -28,26 +28,25 @@ import com.l2jserver.gameserver.model.quest.Quest;
 /**
  * @author UnAfraid
  */
-public class Clan extends Quest
+public final class Clan extends Quest
 {
 	// @formatter:off
 	private static final int[] NPCS =
 	{
-		30026,30031,30037,30066,30070,30109,30115,30120,30154,30174, 
-		30175,30176,30187,30191,30195,30288,30289,30290,30297,30358, 
-		30373,30462,30474,30498,30499,30500,30503,30504,30505,30508, 
-		30511,30512,30513,30520,30525,30565,30594,30595,30676,30677, 
-		30681,30685,30687,30689,30694,30699,30704,30845,30847,30849, 
-		30854,30857,30862,30865,30894,30897,30900,30905,30910,30913, 
-		31269,31272,31276,31279,31285,31288,31314,31317,31321,31324, 
-		31326,31328,31331,31334,31336,31755,31958,31961,31965,31968, 
-		31974,31977,31996,32092,32093,32094,32095,32096,32097,32098, 
-		32145,32146,32147,32150,32153,32154,32157,32158,32160,32171, 
-		32193,32196,32199,32202,32205,32206,32209,32210,32213,32214, 
+		30026,30031,30037,30066,30070,30109,30115,30120,30154,30174,
+		30175,30176,30187,30191,30195,30288,30289,30290,30297,30358,
+		30373,30462,30474,30498,30499,30500,30503,30504,30505,30508,
+		30511,30512,30513,30520,30525,30565,30594,30595,30676,30677,
+		30681,30685,30687,30689,30694,30699,30704,30845,30847,30849,
+		30854,30857,30862,30865,30894,30897,30900,30905,30910,30913,
+		31269,31272,31276,31279,31285,31288,31314,31317,31321,31324,
+		31326,31328,31331,31334,31336,31755,31958,31961,31965,31968,
+		31974,31977,31996,32092,32093,32094,32095,32096,32097,32098,
+		32145,32146,32147,32150,32153,32154,32157,32158,32160,32171,
+		32193,32196,32199,32202,32205,32206,32209,32210,32213,32214,
 		32217,32218,32221,32222,32225,32226,32229,32230,32233,32234
 	};
 	// @formatter:on
-	
 	private static final Map<String, String> LEADER_REQUIRED = new HashMap<>();
 	static
 	{
@@ -64,9 +63,9 @@ public class Clan extends Quest
 		LEADER_REQUIRED.put("9000-15.htm", "9000-07-no.htm");
 	}
 	
-	public Clan(int questId, String name, String descr)
+	private Clan()
 	{
-		super(questId, name, descr);
+		super(-1, Clan.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 	}
@@ -92,6 +91,6 @@ public class Clan extends Quest
 	
 	public static void main(String[] args)
 	{
-		new Clan(-1, Clan.class.getSimpleName(), "village_master");
+		new Clan();
 	}
 }

+ 6 - 12
L2J_DataPack_BETA/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java

@@ -32,10 +32,8 @@ import com.l2jserver.gameserver.util.Util;
  * Original Jython script by DraX and DrLecter
  * @author nonom
  */
-public class DarkElvenChange1 extends Quest
+public final class DarkElvenChange1 extends Quest
 {
-	private static final String qn = "DarkElvenChange1";
-	
 	// NPCs
 	private static int[] NPCS =
 	{
@@ -44,16 +42,13 @@ public class DarkElvenChange1 extends Quest
 		30462, // Tronix
 		32160, // Devon
 	};
-	
 	// Items
 	private static int GAZE_OF_ABYSS = 1244;
 	private static int IRON_HEART = 1252;
 	private static int JEWEL_OF_DARKNESS = 1261;
 	private static int ORB_OF_ABYSS = 1270;
-	
 	// Rewards
 	private static int SHADOW_WEAPON_COUPON_DGRADE = 8869;
-	
 	// @formatter:off
 	private static int[][] CLASSES = 
 	{
@@ -63,10 +58,9 @@ public class DarkElvenChange1 extends Quest
 		{ 42, 38, 27, 28, 29, 30, ORB_OF_ABYSS }, // SO
 	};
 	// @formatter:on
-	
-	public DarkElvenChange1(int questId, String name, String descr)
+	private DarkElvenChange1()
 	{
-		super(questId, name, descr);
+		super(-1, DarkElvenChange1.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 	}
@@ -74,7 +68,7 @@ public class DarkElvenChange1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -120,7 +114,7 @@ public class DarkElvenChange1 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			st = newQuestState(player);
@@ -169,6 +163,6 @@ public class DarkElvenChange1 extends Quest
 	
 	public static void main(String[] args)
 	{
-		new DarkElvenChange1(-1, qn, "village_master");
+		new DarkElvenChange1();
 	}
 }

+ 14 - 19
L2J_DataPack_BETA/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java

@@ -32,10 +32,8 @@ import com.l2jserver.gameserver.util.Util;
  * Original Jython script by DraX and DrLecter
  * @author nonom
  */
-public class DarkElvenChange2 extends Quest
+public final class DarkElvenChange2 extends Quest
 {
-	private static final String qn = "DarkElvenChange2";
-	
 	// NPCs
 	private static int[] NPCS =
 	{
@@ -52,7 +50,6 @@ public class DarkElvenChange2 extends Quest
 		31974, // Drizzit
 		32096, // Helminter
 	};
-	
 	// Items
 	private static int MARK_OF_CHALLENGER = 2627;
 	private static int MARK_OF_DUTY = 2633;
@@ -67,23 +64,21 @@ public class DarkElvenChange2 extends Quest
 	private static int MARK_OF_SAGITTARIUS = 3293;
 	private static int MARK_OF_WITCHCRAFT = 3307;
 	private static int MARK_OF_SUMMONER = 3336;
-	
 	// @formatter:off
 	private static int[][] CLASSES = 
 	{
-	    { 33, 32, 26, 27, 28, 29, MARK_OF_DUTY, MARK_OF_FATE, MARK_OF_WITCHCRAFT }, // SK
-	    { 34, 32, 30, 31, 32, 33, MARK_OF_CHALLENGER, MARK_OF_FATE, MARK_OF_DUELIST }, // BD
-	    { 43, 42, 34, 35, 36, 37, MARK_OF_PILGRIM, MARK_OF_FATE, MARK_OF_REFORMER }, // SE
-	    { 36, 35, 38, 39, 40, 41, MARK_OF_SEEKER, MARK_OF_FATE, MARK_OF_SEARCHER }, // AW
-	    { 37, 35, 42, 43, 44, 45, MARK_OF_SEEKER, MARK_OF_FATE, MARK_OF_SAGITTARIUS }, // PR
-	    { 40, 39, 46, 47, 48, 49, MARK_OF_SCHOLAR, MARK_OF_FATE, MARK_OF_MAGUS }, // SH
-	    { 41, 39, 50, 51, 52, 53, MARK_OF_SCHOLAR, MARK_OF_FATE, MARK_OF_SUMMONER }, // PS
-	 };
+		{ 33, 32, 26, 27, 28, 29, MARK_OF_DUTY, MARK_OF_FATE, MARK_OF_WITCHCRAFT }, // SK
+		{ 34, 32, 30, 31, 32, 33, MARK_OF_CHALLENGER, MARK_OF_FATE, MARK_OF_DUELIST }, // BD
+		{ 43, 42, 34, 35, 36, 37, MARK_OF_PILGRIM, MARK_OF_FATE, MARK_OF_REFORMER }, // SE
+		{ 36, 35, 38, 39, 40, 41, MARK_OF_SEEKER, MARK_OF_FATE, MARK_OF_SEARCHER }, // AW
+		{ 37, 35, 42, 43, 44, 45, MARK_OF_SEEKER, MARK_OF_FATE, MARK_OF_SAGITTARIUS }, // PR
+		{ 40, 39, 46, 47, 48, 49, MARK_OF_SCHOLAR, MARK_OF_FATE, MARK_OF_MAGUS }, // SH
+		{ 41, 39, 50, 51, 52, 53, MARK_OF_SCHOLAR, MARK_OF_FATE, MARK_OF_SUMMONER }, // PS
+	};
 	// @formatter:on
-	
-	public DarkElvenChange2(int questId, String name, String descr)
+	private DarkElvenChange2()
 	{
-		super(questId, name, descr);
+		super(-1, DarkElvenChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 	}
@@ -91,7 +86,7 @@ public class DarkElvenChange2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -140,7 +135,7 @@ public class DarkElvenChange2 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
-		QuestState st = player.getQuestState(qn);
+		QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			st = newQuestState(player);
@@ -204,6 +199,6 @@ public class DarkElvenChange2 extends Quest
 	
 	public static void main(String[] args)
 	{
-		new DarkElvenChange2(-1, qn, "village_master");
+		new DarkElvenChange2();
 	}
 }