Addition of quest New Flame Of Orcs (10951).
Contributed by Elison.
This commit is contained in:
parent
5f027629b9
commit
4787447ab5
6
L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/html/default/34335.htm
vendored
Normal file
6
L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/html/default/34335.htm
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>First Vanguard Rider Sabitus:<br>
|
||||
Don't lose courage.<br>
|
||||
You and your peers are the hope of all Orcs.<br>
|
||||
Your spear and your beast are a proof of your strength.<br>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -441,6 +441,12 @@ public class Q00255_Tutorial extends Quest
|
||||
return;
|
||||
}
|
||||
|
||||
// Vanguard.
|
||||
if (CategoryData.getInstance().isInCategory(CategoryType.VANGUARD_ALL_CLASS, player.getClassId().getId()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
if ((qs != null) && (qs.getMemoState() < 4) && STARTING_VOICE_HTML.containsKey(player.getClassId().getId()))
|
||||
{
|
||||
|
@ -0,0 +1,9 @@
|
||||
<html><body>
|
||||
Guardian Tanai:<br>
|
||||
Have you completed your basic training?<br>
|
||||
I see that you're really excited about joining the ranks of Orc Lancers.<br>
|
||||
First of all, let me tell you about the <font color="LEVEL">Blazing Beast</font> skill. You can use it if you have <font color="LEVEL">500 or more Beast Points (BP)</font>. Activating the skill costs <font color="LEVEL">100 BP</font>.<br>
|
||||
The effect is active while you have BP.<br>
|
||||
All Orc Lancers must know it, so don't forget.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10951_NewFlameOfOrcs 30602-00.htm">"Nod"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>
|
||||
First Vanguard Rider Sabitus:<br>
|
||||
There you are. You have a new path open before you. Will you become the Orc Lancer?<br>
|
||||
Are you ready to become a beacon of hope for our people?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10951_NewFlameOfOrcs 34335-03.htm">"Nod"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>
|
||||
First Vanguard Rider Sabitus:<br>
|
||||
Good! I see that you're striving for excellence. It will really help you on the Orc Lancer path.<br>
|
||||
But I think you don't know yet what we have in store for you.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10951_NewFlameOfOrcs 34335-04.htm">"Ask what the problem is"</Button>
|
||||
</body></html>
|
@ -0,0 +1,7 @@
|
||||
<html><body>
|
||||
First Vanguard Rider Sabitus:<br>
|
||||
The problem? Bah!<br>
|
||||
You look like a very resourceful young Orc, so I'm sure you'll find a way out of any problem. Or you'll perish along the path you've chosen. Easy, isn't it?<br>
|
||||
Well, no more idle chatter, let's get down to business. I'm going to teach you the combat basics.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10951_NewFlameOfOrcs 34335-05.htm">"Nod"</Button>
|
||||
</body></html>
|
@ -0,0 +1,7 @@
|
||||
<html><body>
|
||||
First Vanguard Rider Sabitus:<br>
|
||||
Excellent! So far, you're doing well.<br>
|
||||
Well, any battle is the exchange of attacks.<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,8 @@
|
||||
<html><body>
|
||||
First Vanguard Rider Sabitus:<br>
|
||||
Good! But you're lacking something.<br>
|
||||
You've attacked without Soulshots equipped.<br>
|
||||
They can make your blows even more powerful. Don't ever forget that!<br>
|
||||
Always equip Soulshots if possible.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10951_NewFlameOfOrcs 34335-07.htm">"How do I use Soulshots?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
First Vanguard Rider Sabitus:<br>
|
||||
The main thing about Soulshots is to have them always at your disposal.<br>
|
||||
You don't have any in your inventory, right? Then I'll give you some.<br>
|
||||
Soulshots are equipped automatically when you start using a weapon.<br>
|
||||
Also, you can come across Spiritshots - these are like Soulshots but they increase your magic powers instead of fighting abilities.<br>
|
||||
Well, why don't you test these Soulshots yourself? Use them to attack Training Dummies.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>First Vanguard Rider Sabitus:<br>
|
||||
Have you memorized the combat basics?<br>
|
||||
I can't stress enough how important it is.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10951_NewFlameOfOrcs 34335-09.htm">"Nod"</Button>
|
||||
</body></html>
|
10
L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10951_NewFlameOfOrcs/34335-09.htm
vendored
Normal file
10
L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10951_NewFlameOfOrcs/34335-09.htm
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
<html><body>First Vanguard Rider Sabitus:<br>
|
||||
That's all I have to teach you.<br>
|
||||
Oh, I've forgotten to tell you about <font color="LEVEL">Beast Points</font>! So, you will accumulate them with time.<br>
|
||||
But let me show you how it looks in practice. See, I've recharged your BP reserves. Now open your <font color="LEVEL">skill window</font> and use the <font color="LEVEL">Blazing Beast</font> skill.<br>
|
||||
When it is active, your moving skills become more efficient, and you can attack nearby enemies automatically.<br>
|
||||
Beast Points are very important. Their bar is right below your HP, always keep an eye on it.<br>
|
||||
And now go to <font color="LEVEL">Guardian Tanai</font><br>
|
||||
.He has a lot to teach you.<br>
|
||||
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h Quest Q10951_NewFlameOfOrcs TELEPORT_TO_TANAI">"Teleport to Tanai"</Button>
|
||||
</body></html>
|
@ -0,0 +1,248 @@
|
||||
/*
|
||||
* 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.Q10951_NewFlameOfOrcs;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.CategoryData;
|
||||
import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
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;
|
||||
|
||||
/**
|
||||
* New Flame Of Orcs (10951)
|
||||
* @author A.Yurechko
|
||||
*/
|
||||
public class Q10951_NewFlameOfOrcs extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int SABITUS = 34335;
|
||||
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 = "Q10951_REWARD_1";
|
||||
private static final String REWARD_CHECK_VAR2 = "Q10951_REWARD_2";
|
||||
private static final int MIN_LEVEL = 1;
|
||||
private static final int MAX_LEVEL = 2;
|
||||
|
||||
public Q10951_NewFlameOfOrcs()
|
||||
{
|
||||
super(10951);
|
||||
addStartNpc(SABITUS);
|
||||
addTalkId(SABITUS, TANAI);
|
||||
addKillId(TRAINING_DUMMY);
|
||||
addCondMinLevel(MIN_LEVEL, "no_lvl.html");
|
||||
addCondMaxLevel(MAX_LEVEL, "no_lvl.html");
|
||||
setQuestNameNpcStringId(NpcStringId.LV_1_2_NEW_FLAME_OF_ORCS);
|
||||
}
|
||||
|
||||
@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 "34335-02.htm":
|
||||
case "34335-03.htm":
|
||||
case "34335-04.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34335-05.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34335-07.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 "34335-09.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);
|
||||
// TODO: Return Q10952 start htm
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "TELEPORT_TO_TANAI":
|
||||
{
|
||||
player.teleToLocation(-45079, -113511, -208);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player player)
|
||||
{
|
||||
if (!CategoryData.getInstance().isInCategory(CategoryType.VANGUARD_ALL_CLASS, player.getClassId().getId()))
|
||||
{
|
||||
return "no_race.html";
|
||||
}
|
||||
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "34335-02.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "no_dummy-01.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "34335-06.htm";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "no_dummy-02.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
htmltext = "34335-08.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 (!CategoryData.getInstance().isInCategory(CategoryType.VANGUARD_ALL_CLASS, player.getClassId().getId()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs == null) || (player.getLevel() < 20))
|
||||
{
|
||||
showOnScreenMsg(player, NpcStringId.TALK_TO_FIRST_VANGUARD_RIDER_SABITUS, ExShowScreenMessage.TOP_CENTER, 10000, player.getName());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>First Vanguard Rider Sabitus:<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>First Vanguard Rider Sabitus:<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.Q10951_NewFlameOfOrcs.Q10951_NewFlameOfOrcs;
|
||||
import quests.Q10954_SayhaChildren.Q10954_SayhaChildren;
|
||||
import quests.Q10955_NewLifeLessons.Q10955_NewLifeLessons;
|
||||
import quests.Q10956_WeSylphs.Q10956_WeSylphs;
|
||||
@ -87,6 +88,7 @@ public class QuestMasterHandler
|
||||
Q10299_GetIncrediblePower.class,
|
||||
Q10300_ExploringTheCrumaTower.class,
|
||||
Q10301_NotSoSilentValley.class,
|
||||
Q10951_NewFlameOfOrcs.class,
|
||||
Q10954_SayhaChildren.class,
|
||||
Q10955_NewLifeLessons.class,
|
||||
Q10956_WeSylphs.class,
|
||||
|
Loading…
Reference in New Issue
Block a user