Ertheia Awakening modification.
Contributed by Stayway.
This commit is contained in:
3
trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33404-01.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AwakeningMaster/33404-01.html
vendored
Normal 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>
|
@@ -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)
|
||||
|
@@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user