Quest Weakening the Ketra Orc Forces (765).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2016-07-29 18:51:18 +00:00
parent 78a92b8aef
commit 9be7e71b0e
16 changed files with 309 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
765 Weakening the Ketra Orc Forces
767 Banishing Evil
768 Terror of Town
769 The Truth Concealed in Beauty

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
I admire your valor, but we are looking for someone with certain skills. <br>
(This quest may only be undertaken by a Wizard class character who is level 76 or above.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Now that we know the <font color="LEVEL">Ketra Orcs</font> are working with <font color="LEVEL">Embryo</font>, we can't just sit here and watch. If we can't stop them completely right now, we should at least be able to hamper their military efforts over time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00765_WeakeningTheKetraOrcForces 33852-02.htm">"I agree."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Lugonnes:<br>
Infiltrate the <font color="LEVEL">Ketra Orc Outpost</font> and get rid of the Ketra Orcs. As evidence, bring <font color="LEVEL">Ketra's Badges: Soldier</font>.
<br>Oh! There is yet another thing I want you to get for me... if you can.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00765_WeakeningTheKetraOrcForces 33852-03.htm">"What is it?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Giant's Minion Lugonnes:<br>
I am interested in <font color="LEVEL">Ketra's Badges: General</font> as well. You'll find them on the Ketra Orcs, same as the Ketra's Badges: Soldier.<br>
Over time, you will be able to <font color="LEVEL">collect all the Ketra's Badges: Soldier</font>. After that, you'll have a good idea of how to collect Ketra's Badges: General from the Ketra Orcs.<br>
That's all. Understood?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00765_WeakeningTheKetraOrcForces 33852-04.htm">"As you say."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Lugonnes:<br>
Long story short, kill all the Ketra Orcs you see at the <font color="LEVEL">Ketra Orc Outpost</font> and bring <font color="LEVEL">50</font> <font color="LEVEL">Ketra's Badges: Soldier</font>. If you have any <font color="LEVEL">Ketra's Badges: General</font>, I will give you an additional reward depending on how many you bring in.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Lugonnes:<br>
Let me tell you this again briefly. Kill all the Ketra Orcs you see at the <font color="LEVEL">Ketra Orc Outpost</font> and bring <font color="LEVEL">50</font> <font color="LEVEL">Ketra's Badges: Soldier</font>. If you have any <font color="LEVEL">Ketra's Badges: General</font>, I will give you an additional reward depending on how many you bring in.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Lugonnes:<br>
Call it a day and go get some rest. I will see you tomorrow. Unfortunately, the Ketra Orcs seem to be with us for some time.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Lugonnes:<br>
Call it a day and go get some rest. I will see you tomorrow. Unfortunately, the Ketra Orcs seem to be with us for some time.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Sorry, but I cannot trust you.<br>
(No Ertheia.)
</body></html>

View File

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

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Lugonnes:<br>
Oh, right! Your reward. I hope you will find it useful.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00765_WeakeningTheKetraOrcForces 33852-09a.html">"That sounds great."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00765_WeakeningTheKetraOrcForces 33852-10.html">"I'd like to collect some more Ketra's Badges: General."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Great! You've collected all the Ketra's Badges: Soldier and Ketra's Badges: General. Judging by the damage you inflicted on them, they won't be able to recover quickly.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00765_WeakeningTheKetraOrcForces 33852-06a.html">"And my reward?"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Giant's Minion Lugonnes:<br>
Let me tell you this again briefly. Kill all the Ketra Orcs you see at the <font color="LEVEL">Ketra Orc Outpost</font> and bring <font color="LEVEL">Ketra's Badges: General</font>, I will give you an additional reward depending on how many you bring in.
</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.Q00765_WeakeningTheKetraOrcForces;
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 Ketra Orc Forces (765)
* @URL https://l2wiki.com/Weakening_the_Ketra_Orc_Forces
* @author Gigi
*/
public class Q00765_WeakeningTheKetraOrcForces extends Quest
{
// NPC
private static final int LUGONESS = 33852;
// Monsters
private static final int[] MONSTERS =
{
21324, // Ketra Orc Footman
21327, // Ketra Orc Raider
21328, // Ketra Orc Scout
21329, // Ketra Orc Shaman
21331, // Ketra Orc Warrior
21332, // Ketra Orc Lieutenant
21334, // Ketra Orc Medium
21336, // Ketra Orc White Captain
21338, // Ketra Orc Seer
21339, // Ketra Orc General
21340, // Ketra Orc Battalion Commander
21342, // Ketra Orc Grand Seer
21343, // Ketra Commander
21345, // Ketra's Head Shaman
21347 // Ketra Prophet
};
// Items
private static final int BADGE_SOLDIER = 36676;
private static final int BADGE_GENERAL = 36677;
// 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 Q00765_WeakeningTheKetraOrcForces()
{
super(765);
addStartNpc(LUGONESS);
addTalkId(LUGONESS);
addKillId(MONSTERS);
registerQuestItems(BADGE_SOLDIER, BADGE_GENERAL);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33852-00.htm");
addCondNotRace(Race.ERTHEIA, "33852-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 "33852-02.htm":
case "33852-03.htm":
case "33852-09.html":
case "33852-09a.html":
case "33852-10.html":
{
htmltext = event;
break;
}
case "33852-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33852-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() == LUGONESS) && !player.isMageClass())
{
return "33852-00.htm";
}
if (npc.getId() == LUGONESS)
{
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = "33852-06.html";
break;
}
qs.setState(State.CREATED);
break;
}
case State.CREATED:
{
htmltext = "33852-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33852-05.html";
}
else if (qs.isStarted() && qs.isCond(2))
{
htmltext = "33852-08.html";
}
break;
}
}
}
else if (qs.isCompleted() && !qs.isNowAvailable())
{
htmltext = "33852-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.35, true)))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -172,6 +172,7 @@ 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.Q00765_WeakeningTheKetraOrcForces.Q00765_WeakeningTheKetraOrcForces;
import quests.Q00784_TheQuietKiller.Q00784_TheQuietKiller;
import quests.Q00786_AwaitingTheVoiceOfTheGods.Q00786_AwaitingTheVoiceOfTheGods;
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
@ -519,6 +520,7 @@ public class QuestMasterHandler
Q00762_AnOminousRequest.class,
Q00763_ADauntingTask.class,
Q00764_WeakeningTheVarkaSilenosForces.class,
Q00765_WeakeningTheKetraOrcForces.class,
Q00784_TheQuietKiller.class,
Q00786_AwaitingTheVoiceOfTheGods.class,
Q00901_HowLavasaurusesAreMade.class,