diff --git a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33397-01.html b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33397-01.html similarity index 100% rename from trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33397-01.html rename to trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33397-01.html diff --git a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33398-01.html b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33398-01.html similarity index 100% rename from trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33398-01.html rename to trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33398-01.html diff --git a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33399-01.html b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33399-01.html similarity index 100% rename from trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33399-01.html rename to trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33399-01.html diff --git a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33400-01.html b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33400-01.html similarity index 100% rename from trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33400-01.html rename to trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33400-01.html diff --git a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33401-01.html b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33401-01.html similarity index 100% rename from trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33401-01.html rename to trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33401-01.html diff --git a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33402-01.html b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33402-01.html similarity index 100% rename from trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33402-01.html rename to trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33402-01.html diff --git a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33403-01.html b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33403-01.html similarity index 100% rename from trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/33403-01.html rename to trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33403-01.html diff --git a/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33404-01.html b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33404-01.html new file mode 100644 index 0000000000..18c3ca9138 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33404-01.html @@ -0,0 +1,3 @@ +Master Defender:
+The Aeore Wizard's power is growing. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/AwakeningMaster.java b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/AwakeningMaster.java index 0acf94128e..a6c2ff9f5e 100644 --- a/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/AwakeningMaster.java +++ b/trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/AwakeningMaster.java @@ -19,6 +19,7 @@ package ai.npc.AwakeningMaster; import com.l2jmobius.gameserver.ThreadPoolManager; import com.l2jmobius.gameserver.data.xml.impl.SkillTreesData; import com.l2jmobius.gameserver.enums.CategoryType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.enums.UserInfoType; import com.l2jmobius.gameserver.model.actor.L2Npc; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; @@ -29,6 +30,7 @@ import com.l2jmobius.gameserver.model.events.ListenerRegisterType; import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import com.l2jmobius.gameserver.model.events.annotations.RegisterType; import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerChangeToAwakenedClass; +import com.l2jmobius.gameserver.model.holders.SkillHolder; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.quest.QuestState; import com.l2jmobius.gameserver.network.SystemMessageId; @@ -40,6 +42,7 @@ import com.l2jmobius.gameserver.network.serverpackets.UserInfo; import ai.npc.AbstractNpcAI; import quests.Q10338_SeizeYourDestiny.Q10338_SeizeYourDestiny; +import quests.Q10472_WindsOfFate_EncroachingShadows.Q10472_WindsOfFate_EncroachingShadows; /** * AwakeningMaster AI. @@ -56,6 +59,15 @@ public final class AwakeningMaster extends AbstractNpcAI private static final int ISS_MASTER = 33402; private static final int WYNN_MASTER = 33403; private static final int AEORE_MASTER = 33404; + // Skills + private static final SkillHolder NPC_WYNN = new SkillHolder(16390, 1); + private static final SkillHolder NPC_FEOH = new SkillHolder(16391, 1); + private static final SkillHolder NPC_TYRR = new SkillHolder(16392, 1); + private static final SkillHolder NPC_OTHELL = new SkillHolder(16393, 1); + private static final SkillHolder NPC_YUL = new SkillHolder(16394, 1); + private static final SkillHolder NPC_ISS = new SkillHolder(16395, 1); + private static final SkillHolder NPC_SIGEL = new SkillHolder(16396, 1); + private static final SkillHolder NPC_AEORE = new SkillHolder(16397, 1); // Items private static final int SCROLL_OF_AFTERLIFE = 17600; private static final int ABELIUS_POWER = 32264; @@ -66,6 +78,7 @@ public final class AwakeningMaster extends AbstractNpcAI private static final int NAVIAROPE_POWER = 32269; private static final int LEISTER_POWER = 32270; private static final int LAKCIS_POWER = 32271; + private static final int COUNTERFEIT_ATELIA = 40059; // Other private static final int AWAKENING_END_USM_ID = 10; @@ -176,6 +189,103 @@ public final class AwakeningMaster extends AbstractNpcAI return htmltext; } + @Override + public String onFirstTalk(L2Npc npc, L2PcInstance player) + { + if (player.getRace() != Race.ERTHEIA) + { + return npc.getId() + ".html"; + } + + final QuestState qs3 = player.getQuestState(Q10472_WindsOfFate_EncroachingShadows.class.getSimpleName()); + String htmltext = getNoQuestMsg(player); + + switch (npc.getId()) + { + case WYNN_MASTER: + { + if (qs3.isCond(8) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) + { + htmltext = "33403-01.html"; + npc.doCast(NPC_WYNN.getSkill()); + qs3.setCond(9, true); + } + break; + } + case FEOH_MASTER: + { + if (qs3.isCond(9) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) + { + htmltext = "33401-01.html"; + npc.doCast(NPC_FEOH.getSkill()); + qs3.setCond(10, true); + } + break; + } + case TYRR_MASTER: + { + if (qs3.isCond(10) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) + { + htmltext = "33398-01.html"; + npc.doCast(NPC_TYRR.getSkill()); + qs3.setCond(11, true); + } + break; + } + case OTHELL_MASTER: + { + if (qs3.isCond(11) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) + { + htmltext = "33399-01.html"; + npc.doCast(NPC_OTHELL.getSkill()); + qs3.setCond(12, true); + } + break; + } + case ISS_MASTER: + { + if (qs3.isCond(12) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) + { + htmltext = "33402-01.html"; + npc.doCast(NPC_ISS.getSkill()); + qs3.setCond(13, true); + } + break; + } + case YUL_MASTER: + { + if (qs3.isCond(13) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) + { + htmltext = "33400-01.html"; + npc.doCast(NPC_YUL.getSkill()); + qs3.setCond(14, true); + } + break; + } + case SIGEL_MASTER: + { + if (qs3.isCond(14) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) + { + htmltext = "33397-01.html"; + npc.doCast(NPC_SIGEL.getSkill()); + qs3.setCond(15, true); + } + break; + } + case AEORE_MASTER: + { + if (qs3.isCond(15) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) + { + htmltext = "33404-01.html"; + npc.doCast(NPC_AEORE.getSkill()); + qs3.setCond(16, true); + } + break; + } + } + return htmltext; + } + @RegisterEvent(EventType.ON_PLAYER_CHANGE_TO_AWAKENED_CLASS) @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void OnPlayerChangeToAwakenedClass(OnPlayerChangeToAwakenedClass event) diff --git a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/Q10472_WindsOfFate_EncroachingShadows.java b/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/Q10472_WindsOfFate_EncroachingShadows.java index 601bf65de7..31076e9700 100644 --- a/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/Q10472_WindsOfFate_EncroachingShadows.java +++ b/trunk/dist/game/data/scripts/quests/Q10472_WindsOfFate_EncroachingShadows/Q10472_WindsOfFate_EncroachingShadows.java @@ -20,7 +20,6 @@ import com.l2jmobius.gameserver.enums.Race; 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.holders.SkillHolder; import com.l2jmobius.gameserver.model.quest.Quest; import com.l2jmobius.gameserver.model.quest.QuestState; import com.l2jmobius.gameserver.model.zone.L2ZoneType; @@ -61,15 +60,6 @@ public class Q10472_WindsOfFate_EncroachingShadows extends Quest private static final int HOLY_STONE = 9551; private static final int CRYSTAL_R = 17371; private static final int RECIPE = 36791; - // Skills - private static final SkillHolder NPC_WYNN = new SkillHolder(16390, 1); - private static final SkillHolder NPC_FEOH = new SkillHolder(16391, 1); - private static final SkillHolder NPC_TYRR = new SkillHolder(16392, 1); - private static final SkillHolder NPC_OTHELL = new SkillHolder(16393, 1); - private static final SkillHolder NPC_YUL = new SkillHolder(16394, 1); - private static final SkillHolder NPC_ISS = new SkillHolder(16395, 1); - private static final SkillHolder NPC_SIGEL = new SkillHolder(16396, 1); - private static final SkillHolder NPC_AEORE = new SkillHolder(16397, 1); // Mobs private static final int[] MOBS = { @@ -92,7 +82,6 @@ public class Q10472_WindsOfFate_EncroachingShadows extends Quest super(10472, Q10472_WindsOfFate_EncroachingShadows.class.getSimpleName(), "Winds Of Fate: Encroaching Shadows"); addStartNpc(NAVARI); addTalkId(NAVARI, ZEPHYRA, MOMET, MAMMON, BLACKSMITH_MAMMON, HARDIN, WYNN, FEOH, TYRR, OTHELL, ISS, YUL, SIGEL, AEORE, KARLA, RAINA); - addFirstTalkId(WYNN, FEOH, TYRR, OTHELL, ISS, YUL, SIGEL, AEORE); registerQuestItems(DARK_FRAGMENT, COUNTERFEIT_ATELIA, FIRE_STONE, WATER_STONE, EARTH_STONE, WIND_STONE, DARK_STONE, HOLY_STONE, CRYSTAL_R, RECIPE); addKillId(MOBS); // addCondCompletedQuest(Q10471_WindsOfFate_Choices.class.getSimpleName(), "no_cond.html"); // Need be Done! @@ -459,98 +448,6 @@ public class Q10472_WindsOfFate_EncroachingShadows extends Quest return htmltext; } - @Override - public String onFirstTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - - switch (npc.getId()) - { - case WYNN: - { - if (qs.isCond(8) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) - { - htmltext = "33403-01.html"; - npc.doCast(NPC_WYNN.getSkill()); - qs.setCond(9, true); - } - break; - } - case FEOH: - { - if (qs.isCond(9) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) - { - htmltext = "33401-01.html"; - npc.doCast(NPC_FEOH.getSkill()); - qs.setCond(10, true); - } - break; - } - case TYRR: - { - if (qs.isCond(10) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) - { - htmltext = "33398-01.html"; - npc.doCast(NPC_TYRR.getSkill()); - qs.setCond(11, true); - } - break; - } - case OTHELL: - { - if (qs.isCond(11) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) - { - htmltext = "33399-01.html"; - npc.doCast(NPC_OTHELL.getSkill()); - qs.setCond(12, true); - } - break; - } - case ISS: - { - if (qs.isCond(12) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) - { - htmltext = "33402-01.html"; - npc.doCast(NPC_ISS.getSkill()); - qs.setCond(13, true); - } - break; - } - case YUL: - { - if (qs.isCond(13) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) - { - htmltext = "33400-01.html"; - npc.doCast(NPC_YUL.getSkill()); - qs.setCond(14, true); - } - break; - } - case SIGEL: - { - if (qs.isCond(14) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) - { - htmltext = "33397-01.html"; - npc.doCast(NPC_SIGEL.getSkill()); - qs.setCond(15, true); - } - break; - } - case AEORE: - { - if (qs.isCond(15) && (getQuestItemsCount(player, COUNTERFEIT_ATELIA) >= 1)) - { - htmltext = "33404-01.html"; - npc.doCast(NPC_AEORE.getSkill()); - qs.setCond(16, true); - } - break; - } - } - return htmltext; - } - @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) {