Raidboss and quest 10416, 10797 improvements.
Contributed by gamelike85.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<html><body>Eye of Argos:<br>
|
||||
The annoying group called <font color="LEVEL">Embryo</font> failed to get me on their side. So now they want to recruit <font color="LEVEL">Daimon</font>. If they succeed... well.<br>
|
||||
The energy of the beasts in the valley around here has subsided significantly. Is it you that has slain them? ...Interesting... <br>
|
||||
Give me some time to think about what to do.
|
||||
</body></html>
|
||||
@@ -1,5 +1,5 @@
|
||||
<html><body>Giant's Minion Janitt:<br>
|
||||
So far, Argos isn't exactly falling all over himself to support Embryo. The problem is, he doesn't trust us either. I managed to get him to agree to give me a chance; I have to send someone brave and wise to convince him.<br>
|
||||
Are you brave enough and wise enough? We're on a time limit here, so I don't know that we have the time to find out. I need you to go talk to him.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10416_InSearchOfTheEyeOfArgos 33851-04.htm">"Got it."</Button>
|
||||
Yes, that's right! So far, Argos isn't exactly falling all over himself to support Embryo. The problem is, he doesn't trust us either. I managed to get him to agree to give me a chance; I have to send someone brave and wise to convince him.<br>
|
||||
You may be qualified. Come on, it should be worth trying.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10416_InSearchOfTheEyeOfArgos 33851-04.htm">"Alright, I will."</Button>
|
||||
</body></html>
|
||||
@@ -1,3 +1,4 @@
|
||||
<html><body>Giant's Minion Janitt:<br>
|
||||
Hurry, then. I'll mark the location of the <font color="LEVEL">Eye of Argos</font> on your map. Go talk to him right away.
|
||||
Though you're a stranger to wisdom, obviously, the best way to prove your bravery would be to slay the monsters around here, correct? Slay the <font color="LEVEL">Canyon Antelope, Canyon Bandersnatch, Valley Buffalo, Valley Grendel, Canyon Antelope Slave, Canyon Bandersnatch Slave, Valley Buffalo Slave, and Valley Grendel Slave</font>. In the process, Argos may recognize your bravery. Desperate times call for desperate measures.<br>
|
||||
If you feel you've done enough, teleport to where the <font color="LEVEL">Eye of Argos</font> is, and try to have a conversation.
|
||||
</body></html>
|
||||
@@ -1,3 +1,4 @@
|
||||
<html><body>Giant's Minion Janitt:<br>
|
||||
Hurry, then. I'll mark the location of the <font color="LEVEL">Eye of Argos</font> on your map. Go talk to him right away.
|
||||
Let's try to prove your bravery, why don't we. Slay the <font color="LEVEL">Canyon Antelope, Canyon Bandersnatch, Valley Buffalo, Valley Grendel, Canyon Antelope Slave, Canyon Bandersnatch Slave, Valley Buffalo Slave, and Valley Grendel Slave</font>. In the process, Argos may recognize your bravery. Desperate times call for desperate measures.<br>
|
||||
If you feel you've done enough, teleport to where the <font color="LEVEL">Eye of Argos</font> is, and try to have a conversation.
|
||||
</body></html>
|
||||
@@ -16,12 +16,19 @@
|
||||
*/
|
||||
package quests.Q10416_InSearchOfTheEyeOfArgos;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* In Search of the Eye of Argos (10416)
|
||||
@@ -32,17 +39,29 @@ public final class Q10416_InSearchOfTheEyeOfArgos extends Quest
|
||||
// NPCs
|
||||
private static final int JANITT = 33851;
|
||||
private static final int EYE_OF_ARGOS = 31683;
|
||||
// Items
|
||||
private static final int EAA = 730; // Scroll: Enchant Armor (A-grade)
|
||||
// Monsters
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
21294, // Canyon Antelope
|
||||
21296, // Canyon Bandersnatch
|
||||
23311, // Valley Buffalo
|
||||
23312, // Valley Grendel
|
||||
21295, // Canyon Antelope Slave
|
||||
21297, // Canyon Bandersnatch Slave
|
||||
21299, // Valley Buffalo Slave
|
||||
21304 // Valley Grendel Slave
|
||||
};
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 70;
|
||||
private static final int MAX_LEVEL = 75;
|
||||
private static final String KILL_COUNT_VAR = "KillCount";
|
||||
|
||||
public Q10416_InSearchOfTheEyeOfArgos()
|
||||
{
|
||||
super(10416);
|
||||
addStartNpc(JANITT);
|
||||
addTalkId(JANITT, EYE_OF_ARGOS);
|
||||
addKillId(MONSTERS);
|
||||
addCondNotRace(Race.ERTHEIA, "33851-06.html");
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33851-07.htm");
|
||||
}
|
||||
@@ -73,16 +92,19 @@ public final class Q10416_InSearchOfTheEyeOfArgos extends Quest
|
||||
}
|
||||
case "31683-02.html":
|
||||
{
|
||||
if (st.isCond(1))
|
||||
if (st.isCond(2))
|
||||
{
|
||||
st.exitQuest(false, true);
|
||||
giveItems(player, EAA, 2);
|
||||
giveStoryQuestReward(npc, player);
|
||||
if (player.getLevel() > MIN_LEVEL)
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
addExpAndSp(player, 1_088_640, 261);
|
||||
addExpAndSp(player, 178_732_196, 261);
|
||||
giveStoryQuestReward(npc, player);
|
||||
st.exitQuest(QuestType.ONE_TIME, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -108,9 +130,13 @@ public final class Q10416_InSearchOfTheEyeOfArgos extends Quest
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (st.isCond(1))
|
||||
if (st.isCond(1) && (npc.getId() == JANITT))
|
||||
{
|
||||
htmltext = npc.getId() == JANITT ? "33851-05.html" : "31683-01.html";
|
||||
htmltext = "33851-05.html";
|
||||
}
|
||||
if (st.isCond(2) && (npc.getId() == EYE_OF_ARGOS))
|
||||
{
|
||||
htmltext = "31683-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -125,4 +151,42 @@ public final class Q10416_InSearchOfTheEyeOfArgos extends Quest
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
int count = qs.getInt(KILL_COUNT_VAR);
|
||||
qs.set(KILL_COUNT_VAR, ++count);
|
||||
if (count >= 200)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
sendNpcLogList(killer);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR);
|
||||
if (killCount > 0)
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_THE_BEASTS_OF_THE_VALLEY, killCount));
|
||||
return holder;
|
||||
}
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
||||
@@ -16,12 +16,19 @@
|
||||
*/
|
||||
package quests.Q10797_CrossingFate;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
import quests.Q10796_TheEyeThatDefiedTheGods.Q10796_TheEyeThatDefiedTheGods;
|
||||
|
||||
@@ -35,11 +42,21 @@ public class Q10797_CrossingFate extends Quest
|
||||
// NPCs
|
||||
private static final int EYE_OF_ARGOS = 31683;
|
||||
private static final int DAIMON_THE_WHITE_EYED = 27499;
|
||||
// Items
|
||||
private static final int EAA = 730;
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
21294, // Canyon Antelope
|
||||
21296, // Canyon Bandersnatch
|
||||
23311, // Valley Buffalo
|
||||
23312, // Valley Grendel
|
||||
21295, // Canyon Antelope Slave
|
||||
21297, // Canyon Bandersnatch Slave
|
||||
21299, // Valley Buffalo Slave
|
||||
21304 // Valley Grendel Slave
|
||||
};
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 70;
|
||||
private static final int MAX_LEVEL = 75;
|
||||
private static final String KILL_COUNT_VAR = "KillCount";
|
||||
|
||||
public Q10797_CrossingFate()
|
||||
{
|
||||
@@ -47,8 +64,9 @@ public class Q10797_CrossingFate extends Quest
|
||||
addStartNpc(EYE_OF_ARGOS);
|
||||
addTalkId(EYE_OF_ARGOS);
|
||||
addKillId(DAIMON_THE_WHITE_EYED);
|
||||
addKillId(MONSTERS);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
|
||||
addCondRace(Race.ERTHEIA, "noErtheya.html");
|
||||
addCondRace(Race.ERTHEIA, "noErtheia.html");
|
||||
addCondCompletedQuest(Q10796_TheEyeThatDefiedTheGods.class.getSimpleName(), "restriction.html");
|
||||
}
|
||||
|
||||
@@ -75,14 +93,21 @@ public class Q10797_CrossingFate extends Quest
|
||||
}
|
||||
case "31683-07.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
addExpAndSp(player, 2721600, 653);
|
||||
giveStoryQuestReward(npc, player);
|
||||
giveItems(player, EAA, 5);
|
||||
qs.exitQuest(false, true);
|
||||
break;
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
addExpAndSp(player, 306_167_814, 653);
|
||||
giveStoryQuestReward(npc, player);
|
||||
qs.exitQuest(QuestType.ONE_TIME, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
@@ -97,11 +122,11 @@ public class Q10797_CrossingFate extends Quest
|
||||
{
|
||||
htmltext = "31683-01.htm";
|
||||
}
|
||||
else if (qs.isCond(1))
|
||||
else if (qs.isCond(1) || qs.isCond(2))
|
||||
{
|
||||
htmltext = "31683-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "31683-06.html";
|
||||
}
|
||||
@@ -116,10 +141,41 @@ public class Q10797_CrossingFate extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
|
||||
if ((qs != null) && qs.isCond(1) && CommonUtil.contains(MONSTERS, npc.getId()))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
int count = qs.getInt(KILL_COUNT_VAR);
|
||||
qs.set(KILL_COUNT_VAR, ++count);
|
||||
if (count >= 100)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
sendNpcLogList(killer);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
if ((qs != null) && qs.isCond(2) && (npc.getId() == DAIMON_THE_WHITE_EYED))
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR);
|
||||
if (killCount > 0)
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_THE_BEASTS_OF_THE_VALLEY4, killCount));
|
||||
return holder;
|
||||
}
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user