diff --git a/L2J_Mobius_Classic/dist/game/data/html/default/30009.htm b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30009.html similarity index 100% rename from L2J_Mobius_Classic/dist/game/data/html/default/30009.htm rename to L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30009.html diff --git a/L2J_Mobius_Classic/dist/game/data/html/default/30019.htm b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30019.html similarity index 100% rename from L2J_Mobius_Classic/dist/game/data/html/default/30019.htm rename to L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30019.html diff --git a/L2J_Mobius_Classic/dist/game/data/html/default/30131.htm b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30131.html similarity index 100% rename from L2J_Mobius_Classic/dist/game/data/html/default/30131.htm rename to L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30131.html diff --git a/L2J_Mobius_Classic/dist/game/data/html/default/30400.htm b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30400.html similarity index 100% rename from L2J_Mobius_Classic/dist/game/data/html/default/30400.htm rename to L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30400.html diff --git a/L2J_Mobius_Classic/dist/game/data/html/default/30530.htm b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30530.html similarity index 100% rename from L2J_Mobius_Classic/dist/game/data/html/default/30530.htm rename to L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30530.html diff --git a/L2J_Mobius_Classic/dist/game/data/html/default/30575.htm b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30575.html similarity index 100% rename from L2J_Mobius_Classic/dist/game/data/html/default/30575.htm rename to L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/30575.html diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java index 3cc1537d4f..e9af0213a5 100644 --- a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java @@ -111,6 +111,7 @@ public class Q00255_Tutorial extends Quest { 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); addKillId(GREMLINS); registerQuestItems(BLUE_GEM); } @@ -170,36 +171,50 @@ public class Q00255_Tutorial extends Quest public String onTalk(L2Npc npc, L2PcInstance player) { final QuestState qs = getQuestState(player, false); - if ((qs != null) && !qs.isCompleted() && (qs.getMemoState() > 1) && hasQuestItems(player, BLUE_GEM)) + if (qs != null) { - player.getVariables().set(TUTORIAL_SHOT_VAR, false); - qs.exitQuest(false, false); // finish here! - if (player.isMageClass() && (player.getRace() != Race.ORC)) + if (!qs.isCompleted() && (qs.getMemoState() > 1) && hasQuestItems(player, BLUE_GEM)) { - giveItems(player, SPIRITSHOT_REWARD); - playTutorialVoice(player, "tutorial_voice_027"); + player.getVariables().set(TUTORIAL_SHOT_VAR, false); + qs.exitQuest(false, false); // finish here! + 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"); + } + 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"); } - else + if (qs.isCompleted()) { - giveItems(player, SOULSHOT_REWARD); - playTutorialVoice(player, "tutorial_voice_026"); + return "tutorial_15.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 != null) && (qs.isCompleted() || (qs.getMemoState() > 1))) - { - return "tutorial_15.html"; } return "tutorial_09.html"; } + @Override + public String onFirstTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCompleted()) + { + return "tutorial_newbie_done.html"; + } + return npc.getId() + ".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)) + if ((qs != null) && (qs.getMemoState() < 2) && !hasQuestItems(killer, BLUE_GEM) && (getRandom(100) < 30)) { // check for too many gems on ground int counter = 0; diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/tutorial_newbie_done.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/tutorial_newbie_done.html new file mode 100644 index 0000000000..efa7551e49 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00255_Tutorial/tutorial_newbie_done.html @@ -0,0 +1,3 @@ +Newbie Helper:
+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! + \ No newline at end of file diff --git a/L2J_Mobius_Classic/readme.txt b/L2J_Mobius_Classic/readme.txt index 850ac9a52e..bc148b7211 100644 --- a/L2J_Mobius_Classic/readme.txt +++ b/L2J_Mobius_Classic/readme.txt @@ -41,3 +41,4 @@ TODO list -Custom ClassMaster NPCs -Blacksmith NPC updates -Floran Agricultural Area clan halls +-Test Castle Sieges and Merc stats