Browse Source

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

xban1x 11 years ago
parent
commit
c7b6c5ec1c
87 changed files with 530 additions and 624 deletions
  1. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DragonValley.java
  2. 2 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/RandomSpawn.java
  3. 4 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Amaskari.java
  4. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Anais.java
  5. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java
  6. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
  7. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java
  8. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/CatsEyeBandit.java
  9. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Core.java
  10. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/CrimsonHatuOtis.java
  11. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DarkWaterDragon.java
  12. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DemonPrince.java
  13. 5 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DrChaos.java
  14. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Epidos.java
  15. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/FleeNpc.java
  16. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/FrightenedRagnaOrc.java
  17. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/GeneralDilios.java
  18. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Gordon.java
  19. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/HellboundCore.java
  20. 4 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Keltas.java
  21. 6 6
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Knoriks.java
  22. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/NaiaLock.java
  23. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java
  24. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/OutpostCaptain.java
  25. 4 6
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java
  26. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenShyeed.java
  27. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Ranku.java
  28. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/SinWardens.java
  29. 4 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Typhoon.java
  30. 4 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java
  31. 3 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java
  32. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java
  33. 4 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
  34. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleBlacksmith/CastleBlacksmith.java
  35. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleChamberlain/CastleChamberlain.java
  36. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleMercenaryManager/CastleMercenaryManager.java
  37. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleTeleporter/CastleTeleporter.java
  38. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleWarehouse/CastleWarehouse.java
  39. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ClanTrader/ClanTrader.java
  40. 13 13
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Dorian/Dorian.java
  41. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/DragonVortex/DragonVortex.java
  42. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FameManager/FameManager.java
  43. 10 11
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ForgeOfTheGods/ForgeOfTheGods.java
  44. 11 12
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ForgeOfTheGods/Rooney.java
  45. 16 18
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ForgeOfTheGods/TarBeetle.java
  46. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Jinia/Jinia.java
  47. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/KetraOrcSupport/KetraOrcSupport.java
  48. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/MercenaryCaptain/MercenaryCaptain.java
  49. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Minigame/Minigame.java
  50. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/MonumentOfHeroes/MonumentOfHeroes.java
  51. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/Nottingale.java
  52. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/NpcBuffers.java
  53. 5 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/impl/CabaleBuffer.java
  54. 2 2
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/PriestOfBlessing/PriestOfBlessing.java
  55. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Rafforty/Rafforty.java
  56. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java
  57. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/SymbolMaker/SymbolMaker.java
  58. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/CrumaTower.java
  59. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
  60. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
  61. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java
  62. 14 14
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
  63. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java
  64. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
  65. 20 20
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java
  66. 9 9
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
  67. 20 110
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
  68. 9 9
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
  69. 9 9
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SeparatedSoul/SeparatedSoul.java
  70. 5 5
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java
  71. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java
  72. 12 8
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/StrongholdsTeleports.java
  73. 9 9
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Survivor/Survivor.java
  74. 27 27
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java
  75. 28 28
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java
  76. 12 12
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java
  77. 9 9
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java
  78. 30 30
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Warpgate/Warpgate.java
  79. 13 13
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/TerritoryManagers/TerritoryManagers.java
  80. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/TownPets/TownPets.java
  81. 10 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Trainers/HealerTrainer/HealerTrainer.java
  82. 10 10
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Tunatun/Tunatun.java
  83. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java
  84. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java
  85. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/WeaverOlf/WeaverOlf.java
  86. 3 3
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/WyvernManager/WyvernManager.java
  87. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/ZealotOfShilen.java

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DragonValley.java

@@ -34,7 +34,7 @@ import com.l2jserver.gameserver.util.Util;
  * Dragon Valley AI.
  * @author St3eT
  */
-public class DragonValley extends AbstractNpcAI
+public final class DragonValley extends AbstractNpcAI
 {
 	// NPC
 	private static final int NECROMANCER_OF_THE_VALLEY = 22858;
@@ -63,9 +63,9 @@ public class DragonValley extends AbstractNpcAI
 	// Skill
 	private static SkillHolder SELF_DESTRUCTION = new SkillHolder(6850, 1);
 	
-	private DragonValley(String name, String descr)
+	private DragonValley()
 	{
-		super(name, descr);
+		super(DragonValley.class.getSimpleName(), "ai/group_template");
 		addAttackId(NECROMANCER_OF_THE_VALLEY);
 		addKillId(NECROMANCER_OF_THE_VALLEY);
 		addKillId(HERB_DROP);
@@ -153,6 +153,6 @@ public class DragonValley extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new DragonValley(DragonValley.class.getSimpleName(), "ai");
+		new DragonValley();
 	}
 }

+ 2 - 5
L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/RandomSpawn.java

@@ -31,7 +31,7 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
  * Manages spawn of NPCs having several random spawn points.
  * @author GKR
  */
-public class RandomSpawn extends AbstractNpcAI
+public final class RandomSpawn extends AbstractNpcAI
 {
 	private static Map<Integer, Location[]> SPAWN_POINTS = new FastMap<>();
 	static
@@ -82,10 +82,7 @@ public class RandomSpawn extends AbstractNpcAI
 	public RandomSpawn()
 	{
 		super(RandomSpawn.class.getSimpleName(), "ai/group_template");
-		for (int npcId : SPAWN_POINTS.keySet())
-		{
-			addSpawnId(npcId);
-		}
+		addSpawnId(SPAWN_POINTS.keySet());
 	}
 	
 	@Override

+ 4 - 5
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Amaskari.java

@@ -36,7 +36,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Manages Amaskari's and minions' chat and some skill usage.
  * @author GKR
  */
-public class Amaskari extends AbstractNpcAI
+public final class Amaskari extends AbstractNpcAI
 {
 	private static final int AMASKARI = 22449;
 	private static final int AMASKARI_PRISONER = 22450;
@@ -66,10 +66,9 @@ public class Amaskari extends AbstractNpcAI
 		NpcStringId.EEEK_I_FEEL_SICKYOW
 	};
 	
-	private Amaskari(String name, String descr)
+	private Amaskari()
 	{
-		super(name, descr);
-		
+		super(Amaskari.class.getSimpleName(), "ai/individual");
 		addKillId(AMASKARI, AMASKARI_PRISONER);
 		addAttackId(AMASKARI);
 		addSpawnId(AMASKARI_PRISONER);
@@ -186,6 +185,6 @@ public class Amaskari extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Amaskari(Amaskari.class.getSimpleName(), "ai");
+		new Amaskari();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Anais.java

@@ -51,9 +51,9 @@ public final class Anais extends AbstractNpcAI
 	private L2Npc _current = null;
 	private int _pot = 0;
 	
-	private Anais(String name, String descr)
+	private Anais()
 	{
-		super(name, descr);
+		super(Anais.class.getSimpleName(), "ai/individual");
 		addAttackId(ANAIS);
 		addKillId(GRAIL_WARD);
 		
@@ -186,6 +186,6 @@ public final class Anais extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Anais(Anais.class.getSimpleName(), "ai");
+		new Anais();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java

@@ -56,7 +56,7 @@ import com.l2jserver.gameserver.network.serverpackets.SpecialCamera;
  * Antharas' AI.
  * @author L2J_JP SANDMAN
  */
-public class Antharas extends AbstractNpcAI
+public final class Antharas extends AbstractNpcAI
 {
 	// config
 	private static final int FWA_ACTIVITYTIMEOFANTHARAS = 120;
@@ -118,9 +118,9 @@ public class Antharas extends AbstractNpcAI
 	
 	protected static L2BossZone _Zone;
 	
-	private Antharas(String name, String descr)
+	private Antharas()
 	{
-		super(name, descr);
+		super(Antharas.class.getSimpleName(), "ai/individual");
 		registerMobs(ANTHARAS_OLD_ID, ANTHARAS_WEAK_ID, ANTHARAS_NORMAL_ID, ANTHARAS_STRONG_ID, 29069, 29070, 29071, 29072, 29073, 29074, 29075, 29076);
 		init();
 	}
@@ -951,6 +951,6 @@ public class Antharas extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Antharas(Antharas.class.getSimpleName(), "ai");
+		new Antharas();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java

@@ -55,7 +55,7 @@ import com.l2jserver.gameserver.util.Util;
  * Baium's AI.
  * @author Fulminus
  */
-public class Baium extends AbstractNpcAI
+public final class Baium extends AbstractNpcAI
 {
 	// NPCs
 	private static final int STONE_BAIUM = 29025;
@@ -103,9 +103,9 @@ public class Baium extends AbstractNpcAI
 	private L2Character _target;
 	private SkillHolder _skill;
 	
-	private Baium(String name, String descr)
+	private Baium()
 	{
-		super(name, descr);
+		super(Baium.class.getSimpleName(), "ai/individual");
 		registerMobs(LIVE_BAIUM);
 		// Quest NPC starter initialization
 		addStartNpc(STONE_BAIUM, ANGELIC_VORTEX, TELEPORT_CUBIC);
@@ -699,6 +699,6 @@ public class Baium extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Baium(Baium.class.getSimpleName(), "ai");
+		new Baium();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java

@@ -58,7 +58,7 @@ import com.l2jserver.gameserver.util.Util;
  * Beleth's AI.
  * @author Treat
  */
-public class Beleth extends AbstractNpcAI
+public final class Beleth extends AbstractNpcAI
 {
 	protected static L2Npc CAMERA;
 	protected static L2Npc CAMERA2;
@@ -82,9 +82,9 @@ public class Beleth extends AbstractNpcAI
 	
 	protected static final Location BELETH_SPAWN = new Location(16323, 213059, -9357, 49152);
 	
-	private Beleth(String name, String descr)
+	private Beleth()
 	{
-		super(name, descr);
+		super(Beleth.class.getSimpleName(), "ai/individual");
 		ZONE = ZoneManager.getInstance().getZoneById(12018);
 		addEnterZoneId(12018);
 		registerMobs(29118, 29119);
@@ -777,6 +777,6 @@ public class Beleth extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Beleth(Beleth.class.getSimpleName(), "ai");
+		new Beleth();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/CatsEyeBandit.java

@@ -39,9 +39,9 @@ public final class CatsEyeBandit extends AbstractNpcAI
 	private static final int BOW = 1181;
 	private static final int DAGGER = 1182;
 	
-	private CatsEyeBandit(String name, String descr)
+	private CatsEyeBandit()
 	{
-		super(name, descr);
+		super(CatsEyeBandit.class.getSimpleName(), "ai/individual");
 		addAttackId(MOB_ID);
 		addKillId(MOB_ID);
 	}
@@ -71,6 +71,6 @@ public final class CatsEyeBandit extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new CatsEyeBandit(CatsEyeBandit.class.getSimpleName(), "ai");
+		new CatsEyeBandit();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Core.java

@@ -39,7 +39,7 @@ import com.l2jserver.gameserver.network.serverpackets.PlaySound;
  * Core AI
  * @author DrLecter Revised By Emperorc
  */
-public class Core extends AbstractNpcAI
+public final class Core extends AbstractNpcAI
 {
 	private static final int CORE = 29006;
 	private static final int DEATH_KNIGHT = 29007;
@@ -58,9 +58,9 @@ public class Core extends AbstractNpcAI
 	
 	private final List<L2Attackable> Minions = new FastList<>();
 	
-	private Core(String name, String descr)
+	private Core()
 	{
-		super(name, descr);
+		super(Core.class.getSimpleName(), "ai/individual");
 		registerMobs(CORE, DEATH_KNIGHT, DOOM_WRAITH, SUSCEPTOR);
 		
 		_FirstAttacked = false;
@@ -225,6 +225,6 @@ public class Core extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Core(Core.class.getSimpleName(), "ai");
+		new Core();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/CrimsonHatuOtis.java

@@ -38,9 +38,9 @@ public final class CrimsonHatuOtis extends AbstractNpcAI
 	private static SkillHolder BOSS_SPINING_SLASH = new SkillHolder(4737, 1);
 	private static SkillHolder BOSS_HASTE = new SkillHolder(4175, 1);
 	
-	private CrimsonHatuOtis(String name, String descr)
+	private CrimsonHatuOtis()
 	{
-		super(name, descr);
+		super(CrimsonHatuOtis.class.getSimpleName(), "ai/individual");
 		addAttackId(CRIMSON_HATU_OTIS);
 		addKillId(CRIMSON_HATU_OTIS);
 	}
@@ -98,6 +98,6 @@ public final class CrimsonHatuOtis extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new CrimsonHatuOtis(CrimsonHatuOtis.class.getSimpleName(), "ai");
+		new CrimsonHatuOtis();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DarkWaterDragon.java

@@ -36,7 +36,7 @@ import com.l2jserver.util.L2FastMap;
 /**
  * Dark Water Dragon's AI.
  */
-public class DarkWaterDragon extends AbstractNpcAI
+public final class DarkWaterDragon extends AbstractNpcAI
 {
 	private static final int DRAGON = 22267;
 	private static final int SHADE1 = 22268;
@@ -48,9 +48,9 @@ public class DarkWaterDragon extends AbstractNpcAI
 	private static Set<Integer> MY_TRACKING_SET = new FastSet<>(); // Used to track instances of npcs
 	private static Map<Integer, L2PcInstance> ID_MAP = new L2FastMap<>(true); // Used to track instances of npcs
 	
-	private DarkWaterDragon(String name, String descr)
+	private DarkWaterDragon()
 	{
-		super(name, descr);
+		super(DarkWaterDragon.class.getSimpleName(), "ai/individual");
 		int[] mobs =
 		{
 			DRAGON,
@@ -242,6 +242,6 @@ public class DarkWaterDragon extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new DarkWaterDragon(DarkWaterDragon.class.getSimpleName(), "ai");
+		new DarkWaterDragon();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DemonPrince.java

@@ -32,7 +32,7 @@ import com.l2jserver.gameserver.model.skills.L2Skill;
  * Demon Prince's AI.
  * @author GKR
  */
-public class DemonPrince extends AbstractNpcAI
+public final class DemonPrince extends AbstractNpcAI
 {
 	private static final int DEMON_PRINCE = 25540;
 	private static final int FIEND = 25541;
@@ -47,9 +47,9 @@ public class DemonPrince extends AbstractNpcAI
 	
 	private static final Map<Integer, Boolean> ATTACK_STATE = new FastMap<>();
 	
-	private DemonPrince(String name, String descr)
+	private DemonPrince()
 	{
-		super(name, descr);
+		super(DemonPrince.class.getSimpleName(), "ai/individual");
 		addAttackId(DEMON_PRINCE);
 		addKillId(DEMON_PRINCE);
 		addSpawnId(FIEND);
@@ -127,6 +127,6 @@ public class DemonPrince extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new DemonPrince(DemonPrince.class.getSimpleName(), "ai");
+		new DemonPrince();
 	}
 }

+ 5 - 5
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DrChaos.java

@@ -32,7 +32,7 @@ import com.l2jserver.gameserver.network.serverpackets.SpecialCamera;
  * DrChaos' AI.
  * @author Kerberos
  */
-public class DrChaos extends Quest
+public final class DrChaos extends Quest
 {
 	private static final int DR_CHAOS = 32033;
 	private static final int STRANGE_MACHINE = 32032;
@@ -42,9 +42,10 @@ public class DrChaos extends Quest
 	private static final Location PLAYER_TELEPORT = new Location(94832, -112624, -3304);
 	private static final Location NPC_LOCATION = new Location(-113091, -243942, -15536);
 	
-	private DrChaos(int questId, String name, String descr)
+	private DrChaos()
 	{
-		super(questId, name, descr);
+		// TODO extends AbstractNpcAI
+		super(-1, "Doctor Chaos", "ai/individual");
 		addFirstTalkId(DR_CHAOS);
 		_IsGolemSpawned = false;
 	}
@@ -69,7 +70,6 @@ public class DrChaos extends Quest
 			}
 			else
 			{
-				// print "Dr Chaos AI: problem finding Strange Machine (npcid = "+STRANGE_MACHINE+"). Error: not spawned!"
 				startQuestTimer("2", 2000, npc, player);
 			}
 			startQuestTimer("3", 10000, npc, player);
@@ -120,6 +120,6 @@ public class DrChaos extends Quest
 	
 	public static void main(String[] args)
 	{
-		new DrChaos(-1, "Doctor Chaos", "ai");
+		new DrChaos();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Epidos.java

@@ -34,7 +34,7 @@ import com.l2jserver.util.L2FastMap;
  * Manages minion's spawn, idle despawn and Teleportation Cube spawn.
  * @author GKR
  */
-public class Epidos extends AbstractNpcAI
+public final class Epidos extends AbstractNpcAI
 {
 	private static final int[] EPIDOSES =
 	{
@@ -61,9 +61,9 @@ public class Epidos extends AbstractNpcAI
 	
 	private final Map<Integer, Double> _lastHp = new L2FastMap<>(true);
 	
-	private Epidos(String name, String descr)
+	private Epidos()
 	{
-		super(name, descr);
+		super(Epidos.class.getSimpleName(), "ai/individual");
 		addKillId(EPIDOSES);
 		addSpawnId(EPIDOSES);
 	}
@@ -140,6 +140,6 @@ public class Epidos extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Epidos(Epidos.class.getSimpleName(), "ai");
+		new Epidos();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/FleeNpc.java

@@ -25,7 +25,7 @@ import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 
-public class FleeNpc extends AbstractNpcAI
+public final class FleeNpc extends AbstractNpcAI
 {
 	private static final int[] MOBS =
 	{
@@ -41,9 +41,9 @@ public class FleeNpc extends AbstractNpcAI
 		18157
 	};
 	
-	private FleeNpc(String name, String descr)
+	private FleeNpc()
 	{
-		super(name, descr);
+		super(FleeNpc.class.getSimpleName(), "ai/individual");
 		addAttackId(MOBS);
 	}
 	
@@ -71,6 +71,6 @@ public class FleeNpc extends AbstractNpcAI
 	// Register the new Script at the Script System
 	public static void main(String[] args)
 	{
-		new FleeNpc(FleeNpc.class.getSimpleName(), "ai");
+		new FleeNpc();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/FrightenedRagnaOrc.java

@@ -46,9 +46,9 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI
 	// Skill
 	private static final SkillHolder SKILL = new SkillHolder(6234, 1);
 	
-	private FrightenedRagnaOrc(String name, String descr)
+	private FrightenedRagnaOrc()
 	{
-		super(name, descr);
+		super(FrightenedRagnaOrc.class.getSimpleName(), "ai/individual");
 		addAttackId(MOB_ID);
 		addKillId(MOB_ID);
 	}
@@ -144,6 +144,6 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new FrightenedRagnaOrc(FrightenedRagnaOrc.class.getSimpleName(), "ai");
+		new FrightenedRagnaOrc();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/GeneralDilios.java

@@ -34,7 +34,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Dilios AI
  * @author JIV, Sephiroth, Apocalipce
  */
-public class GeneralDilios extends AbstractNpcAI
+public final class GeneralDilios extends AbstractNpcAI
 {
 	private static final int GENERAL_ID = 32549;
 	private static final int GUARD_ID = 32619;
@@ -54,9 +54,9 @@ public class GeneralDilios extends AbstractNpcAI
 	// NpcStringId.MESSENGER_INFORM_THE_BROTHERS_IN_KUCEREUS_CLAN_OUTPOST_EKIMUS_IS_ABOUT_TO_BE_REVIVED_BY_THE_RESURRECTED_UNDEAD_IN_SEED_OF_INFINITY_SEND_ALL_REINFORCEMENTS_TO_THE_HEART_AND_THE_HALL_OF_SUFFERING
 	};
 	
-	private GeneralDilios(String name, String descr)
+	private GeneralDilios()
 	{
-		super(name, descr);
+		super(GeneralDilios.class.getSimpleName(), "ai/individual");
 		_general = SpawnTable.getInstance().getFirstSpawn(GENERAL_ID).getLastSpawn();
 		_guards = SpawnTable.getInstance().getSpawns(GUARD_ID);
 		if ((_general == null) || _guards.isEmpty())
@@ -102,6 +102,6 @@ public class GeneralDilios extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new GeneralDilios(GeneralDilios.class.getSimpleName(), "ai");
+		new GeneralDilios();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Gordon.java

@@ -30,13 +30,13 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Gordon AI
  * @author TOFIZ, malyelfik
  */
-public class Gordon extends AbstractNpcAI
+public final class Gordon extends AbstractNpcAI
 {
 	private static final int GORDON = 29095;
 	
-	private Gordon(String name, String descr)
+	private Gordon()
 	{
-		super(name, descr);
+		super(Gordon.class.getSimpleName(), "ai/individual");
 		addSpawnId(GORDON);
 		addSeeCreatureId(GORDON);
 		
@@ -66,6 +66,6 @@ public class Gordon extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Gordon(Gordon.class.getSimpleName(), "ai");
+		new Gordon();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/HellboundCore.java

@@ -30,16 +30,16 @@ import com.l2jserver.gameserver.model.holders.SkillHolder;
  * Manages Naia's cast on the Hellbound Core
  * @author GKR
  */
-public class HellboundCore extends AbstractNpcAI
+public final class HellboundCore extends AbstractNpcAI
 {
 	private static final int NAIA = 18484;
 	private static final int HELLBOUND_CORE = 32331;
 	
 	private static SkillHolder BEAM = new SkillHolder(5493, 1);
 	
-	private HellboundCore(String name, String descr)
+	private HellboundCore()
 	{
-		super(name, descr);
+		super(HellboundCore.class.getSimpleName(), "ai/individual");
 		addSpawnId(HELLBOUND_CORE);
 	}
 	
@@ -70,6 +70,6 @@ public class HellboundCore extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new HellboundCore(HellboundCore.class.getSimpleName(), "ai");
+		new HellboundCore();
 	}
 }

+ 4 - 5
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Keltas.java

@@ -36,7 +36,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Manages Darion's Enforcer's and Darion's Executioner spawn/despawn
  * @author GKR
  */
-public class Keltas extends AbstractNpcAI
+public final class Keltas extends AbstractNpcAI
 {
 	private static final int KELTAS = 22341;
 	private static final int ENFORCER = 22342;
@@ -105,10 +105,9 @@ public class Keltas extends AbstractNpcAI
 		new Location(-28492, 250704, -3523)
 	};
 	
-	public Keltas(String name, String descr)
+	private Keltas()
 	{
-		super(name, descr);
-		
+		super(Keltas.class.getSimpleName(), "ai/individual");
 		addKillId(KELTAS);
 		addSpawnId(KELTAS);
 		
@@ -195,6 +194,6 @@ public class Keltas extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Keltas(Keltas.class.getSimpleName(), "ai");
+		new Keltas();
 	}
 }

+ 6 - 6
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Knoriks.java

@@ -30,14 +30,14 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Knoriks AI.
  * @author UnAfraid
  */
-public class Knoriks extends AbstractNpcAI
+public final class Knoriks extends AbstractNpcAI
 {
-	private static final int KNORIKS_ID = 22857;
+	private static final int KNORIKS = 22857;
 	
-	private Knoriks(String name, String descr)
+	private Knoriks()
 	{
-		super(name, descr);
-		addAggroRangeEnterId(KNORIKS_ID);
+		super(Knoriks.class.getSimpleName(), "ai/individual");
+		addAggroRangeEnterId(KNORIKS);
 	}
 	
 	@Override
@@ -56,6 +56,6 @@ public class Knoriks extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Knoriks(Knoriks.class.getSimpleName(), "ai");
+		new Knoriks();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/NaiaLock.java

@@ -29,13 +29,13 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Removes minions after master's death.
  * @author GKR
  */
-public class NaiaLock extends AbstractNpcAI
+public final class NaiaLock extends AbstractNpcAI
 {
 	private static final int LOCK = 18491;
 	
-	public NaiaLock(String name, String descr)
+	private NaiaLock()
 	{
-		super(name, descr);
+		super(NaiaLock.class.getSimpleName(), "ai/individual");
 		addKillId(LOCK);
 	}
 	
@@ -48,6 +48,6 @@ public class NaiaLock extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new NaiaLock(NaiaLock.class.getSimpleName(), "ai");
+		new NaiaLock();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java

@@ -47,7 +47,7 @@ import com.l2jserver.gameserver.network.serverpackets.PlaySound;
  * Orfen's AI
  * @author Emperorc
  */
-public class Orfen extends AbstractNpcAI
+public final class Orfen extends AbstractNpcAI
 {
 	private static final Location[] POS =
 	{
@@ -78,9 +78,9 @@ public class Orfen extends AbstractNpcAI
 	private static final byte ALIVE = 0;
 	private static final byte DEAD = 1;
 	
-	private Orfen(String name, String descr)
+	private Orfen()
 	{
-		super(name, descr);
+		super(Orfen.class.getSimpleName(), "ai/individual");
 		int[] mobs =
 		{
 			ORFEN,
@@ -352,6 +352,6 @@ public class Orfen extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Orfen(Orfen.class.getSimpleName(), "ai");
+		new Orfen();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/OutpostCaptain.java

@@ -30,7 +30,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Outpost Captain's AI.
  * @author DS
  */
-public class OutpostCaptain extends AbstractNpcAI
+public final class OutpostCaptain extends AbstractNpcAI
 {
 	private static final int CAPTAIN = 18466;
 	
@@ -42,9 +42,9 @@ public class OutpostCaptain extends AbstractNpcAI
 	
 	private static final int DOORKEEPER = 32351;
 	
-	private OutpostCaptain(String name, String descr)
+	private OutpostCaptain()
 	{
-		super(name, descr);
+		super(OutpostCaptain.class.getSimpleName(), "ai/individual");
 		addKillId(CAPTAIN);
 		addSpawnId(CAPTAIN, DOORKEEPER);
 		addSpawnId(DEFENDERS);
@@ -95,6 +95,6 @@ public class OutpostCaptain extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new OutpostCaptain(OutpostCaptain.class.getSimpleName(), "ai");
+		new OutpostCaptain();
 	}
 }

+ 4 - 6
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java

@@ -46,7 +46,7 @@ import com.l2jserver.gameserver.network.serverpackets.PlaySound;
  * Queen Ant's AI
  * @author Emperorc
  */
-public class QueenAnt extends AbstractNpcAI
+public final class QueenAnt extends AbstractNpcAI
 {
 	private static final int QUEEN = 29001;
 	private static final int LARVA = 29002;
@@ -84,15 +84,13 @@ public class QueenAnt extends AbstractNpcAI
 	private L2MonsterInstance _larva = null;
 	private final List<L2MonsterInstance> _nurses = new FastList<>(5);
 	
-	private QueenAnt(String name, String descr)
+	private QueenAnt()
 	{
-		super(name, descr);
-		
+		super(QueenAnt.class.getSimpleName(), "ai/individual");
 		registerMobs(MOBS, QuestEventType.ON_SPAWN, QuestEventType.ON_KILL, QuestEventType.ON_AGGRO_RANGE_ENTER);
 		addFactionCallId(NURSE);
 		
 		_zone = GrandBossManager.getInstance().getZone(QUEEN_X, QUEEN_Y, QUEEN_Z);
-		
 		StatsSet info = GrandBossManager.getInstance().getStatsSet(QUEEN);
 		int status = GrandBossManager.getInstance().getBossStatus(QUEEN);
 		if (status == DEAD)
@@ -374,6 +372,6 @@ public class QueenAnt extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new QueenAnt(QueenAnt.class.getSimpleName(), "ai");
+		new QueenAnt();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenShyeed.java

@@ -32,7 +32,7 @@ import com.l2jserver.gameserver.network.clientpackets.Say2;
  * Queen Shyeed AI
  * @author malyelfik
  */
-public class QueenShyeed extends AbstractNpcAI
+public final class QueenShyeed extends AbstractNpcAI
 {
 	// NPC
 	private static final int SHYEED = 25671;
@@ -75,9 +75,9 @@ public class QueenShyeed extends AbstractNpcAI
 		return super.onKill(npc, killer, isSummon);
 	}
 	
-	public QueenShyeed(String name, String descr)
+	private QueenShyeed()
 	{
-		super(name, descr);
+		super(QueenShyeed.class.getSimpleName(), "ai/individual");
 		addKillId(SHYEED);
 		spawnShyeed();
 	}
@@ -109,6 +109,6 @@ public class QueenShyeed extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new QueenShyeed(QueenShyeed.class.getSimpleName(), "ai");
+		new QueenShyeed();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Ranku.java

@@ -36,7 +36,7 @@ import com.l2jserver.gameserver.util.MinionList;
  * Ranku's AI.
  * @author GKR
  */
-public class Ranku extends AbstractNpcAI
+public final class Ranku extends AbstractNpcAI
 {
 	private static final int RANKU = 25542;
 	private static final int MINION = 32305;
@@ -44,9 +44,9 @@ public class Ranku extends AbstractNpcAI
 	
 	private static final Set<Integer> MY_TRACKING_SET = new FastSet<Integer>().shared();
 	
-	private Ranku(String name, String descr)
+	private Ranku()
 	{
-		super(name, descr);
+		super(Ranku.class.getSimpleName(), "ai/individual");
 		addAttackId(RANKU);
 		addKillId(RANKU, MINION);
 	}
@@ -120,6 +120,6 @@ public class Ranku extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Ranku(Ranku.class.getSimpleName(), "ai");
+		new Ranku();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/SinWardens.java

@@ -34,7 +34,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Manages Sin Wardens disappearing and chat.
  * @author GKR
  */
-public class SinWardens extends AbstractNpcAI
+public final class SinWardens extends AbstractNpcAI
 {
 	private static final int[] SIN_WARDEN_MINIONS =
 	{
@@ -56,9 +56,9 @@ public class SinWardens extends AbstractNpcAI
 	
 	private final Map<Integer, Integer> killedMinionsCount = new FastMap<>();
 	
-	private SinWardens(String name, String descr)
+	private SinWardens()
 	{
-		super(name, descr);
+		super(SinWardens.class.getSimpleName(), "ai/individual");
 		addKillId(SIN_WARDEN_MINIONS);
 	}
 	
@@ -90,6 +90,6 @@ public class SinWardens extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new SinWardens(SinWardens.class.getSimpleName(), "ai");
+		new SinWardens();
 	}
 }

+ 4 - 5
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Typhoon.java

@@ -30,16 +30,15 @@ import com.l2jserver.gameserver.model.holders.SkillHolder;
  * Typhoon's AI.
  * @author GKR
  */
-public class Typhoon extends AbstractNpcAI
+public final class Typhoon extends AbstractNpcAI
 {
 	private static final int TYPHOON = 25539;
 	
 	private static SkillHolder STORM = new SkillHolder(5434, 1);
 	
-	private Typhoon(String name, String descr)
+	private Typhoon()
 	{
-		super(name, descr);
-		
+		super(Typhoon.class.getSimpleName(), "ai/individual");
 		addAggroRangeEnterId(TYPHOON);
 		addSpawnId(TYPHOON);
 		
@@ -81,6 +80,6 @@ public class Typhoon extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Typhoon(Typhoon.class.getSimpleName(), "ai");
+		new Typhoon();
 	}
 }

+ 4 - 5
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java

@@ -49,7 +49,7 @@ import com.l2jserver.gameserver.util.Util;
  * Valakas' AI.
  * @author Tryskell
  */
-public class Valakas extends AbstractNpcAI
+public final class Valakas extends AbstractNpcAI
 {
 	// NPC
 	private static final int VALAKAS = 29028;
@@ -117,13 +117,12 @@ public class Valakas extends AbstractNpcAI
 	private L2Playable _actualVictim; // Actual target of Valakas.
 	private static L2BossZone ZONE;
 	
-	private Valakas(String name, String descr)
+	private Valakas()
 	{
-		super(name, descr);
+		super(Valakas.class.getSimpleName(), "ai/individual");
 		registerMobs(VALAKAS);
 		
 		ZONE = GrandBossManager.getInstance().getZone(212852, -114842, -1632);
-		
 		final StatsSet info = GrandBossManager.getInstance().getStatsSet(VALAKAS);
 		final int status = GrandBossManager.getInstance().getBossStatus(VALAKAS);
 		
@@ -567,6 +566,6 @@ public class Valakas extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Valakas(Valakas.class.getSimpleName(), "ai");
+		new Valakas();
 	}
 }

+ 3 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java

@@ -99,10 +99,9 @@ public final class Venom extends AbstractNpcAI
 	
 	private static List<L2PcInstance> _targets = new ArrayList<>();
 	
-	private Venom(String name, String descr)
+	private Venom()
 	{
-		super(name, descr);
-		
+		super(Venom.class.getSimpleName(), "ai/individual");
 		addStartNpc(DUNGEON_KEEPER, TELEPORT_CUBE);
 		addFirstTalkId(DUNGEON_KEEPER, TELEPORT_CUBE);
 		addTalkId(DUNGEON_KEEPER, TELEPORT_CUBE);
@@ -414,6 +413,6 @@ public final class Venom extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Venom(Venom.class.getSimpleName(), "ai/individual");
+		new Venom();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java

@@ -43,7 +43,7 @@ import com.l2jserver.gameserver.network.serverpackets.PlaySound;
 /**
  * Zaken AI
  */
-public class Zaken extends AbstractNpcAI
+public final class Zaken extends AbstractNpcAI
 {
 	private int _1001 = 0; // used for first cancel of QuestTimer "1001"
 	private int _ai0 = 0; // used for zaken coords updater
@@ -125,9 +125,9 @@ public class Zaken extends AbstractNpcAI
 	
 	private static L2BossZone _Zone;
 	
-	private Zaken(String name, String descr)
+	private Zaken()
 	{
-		super(name, descr);
+		super(Zaken.class.getSimpleName(), "ai/individual");
 		
 		// Zaken doors handling
 		ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable()
@@ -1027,6 +1027,6 @@ public class Zaken extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Zaken(Zaken.class.getSimpleName(), "ai");
+		new Zaken();
 	}
 }

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

@@ -33,17 +33,16 @@ import com.l2jserver.gameserver.model.quest.State;
  * Black Marketeer of Mammon - Exchange Adena for AA.
  * @author Adry_85
  */
-public class BlackMarketeerOfMammon extends AbstractNpcAI
+public final class BlackMarketeerOfMammon extends AbstractNpcAI
 {
 	// NPC
 	private static final int BLACK_MARKETEER = 31092;
 	// Misc
 	private static final int MIN_LEVEL = 60;
 	
-	private BlackMarketeerOfMammon(String name, String descr)
+	private BlackMarketeerOfMammon()
 	{
-		super(name, descr);
-		
+		super(BlackMarketeerOfMammon.class.getSimpleName(), "ai/npc");
 		addStartNpc(BLACK_MARKETEER);
 		addTalkId(BLACK_MARKETEER);
 	}
@@ -116,6 +115,6 @@ public class BlackMarketeerOfMammon extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new BlackMarketeerOfMammon(BlackMarketeerOfMammon.class.getSimpleName(), "ai/npc");
+		new BlackMarketeerOfMammon();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleBlacksmith/CastleBlacksmith.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Castle Blacksmith AI.
  * @author malyelfik
  */
-public class CastleBlacksmith extends AbstractNpcAI
+public final class CastleBlacksmith extends AbstractNpcAI
 {
 	// Blacksmith IDs
 	private static final int[] NPCS =
@@ -45,9 +45,9 @@ public class CastleBlacksmith extends AbstractNpcAI
 		35553, // Blacksmith (Schuttgart)
 	};
 	
-	private CastleBlacksmith(String name, String descr)
+	private CastleBlacksmith()
 	{
-		super(name, descr);
+		super(CastleBlacksmith.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 		addFirstTalkId(NPCS);
@@ -72,6 +72,6 @@ public class CastleBlacksmith extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new CastleBlacksmith(CastleBlacksmith.class.getSimpleName(), "ai/npc");
+		new CastleBlacksmith();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleChamberlain/CastleChamberlain.java

@@ -56,7 +56,7 @@ import com.l2jserver.gameserver.util.Util;
  * Castle Chamberlain AI.
  * @author malyelfik
  */
-public class CastleChamberlain extends AbstractNpcAI
+public final class CastleChamberlain extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] NPC =
@@ -120,9 +120,9 @@ public class CastleChamberlain extends AbstractNpcAI
 		new SkillHolder(4360, 1), // Death Whisper Lv.1
 	};
 	
-	private CastleChamberlain(String name, String descr)
+	private CastleChamberlain()
 	{
-		super(name, descr);
+		super(CastleChamberlain.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPC);
 		addTalkId(NPC);
 		addFirstTalkId(NPC);
@@ -1314,6 +1314,6 @@ public class CastleChamberlain extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new CastleChamberlain(CastleChamberlain.class.getSimpleName(), "ai/npc");
+		new CastleChamberlain();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleMercenaryManager/CastleMercenaryManager.java

@@ -35,7 +35,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
  * Castle Mercenary Manager AI.
  * @author malyelfik
  */
-public class CastleMercenaryManager extends AbstractNpcAI
+public final class CastleMercenaryManager extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] NPCS =
@@ -51,9 +51,9 @@ public class CastleMercenaryManager extends AbstractNpcAI
 		35557, // Kendrew
 	};
 	
-	private CastleMercenaryManager(String name, String descr)
+	private CastleMercenaryManager()
 	{
-		super(name, descr);
+		super(CastleMercenaryManager.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 		addFirstTalkId(NPCS);
@@ -145,6 +145,6 @@ public class CastleMercenaryManager extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new CastleMercenaryManager(CastleMercenaryManager.class.getSimpleName(), "ai/npc");
+		new CastleMercenaryManager();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleTeleporter/CastleTeleporter.java

@@ -33,7 +33,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Castle Teleporter AI.
  * @author malyelfik
  */
-public class CastleTeleporter extends AbstractNpcAI
+public final class CastleTeleporter extends AbstractNpcAI
 {
 	// Teleporter IDs
 	private static final int[] NPCS =
@@ -49,9 +49,9 @@ public class CastleTeleporter extends AbstractNpcAI
 		35547, // Mass Gatekeeper (Schuttgart)
 	};
 	
-	private CastleTeleporter(String name, String descr)
+	private CastleTeleporter()
 	{
-		super(name, descr);
+		super(CastleTeleporter.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 		addFirstTalkId(NPCS);
@@ -99,6 +99,6 @@ public class CastleTeleporter extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new CastleTeleporter(CastleTeleporter.class.getSimpleName(), "ai/npc");
+		new CastleTeleporter();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/CastleWarehouse/CastleWarehouse.java

@@ -27,7 +27,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Castle Warehouse Keeper AI.
  * @author malyelfik
  */
-public class CastleWarehouse extends AbstractNpcAI
+public final class CastleWarehouse extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] NPCS =
@@ -46,9 +46,9 @@ public class CastleWarehouse extends AbstractNpcAI
 	private static final int BLOOD_OATH = 9910;
 	private static final int BLOOD_ALLIANCE = 9911;
 	
-	private CastleWarehouse(String name, String descr)
+	private CastleWarehouse()
 	{
-		super(name, descr);
+		super(CastleWarehouse.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 		addFirstTalkId(NPCS);
@@ -114,6 +114,6 @@ public class CastleWarehouse extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new CastleWarehouse(CastleWarehouse.class.getSimpleName(), "ai/npc");
+		new CastleWarehouse();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ClanTrader/ClanTrader.java

@@ -31,7 +31,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  * Clan Trader AI.
  * @author St3eT
  */
-public class ClanTrader extends AbstractNpcAI
+public final class ClanTrader extends AbstractNpcAI
 {
 	// Npc
 	private static final int[] CLAN_TRADER =
@@ -47,9 +47,9 @@ public class ClanTrader extends AbstractNpcAI
 	private static final int KNIGHTS_EPAULETTE = 9912; // Knight's Epaulette
 	private static final int KNIGHTS_EPAULETTE_COUNT = 100; // Knight's Epaulette Count
 	
-	private ClanTrader(String name, String descr)
+	private ClanTrader()
 	{
-		super(name, descr);
+		super(ClanTrader.class.getSimpleName(), "ai/npc");
 		addStartNpc(CLAN_TRADER);
 		addTalkId(CLAN_TRADER);
 		addFirstTalkId(CLAN_TRADER);
@@ -120,6 +120,6 @@ public class ClanTrader extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new ClanTrader(ClanTrader.class.getSimpleName(), "ai/npc");
+		new ClanTrader();
 	}
 }

+ 13 - 13
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Dorian/Dorian.java

@@ -33,7 +33,7 @@ import com.l2jserver.gameserver.network.clientpackets.Say2;
  * Dorian (Raid Fighter) - Quest AI
  * @author malyelfik
  */
-public class Dorian extends AbstractNpcAI
+public final class Dorian extends AbstractNpcAI
 {
 	// NPC
 	private static final int DORIAN = 25332;
@@ -41,6 +41,17 @@ public class Dorian extends AbstractNpcAI
 	private static final int SILVER_CROSS = 7153;
 	private static final int BROKEN_SILVER_CROSS = 7154;
 	
+	private Dorian()
+	{
+		super(Dorian.class.getSimpleName(), "ai/npc");
+		addSpawnId(DORIAN);
+		
+		for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(DORIAN))
+		{
+			startQuestTimer("checkArea", 3000, spawn.getLastSpawn(), null, true);
+		}
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -75,19 +86,8 @@ public class Dorian extends AbstractNpcAI
 		return null;
 	}
 	
-	public Dorian(String name, String descr)
-	{
-		super(name, descr);
-		addSpawnId(DORIAN);
-		
-		for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(DORIAN))
-		{
-			startQuestTimer("checkArea", 3000, spawn.getLastSpawn(), null, true);
-		}
-	}
-	
 	public static void main(String[] args)
 	{
-		new Dorian(Dorian.class.getSimpleName(), "ai/npc");
+		new Dorian();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/DragonVortex/DragonVortex.java

@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Dragon Vortex AI.
  * @author UnAfraid, improved by Adry_85
  */
-public class DragonVortex extends AbstractNpcAI
+public final class DragonVortex extends AbstractNpcAI
 {
 	// NPC
 	private static final int VORTEX = 32871;
@@ -48,9 +48,9 @@ public class DragonVortex extends AbstractNpcAI
 	// Misc
 	private static final int DESPAWN_DELAY = 1800000; // 30min
 	
-	private DragonVortex(String name, String descr)
+	private DragonVortex()
 	{
-		super(name, descr);
+		super(DragonVortex.class.getSimpleName(), "ai/npc");
 		addStartNpc(VORTEX);
 		addFirstTalkId(VORTEX);
 		addTalkId(VORTEX);
@@ -107,6 +107,6 @@ public class DragonVortex extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new DragonVortex(DragonVortex.class.getSimpleName(), "ai/npc");
+		new DragonVortex();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FameManager/FameManager.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.network.serverpackets.UserInfo;
  * Fame Manager AI.
  * @author St3eT
  */
-public class FameManager extends AbstractNpcAI
+public final class FameManager extends AbstractNpcAI
 {
 	// Npc
 	private static final int[] FAME_MANAGER =
@@ -44,9 +44,9 @@ public class FameManager extends AbstractNpcAI
 	private static final int MIN_CLAN_LVL = 5;
 	private static final int CLASS_LVL = 2;
 	
-	private FameManager(String name, String descr)
+	private FameManager()
 	{
-		super(name, descr);
+		super(FameManager.class.getSimpleName(), "ai/npc");
 		addStartNpc(FAME_MANAGER);
 		addTalkId(FAME_MANAGER);
 		addFirstTalkId(FAME_MANAGER);
@@ -125,6 +125,6 @@ public class FameManager extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new FameManager(FameManager.class.getSimpleName(), "ai/npc");
+		new FameManager();
 	}
 }

+ 10 - 11
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ForgeOfTheGods/ForgeOfTheGods.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Forge of the Gods AI
  * @author nonom, malyelfik
  */
-public class ForgeOfTheGods extends AbstractNpcAI
+public final class ForgeOfTheGods extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] FOG_MOBS =
@@ -82,6 +82,14 @@ public class ForgeOfTheGods extends AbstractNpcAI
 	
 	// private static int _npcsAlive = 0; TODO: Require zone spawn support
 	
+	private ForgeOfTheGods()
+	{
+		super(ForgeOfTheGods.class.getSimpleName(), "ai/npc");
+		addKillId(FOG_MOBS);
+		addSpawnId(LAVASAURUSES);
+		startQuestTimer("refresh", REFRESH * 1000, null, null, true);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -189,17 +197,8 @@ public class ForgeOfTheGods extends AbstractNpcAI
 		return mob;
 	}
 	
-	public ForgeOfTheGods(String name, String descr)
-	{
-		super(name, descr);
-		addKillId(FOG_MOBS);
-		addSpawnId(LAVASAURUSES);
-		
-		startQuestTimer("refresh", REFRESH * 1000, null, null, true);
-	}
-	
 	public static void main(String[] args)
 	{
-		new ForgeOfTheGods(ForgeOfTheGods.class.getSimpleName(), "ai/npc");
+		new ForgeOfTheGods();
 	}
 }

+ 11 - 12
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ForgeOfTheGods/Rooney.java

@@ -30,11 +30,10 @@ import com.l2jserver.gameserver.network.clientpackets.Say2;
  * Rooney AI
  * @author malyelfik
  */
-public class Rooney extends AbstractNpcAI
+public final class Rooney extends AbstractNpcAI
 {
-	// Rooney ID
-	private static final int NPC_ID = 32049;
-	
+	// NPC
+	private static final int ROONEY = 32049;
 	// Locations
 	private static final Location[] LOCATIONS =
 	{
@@ -79,6 +78,13 @@ public class Rooney extends AbstractNpcAI
 		new Location(186074, -118154, -3312)
 	};
 	
+	private Rooney()
+	{
+		super(Rooney.class.getSimpleName(), "ai/npc");
+		final L2Npc npc = addSpawn(ROONEY, LOCATIONS[getRandom(LOCATIONS.length)], false, 0);
+		startQuestTimer("checkArea", 1000, npc, null, true);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -116,15 +122,8 @@ public class Rooney extends AbstractNpcAI
 		return null;
 	}
 	
-	public Rooney(String name, String descr)
-	{
-		super(name, descr);
-		final L2Npc npc = addSpawn(NPC_ID, LOCATIONS[getRandom(LOCATIONS.length)], false, 0);
-		startQuestTimer("checkArea", 1000, npc, null, true);
-	}
-	
 	public static void main(String[] args)
 	{
-		new Rooney(Rooney.class.getSimpleName(), "ai/npc");
+		new Rooney();
 	}
 }

+ 16 - 18
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ForgeOfTheGods/TarBeetle.java

@@ -30,29 +30,36 @@ import com.l2jserver.gameserver.model.skills.L2Skill;
  * Tar Beetle AI
  * @author nonom, malyelfik
  */
-public class TarBeetle extends AbstractNpcAI
+public final class TarBeetle extends AbstractNpcAI
 {
 	// NPC
 	private static final int TAR_BEETLE = 18804;
-	
 	// Skills
-	private static final int SKILL_ID = 6142;
+	private static final int TAR_SPITE = 6142;
 	private static SkillHolder[] SKILLS =
 	{
-		new SkillHolder(SKILL_ID, 1),
-		new SkillHolder(SKILL_ID, 2),
-		new SkillHolder(SKILL_ID, 3)
+		new SkillHolder(TAR_SPITE, 1),
+		new SkillHolder(TAR_SPITE, 2),
+		new SkillHolder(TAR_SPITE, 3)
 	};
 	
 	private static final TarBeetleSpawn spawn = new TarBeetleSpawn();
 	
+	private TarBeetle()
+	{
+		super(TarBeetle.class.getSimpleName(), "ai/npc");
+		addAggroRangeEnterId(TAR_BEETLE);
+		addSpellFinishedId(TAR_BEETLE);
+		spawn.startTasks();
+	}
+	
 	@Override
 	public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
 		if ((spawn.getBeetle(npc).getScriptValue() > 0) && canCastSkill(npc))
 		{
 			int level = 0;
-			final BuffInfo info = player.getEffectList().getBuffInfoBySkillId(SKILL_ID);
+			final BuffInfo info = player.getEffectList().getBuffInfoBySkillId(TAR_SPITE);
 			if (info != null)
 			{
 				level = info.getSkill().getAbnormalLvl();
@@ -70,7 +77,7 @@ public class TarBeetle extends AbstractNpcAI
 	@Override
 	public String onSpellFinished(L2Npc npc, L2PcInstance player, L2Skill skill)
 	{
-		if ((skill != null) && (skill.getId() == SKILL_ID))
+		if ((skill != null) && (skill.getId() == TAR_SPITE))
 		{
 			int val = spawn.getBeetle(npc).getScriptValue() - 1;
 			if ((val <= 0) || (SKILLS[0].getSkill().getMpConsume() > npc.getCurrentMp()))
@@ -97,17 +104,8 @@ public class TarBeetle extends AbstractNpcAI
 		return true;
 	}
 	
-	public TarBeetle(String name, String descr)
-	{
-		super(name, descr);
-		addAggroRangeEnterId(TAR_BEETLE);
-		addSpellFinishedId(TAR_BEETLE);
-		
-		spawn.startTasks();
-	}
-	
 	public static void main(String[] args)
 	{
-		new TarBeetle(TarBeetle.class.getSimpleName(), "ai/npc");
+		new TarBeetle();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Jinia/Jinia.java

@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.quest.QuestState;
  * Jinia AI.
  * @author Adry_85
  */
-public class Jinia extends AbstractNpcAI
+public final class Jinia extends AbstractNpcAI
 {
 	// NPC
 	private static final int JINIA = 32781;
@@ -38,9 +38,9 @@ public class Jinia extends AbstractNpcAI
 	// Misc
 	private static final int MIN_LEVEL = 82;
 	
-	private Jinia(String name, String descr)
+	private Jinia()
 	{
-		super(name, descr);
+		super(Jinia.class.getSimpleName(), "ai/npc");
 		addStartNpc(JINIA);
 		addFirstTalkId(JINIA);
 		addTalkId(JINIA);
@@ -81,6 +81,6 @@ public class Jinia extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Jinia(Jinia.class.getSimpleName(), "ai/npc");
+		new Jinia();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/KetraOrcSupport/KetraOrcSupport.java

@@ -34,7 +34,7 @@ import com.l2jserver.gameserver.util.Util;
  * Original Jython script by Emperorc and Kerberos_20.
  * @authors Nyaran
  */
-public class KetraOrcSupport extends AbstractNpcAI
+public final class KetraOrcSupport extends AbstractNpcAI
 {
 	private static class BuffsData
 	{
@@ -90,9 +90,9 @@ public class KetraOrcSupport extends AbstractNpcAI
 		BUFF.put(8, new BuffsData(4357, 6)); // Haste: Requires 6 Buffalo Horns
 	}
 	
-	private KetraOrcSupport(String name, String descr)
+	private KetraOrcSupport()
 	{
-		super(name, descr);
+		super(KetraOrcSupport.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(KADUN, WAHKAN, ASEFA, ATAN, JAFF, JUMARA, KURFA);
 		addTalkId(ASEFA, KURFA, JAFF);
 		addStartNpc(KURFA, JAFF);
@@ -210,6 +210,6 @@ public class KetraOrcSupport extends AbstractNpcAI
 	
 	public static void main(String args[])
 	{
-		new KetraOrcSupport(KetraOrcSupport.class.getSimpleName(), "ai/npc");
+		new KetraOrcSupport();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/MercenaryCaptain/MercenaryCaptain.java

@@ -39,7 +39,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
  * Mercenary Captain AI.
  * @author malyelfik
  */
-public class MercenaryCaptain extends AbstractNpcAI
+public final class MercenaryCaptain extends AbstractNpcAI
 {
 	// NPCs
 	private static final Map<Integer, Integer> NPCS = new HashMap<>();
@@ -67,9 +67,9 @@ public class MercenaryCaptain extends AbstractNpcAI
 	private static final int MIN_LEVEL = 40;
 	private static final int CLASS_LEVEL = 2;
 	
-	private MercenaryCaptain(String name, String descr)
+	private MercenaryCaptain()
 	{
-		super(name, descr);
+		super(MercenaryCaptain.class.getSimpleName(), "ai/npc");
 		for (int id : NPCS.keySet())
 		{
 			addStartNpc(id);
@@ -228,6 +228,6 @@ public class MercenaryCaptain extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new MercenaryCaptain(MercenaryCaptain.class.getSimpleName(), "ai/npc");
+		new MercenaryCaptain();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Minigame/Minigame.java

@@ -36,7 +36,7 @@ import com.l2jserver.gameserver.util.Util;
  * Monastery Minigame AI.
  * @author nonom
  */
-public class Minigame extends AbstractNpcAI
+public final class Minigame extends AbstractNpcAI
 {
 	private static final int SUMIEL = 32758;
 	private static final int BURNER = 18913;
@@ -56,9 +56,9 @@ public class Minigame extends AbstractNpcAI
 	
 	private final MinigameRoom _rooms[] = new MinigameRoom[2];
 	
-	public Minigame(String name, String descr)
+	private Minigame()
 	{
-		super(name, descr);
+		super(Minigame.class.getSimpleName(), "ai/npc");
 		addStartNpc(SUMIEL);
 		addFirstTalkId(SUMIEL);
 		addTalkId(SUMIEL);
@@ -510,6 +510,6 @@ public class Minigame extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Minigame(Minigame.class.getSimpleName(), "ai/npc");
+		new Minigame();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/MonumentOfHeroes/MonumentOfHeroes.java

@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.util.Util;
  * Monument of Heroes AI.
  * @author Adry_85
  */
-public class MonumentOfHeroes extends AbstractNpcAI
+public final class MonumentOfHeroes extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] MONUMENTS =
@@ -59,9 +59,9 @@ public class MonumentOfHeroes extends AbstractNpcAI
 		9390, // Infinity Shooter
 	};
 	
-	private MonumentOfHeroes(String name, String descr)
+	private MonumentOfHeroes()
 	{
-		super(name, descr);
+		super(MonumentOfHeroes.class.getSimpleName(), "ai/npc");
 		addStartNpc(MONUMENTS);
 		addTalkId(MONUMENTS);
 	}
@@ -113,6 +113,6 @@ public class MonumentOfHeroes extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new MonumentOfHeroes(MonumentOfHeroes.class.getSimpleName(), "ai/npc");
+		new MonumentOfHeroes();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/Nottingale.java

@@ -52,9 +52,9 @@ public final class Nottingale extends AbstractNpcAI
 		RADARS.put(10, new RadarControl(0, -246899, 251918, 4352, 1));
 	}
 	
-	private Nottingale(String name, String descr)
+	private Nottingale()
 	{
-		super(name, descr);
+		super(Nottingale.class.getSimpleName(), "ai/npc");
 		addStartNpc(NOTTINGALE);
 		addTalkId(NOTTINGALE);
 		addFirstTalkId(NOTTINGALE);
@@ -122,6 +122,6 @@ public final class Nottingale extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Nottingale(Nottingale.class.getSimpleName(), "ai/npc");
+		new Nottingale();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/NpcBuffers.java

@@ -31,9 +31,9 @@ public final class NpcBuffers extends AbstractNpcAI
 {
 	private final NpcBuffersData _npcBuffers = new NpcBuffersData();
 	
-	private NpcBuffers(String name, String descr)
+	private NpcBuffers()
 	{
-		super(name, descr);
+		super(NpcBuffers.class.getSimpleName(), "npc");
 		
 		for (int npcId : _npcBuffers.getNpcBufferIds())
 		{
@@ -63,6 +63,6 @@ public final class NpcBuffers extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new NpcBuffers(NpcBuffers.class.getSimpleName(), "npc");
+		new NpcBuffers();
 	}
 }

+ 5 - 5
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/impl/CabaleBuffer.java

@@ -36,7 +36,7 @@ import com.l2jserver.gameserver.network.clientpackets.Say2;
  * Preacher of Doom and Orator of Revelations AI
  * @author UnAfraid, malyelfik
  */
-public class CabaleBuffer extends AbstractNpcAI
+public final class CabaleBuffer extends AbstractNpcAI
 {
 	private static final int DISTANCE_TO_WATCH_OBJECT = 900;
 	
@@ -56,15 +56,15 @@ public class CabaleBuffer extends AbstractNpcAI
 		NpcStringId.THE_END_OF_TIME_HAS_COME_THE_PROPHECY_OF_DESTRUCTION_HAS_BEEN_FULFILLED
 	};
 	
-	// Skill Id
+	// Skills
 	private static final int ORATOR_FIGTER = 4364;
 	private static final int ORATOR_MAGE = 4365;
 	private static final int PREACHER_FIGTER = 4361;
 	private static final int PREACHER_MAGE = 4362;
 	
-	protected CabaleBuffer(String name, String descr)
+	private CabaleBuffer()
 	{
-		super(name, descr);
+		super(CabaleBuffer.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(SevenSigns.ORATOR_NPC_ID, SevenSigns.PREACHER_NPC_ID);
 		addSpawnId(SevenSigns.ORATOR_NPC_ID, SevenSigns.PREACHER_NPC_ID);
 	}
@@ -298,6 +298,6 @@ public class CabaleBuffer extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new CabaleBuffer(CabaleBuffer.class.getSimpleName(), "ai/npc");
+		new CabaleBuffer();
 	}
 }

+ 2 - 2
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/PriestOfBlessing/PriestOfBlessing.java

@@ -32,7 +32,7 @@ import com.l2jserver.gameserver.util.Util;
  * Priest Of Blessing AI.
  * @author Gnacik
  */
-public class PriestOfBlessing extends AbstractNpcAI
+public final class PriestOfBlessing extends AbstractNpcAI
 {
 	// NPC
 	private static final int PRIEST = 32783;
@@ -86,7 +86,7 @@ public class PriestOfBlessing extends AbstractNpcAI
 		new Location(116972, 77255, -2688, 41951)
 	};
 	
-	public PriestOfBlessing()
+	private PriestOfBlessing()
 	{
 		super(PriestOfBlessing.class.getSimpleName(), "ai/npc");
 		addStartNpc(PRIEST);

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Rafforty/Rafforty.java

@@ -27,7 +27,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Rafforty AI.
  * @author malyelfik, Gladicek
  */
-public class Rafforty extends AbstractNpcAI
+public final class Rafforty extends AbstractNpcAI
 {
 	// NPC
 	private static final int RAFFORTY = 32020;
@@ -67,9 +67,9 @@ public class Rafforty extends AbstractNpcAI
 		return htmltext;
 	}
 	
-	private Rafforty(String name, String descr)
+	private Rafforty()
 	{
-		super(name, descr);
+		super(Rafforty.class.getSimpleName(), "ai/npc");
 		addStartNpc(RAFFORTY);
 		addFirstTalkId(RAFFORTY);
 		addTalkId(RAFFORTY);
@@ -77,6 +77,6 @@ public class Rafforty extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new Rafforty(Rafforty.class.getSimpleName(), "ai/npc");
+		new Rafforty();
 	}
 }

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java

@@ -38,7 +38,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  * Subclass certification
  * @author xban1x, jurchiks
  */
-public class SubclassCertification extends AbstractNpcAI
+public final class SubclassCertification extends AbstractNpcAI
 {
 	// @formatter:off
 	private static final int[] NPCS =

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/SymbolMaker/SymbolMaker.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.network.serverpackets.HennaRemoveList;
  * Symbol Maker AI.
  * @author Adry_85
  */
-public class SymbolMaker extends AbstractNpcAI
+public final class SymbolMaker extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] NPCS =
@@ -47,9 +47,9 @@ public class SymbolMaker extends AbstractNpcAI
 		31953, // Rankar
 	};
 	
-	private SymbolMaker(String name, String descr)
+	private SymbolMaker()
 	{
-		super(name, descr);
+		super(SymbolMaker.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(NPCS);
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -94,6 +94,6 @@ public class SymbolMaker extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new SymbolMaker(SymbolMaker.class.getSimpleName(), "ai/npc");
+		new SymbolMaker();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/CrumaTower.java

@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Cruma Tower teleport AI.
  * @author Plim
  */
-public class CrumaTower extends AbstractNpcAI
+public final class CrumaTower extends AbstractNpcAI
 {
 	// NPC
 	private static final int MOZELLA = 30483;
@@ -48,15 +48,15 @@ public class CrumaTower extends AbstractNpcAI
 		return "30483-1.htm";
 	}
 	
-	private CrumaTower(String name, String descr)
+	private CrumaTower()
 	{
-		super(name, descr);
+		super(CrumaTower.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(MOZELLA);
 		addTalkId(MOZELLA);
 	}
 	
 	public static void main(String[] args)
 	{
-		new CrumaTower(CrumaTower.class.getSimpleName(), "ai/npc/Teleports");
+		new CrumaTower();
 	}
 }

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java

@@ -65,7 +65,7 @@ public final class DelusionTeleport extends AbstractNpcAI
 	
 	private DelusionTeleport()
 	{
-		super(DelusionTeleport.class.getSimpleName(), "ai/npc/Teleports/");
+		super(DelusionTeleport.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
 	}

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Original Jython script by kerberos_20
  * @author Plim
  */
-public class ElrokiTeleporters extends AbstractNpcAI
+public final class ElrokiTeleporters extends AbstractNpcAI
 {
 	// NPCs
 	private static final int ORAHOCHIN = 32111;

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Gatekeeper Spirit AI.
  * @author Zoey76
  */
-public class GatekeeperSpirit extends AbstractNpcAI
+public final class GatekeeperSpirit extends AbstractNpcAI
 {
 	// NPCs
 	private static final int GATEKEEPER_SPIRIT_ENTER = 31111;

+ 14 - 14
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java

@@ -39,7 +39,7 @@ import com.l2jserver.gameserver.model.zone.type.L2BossZone;
  * Original python script by Emperorc.
  * @author Plim
  */
-public class GrandBossTeleporters extends AbstractNpcAI
+public final class GrandBossTeleporters extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] NPCs =
@@ -62,18 +62,15 @@ public class GrandBossTeleporters extends AbstractNpcAI
 	private static final Location TELEPORT_INTO_VALAKAS_LAIR = new Location(204328, -111874, 70);
 	private static final Location TELEPORT_OUT_OF_VALAKAS_LAIR = new Location(150037, -57720, -2976);
 	
-	private Quest valakasAI()
-	{
-		return QuestManager.getInstance().getQuest(Valakas.class.getSimpleName());
-	}
+	private static int playerCount = 0;
 	
-	private Quest antharasAI()
+	private GrandBossTeleporters()
 	{
-		return QuestManager.getInstance().getQuest(Antharas.class.getSimpleName());
+		super(GrandBossTeleporters.class.getSimpleName(), "ai/npc/Teleports");
+		addStartNpc(NPCs);
+		addTalkId(NPCs);
 	}
 	
-	private static int playerCount = 0;
-	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -261,15 +258,18 @@ public class GrandBossTeleporters extends AbstractNpcAI
 		return htmltext;
 	}
 	
-	private GrandBossTeleporters(String name, String descr)
+	private Quest valakasAI()
 	{
-		super(name, descr);
-		addStartNpc(NPCs);
-		addTalkId(NPCs);
+		return QuestManager.getInstance().getQuest(Valakas.class.getSimpleName());
+	}
+	
+	private Quest antharasAI()
+	{
+		return QuestManager.getInstance().getQuest(Antharas.class.getSimpleName());
 	}
 	
 	public static void main(String[] args)
 	{
-		new GrandBossTeleporters(GrandBossTeleporters.class.getSimpleName(), "ai/npc/Teleports");
+		new GrandBossTeleporters();
 	}
 }

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.util.Util;
  * Hunting Grounds teleport AI.
  * @author Charus
  */
-public class HuntingGroundsTeleport extends AbstractNpcAI
+public final class HuntingGroundsTeleport extends AbstractNpcAI
 {
 	// NPCs
 	// @formatter:off

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java

@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Mithril Mines teleport AI.
  * @author Charus
  */
-public class MithrilMinesTeleporter extends AbstractNpcAI
+public final class MithrilMinesTeleporter extends AbstractNpcAI
 {
 	// NPC
 	private final static int TELEPORT_CRYSTAL = 32652;

+ 20 - 20
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java

@@ -34,13 +34,31 @@ import com.l2jserver.gameserver.util.Util;
  * Original Jython script by DrLecter.
  * @author Plim
  */
-public class NewbieTravelToken extends AbstractNpcAI
+public final class NewbieTravelToken extends AbstractNpcAI
 {
 	// Item
 	private static final int NEWBIE_TRAVEL_TOKEN = 8542;
 	// NPC Id - Teleport Location
 	private static final Map<Integer, Location> DATA = new FastMap<>();
 	
+	private NewbieTravelToken()
+	{
+		super(NewbieTravelToken.class.getSimpleName(), "ai/npc/Teleports");
+		// Initialize Map
+		DATA.put(30600, new Location(12160, 16554, -4583)); // DE
+		DATA.put(30601, new Location(115594, -177993, -912)); // DW
+		DATA.put(30599, new Location(45470, 48328, -3059)); // EV
+		DATA.put(30602, new Location(-45067, -113563, -199)); // OV
+		DATA.put(30598, new Location(-84053, 243343, -3729)); // TI
+		DATA.put(32135, new Location(-119712, 44519, 368)); // SI
+		
+		for (int npcId : DATA.keySet())
+		{
+			addStartNpc(npcId);
+			addTalkId(npcId);
+		}
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -70,26 +88,8 @@ public class NewbieTravelToken extends AbstractNpcAI
 		return player.getLevel() >= 20 ? "cant-travel.htm" : npc.getId() + ".htm";
 	}
 	
-	private NewbieTravelToken(String name, String descr)
-	{
-		super(name, descr);
-		// Initialize Map
-		DATA.put(30600, new Location(12160, 16554, -4583)); // DE
-		DATA.put(30601, new Location(115594, -177993, -912)); // DW
-		DATA.put(30599, new Location(45470, 48328, -3059)); // EV
-		DATA.put(30602, new Location(-45067, -113563, -199)); // OV
-		DATA.put(30598, new Location(-84053, 243343, -3729)); // TI
-		DATA.put(32135, new Location(-119712, 44519, 368)); // SI
-		
-		for (int npcId : DATA.keySet())
-		{
-			addStartNpc(npcId);
-			addTalkId(npcId);
-		}
-	}
-	
 	public static void main(String[] args)
 	{
-		new NewbieTravelToken(NewbieTravelToken.class.getSimpleName(), "ai/npc/Teleports");
+		new NewbieTravelToken();
 	}
 }

+ 9 - 9
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java

@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Original Jython script by Ham Wong.
  * @author Plim
  */
-public class NoblesseTeleport extends AbstractNpcAI
+public final class NoblesseTeleport extends AbstractNpcAI
 {
 	// Item
 	private static final int OLYMPIAD_TOKEN = 13722;
@@ -56,6 +56,13 @@ public class NoblesseTeleport extends AbstractNpcAI
 		32163
 	};
 	
+	private NoblesseTeleport()
+	{
+		super(NoblesseTeleport.class.getSimpleName(), "ai/npc/Teleports");
+		addStartNpc(NPCs);
+		addTalkId(NPCs);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -79,15 +86,8 @@ public class NoblesseTeleport extends AbstractNpcAI
 		return player.isNoble() ? "nobleteleporter.htm" : "nobleteleporter-no.htm";
 	}
 	
-	private NoblesseTeleport(String name, String descr)
-	{
-		super(name, descr);
-		addStartNpc(NPCs);
-		addTalkId(NPCs);
-	}
-	
 	public static void main(String[] args)
 	{
-		new NoblesseTeleport(NoblesseTeleport.class.getSimpleName(), "ai/npc/Teleports");
+		new NoblesseTeleport();
 	}
 }

+ 20 - 110
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java

@@ -34,130 +34,40 @@ import com.l2jserver.gameserver.util.Util;
  * Oracle teleport AI.
  * @author Charus
  */
-public class OracleTeleport extends AbstractNpcAI
+public final class OracleTeleport extends AbstractNpcAI
 {
+	// @formatter:off
 	private final static int[] TOWN_DAWN =
 	{
-		31078,
-		31079,
-		31080,
-		31081,
-		31083,
-		31084,
-		31082,
-		31692,
-		31694,
-		31997,
-		31168
+		31078, 31079, 31080, 31081, 31083, 31084, 31082, 31692, 31694, 31997, 31168
 	};
 	
 	private final static int[] TOWN_DUSK =
 	{
-		31085,
-		31086,
-		31087,
-		31088,
-		31090,
-		31091,
-		31089,
-		31693,
-		31695,
-		31998,
-		31169
+		31085, 31086, 31087, 31088, 31090, 31091, 31089, 31693, 31695, 31998, 31169
 	};
 	
 	private final static int[] TEMPLE_PRIEST =
 	{
-		31127,
-		31128,
-		31129,
-		31130,
-		31131,
-		31137,
-		31138,
-		31139,
-		31140,
-		31141
+		31127, 31128, 31129, 31130, 31131, 31137, 31138, 31139, 31140, 31141
 	};
 	
 	private final static int[] RIFT_POSTERS =
 	{
-		31488,
-		31489,
-		31490,
-		31491,
-		31492,
-		31493
+		31488, 31489, 31490, 31491, 31492, 31493
 	};
 	
 	private final static int[] TELEPORTERS =
 	{
-		31078,
-		31079,
-		31080,
-		31081,
-		31082,
-		31083,
-		31084,
-		31692,
-		31694,
-		31997,
-		31168,
-		31085,
-		31086,
-		31087,
-		31088,
-		31089,
-		31090,
-		31091,
-		31693,
-		31695,
-		31998,
-		31169,
-		31494,
-		31495,
-		31496,
-		31497,
-		31498,
-		31499,
-		31500,
-		31501,
-		31502,
-		31503,
-		31504,
-		31505,
-		31506,
-		31507,
-		31095,
-		31096,
-		31097,
-		31098,
-		31099,
-		31100,
-		31101,
-		31102,
-		31103,
-		31104,
-		31105,
-		31106,
-		31107,
-		31108,
-		31109,
-		31110,
-		31114,
-		31115,
-		31116,
-		31117,
-		31118,
-		31119,
-		31120,
-		31121,
-		31122,
-		31123,
-		31124,
-		31125
+		31078, 31079, 31080, 31081, 31082, 31083, 31084, 31692, 31694, 31997,
+		31168, 31085, 31086, 31087, 31088, 31089, 31090, 31091, 31693, 31695,
+		31998, 31169, 31494, 31495, 31496, 31497, 31498, 31499, 31500, 31501,
+		31502, 31503, 31504, 31505, 31506, 31507, 31095, 31096, 31097, 31098,
+		31099, 31100, 31101, 31102, 31103, 31104, 31105, 31106, 31107, 31108,
+		31109, 31110, 31114, 31115, 31116, 31117, 31118, 31119, 31120, 31121,
+		31122, 31123, 31124, 31125
 	};
-	
+	// @formatter:on
 	private final static Location[] RETURN_LOCS =
 	{
 		new Location(-80555, 150337, -3040),
@@ -226,9 +136,12 @@ public class OracleTeleport extends AbstractNpcAI
 		new Location(12837, -248483, -9579)
 	};
 	
-	private OracleTeleport(String name, String descr)
+	// Item
+	private static final int DIMENSIONAL_FRAGMENT = 7079;
+	
+	private OracleTeleport()
 	{
-		super(name, descr);
+		super(OracleTeleport.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(RIFT_POSTERS);
 		addStartNpc(TELEPORTERS);
 		addStartNpc(TEMPLE_PRIEST);
@@ -241,9 +154,6 @@ public class OracleTeleport extends AbstractNpcAI
 		addTalkId(TOWN_DUSK);
 	}
 	
-	// Item
-	private static final int DIMENSIONAL_FRAGMENT = 7079;
-	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -480,6 +390,6 @@ public class OracleTeleport extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new OracleTeleport(OracleTeleport.class.getSimpleName(), "ai/npc/Teleports");
+		new OracleTeleport();
 	}
 }

+ 9 - 9
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java

@@ -32,7 +32,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Original Jython script by BiTi.
  * @author Plim
  */
-public class PaganTeleporters extends AbstractNpcAI
+public final class PaganTeleporters extends AbstractNpcAI
 {
 	// NPCs
 	private static final int TRIOLS_MIRROR_1 = 32039;
@@ -55,6 +55,14 @@ public class PaganTeleporters extends AbstractNpcAI
 	private static final int FADED_VISITORS_MARK = 8065;
 	private static final int PAGANS_MARK = 8067;
 	
+	private PaganTeleporters()
+	{
+		super(PaganTeleporters.class.getSimpleName(), "ai/npc/Teleports");
+		addStartNpc(NPCS);
+		addTalkId(NPCS);
+		addFirstTalkId(TRIOLS_MIRROR_1, TRIOLS_MIRROR_2);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -128,14 +136,6 @@ public class PaganTeleporters extends AbstractNpcAI
 		return super.onTalk(npc, player);
 	}
 	
-	private PaganTeleporters()
-	{
-		super(PaganTeleporters.class.getSimpleName(), "ai/npc/Teleports");
-		addStartNpc(NPCS);
-		addTalkId(NPCS);
-		addFirstTalkId(TRIOLS_MIRROR_1, TRIOLS_MIRROR_2);
-	}
-	
 	public static void main(String[] args)
 	{
 		new PaganTeleporters();

+ 9 - 9
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SeparatedSoul/SeparatedSoul.java

@@ -31,7 +31,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Separated Soul teleport AI.
  * @author UnAfraid, improved by Adry_85
  */
-public class SeparatedSoul extends AbstractNpcAI
+public final class SeparatedSoul extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] SEPARATED_SOULS =
@@ -66,6 +66,13 @@ public class SeparatedSoul extends AbstractNpcAI
 		LOCATIONS.put("DragonValleySouth", new Location(113203, 121063, -3712));
 	}
 	
+	private SeparatedSoul()
+	{
+		super(SeparatedSoul.class.getSimpleName(), "ai/npc/Teleports");
+		addStartNpc(SEPARATED_SOULS);
+		addTalkId(SEPARATED_SOULS);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -96,15 +103,8 @@ public class SeparatedSoul extends AbstractNpcAI
 		return super.onAdvEvent(event, npc, player);
 	}
 	
-	private SeparatedSoul(String name, String descr)
-	{
-		super(name, descr);
-		addStartNpc(SEPARATED_SOULS);
-		addTalkId(SEPARATED_SOULS);
-	}
-	
 	public static void main(String[] args)
 	{
-		new SeparatedSoul(SeparatedSoul.class.getSimpleName(), "ai/npc/Teleports");
+		new SeparatedSoul();
 	}
 }

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

@@ -30,7 +30,7 @@ import com.l2jserver.gameserver.model.quest.QuestState;
  * Stakato Nest Teleport AI.
  * @author Charus
  */
-public class StakatoNestTeleporter extends AbstractNpcAI
+public final class StakatoNestTeleporter extends AbstractNpcAI
 {
 	// Locations
 	private final static Location[] LOCS =
@@ -44,9 +44,9 @@ public class StakatoNestTeleporter extends AbstractNpcAI
 	// NPC
 	private final static int KINTAIJIN = 32640;
 	
-	private StakatoNestTeleporter(String name, String descr)
+	private StakatoNestTeleporter()
 	{
-		super(name, descr);
+		super(StakatoNestTeleporter.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(KINTAIJIN);
 		addTalkId(KINTAIJIN);
 	}
@@ -79,11 +79,11 @@ public class StakatoNestTeleporter extends AbstractNpcAI
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		QuestState accessQuest = player.getQuestState(Q00240_ImTheOnlyOneYouCanTrust.class.getSimpleName());
-		return ((accessQuest != null) && accessQuest.isCompleted()) ? "32640.htm" : "32640-no.htm";
+		return (((accessQuest != null) && accessQuest.isCompleted()) ? "32640.htm" : "32640-no.htm");
 	}
 	
 	public static void main(String[] args)
 	{
-		new StakatoNestTeleporter(StakatoNestTeleporter.class.getSimpleName(), "ai/npc/Teleports");
+		new StakatoNestTeleporter();
 	}
 }

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java

@@ -34,7 +34,7 @@ import com.l2jserver.gameserver.model.zone.type.L2BossZone;
  * Steel Citadel teleport AI.
  * @author GKR
  */
-public class SteelCitadelTeleport extends AbstractNpcAI
+public final class SteelCitadelTeleport extends AbstractNpcAI
 {
 	// NPCs
 	private static final int BELETH = 29118;

+ 12 - 8
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/StrongholdsTeleports.java

@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Original Jython script by Kerberos.
  * @author Plim
  */
-public class StrongholdsTeleports extends AbstractNpcAI
+public final class StrongholdsTeleports extends AbstractNpcAI
 {
 	// NPCs
 	private final static int[] NPCs =
@@ -39,20 +39,24 @@ public class StrongholdsTeleports extends AbstractNpcAI
 		32186
 	};
 	
-	@Override
-	public String onFirstTalk(L2Npc npc, L2PcInstance player)
+	private StrongholdsTeleports()
 	{
-		return player.getLevel() < 20 ? String.valueOf(npc.getId()) + ".htm" : String.valueOf(npc.getId()) + "-no.htm";
+		super(StrongholdsTeleports.class.getSimpleName(), "ai/npc/Teleports");
+		addFirstTalkId(NPCs);
 	}
 	
-	private StrongholdsTeleports(String name, String descr)
+	@Override
+	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		super(name, descr);
-		addFirstTalkId(NPCs);
+		if (player.getLevel() < 20)
+		{
+			return String.valueOf(npc.getId()) + ".htm";
+		}
+		return String.valueOf(npc.getId()) + "-no.htm";
 	}
 	
 	public static void main(String[] args)
 	{
-		new StrongholdsTeleports(StrongholdsTeleports.class.getSimpleName(), "ai/npc/Teleports");
+		new StrongholdsTeleports();
 	}
 }

+ 9 - 9
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Survivor/Survivor.java

@@ -30,7 +30,7 @@ import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
  * Original Jython script by Kerberos.
  * @author Plim
  */
-public class Survivor extends AbstractNpcAI
+public final class Survivor extends AbstractNpcAI
 {
 	// NPC
 	private static final int SURVIVOR = 32632;
@@ -39,6 +39,13 @@ public class Survivor extends AbstractNpcAI
 	// Location
 	private static final Location TELEPORT = new Location(-149406, 255247, -80);
 	
+	private Survivor()
+	{
+		super(Survivor.class.getSimpleName(), "ai/npc/Teleports");
+		addStartNpc(SURVIVOR);
+		addTalkId(SURVIVOR);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -68,15 +75,8 @@ public class Survivor extends AbstractNpcAI
 		return "32632-1.htm";
 	}
 	
-	private Survivor(String name, String descr)
-	{
-		super(name, descr);
-		addStartNpc(SURVIVOR);
-		addTalkId(SURVIVOR);
-	}
-	
 	public static void main(String[] args)
 	{
-		new Survivor(Survivor.class.getSimpleName(), "ai/npc/Teleports");
+		new Survivor();
 	}
 }

+ 27 - 27
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java

@@ -37,7 +37,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Original python script by Kerberos.
  * @author Plim
  */
-public class TeleportToFantasy extends AbstractNpcAI
+public final class TeleportToFantasy extends AbstractNpcAI
 {
 	// NPC
 	private static final int PADDIES = 32378;
@@ -70,6 +70,31 @@ public class TeleportToFantasy extends AbstractNpcAI
 	
 	private static final Location RUNE_TOWNSHIP = new Location(43835, -47749, -792);
 	
+	private TeleportToFantasy()
+	{
+		super(TeleportToFantasy.class.getSimpleName(), "ai/npc/Teleports");
+		TELEPORTERS.put(30059, 3); // TRISHA
+		TELEPORTERS.put(30080, 4); // CLARISSA
+		TELEPORTERS.put(30177, 6); // VALENTIA
+		TELEPORTERS.put(30233, 8); // ESMERALDA
+		TELEPORTERS.put(30256, 2); // BELLA
+		TELEPORTERS.put(30320, 1); // RICHLIN
+		TELEPORTERS.put(30848, 7); // ELISA
+		TELEPORTERS.put(30899, 5); // FLAUEN
+		TELEPORTERS.put(31320, 9); // ILYANA
+		TELEPORTERS.put(31275, 10); // TATIANA
+		TELEPORTERS.put(31964, 11); // BILIA
+		
+		for (int npcId : TELEPORTERS.keySet())
+		{
+			addStartNpc(npcId);
+			addTalkId(npcId);
+		}
+		
+		addStartNpc(PADDIES);
+		addTalkId(PADDIES);
+	}
+	
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
@@ -108,33 +133,8 @@ public class TeleportToFantasy extends AbstractNpcAI
 		return htmltext;
 	}
 	
-	private TeleportToFantasy(String name, String descr)
-	{
-		super(name, descr);
-		TELEPORTERS.put(30059, 3); // TRISHA
-		TELEPORTERS.put(30080, 4); // CLARISSA
-		TELEPORTERS.put(30177, 6); // VALENTIA
-		TELEPORTERS.put(30233, 8); // ESMERALDA
-		TELEPORTERS.put(30256, 2); // BELLA
-		TELEPORTERS.put(30320, 1); // RICHLIN
-		TELEPORTERS.put(30848, 7); // ELISA
-		TELEPORTERS.put(30899, 5); // FLAUEN
-		TELEPORTERS.put(31320, 9); // ILYANA
-		TELEPORTERS.put(31275, 10); // TATIANA
-		TELEPORTERS.put(31964, 11); // BILIA
-		
-		for (int npcId : TELEPORTERS.keySet())
-		{
-			addStartNpc(npcId);
-			addTalkId(npcId);
-		}
-		
-		addStartNpc(PADDIES);
-		addTalkId(PADDIES);
-	}
-	
 	public static void main(String[] args)
 	{
-		new TeleportToFantasy(TeleportToFantasy.class.getSimpleName(), "ai/npc/Teleports");
+		new TeleportToFantasy();
 	}
 }

+ 28 - 28
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java

@@ -35,7 +35,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Original python script by DraX & updated by DrLecter.
  * @author Plim
  */
-public class TeleportToRaceTrack extends AbstractNpcAI
+public final class TeleportToRaceTrack extends AbstractNpcAI
 {
 	// NPC
 	private static final int RACE_MANAGER = 30995;
@@ -60,6 +60,32 @@ public class TeleportToRaceTrack extends AbstractNpcAI
 	private static final Location TELEPORT = new Location(12661, 181687, -3560);
 	private static final Location DION_CASTLE_TOWN = new Location(15670, 142983, -2700);
 	
+	private TeleportToRaceTrack()
+	{
+		super(TeleportToRaceTrack.class.getSimpleName(), "ai/npc/Teleports");
+		TELEPORTERS.put(30059, 3); // TRISHA
+		TELEPORTERS.put(30080, 4); // CLARISSA
+		TELEPORTERS.put(30177, 6); // VALENTIA
+		TELEPORTERS.put(30233, 8); // ESMERALDA
+		TELEPORTERS.put(30256, 2); // BELLA
+		TELEPORTERS.put(30320, 1); // RICHLIN
+		TELEPORTERS.put(30848, 7); // ELISA
+		TELEPORTERS.put(30899, 5); // FLAUEN
+		TELEPORTERS.put(31320, 9); // ILYANA
+		TELEPORTERS.put(31275, 10); // TATIANA
+		TELEPORTERS.put(31964, 11); // BILIA
+		TELEPORTERS.put(31210, 12); // RACE TRACK GK
+		
+		for (int npcId : TELEPORTERS.keySet())
+		{
+			addStartNpc(npcId);
+			addTalkId(npcId);
+		}
+		
+		addStartNpc(RACE_MANAGER);
+		addTalkId(RACE_MANAGER);
+	}
+	
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
@@ -98,34 +124,8 @@ public class TeleportToRaceTrack extends AbstractNpcAI
 		return htmltext;
 	}
 	
-	public TeleportToRaceTrack(String name, String descr)
-	{
-		super(name, descr);
-		TELEPORTERS.put(30059, 3); // TRISHA
-		TELEPORTERS.put(30080, 4); // CLARISSA
-		TELEPORTERS.put(30177, 6); // VALENTIA
-		TELEPORTERS.put(30233, 8); // ESMERALDA
-		TELEPORTERS.put(30256, 2); // BELLA
-		TELEPORTERS.put(30320, 1); // RICHLIN
-		TELEPORTERS.put(30848, 7); // ELISA
-		TELEPORTERS.put(30899, 5); // FLAUEN
-		TELEPORTERS.put(31320, 9); // ILYANA
-		TELEPORTERS.put(31275, 10); // TATIANA
-		TELEPORTERS.put(31964, 11); // BILIA
-		TELEPORTERS.put(31210, 12); // RACE TRACK GK
-		
-		for (int npcId : TELEPORTERS.keySet())
-		{
-			addStartNpc(npcId);
-			addTalkId(npcId);
-		}
-		
-		addStartNpc(RACE_MANAGER);
-		addTalkId(RACE_MANAGER);
-	}
-	
 	public static void main(String[] args)
 	{
-		new TeleportToRaceTrack(TeleportToRaceTrack.class.getSimpleName(), "ai/npc/Teleports");
+		new TeleportToRaceTrack();
 	}
 }

+ 12 - 12
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.util.Util;
  * Underground Coliseum teleport AI
  * @author malyelfik
  */
-public class TeleportToUndergroundColiseum extends AbstractNpcAI
+public final class TeleportToUndergroundColiseum extends AbstractNpcAI
 {
 	// NPCs
 	private static final int COLISEUM_HELPER = 32491;
@@ -85,6 +85,16 @@ public class TeleportToUndergroundColiseum extends AbstractNpcAI
 		}
 	};
 	
+	private TeleportToUndergroundColiseum()
+	{
+		super(TeleportToUndergroundColiseum.class.getSimpleName(), "ai/npc/Teleports");
+		addStartNpc(MANAGERS);
+		addStartNpc(COLISEUM_HELPER, PADDIES);
+		addFirstTalkId(COLISEUM_HELPER);
+		addTalkId(MANAGERS);
+		addTalkId(COLISEUM_HELPER, PADDIES);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -124,18 +134,8 @@ public class TeleportToUndergroundColiseum extends AbstractNpcAI
 		return "32491.htm";
 	}
 	
-	public TeleportToUndergroundColiseum(String name, String descr)
-	{
-		super(name, descr);
-		addStartNpc(MANAGERS);
-		addStartNpc(COLISEUM_HELPER, PADDIES);
-		addFirstTalkId(COLISEUM_HELPER);
-		addTalkId(MANAGERS);
-		addTalkId(COLISEUM_HELPER, PADDIES);
-	}
-	
 	public static void main(String[] args)
 	{
-		new TeleportToUndergroundColiseum(TeleportToUndergroundColiseum.class.getSimpleName(), "ai/npc/Teleports");
+		new TeleportToUndergroundColiseum();
 	}
 }

+ 9 - 9
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Original Jython script by DraX.
  * @author Plim
  */
-public class TeleportWithCharm extends AbstractNpcAI
+public final class TeleportWithCharm extends AbstractNpcAI
 {
 	// NPCs
 	private final static int WHIRPY = 30540;
@@ -41,6 +41,13 @@ public class TeleportWithCharm extends AbstractNpcAI
 	private final static Location ORC_TELEPORT = new Location(-80826, 149775, -3043);
 	private final static Location DWARF_TELEPORT = new Location(-80826, 149775, -3043);
 	
+	private TeleportWithCharm()
+	{
+		super(TeleportWithCharm.class.getSimpleName(), "ai/npc/Teleports");
+		addStartNpc(WHIRPY, TAMIL);
+		addTalkId(WHIRPY, TAMIL);
+	}
+	
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
@@ -76,15 +83,8 @@ public class TeleportWithCharm extends AbstractNpcAI
 		return super.onTalk(npc, player);
 	}
 	
-	private TeleportWithCharm(String name, String descr)
-	{
-		super(name, descr);
-		addStartNpc(WHIRPY, TAMIL);
-		addTalkId(WHIRPY, TAMIL);
-	}
-	
 	public static void main(String[] args)
 	{
-		new TeleportWithCharm(TeleportWithCharm.class.getSimpleName(), "ai/npc/Teleports");
+		new TeleportWithCharm();
 	}
 }

+ 30 - 30
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Warpgate/Warpgate.java

@@ -37,7 +37,7 @@ import com.l2jserver.gameserver.model.zone.L2ZoneType;
  * Warpgate teleport AI.
  * @author _DS_
  */
-public class Warpgate extends AbstractNpcAI
+public final class Warpgate extends AbstractNpcAI
 {
 	// Misc
 	private static final int MAP = 9994;
@@ -56,29 +56,13 @@ public class Warpgate extends AbstractNpcAI
 	private static final Location HELLBOUND = new Location(-11272, 236464, -3248);
 	protected static final Location REMOVE_LOC = new Location(-16555, 209375, -3670);
 	
-	private static final boolean canEnter(L2PcInstance player)
+	private Warpgate()
 	{
-		if (player.isFlying())
-		{
-			return false;
-		}
-		
-		if (Config.HELLBOUND_WITHOUT_QUEST)
-		{
-			return true;
-		}
-		
-		QuestState st;
-		if (!HellboundManager.getInstance().isLocked())
-		{
-			st = player.getQuestState(Q00130_PathToHellbound.class.getSimpleName());
-			if ((st != null) && st.isCompleted())
-			{
-				return true;
-			}
-		}
-		st = player.getQuestState(Q00133_ThatsBloodyHot.class.getSimpleName());
-		return ((st != null) && st.isCompleted());
+		super(Warpgate.class.getSimpleName(), "ai/npc/Teleports");
+		addStartNpc(WARPGATES);
+		addFirstTalkId(WARPGATES);
+		addTalkId(WARPGATES);
+		addEnterZoneId(ZONE);
 	}
 	
 	@Override
@@ -150,17 +134,33 @@ public class Warpgate extends AbstractNpcAI
 		}
 	}
 	
-	private Warpgate(String name, String descr)
+	private static final boolean canEnter(L2PcInstance player)
 	{
-		super(name, descr);
-		addStartNpc(WARPGATES);
-		addFirstTalkId(WARPGATES);
-		addTalkId(WARPGATES);
-		addEnterZoneId(ZONE);
+		if (player.isFlying())
+		{
+			return false;
+		}
+		
+		if (Config.HELLBOUND_WITHOUT_QUEST)
+		{
+			return true;
+		}
+		
+		QuestState st;
+		if (!HellboundManager.getInstance().isLocked())
+		{
+			st = player.getQuestState(Q00130_PathToHellbound.class.getSimpleName());
+			if ((st != null) && st.isCompleted())
+			{
+				return true;
+			}
+		}
+		st = player.getQuestState(Q00133_ThatsBloodyHot.class.getSimpleName());
+		return ((st != null) && st.isCompleted());
 	}
 	
 	public static void main(String[] args)
 	{
-		new Warpgate(Warpgate.class.getSimpleName(), "ai/npc/Teleports");
+		new Warpgate();
 	}
 }

+ 13 - 13
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/TerritoryManagers/TerritoryManagers.java

@@ -41,7 +41,7 @@ import com.l2jserver.gameserver.network.serverpackets.UserInfo;
  * @author Zoey76
  * @version 1.0b
  */
-public class TerritoryManagers extends AbstractNpcAI
+public final class TerritoryManagers extends AbstractNpcAI
 {
 	private static final int[] preciousSoul1ItemIds =
 	{
@@ -64,6 +64,18 @@ public class TerritoryManagers extends AbstractNpcAI
 		7593
 	};
 	
+	private TerritoryManagers()
+	{
+		super(TerritoryManagers.class.getSimpleName(), "ai/npc");
+		
+		for (int i = 0; i < 9; i++)
+		{
+			addFirstTalkId(36490 + i);
+			addTalkId(36490 + i);
+			addStartNpc(36490 + i);
+		}
+	}
+	
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
@@ -301,18 +313,6 @@ public class TerritoryManagers extends AbstractNpcAI
 		}
 	}
 	
-	public TerritoryManagers()
-	{
-		super(TerritoryManagers.class.getSimpleName(), "ai/npc");
-		
-		for (int i = 0; i < 9; i++)
-		{
-			addFirstTalkId(36490 + i);
-			addTalkId(36490 + i);
-			addStartNpc(36490 + i);
-		}
-	}
-	
 	public static void main(String[] args)
 	{
 		new TerritoryManagers();

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/TownPets/TownPets.java

@@ -32,7 +32,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Town Pets AI
  * @author malyelfik
  */
-public class TownPets extends AbstractNpcAI
+public final class TownPets extends AbstractNpcAI
 {
 	// Pet IDs
 	private static final int[] PETS =
@@ -51,9 +51,9 @@ public class TownPets extends AbstractNpcAI
 		31955, // Ruby
 	};
 	
-	private TownPets(String name, String descr)
+	private TownPets()
 	{
-		super(name, descr);
+		super(TownPets.class.getSimpleName(), "ai/npc");
 		addSpawnId(PETS);
 		
 		for (int npcId : PETS)
@@ -91,6 +91,6 @@ public class TownPets extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new TownPets(TownPets.class.getSimpleName(), "ai/npc");
+		new TownPets();
 	}
 }

+ 10 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Trainers/HealerTrainer/HealerTrainer.java

@@ -39,17 +39,24 @@ import com.l2jserver.gameserver.network.serverpackets.AcquireSkillList;
  * Trainer healers AI.
  * @author Zoey76
  */
-public class HealerTrainer extends AbstractNpcAI
+public final class HealerTrainer extends AbstractNpcAI
 {
 	// NPC
 	// @formatter:off
-	private static final int[] HEALER_TRAINERS = { 30022, 30030, 30032, 30036, 30067, 30068, 30116, 30117, 30118, 30119, 30144, 30145, 30188, 30194, 30293, 30330, 30375, 30377, 30464, 30473, 30476, 30680, 30701, 30720, 30721, 30858, 30859, 30860, 30861, 30864, 30906, 30908, 30912, 31280, 31281, 31287, 31329, 31330, 31335, 31969, 31970, 31976, 32155, 32162 };
+	private static final int[] HEALER_TRAINERS =
+	{
+		30022, 30030, 30032, 30036, 30067, 30068, 30116, 30117, 30118, 30119,
+		30144, 30145, 30188, 30194, 30293, 30330, 30375, 30377, 30464, 30473,
+		30476, 30680, 30701, 30720, 30721, 30858, 30859, 30860, 30861, 30864,
+		30906, 30908, 30912, 31280, 31281, 31287, 31329, 31330, 31335, 31969,
+		31970, 31976, 32155, 32162
+	};
 	// @formatter:on
 	// Misc
 	private static final int MIN_LEVEL = 76;
 	private static final int MIN_CLASS_LEVEL = 3;
 	
-	public HealerTrainer()
+	private HealerTrainer()
 	{
 		super(HealerTrainer.class.getSimpleName(), "ai/npc/Trainers");
 		addStartNpc(HEALER_TRAINERS);

+ 10 - 10
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Tunatun/Tunatun.java

@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.quest.QuestState;
  * Beast Herder Tunatun AI.
  * @author Adry_85
  */
-public class Tunatun extends AbstractNpcAI
+public final class Tunatun extends AbstractNpcAI
 {
 	// NPC
 	private static final int TUNATUN = 31537;
@@ -38,6 +38,14 @@ public class Tunatun extends AbstractNpcAI
 	// Misc
 	private static final int MIN_LEVEL = 82;
 	
+	private Tunatun()
+	{
+		super(Tunatun.class.getSimpleName(), "ai/npc");
+		addStartNpc(TUNATUN);
+		addFirstTalkId(TUNATUN);
+		addTalkId(TUNATUN);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -62,16 +70,8 @@ public class Tunatun extends AbstractNpcAI
 		return event;
 	}
 	
-	private Tunatun(String name, String descr)
-	{
-		super(name, descr);
-		addStartNpc(TUNATUN);
-		addFirstTalkId(TUNATUN);
-		addTalkId(TUNATUN);
-	}
-	
 	public static void main(String[] args)
 	{
-		new Tunatun(Tunatun.class.getSimpleName(), "ai/npc");
+		new Tunatun();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java

@@ -34,7 +34,7 @@ import com.l2jserver.gameserver.util.Util;
  * Original Jython script by Emperorc and Kerberos_20.
  * @author Nyaran
  */
-public class VarkaSilenosSupport extends AbstractNpcAI
+public final class VarkaSilenosSupport extends AbstractNpcAI
 {
 	private static class BuffsData
 	{
@@ -90,9 +90,9 @@ public class VarkaSilenosSupport extends AbstractNpcAI
 		BUFF.put(8, new BuffsData(4357, 6)); // Haste: Requires 6 Nepenthese Seeds
 	}
 	
-	private VarkaSilenosSupport(String name, String descr)
+	private VarkaSilenosSupport()
 	{
-		super(name, descr);
+		super(VarkaSilenosSupport.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(ASHAS, NARAN, UDAN, DIYABU, HAGOS, SHIKON, TERANU);
 		addTalkId(UDAN, HAGOS, TERANU);
 		addStartNpc(HAGOS, TERANU);
@@ -210,6 +210,6 @@ public class VarkaSilenosSupport extends AbstractNpcAI
 	
 	public static void main(String args[])
 	{
-		new VarkaSilenosSupport(VarkaSilenosSupport.class.getSimpleName(), "ai/npc");
+		new VarkaSilenosSupport();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java

@@ -57,9 +57,9 @@ public final class FirstClassTransferTalk extends AbstractNpcAI
 		MASTERS.put(32154, PcRace.Human); // Aldenia, Human Guild Grand Master
 	}
 	
-	private FirstClassTransferTalk(String name, String descr)
+	private FirstClassTransferTalk()
 	{
-		super(name, descr);
+		super(FirstClassTransferTalk.class.getSimpleName(), "ai/npc/VillageMasters");
 		addStartNpc(MASTERS.keySet());
 		addTalkId(MASTERS.keySet());
 	}
@@ -163,6 +163,6 @@ public final class FirstClassTransferTalk extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new FirstClassTransferTalk(FirstClassTransferTalk.class.getSimpleName(), "ai/npc/VillageMasters");
+		new FirstClassTransferTalk();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/WeaverOlf/WeaverOlf.java

@@ -31,7 +31,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
  * Weaver Olf - Pins And Pouch Unseal AI.
  * @author Gigiikun, Bloodshed, Adry_85
  */
-public class WeaverOlf extends AbstractNpcAI
+public final class WeaverOlf extends AbstractNpcAI
 {
 	// NPCs
 	private static final int[] NPCs =
@@ -152,9 +152,9 @@ public class WeaverOlf extends AbstractNpcAI
 		}
 	};
 	
-	private WeaverOlf(String name, String descr)
+	private WeaverOlf()
 	{
-		super(name, descr);
+		super(WeaverOlf.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCs);
 		addTalkId(NPCs);
 	}
@@ -242,6 +242,6 @@ public class WeaverOlf extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new WeaverOlf(WeaverOlf.class.getSimpleName(), "ai/npc");
+		new WeaverOlf();
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/WyvernManager/WyvernManager.java

@@ -98,9 +98,9 @@ public final class WyvernManager extends AbstractNpcAI
 		MANAGERS.put(36477, ManagerType.FORT);
 	}
 	
-	private WyvernManager(String name, String descr)
+	private WyvernManager()
 	{
-		super(name, descr);
+		super(WyvernManager.class.getSimpleName(), "ai/npc");
 		addStartNpc(MANAGERS.keySet());
 		addTalkId(MANAGERS.keySet());
 		addFirstTalkId(MANAGERS.keySet());
@@ -305,6 +305,6 @@ public final class WyvernManager extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new WyvernManager(WyvernManager.class.getSimpleName(), "ai/npc");
+		new WyvernManager();
 	}
 }

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/ZealotOfShilen.java

@@ -32,7 +32,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * Zealot of Shilen AI.
  * @author nonom
  */
-public class ZealotOfShilen extends AbstractNpcAI
+public final class ZealotOfShilen extends AbstractNpcAI
 {
 	// NPCs
 	private static final int ZEALOT = 18782;
@@ -42,9 +42,9 @@ public class ZealotOfShilen extends AbstractNpcAI
 		32629
 	};
 	
-	private ZealotOfShilen(String name, String descr)
+	private ZealotOfShilen()
 	{
-		super(name, descr);
+		super(ZealotOfShilen.class.getSimpleName(), "ai/npc");
 		addSpawnId(ZEALOT);
 		addFirstTalkId(GUARDS);
 		
@@ -97,6 +97,6 @@ public class ZealotOfShilen extends AbstractNpcAI
 	
 	public static void main(String[] args)
 	{
-		new ZealotOfShilen(ZealotOfShilen.class.getSimpleName(), "ai/npc");
+		new ZealotOfShilen();
 	}
 }