Ertheia Awakening modification.

Contributed by Stayway.
This commit is contained in:
MobiusDev
2016-04-27 16:07:51 +00:00
parent fcd07d7845
commit c983eac420
10 changed files with 113 additions and 103 deletions

View File

@@ -0,0 +1,3 @@
<html><body>Master Defender:<br>
The <font color="LEVEL">Aeore Wizard's</font> <font color="af9878">power is growing.</font>
</body></html>

View File

@@ -19,6 +19,7 @@ package ai.npc.AwakeningMaster;
import com.l2jmobius.gameserver.ThreadPoolManager; import com.l2jmobius.gameserver.ThreadPoolManager;
import com.l2jmobius.gameserver.data.xml.impl.SkillTreesData; import com.l2jmobius.gameserver.data.xml.impl.SkillTreesData;
import com.l2jmobius.gameserver.enums.CategoryType; import com.l2jmobius.gameserver.enums.CategoryType;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.enums.UserInfoType; import com.l2jmobius.gameserver.enums.UserInfoType;
import com.l2jmobius.gameserver.model.actor.L2Npc; import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; 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.RegisterEvent;
import com.l2jmobius.gameserver.model.events.annotations.RegisterType; import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerChangeToAwakenedClass; 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.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.quest.QuestState; import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.network.SystemMessageId; import com.l2jmobius.gameserver.network.SystemMessageId;
@@ -40,6 +42,7 @@ import com.l2jmobius.gameserver.network.serverpackets.UserInfo;
import ai.npc.AbstractNpcAI; import ai.npc.AbstractNpcAI;
import quests.Q10338_SeizeYourDestiny.Q10338_SeizeYourDestiny; import quests.Q10338_SeizeYourDestiny.Q10338_SeizeYourDestiny;
import quests.Q10472_WindsOfFate_EncroachingShadows.Q10472_WindsOfFate_EncroachingShadows;
/** /**
* AwakeningMaster AI. * AwakeningMaster AI.
@@ -56,6 +59,15 @@ public final class AwakeningMaster extends AbstractNpcAI
private static final int ISS_MASTER = 33402; private static final int ISS_MASTER = 33402;
private static final int WYNN_MASTER = 33403; private static final int WYNN_MASTER = 33403;
private static final int AEORE_MASTER = 33404; 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 // Items
private static final int SCROLL_OF_AFTERLIFE = 17600; private static final int SCROLL_OF_AFTERLIFE = 17600;
private static final int ABELIUS_POWER = 32264; 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 NAVIAROPE_POWER = 32269;
private static final int LEISTER_POWER = 32270; private static final int LEISTER_POWER = 32270;
private static final int LAKCIS_POWER = 32271; private static final int LAKCIS_POWER = 32271;
private static final int COUNTERFEIT_ATELIA = 40059;
// Other // Other
private static final int AWAKENING_END_USM_ID = 10; private static final int AWAKENING_END_USM_ID = 10;
@@ -176,6 +189,103 @@ public final class AwakeningMaster extends AbstractNpcAI
return htmltext; 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) @RegisterEvent(EventType.ON_PLAYER_CHANGE_TO_AWAKENED_CLASS)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerChangeToAwakenedClass(OnPlayerChangeToAwakenedClass event) public void OnPlayerChangeToAwakenedClass(OnPlayerChangeToAwakenedClass event)

View File

@@ -20,7 +20,6 @@ import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.L2Npc; import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; 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.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState; import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.zone.L2ZoneType; 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 HOLY_STONE = 9551;
private static final int CRYSTAL_R = 17371; private static final int CRYSTAL_R = 17371;
private static final int RECIPE = 36791; 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 // Mobs
private static final int[] 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"); super(10472, Q10472_WindsOfFate_EncroachingShadows.class.getSimpleName(), "Winds Of Fate: Encroaching Shadows");
addStartNpc(NAVARI); addStartNpc(NAVARI);
addTalkId(NAVARI, ZEPHYRA, MOMET, MAMMON, BLACKSMITH_MAMMON, HARDIN, WYNN, FEOH, TYRR, OTHELL, ISS, YUL, SIGEL, AEORE, KARLA, RAINA); 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); registerQuestItems(DARK_FRAGMENT, COUNTERFEIT_ATELIA, FIRE_STONE, WATER_STONE, EARTH_STONE, WIND_STONE, DARK_STONE, HOLY_STONE, CRYSTAL_R, RECIPE);
addKillId(MOBS); addKillId(MOBS);
// addCondCompletedQuest(Q10471_WindsOfFate_Choices.class.getSimpleName(), "no_cond.html"); // Need be Done! // 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; 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 @Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{ {