Retail tutorial quest changes.

This commit is contained in:
MobiusDev 2017-08-06 01:40:10 +00:00
parent 78ea635e86
commit 1062e7b26e
64 changed files with 402 additions and 95 deletions

View File

@ -46,7 +46,6 @@ public class NewbieGuide extends AbstractNpcAI
private final static ItemHolder SPIRITSHOT_REWARD = new ItemHolder(5790, 100);
// Other
private final static String TUTORIAL_QUEST = "Q00255_Tutorial";
private final static String TUTORIAL_SHOT_VAR = "TUTORIAL_SHOT_REWARDED";
private final static String SUPPORT_MAGIC_STRING = "<Button ALIGN=LEFT ICON=\"NORMAL\" action=\"bypass -h Link default/SupportMagic.htm\">Receive help from beneficial magic.</Button>";
private NewbieGuide()
@ -90,9 +89,9 @@ public class NewbieGuide extends AbstractNpcAI
return npc.getId() + "-no.htm";
}
final QuestState qs = player.getQuestState(TUTORIAL_QUEST);
if ((qs != null) && qs.isCompleted() && !Config.DISABLE_TUTORIAL && !player.getVariables().getBoolean(TUTORIAL_SHOT_VAR, true))
if ((qs != null) && !Config.DISABLE_TUTORIAL && qs.isMemoState(5))
{
player.getVariables().set(TUTORIAL_SHOT_VAR, true);
qs.setMemoState(6);
if (player.isMageClass() && (player.getRace() != Race.ORC))
{
giveItems(player, SPIRITSHOT_REWARD);

View File

@ -0,0 +1,5 @@
<html><body>Grand Master Roien:<br>
First, you must learn the basic methods of control in the game. Let me introduce my little friend, the <font color="LEVEL">Newbie Helper</font>.<br>
Follow his instructions and you'll quickly learn things that you'll need in the game.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Grand Master Roien:<br>
Welcome. I am Grand Master Roien, of Sedrick's Training Hall. This school was established by the renowned Paladin Sir Sedrick, famous for producing many competent Fighters..<br>
Did you get the Recommendation from the Newbie helper?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial reward_2">"I brought the Recommendation."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,4 +1,3 @@
<html><body>Grand Master Roien:<br>
Go to <font color="LEVEL">Talking Island Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice. He also has a gift for you.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As promised, I'll give you a gift. This is a soulshot. It will make your attacks much stronger. Take heed, it only works once, so use it wisely.<br>
<img src="L2UI_CH3.tutorial_img18" width=64 height=64><br>
Take this recommendation to <font color="LEVEL">Grand Master Roien</font> over there. He has a gift for you.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As I promised, I'll give you a gift. This is called a spiritshot. Spiritshots make your magical attacks much stronger. However, it only works once, so you should save it for the right moment.<br>
<img src="L2UI_CH3.tutorial_img19" width=64 height=64><br>Take this recommendation to <font color="LEVEL">Grand Master Roien</font> over there. He has a gift for you.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Newbie Helper:<br>
Speak with <font color="LEVEL">Grand Master Roien</font> over there. He's eager to meet you. He has a gift for you.<br>
May the goddess of luck be with you!
</body></html>

View File

@ -1,3 +1,3 @@
<html><body>Newbie Helper:<br>
I've taught you all I can, my child. Go now, out into the world! Live every day like it was your last! It very well might be!<br>
I've taught you all I can, my child. Go now, out into the world! Live every day like it was your last! It very well might be!
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Grand Magister Gallint:<br>
First, you must learn the basic methods of control in the game. Let me introduce my little friend, the <font color="LEVEL">Newbie Helper</font>.<br>
Follow his instructions and you'll quickly learn things that you'll need in the game.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Grand Magister Gallint:<br>
Welcome to my school of wizardry. It was founded by the famed alchemist Einhovant, and many excellent Wizards have been trained here.<br>
Have you brought a letter of Recommendation from the Newbie Helper?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial reward_2">"I've brought the letter of Recommendation."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,4 +1,3 @@
<html><body>Grand Magister Gallint:<br>
Go to <font color="LEVEL">Talking Island Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice. He also has a gift for you.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good!<br>
As promised, I'll give you a gift. This is a soulshot. It will make your attacks much stronger. Take heed, it only works once, so use it wisely.<br>
<img src="L2UI_CH3.tutorial_img18" width=64 height=64><br>
Take this letter of Recommendation to <font color="LEVEL">Grand Magister Gallint</font> over there. He's been looking forward to meeting you. He has something for you.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good!<br>
As I promised, I'll give you a gift. This is called a spiritshot. Spiritshots make your magical attacks much stronger. However, it only works once, so you should save it for the right moment.<br>
<img src="L2UI_CH3.tutorial_img19" width=64 height=64><br>
Take this letter of Recommendation to <font color="LEVEL">Grand Magister Gallint</font> over there. He's been looking forward to meeting you. He has something for you.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Newbie Helper:<br>
Speak with <font color="LEVEL">Grand Magister Gallint</font> over there. He's been waiting for you. He has a gift for you.<br>
May the goddess of luck be with you!
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Newbie Helper:<br>
I've taught you all I can, my child. Go now, out into the world! Live every day like it was your last! It very well might be!
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Dark Elf Chief Mithraell:<br>
First, you must learn the basic methods of control in the game. Let me introduce my little friend, the <font color="LEVEL">Newbie Helper</font>.<br>
Follow his instructions and you'll quickly learn things that you'll need in the game.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Hierarch Mitraell:<br>
I, the Hierarch of all Dark Elves offer you the blessings of the abyss. I am the prisoner of a magic seal, barely able to function, but I still manage to teach my students.<br>
Have you brought the Blood of Mitraell from the Newbie Helper?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial reward_2">"I brought the Blood of Mitraell."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,4 +1,3 @@
<html><body>Dark Elf Chief Mithraell:<br>
Go to <font color="LEVEL">Dark Elf Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
Go to <font color="LEVEL">Dark Elf Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice. He also has a gift for you.<br>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As promised, I'll give you a gift. This is a soulshot. It will make your attacks much stronger. Take heed, it only works once, so use it wisely.<br>
<img src="L2UI_CH3.tutorial_img18" width=64 height=64><br>
Take this Blood of Mitraell to <font color="LEVEL">Dark Elf Chief Mithraell</font> over there. He has a gift for you.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As I promised, I'll give you a gift. This is called a spiritshot. Spiritshots make your magical attacks much stronger. However, it only works once, so you should save it for the right moment.<br>
<img src="L2UI_CH3.tutorial_img19" width=64 height=64><br>
Take this Blood of Mitraell to <font color="LEVEL">Dark Elf Chief Mithraell</font> over there. He has a gift for you.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Newbie Helper:<br>
Speak with <font color="LEVEL">Mitraell</font> over there. He has a gift for you.<br>
May the goddess of luck be with you!
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Newbie Helper:<br>
I've taught you all I can, my child. Go now, out into the world! Live every day like it was your last! It very well might be!
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Nerupa:<br>
First, you must learn the basic methods of control in the game. Let me introduce my little friend, the <font color="LEVEL">Newbie Helper</font>.<br>
Follow his instructions and you'll quickly learn things that you'll need in the game.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Nerupa:<br>
I am a proud warrior of the Arachne tribe. Long ago, I made a pact with the Mother Tree, and have protected this forest and young Elves for centuries.<br>
Have you brought a Leaf of the Mother Tree from the Newbie Helper?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial reward_2">"I brought a Leaf of the Mother Tree."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Nerupa:<br>
Go to <font color="LEVEL">Elven Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice. He also has a gift for you.<br>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As promised, I'll give you a gift. This is a soulshot. It will make your attacks much stronger. Take heed, it only works once, so use it wisely.<br>
<img src="L2UI_CH3.tutorial_img18" width=64 height=64><br>
Take this Leaf of the Mother Tree to <font color="LEVEL">Nerupa</font> over there. She has a gift for you.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As I promised, I'll give you a gift. This is called a spiritshot. Spiritshots make your magical attacks much stronger. However, it only works once, so you should save it for the right moment.<br>
<img src="L2UI_CH3.tutorial_img19" width=64 height=64><br>
Take this Leaf of the Mother Tree to <font color="LEVEL">Nerupa</font> over there. She has a gift for you.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Newbie Helper:<br>
Speak with <font color="LEVEL">Nerupa</font> over there. She has a gift for you.<br>
May the goddess of luck be with you!
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Newbie Helper:<br>
I've taught you all I can, my child. Go now, out into the world! Live every day like it was your last! It very well might be!
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Foreman Laferon:<br>
First, you must learn the basic methods of control in the game. Let me introduce my little friend, the <font color="LEVEL">Newbie Helper</font>.<br>
Follow his instructions and you'll quickly learn things that you'll need in the game.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Foreman Laferon:<br>
Pleased to meet you, my young friend! I'm foreman of this strip mine, and have trained many fine young Dwarves here.<br>
Have you gotten a mining license from the Newbie Helper?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial reward_2">"I have a mining license."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,4 +1,3 @@
<html><body>Foreman Laferon:<br>
Go to <font color="LEVEL">Dwarven Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
Go to <font color="LEVEL">Dwarven Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice. He also has a gift for you.<br>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As promised, I'll give you a gift. This is a soulshot. It will make your attacks much stronger. Take heed, it only works once, so use it wisely.<br>
<img src="L2UI_CH3.tutorial_img18" width=64 height=64><br>
Take this mining license to <font color="LEVEL">Foreman Laferon</font> over there. He has a gift for you.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As I promised, I'll give you a gift. This is called a spiritshot. Spiritshots make your magical attacks much stronger. However, it only works once, so you should save it for the right moment.<br>
<img src="L2UI_CH3.tutorial_img19" width=64 height=64><br>
Take this mining license to <font color="LEVEL">Foreman Laferon</font> over there. He has a gift for you.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Newbie Helper:<br>
Speak with <font color="LEVEL">Foreman Laferon</font> over there. He has a gift for you.<br>
May the goddess of luck be with you!
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Newbie Helper:<br>
I've taught you all I can, my child. Go now, out into the world! Live every day like it was your last! It very well might be!
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Flame Guardian Vulkus:<br>
First, you must learn the basic methods of control in the game. Let me introduce my little friend, the <font color="LEVEL">Newbie Helper</font>.<br>
Follow his instructions and you'll quickly learn things that you'll need in the game.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Flame Guardian Vulkus:<br>
Tejakar Oroka! I am Flame Guardian Vulkus! My role is to teach the fighting spirit of Pa'agrio to young orcs!<br>
Did you get the Voucher of Flame from the Newbie Helper?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial reward_2">"I brought the Voucher of Flame."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,4 +1,3 @@
<html><body>Flame Guardian Vulkus:<br>
Go to <font color="LEVEL">Orc Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
Go to <font color="LEVEL">Orc Village</font> and meet the <font color="LEVEL">Newbie Guide</font>. He will give you much important advice. He also has a gift for you.<br>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As promised, I'll give you a gift. This is a soulshot. It will make your attacks much stronger. Take heed, it only works once, so use it wisely.<br>
<img src="L2UI_CH3.tutorial_img18" width=64 height=64><br>
Take this Voucher of Flame to <font color="LEVEL">Flame Guardian Vulkus</font> over there. He has a gift for you.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
You got a blue gem! Good work.<br>
As I promised, I'll give you a gift. This is called a spiritshot. Spiritshots make your magical attacks much stronger. However, it only works once, so you should save it for the right moment.<br>
<img src="L2UI_CH3.tutorial_img19" width=64 height=64><br>
Take this Voucher of Flame to <font color="LEVEL">Flame Guardian Vulkus</font> over there. He has a gift for you.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Newbie Helper:<br>
Speak with <font color="LEVEL">Flame Guardian Vulkus</font> over there. He has a gift for you.<br>
May the goddess of luck be with you!
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Newbie Helper:<br>
I've taught you all I can, my child. Go now, out into the world! Live every day like it was your last! It very well might be!
</body></html>

View File

@ -16,7 +16,9 @@
*/
package quests.Q00255_Tutorial;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.l2jmobius.Config;
@ -39,6 +41,8 @@ import com.l2jmobius.gameserver.model.holders.ItemHolder;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.network.NpcStringId;
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import com.l2jmobius.gameserver.network.serverpackets.PlaySound;
import com.l2jmobius.gameserver.network.serverpackets.TutorialCloseHtml;
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
@ -51,12 +55,24 @@ import com.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
public class Q00255_Tutorial extends Quest
{
// NPCs
private final static int STARTING_HELPER_HF = 30009;
private final static int STARTING_HELPER_HM = 30019;
private final static int STARTING_HELPER_EL = 30400;
private final static int STARTING_HELPER_DE = 30131;
private final static int STARTING_HELPER_OR = 30575;
private final static int STARTING_HELPER_DW = 30530;
private final static List<Integer> NEWBIE_HELPERS = new ArrayList<>();
{
NEWBIE_HELPERS.add(30009); // human fighter
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
}
private final static List<Integer> SUPERVISORS = new ArrayList<>();
{
SUPERVISORS.add(30008); // human fighter
SUPERVISORS.add(30017); // human mystic
SUPERVISORS.add(30370); // elf
SUPERVISORS.add(30129); // dark elf
SUPERVISORS.add(30573); // orc
SUPERVISORS.add(30528); // dwarf
}
// Monsters
private final static int[] GREMLINS =
{
@ -105,13 +121,14 @@ public class Q00255_Tutorial extends Quest
COMPLETE_LOCATION.put(53, new Location(115632, -177996, -905));
}
private static final String TUTORIAL_BUYPASS = "Quest Q00255_Tutorial ";
private final static String TUTORIAL_SHOT_VAR = "TUTORIAL_SHOT_REWARDED";
public Q00255_Tutorial()
{
super(255);
addTalkId(STARTING_HELPER_HF, STARTING_HELPER_HM, STARTING_HELPER_EL, STARTING_HELPER_DE, STARTING_HELPER_OR, STARTING_HELPER_DW);
addFirstTalkId(STARTING_HELPER_HF, STARTING_HELPER_HM, STARTING_HELPER_EL, STARTING_HELPER_DE, STARTING_HELPER_OR, STARTING_HELPER_DW);
addTalkId(NEWBIE_HELPERS);
addTalkId(SUPERVISORS);
addFirstTalkId(NEWBIE_HELPERS);
addFirstTalkId(SUPERVISORS);
addKillId(GREMLINS);
registerQuestItems(BLUE_GEM);
}
@ -128,15 +145,9 @@ public class Q00255_Tutorial extends Quest
String htmltext = null;
switch (event)
{
case "tutorial_02.html":
{
playTutorialVoice(player, "tutorial_voice_003");
showTutorialHtml(player, event);
break;
}
case "start_newbie_tutorial":
{
if (!qs.isCompleted())
if (qs.getMemoState() < 4)
{
qs.startQuest();
qs.setMemoState(1);
@ -145,15 +156,44 @@ public class Q00255_Tutorial extends Quest
}
break;
}
case "goto_newbie_guide":
case "tutorial_02.html":
case "tutorial_03.html":
{
if (qs.getMemoState() == 2)
if (qs.isMemoState(1))
{
qs.setMemoState(3);
showTutorialHtml(player, event);
}
break;
}
case "question_mark_1":
{
if (qs.isMemoState(1))
{
player.sendPacket(new TutorialShowQuestionMark(1, 0));
player.sendPacket(TutorialCloseHtml.STATIC_PACKET);
player.clearHtmlActions(HtmlActionScope.TUTORIAL_HTML);
}
break;
}
case "reward_2":
{
if (qs.isMemoState(4))
{
qs.setMemoState(5);
if (player.isMageClass() && (player.getRace() != Race.ORC))
{
giveItems(player, SPIRITSHOT_REWARD);
playTutorialVoice(player, "tutorial_voice_027");
}
else
{
giveItems(player, SOULSHOT_REWARD);
playTutorialVoice(player, "tutorial_voice_026");
}
htmltext = (npc != null ? npc.getId() : player.getTarget().getId()) + "-3.html";
final int classId = player.getClassId().getId();
addRadar(player, HELPER_LOCATION.get(classId).getX(), HELPER_LOCATION.get(classId).getY(), HELPER_LOCATION.get(classId).getZ());
addRadar(player, COMPLETE_LOCATION.get(classId).getX(), COMPLETE_LOCATION.get(classId).getY(), COMPLETE_LOCATION.get(classId).getZ());
playSound(player, "ItemSound.quest_tutorial");
htmltext = "tutorial_11.html";
}
break;
}
@ -168,53 +208,104 @@ public class Q00255_Tutorial extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs != null)
{
if (!qs.isCompleted() && (qs.getMemoState() > 1) && hasQuestItems(player, BLUE_GEM))
// start newbie helpers
if (NEWBIE_HELPERS.contains(npc.getId()))
{
player.getVariables().set(TUTORIAL_SHOT_VAR, false);
qs.exitQuest(false, false); // finish here!
if (hasQuestItems(player, BLUE_GEM))
{
qs.setMemoState(3);
}
switch (qs.getMemoState())
{
case 0:
case 1:
{
player.sendPacket(TutorialCloseHtml.STATIC_PACKET);
player.clearHtmlActions(HtmlActionScope.TUTORIAL_HTML);
qs.setMemoState(2);
if (!player.isMageClass())
{
return "tutorial_05_fighter.html";
}
else if (player.getRace() == Race.ORC)
{
return "tutorial_05_mystic_orc.html";
}
return "tutorial_05_mystic.html";
}
case 2:
{
if (!player.isMageClass())
{
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:
{
player.sendPacket(TutorialCloseHtml.STATIC_PACKET);
player.clearHtmlActions(HtmlActionScope.TUTORIAL_HTML);
qs.setMemoState(4);
takeItems(player, BLUE_GEM, -1);
if (player.isMageClass() && (player.getRace() != Race.ORC))
{
giveItems(player, SPIRITSHOT_REWARD);
playTutorialVoice(player, "tutorial_voice_027");
return npc.getId() + "-3.html";
}
else
{
giveItems(player, SOULSHOT_REWARD);
playTutorialVoice(player, "tutorial_voice_026");
return npc.getId() + "-2.html";
}
final int classId = player.getClassId().getId();
addRadar(player, COMPLETE_LOCATION.get(classId).getX(), COMPLETE_LOCATION.get(classId).getY(), COMPLETE_LOCATION.get(classId).getZ());
playSound(player, "ItemSound.quest_tutorial");
}
if (qs.isCompleted())
case 4:
{
return "tutorial_15.html";
return npc.getId() + "-4.html";
}
}
return "tutorial_09.html";
}
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
case 5:
case 6:
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCompleted())
{
return "tutorial_newbie_done.html";
return npc.getId() + "-5.html";
}
return npc.getId() + ".html";
}
}
// else supervisors
switch (qs.getMemoState())
{
case 0:
case 1:
case 2:
case 3:
{
return npc.getId() + "-1.html";
}
case 4:
{
return npc.getId() + "-2.html";
}
case 5:
case 6:
{
return npc.getId() + "-3.html";
}
}
}
return npc.getId() + "-1.html";
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && (qs.getMemoState() < 2) && !hasQuestItems(killer, BLUE_GEM) && (getRandom(100) < 30))
if ((qs != null) && qs.isMemoState(2) && !hasQuestItems(killer, BLUE_GEM) && (getRandom(100) < 30))
{
// check for too many gems on ground
int counter = 0;
@ -227,12 +318,6 @@ public class Q00255_Tutorial extends Quest
}
if (counter < 10) // do not drop if more than 10
{
if (qs.getMemoState() <= 1)
{
playSound(killer, "ItemSound.quest_tutorial");
playTutorialVoice(killer, "tutorial_voice_011");
showTutorialHtml(killer, "tutorial_09t.html");
}
npc.dropItem(killer, BLUE_GEM, 1);
}
}
@ -246,11 +331,9 @@ public class Q00255_Tutorial extends Quest
{
final L2PcInstance player = event.getActiveChar();
final QuestState qs = getQuestState(player, false);
if ((qs != null) && (qs.getMemoState() == 1))
if ((qs != null) && (qs.getMemoState() == 2))
{
player.sendPacket(TutorialCloseHtml.STATIC_PACKET);
player.clearHtmlActions(HtmlActionScope.TUTORIAL_HTML);
qs.setMemoState(2);
qs.setMemoState(3);
playSound(player, "ItemSound.quest_tutorial");
playTutorialVoice(player, "tutorial_voice_013");
player.sendPacket(new TutorialShowQuestionMark(1, 0));
@ -264,7 +347,20 @@ public class Q00255_Tutorial extends Quest
final QuestState qs = getQuestState(event.getActiveChar(), false);
if ((qs != null) && (event.getMarkId() == 1)) // tutorial mark
{
notifyEvent("goto_newbie_guide", null, event.getActiveChar());
if (qs.isMemoState(1))
{
showOnScreenMsg(event.getActiveChar(), NpcStringId.SPEAK_WITH_THE_NEWBIE_HELPER, ExShowScreenMessage.TOP_CENTER, 5000);
showTutorialHtml(event.getActiveChar(), "tutorial_04.html");
final int classId = event.getActiveChar().getClassId().getId();
addRadar(event.getActiveChar(), HELPER_LOCATION.get(classId).getX(), HELPER_LOCATION.get(classId).getY(), HELPER_LOCATION.get(classId).getZ());
}
else if (qs.isMemoState(3))
{
showOnScreenMsg(event.getActiveChar(), NpcStringId.SPEAK_WITH_THE_NEWBIE_HELPER, ExShowScreenMessage.TOP_CENTER, 5000);
showTutorialHtml(event.getActiveChar(), "tutorial_06.html");
final int classId = event.getActiveChar().getClassId().getId();
addRadar(event.getActiveChar(), HELPER_LOCATION.get(classId).getX(), HELPER_LOCATION.get(classId).getY(), HELPER_LOCATION.get(classId).getZ());
}
}
}
@ -295,7 +391,7 @@ public class Q00255_Tutorial extends Quest
}
QuestState qs = getQuestState(player, true);
if ((qs != null) && !qs.isCompleted() && STARTING_VOICE_HTML.containsKey(player.getClassId().getId()))
if ((qs != null) && (qs.getMemoState() < 4) && STARTING_VOICE_HTML.containsKey(player.getClassId().getId()))
{
startQuestTimer("start_newbie_tutorial", 5000, null, player);
}

View File

@ -1,5 +1,5 @@
<html><body>
<center><font color="LEVEL">[Movement]</font></center><br>
Move your mouse cursor to the spot to which you want to move and <font color="FF0000">left-click</font>. Then, you will be moved to that location.<img src="L2UI_CH3.tutorial_img01" width=64 height=64><img src="L2UI_CH3.tutorial_img021" width=64 height=64><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_tutorial">Exit the Tutorial</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_03.html">Exit the Tutorial</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>
Are you sure you want to exit the tutorial regarding moving?<br1>
Once you exit, you will not be able to view this tutorial again.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">"Keep explaining, please.""</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial question_mark_1">"I'm done."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body><center><font color="LEVEL">[Talk to the Newbie Helper]</font></center><br>
No go find the <font color="LEVEL">Newbie Helper</font>.<br>
Move the mouse over the Newbie Helper's head and click the <font color="LEVEL">left button</font>. The mouse will display a <font color="LEVEL">speech bubble</font>, which you can click again to start a conversation.<br>
Use the <font color="LEVEL">radar</font> on the top right corner to find the Newbie Helper.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_tutorial">Close</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Newbie Helper:<br>
Welcome! Are you ready for a mission?<br1>
Have you seen the gremlins around here? They've stolen the precious Blue Gemstone!<br>
<font color="LEVEL">You must recover it from them!</font><br>Place your cursor over a Gremlin and click the <font color="FF0000">left button</font>. The cursor will change to a sword. Click again to attack. <img src="L2UI_CH3.tutorial_img12" width=64 height=64><br>
Do this and you shall be well-rewarded. Good luck!<br>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Newbie Helper:<br>
Go and get a Blue Gemstone! <font color="LEVEL">Don't you remember? You've got to kill Gremlins!</font><br>
Move your cursor over a Gremlin and click the<font color="FF0000"> left mouse button</font>. This will transform the cursor into the shape of a knife. Click the left mouse button again to attack. <img src="L2UI_CH3.tutorial_img12" width=64 height=64><br>
Do this and you shall be well-rewarded. Good luck!<br>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Newbie Helper:<br>
Welcome! Are you ready for a mission? <br>
Have you seen the Gremlins around here? They've stolen the precious Blue Gemstone!<br>
<font color="LEVEL">You must recover it from them! </font><br>
I'll tell you again how to kill the Gremlins. Place your cursor over a Gremlin and click the <font color="FF0000">left button</font>. The cursor will change to a sword. Click the <font color="FF0000">F2 key</font> to attack with <font color="LEVEL">Wind Strike</font> magic.<br>
<img src="L2UI_CH3.tutorial_img12" width=64 height=64><table border=0><tr><td><img src="L2UI_CH3.tutorial_img133" width=64 height=64></td><td><img src="L2UI_CH3.tutorial_img16" width=64 height=64></td></tr></table><br>
Complete this mission and I'll reward you with useful items. Good luck!
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Newbie Helper:<br>
Did you forget what to do? Get a blue gem! <font color="LEVEL">You must kill Gremlins to get a blue gem.</font> <br>
Kill, kill, kill the Gremlins! Put your cursor over a Gremlin and click the <font color="FF0000">left mouse button</font>. It turns into a knife. Press the <font color="FF0000">F2 key</font> to attack using <font color="LEVEL">wind strike</font> magic.<br>
<img src="L2UI_CH3.tutorial_img12" width=64 height=64>
<table border=0><tr><td><img src="L2UI_CH3.tutorial_img133" width=64 height=64></td><td><img src="L2UI_CH3.tutorial_img16" width=64 height=64></td></tr></table><br>
Do it quick and I'll give you something you'll need later.
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Newbie Helper:<br>
Welcome! Are you ready for a mission?<br>
Have you seen the Gremlins around here? They've stolen the precious Blue Gemstone!<br>
<font color="LEVEL">You must recover it from them! </font><br>
Place your cursor over a Gremlin and click the <font color="FF0000">left button</font>. The cursor will change to a sword. Click the left button again to attack.<img src="L2UI_CH3.tutorial_img12" width=64 height=64><br>
Before striking, to enhance the strength of your attack, use <font color="LEVEL">Soul Cry</font> magic by clicking the <font color="FF0000">F2 key</font>. Click it again to turn off the magic.
<table border=0><tr><td><img src="L2UI_CH3.tutorial_img133" width=64 height=64></td><td><img src="L2UI_CH3.tutorial_img17" width=64 height=64></td></tr></table><br>
You shall be well-rewarded for your efforts. Good luck.
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Newbie Helper:<br>
Go and get a blue gem! <font color="LEVEL">Don't you remember? You've got to kill Gremlins!</font><br>
Move your cursor over a Gremlin and click the<font color="FF0000"> left mouse button</font>. This will transform the cursor into the shape of a knife. Click the left mouse button again to attack. <img src="L2UI_CH3.tutorial_img12" width=64 height=64><br>
Use <font color="LEVEL">Soul Cry</font> magic before attacking. This will improve your chances greatly. To activate Soul Cry magic, press the<font color="FF0000"> F2 key</font>, and again to de-activate it.
<table border=0><tr><td><img src="L2UI_CH3.tutorial_img133" width=64 height=64></td><td><img src="L2UI_CH3.tutorial_img17" width=64 height=64></td></tr></table><br>
Do this and you shall be well-rewarded. Good luck!
</body></html>

View File

@ -1,5 +1,5 @@
<html><body>
Oh, you found the Blue Gemstone. Good job!<br>
Now, return and have a conversation with the newbie helper.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_window">Close Window</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_tutorial">Close Window</Button>
</body></html>

View File

@ -1,5 +0,0 @@
<html><body>
<center><font color="LEVEL">[Picking Up Items]</font></center><br>When you defeat monsters, they drop their items on the ground. Move your cursor over to the dropped item, and the cursor will change its shape to a hand-shaped icon, indicating that the item may be picked up. Left-click on the item to pick it up.<br>
<img src="L2UI_CH3.tutorial_img06" width=64 height=64><br>There is another way to pick up an item. Press the <font color="LEVEL">F4 key</font> and you can automatically pick up nearby items. Currently, the fourth slot on the shortcut bar is registered with the pickup action and therefore, when you press the F4 key, that action is activated.<table border=0><tr><td><img src="L2UI_CH3.tutorial_img151" width=64 height=64></td><td><img src="L2UI_CH3.tutorial_img20" width=64 height=64></td></tr></table><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_window">Close Window</Button>
</body></html>

View File

@ -1,5 +0,0 @@
<html><body>
<center><font color="LEVEL">[Picking Up Items]</font></center><br>When you defeat monsters, they drop their items on the ground. Move your cursor over to the dropped item, and the cursor will change its shape to a hand-shaped icon, indicating that the item may be picked up. Left-click on the item to pick it up.<br>
<img src="L2UI_CH3.tutorial_img06" width=64 height=64><br>There is another way to pick up an item. Press the <font color="LEVEL">F4 key</font> and you can automatically pick up nearby items. Currently, the fourth slot on the shortcut bar is registered with the pickup action and therefore, when you press the F4 key, that action is activated.<table border=0><tr><td><img src="L2UI_CH3.tutorial_img151" width=64 height=64></td><td><img src="L2UI_CH3.tutorial_img20" width=64 height=64></td></tr></table><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_tutorial">Close Window</Button>
</body></html>

View File

@ -1,6 +0,0 @@
<html><body>
<center><font color="LEVEL">[View Map]</font></center><br>
To see the map during the game, click on the <font color="FF0000">map-shaped icon</font> on the bottom right screen.<br>
<img src="L2UI_CH3.tutorial_img09" width=175 height=110><br>When viewing the map, the newbie guide's location is marked with a red flag.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_window">Close window.</Button>
</body></html>

View File

@ -30387,8 +30387,8 @@ public final class NpcStringId
@ClientString(id = 1802763, message = "You think this will be enough to defeat me? Not a chance!")
public static NpcStringId YOU_THINK_THIS_WILL_BE_ENOUGH_TO_DEFEAT_ME_NOT_A_CHANCE;
@ClientString(id = 1802764, message = "STABILIZING BLAZING SWAMP")
public static NpcStringId STABILIZING_BLAZING_SWAMP;
@ClientString(id = 1802764, message = "Speak with the Newbie Helper.")
public static NpcStringId SPEAK_WITH_THE_NEWBIE_HELPER;
@ClientString(id = 1802765, message = "Defense Reduction")
public static NpcStringId DEFENSE_REDUCTION;