From 090478c299bd4561a881da1ebe2dbd8bb2626968 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 2 Oct 2017 11:08:55 +0000 Subject: [PATCH] Giran Kekropus AI. Contributed by gigilo1968. --- .../dist/game/data/html/teleporter/34222.htm | 9 -- .../ai/areas/Giran/Kekropus/34222-01.html | 4 + .../ai/areas/Giran/Kekropus/34222-02.html | 4 + .../ai/areas/Giran/Kekropus/34222.html | 9 ++ .../ai/areas/Giran/Kekropus/Kekropus.java | 143 ++++++++++++++++++ .../dist/game/data/stats/npcs/34200-34299.xml | 2 +- .../game/data/teleporters/others/Kekropus.xml | 8 - 7 files changed, 161 insertions(+), 18 deletions(-) delete mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/html/teleporter/34222.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222-01.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222-02.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/Kekropus.java delete mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/teleporters/others/Kekropus.xml diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/html/teleporter/34222.htm b/L2J_Mobius_3.0_Helios/dist/game/data/html/teleporter/34222.htm deleted file mode 100644 index a42ef1285e..0000000000 --- a/L2J_Mobius_3.0_Helios/dist/game/data/html/teleporter/34222.htm +++ /dev/null @@ -1,9 +0,0 @@ -Hierarch Kekropus:
-Welcome. I am Kamael Hierarch Kekropus.
-I am the only one who lived the same age as the Giants, was made by the Gians, and has witnessed the entire history of the Kamael.
-Until now, I was watching the situation on the continent. What would one as old as I do on the front lines? Howere, I could not stand by and watch while the resurrected Giants destroy us and create a continent for themselves. Hence I have taken action.
- - - - - \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222-01.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222-01.html new file mode 100644 index 0000000000..a3028cb104 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222-01.html @@ -0,0 +1,4 @@ +Hierarch Kekropus:
+In order to fight against Emperor Helios, you must gather the best heroes on the continent. It'll still be a bloody struggle to the death.
+Please gather a coalition of at least %min% of your comrades with Lv. %minlvl% or above. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222-02.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222-02.html new file mode 100644 index 0000000000..b0a9a1ec1d --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222-02.html @@ -0,0 +1,4 @@ +Hierarch Kekropus:
+In order to fight against Emperor Helios, you must gather the best heroes on the continent.
+(The players who belong to an association can only enter through the Association Leader.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222.html new file mode 100644 index 0000000000..8603550760 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/34222.html @@ -0,0 +1,9 @@ +Hierarch Kekropus:
+Welcome. I am Kamael Hierarch Kekropus.
+I am the only one who lived the same age as the Giants, was made by the Giants, and has witnessed the entire history of the Kamael.
+Until now, I was watching the situation on the continent. What would one as old as I do on the front lines? However, I could not stand by and watch while the resurrected Giants destroy us and create a continent for themselves. Hence I have taken action.
+ + + + + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/Kekropus.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/Kekropus.java new file mode 100644 index 0000000000..b6aaca4cb6 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Giran/Kekropus/Kekropus.java @@ -0,0 +1,143 @@ +/* + * 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.Giran.Kekropus; + +import java.util.List; + +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; +import com.l2jmobius.gameserver.network.serverpackets.PlaySound; + +import ai.AbstractNpcAI; + +/** + * Kekropus AI + * @author Gigi + */ +public final class Kekropus extends AbstractNpcAI +{ + // NPC + private static final int KEKROPUS = 34222; + // Teleports + private static final Location TELEPORT = new Location(79827, 152588, 2304); + private static final Location ENTER_LOC = new Location(79313, 153617, 2307); + // Config + private static final int HELIOS_MIN_PLAYER = 70; + private static final int HELIOS_MIN_PLAYER_LVL = 102; + + private Kekropus() + { + addStartNpc(KEKROPUS); + addTalkId(KEKROPUS); + addFirstTalkId(KEKROPUS); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + switch (event) + { + case "teleport": + { + player.teleToLocation(TELEPORT); + break; + } + case "helios": + { + if (!player.isInParty()) + { + final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId()); + packet.setHtml(getHtm(player.getHtmlPrefix(), "34222-01.html")); + packet.replace("%min%", Integer.toString(HELIOS_MIN_PLAYER)); + packet.replace("%minlvl%", Integer.toString(HELIOS_MIN_PLAYER_LVL)); + player.sendPacket(packet); + return null; + } + final L2Party party = player.getParty(); + final boolean isInCC = party.isInCommandChannel(); + final List members = (isInCC) ? party.getCommandChannel().getMembers() : party.getMembers(); + final boolean isPartyLeader = (isInCC) ? party.getCommandChannel().isLeader(player) : party.isLeader(player); + if (!isPartyLeader) + { + return "34222-02.html"; + } + if (members.size() < HELIOS_MIN_PLAYER) + { + final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId()); + packet.setHtml(getHtm(player.getHtmlPrefix(), "34222-01.html")); + packet.replace("%min%", Integer.toString(HELIOS_MIN_PLAYER)); + packet.replace("%minlvl%", Integer.toString(HELIOS_MIN_PLAYER_LVL)); + player.sendPacket(packet); + return null; + } + for (L2PcInstance member : members) + { + if (member.getLevel() < HELIOS_MIN_PLAYER_LVL) + { + final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId()); + packet.setHtml(getHtm(player.getHtmlPrefix(), "34222-01.html")); + packet.replace("%min%", Integer.toString(HELIOS_MIN_PLAYER)); + packet.replace("%minlvl%", Integer.toString(HELIOS_MIN_PLAYER_LVL)); + player.sendPacket(packet); + return null; + } + } + for (L2PcInstance member : members) + { + if ((member.calculateDistance(npc, false, false) < 1000) && (npc.getId() == KEKROPUS)) + { + member.teleToLocation(ENTER_LOC, true); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onFirstTalk(L2Npc npc, L2PcInstance player) + { + final int i = getRandom(0, 12); + if ((i > 0) && (i <= 3)) + { + player.sendPacket(new PlaySound(3, "Npcdialog1.kekrops_greeting_8", 0, 0, 0, 0, 0)); + } + else if ((i > 3) && (i <= 6)) + { + player.sendPacket(new PlaySound(3, "Npcdialog1.kekrops_greeting_7", 0, 0, 0, 0, 0)); + } + else if ((i > 6) && (i <= 9)) + { + player.sendPacket(new PlaySound(3, "Npcdialog1.kekrops_greeting_6", 0, 0, 0, 0, 0)); + } + else + { + player.sendPacket(new PlaySound(3, "Npcdialog1.kekrops_greeting_5", 0, 0, 0, 0, 0)); + } + return "34222.html"; + } + + public static void main(String[] args) + { + new Kekropus(); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/34200-34299.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/34200-34299.xml index ebba9efe47..0177a945c0 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/34200-34299.xml +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/npcs/34200-34299.xml @@ -418,7 +418,7 @@ - + KAMAEL MALE diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/teleporters/others/Kekropus.xml b/L2J_Mobius_3.0_Helios/dist/game/data/teleporters/others/Kekropus.xml deleted file mode 100644 index a10465a870..0000000000 --- a/L2J_Mobius_3.0_Helios/dist/game/data/teleporters/others/Kekropus.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file