From 4ab84293483d22796635b600b011420860f822de Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 12 Sep 2017 15:20:15 +0000 Subject: [PATCH] Simple implementation for Trasken. --- .../dist/game/data/html/default/30537-1.htm | 4 + .../dist/game/data/html/default/30537.htm | 2 +- .../data/instances/Bosses/EarthWyrmCave.xml | 182 ++++++++++++++++++ .../ai/bosses/Trasken/EarthWyrmCave.java | 139 +++++++++++++ .../dist/game/data/stats/npcs/19100-19199.xml | 80 +++++++- L2J_Mobius_1.0_Ertheia/readme.txt | 1 - .../dist/game/data/html/default/30537-1.htm | 4 + .../dist/game/data/html/default/30537.htm | 2 +- .../data/instances/Bosses/EarthWyrmCave.xml | 182 ++++++++++++++++++ .../ai/bosses/Trasken/EarthWyrmCave.java | 139 +++++++++++++ .../dist/game/data/stats/npcs/19100-19199.xml | 108 ++++++++++- L2J_Mobius_2.5_Underground/readme.txt | 1 - .../dist/game/data/html/default/30537-1.htm | 4 + .../dist/game/data/html/default/30537.htm | 2 +- .../data/instances/Bosses/EarthWyrmCave.xml | 182 ++++++++++++++++++ .../ai/bosses/Trasken/EarthWyrmCave.java | 139 +++++++++++++ .../dist/game/data/stats/npcs/19100-19199.xml | 108 ++++++++++- L2J_Mobius_3.0_Helios/readme.txt | 1 - 18 files changed, 1256 insertions(+), 24 deletions(-) create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/html/default/30537-1.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/instances/Bosses/EarthWyrmCave.xml create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/html/default/30537-1.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/instances/Bosses/EarthWyrmCave.xml create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/html/default/30537-1.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/instances/Bosses/EarthWyrmCave.xml create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/html/default/30537-1.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/html/default/30537-1.htm new file mode 100644 index 0000000000..06910e6713 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/html/default/30537-1.htm @@ -0,0 +1,4 @@ +Head Priest of the Earth Daichir:
+Before you go, make sure that everyone in your party is ready. No one needs more food, a tissue, to clear out their saddle bag... no one has to use the bathroom?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/html/default/30537.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/html/default/30537.htm index d0c7c09c49..a948bf0fb8 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/html/default/30537.htm +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/html/default/30537.htm @@ -3,6 +3,6 @@ Although we are unfortunate to be suffering, do not pity yourself. All is meant. All will be remedied.
The Goddess of the Earth is always beside you. We must repay her for the kindness she allows us.
If you want the blessing of goddess to be always with you, remember my words! "Karna Maphra!"
- + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/instances/Bosses/EarthWyrmCave.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/instances/Bosses/EarthWyrmCave.xml new file mode 100644 index 0000000000..75b2972ee8 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/instances/Bosses/EarthWyrmCave.xml @@ -0,0 +1,182 @@ + + + + + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java new file mode 100644 index 0000000000..c7c425b360 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java @@ -0,0 +1,139 @@ +/* + * 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.bosses.Trasken; + +import com.l2jmobius.gameserver.enums.Movie; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.instancezone.Instance; +import com.l2jmobius.gameserver.network.NpcStringId; +import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import instances.AbstractInstance; + +/** + * Earth Wyrm Cave instance zone. (simple implementation) + * @Video http://www.youtube.com/watch?v=0Vyu7GJvuBo + * @author Mobius + */ +public final class EarthWyrmCave extends AbstractInstance +{ + // NPCs + private static final int DAICHIR = 30537; + private static final int TRASKEN = 19159; + // Location + private static final Location TRASKEN_SPAWN_LOC = new Location(82383, -183527, -9892, 26533); + // Door + private static final int DOOR_ID = 22120001; + // Misc + private static final int OPEN_DOOR = 5; // minutes + private static final int TEMPLATE_ID = 192; + + public EarthWyrmCave() + { + super(TEMPLATE_ID); + addStartNpc(DAICHIR); + addTalkId(DAICHIR); + addKillId(TRASKEN); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + switch (event) + { + case "enterInstance": + { + enterInstance(player, npc, TEMPLATE_ID); + startQuestTimer("OPEN_DOOR", OPEN_DOOR * 60 * 1000, null, player, false); + break; + } + case "OPEN_DOOR": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + world.openCloseDoor(DOOR_ID, true); + world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ELIMINATE_THOSE_WHO_PROTECT_THE_HEART_OF_THE_EARTH_WYRM, ExShowScreenMessage.TOP_CENTER, 7000)); + startQuestTimer("CLOSE_DOOR", 60000, null, player, false); // close door after a minute + startQuestTimer("WAIT_TO_CLEAR_MONSTERS", 5000, null, player, false); + break; + } + case "CLOSE_DOOR": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + world.openCloseDoor(DOOR_ID, false); + break; + } + case "WAIT_TO_CLEAR_MONSTERS": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + if (world.getAliveNpcs(L2MonsterInstance.class).isEmpty()) + { + addSpawn(TRASKEN, TRASKEN_SPAWN_LOC, false, 0, false, player.getInstanceId()); + + world.broadcastPacket(new ExShowScreenMessage(NpcStringId.FIND_THE_EARTH_WYRM_S_WEAKNESS_TO_DEFEAT_IT, ExShowScreenMessage.TOP_CENTER, 5000)); + } + else + { + startQuestTimer("WAIT_TO_CLEAR_MONSTERS", 5000, null, player, false); + } + return null; + } + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final Instance instance = npc.getInstanceWorld(); + if (isInInstance(instance)) + { + switch (npc.getId()) + { + case TRASKEN: + { + npc.deleteMe(); + instance.broadcastPacket(new ExShowScreenMessage(NpcStringId.HEART_OF_EARTH_WYRM_HAS_BEEN_DESTROYED, ExShowScreenMessage.TOP_CENTER, 5000)); + playMovie(instance.getPlayers(), Movie.SC_EARTHWORM_ENDING); + instance.openCloseDoor(DOOR_ID, true); + instance.finishInstance(); + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } + + public static void main(String[] args) + { + new EarthWyrmCave(); + } +} \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/npcs/19100-19199.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/npcs/19100-19199.xml index 08e2c0e3b3..d229329cad 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/npcs/19100-19199.xml +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/npcs/19100-19199.xml @@ -1843,15 +1843,15 @@ - - + BUG MALE + - + - - + + @@ -1861,15 +1861,83 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/L2J_Mobius_1.0_Ertheia/readme.txt b/L2J_Mobius_1.0_Ertheia/readme.txt index 0b4eeb2a37..de6eb71dd5 100644 --- a/L2J_Mobius_1.0_Ertheia/readme.txt +++ b/L2J_Mobius_1.0_Ertheia/readme.txt @@ -20,6 +20,5 @@ What is done TODO -Modify all skill levels/sublevels based on client --Trasken -Kamaloka -Provisional Clan Halls diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/html/default/30537-1.htm b/L2J_Mobius_2.5_Underground/dist/game/data/html/default/30537-1.htm new file mode 100644 index 0000000000..06910e6713 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/html/default/30537-1.htm @@ -0,0 +1,4 @@ +Head Priest of the Earth Daichir:
+Before you go, make sure that everyone in your party is ready. No one needs more food, a tissue, to clear out their saddle bag... no one has to use the bathroom?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/html/default/30537.htm b/L2J_Mobius_2.5_Underground/dist/game/data/html/default/30537.htm index d0c7c09c49..a948bf0fb8 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/html/default/30537.htm +++ b/L2J_Mobius_2.5_Underground/dist/game/data/html/default/30537.htm @@ -3,6 +3,6 @@ Although we are unfortunate to be suffering, do not pity yourself. All is meant. All will be remedied.
The Goddess of the Earth is always beside you. We must repay her for the kindness she allows us.
If you want the blessing of goddess to be always with you, remember my words! "Karna Maphra!"
- + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/instances/Bosses/EarthWyrmCave.xml b/L2J_Mobius_2.5_Underground/dist/game/data/instances/Bosses/EarthWyrmCave.xml new file mode 100644 index 0000000000..75b2972ee8 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/instances/Bosses/EarthWyrmCave.xml @@ -0,0 +1,182 @@ + + + + + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java new file mode 100644 index 0000000000..c7c425b360 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java @@ -0,0 +1,139 @@ +/* + * 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.bosses.Trasken; + +import com.l2jmobius.gameserver.enums.Movie; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.instancezone.Instance; +import com.l2jmobius.gameserver.network.NpcStringId; +import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import instances.AbstractInstance; + +/** + * Earth Wyrm Cave instance zone. (simple implementation) + * @Video http://www.youtube.com/watch?v=0Vyu7GJvuBo + * @author Mobius + */ +public final class EarthWyrmCave extends AbstractInstance +{ + // NPCs + private static final int DAICHIR = 30537; + private static final int TRASKEN = 19159; + // Location + private static final Location TRASKEN_SPAWN_LOC = new Location(82383, -183527, -9892, 26533); + // Door + private static final int DOOR_ID = 22120001; + // Misc + private static final int OPEN_DOOR = 5; // minutes + private static final int TEMPLATE_ID = 192; + + public EarthWyrmCave() + { + super(TEMPLATE_ID); + addStartNpc(DAICHIR); + addTalkId(DAICHIR); + addKillId(TRASKEN); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + switch (event) + { + case "enterInstance": + { + enterInstance(player, npc, TEMPLATE_ID); + startQuestTimer("OPEN_DOOR", OPEN_DOOR * 60 * 1000, null, player, false); + break; + } + case "OPEN_DOOR": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + world.openCloseDoor(DOOR_ID, true); + world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ELIMINATE_THOSE_WHO_PROTECT_THE_HEART_OF_THE_EARTH_WYRM, ExShowScreenMessage.TOP_CENTER, 7000)); + startQuestTimer("CLOSE_DOOR", 60000, null, player, false); // close door after a minute + startQuestTimer("WAIT_TO_CLEAR_MONSTERS", 5000, null, player, false); + break; + } + case "CLOSE_DOOR": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + world.openCloseDoor(DOOR_ID, false); + break; + } + case "WAIT_TO_CLEAR_MONSTERS": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + if (world.getAliveNpcs(L2MonsterInstance.class).isEmpty()) + { + addSpawn(TRASKEN, TRASKEN_SPAWN_LOC, false, 0, false, player.getInstanceId()); + + world.broadcastPacket(new ExShowScreenMessage(NpcStringId.FIND_THE_EARTH_WYRM_S_WEAKNESS_TO_DEFEAT_IT, ExShowScreenMessage.TOP_CENTER, 5000)); + } + else + { + startQuestTimer("WAIT_TO_CLEAR_MONSTERS", 5000, null, player, false); + } + return null; + } + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final Instance instance = npc.getInstanceWorld(); + if (isInInstance(instance)) + { + switch (npc.getId()) + { + case TRASKEN: + { + npc.deleteMe(); + instance.broadcastPacket(new ExShowScreenMessage(NpcStringId.HEART_OF_EARTH_WYRM_HAS_BEEN_DESTROYED, ExShowScreenMessage.TOP_CENTER, 5000)); + playMovie(instance.getPlayers(), Movie.SC_EARTHWORM_ENDING); + instance.openCloseDoor(DOOR_ID, true); + instance.finishInstance(); + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } + + public static void main(String[] args) + { + new EarthWyrmCave(); + } +} \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/npcs/19100-19199.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/npcs/19100-19199.xml index 7f4d496d87..89cb9e9774 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/npcs/19100-19199.xml +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/npcs/19100-19199.xml @@ -1843,15 +1843,15 @@
- - + BUG MALE + - + - - + + @@ -1861,15 +1861,111 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/L2J_Mobius_2.5_Underground/readme.txt b/L2J_Mobius_2.5_Underground/readme.txt index 38ebed6388..6c263a3370 100644 --- a/L2J_Mobius_2.5_Underground/readme.txt +++ b/L2J_Mobius_2.5_Underground/readme.txt @@ -19,7 +19,6 @@ What is done -Addition of many retail AIs TODO list --Trasken -Underground five man dungeons -Kamaloka -Provisional Clan Halls diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/html/default/30537-1.htm b/L2J_Mobius_3.0_Helios/dist/game/data/html/default/30537-1.htm new file mode 100644 index 0000000000..06910e6713 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/html/default/30537-1.htm @@ -0,0 +1,4 @@ +Head Priest of the Earth Daichir:
+Before you go, make sure that everyone in your party is ready. No one needs more food, a tissue, to clear out their saddle bag... no one has to use the bathroom?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/html/default/30537.htm b/L2J_Mobius_3.0_Helios/dist/game/data/html/default/30537.htm index d0c7c09c49..a948bf0fb8 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/html/default/30537.htm +++ b/L2J_Mobius_3.0_Helios/dist/game/data/html/default/30537.htm @@ -3,6 +3,6 @@ Although we are unfortunate to be suffering, do not pity yourself. All is meant. All will be remedied.
The Goddess of the Earth is always beside you. We must repay her for the kindness she allows us.
If you want the blessing of goddess to be always with you, remember my words! "Karna Maphra!"
- + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/instances/Bosses/EarthWyrmCave.xml b/L2J_Mobius_3.0_Helios/dist/game/data/instances/Bosses/EarthWyrmCave.xml new file mode 100644 index 0000000000..ef2948f5fa --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/instances/Bosses/EarthWyrmCave.xml @@ -0,0 +1,182 @@ + + + + + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java new file mode 100644 index 0000000000..ec834bffe2 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Trasken/EarthWyrmCave.java @@ -0,0 +1,139 @@ +/* + * 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.bosses.Trasken; + +import com.l2jmobius.gameserver.enums.Movie; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.instancezone.Instance; +import com.l2jmobius.gameserver.network.NpcStringId; +import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import instances.AbstractInstance; + +/** + * Earth Wyrm Cave instance zone. (simple implementation) + * @Video http://www.youtube.com/watch?v=0Vyu7GJvuBo + * @author Mobius + */ +public final class EarthWyrmCave extends AbstractInstance +{ + // NPCs + private static final int DAICHIR = 30537; + private static final int TRASKEN = 19159; + // Location + private static final Location TRASKEN_SPAWN_LOC = new Location(82383, -183527, -9892, 26533); + // Door + private static final int DOOR_ID = 22120001; + // Misc + private static final int OPEN_DOOR = 5; // minutes + private static final int TEMPLATE_ID = 192; + + public EarthWyrmCave() + { + super(TEMPLATE_ID); + addStartNpc(DAICHIR); + addTalkId(DAICHIR); + addKillId(TRASKEN); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + switch (event) + { + case "enterInstance": + { + enterInstance(player, npc, TEMPLATE_ID); + startQuestTimer("OPEN_DOOR", OPEN_DOOR * 60 * 1000, null, player, false); + break; + } + case "OPEN_DOOR": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + world.openCloseDoor(DOOR_ID, true); + world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ELIMINATE_THOSE_WHO_PROTECT_THE_HEART_OF_THE_EARTH_WYRM, ExShowScreenMessage.TOP_CENTER, 7000)); + startQuestTimer("CLOSE_DOOR", 60000, null, player, false); // close door after a minute + startQuestTimer("WAIT_TO_CLEAR_MONSTERS", 5000, null, player, false); + break; + } + case "CLOSE_DOOR": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + world.openCloseDoor(DOOR_ID, false); + break; + } + case "WAIT_TO_CLEAR_MONSTERS": + { + if ((player == null) || (player.getInstanceId() == 0)) + { + return null; + } + final Instance world = player.getInstanceWorld(); + if (world.getAliveNpcs(L2MonsterInstance.class).isEmpty()) + { + addSpawn(TRASKEN, TRASKEN_SPAWN_LOC, false, 0, false, player.getInstanceId()); + + world.broadcastPacket(new ExShowScreenMessage(NpcStringId.FIND_THE_EARTH_WYRM_S_WEAKNESS_TO_DEFEAT_IT, ExShowScreenMessage.TOP_CENTER, 5000)); + } + else + { + startQuestTimer("WAIT_TO_CLEAR_MONSTERS", 5000, null, player, false); + } + return null; + } + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final Instance instance = npc.getInstanceWorld(); + if (isInInstance(instance)) + { + switch (npc.getId()) + { + case TRASKEN: + { + npc.deleteMe(); + instance.broadcastPacket(new ExShowScreenMessage(NpcStringId.HEART_OF_EARTH_WYRM_HAS_BEEN_DESTROYED, ExShowScreenMessage.TOP_CENTER, 5000)); + playMovie(instance.getPlayers(), Movie.SC_EARTHWORM_ENDING); + instance.openCloseDoor(DOOR_ID, true); + instance.finishInstance(); + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } + + public static void main(String[] args) + { + new EarthWyrmCave(); + } +} \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/19100-19199.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/19100-19199.xml index b4c20e4471..b73fbf2416 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/19100-19199.xml +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/19100-19199.xml @@ -1714,15 +1714,15 @@
- - + BUG MALE + - + - - + + @@ -1732,15 +1732,111 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/L2J_Mobius_3.0_Helios/readme.txt b/L2J_Mobius_3.0_Helios/readme.txt index f37ac98606..cf836595be 100644 --- a/L2J_Mobius_3.0_Helios/readme.txt +++ b/L2J_Mobius_3.0_Helios/readme.txt @@ -20,7 +20,6 @@ What is done TODO list -Helios grandboss --Trasken -Underground five man dungeons -Check all quests rewards -Kamaloka