Quest An Orc in Love (10761).

Contributed by Stayway.
This commit is contained in:
MobiusDev
2016-01-20 12:30:49 +00:00
parent 0c47708547
commit a01d51338b
19 changed files with 710 additions and 3 deletions

View File

@@ -0,0 +1,6 @@
<html><body>Vorbos:<br>
The Steel Door Guild tops all Dwarven guilds in power and prestige. As such, it is our duty to aid adventures who work to restore peace unto this war-torn land. We will be happy to offer special assistance if you have Steel Door Guild Coins.<br>
Well?<br>
<button align="left" icon="NORMAL" action="bypass -h npc_%objectId%_Chat 2">"How do I use Steel Door Guild Coins?".</button>
<button align="left" icon="NORMAL" action="bypass -h npc_%objectId%_Chat 3">"Here, I have some Steel Door Guild Coins..."</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Vorbos:<br>
You can use Steel Door Guild Coins to purchase <font color="LEVEL">weapons, armor, and accessories of each grade</font>. These items may be restricted in terms of augmentations or attribute options, but they will be more than enough to help on your journey.<br>
Once you outgrow the equipment, <font color="LEVEL">You can trade them back for Steel Door Guild Coins again!</font> You can also invest in the Aden Reconstruction project if it suits your fancy, or even gamble. Don't forget that Steel Weapon Packs and Steel Armor Packs have a chance of yielding Requiem, Apocalypse, or Specter equipment!<br>
<button align="left" icon="RETURN" action="bypass -h npc_%objectId%_Chat 1">Back</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Vorbos:<br>
You can use Steel Door Guild Coins to receive equipment, and trade them back for coins again. Just remember, <font color="LEVEL">you cannot bring us junk to exchange for coins!</font>. These items may be restricted in terms of augmentations or attribute options, but they will be more than enough to help on your journey.<br>
Well?<br>
<button align="left" icon="NORMAL" action="bypass -h npc_%objectId%_multisell 3396601">"I want to buy some things."</button>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Vorbos:<br>
Even wind reminds me of her.<br>
Even clouds remind me of her.<br>
Even the sun reminds me of her.<br>
I'm not going back to Orc Barracks. I hate my kin. I miss her. Just thinking of her makes my heart beat. But... they are harassing her and her friends.<br>
<button align="left" icon="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"I want to use some Steel Door Guild Coins."</button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
</body></html>

View File

@@ -2,6 +2,7 @@
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
<npcs>
<npc>33858</npc> <!-- Eli -->
<npc>33966</npc> <!-- Vorbus -->
</npcs>
<item>
<!-- Steel Door Guild Coins -->

View File

@@ -154,7 +154,7 @@ public class Q10758_TheOathOfTheWind extends Quest
qs.set(Integer.toString(WINDIMA_CLONE), kills);
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
log.addNpc(WINDIMA_CLONE, qs.getInt(Integer.toString(WINDIMA_CLONE)));
log.addNpc(WINDIMA_CLONE, kills);
killer.sendPacket(log);
if (qs.getInt(Integer.toString(WINDIMA_CLONE)) >= 1)

View File

@@ -0,0 +1,5 @@
<html><body>Vorbos:<br>
I'm Vorbos. What are you? Never seen you.<br1>
Why stare at me? I'm Orc!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10761_AnOrcInLove 33966-02.htm">"I am Ertheia, child of the wind."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Vorbos:<br>
Child of wind? Never heard of them. But wind... you remind me of her. Good!<br>
No fear! I'm not violent. Will you help me?<br>Thinking of her makes my heart pound. I can't stop! Even in sleep or battle.<br>
Am I ill? Is it a terrible disease? Can you find me a cure?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10761_AnOrcInLove 33966-03.htm">"I think...you are in love."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Vorbos:<br>
Love? I'm in love? I see. I must love her. Thinking of her breaks my heart.<br>
We Orcs found strange vortex. We Orcs changed. Sometimes spirits flow out from the strange vortex. Ever since then, we Orcs capture them.<br>
We torture them, and try to make them our marionettes. Broke my heart. I abandoned my people and my home.
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10761_AnOrcInLove 33966-04.htm">"Why did it break your heart?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Vorbos:<br>
She's...a sylph. A wind fairy.<br>
I fell in love at first sight.<br>
When I see her flying, my heart pounds hard. I want to do something for her. Can you help?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10761_AnOrcInLove 33966-05.html">"Er, sure?"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>A Smitten Orc:<br>
I'm angry! I hate the Orcs who harass her kind. <br>
Go punish the Orcs! Go kill <font color="LEVEL">Turek War Hounds, Turek Orc Footmen, Turek Orc Sentinels, Turek Orc Suppliers, Turek Orc Archers, Turek Orc Skirmishers, Turek Orc Priests, Turek Orc Prefects, and Turek Orc Elders</font>! I don't care if they are my own kind.<br>
She is more important to me!<br>Also, while at it, go see how spirits are doing at Orc Barracks. Thank you!
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>A Smitten Orc:<br>
Did you punish Orcs?<br1>
How are the spirits doing?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10761_AnOrcInLove 33966-07.html">"The spirits are bound by magical chains."</Button>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>A Smitten Orc:<br>
Thank you! Thank you! Bad Orcs!<br>
They chained my love! I cannot forgive them.<br>
She doesn't know me, but I love her.<br>
I will go to the Orc Barracks and ask my friends how to unshackle her. I will call you again.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>A Smitten Orc:<br>
I'm angry! I hate the Orcs who harass her kind. <br>
Go punish the Orcs! Go kill <font color="LEVEL">Turek War Hounds, Turek Orc Footmen, Turek Orc Sentinels, Turek Orc Suppliers, Turek Orc Archers, Turek Orc Skirmishers, Turek Orc Priests, Turek Orc Prefects, and Turek Orc Elders</font>! I don't care if they are my own kind.<br>
She is more important to me!<br>Also, while at it, go see how spirits are doing at Orc Barracks. Thank you!
</body></html>

View File

@@ -0,0 +1,168 @@
/*
* 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.Q10761_AnOrcInLove;
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.ItemHolder;
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;
import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
import com.l2jmobius.gameserver.util.Util;
/**
* An Orc in Love (10761)
* @author Stayway
*/
public class Q10761_AnOrcInLove extends Quest
{
// NPC
private static final int VORBOS = 33966;
// Monsters
private static final int TUREK_WAR_HOUND = 20494;
private static final int TUREK_ORC_FOOTMAN = 20499;
private static final int TUREK_ORC_SENTINEL = 20500;
private static final int TUREK_ORC_SUPPLIER = 20498;
private static final int TUREK_ORC_ARCHER = 20496;
private static final int TUREK_ORC_SKIRMISHER = 20497;
private static final int TUREK_ORC_PRIEST = 20501;
private static final int TUREK_ORC_PREFECT = 20495;
private static final int TUREK_ORC_ELDER = 20546;
// Item
private static final ItemHolder GUILD_COIN = new ItemHolder(37045, 20);
// Rewards
private static final int EXP_REWARD = 354546;
private static final int SP_REWARD = 85;
// Other
private static final int MIN_LEVEL = 30;
public Q10761_AnOrcInLove()
{
super(10761, Q10761_AnOrcInLove.class.getSimpleName(), "An Orc in Love");
addStartNpc(VORBOS);
addTalkId(VORBOS);
addKillId(TUREK_WAR_HOUND, TUREK_ORC_FOOTMAN, TUREK_ORC_SENTINEL, TUREK_ORC_SUPPLIER, TUREK_ORC_ARCHER, TUREK_ORC_SKIRMISHER, TUREK_ORC_PRIEST, TUREK_ORC_PREFECT, TUREK_ORC_ELDER);
addCondMinLevel(MIN_LEVEL, "no_level.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 "33966-02.htm":
case "33966-03.htm":
case "33966-04.htm":
{
htmltext = event;
break;
}
case "33966-05.html": // start the quest
{
qs.startQuest();
qs.set(Integer.toString(TUREK_ORC_ELDER), 0);
htmltext = event;
break;
}
case "33966-07.html":
{
if (qs.isCond(2))
{
giveItems(player, GUILD_COIN);
addExpAndSp(player, EXP_REWARD, SP_REWARD);
qs.unset(Integer.toString(TUREK_ORC_ELDER));
qs.exitQuest(false, true);
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:
{
if (player.getRace() != Race.ERTHEIA)
{
htmltext = "noErtheia.html";
}
else
{
htmltext = "33966-01.htm";
}
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33966-08.html";
}
else if (qs.isCond(2))
{
htmltext = "33966-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 = getRandomPartyMemberState(killer, -1, 3, npc);
if ((qs != null) && qs.isStarted() && qs.isCond(1) && (Util.checkIfInRange(1500, npc, qs.getPlayer(), false)))
{
int kills = qs.getInt(Integer.toString(TUREK_ORC_ELDER));
kills++;
qs.set(Integer.toString(TUREK_ORC_ELDER), kills);
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
log.addNpcString(NpcStringId.KILL_TUREK_ORCS, kills);
killer.sendPacket(log);
if (kills >= 30)
{
qs.setCond(2);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -0,0 +1,3 @@
<html><body>Vorbos:<br>
You are not Ertheia, this quest is not for you.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>You don't meet level requirements<br>
(Quest available from level 30 and above)
</body></html>

View File

@@ -257,6 +257,7 @@ import quests.Q10756_AnInterdimensionalDraft.Q10756_AnInterdimensionalDraft;
import quests.Q10757_QuietingTheStorm.Q10757_QuietingTheStorm;
import quests.Q10758_TheOathOfTheWind.Q10758_TheOathOfTheWind;
import quests.Q10760_LettersFromTheQueen_OrcBarracs.Q10760_LettersFromTheQueen_OrcBarracs;
import quests.Q10761_AnOrcInLove.Q10761_AnOrcInLove;
/**
* @author NosBit
@@ -504,7 +505,8 @@ public class QuestMasterHandler
Q10756_AnInterdimensionalDraft.class,
Q10757_QuietingTheStorm.class,
Q10758_TheOathOfTheWind.class,
Q10760_LettersFromTheQueen_OrcBarracs.class
Q10760_LettersFromTheQueen_OrcBarracs.class,
Q10761_AnOrcInLove.class
};
public static void main(String[] args)