Updated quest 10824.

Contributed by Dmitri.
This commit is contained in:
MobiusDevelopment 2019-12-01 10:19:26 +00:00
parent a007531506
commit 0e744d4f5b
8 changed files with 166 additions and 12 deletions

View File

@ -1,5 +1,7 @@
<html><body>Merlot:<br>
I would like you to go into the other dimension and participate in the <font color="LEVEL">Dimensional Raid</font> to defeat those monsters. I'm sure someone who can protect the world like that will go on to do greater things and acquire greater powers.<br>
When you defeat monsters in the other dimension, you'll get a <font color="LEVEL">Mark of Advance</font>. Get <font color="LEVEL">3</font> of these and bring them back to me. You need to keep in mind that each time you participate in the <font color="LEVEL">Dimensional Raid</font> you will only get <font color="LEVEL">1 Mark of Advance</font>. <br> <br> <br>
Also, remember that I can only open the gate on certain days. I can send you there on <font color="LEVEL">Saturdays when there are no Dimensional Castle Sieges, between 19:00~22:00</font>. Just come find me during those times.
Also, remember that I can only open the gate on certain days. I can send you there on <font color="LEVEL">Saturdays when there are no Dimensional Castle Sieges, between 19:00~22:00</font>. Just come find me during those times.<br><br>
Or Defeat any monsters in <font color="LEVEL">Enchanted Valley</font> and <font color="LEVEL">Atelia Refinery</font>, you need to get Proof of Preparation Proof of Preparation — 20000 pcs.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10824_ConfrontingTheGreatestDanger 34018-11.htm">"kill item 20,000 monsters !?."</Button>
</body></html>

View File

@ -1,4 +1,6 @@
<html><body>Merlot:<br>
Please participate in the <font color="LEVEL">Dimensional Raid</font> to prevent those monsters from influencing this place, and collect <font color="LEVEL">3 Marks of Advance</font>. You can only get 1 Mark each time you participate in the Dimensional Raid, so you must participate 3 times in order to pass my test.<br>
You may teleport to another dimension <font color="LEVEL">only on Saturdays when there are no Dimensional Sieges between 19:00-22:00</font>. Don't forget this last part.
Or Defeat any monsters in <font color="LEVEL">Enchanted Valley</font> and <font color="LEVEL">Atelia Refinery</font>, you need to get Proof of Preparation Proof of Preparation — 20000 pcs.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10824_ConfrontingTheGreatestDanger 34018-11.htm">"kill item 20,000 monsters !?."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Merlot:<br>
You need to get Proof of Preparation - 20000 pcs. from monsters - <font color="LEVEL">Devil Warrior, Devil Nightmare, Devil Varos, Devil Sinist, Devil Guardian, Death Rogue, Death Shooter, Death Warrior, Death Sorcerer, Death Pondus, Demonic Warrior, Demonic Wizard, Demonic Weiss, Demonic Keras, Demonic Archer</font> in <font color="LEVEL">Atelia Refinery</font> or <font color="LEVEL">Nymph Astra, Nymph Lily, Nymph rose, Nymph Tulip, Afros, Nymph Sentinel</font> in <font color="LEVEL">Enchanted Valley</font>.<br>
How to get Proof of Preparation - 20,000 pcs. from monsters, come to me and get a reward.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Merlot:<br>
You've compelted it! Great!<br>
We won't need to worry about the monsters from the other dimension.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10824_ConfrontingTheGreatestDanger 34018-13.html">"No doubt about it."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Merlot:<br>
Thank you. I'll give you a certificate now.<br>
You have successfully obtained Proof of Preparation - 20,000 pcs. from monsters.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Merlot:<br>
Thank you. I'll give you a certificate now.<br>
It looks like you've completed all the other tests as well! You can go see Lionel now.
</body></html>

View File

@ -16,11 +16,16 @@
*/
package quests.Q10824_ConfrontingTheGreatestDanger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.util.Util;
import quests.Q10823_ExaltedOneWhoShattersTheLimit.Q10823_ExaltedOneWhoShattersTheLimit;
@ -38,6 +43,45 @@ public class Q10824_ConfrontingTheGreatestDanger extends Quest
private static final int KURTIZ_CERTIFICATE = 46057;
private static final int MAMMON_CERTIFICATE = 45635;
private static final int GUSTAV_CERTIFICATE = 45636;
private static final int PROOF_OF_PREPARATION = 80824;
private static final ItemHolder LIONEL_HUNTERS_LIST_PART_3 = new ItemHolder(45637, 1);
// Boss
private static final int[] BOSS =
{
25745, // test
25747 // test
};
// Mobs
private static final int[] MONSTERS =
{
// Atelia Refinery
24150, // Devil Warrior
24149, // Devil Nightmare
24153, // Devil Varos
24152, // Devil Sinist
24151, // Devil Guardian
24144, // Death Rogue
24145, // Death Shooter
24146, // Death Warrior
24147, // Death Sorcerer
24148, // Death Pondus
24155, // Demonic Warrior
24154, // Demonic Wizard
24158, // Demonic Weiss
24157, // Demonic Keras
24156, // Demonic Archer
// Raider's Crossroads Mobs
23572, // Nymph Astra
23573, // Nymph Astra
23568, // Nymph Lily
23569, // Nymph Lily
23566, // Nymph rose
23567, // Nymph rose
23570, // Nymph Tulip
23571, // Nymph Tulip
23581, // Afros
23578 // Nymph Sentinel
};
// Rewards
private static final int MERLOT_SERTIFICATE = 46056;
private static final int SPELLBOOK_BLESSING_OF_THE_EXALTED = 45926;
@ -49,9 +93,10 @@ public class Q10824_ConfrontingTheGreatestDanger extends Quest
super(10824);
addStartNpc(MERLOT);
addTalkId(MERLOT);
addKillId(MONSTERS);
addCondMinLevel(MIN_LEVEL, "34018-02.html");
addCondStartedQuest(Q10823_ExaltedOneWhoShattersTheLimit.class.getSimpleName(), "34018-03.html");
registerQuestItems(MARK_OF_ADVANCE);
registerQuestItems(MARK_OF_ADVANCE, PROOF_OF_PREPARATION);
}
@Override
@ -63,11 +108,11 @@ public class Q10824_ConfrontingTheGreatestDanger extends Quest
{
return htmltext;
}
switch (event)
{
case "34018-04.htm":
case "34018-05.htm":
case "34018-07.html":
{
htmltext = event;
break;
@ -78,9 +123,18 @@ public class Q10824_ConfrontingTheGreatestDanger extends Quest
htmltext = event;
break;
}
case "34018-11.htm":
{
if (qs.isCond(1))
{
qs.setCond(3, true);
}
htmltext = event;
break;
}
case "34018-09.html":
{
if (qs.isCond(1) && (getQuestItemsCount(player, MARK_OF_ADVANCE) >= 3))
if (qs.isCond(2))
{
if ((player.getLevel() >= MIN_LEVEL))
{
@ -92,7 +146,33 @@ public class Q10824_ConfrontingTheGreatestDanger extends Quest
{
htmltext = event;
}
takeItems(player, MARK_OF_ADVANCE, 3);
takeItems(player, MARK_OF_ADVANCE, -3);
giveItems(player, MERLOT_SERTIFICATE, 1);
giveItems(player, SPELLBOOK_BLESSING_OF_THE_EXALTED, 1);
qs.exitQuest(false, true);
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
case "34018-13.html":
{
if (qs.isCond(4))
{
if ((player.getLevel() >= MIN_LEVEL))
{
if (hasQuestItems(player, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE))
{
htmltext = "34018-14.html";
}
else
{
htmltext = event;
}
takeItems(player, PROOF_OF_PREPARATION, -20000);
giveItems(player, MERLOT_SERTIFICATE, 1);
giveItems(player, SPELLBOOK_BLESSING_OF_THE_EXALTED, 1);
qs.exitQuest(false, true);
@ -118,20 +198,38 @@ public class Q10824_ConfrontingTheGreatestDanger extends Quest
{
case State.CREATED:
{
htmltext = "34018-01.htm";
if (hasItem(player, LIONEL_HUNTERS_LIST_PART_3))
{
htmltext = "34018-01.htm";
}
else
{
htmltext = "noItem.html";
}
break;
}
case State.STARTED:
{
if (getQuestItemsCount(player, MARK_OF_ADVANCE) >= 3)
{
htmltext = "34018-08.html";
}
else
if (qs.isCond(1))
{
htmltext = "34018-07.html";
break;
}
else if (qs.isCond(2))
{
htmltext = "34018-08.html";
break;
}
else if (qs.isCond(3))
{
htmltext = "34018-11.htm";
break;
}
else if (qs.isCond(4))
{
htmltext = "34018-12.html";
break;
}
break;
}
case State.COMPLETED:
{
@ -141,6 +239,37 @@ public class Q10824_ConfrontingTheGreatestDanger extends Quest
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(3) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE) && CommonUtil.contains(MONSTERS, npc.getId()))
{
giveItems(player, PROOF_OF_PREPARATION, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (getQuestItemsCount(player, PROOF_OF_PREPARATION) >= 20000)
{
qs.setCond(4, true);
}
}
else if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE) && CommonUtil.contains(BOSS, npc.getId()))
{
giveItems(player, MARK_OF_ADVANCE, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (getQuestItemsCount(player, MARK_OF_ADVANCE) >= 3)
{
qs.setCond(2, true);
}
}
}
// TODO: Dimensional Raid - https://l2wiki.com/Dimensional_Raid
}

View File

@ -0,0 +1,4 @@
<html><body>Merlot:<br>
I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
(You don't meet the requirements for proceed with this quest. You need Lionel Hunter's Mission List - Part 3 in your inventory.)
</body></html>