Quest Chasing Varangka (10432).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2016-09-13 18:24:20 +00:00
parent 7df50b9989
commit b76faf75a9
14 changed files with 222 additions and 1 deletions

View File

@ -87,7 +87,6 @@
10380 The Executioner's Execution 10380 The Executioner's Execution
10388 Conspiracy Behind Doors 10388 Conspiracy Behind Doors
10389 The Voice of Authority 10389 The Voice of Authority
10432 Chasing Varangka
10435 Chasing Keltron 10435 Chasing Keltron
10441 Chasing Meccadan 10441 Chasing Meccadan
10446 Hit and Run 10446 Hit and Run

View File

@ -0,0 +1,4 @@
<html><body>Chairen:<br>
Well! I never! How dare you request a favor? When you offer me nothing in return. Ooh!<br>
(This quest may only be undertaken by characters of level 81 or higher who have completed the quest "The Seal of Punishment: Den of Evil".)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Chairen:<br>
This device should destroy Varangka's force field. But that is all it can do!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka 32655-02.htm">Do you have any other advice?</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Chairen:<br>
I have prepared you all I can. If you are scared, you can go back now.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka 32655-03.htm">"No way."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Chairen:<br>
Such fervor! If you truly intend to go on, I shall give you one last thing. As you help my people, please wear this <font color="LEVEL">Guardian Soul's Pendant</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka 32655-04.htm">"Thank you for your generosity."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Chairen:<br>
Now, go defeat <font color="LEVEL">Dark Shaman Varangka</font>. This pendant will protect you from his tricks and his force field.<br>
That is all I can give you. When you kill him, go back to the one who sent you here. You won't gain anything from coming back to me.</body>
</html>

View File

@ -0,0 +1,4 @@
<html><body>Chairen:<br>
Now, go defeat <font color="LEVEL">Dark Shaman Varangka</font>. This pendant will destroy his tricks and protect you from the force field.<br>
That is all I can give you. When you kill him, go back to the one who sent you here. You won't gain anything from coming back to me.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Chairen:<br>If you want to keep your promise with me you will need this <font color="LEVEL">Guardian Soul's Pendant</font>. Take it.<br>
Now go and defeat <font color="LEVEL">Dark Shaman Varangka</font>.<br>
That is all I can give you. When you kill him, go back to the one who sent you here. You won't gain anything from coming back to me.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Jokel:<br>
Well, you're back, and mostly in one piece. I suppose that means the mission was successful? But that's not the important part. What news do you have for me?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka 33868-02.html">"I defeated Varangka, but got no information on the Seal of Punishment."</Button>
</body></html>

View File

@ -0,0 +1,11 @@
<html><body>Giant's Minion Jokel:<br>
So Varangka turned out to be nothing? Just another one in the crowd of Embryo's pawns, I see.<br>
Well, thank you. I guess that eliminates one possibility out of many.<br>
Oh, of course I will pay you for your troubles. And take a pick from attribute stones you want.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka reward_9546">15 Fire Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka reward_9547">15 Water Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka reward_9548">15 Earth Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka reward_9549">15 Wind Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka reward_9550">15 Dark Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10432_ChasingVarangka reward_9551">15 Holy Stones</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Jokel:<br>
Here, I packed some things on top of what you picked out. I wish you luck. I need to return to Kekropus to report on things.
</body></html>

View File

@ -0,0 +1,170 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.Q10432_ChasingVarangka;
import com.l2jmobius.gameserver.enums.CategoryType;
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.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
import quests.Q10431_TheSealOfPunishmentDenOfEvil.Q10431_TheSealOfPunishmentDenOfEvil;
/**
* Chasing Varangka (10432)
* @URL https://l2wiki.com/Chasing_Varangka
* @author Gigi
*/
public class Q10432_ChasingVarangka extends Quest
{
// NPCs
private static final int CHAIREN = 32655;
private static final int JOKEL = 33868;
private static final int DARK_SHAMAN_VARANGKA = 18808;
// Misc
private static final int MIN_LEVEL = 81;
private static final int MAX_LEVEL = 84;
// Rewards
private static final int EAS = 960;
public Q10432_ChasingVarangka()
{
super(10432);
addStartNpc(CHAIREN);
addTalkId(CHAIREN, JOKEL);
addKillId(DARK_SHAMAN_VARANGKA);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "32655-00.htm");
addCondNotRace(Race.ERTHEIA, "noErtheia.html");
addCondInCategory(CategoryType.FOURTH_CLASS_GROUP, "32655-00.htm");
addCondCompletedQuest(Q10431_TheSealOfPunishmentDenOfEvil.class.getSimpleName(), "32655-00.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "32655-02.htm":
case "32655-03.htm":
case "33868-02.html":
{
htmltext = event;
break;
}
case "32655-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "reward_9546":
case "reward_9547":
case "reward_9548":
case "reward_9549":
case "reward_9550":
case "reward_9551":
{
if (qs.isCond(2))
{
final int stoneId = Integer.parseInt(event.replaceAll("reward_", ""));
giveItems(player, stoneId, 15);
giveItems(player, EAS, 2);
giveStoryQuestReward(player, 30);
addExpAndSp(player, 14120400, 3388);
qs.exitQuest(false, true);
}
htmltext = "33868-03.html";
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs == null)
{
return htmltext;
}
switch (qs.getState())
{
case State.CREATED:
{
if (npc.getId() == CHAIREN)
{
htmltext = "32655-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case CHAIREN:
{
if (qs.isCond(1))
{
htmltext = "32655-05.html";
}
else if (qs.isCond(2))
{
htmltext = "32655-06.html";
}
break;
}
case JOKEL:
{
if (qs.isCond(2))
{
htmltext = "33868-01.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getNoQuestMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Chairen:<br>
How presumptuous. How dare you come expecting something from me?<br>
(Ertheia classes cannot perform this quest.)
</body></html>

View File

@ -295,6 +295,7 @@ import quests.Q10426_AssassinationOfTheKetraOrcCommander.Q10426_AssassinationOfT
import quests.Q10427_AssassinationOfTheKetraOrcChief.Q10427_AssassinationOfTheKetraOrcChief; import quests.Q10427_AssassinationOfTheKetraOrcChief.Q10427_AssassinationOfTheKetraOrcChief;
import quests.Q10430_KekropusLetterTrackingTheEvil.Q10430_KekropusLetterTrackingTheEvil; import quests.Q10430_KekropusLetterTrackingTheEvil.Q10430_KekropusLetterTrackingTheEvil;
import quests.Q10431_TheSealOfPunishmentDenOfEvil.Q10431_TheSealOfPunishmentDenOfEvil; import quests.Q10431_TheSealOfPunishmentDenOfEvil.Q10431_TheSealOfPunishmentDenOfEvil;
import quests.Q10432_ChasingVarangka.Q10432_ChasingVarangka;
import quests.Q10433_KekropusLetterRegardingASeal.Q10433_KekropusLetterRegardingASeal; import quests.Q10433_KekropusLetterRegardingASeal.Q10433_KekropusLetterRegardingASeal;
import quests.Q10434_TheSealOfPunishmentSelMahumTrainingGrounds.Q10434_TheSealOfPunishmentSelMahumTrainingGrounds; import quests.Q10434_TheSealOfPunishmentSelMahumTrainingGrounds.Q10434_TheSealOfPunishmentSelMahumTrainingGrounds;
import quests.Q10436_KekropusLetterTheSealOfPunishment.Q10436_KekropusLetterTheSealOfPunishment; import quests.Q10436_KekropusLetterTheSealOfPunishment.Q10436_KekropusLetterTheSealOfPunishment;
@ -682,6 +683,7 @@ public class QuestMasterHandler
Q10427_AssassinationOfTheKetraOrcChief.class, Q10427_AssassinationOfTheKetraOrcChief.class,
Q10430_KekropusLetterTrackingTheEvil.class, Q10430_KekropusLetterTrackingTheEvil.class,
Q10431_TheSealOfPunishmentDenOfEvil.class, Q10431_TheSealOfPunishmentDenOfEvil.class,
Q10432_ChasingVarangka.class,
Q10433_KekropusLetterRegardingASeal.class, Q10433_KekropusLetterRegardingASeal.class,
Q10434_TheSealOfPunishmentSelMahumTrainingGrounds.class, Q10434_TheSealOfPunishmentSelMahumTrainingGrounds.class,
Q10436_KekropusLetterTheSealOfPunishment.class, Q10436_KekropusLetterTheSealOfPunishment.class,