Addition of quest Fiercest Flame (Q10950).
Contributed by Elison.
This commit is contained in:
6
L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/html/default/30573.htm
vendored
Normal file
6
L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/html/default/30573.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
Tejakar Oroca! I am Flame Guardian Vulkus!<br>
|
||||
It's my duty to light the fire of battle in the hearts of young Orcs. A fire as hot as the flame of Pa'agrio!<br>
|
||||
Can you feel the fire burning in your chest?<br>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@@ -61,7 +61,6 @@ public class Q00255_Tutorial extends Quest
|
||||
NEWBIE_HELPERS.add(30019); // human mystic
|
||||
NEWBIE_HELPERS.add(30400); // elf
|
||||
NEWBIE_HELPERS.add(30131); // dark elf
|
||||
NEWBIE_HELPERS.add(30575); // orc
|
||||
NEWBIE_HELPERS.add(30530); // dwarf
|
||||
NEWBIE_HELPERS.add(34108); // kamael
|
||||
}
|
||||
@@ -72,7 +71,6 @@ public class Q00255_Tutorial extends Quest
|
||||
SUPERVISORS.add(30017); // human mystic
|
||||
SUPERVISORS.add(30370); // elf
|
||||
SUPERVISORS.add(30129); // dark elf
|
||||
SUPERVISORS.add(30573); // orc
|
||||
SUPERVISORS.add(30528); // dwarf
|
||||
SUPERVISORS.add(34109); // kamael
|
||||
}
|
||||
@@ -98,8 +96,6 @@ public class Q00255_Tutorial extends Quest
|
||||
STARTING_VOICE_HTML.put(25, new QuestSoundHtmlHolder("tutorial_voice_001d", "tutorial_elven_mage001.html"));
|
||||
STARTING_VOICE_HTML.put(31, new QuestSoundHtmlHolder("tutorial_voice_001e", "tutorial_delf_fighter001.html"));
|
||||
STARTING_VOICE_HTML.put(38, new QuestSoundHtmlHolder("tutorial_voice_001f", "tutorial_delf_mage001.html"));
|
||||
STARTING_VOICE_HTML.put(44, new QuestSoundHtmlHolder("tutorial_voice_001g", "tutorial_orc_fighter001.html"));
|
||||
STARTING_VOICE_HTML.put(49, new QuestSoundHtmlHolder("tutorial_voice_001h", "tutorial_orc_mage001.html"));
|
||||
STARTING_VOICE_HTML.put(53, new QuestSoundHtmlHolder("tutorial_voice_001i", "tutorial_dwarven_fighter001.html"));
|
||||
STARTING_VOICE_HTML.put(192, new QuestSoundHtmlHolder("tutorial_voice_001k", "tutorial_kamael_male001.html"));
|
||||
}
|
||||
@@ -277,10 +273,6 @@ public class Q00255_Tutorial extends Quest
|
||||
{
|
||||
return "tutorial_05_fighter.html";
|
||||
}
|
||||
else if (player.getRace() == Race.ORC)
|
||||
{
|
||||
return "tutorial_05_mystic_orc.html";
|
||||
}
|
||||
return "tutorial_05_mystic.html";
|
||||
}
|
||||
case 2:
|
||||
@@ -289,10 +281,6 @@ public class Q00255_Tutorial extends Quest
|
||||
{
|
||||
return "tutorial_05_fighter_back.html";
|
||||
}
|
||||
else if (player.getRace() == Race.ORC)
|
||||
{
|
||||
return "tutorial_05_mystic_orc_back.html";
|
||||
}
|
||||
return "tutorial_05_mystic_back.html";
|
||||
}
|
||||
case 3:
|
||||
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
It's been a long time since I've met young Orcs...<br>
|
||||
Are you ready to light up the Flame of Pa'agrio in your heart?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10950_FiercestFlame 30573-02.htm">"Yes."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,8 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
I like your attitude.<br>
|
||||
I've been waiting for a young Orc like you.<br>
|
||||
There was a time when all Orcs had the fighting spirit that burned as bright as the Flame of Pa'agrio.<br>
|
||||
However, as time went on, our tribe grew soft and accustomed to a peaceful life.<br>
|
||||
And now we must light up the inextinguishable flame in the hearts of Orcs once again.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10950_FiercestFlame 30573-03.htm">"What do you mean?"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
Changes inside us will bring a new era of greatness for all Orcs, and soon everyone will be aware of that.<br>
|
||||
I want to fill the hearts of young Orcs with the fighting spirit similar to the inextinguishable Flame of Pa'agrio!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10950_FiercestFlame 30573-04.htm">"Light this fire in my heart!"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>
|
||||
Flame Guardian Vulkus:<br>
|
||||
I definitely like your attitude!<br>
|
||||
However, first I must check your combat abilities.<br>
|
||||
Here we have some <font color="LEVEL">Training Dummies</font> set specifically for training young Orcs. Try attacking one of those, and I will watch you fight. After that we will talk again.
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
Excellent! You seem to know your basics.<br>
|
||||
There is one more thing I must tell you about - <font color="LEVEL">Soulshots</font>.<br>
|
||||
All Orcs are inherently powerful, but these Soulshots can make our attacks even more deadly. So always take some with you when going to a fight.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10950_FiercestFlame 30573-06.htm">"How do I use Soulshots?"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
Flame Guardian Vulkus:<br>
|
||||
First of all, I will give you several Soulshots to try.<br>
|
||||
They are used automatically when you have them in your inventory and have a weapon equipped.<br>
|
||||
Also, you can come across Spiritshots - these are like Soulshots but they increase your magic powers instead of fighting abilities.<br>
|
||||
Try using these Soulshots for yourself and see what they can do.<br>
|
||||
Go ahead! Attack a Training Dummy once again, but this time use Soulshots.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
I can see that you know your basics full well.<br>
|
||||
I cannot stress enough the importance of basic training. Do you agree?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10950_FiercestFlame 30573-08.htm">"Nod"</Button></body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
I'm afraid I have nothing more to tell you.<br>
|
||||
Now you must speak with <font color="LEVEL">Guardian Tanai</font>.<br>
|
||||
He has been entrusted with a very important mission to preserve our ancestors' souls and legacy.<br>
|
||||
Tanai has a lot to tell you, so go to him as soon as possible.<br>
|
||||
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h Quest Q10950_FiercestFlame TELEPORT_TO_TANAI">Teleport to Tanai</Button></body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Guardian Tanai:<br>
|
||||
Have you completed your basic training?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10950_FiercestFlame 30602-00.htm">"Nod"</Button></body></html>
|
@@ -0,0 +1,249 @@
|
||||
/*
|
||||
* 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.Q10950_FiercestFlame;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.CategoryData;
|
||||
import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
|
||||
/**
|
||||
* Fiercest Flame (Q10950)
|
||||
* @author A.Yurechko
|
||||
* @Notee: Based on NA server on March, 31 2022
|
||||
*/
|
||||
public class Q10950_FiercestFlame extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int VULKUS = 30573;
|
||||
private static final int TANAI = 30602;
|
||||
// Monsters
|
||||
private static final int TRAINING_DUMMY = 22183;
|
||||
// Items
|
||||
private static final ItemHolder SOULSHOT_REWARD = new ItemHolder(91927, 400);
|
||||
private static final ItemHolder SOE_REWARD = new ItemHolder(10650, 5);
|
||||
private static final ItemHolder WW_POTION_REWARD = new ItemHolder(49036, 5);
|
||||
private static final ItemHolder HP_POTION_REWARD = new ItemHolder(91912, 50);
|
||||
// Misc
|
||||
private static final String REWARD_CHECK_VAR1 = "Q10950_REWARD_1";
|
||||
private static final String REWARD_CHECK_VAR2 = "Q10950_REWARD_2";
|
||||
private static final int MIN_LEVEL = 1;
|
||||
private static final int MAX_LEVEL = 2;
|
||||
|
||||
public Q10950_FiercestFlame()
|
||||
{
|
||||
super(10950);
|
||||
addStartNpc(VULKUS);
|
||||
addTalkId(VULKUS, TANAI);
|
||||
addKillId(TRAINING_DUMMY);
|
||||
addCondMinLevel(MIN_LEVEL, "no_lvl.html");
|
||||
addCondMaxLevel(MAX_LEVEL, "no_lvl.html");
|
||||
setQuestNameNpcStringId(NpcStringId.LV_1_2_FIERCEST_FLAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30573-01.htm":
|
||||
case "30573-02.htm":
|
||||
case "30573-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30573-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30573-06.htm":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
qs.setCond(3);
|
||||
if (!player.getVariables().getBoolean(REWARD_CHECK_VAR1, false))
|
||||
{
|
||||
player.getVariables().set(REWARD_CHECK_VAR1, true);
|
||||
giveItems(player, SOULSHOT_REWARD);
|
||||
}
|
||||
}
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30573-08.htm":
|
||||
{
|
||||
if (qs.isCond(4))
|
||||
{
|
||||
qs.setCond(5);
|
||||
}
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30602-00.htm":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
player.getVariables().set(REWARD_CHECK_VAR2, true);
|
||||
giveItems(player, SOE_REWARD);
|
||||
giveItems(player, WW_POTION_REWARD);
|
||||
giveItems(player, HP_POTION_REWARD);
|
||||
giveItems(player, SOULSHOT_REWARD);
|
||||
|
||||
addExpAndSp(player, 224, 4);
|
||||
giveStoryBuffReward(npc, player);
|
||||
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "TELEPORT_TO_TANAI":
|
||||
{
|
||||
player.teleToLocation(-45079, -113511, -208);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player player)
|
||||
{
|
||||
if (player.getRace() != Race.ORC)
|
||||
{
|
||||
return "no_race.html";
|
||||
}
|
||||
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "30573-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "no_dummy-01.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "30573-05.htm";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "no_dummy-02.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
htmltext = "30573-07.htm";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
htmltext = "30602-10.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if (qs != null)
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||
public void onPlayerLogin(OnPlayerLogin event)
|
||||
{
|
||||
if (Config.DISABLE_TUTORIAL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final Player player = event.getPlayer();
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ((player.getRace() != Race.ORC) || CategoryData.getInstance().isInCategory(CategoryType.VANGUARD_ALL_CLASS, player.getClassId().getId()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs == null) || (player.getLevel() < 3))
|
||||
{
|
||||
showOnScreenMsg(player, NpcStringId.TALK_TO_FLAME_GUARDIAN_VULKUS, ExShowScreenMessage.TOP_CENTER, 10000, player.getName());
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
Forgot how to attack? Doesn't look like it. You know how to do it, right? We must go through the basics even if it seems dull to you.<br>
|
||||
Look around you. Do you see those<font color="LEVEL">Training Dummies</font>? They are here to help you with your training.<br>Try attacking them first.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
It's time to test these Soulshots.<br>
|
||||
Use them to attack Training Dummies.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>First Vanguard Rider Sabitus:<br>
|
||||
You do not meet the requirements of the quest (Quest is only available to 1-2 levels).
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>First Vanguard Rider Sabitus:<br>
|
||||
I bear the title of the First Vanguard Rider. My duty is to show young Orcs the new path of Orc Lancers.<br>
|
||||
I'd be happy to teach you something, but you are not Orc Lancer, so I have nothing to say to you.<br>
|
||||
Why don't you go to Flame Guardian Vulkus? I'm sure he'll be happy to help you.</body></html>
|
@@ -36,6 +36,7 @@ import quests.Q10299_GetIncrediblePower.Q10299_GetIncrediblePower;
|
||||
import quests.Q10300_ExploringTheCrumaTower.Q10300_ExploringTheCrumaTower;
|
||||
import quests.Q10301_NotSoSilentValley.Q10301_NotSoSilentValley;
|
||||
import quests.Q10673_SagaOfLegend.Q10673_SagaOfLegend;
|
||||
import quests.Q10950_FiercestFlame.Q10950_FiercestFlame;
|
||||
import quests.Q10951_NewFlameOfOrcs.Q10951_NewFlameOfOrcs;
|
||||
import quests.Q10952_ProtectAtAllCosts.Q10952_ProtectAtAllCosts;
|
||||
import quests.Q10954_SayhaChildren.Q10954_SayhaChildren;
|
||||
@@ -89,6 +90,7 @@ public class QuestMasterHandler
|
||||
Q10299_GetIncrediblePower.class,
|
||||
Q10300_ExploringTheCrumaTower.class,
|
||||
Q10301_NotSoSilentValley.class,
|
||||
Q10950_FiercestFlame.class,
|
||||
Q10951_NewFlameOfOrcs.class,
|
||||
Q10952_ProtectAtAllCosts.class,
|
||||
Q10954_SayhaChildren.class,
|
||||
|
Reference in New Issue
Block a user