Quest Weakening the Varka Silenos Forces (764).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2016-07-28 22:08:19 +00:00
parent b14d0e74d2
commit 73261d5c46
17 changed files with 316 additions and 1 deletions

View File

@ -38,7 +38,6 @@
753 Reacting to a Crisis
758 The Fallen King's Men
759 The Dwarven Nightmare Continues
764 Weakening the Varka Silenos Forces
765 Weakening the Ketra Orc Forces
767 Banishing Evil
768 Terror of Town

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Hansen:<br>
I don't think you are strong enough to take on this task. <br>
(This quest may only be undertaken by a Fighter class character who is level 76 or above.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Hansen:<br>
Now that we know the <font color="LEVEL">Varka Silenoses</font> are working with <font color="LEVEL">Embryo</font>, we must take action. If we can't end them right now, we should weaken their military power gradually.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00764_WeakeningTheVarkaSilenosForces 33853-02.htm">"I agree."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Hansen:<br>
Infiltrate <font color="LEVEL">Varka Silenos Barracks</font> and kill Varka Silenoses. As proof, bring <font color="LEVEL">Varka's Badges: Soldier</font>.
<br>Oh! And there is another thing I want you to get for me if you can.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00764_WeakeningTheVarkaSilenosForces 33853-03.htm">Continue to listen</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Hansen:<br>
Bring me <font color="LEVEL">Varka's Badges: General</font> as well. As with Varka's Badges: Soldier, you can get them from the Varka Silenos.<br>
Over time, you will go from <font color="LEVEL">collecting all Varka's Badges: Soldier</font> to finding Varka's Badges: General.<br>That is all. Understood? <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00764_WeakeningTheVarkaSilenosForces 33853-04.htm">"As you say."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Hansen:<br>
Long story short, kill all Varka Silenoses you see at <font color="LEVEL">Varka Silenos Barracks</font> and bring <font color="LEVEL">50</font> <font color="LEVEL">Varka's Badges: Soldier</font>. If you bring <font color="LEVEL">Varka's Badges: General</font>, I will give you an additional reward according to the quantity you bring.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Hansen:<br>
Long story short, kill all Varka Silenoses you see at <font color="LEVEL">Varka Silenos Barracks</font> and bring <font color="LEVEL">50</font> <font color="LEVEL">Varka's Badges: Soldier</font>. If you bring <font color="LEVEL">Varka's Badges: General</font>, I will give you an additional reward according to the quantity you bring.
</body></html>

View File

@ -0,0 +1,3 @@
<html><head><body>Giant's Minion Hansen:<br>
Go get some rest. I will see you tomorrow. We will have to keep pressuring those Varka Silenoses for a while.
</body></html>

View File

@ -0,0 +1,3 @@
<html><head><body>Giant's Minion Hansen:<br>
Go get some rest. I will see you tomorrow. We will have to keep pressuring those Varka Silenoses for a while.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Hansen:<br>
You are ertheia. this quest no for you
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Giant's Minion Hansen:<br>
Great! You've collected the Varka's Badges: Soldier! However, you haven't collected enough Varka's Badges: General even for the minimum reward.<br>
What say you? Do you want to receive what reward you can and call it a day? Or will you collect some more Varka's Badges: General?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00764_WeakeningTheVarkaSilenosForces 33853-09.html">"I'm pooped, thanks."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00764_WeakeningTheVarkaSilenosForces 33853-10.html">"Wait a sec. I'll be back with some more Varka's Badges: General."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Hansen:<br>
Of course! Let me give you the reward. I hope it will be useful for you.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00764_WeakeningTheVarkaSilenosForces 33853-09a.html">"That sounds great."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00764_WeakeningTheVarkaSilenosForces 33853-10.html">"I'd like to collect some more Varka's Badges: General."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Hansen:<br>
Great! You've collected the Varka's Badges: Soldier and Varka's Badges: General. They won't recover anytime soon.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00764_WeakeningTheVarkaSilenosForces 33853-06a.html">"Fine. Where's my reward?"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Hansen:<br>
Long story short, kill all Varka Silenoses you see at <font color="LEVEL">Varka Silenos Barracks</font> and bring <font color="LEVEL">Varka's Badges: General</font>, I will give you an additional reward according to the quantity you bring.
</body></html>

View File

@ -0,0 +1,254 @@
/*
* 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.Q00764_WeakeningTheVarkaSilenosForces;
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.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* Weakening the Varka Silenos Forces (764)
* @URL https://l2wiki.com/Weakening_the_Varka_Silenos_Forces
* @author Gigi
*/
public class Q00764_WeakeningTheVarkaSilenosForces extends Quest
{
// NPC
private static final int HANSEN = 33853;
// Monsters
private static final int[] MONSTERS =
{
21350, // Varka Silenos Recruit
21353, // Varka Silenos Scout
21354, // Varka Silenos Hunter
21355, // Varka Silenos Shaman
21357, // Varka Silenos Priest
21358, // Varka Silenos Warrior
21360, // Varka Silenos Medium
21362, // Varka Silenos Officer
21364, // Varka Silenos Seer
21365, // Varka Silenos Great Magus
21366, // Varka Silenos General
21368, // Varka Silenos Great Seer
21369, // Varka's Commander
21371, // Varka's Head Magus
21373 // Varka's Prophet
};
// Items
private static final int BADGE_SOLDIER = 36674;
private static final int BADGE_GENERAL = 36675;
// Rewards
private static final int STEEL_DOOR_GUILD_BOX = 37393;
// Misc
private static final int MIN_LEVEL = 76;
private static final int MAX_LEVEL = 80;
public Q00764_WeakeningTheVarkaSilenosForces()
{
super(764);
addStartNpc(HANSEN);
addTalkId(HANSEN);
addKillId(MONSTERS);
registerQuestItems(BADGE_SOLDIER, BADGE_GENERAL);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33853-00.htm");
addCondNotRace(Race.ERTHEIA, "33853-07.html");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "33853-02.htm":
case "33853-03.htm":
case "33853-09.html":
case "33853-09a.html":
case "33853-10.html":
{
htmltext = event;
break;
}
case "33853-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33853-06a.html":
{
if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && (getQuestItemsCount(player, BADGE_GENERAL) < 100))
{
addExpAndSp(player, 19164600, 191646);
giveItems(player, STEEL_DOOR_GUILD_BOX, 1);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && ((getQuestItemsCount(player, BADGE_GENERAL) >= 100) && (getQuestItemsCount(player, BADGE_GENERAL) <= 199)))
{
addExpAndSp(player, 38329200, 383292);
giveItems(player, STEEL_DOOR_GUILD_BOX, 2);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && ((getQuestItemsCount(player, BADGE_GENERAL) >= 200) && (getQuestItemsCount(player, BADGE_GENERAL) <= 299)))
{
addExpAndSp(player, 57493800, 574938);
giveItems(player, STEEL_DOOR_GUILD_BOX, 3);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && ((getQuestItemsCount(player, BADGE_GENERAL) >= 300) && (getQuestItemsCount(player, BADGE_GENERAL) <= 399)))
{
addExpAndSp(player, 76658400, 766584);
giveItems(player, STEEL_DOOR_GUILD_BOX, 4);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && ((getQuestItemsCount(player, BADGE_GENERAL) >= 400) && (getQuestItemsCount(player, BADGE_GENERAL) <= 499)))
{
addExpAndSp(player, 95823000, 958230);
giveItems(player, STEEL_DOOR_GUILD_BOX, 5);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && ((getQuestItemsCount(player, BADGE_GENERAL) >= 500) && (getQuestItemsCount(player, BADGE_GENERAL) <= 599)))
{
addExpAndSp(player, 114987600, 1149876);
giveItems(player, STEEL_DOOR_GUILD_BOX, 6);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && ((getQuestItemsCount(player, BADGE_GENERAL) >= 600) && (getQuestItemsCount(player, BADGE_GENERAL) <= 699)))
{
addExpAndSp(player, 134152200, 1341522);
giveItems(player, STEEL_DOOR_GUILD_BOX, 7);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && ((getQuestItemsCount(player, BADGE_GENERAL) >= 700) && (getQuestItemsCount(player, BADGE_GENERAL) <= 799)))
{
addExpAndSp(player, 153316800, 1533168);
giveItems(player, STEEL_DOOR_GUILD_BOX, 8);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && ((getQuestItemsCount(player, BADGE_GENERAL) >= 800) && (getQuestItemsCount(player, BADGE_GENERAL) <= 899)))
{
addExpAndSp(player, 172481400, 1724814);
giveItems(player, STEEL_DOOR_GUILD_BOX, 9);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
else if ((getQuestItemsCount(player, BADGE_SOLDIER) >= 50) && (getQuestItemsCount(player, BADGE_GENERAL) >= 900))
{
addExpAndSp(player, 191646000, 1916460);
giveItems(player, STEEL_DOOR_GUILD_BOX, 10);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if ((npc.getId() == HANSEN) && player.isMageClass())
{
return "33853-00.htm";
}
if (npc.getId() == HANSEN)
{
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = "33853-06.html";
break;
}
qs.setState(State.CREATED);
break;
}
case State.CREATED:
{
htmltext = "33853-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33853-05.html";
}
else if (qs.isStarted() && qs.isCond(2))
{
htmltext = "33853-08.html";
}
break;
}
}
}
else if (qs.isCompleted() && !qs.isNowAvailable())
{
htmltext = "33853-06.html";
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1) && (giveItemRandomly(killer, npc, BADGE_SOLDIER, 1, 50, 0.15, true)))
{
qs.setCond(2, true);
}
if ((qs != null) && qs.isCond(2) && (giveItemRandomly(killer, npc, BADGE_GENERAL, 1, 900, 0.85, true)))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -171,6 +171,7 @@ import quests.Q00760_BlockTheExit.Q00760_BlockTheExit;
import quests.Q00761_AssistingTheGoldenRamArmy.Q00761_AssistingTheGoldenRamArmy;
import quests.Q00762_AnOminousRequest.Q00762_AnOminousRequest;
import quests.Q00763_ADauntingTask.Q00763_ADauntingTask;
import quests.Q00764_WeakeningTheVarkaSilenosForces.Q00764_WeakeningTheVarkaSilenosForces;
import quests.Q00784_TheQuietKiller.Q00784_TheQuietKiller;
import quests.Q00786_AwaitingTheVoiceOfTheGods.Q00786_AwaitingTheVoiceOfTheGods;
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
@ -517,6 +518,7 @@ public class QuestMasterHandler
Q00761_AssistingTheGoldenRamArmy.class,
Q00762_AnOminousRequest.class,
Q00763_ADauntingTask.class,
Q00764_WeakeningTheVarkaSilenosForces.class,
Q00784_TheQuietKiller.class,
Q00786_AwaitingTheVoiceOfTheGods.class,
Q00901_HowLavasaurusesAreMade.class,

View File

@ -1581,7 +1581,16 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="default_action" val="PEEL" />
<set name="immediate_effect" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ExtractableItems" />
<capsuled_items>
<item id="36557" min="1" max="1" chance="50" /> <!-- Accessory Gem -->
<item id="36552" min="1" max="1" chance="50" /> <!-- Armor Fragment -->
<item id="36562" min="1" max="1" chance="50" /> <!-- Greater Cokes -->
<item id="36547" min="1" max="1" chance="30" /> <!-- Weapon Fragment -->
</capsuled_items>
</item>
<item id="37394" name="Steel Door Guild Reward Box (Top-grade)" type="EtcItem">
<!-- Top-grade reward box prepared by the Steel Door Guild for true adventurers of Aden. Double-click to receive an item. -->