Quest The Ketra Orc Supporters (10425).
Contributed by Stayway.
This commit is contained in:
parent
aee99b3913
commit
c6ce5e1f7f
@ -93,7 +93,6 @@
|
||||
10380 The Executioner's Execution
|
||||
10388 Conspiracy Behind Doors
|
||||
10389 The Voice of Authority
|
||||
10425 The Ketra Orc Supporters
|
||||
10426 Assassination of the Ketra Orc Commander
|
||||
10427 Assassination of the Ketra Orc Chief
|
||||
10430 Kekropus' Letter: Tracking the Evil (9/9)
|
||||
|
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-01.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-01.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
If it is true that you defeated <font color="LEVEL">Sakum</font> in the <font color="LEVEL">Wasteland</font> you should have no trouble with <font color="LEVEL">Belos</font>, a clone of Sakum created by <font color="LEVEL">Embryo</font>. But how do I know if it's really you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10425_TheKetraOrcSupporters 33852-02.htm">"How can I prove myself?"</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-02.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-02.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
First, hide yourself among the <font color="LEVEL">Ketra Orcs</font>. Then, find and kill those who help <font color="LEVEL">Embryo</font>. That will make things easier.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10425_TheKetraOrcSupporters 33852-03.htm">"Okay. Go on."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-03.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-03.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
If I am right, the helpers sent by <font color="LEVEL">Embryo</font> will appear when the <font color="LEVEL">Ketra Orc</font> soldiers are in danger.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10425_TheKetraOrcSupporters 33852-04.htm">"Go on."</Button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-04.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-04.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
If you kill some <font color="LEVEL">Ketra Orcs</font> here in the <font color="LEVEL">Ketra Orc Outpost</font>, <font color="LEVEL">Ketra Backup Shooters</font> and <font color="LEVEL">Ketra Backup Wizards</font> will appear. Kill <font color="LEVEL">50</font> each and come back to me.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-05.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-05.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>You haven't finished the mission yet!<br>
|
||||
If you kill some <font color="LEVEL">Ketra Orcs</font> here in the <font color="LEVEL">Ketra Orc Outpost</font>, <font color="LEVEL">Ketra Backup Shooters</font> and <font color="LEVEL">Ketra Backup Wizards</font> will appear. Kill <font color="LEVEL">50</font> each and come back to me.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-06.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-06.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
You've certainly proved your worth! That was a devastating blow you struck. Now that the situation is desperate, they will bring out <font color="LEVEL">Belos</font>. They've been saving it as a last resort.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10425_TheKetraOrcSupporters 33852-07.html">"What should we do now?"</Button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-07.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-07.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
For now, let's wait and observe their movements. That will help us find <font color="LEVEL">Belos</font>. Until then, get some rest.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-08.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-08.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
Maybe you're not prepared after all...<br>
|
||||
(This quest may only be undertaken by a Wizard class character who is level 76 to 80.)
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-09.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/33852-09.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
I don't trust you.<br>
|
||||
(Ertheia classes cannot perform this quest.)
|
||||
</body></html>
|
224
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/Q10425_TheKetraOrcSupporters.java
vendored
Normal file
224
trunk/dist/game/data/scripts/quests/Q10425_TheKetraOrcSupporters/Q10425_TheKetraOrcSupporters.java
vendored
Normal file
@ -0,0 +1,224 @@
|
||||
/*
|
||||
* 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.Q10425_TheKetraOrcSupporters;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
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.holders.NpcLogListHolder;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* The Ketra Orc Supporters (10425)
|
||||
* @author Stayway
|
||||
*/
|
||||
public final class Q10425_TheKetraOrcSupporters extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int LUGONNES = 33852;
|
||||
private static final int EMBRYO_SHOOTER = 27514;
|
||||
private static final int EMBRYO_WIZARD = 27515;
|
||||
private static final int[] SHOOTER_MONSTERS =
|
||||
{
|
||||
21327, // Ketra Orc Raider
|
||||
21331, // Ketra Orc Warrior
|
||||
21332, // Ketra Orc Lieutenant
|
||||
21335, // Ketra Orc Elite Soldier
|
||||
21336, // Ketra Orc White Captain
|
||||
21339, // Ketra Orc Officer
|
||||
21340, // Ketra Orc Battalion Commander
|
||||
27511, // Ketra Backup Shooter
|
||||
};
|
||||
private static final int[] WIZARD_MONSTERS =
|
||||
{
|
||||
21334, // Ketra Orc Medium
|
||||
21338, // Ketra Orc Seer
|
||||
21342, // Ketra Orc Grand Priest
|
||||
27512, // Varka Backup Wizard
|
||||
};
|
||||
// Items
|
||||
private static final int EAS = 26353; // Scroll: Enchant Armor (S-grade)
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 76;
|
||||
private static final int MAX_LEVEL = 80;
|
||||
|
||||
public Q10425_TheKetraOrcSupporters()
|
||||
{
|
||||
super(10425);
|
||||
addStartNpc(LUGONNES);
|
||||
addTalkId(LUGONNES);
|
||||
addKillId(SHOOTER_MONSTERS);
|
||||
addKillId(WIZARD_MONSTERS);
|
||||
addCondNotRace(Race.ERTHEIA, "33852-09.html");
|
||||
addCondInCategory(CategoryType.WIZARD_GROUP, "33852-08.html");
|
||||
addCondMinLevel(MIN_LEVEL, "33852-08.html");
|
||||
addCondMaxLevel(MAX_LEVEL, "33852-08.html");
|
||||
}
|
||||
|
||||
@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 "33852-02.htm":
|
||||
case "33852-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33852-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33852-07.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
qs.exitQuest(false, true);
|
||||
giveItems(player, EAS, 2);
|
||||
giveStoryQuestReward(player, 89);
|
||||
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL))
|
||||
{
|
||||
addExpAndSp(player, 22_997_520, 5519);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = null;
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "33852-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = qs.isCond(1) ? "33852-05.html" : "33852-06.html";
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(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))
|
||||
{
|
||||
if ((npc.getId() == EMBRYO_SHOOTER) || (npc.getId() == EMBRYO_WIZARD))
|
||||
{
|
||||
int shooterCount = qs.getInt("KillCount_" + EMBRYO_SHOOTER);
|
||||
int wizardCount = qs.getInt("KillCount_" + EMBRYO_WIZARD);
|
||||
|
||||
if (npc.getId() == EMBRYO_SHOOTER)
|
||||
{
|
||||
if (shooterCount < 50)
|
||||
{
|
||||
qs.set("KillCount_" + EMBRYO_SHOOTER, ++shooterCount);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (wizardCount < 50)
|
||||
{
|
||||
qs.set("KillCount_" + EMBRYO_WIZARD, ++wizardCount);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
|
||||
if ((shooterCount >= 50) && (wizardCount >= 50))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CommonUtil.contains(WIZARD_MONSTERS, npc.getId()))
|
||||
{
|
||||
if (qs.getInt("KillCount_" + EMBRYO_WIZARD) < 50)
|
||||
{
|
||||
final L2Npc embryo = addSpawn(EMBRYO_WIZARD, npc, false, 60000);
|
||||
addAttackPlayerDesire(embryo, killer);
|
||||
embryo.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.YOU_DARE_INTERFERE_WITH_EMBRYO_SURELY_YOU_WISH_FOR_DEATH);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (qs.getInt("KillCount_" + EMBRYO_SHOOTER) < 50)
|
||||
{
|
||||
final L2Npc embryo = addSpawn(EMBRYO_SHOOTER, npc, false, 60000);
|
||||
addAttackPlayerDesire(embryo, killer);
|
||||
embryo.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.YOU_DARE_INTERFERE_WITH_EMBRYO_SURELY_YOU_WISH_FOR_DEATH);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(L2PcInstance activeChar)
|
||||
{
|
||||
final QuestState qs = getQuestState(activeChar, false);
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
final Set<NpcLogListHolder> npcLogList = new HashSet<>(2);
|
||||
npcLogList.add(new NpcLogListHolder(EMBRYO_SHOOTER, false, qs.getInt("KillCount_" + EMBRYO_SHOOTER)));
|
||||
npcLogList.add(new NpcLogListHolder(EMBRYO_WIZARD, false, qs.getInt("KillCount_" + EMBRYO_WIZARD)));
|
||||
return npcLogList;
|
||||
}
|
||||
return super.getNpcLogList(activeChar);
|
||||
}
|
||||
}
|
@ -284,6 +284,7 @@ import quests.Q10420_TheVarkaSilenosSupporters.Q10420_TheVarkaSilenosSupporters;
|
||||
import quests.Q10421_AssassinationOfTheVarkaSilenosCommander.Q10421_AssassinationOfTheVarkaSilenosCommander;
|
||||
import quests.Q10422_AssassinationOfTheVarkaSilenosChief.Q10422_AssassinationOfTheVarkaSilenosChief;
|
||||
import quests.Q10424_KekropusLetterBelosWhereabouts.Q10424_KekropusLetterBelosWhereabouts;
|
||||
import quests.Q10425_TheKetraOrcSupporters.Q10425_TheKetraOrcSupporters;
|
||||
import quests.Q10442_TheAnnihilatedPlains1.Q10442_TheAnnihilatedPlains1;
|
||||
import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
|
||||
import quests.Q10450_ADarkAmbition.Q10450_ADarkAmbition;
|
||||
@ -650,6 +651,7 @@ public class QuestMasterHandler
|
||||
Q10421_AssassinationOfTheVarkaSilenosCommander.class,
|
||||
Q10422_AssassinationOfTheVarkaSilenosChief.class,
|
||||
Q10424_KekropusLetterBelosWhereabouts.class,
|
||||
Q10425_TheKetraOrcSupporters.class,
|
||||
Q10442_TheAnnihilatedPlains1.class,
|
||||
Q10445_AnImpendingThreat.class,
|
||||
Q10450_ADarkAmbition.class,
|
||||
|
Loading…
Reference in New Issue
Block a user