diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java
new file mode 100644
index 0000000000..50b4d9784a
--- /dev/null
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java
@@ -0,0 +1,318 @@
+/*
+ * 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.areas.HellboundIsland.BelethsMagicCircle;
+
+import com.l2jmobius.gameserver.datatables.SpawnTable;
+import com.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
+import com.l2jmobius.gameserver.instancemanager.ZoneManager;
+import com.l2jmobius.gameserver.model.actor.L2Character;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.spawns.SpawnTemplate;
+import com.l2jmobius.gameserver.model.zone.L2ZoneType;
+import com.l2jmobius.gameserver.model.zone.type.L2ScriptZone;
+import com.l2jmobius.gameserver.network.serverpackets.Earthquake;
+import com.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Beleths Magic Circle
+ * @URL https://l2wiki.com/Beleths_Magic_Circle
+ * @author Screw, Gigi, Mobius
+ * @date 2017-10-26 - [16:06:10]
+ */
+public class EnchantedMegaliths extends AbstractNpcAI
+{
+ // NPCs
+ private static final int[] MONSTERS =
+ {
+ 19574,
+ 23402,
+ 23354,
+ 23355,
+ 23356,
+ 23357,
+ 23358,
+ 23359,
+ 23360,
+ 23361,
+ 23362,
+ 23363,
+ 23364,
+ 23365,
+ 23367,
+ 23368,
+ 23370,
+ 23371,
+ 23372,
+ 23373
+ };
+ // Others
+ private static final L2ScriptZone HELLBOUND_ZONE = ZoneManager.getInstance().getZoneById(40101, L2ScriptZone.class);
+ private static final String HB_MEGALITH_STAGE = "HB_MegalithStage";
+ private static final int KILL_COUNT = 300;
+ private static SpawnTemplate spawnTemplateNormal;
+ private static SpawnTemplate spawnTemplateFinal;
+ private static int stage = 1;
+ private static int kills = 0;
+
+ private EnchantedMegaliths()
+ {
+ addKillId(MONSTERS);
+ addEnterZoneId(HELLBOUND_ZONE.getId());
+ startQuestTimer("CHECK_STATUS", 60000, null, null, true);
+ stage = GlobalVariablesManager.getInstance().getInt(HB_MEGALITH_STAGE, 1);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ switch (event)
+ {
+ case "CHECK_STATUS":
+ {
+ if (kills > KILL_COUNT)
+ {
+ if (stage < 3)
+ {
+ stage++;
+ }
+ else
+ {
+ stage = 1;
+ }
+ updateMegalithStage();
+ kills = 0;
+ }
+ break;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String onEnterZone(L2Character creature, L2ZoneType zone)
+ {
+ if (creature.isPlayer())
+ {
+ final L2PcInstance player = creature.getActingPlayer();
+ switch (stage)
+ {
+ case 1:
+ {
+ // Activate green glow
+ player.sendPacket(new OnEventTrigger(19250032, true));
+ player.sendPacket(new OnEventTrigger(19250014, true));
+ player.sendPacket(new OnEventTrigger(19250020, true));
+ player.sendPacket(new OnEventTrigger(19250026, true));
+ player.sendPacket(new OnEventTrigger(19250002, true));
+ player.sendPacket(new OnEventTrigger(19250008, true));
+ // Deactivate red or yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, false));
+ player.sendPacket(new OnEventTrigger(19250016, false));
+ player.sendPacket(new OnEventTrigger(19250022, false));
+ player.sendPacket(new OnEventTrigger(19250028, false));
+ player.sendPacket(new OnEventTrigger(19250004, false));
+ player.sendPacket(new OnEventTrigger(19250010, false));
+ player.sendPacket(new OnEventTrigger(19250036, false));
+ player.sendPacket(new OnEventTrigger(19250018, false));
+ player.sendPacket(new OnEventTrigger(19250024, false));
+ player.sendPacket(new OnEventTrigger(19250030, false));
+ player.sendPacket(new OnEventTrigger(19250006, false));
+ player.sendPacket(new OnEventTrigger(19250012, false));
+ break;
+ }
+ case 2:
+ {
+ // Activate yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, true));
+ player.sendPacket(new OnEventTrigger(19250016, true));
+ player.sendPacket(new OnEventTrigger(19250022, true));
+ player.sendPacket(new OnEventTrigger(19250028, true));
+ player.sendPacket(new OnEventTrigger(19250004, true));
+ player.sendPacket(new OnEventTrigger(19250010, true));
+ // Deactivate red or green glow
+ player.sendPacket(new OnEventTrigger(19250032, false));
+ player.sendPacket(new OnEventTrigger(19250014, false));
+ player.sendPacket(new OnEventTrigger(19250020, false));
+ player.sendPacket(new OnEventTrigger(19250026, false));
+ player.sendPacket(new OnEventTrigger(19250002, false));
+ player.sendPacket(new OnEventTrigger(19250008, false));
+ player.sendPacket(new OnEventTrigger(19250036, false));
+ player.sendPacket(new OnEventTrigger(19250018, false));
+ player.sendPacket(new OnEventTrigger(19250024, false));
+ player.sendPacket(new OnEventTrigger(19250030, false));
+ player.sendPacket(new OnEventTrigger(19250006, false));
+ player.sendPacket(new OnEventTrigger(19250012, false));
+ break;
+ }
+ case 3:
+ {
+ // Activate red glow
+ player.sendPacket(new OnEventTrigger(19250036, true));
+ player.sendPacket(new OnEventTrigger(19250018, true));
+ player.sendPacket(new OnEventTrigger(19250024, true));
+ player.sendPacket(new OnEventTrigger(19250030, true));
+ player.sendPacket(new OnEventTrigger(19250006, true));
+ player.sendPacket(new OnEventTrigger(19250012, true));
+ // Deactivate green or yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, false));
+ player.sendPacket(new OnEventTrigger(19250016, false));
+ player.sendPacket(new OnEventTrigger(19250022, false));
+ player.sendPacket(new OnEventTrigger(19250028, false));
+ player.sendPacket(new OnEventTrigger(19250004, false));
+ player.sendPacket(new OnEventTrigger(19250010, false));
+ player.sendPacket(new OnEventTrigger(19250032, false));
+ player.sendPacket(new OnEventTrigger(19250014, false));
+ player.sendPacket(new OnEventTrigger(19250020, false));
+ player.sendPacket(new OnEventTrigger(19250026, false));
+ player.sendPacket(new OnEventTrigger(19250002, false));
+ player.sendPacket(new OnEventTrigger(19250008, false));
+ break;
+ }
+ }
+ if (spawnTemplateNormal == null)
+ {
+ updateMegalithStage();
+ }
+ }
+ return super.onEnterZone(creature, zone);
+ }
+
+ private void updateMegalithStage()
+ {
+ GlobalVariablesManager.getInstance().set(HB_MEGALITH_STAGE, stage);
+ _log.info("[Hellbound] - Enchanted Megaliths stage: " + stage);
+
+ switch (stage)
+ {
+ case 1:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250032, true));
+ pl.sendPacket(new OnEventTrigger(19250014, true));
+ pl.sendPacket(new OnEventTrigger(19250020, true));
+ pl.sendPacket(new OnEventTrigger(19250026, true));
+ pl.sendPacket(new OnEventTrigger(19250002, true));
+ pl.sendPacket(new OnEventTrigger(19250008, true));
+ pl.sendPacket(new OnEventTrigger(19250036, false));
+ pl.sendPacket(new OnEventTrigger(19250018, false));
+ pl.sendPacket(new OnEventTrigger(19250024, false));
+ pl.sendPacket(new OnEventTrigger(19250030, false));
+ pl.sendPacket(new OnEventTrigger(19250006, false));
+ pl.sendPacket(new OnEventTrigger(19250012, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal.despawnAll();
+ }
+ else
+ {
+ spawnTemplateNormal.spawnAll();
+ spawnTemplateFinal.despawnAll();
+ }
+ break;
+ }
+ case 2:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250034, true));
+ pl.sendPacket(new OnEventTrigger(19250016, true));
+ pl.sendPacket(new OnEventTrigger(19250022, true));
+ pl.sendPacket(new OnEventTrigger(19250028, true));
+ pl.sendPacket(new OnEventTrigger(19250004, true));
+ pl.sendPacket(new OnEventTrigger(19250010, true));
+ pl.sendPacket(new OnEventTrigger(19250032, false));
+ pl.sendPacket(new OnEventTrigger(19250014, false));
+ pl.sendPacket(new OnEventTrigger(19250020, false));
+ pl.sendPacket(new OnEventTrigger(19250026, false));
+ pl.sendPacket(new OnEventTrigger(19250002, false));
+ pl.sendPacket(new OnEventTrigger(19250008, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal.despawnAll();
+ }
+ break;
+ }
+ case 3:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250036, true));
+ pl.sendPacket(new OnEventTrigger(19250018, true));
+ pl.sendPacket(new OnEventTrigger(19250024, true));
+ pl.sendPacket(new OnEventTrigger(19250030, true));
+ pl.sendPacket(new OnEventTrigger(19250006, true));
+ pl.sendPacket(new OnEventTrigger(19250012, true));
+ pl.sendPacket(new OnEventTrigger(19250034, false));
+ pl.sendPacket(new OnEventTrigger(19250016, false));
+ pl.sendPacket(new OnEventTrigger(19250022, false));
+ pl.sendPacket(new OnEventTrigger(19250028, false));
+ pl.sendPacket(new OnEventTrigger(19250004, false));
+ pl.sendPacket(new OnEventTrigger(19250010, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateNormal.despawnAll();
+ }
+ else
+ {
+ spawnTemplateNormal.despawnAll();
+ spawnTemplateFinal.spawnAll();
+ }
+ break;
+ }
+ }
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ kills++;
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ public static void main(String[] args)
+ {
+ new EnchantedMegaliths();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml
new file mode 100644
index 0000000000..1b847e8bac
--- /dev/null
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/spawns/Hellbound/Hellbound.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/spawns/Hellbound/Hellbound.xml
index 287d74d3b2..2d28a436e4 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/spawns/Hellbound/Hellbound.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/spawns/Hellbound/Hellbound.xml
@@ -49,163 +49,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java
new file mode 100644
index 0000000000..50b4d9784a
--- /dev/null
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java
@@ -0,0 +1,318 @@
+/*
+ * 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.areas.HellboundIsland.BelethsMagicCircle;
+
+import com.l2jmobius.gameserver.datatables.SpawnTable;
+import com.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
+import com.l2jmobius.gameserver.instancemanager.ZoneManager;
+import com.l2jmobius.gameserver.model.actor.L2Character;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.spawns.SpawnTemplate;
+import com.l2jmobius.gameserver.model.zone.L2ZoneType;
+import com.l2jmobius.gameserver.model.zone.type.L2ScriptZone;
+import com.l2jmobius.gameserver.network.serverpackets.Earthquake;
+import com.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Beleths Magic Circle
+ * @URL https://l2wiki.com/Beleths_Magic_Circle
+ * @author Screw, Gigi, Mobius
+ * @date 2017-10-26 - [16:06:10]
+ */
+public class EnchantedMegaliths extends AbstractNpcAI
+{
+ // NPCs
+ private static final int[] MONSTERS =
+ {
+ 19574,
+ 23402,
+ 23354,
+ 23355,
+ 23356,
+ 23357,
+ 23358,
+ 23359,
+ 23360,
+ 23361,
+ 23362,
+ 23363,
+ 23364,
+ 23365,
+ 23367,
+ 23368,
+ 23370,
+ 23371,
+ 23372,
+ 23373
+ };
+ // Others
+ private static final L2ScriptZone HELLBOUND_ZONE = ZoneManager.getInstance().getZoneById(40101, L2ScriptZone.class);
+ private static final String HB_MEGALITH_STAGE = "HB_MegalithStage";
+ private static final int KILL_COUNT = 300;
+ private static SpawnTemplate spawnTemplateNormal;
+ private static SpawnTemplate spawnTemplateFinal;
+ private static int stage = 1;
+ private static int kills = 0;
+
+ private EnchantedMegaliths()
+ {
+ addKillId(MONSTERS);
+ addEnterZoneId(HELLBOUND_ZONE.getId());
+ startQuestTimer("CHECK_STATUS", 60000, null, null, true);
+ stage = GlobalVariablesManager.getInstance().getInt(HB_MEGALITH_STAGE, 1);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ switch (event)
+ {
+ case "CHECK_STATUS":
+ {
+ if (kills > KILL_COUNT)
+ {
+ if (stage < 3)
+ {
+ stage++;
+ }
+ else
+ {
+ stage = 1;
+ }
+ updateMegalithStage();
+ kills = 0;
+ }
+ break;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String onEnterZone(L2Character creature, L2ZoneType zone)
+ {
+ if (creature.isPlayer())
+ {
+ final L2PcInstance player = creature.getActingPlayer();
+ switch (stage)
+ {
+ case 1:
+ {
+ // Activate green glow
+ player.sendPacket(new OnEventTrigger(19250032, true));
+ player.sendPacket(new OnEventTrigger(19250014, true));
+ player.sendPacket(new OnEventTrigger(19250020, true));
+ player.sendPacket(new OnEventTrigger(19250026, true));
+ player.sendPacket(new OnEventTrigger(19250002, true));
+ player.sendPacket(new OnEventTrigger(19250008, true));
+ // Deactivate red or yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, false));
+ player.sendPacket(new OnEventTrigger(19250016, false));
+ player.sendPacket(new OnEventTrigger(19250022, false));
+ player.sendPacket(new OnEventTrigger(19250028, false));
+ player.sendPacket(new OnEventTrigger(19250004, false));
+ player.sendPacket(new OnEventTrigger(19250010, false));
+ player.sendPacket(new OnEventTrigger(19250036, false));
+ player.sendPacket(new OnEventTrigger(19250018, false));
+ player.sendPacket(new OnEventTrigger(19250024, false));
+ player.sendPacket(new OnEventTrigger(19250030, false));
+ player.sendPacket(new OnEventTrigger(19250006, false));
+ player.sendPacket(new OnEventTrigger(19250012, false));
+ break;
+ }
+ case 2:
+ {
+ // Activate yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, true));
+ player.sendPacket(new OnEventTrigger(19250016, true));
+ player.sendPacket(new OnEventTrigger(19250022, true));
+ player.sendPacket(new OnEventTrigger(19250028, true));
+ player.sendPacket(new OnEventTrigger(19250004, true));
+ player.sendPacket(new OnEventTrigger(19250010, true));
+ // Deactivate red or green glow
+ player.sendPacket(new OnEventTrigger(19250032, false));
+ player.sendPacket(new OnEventTrigger(19250014, false));
+ player.sendPacket(new OnEventTrigger(19250020, false));
+ player.sendPacket(new OnEventTrigger(19250026, false));
+ player.sendPacket(new OnEventTrigger(19250002, false));
+ player.sendPacket(new OnEventTrigger(19250008, false));
+ player.sendPacket(new OnEventTrigger(19250036, false));
+ player.sendPacket(new OnEventTrigger(19250018, false));
+ player.sendPacket(new OnEventTrigger(19250024, false));
+ player.sendPacket(new OnEventTrigger(19250030, false));
+ player.sendPacket(new OnEventTrigger(19250006, false));
+ player.sendPacket(new OnEventTrigger(19250012, false));
+ break;
+ }
+ case 3:
+ {
+ // Activate red glow
+ player.sendPacket(new OnEventTrigger(19250036, true));
+ player.sendPacket(new OnEventTrigger(19250018, true));
+ player.sendPacket(new OnEventTrigger(19250024, true));
+ player.sendPacket(new OnEventTrigger(19250030, true));
+ player.sendPacket(new OnEventTrigger(19250006, true));
+ player.sendPacket(new OnEventTrigger(19250012, true));
+ // Deactivate green or yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, false));
+ player.sendPacket(new OnEventTrigger(19250016, false));
+ player.sendPacket(new OnEventTrigger(19250022, false));
+ player.sendPacket(new OnEventTrigger(19250028, false));
+ player.sendPacket(new OnEventTrigger(19250004, false));
+ player.sendPacket(new OnEventTrigger(19250010, false));
+ player.sendPacket(new OnEventTrigger(19250032, false));
+ player.sendPacket(new OnEventTrigger(19250014, false));
+ player.sendPacket(new OnEventTrigger(19250020, false));
+ player.sendPacket(new OnEventTrigger(19250026, false));
+ player.sendPacket(new OnEventTrigger(19250002, false));
+ player.sendPacket(new OnEventTrigger(19250008, false));
+ break;
+ }
+ }
+ if (spawnTemplateNormal == null)
+ {
+ updateMegalithStage();
+ }
+ }
+ return super.onEnterZone(creature, zone);
+ }
+
+ private void updateMegalithStage()
+ {
+ GlobalVariablesManager.getInstance().set(HB_MEGALITH_STAGE, stage);
+ _log.info("[Hellbound] - Enchanted Megaliths stage: " + stage);
+
+ switch (stage)
+ {
+ case 1:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250032, true));
+ pl.sendPacket(new OnEventTrigger(19250014, true));
+ pl.sendPacket(new OnEventTrigger(19250020, true));
+ pl.sendPacket(new OnEventTrigger(19250026, true));
+ pl.sendPacket(new OnEventTrigger(19250002, true));
+ pl.sendPacket(new OnEventTrigger(19250008, true));
+ pl.sendPacket(new OnEventTrigger(19250036, false));
+ pl.sendPacket(new OnEventTrigger(19250018, false));
+ pl.sendPacket(new OnEventTrigger(19250024, false));
+ pl.sendPacket(new OnEventTrigger(19250030, false));
+ pl.sendPacket(new OnEventTrigger(19250006, false));
+ pl.sendPacket(new OnEventTrigger(19250012, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal.despawnAll();
+ }
+ else
+ {
+ spawnTemplateNormal.spawnAll();
+ spawnTemplateFinal.despawnAll();
+ }
+ break;
+ }
+ case 2:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250034, true));
+ pl.sendPacket(new OnEventTrigger(19250016, true));
+ pl.sendPacket(new OnEventTrigger(19250022, true));
+ pl.sendPacket(new OnEventTrigger(19250028, true));
+ pl.sendPacket(new OnEventTrigger(19250004, true));
+ pl.sendPacket(new OnEventTrigger(19250010, true));
+ pl.sendPacket(new OnEventTrigger(19250032, false));
+ pl.sendPacket(new OnEventTrigger(19250014, false));
+ pl.sendPacket(new OnEventTrigger(19250020, false));
+ pl.sendPacket(new OnEventTrigger(19250026, false));
+ pl.sendPacket(new OnEventTrigger(19250002, false));
+ pl.sendPacket(new OnEventTrigger(19250008, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal.despawnAll();
+ }
+ break;
+ }
+ case 3:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250036, true));
+ pl.sendPacket(new OnEventTrigger(19250018, true));
+ pl.sendPacket(new OnEventTrigger(19250024, true));
+ pl.sendPacket(new OnEventTrigger(19250030, true));
+ pl.sendPacket(new OnEventTrigger(19250006, true));
+ pl.sendPacket(new OnEventTrigger(19250012, true));
+ pl.sendPacket(new OnEventTrigger(19250034, false));
+ pl.sendPacket(new OnEventTrigger(19250016, false));
+ pl.sendPacket(new OnEventTrigger(19250022, false));
+ pl.sendPacket(new OnEventTrigger(19250028, false));
+ pl.sendPacket(new OnEventTrigger(19250004, false));
+ pl.sendPacket(new OnEventTrigger(19250010, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateNormal.despawnAll();
+ }
+ else
+ {
+ spawnTemplateNormal.despawnAll();
+ spawnTemplateFinal.spawnAll();
+ }
+ break;
+ }
+ }
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ kills++;
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ public static void main(String[] args)
+ {
+ new EnchantedMegaliths();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml b/L2J_Mobius_2.5_Underground/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml
new file mode 100644
index 0000000000..1b847e8bac
--- /dev/null
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/spawns/Hellbound/Hellbound.xml b/L2J_Mobius_2.5_Underground/dist/game/data/spawns/Hellbound/Hellbound.xml
index 287d74d3b2..2d28a436e4 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/spawns/Hellbound/Hellbound.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/spawns/Hellbound/Hellbound.xml
@@ -49,163 +49,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java
new file mode 100644
index 0000000000..50b4d9784a
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/HellboundIsland/BelethsMagicCircle/EnchantedMegaliths.java
@@ -0,0 +1,318 @@
+/*
+ * 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.areas.HellboundIsland.BelethsMagicCircle;
+
+import com.l2jmobius.gameserver.datatables.SpawnTable;
+import com.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
+import com.l2jmobius.gameserver.instancemanager.ZoneManager;
+import com.l2jmobius.gameserver.model.actor.L2Character;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.spawns.SpawnTemplate;
+import com.l2jmobius.gameserver.model.zone.L2ZoneType;
+import com.l2jmobius.gameserver.model.zone.type.L2ScriptZone;
+import com.l2jmobius.gameserver.network.serverpackets.Earthquake;
+import com.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Beleths Magic Circle
+ * @URL https://l2wiki.com/Beleths_Magic_Circle
+ * @author Screw, Gigi, Mobius
+ * @date 2017-10-26 - [16:06:10]
+ */
+public class EnchantedMegaliths extends AbstractNpcAI
+{
+ // NPCs
+ private static final int[] MONSTERS =
+ {
+ 19574,
+ 23402,
+ 23354,
+ 23355,
+ 23356,
+ 23357,
+ 23358,
+ 23359,
+ 23360,
+ 23361,
+ 23362,
+ 23363,
+ 23364,
+ 23365,
+ 23367,
+ 23368,
+ 23370,
+ 23371,
+ 23372,
+ 23373
+ };
+ // Others
+ private static final L2ScriptZone HELLBOUND_ZONE = ZoneManager.getInstance().getZoneById(40101, L2ScriptZone.class);
+ private static final String HB_MEGALITH_STAGE = "HB_MegalithStage";
+ private static final int KILL_COUNT = 300;
+ private static SpawnTemplate spawnTemplateNormal;
+ private static SpawnTemplate spawnTemplateFinal;
+ private static int stage = 1;
+ private static int kills = 0;
+
+ private EnchantedMegaliths()
+ {
+ addKillId(MONSTERS);
+ addEnterZoneId(HELLBOUND_ZONE.getId());
+ startQuestTimer("CHECK_STATUS", 60000, null, null, true);
+ stage = GlobalVariablesManager.getInstance().getInt(HB_MEGALITH_STAGE, 1);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ switch (event)
+ {
+ case "CHECK_STATUS":
+ {
+ if (kills > KILL_COUNT)
+ {
+ if (stage < 3)
+ {
+ stage++;
+ }
+ else
+ {
+ stage = 1;
+ }
+ updateMegalithStage();
+ kills = 0;
+ }
+ break;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String onEnterZone(L2Character creature, L2ZoneType zone)
+ {
+ if (creature.isPlayer())
+ {
+ final L2PcInstance player = creature.getActingPlayer();
+ switch (stage)
+ {
+ case 1:
+ {
+ // Activate green glow
+ player.sendPacket(new OnEventTrigger(19250032, true));
+ player.sendPacket(new OnEventTrigger(19250014, true));
+ player.sendPacket(new OnEventTrigger(19250020, true));
+ player.sendPacket(new OnEventTrigger(19250026, true));
+ player.sendPacket(new OnEventTrigger(19250002, true));
+ player.sendPacket(new OnEventTrigger(19250008, true));
+ // Deactivate red or yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, false));
+ player.sendPacket(new OnEventTrigger(19250016, false));
+ player.sendPacket(new OnEventTrigger(19250022, false));
+ player.sendPacket(new OnEventTrigger(19250028, false));
+ player.sendPacket(new OnEventTrigger(19250004, false));
+ player.sendPacket(new OnEventTrigger(19250010, false));
+ player.sendPacket(new OnEventTrigger(19250036, false));
+ player.sendPacket(new OnEventTrigger(19250018, false));
+ player.sendPacket(new OnEventTrigger(19250024, false));
+ player.sendPacket(new OnEventTrigger(19250030, false));
+ player.sendPacket(new OnEventTrigger(19250006, false));
+ player.sendPacket(new OnEventTrigger(19250012, false));
+ break;
+ }
+ case 2:
+ {
+ // Activate yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, true));
+ player.sendPacket(new OnEventTrigger(19250016, true));
+ player.sendPacket(new OnEventTrigger(19250022, true));
+ player.sendPacket(new OnEventTrigger(19250028, true));
+ player.sendPacket(new OnEventTrigger(19250004, true));
+ player.sendPacket(new OnEventTrigger(19250010, true));
+ // Deactivate red or green glow
+ player.sendPacket(new OnEventTrigger(19250032, false));
+ player.sendPacket(new OnEventTrigger(19250014, false));
+ player.sendPacket(new OnEventTrigger(19250020, false));
+ player.sendPacket(new OnEventTrigger(19250026, false));
+ player.sendPacket(new OnEventTrigger(19250002, false));
+ player.sendPacket(new OnEventTrigger(19250008, false));
+ player.sendPacket(new OnEventTrigger(19250036, false));
+ player.sendPacket(new OnEventTrigger(19250018, false));
+ player.sendPacket(new OnEventTrigger(19250024, false));
+ player.sendPacket(new OnEventTrigger(19250030, false));
+ player.sendPacket(new OnEventTrigger(19250006, false));
+ player.sendPacket(new OnEventTrigger(19250012, false));
+ break;
+ }
+ case 3:
+ {
+ // Activate red glow
+ player.sendPacket(new OnEventTrigger(19250036, true));
+ player.sendPacket(new OnEventTrigger(19250018, true));
+ player.sendPacket(new OnEventTrigger(19250024, true));
+ player.sendPacket(new OnEventTrigger(19250030, true));
+ player.sendPacket(new OnEventTrigger(19250006, true));
+ player.sendPacket(new OnEventTrigger(19250012, true));
+ // Deactivate green or yellow glow
+ player.sendPacket(new OnEventTrigger(19250034, false));
+ player.sendPacket(new OnEventTrigger(19250016, false));
+ player.sendPacket(new OnEventTrigger(19250022, false));
+ player.sendPacket(new OnEventTrigger(19250028, false));
+ player.sendPacket(new OnEventTrigger(19250004, false));
+ player.sendPacket(new OnEventTrigger(19250010, false));
+ player.sendPacket(new OnEventTrigger(19250032, false));
+ player.sendPacket(new OnEventTrigger(19250014, false));
+ player.sendPacket(new OnEventTrigger(19250020, false));
+ player.sendPacket(new OnEventTrigger(19250026, false));
+ player.sendPacket(new OnEventTrigger(19250002, false));
+ player.sendPacket(new OnEventTrigger(19250008, false));
+ break;
+ }
+ }
+ if (spawnTemplateNormal == null)
+ {
+ updateMegalithStage();
+ }
+ }
+ return super.onEnterZone(creature, zone);
+ }
+
+ private void updateMegalithStage()
+ {
+ GlobalVariablesManager.getInstance().set(HB_MEGALITH_STAGE, stage);
+ _log.info("[Hellbound] - Enchanted Megaliths stage: " + stage);
+
+ switch (stage)
+ {
+ case 1:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250032, true));
+ pl.sendPacket(new OnEventTrigger(19250014, true));
+ pl.sendPacket(new OnEventTrigger(19250020, true));
+ pl.sendPacket(new OnEventTrigger(19250026, true));
+ pl.sendPacket(new OnEventTrigger(19250002, true));
+ pl.sendPacket(new OnEventTrigger(19250008, true));
+ pl.sendPacket(new OnEventTrigger(19250036, false));
+ pl.sendPacket(new OnEventTrigger(19250018, false));
+ pl.sendPacket(new OnEventTrigger(19250024, false));
+ pl.sendPacket(new OnEventTrigger(19250030, false));
+ pl.sendPacket(new OnEventTrigger(19250006, false));
+ pl.sendPacket(new OnEventTrigger(19250012, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal.despawnAll();
+ }
+ else
+ {
+ spawnTemplateNormal.spawnAll();
+ spawnTemplateFinal.despawnAll();
+ }
+ break;
+ }
+ case 2:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250034, true));
+ pl.sendPacket(new OnEventTrigger(19250016, true));
+ pl.sendPacket(new OnEventTrigger(19250022, true));
+ pl.sendPacket(new OnEventTrigger(19250028, true));
+ pl.sendPacket(new OnEventTrigger(19250004, true));
+ pl.sendPacket(new OnEventTrigger(19250010, true));
+ pl.sendPacket(new OnEventTrigger(19250032, false));
+ pl.sendPacket(new OnEventTrigger(19250014, false));
+ pl.sendPacket(new OnEventTrigger(19250020, false));
+ pl.sendPacket(new OnEventTrigger(19250026, false));
+ pl.sendPacket(new OnEventTrigger(19250002, false));
+ pl.sendPacket(new OnEventTrigger(19250008, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal.despawnAll();
+ }
+ break;
+ }
+ case 3:
+ {
+ for (L2PcInstance pl : HELLBOUND_ZONE.getPlayersInside())
+ {
+ pl.sendPacket(new OnEventTrigger(19250036, true));
+ pl.sendPacket(new OnEventTrigger(19250018, true));
+ pl.sendPacket(new OnEventTrigger(19250024, true));
+ pl.sendPacket(new OnEventTrigger(19250030, true));
+ pl.sendPacket(new OnEventTrigger(19250006, true));
+ pl.sendPacket(new OnEventTrigger(19250012, true));
+ pl.sendPacket(new OnEventTrigger(19250034, false));
+ pl.sendPacket(new OnEventTrigger(19250016, false));
+ pl.sendPacket(new OnEventTrigger(19250022, false));
+ pl.sendPacket(new OnEventTrigger(19250028, false));
+ pl.sendPacket(new OnEventTrigger(19250004, false));
+ pl.sendPacket(new OnEventTrigger(19250010, false));
+ if (spawnTemplateNormal != null)
+ {
+ pl.sendPacket(new Earthquake(pl.getLocation(), 40, 7));
+ }
+ }
+
+ if (spawnTemplateNormal == null)
+ {
+ spawnTemplateNormal = SpawnTable.getInstance().getAnySpawn(MONSTERS[4]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateFinal = SpawnTable.getInstance().getAnySpawn(MONSTERS[14]).getNpcSpawnTemplate().getSpawnTemplate();
+ spawnTemplateNormal.despawnAll();
+ }
+ else
+ {
+ spawnTemplateNormal.despawnAll();
+ spawnTemplateFinal.spawnAll();
+ }
+ break;
+ }
+ }
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ kills++;
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ public static void main(String[] args)
+ {
+ new EnchantedMegaliths();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml b/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml
new file mode 100644
index 0000000000..1b847e8bac
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Hellbound/EnchantedMegaliths.xml
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Hellbound/Hellbound.xml b/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Hellbound/Hellbound.xml
index 34a4b1ff9a..331fdb7beb 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Hellbound/Hellbound.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Hellbound/Hellbound.xml
@@ -50,163 +50,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -430,4 +273,4 @@
-
\ No newline at end of file
+