diff --git a/trunk/dist/game/data/scripts.cfg b/trunk/dist/game/data/scripts.cfg
index 84a93035c0..3ca8a1ddcb 100644
--- a/trunk/dist/game/data/scripts.cfg
+++ b/trunk/dist/game/data/scripts.cfg
@@ -10,109 +10,6 @@ handlers/MasterHandler.java
# AI Section
-# Npc
-ai/npc/Acateo/Acateo.java
-ai/npc/AdventurersGuide/AdventurersGuide.java
-ai/npc/Alarm/Alarm.java
-ai/npc/Alexandria/Alexandria.java
-ai/npc/AltarOfSouls/AltarOfSouls.java
-ai/npc/AlchemistManager/AlchemistManager.java
-ai/npc/Apprentice/Apprentice.java
-ai/npc/ArenaManager/ArenaManager.java
-ai/npc/AvantGarde/AvantGarde.java
-ai/npc/AwakeningMaster/AwakeningMaster.java
-ai/npc/BlackJudge/BlackJudge.java
-ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
-ai/npc/CastleAmbassador/CastleAmbassador.java
-ai/npc/CastleBlacksmith/CastleBlacksmith.java
-ai/npc/CastleCourtMagician/CastleCourtMagician.java
-ai/npc/CastleChamberlain/CastleChamberlain.java
-ai/npc/CastleMercenaryManager/CastleMercenaryManager.java
-ai/npc/CastleSiegeManager/CastleSiegeManager.java
-ai/npc/CastleTeleporter/CastleTeleporter.java
-ai/npc/CastleWarehouse/CastleWarehouse.java
-ai/npc/ClanTrader/ClanTrader.java
-ai/npc/DimensionalManager/DimensionalManager.java
-ai/npc/DragonVortex/DragonVortex.java
-ai/npc/FameManager/FameManager.java
-ai/npc/ForgeOfTheGods/ForgeOfTheGods.java
-ai/npc/ForgeOfTheGods/Rooney.java
-ai/npc/FortressArcherCaptain/FortressArcherCaptain.java
-ai/npc/FortressSiegeManager/FortressSiegeManager.java
-ai/npc/FreyasSteward/FreyasSteward.java
-ai/npc/Hardin/Hardin.java
-ai/npc/Jinia/Jinia.java
-ai/npc/KainVanHalter/KainVanHalter.java
-ai/npc/KetraOrcSupport/KetraOrcSupport.java
-ai/npc/LaVieEnRose/LaVieEnRose.java
-ai/npc/Mammons/Mammons.java
-ai/npc/ManorManager/ManorManager.java
-ai/npc/MentorGuide/MentorGuide.java
-ai/npc/Milia/Milia.java
-ai/npc/Minigame/Minigame.java
-ai/npc/MonkOfChaos/MonkOfChaos.java
-ai/npc/MonumentOfHeroes/MonumentOfHeroes.java
-ai/npc/Merlot/Merlot.java
-ai/npc/Nomi/Nomi.java
-ai/npc/NpcBuffers/NpcBuffers.java
-ai/npc/Pantheon/Pantheon.java
-ai/npc/Proclaimer/Proclaimer.java
-ai/npc/Rignos/Rignos.java
-ai/npc/Raina/Raina.java
-ai/npc/RemembranceTower/RemembranceTower.java
-ai/npc/Scarecrow/Scarecrow.java
-ai/npc/Sirra/Sirra.java
-ai/npc/Summons/MerchantGolem/GolemTrader.java
-ai/npc/SupportUnitCaptain/SupportUnitCaptain.java
-ai/npc/SymbolMaker/SymbolMaker.java
-ai/npc/Teleports/AnghelWaterfallPortal/AnghelWaterfallPortal.java
-ai/npc/Teleports/CrumaTower/CrumaTower.java
-ai/npc/Teleports/DarkOmens/DarkOmens.java
-ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
-ai/npc/Teleports/DimensionalWarpTeleport/DimensionalWarpTeleport.java
-ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
-ai/npc/Teleports/GainakUndergroundEntrance/GainakUndergroundEntrance.java
-ai/npc/Teleports/GardenOfSpirits/GardenOfSpirits.java
-ai/npc/Teleports/GiantServant/GiantServant.java
-ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
-ai/npc/Teleports/HarnakUnderground/HarnakUnderground.java
-ai/npc/Teleports/KargosTeleport/KargosTeleport.java
-ai/npc/Teleports/Klemis/Klemis.java
-ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
-ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java
-ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
-ai/npc/Teleports/OrbisTemple/OrbisTemple.java
-ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
-ai/npc/Teleports/SeparatedSoul/SeparatedSoul.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/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java
-ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java
-ai/npc/Teleports/ToIVortex/ToIVortex.java
-ai/npc/Teleports/Warpgate/Warpgate.java
-ai/npc/Teleports/YeSagiraTeleporter/YeSagiraTeleporter.java
-ai/npc/Toyron/Toyron.java
-ai/npc/Trainers/HealerTrainer/HealerTrainer.java
-ai/npc/Trandon/Trandon.java
-ai/npc/Tunatun/Tunatun.java
-ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java
-ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java
-ai/npc/WeaverOlf/WeaverOlf.java
-ai/npc/WyvernManager/WyvernManager.java
-ai/npc/Zenya/Zenya.java
-
-# Atelia Fortess
-ai/atelia_fortess/AteliaStatus/AteliaStatus.java
-
-# Fantasy Isle
-ai/fantasy_isle/MC_Show.java
-ai/fantasy_isle/HandysBlockCheckerEvent.java
-ai/fantasy_isle/Parade.java
-
# Group Template
ai/group_template/AdenReconstructorManager.java
ai/group_template/ArcanRitual.java
@@ -216,6 +113,109 @@ ai/individual/TrainningSoldier.java
ai/individual/Valakas.java
ai/individual/WindVortex.java
+# Npc
+ai/npc/Acateo/Acateo.java
+ai/npc/AdventurersGuide/AdventurersGuide.java
+ai/npc/Alarm/Alarm.java
+ai/npc/Alexandria/Alexandria.java
+ai/npc/AltarOfSouls/AltarOfSouls.java
+ai/npc/AlchemistManager/AlchemistManager.java
+ai/npc/Apprentice/Apprentice.java
+ai/npc/ArenaManager/ArenaManager.java
+ai/npc/AvantGarde/AvantGarde.java
+ai/npc/AwakeningMaster/AwakeningMaster.java
+ai/npc/BlackJudge/BlackJudge.java
+ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
+ai/npc/CastleAmbassador/CastleAmbassador.java
+ai/npc/CastleBlacksmith/CastleBlacksmith.java
+ai/npc/CastleCourtMagician/CastleCourtMagician.java
+ai/npc/CastleChamberlain/CastleChamberlain.java
+ai/npc/CastleMercenaryManager/CastleMercenaryManager.java
+ai/npc/CastleSiegeManager/CastleSiegeManager.java
+ai/npc/CastleTeleporter/CastleTeleporter.java
+ai/npc/CastleWarehouse/CastleWarehouse.java
+ai/npc/ClanTrader/ClanTrader.java
+ai/npc/DimensionalManager/DimensionalManager.java
+ai/npc/DragonVortex/DragonVortex.java
+ai/npc/FameManager/FameManager.java
+ai/npc/ForgeOfTheGods/ForgeOfTheGods.java
+ai/npc/ForgeOfTheGods/Rooney.java
+ai/npc/FortressArcherCaptain/FortressArcherCaptain.java
+ai/npc/FortressSiegeManager/FortressSiegeManager.java
+ai/npc/FreyasSteward/FreyasSteward.java
+ai/npc/Hardin/Hardin.java
+ai/npc/Jinia/Jinia.java
+ai/npc/KainVanHalter/KainVanHalter.java
+ai/npc/KetraOrcSupport/KetraOrcSupport.java
+ai/npc/LaVieEnRose/LaVieEnRose.java
+ai/npc/Mammons/Mammons.java
+ai/npc/ManorManager/ManorManager.java
+ai/npc/MentorGuide/MentorGuide.java
+ai/npc/Milia/Milia.java
+ai/npc/Minigame/Minigame.java
+ai/npc/MonkOfChaos/MonkOfChaos.java
+ai/npc/MonumentOfHeroes/MonumentOfHeroes.java
+ai/npc/Merlot/Merlot.java
+ai/npc/Nomi/Nomi.java
+ai/npc/NpcBuffers/NpcBuffers.java
+ai/npc/Pantheon/Pantheon.java
+ai/npc/Proclaimer/Proclaimer.java
+ai/npc/Rignos/Rignos.java
+ai/npc/Raina/Raina.java
+ai/npc/RemembranceTower/RemembranceTower.java
+ai/npc/Scarecrow/Scarecrow.java
+ai/npc/Sirra/Sirra.java
+ai/npc/Summons/MerchantGolem/GolemTrader.java
+ai/npc/SupportUnitCaptain/SupportUnitCaptain.java
+ai/npc/SymbolMaker/SymbolMaker.java
+ai/npc/Teleports/AnghelWaterfallPortal/AnghelWaterfallPortal.java
+ai/npc/Teleports/CrumaTower/CrumaTower.java
+ai/npc/Teleports/DarkOmens/DarkOmens.java
+ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
+ai/npc/Teleports/DimensionalWarpTeleport/DimensionalWarpTeleport.java
+ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
+ai/npc/Teleports/GainakUndergroundEntrance/GainakUndergroundEntrance.java
+ai/npc/Teleports/GardenOfSpirits/GardenOfSpirits.java
+ai/npc/Teleports/GiantServant/GiantServant.java
+ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
+ai/npc/Teleports/HarnakUnderground/HarnakUnderground.java
+ai/npc/Teleports/KargosTeleport/KargosTeleport.java
+ai/npc/Teleports/Klemis/Klemis.java
+ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
+ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java
+ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
+ai/npc/Teleports/OrbisTemple/OrbisTemple.java
+ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
+ai/npc/Teleports/SeparatedSoul/SeparatedSoul.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/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java
+ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java
+ai/npc/Teleports/ToIVortex/ToIVortex.java
+ai/npc/Teleports/Warpgate/Warpgate.java
+ai/npc/Teleports/YeSagiraTeleporter/YeSagiraTeleporter.java
+ai/npc/Toyron/Toyron.java
+ai/npc/Trainers/HealerTrainer/HealerTrainer.java
+ai/npc/Trandon/Trandon.java
+ai/npc/Tunatun/Tunatun.java
+ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java
+ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java
+ai/npc/WeaverOlf/WeaverOlf.java
+ai/npc/WyvernManager/WyvernManager.java
+ai/npc/Zenya/Zenya.java
+
+# Atelia Fortess
+ai/zones/AteliaFortress/AteliaManager/AteliaManager.java
+
+# Fantasy Isle
+ai/zones/FantasyIsle/HandysBlockCheckerEvent.java
+ai/zones/FantasyIsle/Parade.java
+ai/zones/FantasyIsle/TalentShow.java
+
# Village Master
village_master/Clan/Clan.java
village_master/Alliance/Alliance.java
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaDoorGuard.java b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaDoorGuard.java
deleted file mode 100644
index 2cce9e1712..0000000000
--- a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaDoorGuard.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package ai.atelia_fortess;
-
-import com.l2jmobius.gameserver.model.actor.L2Npc;
-import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
-
-import ai.npc.AbstractNpcAI;
-
-/**
- * @author hlwrave
- */
-final class AteliaDoorGuard extends AbstractNpcAI
-{
- private static final int GUARD = 23539;
- private static int _killCount = 0;
-
- private AteliaDoorGuard()
- {
- super(AteliaDoorGuard.class.getSimpleName(), "ai/atelia_fortess");
- addKillId(GUARD);
- }
-
- @Override
- public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
- {
- switch (event)
- {
- case "Close_Atelia_Door":
- {
- closeDoor(18190002, 0);
- closeDoor(18190004, 0);
- break;
- }
- }
- return "";
- }
-
- @Override
- public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
- {
- if (npc.getId() == GUARD)
- {
- _killCount++;
- }
- if (_killCount == 2)
- {
- openDoor(18190002, 0);
- openDoor(18190004, 0);
- startQuestTimer("Close_Atelia_Door", 3600000, null, null);
- _killCount = 0;
- }
- return super.onKill(npc, killer, isSummon);
- }
-
- public static void main(String[] args)
- {
- new AteliaDoorGuard();
- }
-}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/Devianne.java b/trunk/dist/game/data/scripts/ai/atelia_fortess/Devianne.java
deleted file mode 100644
index a2a9e2a2e9..0000000000
--- a/trunk/dist/game/data/scripts/ai/atelia_fortess/Devianne.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package ai.atelia_fortess;
-
-import com.l2jmobius.gameserver.model.Location;
-import com.l2jmobius.gameserver.model.actor.L2Npc;
-import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
-
-import ai.npc.AbstractNpcAI;
-
-/**
- * Devianne AI.
- * @author hlwrave
- * @URL https://l2wiki.com/Atelia_Fortress
- */
-final class Devianne extends AbstractNpcAI
-{
- // NPCs
- private static final int BURNSTAIN = 23587;
- private static final int DEVIANNE = 34089;
- // Location
- private static final Location DEVIANNE_LOC = new Location(-50063, 49439, -1760, 40362);
- // Other
- private static final int DESPAWN_DELAY = 3600000; // Time 1 Hour
-
- private Devianne()
- {
- super(Devianne.class.getSimpleName(), "ai/atelia_fortess");
- addKillId(BURNSTAIN);
- addSpawnId(DEVIANNE);
- }
-
- @Override
- public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
- {
- addSpawn(DEVIANNE, DEVIANNE_LOC, false, DESPAWN_DELAY);
- return super.onKill(npc, killer, isSummon);
- }
-
- public static void main(String[] args)
- {
- new Devianne();
- }
-}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/ai/group_template/package-info.java b/trunk/dist/game/data/scripts/ai/group_template/package-info.java
index b32d8bf9a3..70eb6fd4f9 100644
--- a/trunk/dist/game/data/scripts/ai/group_template/package-info.java
+++ b/trunk/dist/game/data/scripts/ai/group_template/package-info.java
@@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package ai.group_template;
/**
* Group Template AI:
@@ -33,3 +32,4 @@ package ai.group_template;
* @see quests
* @author Fulminus, Zoey76
*/
+package ai.group_template;
diff --git a/trunk/dist/game/data/scripts/ai/npc/Teleports/package-info.java b/trunk/dist/game/data/scripts/ai/npc/Teleports/package-info.java
index 6b31a257e7..c0fd33f75a 100644
--- a/trunk/dist/game/data/scripts/ai/npc/Teleports/package-info.java
+++ b/trunk/dist/game/data/scripts/ai/npc/Teleports/package-info.java
@@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package ai.npc.Teleports;
/**
* Teleporter AIs are used for teleports that are too advanced to be done under normal means.
@@ -25,3 +24,4 @@ package ai.npc.Teleports;
* All implementation details are fully covered by quests.
* @author Zoey76
*/
+package ai.npc.Teleports;
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34059-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34059-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34059-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34059-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34060-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34060-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34060-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34060-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34061-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34061-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34061-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34061-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34062-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34062-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34062-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34062-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34063-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34063-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34063-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34063-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34064-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34064-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34064-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34064-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34065-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34065-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34065-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34065-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34066-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34066-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34066-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34066-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34074-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34074-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34074-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34074-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-3.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34074-3.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-3.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34074-3.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34075-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34075-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-2.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34075-2.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-2.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34075-2.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-3.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34075-3.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-3.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34075-3.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34076-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34076-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34076-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34076-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34077-1.htm b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34077-1.htm
similarity index 100%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34077-1.htm
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/34077-1.htm
diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/AteliaStatus.java b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/AteliaManager.java
similarity index 94%
rename from trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/AteliaStatus.java
rename to trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/AteliaManager.java
index ed94faf66c..12063a488c 100644
--- a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/AteliaStatus.java
+++ b/trunk/dist/game/data/scripts/ai/zones/AteliaFortress/AteliaManager/AteliaManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package ai.atelia_fortess.AteliaStatus;
+package ai.zones.AteliaFortress.AteliaManager;
import java.util.ArrayList;
@@ -36,7 +36,7 @@ import ai.npc.AbstractNpcAI;
* URL https://l2wiki.com/Atelia_Fortress
* @author hlwrave, Stayway, Mobius
*/
-final class AteliaStatus extends AbstractNpcAI
+final class AteliaManager extends AbstractNpcAI
{
// Npc Devianne
private static final int DEVIANNE = 34089;
@@ -310,9 +310,9 @@ final class AteliaStatus extends AbstractNpcAI
static ArrayList FortessSpawns = new ArrayList<>();
- private AteliaStatus()
+ private AteliaManager()
{
- super(AteliaStatus.class.getSimpleName(), "ai/atelia_fortess");
+ super(AteliaManager.class.getSimpleName(), "ai/zones/AteliaFortress");
addStartNpc(BARTON, GLENKI, HAYUK, HURAK, ELISE, LAFFIAN, JULIA, MION, ELIYAH, SHERRY, SAYLEM, NIKA);
addFirstTalkId(BARTON, GLENKI, HAYUK, HURAK, ELISE, LAFFIAN, JULIA, MION, ELIYAH, SHERRY, SAYLEM, NIKA);
addTalkId(BARTON, GLENKI, HAYUK, HURAK, ELISE, LAFFIAN, JULIA, MION, ELIYAH, SHERRY, SAYLEM, NIKA);
@@ -702,6 +702,6 @@ final class AteliaStatus extends AbstractNpcAI
public static void main(String[] args)
{
- new AteliaStatus();
+ new AteliaManager();
}
}
diff --git a/trunk/dist/game/data/scripts/ai/fantasy_isle/HandysBlockCheckerEvent.java b/trunk/dist/game/data/scripts/ai/zones/FantasyIsle/HandysBlockCheckerEvent.java
similarity index 96%
rename from trunk/dist/game/data/scripts/ai/fantasy_isle/HandysBlockCheckerEvent.java
rename to trunk/dist/game/data/scripts/ai/zones/FantasyIsle/HandysBlockCheckerEvent.java
index e691b586a2..b59255f9f6 100644
--- a/trunk/dist/game/data/scripts/ai/fantasy_isle/HandysBlockCheckerEvent.java
+++ b/trunk/dist/game/data/scripts/ai/zones/FantasyIsle/HandysBlockCheckerEvent.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package ai.fantasy_isle;
+package ai.zones.FantasyIsle;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.instancemanager.HandysBlockCheckerManager;
diff --git a/trunk/dist/game/data/scripts/ai/fantasy_isle/Parade.java b/trunk/dist/game/data/scripts/ai/zones/FantasyIsle/Parade.java
similarity index 95%
rename from trunk/dist/game/data/scripts/ai/fantasy_isle/Parade.java
rename to trunk/dist/game/data/scripts/ai/zones/FantasyIsle/Parade.java
index 62e62c7254..f3de95c2ea 100644
--- a/trunk/dist/game/data/scripts/ai/fantasy_isle/Parade.java
+++ b/trunk/dist/game/data/scripts/ai/zones/FantasyIsle/Parade.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package ai.fantasy_isle;
+package ai.zones.FantasyIsle;
import java.text.SimpleDateFormat;
import java.util.concurrent.CopyOnWriteArrayList;
@@ -127,7 +127,7 @@ final class Parade extends AbstractNpcAI
public Parade()
{
- super(Parade.class.getSimpleName(), "ai/fantasy_isle");
+ super(Parade.class.getSimpleName(), "ai/zones/FantasyIsle");
// Starts at 8:00 and repeats every 6 hours.
final long diff = timeLeftMilli(8, 0, 0), cycle = 3600000L;
diff --git a/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java b/trunk/dist/game/data/scripts/ai/zones/FantasyIsle/TalentShow.java
similarity index 94%
rename from trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java
rename to trunk/dist/game/data/scripts/ai/zones/FantasyIsle/TalentShow.java
index 6959e01e03..cd34f598a8 100644
--- a/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java
+++ b/trunk/dist/game/data/scripts/ai/zones/FantasyIsle/TalentShow.java
@@ -14,15 +14,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package ai.fantasy_isle;
+package ai.zones.FantasyIsle;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
-import com.l2jmobius.Config;
import com.l2jmobius.gameserver.GameTimeController;
-import com.l2jmobius.gameserver.ThreadPoolManager;
import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.Location;
@@ -35,10 +33,10 @@ import com.l2jmobius.gameserver.network.serverpackets.PlaySound;
import ai.npc.AbstractNpcAI;
/**
- * MC Show AI.
+ * Talent Show AI.
* @author Kerberos
*/
-final class MC_Show extends AbstractNpcAI
+final class TalentShow extends AbstractNpcAI
{
private static int MC = 32433;
// @formatter:off
@@ -167,9 +165,9 @@ final class MC_Show extends AbstractNpcAI
private static final Map TALKS = new HashMap<>();
private static final Map WALKS = new HashMap<>();
- private MC_Show()
+ private TalentShow()
{
- super(MC_Show.class.getSimpleName(), "ai/fantasy_isle");
+ super(TalentShow.class.getSimpleName(), "ai/zones/FantasyIsle");
addSpawnId(32433, 32431, 32432, 32442, 32443, 32444, 32445, 32446, 32424, 32425, 32426, 32427, 32428);
load();
scheduleTimer();
@@ -306,13 +304,8 @@ final class MC_Show extends AbstractNpcAI
hourDiff *= 3600000;
minDiff *= 60000;
diff = hourDiff + minDiff;
- if (Config.DEBUG)
- {
- _log.info("Fantasy Isle: MC show script starting at " + (new SimpleDateFormat("dd/MM/yyyy HH:mm:ss")).format(System.currentTimeMillis() + diff) + " and is scheduled each next 4 hours.");
- }
- // TODO startRepeatingQuestTimer("Start", diff, 14400000, null, null);
- // missing option to provide different initial delay
- ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new StartMCShow(), diff, 14400000L);
+ _log.info("Fantasy Isle: MC show script starting at " + (new SimpleDateFormat("dd/MM/yyyy HH:mm:ss")).format(System.currentTimeMillis() + diff) + " and is scheduled each next 4 hours.");
+ startQuestTimer("Start", diff, null, null); // first start
}
private void autoChat(L2Npc npc, NpcStringId npcString, ChatType type)
@@ -384,6 +377,7 @@ final class MC_Show extends AbstractNpcAI
{
IS_STARTED = true;
addSpawn(MC, -56698, -56430, -2008, 32768, false, 0);
+ startQuestTimer("Start", 14400000L, null, null); // repeat
}
else if ((npc != null) && IS_STARTED)
{
@@ -524,6 +518,6 @@ final class MC_Show extends AbstractNpcAI
public static void main(String[] args)
{
- new MC_Show();
+ new TalentShow();
}
}
diff --git a/trunk/dist/game/data/scripts/ai/fantasy_isle/StartMCShow.java b/trunk/dist/game/data/scripts/ai/zones/package-info.java
similarity index 70%
rename from trunk/dist/game/data/scripts/ai/fantasy_isle/StartMCShow.java
rename to trunk/dist/game/data/scripts/ai/zones/package-info.java
index 321d823add..b55d71cd2b 100644
--- a/trunk/dist/game/data/scripts/ai/fantasy_isle/StartMCShow.java
+++ b/trunk/dist/game/data/scripts/ai/zones/package-info.java
@@ -14,18 +14,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package ai.fantasy_isle;
-
-import com.l2jmobius.gameserver.instancemanager.QuestManager;
/**
- * Start MC Show.
+ * Zone AIs:
+ * This folder contains AI scripts for specific zones.
+ * @author Mobius
*/
-class StartMCShow implements Runnable
-{
- @Override
- public void run()
- {
- QuestManager.getInstance().getQuest("MC_Show").notifyEvent("Start", null, null);
- }
-}
+package ai.zones;
diff --git a/trunk/dist/game/data/scripts/custom/package-info.java b/trunk/dist/game/data/scripts/custom/package-info.java
index 7e25bc1d4c..5d7b0654ab 100644
--- a/trunk/dist/game/data/scripts/custom/package-info.java
+++ b/trunk/dist/game/data/scripts/custom/package-info.java
@@ -14,12 +14,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package custom;
-/**
+ /**
* Scripts added in the custom folder define quests and/or AI that are not normally part of the original Lineage 2 game.
* In addition, "custom" is sometimes used as a temporary implementation of aspects of the original game that are not yet fully implementable by L2J.
* In this manner, partially accurate emulation may be offered until a better method is implemented.
* The mechanics and syntax of custom scripts are the same as all quest scripts.
* @author Zoey76
*/
+package custom;