Reworked quest Where Fates Intersect (10589).

Contributed by NightBR.
This commit is contained in:
MobiusDevelopment
2019-11-25 18:32:46 +00:00
parent 6abc86f7df
commit 2f6a38995b
24 changed files with 183 additions and 141 deletions

View File

@@ -1,4 +1,5 @@
<html><body>Tarti:<br> <html><body>Grocer Vollodos:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> Ha! How could this happen? I thought that the contamination in the Altar of Evil was reduced thanks to the adventurers!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 30137-02.html">"Sure, no problem!"</button> I'm frustrated that all that effort was for nothing!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 30137-02.html">"What happened?"</Button>
</body></html> </body></html>

View File

@@ -1,4 +1,6 @@
<html><body>Tarti:<br> <html><body>Grocer Vollodos:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> Oh... Sony, I didn't mean to scream at you. But take a look around. As soon as this contaminated land was about to come back to life, new monsters started appearing and have now taken over.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 30137-03.html">"Sure, no problem!"</button> Actually, I had to run away from my previous post. If you don't help me, I'm dead.<br>
Please help me.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 30137-03.html">"I'll help. Please calm down."</Button>
</body></html> </body></html>

View File

@@ -1,3 +1,5 @@
<html><body>Tarti:<br> <html><body>Grocer Vollodos:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> Really? Okay. I'll calm down. Then please defeat the new monsters in the <font color="LEVEL">Altar of Evil</font> Defeat the <font color="LEVEL">Doom Soldier, Doom Servant, Doom Berserker, and Doom Seer</font> and bring me <font color="LEVEL">200</font> of the <font color="LEVEL">Undead Blood</font>.<br>
And Herphah said that if an adventurer comes, to tell them that they have to reach <font color="LEVEL">level 95</font>.<br>
Once you collect it, you can go back to Herphah. The Altar of Evil is right here, so I won't be teleporting you.<br>
</body></html> </body></html>

View File

@@ -1,3 +1,5 @@
<html><body>Tarti:<br> <html><body>Grocer Vollodos:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> Please defeat the new monsters in the <font color="LEVEL">Altar of Evil</font> Defeat the <font color="LEVEL">Doom Soldier, Doom Servant, Doom Berserker, and Doom Seer</font> and bring me <font color="LEVEL">200</font> of the <font color="LEVEL">Undead Blood</font>.<br>
And Herphah said that if an adventurer comes, to tell them that they have to <font color="LEVEL">reach level 95</font>.<br>
Once you are done, go back to Herphah. The Altar of Evil is right here, so I won't be teleporting you.<br>
</body></html> </body></html>

View File

@@ -1,4 +1,5 @@
<html><body>Tarti:<br> <html><body>Herphah:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> So it was you? The one that trained in the Ertheia training method with Tarti in Gludio.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34362-02.html">"Sure, no problem!"</button> It sounds interesting, but I can't have you waste time when you came all the way here. Now is the time to test that power and obtain a new power as well.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34362-02.html">"Go on."</Button>
</body></html> </body></html>

View File

@@ -1,4 +1,5 @@
<html><body>Tarti:<br> <html><body>Herphah:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> I have the perfect mission for you, and I'm sure it will help you.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34362-03.html">"Sure, no problem!"</button> But just completing the mission is not enough. You have to come back much stronger than now.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34362-03.html">"Alright."</Button>
</body></html> </body></html>

View File

@@ -1,4 +1,5 @@
<html><body>Tarti:<br> <html><body>Herphah:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> Then go to the <font color="LEVEL">Altar of Evil</font>, and complete the mission from <font color="LEVEL">Trader Vollodos</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect teleport_d">"Sure, no problem!"</button> And if the mission gets too long, don't forget to get some <font color="LEVEL">buffs</font> from the <font color="LEVEL">Adventurer Helper</font>. I'll send you there once you are ready.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect altarofevil">"Teleport"</Button>
</body></html> </body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Tarti:<br> <html><body>Herphah:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue? It looks like you've grown much stronger. Did you also complete the mission?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34362-05.html">"Sure, no problem!"</button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34362-05.html">"Yes."</Button>
</body></html> </body></html>

View File

@@ -1,3 +1,4 @@
<html><body>Tarti:<br> <html><body>Herphah:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> The fact that you grew this strong means that you used the new power well. And that also means that you are ready to acquire a new power. Give me the items you brought back, and let's move on to the next mission.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34362-06.html">"Hand over the Undead Blood."</Button>
</body></html> </body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Tarti:<br> <html><body>Herphah:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> Your next mission will be taken care of by <font color="LEVEL">Dual Class Master Joachim</font>, next to me. Talk to him.<br>
</body></html> </body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Herphah:<br>
Are you ready? Once you get to the <font color="LEVEL">Altar of Evil</font>, complete the mission from <font color="LEVEL">Trader Vollodos</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect altarofevil">"Teleport"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Taiti:<br>
So how is the Ertheia training method coming along? Isn't it amazing? Since you grew this much.<br>
But you can't just settle for this. You have to continue advancing.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34505-01.htm">"Go on."</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Taiti:<br>
It's true that you've grown, but you are just getting started. Any adventurer could reach the level you've reached.<br>
So now it's time to go on to the next level.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34505-02.htm">"What do I need to do?"</Button>
</body></html>

View File

@@ -1,4 +0,0 @@
<html><body>Tarti:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34505-02.html">"Sure, no problem!"</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Taiti:<br>
It's time to leave this place full of beginners. Once you go there, you'll find some very skilled adventurers.<br>
It's time for you to do new missions in new places. Once you finish those missions, you'll obtain a new power.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34505-03.htm">"Alright."</Button>
</body></html>

View File

@@ -1,4 +0,0 @@
<html><body>Tarti:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34505-03.html">"Sure, no problem!"</button>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Tarti:<br>
Now, go to the <font color="LEVEL">Town of Aden</font>.<br>
By the way, it's your first time outside the Town of Gludio, right? Then you'll have to take a look at the <font color="LEVEL">map</font>.<br>
You can find out a lot of things through the map. Your current location, the place where you need to go, and recommendations as well. Use it well, and you will never get lost.<br>
Anyway, go to the Town of Aden and talk to <font color="LEVEL">Herphah</font>. Ill be there too, so Ill see you there.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect townofaden">"Teleport"</Button>
</body></html>

View File

@@ -1,4 +0,0 @@
<html><body>Tarti:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34505-04.html">"Sure, no problem!"</button>
</body></html>

View File

@@ -1,4 +1,5 @@
<html><body>Tarti:<br> <html><body>Tarti:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> You have to go to <font color="LEVEL">Town of Aden</font> for the mission.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect teleport">"Sure, no problem!"</button> Once there talk to <font color="LEVEL">Herphah</font>. I'll be there too, so I'll see you there.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect townofaden">"Teleport"</Button>
</body></html> </body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Tarti:<br> <html><body>Dual Class Master Joachim:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br> You've grown strong. Your power and the new power have been balanced well. You can become even stronger, depending on how you do.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34513-02.html">"Sure, no problem!"</button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34513-02.html">"Go on."</Button>
</body></html> </body></html>

View File

@@ -1,3 +1,5 @@
<html><body>Tarti:<br> <html><body>Dual Class Master Joachim:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue? But since you've worked so hard until now, how about we talk a little as you rest?<br>
And I can reward you for your growth as well.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10589_WhereFatesIntersect 34513-03.html">"Thanks"</Button>
</body></html> </body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Tarti:<br> <html><body>Dual Class Master Joachim:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue? Let's talk once you've rested some. You can't rest forever, after all.
</body></html> </body></html>

View File

@@ -16,28 +16,31 @@
*/ */
package quests.Q10589_WhereFatesIntersect; package quests.Q10589_WhereFatesIntersect;
import org.l2jmobius.Config; import java.util.HashSet;
import org.l2jmobius.gameserver.enums.QuestSound; import java.util.Set;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State; import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.ExTutorialShowId; import org.l2jmobius.gameserver.network.serverpackets.ExTutorialShowId;
import org.l2jmobius.gameserver.util.Util;
/** /**
* Where Fates Intersect (10589) * Where Fates Intersect (10589)
* @URL https://l2wiki.com/Where_Fates_Intersect * @URL https://l2wiki.com/Where_Fates_Intersect
* @author Dmitri * @author NightBR
*/ */
public class Q10589_WhereFatesIntersect extends Quest public class Q10589_WhereFatesIntersect extends Quest
{ {
// NPCs // NPCs
private static final int TARTI = 34505; private static final int TARTI = 34505;
private static final int HERPA = 34362; private static final int HERPHAH = 34362;
private static final int WALLODOS = 30137; private static final int VOLLODOS = 30137;
private static final int JOACHIM = 34513; private static final int JOACHIM = 34513;
private static final int[] MONSTERS = private static final int[] MONSTERS =
{ {
@@ -47,33 +50,38 @@ public class Q10589_WhereFatesIntersect extends Quest
24455, // Doom Seer 24455, // Doom Seer
}; };
// Item // Item
private static final int MONSTER_DROP = 80853; // Traces of Evil Spirit private static final int MONSTER_DROP = 80853; // Undead Blood
// Rewards
private static final long EXP = 1;
private static final int SP = 1;
private static final int ADENA_AMOUNT = 5050;
private static final int ACHIEVEMENT_BOX = 80908;
// Misc // Misc
private static final int MIN_LEVEL = 95; private static final int REQUIRED_DROP_COUNT = 200;
private static final int KILLING_NPCSTRING_ID1 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_IN_PROGRESS.getId();
private static final int KILLING_NPCSTRING_ID2 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_2.getId();
private static final int REACH_LV_95 = NpcStringId.REACH_LV_95.getId();
private static final QuestType QUEST_TYPE = QuestType.ONE_TIME; // REPEATABLE, ONE_TIME, DAILY
private static final boolean PARTY_QUEST = true;
private static final int KILLING_COND = 3;
private static final int FINISH_COND = 4;
private static final int MIN_LEVEL = 85;
// Rewards
private static final int REWARD_ITEM1 = 80908; // Lv. 95 Achievement Reward Box
private static final int REWARD_ITEM1_AMOUNT = 1;
// Location // Location
private static final Location ALTAR_OF_EVIL = new Location(-13982, 22124, -3611); private static final Location TOWN_OF_ADEN = new Location(146568, 26808, -2208);
private static final Location TOWN_OF_ADEN = new Location(146632, 26760, -2213); private static final Location ALTAR_OF_EVIL = new Location(-14088, 22168, -3626);
public Q10589_WhereFatesIntersect() public Q10589_WhereFatesIntersect()
{ {
super(10589); super(10589);
addStartNpc(TARTI); addStartNpc(TARTI);
addTalkId(TARTI, HERPA, WALLODOS, JOACHIM); addTalkId(TARTI, HERPHAH, VOLLODOS, JOACHIM);
addKillId(MONSTERS); addKillId(MONSTERS);
registerQuestItems(MONSTER_DROP); registerQuestItems(MONSTER_DROP);
addCondMinLevel(85, "34505-06.html"); addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
} }
@Override @Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
final QuestState qs = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (qs == null) if (qs == null)
{ {
return null; return null;
@@ -82,60 +90,69 @@ public class Q10589_WhereFatesIntersect extends Quest
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "34505-01.htm": // TARTI
case "34505-02.htm":
case "34505-04.html": case "34505-04.html":
case "34505-02.html": case "34362-02.html": // HERPHAH
case "30137-03.html":
case "30137-02.html":
case "34362-03.html":
case "34362-05.html": case "34362-05.html":
case "30137-02.html": // VOLLODOS
case "34513-02.html": // JOACHIM
{ {
htmltext = event; htmltext = event;
break; break;
} }
case "34505-03.html": case "34505-03.htm":
{ {
// Show Service/Help/View Map page
player.sendPacket(new ExTutorialShowId(12));
qs.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "teleport": case "34362-03.html":
{
if (qs.isCond(1))
{
player.teleToLocation(TOWN_OF_ADEN);
}
break;
}
case "34362-02.html":
{ {
// Show Service/Help/Adventure's Guide page
player.sendPacket(new ExTutorialShowId(25));
qs.setCond(2, true); qs.setCond(2, true);
player.sendPacket(new ExTutorialShowId(37)); // Adventurers Guide
htmltext = event; htmltext = event;
break; break;
} }
case "teleport_d": case "34362-06.html":
{ {
if (qs.isCond(2)) if (qs.isCond(4))
{ {
player.teleToLocation(ALTAR_OF_EVIL); // Check player level it must be 95+
qs.setCond(5, true);
htmltext = event;
} }
break; break;
} }
case "34513-02.html": case "30137-03.html":
{
qs.setCond(3, true);
htmltext = event;
break;
}
case "34513-03.html":
{ {
if (qs.isCond(5)) if (qs.isCond(5))
{ {
if (player.getLevel() >= MIN_LEVEL) takeItems(player, MONSTER_DROP, -1);
{ // Reward.
// Reward. rewardItems(player, REWARD_ITEM1, REWARD_ITEM1_AMOUNT);
addExpAndSp(player, EXP, SP); qs.exitQuest(QUEST_TYPE, true);
giveAdena(player, ADENA_AMOUNT, false);
giveItems(player, ACHIEVEMENT_BOX, 1);
qs.exitQuest(false, true);
htmltext = event;
}
break;
} }
break;
}
case "townofaden":
{
player.teleToLocation(TOWN_OF_ADEN); // Town of Aden near Npc Herphah
break;
}
case "altarofevil":
{
player.teleToLocation(ALTAR_OF_EVIL); // Altar of Evil near Npc Vollodos
break;
} }
} }
return htmltext; return htmltext;
@@ -151,10 +168,7 @@ public class Q10589_WhereFatesIntersect extends Quest
{ {
case State.CREATED: case State.CREATED:
{ {
if (npc.getId() == TARTI) htmltext = "34505-00.htm";
{
htmltext = "34505-01.html";
}
break; break;
} }
case State.STARTED: case State.STARTED:
@@ -165,15 +179,11 @@ public class Q10589_WhereFatesIntersect extends Quest
{ {
if (qs.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "34505-03.html"; htmltext = "34505-04.html";
}
else if (qs.isCond(5))
{
htmltext = "34505-05.html";
} }
break; break;
} }
case HERPA: case HERPHAH:
{ {
if (qs.isCond(1)) if (qs.isCond(1))
{ {
@@ -181,11 +191,10 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
else if (qs.isCond(2)) else if (qs.isCond(2))
{ {
htmltext = "34362-03.html"; htmltext = "34362-07.html";
} }
else if (qs.isCond(4)) else if (qs.isCond(4))
{ {
qs.setCond(5, true);
htmltext = "34362-04.html"; htmltext = "34362-04.html";
} }
else if (qs.isCond(5)) else if (qs.isCond(5))
@@ -194,49 +203,40 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
break; break;
} }
case WALLODOS: case VOLLODOS:
{ {
if (qs.isCond(2)) if (qs.isCond(2))
{ {
qs.setCond(3, true);
htmltext = "30137-01.html"; htmltext = "30137-01.html";
} }
else if (qs.isCond(3)) else if (qs.isCond(3))
{ {
htmltext = "30137-04.html"; htmltext = "30137-04.html";
} }
else if (qs.isCond(4))
{
htmltext = "30137-05.html";
}
break; break;
} }
case JOACHIM: case JOACHIM:
{ {
if (qs.isCond(2)) if (qs.isCond(5))
{
htmltext = "34513-03.html";
}
else if (qs.isCond(3))
{
htmltext = "34513-04.html";
}
else if (qs.isCond(4))
{
htmltext = "34513-05.html";
}
else if (qs.isCond(5))
{ {
htmltext = "34513-01.html"; htmltext = "34513-01.html";
break;
} }
break;
} }
} }
break; break;
} }
case State.COMPLETED: case State.COMPLETED:
{ {
htmltext = getAlreadyCompletedMsg(player); if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "34505-00.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QUEST_TYPE);
}
break; break;
} }
} }
@@ -244,27 +244,41 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
@Override @Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon) public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{ {
final QuestState qs = getQuestState(player, false); QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if ((qs != null) && qs.isCond(3) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false)) if ((qs != null) && qs.isCond(KILLING_COND))
{ {
if ((getQuestItemsCount(player, MONSTER_DROP) < 200) && (getRandom(100) < 90)) final PlayerInstance player = qs.getPlayer();
giveItemRandomly(player, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true);
if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95))
{ {
giveItems(player, MONSTER_DROP, 1); qs.setCond(FINISH_COND, true);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if ((getQuestItemsCount(player, MONSTER_DROP) >= 200) && (player.getLevel() >= MIN_LEVEL))
{
qs.setCond(4, true);
} }
sendNpcLogList(player);
} }
return super.onKill(npc, killer, isSummon);
} }
@Override @Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon) public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{ {
executeForEachPlayer(killer, npc, isSummon, true, false); final QuestState qs = getQuestState(player, false);
return super.onKill(npc, killer, isSummon);
if ((qs != null) && qs.isCond(KILLING_COND))
{
final Set<NpcLogListHolder> holder = new HashSet<>();
if (player.getLevel() >= 95)
{
holder.add(new NpcLogListHolder(REACH_LV_95, true, 1));
}
holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID1, true, (int) getQuestItemsCount(player, MONSTER_DROP)));
holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID2, true, (int) getQuestItemsCount(player, MONSTER_DROP)));
return holder;
}
return super.getNpcLogList(player);
} }
} }

View File

@@ -110,9 +110,9 @@
<npc id="30703" x="147796" y="25622" z="-2008" heading="12414" respawnTime="60sec" /> <!-- Colin --> <npc id="30703" x="147796" y="25622" z="-2008" heading="12414" respawnTime="60sec" /> <!-- Colin -->
<npc id="30744" x="147840" y="25591" z="-2008" heading="14023" respawnTime="60sec" /> <!-- Grey --> <npc id="30744" x="147840" y="25591" z="-2008" heading="14023" respawnTime="60sec" /> <!-- Grey -->
<npc id="33946" x="147108" y="25670" z="-2014" heading="14661" respawnTime="60sec" /> <!-- Adventure Guildsman --> <npc id="33946" x="147108" y="25670" z="-2014" heading="14661" respawnTime="60sec" /> <!-- Adventure Guildsman -->
<npc id="34413" x="146488" y="26728" z="-2209" heading="2264" respawnTime="60sec" /> <!-- Penny -->
<npc id="34362" x="146472" y="26808" z="-2209" heading="62980" respawnTime="60sec" /> <!-- Herphah --> <npc id="34362" x="146472" y="26808" z="-2209" heading="62980" respawnTime="60sec" /> <!-- Herphah -->
<npc id="34360" x="146856" y="26696" z="-2209" heading="14831" respawnTime="60sec" /> <!-- Tarti --> <npc id="34360" x="146856" y="26696" z="-2209" heading="14831" respawnTime="60sec" /> <!-- Tarti -->
<npc id="34513" x="146471" y="26730" z="-2205" respawnTime="60sec" /> <!-- Joachim -->
</group> </group>
</spawn> </spawn>
</list> </list>