Removed Saviors Path Discovery (10885) popup.

Thanks to dontknowdontcare.
This commit is contained in:
MobiusDevelopment 2022-08-06 21:45:24 +00:00
parent ef8396c987
commit f2dbf81567
4 changed files with 72 additions and 400 deletions

View File

@ -16,26 +16,11 @@
*/ */
package quests.Q10885_SaviorsPathDiscovery; package quests.Q10885_SaviorsPathDiscovery;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player; 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.OnPlayerBypass;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerPressTutorialMark;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State; import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import org.l2jmobius.gameserver.network.serverpackets.TutorialCloseHtml;
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
/** /**
* Savior's Path - Discovery (10885) * Savior's Path - Discovery (10885)
@ -47,17 +32,17 @@ public class Q10885_SaviorsPathDiscovery extends Quest
// NPCs // NPCs
private static final int LEONA_BLACKBIRD = 34425; private static final int LEONA_BLACKBIRD = 34425;
private static final int ELIKIA = 34057; private static final int ELIKIA = 34057;
// Items // Item
private static final int LEONA_BLACKBIRDS_MESSAGE = 48545; private static final int LEONA_BLACKBIRDS_MESSAGE = 48545;
// Misc // Misc
private static final int MIN_LEVEL = 103; private static final int MIN_LEVEL = 103;
private final NpcStringId _startMessage = NpcStringId.A_MESSAGE_HAS_ARRIVED_FROM_LEONA_BLACKBIRD_NCLICK_THE_QUESTION_MARK_ICON_TO_READ_IT;
public Q10885_SaviorsPathDiscovery() public Q10885_SaviorsPathDiscovery()
{ {
super(10885); super(10885);
addStartNpc(ELIKIA);
addTalkId(LEONA_BLACKBIRD, ELIKIA); addTalkId(LEONA_BLACKBIRD, ELIKIA);
addCondMinLevel(MIN_LEVEL, "34425-00.html"); addCondMinLevel(MIN_LEVEL, "34057-00.html");
registerQuestItems(LEONA_BLACKBIRDS_MESSAGE); registerQuestItems(LEONA_BLACKBIRDS_MESSAGE);
} }
@ -71,13 +56,13 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "34057-03.html": case "34057-03.html":
{ {
if (qs.isCond(1) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(1))
{ {
takeItems(player, -1, LEONA_BLACKBIRDS_MESSAGE);
qs.setCond(2); qs.setCond(2);
} }
htmltext = event; htmltext = event;
@ -85,7 +70,7 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
case "34057-05.html": case "34057-05.html":
{ {
if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(2))
{ {
qs.setCond(3); qs.setCond(3);
} }
@ -94,7 +79,7 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
case "34425-03.html": case "34425-03.html":
{ {
if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(3))
{ {
if ((player.getLevel() >= MIN_LEVEL)) if ((player.getLevel() >= MIN_LEVEL))
{ {
@ -120,13 +105,21 @@ public class Q10885_SaviorsPathDiscovery extends Quest
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED:
{
if (npc.getId() == ELIKIA)
{
htmltext = "34057-01.htm";
}
break;
}
case State.STARTED: case State.STARTED:
{ {
switch (npc.getId()) switch (npc.getId())
{ {
case LEONA_BLACKBIRD: case LEONA_BLACKBIRD:
{ {
if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(3))
{ {
htmltext = "34425-01.htm"; htmltext = "34425-01.htm";
} }
@ -140,16 +133,9 @@ public class Q10885_SaviorsPathDiscovery extends Quest
{ {
if (qs.isCond(1)) if (qs.isCond(1))
{ {
if (hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) htmltext = "34057-01.htm";
{
htmltext = "34057-01.htm";
}
else
{
htmltext = "34057-02.html";
}
} }
else if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) else if (qs.isCond(2))
{ {
htmltext = "34057-04.htm"; htmltext = "34057-04.htm";
} }
@ -166,72 +152,4 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
return htmltext; return htmltext;
} }
@RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
{
final Player player = event.getPlayer();
if ((event.getMarkId() == getId()) && canStartQuest(player))
{
final String html = getHtm(player, "Message.html");
final QuestState qs = getQuestState(player, true);
qs.startQuest();
player.sendPacket(new TutorialShowHtml(html));
giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
}
}
@RegisterEvent(EventType.ON_PLAYER_BYPASS)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerBypass(OnPlayerBypass event)
{
if (event.getCommand().startsWith("Quest Q10885_SaviorsPathDiscovery "))
{
final String html = onAdvEvent(event.getCommand().substring(34), null, event.getPlayer());
event.getPlayer().sendPacket(TutorialCloseHtml.STATIC_PACKET);
showResult(event.getPlayer(), html);
}
}
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{
final Player player = event.getPlayer();
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (event.getOldLevel() < event.getNewLevel()) && canStartQuest(player))
{
player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLogin(OnPlayerLogin event)
{
final Player player = event.getPlayer();
if (player == null)
{
return;
}
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (player.getLevel() > MIN_LEVEL))
{
player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
@Override
public void onQuestAborted(Player player)
{
final QuestState qs = getQuestState(player, true);
qs.startQuest();
giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
player.sendPacket(SystemMessageId.THIS_QUEST_CANNOT_BE_DELETED);
}
} }

View File

@ -16,26 +16,11 @@
*/ */
package quests.Q10885_SaviorsPathDiscovery; package quests.Q10885_SaviorsPathDiscovery;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player; 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.OnPlayerBypass;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerPressTutorialMark;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State; import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import org.l2jmobius.gameserver.network.serverpackets.TutorialCloseHtml;
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
/** /**
* Savior's Path - Discovery (10885) * Savior's Path - Discovery (10885)
@ -47,17 +32,17 @@ public class Q10885_SaviorsPathDiscovery extends Quest
// NPCs // NPCs
private static final int LEONA_BLACKBIRD = 34425; private static final int LEONA_BLACKBIRD = 34425;
private static final int ELIKIA = 34057; private static final int ELIKIA = 34057;
// Items // Item
private static final int LEONA_BLACKBIRDS_MESSAGE = 48545; private static final int LEONA_BLACKBIRDS_MESSAGE = 48545;
// Misc // Misc
private static final int MIN_LEVEL = 103; private static final int MIN_LEVEL = 103;
private final NpcStringId _startMessage = NpcStringId.A_MESSAGE_HAS_ARRIVED_FROM_LEONA_BLACKBIRD_NCLICK_THE_QUESTION_MARK_ICON_TO_READ_IT;
public Q10885_SaviorsPathDiscovery() public Q10885_SaviorsPathDiscovery()
{ {
super(10885); super(10885);
addStartNpc(ELIKIA);
addTalkId(LEONA_BLACKBIRD, ELIKIA); addTalkId(LEONA_BLACKBIRD, ELIKIA);
addCondMinLevel(MIN_LEVEL, "34425-00.html"); addCondMinLevel(MIN_LEVEL, "34057-00.html");
registerQuestItems(LEONA_BLACKBIRDS_MESSAGE); registerQuestItems(LEONA_BLACKBIRDS_MESSAGE);
} }
@ -71,13 +56,13 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "34057-03.html": case "34057-03.html":
{ {
if (qs.isCond(1) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(1))
{ {
takeItems(player, -1, LEONA_BLACKBIRDS_MESSAGE);
qs.setCond(2); qs.setCond(2);
} }
htmltext = event; htmltext = event;
@ -85,7 +70,7 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
case "34057-05.html": case "34057-05.html":
{ {
if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(2))
{ {
qs.setCond(3); qs.setCond(3);
} }
@ -94,7 +79,7 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
case "34425-03.html": case "34425-03.html":
{ {
if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(3))
{ {
if ((player.getLevel() >= MIN_LEVEL)) if ((player.getLevel() >= MIN_LEVEL))
{ {
@ -120,13 +105,21 @@ public class Q10885_SaviorsPathDiscovery extends Quest
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED:
{
if (npc.getId() == ELIKIA)
{
htmltext = "34057-01.htm";
}
break;
}
case State.STARTED: case State.STARTED:
{ {
switch (npc.getId()) switch (npc.getId())
{ {
case LEONA_BLACKBIRD: case LEONA_BLACKBIRD:
{ {
if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(3))
{ {
htmltext = "34425-01.htm"; htmltext = "34425-01.htm";
} }
@ -140,16 +133,9 @@ public class Q10885_SaviorsPathDiscovery extends Quest
{ {
if (qs.isCond(1)) if (qs.isCond(1))
{ {
if (hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) htmltext = "34057-01.htm";
{
htmltext = "34057-01.htm";
}
else
{
htmltext = "34057-02.html";
}
} }
else if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) else if (qs.isCond(2))
{ {
htmltext = "34057-04.htm"; htmltext = "34057-04.htm";
} }
@ -166,72 +152,4 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
return htmltext; return htmltext;
} }
@RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
{
final Player player = event.getPlayer();
if ((event.getMarkId() == getId()) && canStartQuest(player))
{
final String html = getHtm(player, "Message.html");
final QuestState qs = getQuestState(player, true);
qs.startQuest();
player.sendPacket(new TutorialShowHtml(html));
giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
}
}
@RegisterEvent(EventType.ON_PLAYER_BYPASS)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerBypass(OnPlayerBypass event)
{
if (event.getCommand().startsWith("Quest Q10885_SaviorsPathDiscovery "))
{
final String html = onAdvEvent(event.getCommand().substring(34), null, event.getPlayer());
event.getPlayer().sendPacket(TutorialCloseHtml.STATIC_PACKET);
showResult(event.getPlayer(), html);
}
}
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{
final Player player = event.getPlayer();
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (event.getOldLevel() < event.getNewLevel()) && canStartQuest(player))
{
player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLogin(OnPlayerLogin event)
{
final Player player = event.getPlayer();
if (player == null)
{
return;
}
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (player.getLevel() > MIN_LEVEL))
{
player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
@Override
public void onQuestAborted(Player player)
{
final QuestState qs = getQuestState(player, true);
qs.startQuest();
giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
player.sendPacket(SystemMessageId.THIS_QUEST_CANNOT_BE_DELETED);
}
} }

View File

@ -16,26 +16,11 @@
*/ */
package quests.Q10885_SaviorsPathDiscovery; package quests.Q10885_SaviorsPathDiscovery;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player; 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.OnPlayerBypass;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerPressTutorialMark;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State; import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import org.l2jmobius.gameserver.network.serverpackets.TutorialCloseHtml;
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
/** /**
* Savior's Path - Discovery (10885) * Savior's Path - Discovery (10885)
@ -47,17 +32,17 @@ public class Q10885_SaviorsPathDiscovery extends Quest
// NPCs // NPCs
private static final int LEONA_BLACKBIRD = 34425; private static final int LEONA_BLACKBIRD = 34425;
private static final int ELIKIA = 34057; private static final int ELIKIA = 34057;
// Items // Item
private static final int LEONA_BLACKBIRDS_MESSAGE = 48545; private static final int LEONA_BLACKBIRDS_MESSAGE = 48545;
// Misc // Misc
private static final int MIN_LEVEL = 103; private static final int MIN_LEVEL = 103;
private final NpcStringId _startMessage = NpcStringId.YOU_VE_GOT_A_MESSAGE_FROM_LEONA_BLACKBIRD_CLICK_THE_QUESTION_MARK_ICON_TO_READ;
public Q10885_SaviorsPathDiscovery() public Q10885_SaviorsPathDiscovery()
{ {
super(10885); super(10885);
addStartNpc(ELIKIA);
addTalkId(LEONA_BLACKBIRD, ELIKIA); addTalkId(LEONA_BLACKBIRD, ELIKIA);
addCondMinLevel(MIN_LEVEL, "34425-00.html"); addCondMinLevel(MIN_LEVEL, "34057-00.html");
registerQuestItems(LEONA_BLACKBIRDS_MESSAGE); registerQuestItems(LEONA_BLACKBIRDS_MESSAGE);
} }
@ -71,13 +56,13 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "34057-03.html": case "34057-03.html":
{ {
if (qs.isCond(1) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(1))
{ {
takeItems(player, -1, LEONA_BLACKBIRDS_MESSAGE);
qs.setCond(2); qs.setCond(2);
} }
htmltext = event; htmltext = event;
@ -85,7 +70,7 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
case "34057-05.html": case "34057-05.html":
{ {
if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(2))
{ {
qs.setCond(3); qs.setCond(3);
} }
@ -94,7 +79,7 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
case "34425-03.html": case "34425-03.html":
{ {
if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(3))
{ {
if ((player.getLevel() >= MIN_LEVEL)) if ((player.getLevel() >= MIN_LEVEL))
{ {
@ -120,13 +105,21 @@ public class Q10885_SaviorsPathDiscovery extends Quest
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED:
{
if (npc.getId() == ELIKIA)
{
htmltext = "34057-01.htm";
}
break;
}
case State.STARTED: case State.STARTED:
{ {
switch (npc.getId()) switch (npc.getId())
{ {
case LEONA_BLACKBIRD: case LEONA_BLACKBIRD:
{ {
if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(3))
{ {
htmltext = "34425-01.htm"; htmltext = "34425-01.htm";
} }
@ -140,16 +133,9 @@ public class Q10885_SaviorsPathDiscovery extends Quest
{ {
if (qs.isCond(1)) if (qs.isCond(1))
{ {
if (hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) htmltext = "34057-01.htm";
{
htmltext = "34057-01.htm";
}
else
{
htmltext = "34057-02.html";
}
} }
else if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) else if (qs.isCond(2))
{ {
htmltext = "34057-04.htm"; htmltext = "34057-04.htm";
} }
@ -166,72 +152,4 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
return htmltext; return htmltext;
} }
@RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
{
final Player player = event.getPlayer();
if ((event.getMarkId() == getId()) && canStartQuest(player))
{
final String html = getHtm(player, "Message.html");
final QuestState qs = getQuestState(player, true);
qs.startQuest();
player.sendPacket(new TutorialShowHtml(html));
giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
}
}
@RegisterEvent(EventType.ON_PLAYER_BYPASS)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerBypass(OnPlayerBypass event)
{
if (event.getCommand().startsWith("Quest Q10885_SaviorsPathDiscovery "))
{
final String html = onAdvEvent(event.getCommand().substring(34), null, event.getPlayer());
event.getPlayer().sendPacket(TutorialCloseHtml.STATIC_PACKET);
showResult(event.getPlayer(), html);
}
}
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{
final Player player = event.getPlayer();
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (event.getOldLevel() < event.getNewLevel()) && canStartQuest(player))
{
player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLogin(OnPlayerLogin event)
{
final Player player = event.getPlayer();
if (player == null)
{
return;
}
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (player.getLevel() > MIN_LEVEL))
{
player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
@Override
public void onQuestAborted(Player player)
{
final QuestState qs = getQuestState(player, true);
qs.startQuest();
giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
player.sendPacket(SystemMessageId.THIS_QUEST_CANNOT_BE_DELETED);
}
} }

View File

@ -16,26 +16,11 @@
*/ */
package quests.Q10885_SaviorsPathDiscovery; package quests.Q10885_SaviorsPathDiscovery;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player; 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.OnPlayerBypass;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerPressTutorialMark;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State; import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import org.l2jmobius.gameserver.network.serverpackets.TutorialCloseHtml;
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
/** /**
* Savior's Path - Discovery (10885) * Savior's Path - Discovery (10885)
@ -47,17 +32,17 @@ public class Q10885_SaviorsPathDiscovery extends Quest
// NPCs // NPCs
private static final int LEONA_BLACKBIRD = 34425; private static final int LEONA_BLACKBIRD = 34425;
private static final int ELIKIA = 34057; private static final int ELIKIA = 34057;
// Items // Item
private static final int LEONA_BLACKBIRDS_MESSAGE = 48545; private static final int LEONA_BLACKBIRDS_MESSAGE = 48545;
// Misc // Misc
private static final int MIN_LEVEL = 103; private static final int MIN_LEVEL = 103;
private final NpcStringId _startMessage = NpcStringId.YOU_VE_GOT_A_LETTER_FROM_LEONA_BLACKBIRD_CLICK_THE_QUESTION_MARK_ICON_TO_READ_IT;
public Q10885_SaviorsPathDiscovery() public Q10885_SaviorsPathDiscovery()
{ {
super(10885); super(10885);
addStartNpc(ELIKIA);
addTalkId(LEONA_BLACKBIRD, ELIKIA); addTalkId(LEONA_BLACKBIRD, ELIKIA);
addCondMinLevel(MIN_LEVEL, "34425-00.html"); addCondMinLevel(MIN_LEVEL, "34057-00.html");
registerQuestItems(LEONA_BLACKBIRDS_MESSAGE); registerQuestItems(LEONA_BLACKBIRDS_MESSAGE);
} }
@ -71,13 +56,13 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "34057-03.html": case "34057-03.html":
{ {
if (qs.isCond(1) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(1))
{ {
takeItems(player, -1, LEONA_BLACKBIRDS_MESSAGE);
qs.setCond(2); qs.setCond(2);
} }
htmltext = event; htmltext = event;
@ -85,7 +70,7 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
case "34057-05.html": case "34057-05.html":
{ {
if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(2))
{ {
qs.setCond(3); qs.setCond(3);
} }
@ -94,7 +79,7 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
case "34425-03.html": case "34425-03.html":
{ {
if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(3))
{ {
if ((player.getLevel() >= MIN_LEVEL)) if ((player.getLevel() >= MIN_LEVEL))
{ {
@ -120,13 +105,21 @@ public class Q10885_SaviorsPathDiscovery extends Quest
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED:
{
if (npc.getId() == ELIKIA)
{
htmltext = "34057-01.htm";
}
break;
}
case State.STARTED: case State.STARTED:
{ {
switch (npc.getId()) switch (npc.getId())
{ {
case LEONA_BLACKBIRD: case LEONA_BLACKBIRD:
{ {
if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) if (qs.isCond(3))
{ {
htmltext = "34425-01.htm"; htmltext = "34425-01.htm";
} }
@ -140,16 +133,9 @@ public class Q10885_SaviorsPathDiscovery extends Quest
{ {
if (qs.isCond(1)) if (qs.isCond(1))
{ {
if (hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) htmltext = "34057-01.htm";
{
htmltext = "34057-01.htm";
}
else
{
htmltext = "34057-02.html";
}
} }
else if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE)) else if (qs.isCond(2))
{ {
htmltext = "34057-04.htm"; htmltext = "34057-04.htm";
} }
@ -166,72 +152,4 @@ public class Q10885_SaviorsPathDiscovery extends Quest
} }
return htmltext; return htmltext;
} }
@RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
{
final Player player = event.getPlayer();
if ((event.getMarkId() == getId()) && canStartQuest(player))
{
final String html = getHtm(player, "Message.html");
final QuestState qs = getQuestState(player, true);
qs.startQuest();
player.sendPacket(new TutorialShowHtml(html));
giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
}
}
@RegisterEvent(EventType.ON_PLAYER_BYPASS)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerBypass(OnPlayerBypass event)
{
if (event.getCommand().startsWith("Quest Q10885_SaviorsPathDiscovery "))
{
final String html = onAdvEvent(event.getCommand().substring(34), null, event.getPlayer());
event.getPlayer().sendPacket(TutorialCloseHtml.STATIC_PACKET);
showResult(event.getPlayer(), html);
}
}
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{
final Player player = event.getPlayer();
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (event.getOldLevel() < event.getNewLevel()) && canStartQuest(player))
{
player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLogin(OnPlayerLogin event)
{
final Player player = event.getPlayer();
if (player == null)
{
return;
}
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (player.getLevel() > MIN_LEVEL))
{
player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
@Override
public void onQuestAborted(Player player)
{
final QuestState qs = getQuestState(player, true);
qs.startQuest();
giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
player.sendPacket(SystemMessageId.THIS_QUEST_CANNOT_BE_DELETED);
}
} }