Tutorial quest improvements.

This commit is contained in:
MobiusDev
2017-07-31 21:00:41 +00:00
parent 68b6229c07
commit 665523f7d9
9 changed files with 36 additions and 17 deletions

View File

@@ -111,6 +111,7 @@ public class Q00255_Tutorial extends Quest
{ {
super(255); super(255);
addTalkId(STARTING_HELPER_HF, STARTING_HELPER_HM, STARTING_HELPER_EL, STARTING_HELPER_DE, STARTING_HELPER_OR, STARTING_HELPER_DW); 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); addKillId(GREMLINS);
registerQuestItems(BLUE_GEM); registerQuestItems(BLUE_GEM);
} }
@@ -170,7 +171,9 @@ public class Q00255_Tutorial extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState qs = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((qs != null) && !qs.isCompleted() && (qs.getMemoState() > 1) && hasQuestItems(player, BLUE_GEM)) if (qs != null)
{
if (!qs.isCompleted() && (qs.getMemoState() > 1) && hasQuestItems(player, BLUE_GEM))
{ {
player.getVariables().set(TUTORIAL_SHOT_VAR, false); player.getVariables().set(TUTORIAL_SHOT_VAR, false);
qs.exitQuest(false, false); // finish here! qs.exitQuest(false, false); // finish here!
@@ -188,18 +191,30 @@ public class Q00255_Tutorial extends Quest
addRadar(player, COMPLETE_LOCATION.get(classId).getX(), COMPLETE_LOCATION.get(classId).getY(), COMPLETE_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"); playSound(player, "ItemSound.quest_tutorial");
} }
if ((qs != null) && (qs.isCompleted() || (qs.getMemoState() > 1))) if (qs.isCompleted())
{ {
return "tutorial_15.html"; return "tutorial_15.html";
} }
}
return "tutorial_09.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 @Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{ {
final QuestState qs = getQuestState(killer, false); 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 // check for too many gems on ground
int counter = 0; int counter = 0;

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

@@ -41,3 +41,4 @@ TODO list
-Custom ClassMaster NPCs -Custom ClassMaster NPCs
-Blacksmith NPC updates -Blacksmith NPC updates
-Floran Agricultural Area clan halls -Floran Agricultural Area clan halls
-Test Castle Sieges and Merc stats