Browse Source

BETA: Revise all teleporter AI's and move them into ai/npc/ folder.

Adry_85 12 years ago
parent
commit
ffb5ea6b79
100 changed files with 455 additions and 301 deletions
  1. 1 1
      L2J_DataPack_BETA/dist/game/data/html/default/29025.htm
  2. 1 1
      L2J_DataPack_BETA/dist/game/data/html/teleporter/31842.htm
  3. 19 25
      L2J_DataPack_BETA/dist/game/data/scripts.cfg
  4. 6 2
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
  5. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/30483-1.htm
  6. 18 21
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/CrumaTower.java
  7. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/32111-no.htm
  8. 18 23
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
  9. 25 19
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java
  10. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GatekeeperSpirit/dawn.htm
  11. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GatekeeperSpirit/dusk.htm
  12. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/13001-01.htm
  13. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/13001-02.htm
  14. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/13001-03.htm
  15. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31385-01.htm
  16. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31385-02.htm
  17. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31385-03.htm
  18. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31385-04.htm
  19. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-01.htm
  20. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-02.htm
  21. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-03.htm
  22. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-04.htm
  23. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-05.htm
  24. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-06.htm
  25. 72 48
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
  26. 41 8
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java
  27. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/dawn_tele-no.htm
  28. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/dusk_tele-no.htm
  29. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_aden.htm
  30. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_dion.htm
  31. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_giran.htm
  32. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_gludin.htm
  33. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_gludio.htm
  34. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_goddard.htm
  35. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_heine.htm
  36. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_hw.htm
  37. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_oren.htm
  38. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_rune.htm
  39. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_schuttgart.htm
  40. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_wrong.htm
  41. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_aden.htm
  42. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_dion.htm
  43. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_giran.htm
  44. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_gludin.htm
  45. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_gludio.htm
  46. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_goddard.htm
  47. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_heine.htm
  48. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_hw.htm
  49. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_oren.htm
  50. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_rune.htm
  51. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_schuttgart.htm
  52. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMines/32652-01.htm
  53. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMines/32652-02.htm
  54. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMines/32652-03.htm
  55. 23 13
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMines/MithrilMines.java
  56. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30598.htm
  57. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30599.htm
  58. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30600.htm
  59. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30601.htm
  60. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30602.htm
  61. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/32135.htm
  62. 16 16
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java
  63. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/cant-travel.htm
  64. 42 31
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
  65. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/noble-nopass.htm
  66. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/nobleteleporter-no.htm
  67. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/nobleteleporter.htm
  68. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/1.htm
  69. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/1a.htm
  70. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/3.htm
  71. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/4.htm
  72. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/5.htm
  73. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/5a.htm
  74. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/6.htm
  75. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/7.htm
  76. 104 55
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
  77. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/oracle.htm
  78. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/oracle1.htm
  79. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/rift_back.htm
  80. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat.htm
  81. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat_lowlevel.htm
  82. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat_noadena.htm
  83. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat_nofrag.htm
  84. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat_rift.htm
  85. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/FadedMark.htm
  86. 40 19
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
  87. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/noItem.htm
  88. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/noMark.htm
  89. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/openDoor.htm
  90. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StakatoNestTeleporter/32640-no.htm
  91. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StakatoNestTeleporter/32640.htm
  92. 22 13
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java
  93. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/32376-02.htm
  94. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/32376-02a.htm
  95. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/32376-03.htm
  96. 7 6
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java
  97. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/32163-no.htm
  98. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/32163.htm
  99. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/32181-no.htm
  100. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/32181.htm

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/html/default/29025.htm

@@ -1,5 +1,5 @@
 <html><body>
 As you approach the statue, you hear a familiar voice whispering in your ear. It says,<br>
 <font color="LEVEL">All right. It's almost completed... If you wish to possess the secret of immortality, ancient treasures, and the secret of the seal, then call his name...</font><br>
-<a action="bypass -h npc_%objectId%_Quest baium">Wake Baium</a>
+<a action="bypass -h npc_%objectId%_Quest Baium">Wake Baium</a>
 </body></html>

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/html/teleporter/31842.htm

@@ -1,4 +1,4 @@
 <html><body>Teleportation Cubic:<br>
-<a action="bypass -h npc_%objectId%_Quest baium">Return to the surface.</a><br>
+<a action="bypass -h npc_%objectId%_Quest Baium">Return to the surface.</a><br>
 <a action="bypass -h npc_%objectId% Quest">Quest.</a>
 </body></html>

+ 19 - 25
L2J_DataPack_BETA/dist/game/data/scripts.cfg

@@ -16,6 +16,25 @@ ai/npc/NpcBuffers/BirthdayCake.java
 ai/npc/NpcBuffers/CabaleBuffer.java
 ai/npc/NpcBuffers/Totems.java
 ai/npc/TerritoryManagers/TerritoryManagers.java
+ai/npc/Teleports/CrumaTower/CrumaTower.java
+ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
+ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java
+ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
+ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java
+ai/npc/Teleports/MithrilMines/MithrilMines.java
+ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java
+ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
+ai/npc/Teleports/OracleTeleport/OracleTeleport.java
+ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
+ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java
+ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java
+ai/npc/Teleports/StrongholdsTeleports/StrongholdsTeleports.java
+ai/npc/Teleports/Survivor/Survivor.java
+ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java
+ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java
+ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java
+ai/npc/Teleports/ToIVortex/ToIVortex.java
+ai/npc/Teleports/Warpgate/Warpgate.java
 
 # Fantasy Isle
 ai/fantasy_isle/MC_Show.java
@@ -77,7 +96,6 @@ ai/individual/Venom/Venom.java
 ai/individual/Zaken.java
 
 # Transformations
-
 transformations/Akamanah.java
 transformations/Anakim.java
 transformations/AquaElf.java
@@ -190,31 +208,7 @@ transformations/Zaken.java
 transformations/Zariche.java
 transformations/Zombie.java
 
-# Teleports
-
-teleports/CrumaTower/CrumaTower.java
-teleports/ElrokiTeleporters/ElrokiTeleporters.java
-teleports/GatekeeperSpirit/GatekeeperSpirit.java
-teleports/GrandBossTeleporters/GrandBossTeleporters.java
-teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java
-teleports/MithrilMines/MithrilMines.java
-teleports/NewbieTravelToken/NewbieTravelToken.java
-teleports/NoblesseTeleport/NoblesseTeleport.java
-teleports/OracleTeleport/OracleTeleport.java
-teleports/PaganTeleporters/PaganTeleporters.java
-teleports/StakatoNestTeleporter/StakatoNestTeleporter.java
-teleports/SteelCitadelTeleport/SteelCitadelTeleport.java
-teleports/StrongholdsTeleports/StrongholdsTeleports.java
-teleports/Survivor/Survivor.java
-teleports/TeleportToFantasy/TeleportToFantasy.java
-teleports/TeleportToRaceTrack/TeleportToRaceTrack.java
-teleports/TeleportWithCharm/TeleportWithCharm.java
-teleports/ToIVortex/ToIVortex.java
-teleports/Warpgate/Warpgate.java
-
-
 # Village Master
-
 village_master/Clan/Clan.java
 village_master/Alliance/Alliance.java
 village_master/9002_SubClassCertification/__init__.py

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

@@ -59,12 +59,16 @@ import com.l2jserver.gameserver.util.Util;
  */
 public class Baium extends AbstractNpcAI
 {
+	// NPCs
 	private static final int STONE_BAIUM = 29025;
 	private static final int ANGELIC_VORTEX = 31862;
 	private static final int LIVE_BAIUM = 29020;
 	private static final int ARCHANGEL = 29021;
 	private static final int TELEPORT_CUBIC = 31842;
 	
+	// Item
+	private static final int BLOODED_FABRIC = 4295;
+	
 	// Baium status tracking
 	private static final byte ASLEEP = 0; // baium is in the stone version, waiting to be woken up. Entry is unlocked
 	private static final byte AWAKE = 1; // baium is awake and fighting. Entry is locked.
@@ -329,9 +333,9 @@ public class Baium extends AbstractNpcAI
 				return "<html><body>Angelic Vortex:<br>You may not enter while flying a wyvern</body></html>";
 			}
 			
-			if ((GrandBossManager.getInstance().getBossStatus(LIVE_BAIUM) == ASLEEP) && player.getQuestState("Baium").hasQuestItems(4295)) // bloody fabric
+			if ((GrandBossManager.getInstance().getBossStatus(LIVE_BAIUM) == ASLEEP) && hasQuestItems(player, BLOODED_FABRIC))
 			{
-				player.getQuestState("Baium").takeItems(4295, 1);
+				takeItems(player, BLOODED_FABRIC, 1);
 				// allow entry for the player for the next 30 secs (more than enough time for the TP to happen)
 				// Note: this just means 30secs to get in, no limits on how long it takes before we get out.
 				_Zone.allowPlayerEntry(player, 30);

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/CrumaTower/30483.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/30483-1.htm


+ 18 - 21
L2J_DataPack_BETA/dist/game/data/scripts/teleports/CrumaTower/CrumaTower.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/CrumaTower.java

@@ -12,46 +12,43 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.CrumaTower;
+package ai.npc.Teleports.CrumaTower;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
-import com.l2jserver.gameserver.model.quest.QuestState;
 
 /**
- * Cruma Tower teleport.
+ * Cruma Tower teleport AI.
  * @author Plim
  */
-public class CrumaTower extends Quest
+public class CrumaTower extends AbstractNpcAI
 {
+	private static final int MOZELLA = 30483;
+	
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
-		
-		if (st == null)
-			return getNoQuestMsg(player);
-		
-		if (player.getLevel() > 55)
-			htmltext = "30483.htm";
-		else
-			player.teleToLocation(17724,114004,-11672);
+		if (player.getLevel() <= 55)
+		{
+			player.teleToLocation(17724, 114004, -11672);
+			return null;
+		}
 		
-		return htmltext;
+		return "30483-1.htm";
 	}
 	
-	public CrumaTower(int questId, String name, String descr)
+	private CrumaTower(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		
-		addStartNpc(30483);
-		addTalkId(30483);
+		addStartNpc(MOZELLA);
+		addTalkId(MOZELLA);
 	}
 	
 	public static void main(String[] args)
 	{
-		new CrumaTower(-1, CrumaTower.class.getSimpleName(), "teleports");
+		new CrumaTower(CrumaTower.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/ElrokiTeleporters/32111-no.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/32111-no.htm


+ 18 - 23
L2J_DataPack_BETA/dist/game/data/scripts/teleports/ElrokiTeleporters/ElrokiTeleporters.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java

@@ -12,58 +12,53 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.ElrokiTeleporters;
+package ai.npc.Teleports.ElrokiTeleporters;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
-import com.l2jserver.gameserver.model.quest.QuestState;
 
 /**
- * Elroki teleporters.<br>
+ * Elroki teleport AI.<br>
  * Original Jython script by kerberos_20
  * @author Plim
  */
-public class ElrokiTeleporters extends Quest
+public class ElrokiTeleporters extends AbstractNpcAI
 {
+	private static final int ORAHOCHIN = 32111;
+	private static final int GARIACHIN = 32112;
+	
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
-		
-		if (st == null)
-			return null;
-		
 		switch (npc.getNpcId())
 		{
-			case 32111:
+			case ORAHOCHIN:
 				if (player.isInCombat())
 				{
 					return "32111-no.htm";
 				}
-				player.teleToLocation(4990,-1879,-3178);
+				player.teleToLocation(4990, -1879, -3178);
 				break;
-			case 32112:
-				player.teleToLocation(7557,-5513,-3221);
+			case GARIACHIN:
+				player.teleToLocation(7557, -5513, -3221);
 				break;
 		}
 		
-		return htmltext;
+		return null;
 	}
 	
-	public ElrokiTeleporters(int questId, String name, String descr)
+	private ElrokiTeleporters(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		
-		addStartNpc(32111);
-		addTalkId(32111);
-		addStartNpc(32112);
-		addTalkId(32112);
+		addStartNpc(ORAHOCHIN, GARIACHIN);
+		addTalkId(ORAHOCHIN, GARIACHIN);
 	}
 	
 	public static void main(String[] args)
 	{
-		new ElrokiTeleporters(-1, ElrokiTeleporters.class.getSimpleName(), "teleports");
+		new ElrokiTeleporters(ElrokiTeleporters.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 25 - 19
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GatekeeperSpirit/GatekeeperSpirit.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java

@@ -12,7 +12,9 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.GatekeeperSpirit;
+package ai.npc.Teleports.GatekeeperSpirit;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.SevenSigns;
 import com.l2jserver.gameserver.model.actor.L2Npc;
@@ -23,21 +25,22 @@ import com.l2jserver.gameserver.model.quest.Quest;
  * Gatekeeper Spirit AI.
  * @author Charus, lion
  */
-public class GatekeeperSpirit extends Quest
+public class GatekeeperSpirit extends AbstractNpcAI
 {
-	private final static int EnterGk = 31111;
-	private final static int ExitGk = 31112;
-	private final static int Lilith = 25283;
-	private final static int Anakim = 25286;
+	private final static int GATEKEEPER_SPIRIT_ENTER = 31111;
+	private final static int GATEKEEPER_SPIRIT_EXIT = 31112;
+	private final static int LILITH = 25283;
+	private final static int ANAKIM = 25286;
 	
-	public GatekeeperSpirit(int questId, String name, String descr)
+	private GatekeeperSpirit(String name, String descr)
 	{
-		super(questId, name, descr);
-		addStartNpc(EnterGk);
-		addFirstTalkId(EnterGk);
-		addTalkId(EnterGk);
-		this.addEventId(Lilith, Quest.QuestEventType.ON_KILL);
-		this.addEventId(Anakim, Quest.QuestEventType.ON_KILL);
+		super(name, descr);
+		
+		addStartNpc(GATEKEEPER_SPIRIT_ENTER);
+		addFirstTalkId(GATEKEEPER_SPIRIT_ENTER);
+		addTalkId(GATEKEEPER_SPIRIT_ENTER);
+		addEventId(LILITH, Quest.QuestEventType.ON_KILL);
+		addEventId(ANAKIM, Quest.QuestEventType.ON_KILL);
 	}
 	
 	@Override
@@ -48,7 +51,7 @@ public class GatekeeperSpirit extends Quest
 		int sealAvariceOwner = SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_AVARICE);
 		int compWinner = SevenSigns.getInstance().getCabalHighestScore();
 		
-		if (playerCabal == sealAvariceOwner && playerCabal == compWinner)
+		if ((playerCabal == sealAvariceOwner) && (playerCabal == compWinner))
 		{
 			switch (sealAvariceOwner)
 			{
@@ -64,7 +67,9 @@ public class GatekeeperSpirit extends Quest
 			}
 		}
 		else
+		{
 			npc.showChatWindow(player);
+		}
 		
 		return htmltext;
 	}
@@ -76,21 +81,22 @@ public class GatekeeperSpirit extends Quest
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
 		int npcId = npc.getNpcId();
-		if (npcId == Lilith)
+		if (npcId == LILITH)
 		{
 			// exit_necropolis_boss_lilith
-			addSpawn(ExitGk, 184410, -10111, -5488, 0, false, 900000);
+			addSpawn(GATEKEEPER_SPIRIT_EXIT, 184410, -10111, -5488, 0, false, 900000);
 		}
-		else if (npcId == Anakim)
+		else if (npcId == ANAKIM)
 		{
 			// exit_necropolis_boss_anakim
-			addSpawn(ExitGk, 184410, -13102, -5488, 0, false, 900000);
+			addSpawn(GATEKEEPER_SPIRIT_EXIT, 184410, -13102, -5488, 0, false, 900000);
 		}
+		
 		return super.onKill(npc, killer, isPet);
 	}
 	
 	public static void main(String[] args)
 	{
-		new GatekeeperSpirit(-1, "GatekeeperSpirit", "teleports");
+		new GatekeeperSpirit(GatekeeperSpirit.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GatekeeperSpirit/dawn.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GatekeeperSpirit/dawn.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GatekeeperSpirit/dusk.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GatekeeperSpirit/dusk.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/13001-01.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/13001-01.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/13001-02.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/13001-02.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/13001-03.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/13001-03.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31385-01.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31385-01.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31385-02.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31385-02.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31385-03.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31385-03.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31385-04.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31385-04.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31540-01.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-01.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31540-02.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-02.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31540-03.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-03.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31540-04.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-04.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31540-05.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-05.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/31540-06.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/31540-06.htm


+ 72 - 48
L2J_DataPack_BETA/dist/game/data/scripts/teleports/GrandBossTeleporters/GrandBossTeleporters.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java

@@ -12,10 +12,11 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.GrandBossTeleporters;
+package ai.npc.Teleports.GrandBossTeleporters;
 
 import ai.individual.Antharas;
 import ai.individual.Valakas;
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.datatables.DoorTable;
@@ -29,34 +30,34 @@ import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.zone.type.L2BossZone;
 
 /**
- * Grand Bosses teleporters AI.<br>
+ * Grand Bosses teleport AI.<br>
  * Original python script by Emperorc.
  * @author Plim
  */
-public class GrandBossTeleporters extends Quest
+public class GrandBossTeleporters extends AbstractNpcAI
 {
-	private static final int[] NPCs = 
-	{ 
-		13001, //Heart of Warding : Teleport into Lair of Antharas
-		31859, //Teleportation Cubic : Teleport out of Lair of Antharas
-		31384, //Gatekeeper of Fire Dragon : Opening some doors
-		31385, //Heart of Volcano : Teleport into Lair of Valakas
-		31540, //Watcher of Valakas Klein : Teleport into Hall of Flames
-		31686, //Gatekeeper of Fire Dragon : Opens doors to Heart of Volcano
-		31687, //Gatekeeper of Fire Dragon : Opens doors to Heart of Volcano
-		31759 //Teleportation Cubic : Teleport out of Lair of Valakas
+	private static final int[] NPCs =
+	{
+		13001, // Heart of Warding : Teleport into Lair of Antharas
+		31859, // Teleportation Cubic : Teleport out of Lair of Antharas
+		31384, // Gatekeeper of Fire Dragon : Opening some doors
+		31385, // Heart of Volcano : Teleport into Lair of Valakas
+		31540, // Watcher of Valakas Klein : Teleport into Hall of Flames
+		31686, // Gatekeeper of Fire Dragon : Opens doors to Heart of Volcano
+		31687, // Gatekeeper of Fire Dragon : Opens doors to Heart of Volcano
+		31759 // Teleportation Cubic : Teleport out of Lair of Valakas
 	};
-	 
-    private Quest valakasAI()
-    {
-        return QuestManager.getInstance().getQuest(Valakas.class.getSimpleName());
-    }
-    
-    private Quest antharasAI()
-    {
-        return QuestManager.getInstance().getQuest(Antharas.class.getSimpleName());
-    }
- 
+	
+	private Quest valakasAI()
+	{
+		return QuestManager.getInstance().getQuest(Valakas.class.getSimpleName());
+	}
+	
+	private Quest antharasAI()
+	{
+		return QuestManager.getInstance().getQuest(Antharas.class.getSimpleName());
+	}
+	
 	private static int playerCount = 0;
 	
 	@Override
@@ -66,7 +67,9 @@ public class GrandBossTeleporters extends Quest
 		QuestState st = player.getQuestState(getName());
 		
 		if (st == null)
+		{
 			st = newQuestState(player);
+		}
 		
 		if (st.hasQuestItems(7267))
 		{
@@ -75,7 +78,9 @@ public class GrandBossTeleporters extends Quest
 			st.set("allowEnter", "1");
 		}
 		else
+		{
 			htmltext = "31540-06.htm";
+		}
 		
 		return htmltext;
 	}
@@ -87,7 +92,9 @@ public class GrandBossTeleporters extends Quest
 		QuestState st = player.getQuestState(getName());
 		
 		if (st == null)
+		{
 			return null;
+		}
 		
 		switch (npc.getNpcId())
 		{
@@ -99,13 +106,15 @@ public class GrandBossTeleporters extends Quest
 					int statusN = GrandBossManager.getInstance().getBossStatus(29067);
 					int statusS = GrandBossManager.getInstance().getBossStatus(29068);
 					
-					if (status == 2 || statusW == 2 || statusN == 2 || statusS == 2)
+					if ((status == 2) || (statusW == 2) || (statusN == 2) || (statusS == 2))
+					{
 						htmltext = "13001-02.htm";
-					
-					else if (status == 3 || statusW == 3 || statusN == 3 || statusS == 3)
+					}
+					else if ((status == 3) || (statusW == 3) || (statusN == 3) || (statusS == 3))
+					{
 						htmltext = "13001-01.htm";
-					
-					else if (status == 0 || status == 1) //If entrance to see Antharas is unlocked (he is Dormant or Waiting)
+					}
+					else if ((status == 0) || (status == 1)) // If entrance to see Antharas is unlocked (he is Dormant or Waiting)
 					{
 						if (st.hasQuestItems(3865))
 						{
@@ -113,7 +122,9 @@ public class GrandBossTeleporters extends Quest
 							L2BossZone zone = GrandBossManager.getInstance().getZone(179700, 113800, -7709);
 							
 							if (zone != null)
+							{
 								zone.allowPlayerEntry(player, 30);
+							}
 							
 							player.teleToLocation(179700 + getRandom(700), 113800 + getRandom(2100), -7709);
 							
@@ -123,9 +134,10 @@ public class GrandBossTeleporters extends Quest
 								antharasAI().notifyEvent("waiting", antharas, player);
 							}
 						}
-						
 						else
+						{
 							htmltext = "13001-03.htm";
+						}
 					}
 				}
 				break;
@@ -139,18 +151,21 @@ public class GrandBossTeleporters extends Quest
 				{
 					int status = GrandBossManager.getInstance().getBossStatus(29028);
 					
-					if (status == 0 || status == 1)
+					if ((status == 0) || (status == 1))
 					{
 						if (playerCount >= 200)
+						{
 							htmltext = "31385-03.htm";
-						
+						}
 						else if (st.getInt("allowEnter") == 1)
 						{
 							st.unset("allowEnter");
 							L2BossZone zone = GrandBossManager.getInstance().getZone(212852, -114842, -1632);
 							
 							if (zone != null)
+							{
 								zone.allowPlayerEntry(player, 30);
+							}
 							
 							player.teleToLocation(204328 + getRandom(600), -111874 + getRandom(600), 70);
 							
@@ -159,22 +174,28 @@ public class GrandBossTeleporters extends Quest
 							if (status == 0)
 							{
 								L2GrandBossInstance valakas = GrandBossManager.getInstance().getBoss(29028);
-								valakasAI().startQuestTimer("1001", Config.Valakas_Wait_Time, valakas, null);
+								valakasAI().startQuestTimer("beginning", Config.Valakas_Wait_Time, valakas, null);
 								GrandBossManager.getInstance().setBossStatus(29028, 1);
 							}
 						}
-						
 						else
+						{
 							htmltext = "31385-04.htm";
+						}
 					}
 					else if (status == 2)
+					{
 						htmltext = "31385-02.htm";
+					}
 					else
+					{
 						htmltext = "31385-01.htm";
+					}
 				}
-				
 				else
+				{
 					htmltext = "31385-01.htm";
+				}
 				break;
 			
 			case 31384:
@@ -191,21 +212,27 @@ public class GrandBossTeleporters extends Quest
 			
 			case 31540:
 				if (playerCount < 50)
+				{
 					htmltext = "31540-01.htm";
-				
+				}
 				else if (playerCount < 100)
+				{
 					htmltext = "31540-02.htm";
-				
+				}
 				else if (playerCount < 150)
+				{
 					htmltext = "31540-03.htm";
-				
+				}
 				else if (playerCount < 200)
+				{
 					htmltext = "31540-04.htm";
-				
+				}
 				else
+				{
 					htmltext = "31540-05.htm";
+				}
 				break;
-				
+			
 			case 31759:
 				player.teleToLocation(150037 + getRandom(500), -57720 + getRandom(500), -2976);
 				break;
@@ -214,19 +241,16 @@ public class GrandBossTeleporters extends Quest
 		return htmltext;
 	}
 	
-	public GrandBossTeleporters(int questId, String name, String descr)
+	private GrandBossTeleporters(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		
-		for (int npcId : NPCs)
-		{
-			addStartNpc(npcId);
-			addTalkId(npcId);
-		}
+		addStartNpc(NPCs);
+		addTalkId(NPCs);
 	}
 	
 	public static void main(String[] args)
 	{
-		new GrandBossTeleporters(-1, GrandBossTeleporters.class.getSimpleName(), "teleports");
+		new GrandBossTeleporters(GrandBossTeleporters.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 41 - 8
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java

@@ -12,33 +12,66 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.HuntingGroundsTeleport;
+package ai.npc.Teleports.HuntingGroundsTeleport;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.SevenSigns;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.util.Util;
 
 /**
  * Hunting Grounds teleport AI.
  * @author Charus
  */
-public class HuntingGroundsTeleport extends Quest
+public class HuntingGroundsTeleport extends AbstractNpcAI
 {
 	private final static int[] PRIESTS =
 	{
-		31078, 31079, 31080, 31081, 31082, 31083, 31084, 31085, 31086, 31087, 31088, 31089, 31090, 31091, 31168, 31169, 31692, 31693, 31694, 31695, 31997, 31998
+		31078,
+		31079,
+		31080,
+		31081,
+		31082,
+		31083,
+		31084,
+		31085,
+		31086,
+		31087,
+		31088,
+		31089,
+		31090,
+		31091,
+		31168,
+		31169,
+		31692,
+		31693,
+		31694,
+		31695,
+		31997,
+		31998
 	};
 	
 	private static final int[] DAWN_NPCS =
 	{
-		31078, 31079, 31080, 31081, 31082, 31083, 31084, 31168, 31692, 31694, 31997
+		31078,
+		31079,
+		31080,
+		31081,
+		31082,
+		31083,
+		31084,
+		31168,
+		31692,
+		31694,
+		31997
 	};
 	
-	public HuntingGroundsTeleport(int questId, String name, String descr)
+	private HuntingGroundsTeleport(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
+		
 		addStartNpc(PRIESTS);
 		addTalkId(PRIESTS);
 	}
@@ -110,6 +143,6 @@ public class HuntingGroundsTeleport extends Quest
 	
 	public static void main(String[] args)
 	{
-		new HuntingGroundsTeleport(-1, "HuntingGroundsTeleport", "teleports");
+		new HuntingGroundsTeleport(HuntingGroundsTeleport.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/dawn_tele-no.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/dawn_tele-no.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/dusk_tele-no.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/dusk_tele-no.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_aden.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_aden.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_dion.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_dion.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_giran.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_giran.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_gludin.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_gludin.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_gludio.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_gludio.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_goddard.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_goddard.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_heine.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_heine.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_hw.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_hw.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_oren.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_oren.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_rune.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_rune.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_schuttgart.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_schuttgart.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/hg_wrong.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/hg_wrong.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_aden.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_aden.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_dion.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_dion.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_giran.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_giran.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_gludin.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_gludin.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_gludio.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_gludio.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_goddard.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_goddard.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_heine.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_heine.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_hw.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_hw.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_oren.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_oren.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_rune.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_rune.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/HuntingGroundsTeleport/low_schuttgart.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/HuntingGroundsTeleport/low_schuttgart.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/MithrilMines/32652-01.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMines/32652-01.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/MithrilMines/32652-02.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMines/32652-02.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/MithrilMines/32652-03.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMines/32652-03.htm


+ 23 - 13
L2J_DataPack_BETA/dist/game/data/scripts/teleports/MithrilMines/MithrilMines.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/MithrilMines/MithrilMines.java

@@ -12,21 +12,22 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.MithrilMines;
+package ai.npc.Teleports.MithrilMines;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 
 /**
  * Mithril Mines teleport AI.
  * @author Charus
  */
-public class MithrilMines extends Quest
+public class MithrilMines extends AbstractNpcAI
 {
-	private static final Location[] _locs =
+	private static final Location[] LOCS =
 	{
 		new Location(171946, -173352, 3440),
 		new Location(175499, -181586, -904),
@@ -36,14 +37,15 @@ public class MithrilMines extends Quest
 		new Location(175499, -181586, -904)
 	};
 	
-	private final static int npcId = 32652;
+	private final static int NPC = 32652;
 	
-	public MithrilMines(int questId, String name, String descr)
+	private MithrilMines(String name, String descr)
 	{
-		super(questId, name, descr);
-		addStartNpc(npcId);
-		addFirstTalkId(npcId);
-		addTalkId(npcId);
+		super(name, descr);
+		
+		addStartNpc(NPC);
+		addFirstTalkId(NPC);
+		addTalkId(NPC);
 	}
 	
 	@Override
@@ -53,9 +55,9 @@ public class MithrilMines extends Quest
 		QuestState st = player.getQuestState(getName());
 		
 		int index = Integer.parseInt(event) - 1;
-		if (_locs.length > index)
+		if (LOCS.length > index)
 		{
-			Location loc = _locs[index];
+			Location loc = LOCS[index];
 			
 			player.teleToLocation(loc, false);
 			st.exitQuest(true);
@@ -70,20 +72,28 @@ public class MithrilMines extends Quest
 		String htmltext = "";
 		QuestState st = player.getQuestState(getName());
 		if (st == null)
+		{
 			st = newQuestState(player);
+		}
 		
 		if (npc.isInsideRadius(173147, -173762, L2Npc.INTERACTION_DISTANCE, true))
+		{
 			htmltext = "32652-01.htm";
+		}
 		else if (npc.isInsideRadius(181941, -174614, L2Npc.INTERACTION_DISTANCE, true))
+		{
 			htmltext = "32652-02.htm";
+		}
 		else if (npc.isInsideRadius(179560, -182956, L2Npc.INTERACTION_DISTANCE, true))
+		{
 			htmltext = "32652-03.htm";
+		}
 		
 		return htmltext;
 	}
 	
 	public static void main(String[] args)
 	{
-		new MithrilMines(-1, "MithrilMines", "teleports");
+		new MithrilMines(MithrilMines.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NewbieTravelToken/30598.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30598.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NewbieTravelToken/30599.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30599.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NewbieTravelToken/30600.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30600.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NewbieTravelToken/30601.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30601.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NewbieTravelToken/30602.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/30602.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NewbieTravelToken/32135.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/32135.htm


+ 16 - 16
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NewbieTravelToken/NewbieTravelToken.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java

@@ -12,16 +12,16 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.NewbieTravelToken;
+package ai.npc.Teleports.NewbieTravelToken;
 
 import java.util.Map;
 
 import javolution.util.FastMap;
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.util.Util;
@@ -31,10 +31,10 @@ import com.l2jserver.gameserver.util.Util;
  * Original Jython script by DrLecter.
  * @author Plim
  */
-public class NewbieTravelToken extends Quest
+public class NewbieTravelToken extends AbstractNpcAI
 {
-	private static final int TOKEN = 8542;
-	//NPC Id - Teleport Location
+	private static final int NEWBIE_TRAVEL_TOKEN = 8542;
+	// NPC Id - Teleport Location
 	private static final Map<Integer, Location> DATA = new FastMap<>();
 	
 	@Override
@@ -50,9 +50,9 @@ public class NewbieTravelToken extends Quest
 			final int npcId = Integer.parseInt(event);
 			if (DATA.keySet().contains(npcId))
 			{
-				if (st.hasQuestItems(TOKEN))
+				if (st.hasQuestItems(NEWBIE_TRAVEL_TOKEN))
 				{
-					st.takeItems(TOKEN, 1);
+					st.takeItems(NEWBIE_TRAVEL_TOKEN, 1);
 					player.teleToLocation(DATA.get(npcId), false);
 				}
 				else
@@ -86,17 +86,17 @@ public class NewbieTravelToken extends Quest
 		return htmltext;
 	}
 	
-	public NewbieTravelToken(int questId, String name, String descr)
+	private NewbieTravelToken(String name, String descr)
 	{
-		super(questId, name, 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
+		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())
 		{
@@ -107,6 +107,6 @@ public class NewbieTravelToken extends Quest
 	
 	public static void main(String[] args)
 	{
-		new NewbieTravelToken(-1, "NewbieTravelToken", "teleports");
+		new NewbieTravelToken(NewbieTravelToken.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NewbieTravelToken/cant-travel.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/cant-travel.htm


+ 42 - 31
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NoblesseTeleport/NoblesseTeleport.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java

@@ -12,39 +12,58 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.NoblesseTeleport;
+package ai.npc.Teleports.NoblesseTeleport;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
-import com.l2jserver.gameserver.model.quest.QuestState;
 
 /**
  * Noblesse teleport AI.<br>
  * Original Jython script by Ham Wong.
  * @author Plim
  */
-public class NoblesseTeleport extends Quest
+public class NoblesseTeleport extends AbstractNpcAI
 {
+	private static final int OLYMPIAD_TOKEN = 13722;
+	
 	private static final int[] NPCs =
 	{
-		30006, 30059, 30080, 30134, 30146, 30177, 30233, 30256, 30320, 30540, 30576, 30836, 30848, 30878, 30899, 31275, 31320, 31964, 32163
+		30006,
+		30059,
+		30080,
+		30134,
+		30146,
+		30177,
+		30233,
+		30256,
+		30320,
+		30540,
+		30576,
+		30836,
+		30848,
+		30878,
+		30899,
+		31275,
+		31320,
+		31964,
+		32163
 	};
 	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
-		
-		if (st == null)
-			return null;
-		
-		if (event.equalsIgnoreCase("teleportWithToken"))
+		if ("teleportWithToken".equals(event))
 		{
-			if (st.hasQuestItems(13722))
+			if (hasQuestItems(player, OLYMPIAD_TOKEN))
+			{
 				npc.showChatWindow(player, 3);
+			}
 			else
+			{
 				return "noble-nopass.htm";
+			}
 		}
 		
 		return null;
@@ -53,33 +72,25 @@ public class NoblesseTeleport extends Quest
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
-		String htmltext = getNoQuestMsg(player);
-		
-		if (st == null)
-			return htmltext;
-		
 		if (player.isNoble())
-			htmltext = "nobleteleporter.htm";
-		else
-			htmltext = "nobleteleporter-no.htm";
-		
-		return htmltext;
+		{
+			return "nobleteleporter.htm";
+		}
+
+		return "nobleteleporter-no.htm";
 	}
 	
-	public NoblesseTeleport(int questId, String name, String descr)
+	private NoblesseTeleport(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
+		
+		addStartNpc(NPCs);
+		addTalkId(NPCs);
 		
-		for (int npcId : NPCs)
-		{
-			addStartNpc(npcId);
-			addTalkId(npcId);
-		}
 	}
 	
 	public static void main(String[] args)
 	{
-		new NoblesseTeleport(-1, NoblesseTeleport.class.getSimpleName(), "teleports");
+		new NoblesseTeleport(NoblesseTeleport.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NoblesseTeleport/noble-nopass.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/noble-nopass.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NoblesseTeleport/nobleteleporter-no.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/nobleteleporter-no.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/NoblesseTeleport/nobleteleporter.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/NoblesseTeleport/nobleteleporter.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/1.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/1.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/1a.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/1a.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/3.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/3.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/4.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/4.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/5.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/5.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/5a.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/5a.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/6.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/6.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/7.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/7.htm


+ 104 - 55
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/OracleTeleport.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java

@@ -12,13 +12,14 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.OracleTeleport;
+package ai.npc.Teleports.OracleTeleport;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.quest.State;
 import com.l2jserver.gameserver.network.SystemMessageId;
@@ -28,26 +29,60 @@ import com.l2jserver.gameserver.util.Util;
  * Oracle teleport AI.
  * @author Charus
  */
-public class OracleTeleport extends Quest
+public class OracleTeleport extends AbstractNpcAI
 {
 	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 =
@@ -186,34 +221,20 @@ public class OracleTeleport extends Quest
 		new Location(12837, -248483, -9579)
 	};
 	
-	public OracleTeleport(int questId, String name, String descr)
+	private OracleTeleport(String name, String descr)
 	{
-		super(questId, name, descr);
-		for (int posters : RIFT_POSTERS)
-		{
-			addStartNpc(posters);
-			addTalkId(posters);
-		}
-		for (int teleporters : TELEPORTERS)
-		{
-			addStartNpc(teleporters);
-			addTalkId(teleporters);
-		}
-		for (int priests : TEMPLE_PRIEST)
-		{
-			addStartNpc(priests);
-			addTalkId(priests);
-		}
-		for (int dawn : TOWN_DAWN)
-		{
-			addStartNpc(dawn);
-			addTalkId(dawn);
-		}
-		for (int dusk : TOWN_DUSK)
-		{
-			addStartNpc(dusk);
-			addTalkId(dusk);
-		}
+		super(name, descr);
+		
+		addStartNpc(RIFT_POSTERS);
+		addStartNpc(TELEPORTERS);
+		addStartNpc(TEMPLE_PRIEST);
+		addStartNpc(TOWN_DAWN);
+		addStartNpc(TOWN_DUSK);
+		addTalkId(RIFT_POSTERS);
+		addTalkId(TELEPORTERS);
+		addTalkId(TEMPLE_PRIEST);
+		addTalkId(TOWN_DAWN);
+		addTalkId(TOWN_DUSK);
 	}
 	
 	@Override
@@ -225,14 +246,14 @@ public class OracleTeleport extends Quest
 		int npcId = npc.getNpcId();
 		if (event.equalsIgnoreCase("Return"))
 		{
-			if (Util.contains(TEMPLE_PRIEST, npcId) && st.getState() == State.STARTED)
+			if (Util.contains(TEMPLE_PRIEST, npcId) && (st.getState() == State.STARTED))
 			{
 				Location loc = RETURN_LOCS[st.getInt("id")];
 				player.teleToLocation(loc.getX(), loc.getY(), loc.getZ());
 				player.setIsIn7sDungeon(false);
 				st.exitQuest(true);
 			}
-			else if (Util.contains(RIFT_POSTERS, npcId) && st.getState() == State.STARTED)
+			else if (Util.contains(RIFT_POSTERS, npcId) && (st.getState() == State.STARTED))
 			{
 				Location loc = RETURN_LOCS[st.getInt("id")];
 				player.teleToLocation(loc.getX(), loc.getY(), loc.getZ());
@@ -254,7 +275,9 @@ public class OracleTeleport extends Quest
 				player.setIsIn7sDungeon(true);
 			}
 			else
+			{
 				htmltext = "oracle1.htm";
+			}
 		}
 		else if (event.equalsIgnoreCase("Dimensional"))
 		{
@@ -265,12 +288,16 @@ public class OracleTeleport extends Quest
 		{
 			int id = st.getInt("id");
 			if (id > -1)
+			{
 				htmltext = "5a.htm";
+			}
 			int i = 0;
 			for (int id1 : TELEPORTERS)
 			{
 				if (id1 == npcId)
+				{
 					break;
+				}
 				i++;
 			}
 			st.set("id", Integer.toString(i));
@@ -285,28 +312,42 @@ public class OracleTeleport extends Quest
 		else if (event.equalsIgnoreCase("zigurratDimensional"))
 		{
 			int playerLevel = player.getLevel();
-			if (playerLevel >= 20 && playerLevel < 30)
+			if ((playerLevel >= 20) && (playerLevel < 30))
+			{
 				st.takeItems(57, 2000);
-			else if (playerLevel >= 30 && playerLevel < 40)
+			}
+			else if ((playerLevel >= 30) && (playerLevel < 40))
+			{
 				st.takeItems(57, 4500);
-			else if (playerLevel >= 40 && playerLevel < 50)
+			}
+			else if ((playerLevel >= 40) && (playerLevel < 50))
+			{
 				st.takeItems(57, 8000);
-			else if (playerLevel >= 50 && playerLevel < 60)
+			}
+			else if ((playerLevel >= 50) && (playerLevel < 60))
+			{
 				st.takeItems(57, 12500);
-			else if (playerLevel >= 60 && playerLevel < 70)
+			}
+			else if ((playerLevel >= 60) && (playerLevel < 70))
+			{
 				st.takeItems(57, 18000);
+			}
 			else if (playerLevel >= 70)
+			{
 				st.takeItems(57, 24500);
+			}
 			int i = 0;
-			for (int zigurrat : TELEPORTERS)
+			for (int ziggurat : TELEPORTERS)
 			{
-				if (zigurrat == npcId)
+				if (ziggurat == npcId)
+				{
 					break;
+				}
 				i++;
 			}
 			st.set("id", Integer.toString(i));
 			st.setState(State.STARTED);
-			st.playSound("ItemSound.quest_accept");
+			st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT);
 			htmltext = "ziggurat_rift.htm";
 			player.teleToLocation(-114755, -179466, -6752);
 		}
@@ -328,11 +369,13 @@ public class OracleTeleport extends Quest
 			for (int dawn : TELEPORTERS)
 			{
 				if (dawn == npcId)
+				{
 					break;
+				}
 				i++;
 			}
 			st.set("id", Integer.toString(i));
-			st.playSound("ItemSound.quest_accept");
+			st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT);
 			player.teleToLocation(-80157, 111344, -4901);
 			player.setIsIn7sDungeon(true);
 		}
@@ -343,15 +386,17 @@ public class OracleTeleport extends Quest
 			for (int dusk : TELEPORTERS)
 			{
 				if (dusk == npcId)
+				{
 					break;
+				}
 				i++;
 			}
 			st.set("id", Integer.toString(i));
-			st.playSound("ItemSound.quest_accept");
+			st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT);
 			player.teleToLocation(-81261, 86531, -5157);
 			player.setIsIn7sDungeon(true);
 		}
-		else if (npcId >= 31494 && npcId <= 31507)
+		else if ((npcId >= 31494) && (npcId <= 31507))
 		{
 			if (player.getLevel() < 20)
 			{
@@ -364,14 +409,16 @@ public class OracleTeleport extends Quest
 				st.exitQuest(true);
 			}
 			else if (!st.hasQuestItems(7079))
+			{
 				htmltext = "3.htm";
+			}
 			else
 			{
 				st.setState(State.CREATED);
 				htmltext = "4.htm";
 			}
 		}
-		else if ((npcId >= 31095 && npcId <= 31111) || (npcId >= 31114 && npcId <= 31126))
+		else if (((npcId >= 31095) && (npcId <= 31111)) || ((npcId >= 31114) && (npcId <= 31126)))
 		{
 			int playerLevel = player.getLevel();
 			if (playerLevel < 20)
@@ -389,38 +436,40 @@ public class OracleTeleport extends Quest
 				htmltext = "ziggurat_nofrag.htm";
 				st.exitQuest(true);
 			}
-			else if (playerLevel >= 20 && playerLevel < 30 && st.getQuestItemsCount(PcInventory.ADENA_ID) < 2000)
+			else if ((playerLevel >= 20) && (playerLevel < 30) && (st.getQuestItemsCount(PcInventory.ADENA_ID) < 2000))
 			{
 				htmltext = "ziggurat_noadena.htm";
 				st.exitQuest(true);
 			}
-			else if (playerLevel >= 30 && playerLevel < 40 && st.getQuestItemsCount(PcInventory.ADENA_ID) < 4500)
+			else if ((playerLevel >= 30) && (playerLevel < 40) && (st.getQuestItemsCount(PcInventory.ADENA_ID) < 4500))
 			{
 				htmltext = "ziggurat_noadena.htm";
 				st.exitQuest(true);
 			}
-			else if (playerLevel >= 40 && playerLevel < 50 && st.getQuestItemsCount(PcInventory.ADENA_ID) < 8000)
+			else if ((playerLevel >= 40) && (playerLevel < 50) && (st.getQuestItemsCount(PcInventory.ADENA_ID) < 8000))
 			{
 				htmltext = "ziggurat_noadena.htm";
 				st.exitQuest(true);
 			}
-			else if (playerLevel >= 50 && playerLevel < 60 && st.getQuestItemsCount(PcInventory.ADENA_ID) < 12500)
+			else if ((playerLevel >= 50) && (playerLevel < 60) && (st.getQuestItemsCount(PcInventory.ADENA_ID) < 12500))
 			{
 				htmltext = "ziggurat_noadena.htm";
 				st.exitQuest(true);
 			}
-			else if (playerLevel >= 60 && playerLevel < 70 && st.getQuestItemsCount(PcInventory.ADENA_ID) < 18000)
+			else if ((playerLevel >= 60) && (playerLevel < 70) && (st.getQuestItemsCount(PcInventory.ADENA_ID) < 18000))
 			{
 				htmltext = "ziggurat_noadena.htm";
 				st.exitQuest(true);
 			}
-			else if (playerLevel >= 70 && st.getQuestItemsCount(PcInventory.ADENA_ID) < 24500)
+			else if ((playerLevel >= 70) && (st.getQuestItemsCount(PcInventory.ADENA_ID) < 24500))
 			{
 				htmltext = "ziggurat_noadena.htm";
 				st.exitQuest(true);
 			}
 			else
+			{
 				htmltext = "ziggurat.htm";
+			}
 		}
 		
 		return htmltext;
@@ -428,6 +477,6 @@ public class OracleTeleport extends Quest
 	
 	public static void main(String[] args)
 	{
-		new OracleTeleport(-1, "OracleTeleport", "teleports");
+		new OracleTeleport(OracleTeleport.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/oracle.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/oracle.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/oracle1.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/oracle1.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/rift_back.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/rift_back.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/ziggurat.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/ziggurat_lowlevel.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat_lowlevel.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/ziggurat_noadena.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat_noadena.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/ziggurat_nofrag.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat_nofrag.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/OracleTeleport/ziggurat_rift.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/ziggurat_rift.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/PaganTeleporters/FadedMark.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/FadedMark.htm


+ 40 - 19
L2J_DataPack_BETA/dist/game/data/scripts/teleports/PaganTeleporters/PaganTeleporters.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java

@@ -12,26 +12,41 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.PaganTeleporters;
+package ai.npc.Teleports.PaganTeleporters;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.datatables.DoorTable;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 
 /**
- * Pagan Temple teleporters AI.<br>
+ * Pagan Temple teleport AI.<br>
  * Original Jython script by BiTi.
  * @author Plim
  */
-public class PaganTeleporters extends Quest
+public class PaganTeleporters extends AbstractNpcAI
 {
+	//NPCs
+	private static final int TRIOLS_MIRROR_1 = 32039;
+	private static final int TRIOLS_MIRROR_2 = 32040;
+	
 	private static final int[] NPCS =
 	{
-		32034, 32035, 32036, 32037, 32039, 32040
+		32034,
+		32035,
+		32036,
+		32037,
+		32039,
+		32040
 	};
 	
+	//Items
+	private static final int VISITORS_MARK = 8064;
+	private static final int FADED_VISITORS_MARK = 8065;
+	private static final int PAGANS_MARK = 8067;
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
@@ -51,10 +66,14 @@ public class PaganTeleporters extends Quest
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		if (npc.getNpcId() == 32039)
+		if (npc.getNpcId() == TRIOLS_MIRROR_1)
+		{
 			player.teleToLocation(-12766, -35840, -10856);
-		else if (npc.getNpcId() == 32040)
+		}
+		else if (npc.getNpcId() == TRIOLS_MIRROR_2)
+		{
 			player.teleToLocation(36640, -51218, 718);
+		}
 		
 		return "";
 	}
@@ -66,13 +85,17 @@ public class PaganTeleporters extends Quest
 		QuestState st = player.getQuestState(getName());
 		
 		if (st == null)
+		{
 			return null;
+		}
 		
 		switch (npc.getNpcId())
 		{
 			case 32034:
-				if (!st.hasQuestItems(8064) && !st.hasQuestItems(8065) && !st.hasQuestItems(8067))
+				if (!st.hasQuestItems(VISITORS_MARK) && !st.hasQuestItems(FADED_VISITORS_MARK) && !st.hasQuestItems(PAGANS_MARK))
+				{
 					htmltext = "noItem.htm";
+				}
 				else
 				{
 					htmltext = "FadedMark.htm";
@@ -86,8 +109,10 @@ public class PaganTeleporters extends Quest
 				htmltext = "FadedMark.htm";
 				break;
 			case 32036:
-				if (!st.hasQuestItems(8067))
+				if (!st.hasQuestItems(PAGANS_MARK))
+				{
 					htmltext = "noMark.htm";
+				}
 				else
 				{
 					htmltext = "openDoor.htm";
@@ -109,22 +134,18 @@ public class PaganTeleporters extends Quest
 		return htmltext;
 	}
 	
-	public PaganTeleporters(int questId, String name, String descr)
+	private PaganTeleporters(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		
-		for (int npcId : NPCS)
-		{
-			addStartNpc(npcId);
-			addTalkId(npcId);
-		}
+		addStartNpc(NPCS);
+		addTalkId(NPCS);
+		addFirstTalkId(TRIOLS_MIRROR_1, TRIOLS_MIRROR_2);
 		
-		addFirstTalkId(32039);
-		addFirstTalkId(32040);
 	}
 	
 	public static void main(String[] args)
 	{
-		new PaganTeleporters(-1, PaganTeleporters.class.getSimpleName(), "teleports");
+		new PaganTeleporters(PaganTeleporters.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/PaganTeleporters/noItem.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/noItem.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/PaganTeleporters/noMark.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/noMark.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/PaganTeleporters/openDoor.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/openDoor.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/StakatoNestTeleporter/32640-no.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StakatoNestTeleporter/32640-no.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/StakatoNestTeleporter/32640.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StakatoNestTeleporter/32640.htm


+ 22 - 13
L2J_DataPack_BETA/dist/game/data/scripts/teleports/StakatoNestTeleporter/StakatoNestTeleporter.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java

@@ -12,23 +12,23 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.StakatoNestTeleporter;
+package ai.npc.Teleports.StakatoNestTeleporter;
 
 import quests.Q00240_ImTheOnlyOneYouCanTrust.Q00240_ImTheOnlyOneYouCanTrust;
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 
 /**
- * Stakato Nest Teleporter AI.
+ * Stakato Nest Teleport AI.
  * @author Charus
  */
-public class StakatoNestTeleporter extends Quest
+public class StakatoNestTeleporter extends AbstractNpcAI
 {
-	private final static Location[] _locs =
+	private final static Location[] LOCS =
 	{
 		new Location(80456, -52322, -5640),
 		new Location(88718, -46214, -4640),
@@ -37,13 +37,14 @@ public class StakatoNestTeleporter extends Quest
 		new Location(87682, -43291, -4128)
 	};
 	
-	private final static int npcId = 32640;
+	private final static int KINTAIJIN = 32640;
 	
-	public StakatoNestTeleporter(int questId, String name, String descr)
+	private StakatoNestTeleporter(String name, String descr)
 	{
-		super(questId, name, descr);
-		addStartNpc(npcId);
-		addTalkId(npcId);
+		super(name, descr);
+		
+		addStartNpc(KINTAIJIN);
+		addTalkId(KINTAIJIN);
 	}
 	
 	@Override
@@ -52,20 +53,24 @@ public class StakatoNestTeleporter extends Quest
 		String htmltext = "";
 		QuestState st = player.getQuestState(getName());
 		if (st == null)
+		{
 			st = newQuestState(player);
+		}
 		
 		int index = Integer.parseInt(event) - 1;
 		
-		if (_locs.length > index)
+		if (LOCS.length > index)
 		{
-			Location loc = _locs[index];
+			Location loc = LOCS[index];
 			
 			if (player.getParty() != null)
 			{
 				for (L2PcInstance partyMember : player.getParty().getMembers())
 				{
 					if (partyMember.isInsideRadius(player, 1000, true, true))
+					{
 						partyMember.teleToLocation(loc, true);
+					}
 				}
 			}
 			player.teleToLocation(loc, false);
@@ -81,15 +86,19 @@ public class StakatoNestTeleporter extends Quest
 		String htmltext = "";
 		QuestState accessQuest = player.getQuestState(Q00240_ImTheOnlyOneYouCanTrust.class.getSimpleName());
 		if ((accessQuest != null) && accessQuest.isCompleted())
+		{
 			htmltext = "32640.htm";
+		}
 		else
+		{
 			htmltext = "32640-no.htm";
+		}
 		
 		return htmltext;
 	}
 	
 	public static void main(String[] args)
 	{
-		new StakatoNestTeleporter(-1, StakatoNestTeleporter.class.getSimpleName(), "teleports");
+		new StakatoNestTeleporter(StakatoNestTeleporter.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/SteelCitadelTeleport/32376-02.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/32376-02.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/SteelCitadelTeleport/32376-02a.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/32376-02a.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/SteelCitadelTeleport/32376-03.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/32376-03.htm


+ 7 - 6
L2J_DataPack_BETA/dist/game/data/scripts/teleports/SteelCitadelTeleport/SteelCitadelTeleport.java → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java

@@ -12,7 +12,9 @@
  * You should have received a copy of the GNU General Public License along with
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package teleports.SteelCitadelTeleport;
+package ai.npc.Teleports.SteelCitadelTeleport;
+
+import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.instancemanager.GrandBossManager;
@@ -21,21 +23,20 @@ import com.l2jserver.gameserver.model.L2CommandChannel;
 import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.zone.type.L2BossZone;
 
 /**
  * Steel Citadel teleport AI.
  * @author GKR
  */
-public class SteelCitadelTeleport extends Quest
+public class SteelCitadelTeleport extends AbstractNpcAI
 {
 	private static final int BELETH = 29118;
 	private static final int NAIA_CUBE = 32376;
 	
-	public SteelCitadelTeleport(int questId, String name, String descr)
+	private SteelCitadelTeleport(String name, String descr)
 	{
-		super(questId, name, descr);
+		super(name, descr);
 		
 		addStartNpc(NAIA_CUBE);
 		addTalkId(NAIA_CUBE);
@@ -92,6 +93,6 @@ public class SteelCitadelTeleport extends Quest
 	
 	public static void main(String[] args)
 	{
-		new SteelCitadelTeleport(-1, "SteelCitadelTeleport", "teleports");
+		new SteelCitadelTeleport(SteelCitadelTeleport.class.getSimpleName(), "ai/npc/Teleports/");
 	}
 }

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/StrongholdsTeleports/32163-no.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/32163-no.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/StrongholdsTeleports/32163.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/32163.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/StrongholdsTeleports/32181-no.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/32181-no.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/teleports/StrongholdsTeleports/32181.htm → L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/StrongholdsTeleports/32181.htm


Some files were not shown because too many files changed in this diff