diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10962_NewHorizons/Q10962_NewHorizons.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10962_NewHorizons/Q10962_NewHorizons.java index 1abc583d26..5cc5f7a426 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10962_NewHorizons/Q10962_NewHorizons.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10962_NewHorizons/Q10962_NewHorizons.java @@ -132,7 +132,6 @@ public class Q10962_NewHorizons extends Quest htmltext = event; break; } - case "TELEPORT_TO_HUNTING_GROUND": { player.teleToLocation(-107827, 47535, -1448); @@ -156,12 +155,12 @@ public class Q10962_NewHorizons extends Quest giveItems(player, MOON_ARMOR); giveItems(player, MOON_GAUNTLETS); giveItems(player, MOON_BOOTS); - qs.exitQuest(false, true); if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) { showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); } + qs.exitQuest(false, true); htmltext = event; } break; @@ -179,12 +178,12 @@ public class Q10962_NewHorizons extends Quest giveItems(player, MOON_SHELL); giveItems(player, MOON_LEATHER_GLOVES); giveItems(player, MOON_SHOES); - qs.exitQuest(false, true); if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) { showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); } + qs.exitQuest(false, true); htmltext = event; } break; @@ -202,12 +201,12 @@ public class Q10962_NewHorizons extends Quest giveItems(player, MOON_CAPE); giveItems(player, MOON_SILK); giveItems(player, MOON_SANDALS); - qs.exitQuest(false, true); if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) { showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); } + qs.exitQuest(false, true); htmltext = event; } break; @@ -228,7 +227,6 @@ public class Q10962_NewHorizons extends Quest qs.set(KILL_COUNT_VAR, killCount); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); sendNpcLogList(killer); - } else { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10966_ATripBegins/Q10966_ATripBegins.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10966_ATripBegins/Q10966_ATripBegins.java index 127132cd6d..6efb2b01c8 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10966_ATripBegins/Q10966_ATripBegins.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10966_ATripBegins/Q10966_ATripBegins.java @@ -123,8 +123,8 @@ public class Q10966_ATripBegins extends Quest giveItems(player, ADVENTURERS_BRACELET); qs.exitQuest(false, true); htmltext = event; - break; } + break; } } return htmltext; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10982_SpiderHunt/Q10982_SpiderHunt.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10982_SpiderHunt/Q10982_SpiderHunt.java index 9c3f50ae9c..34fa31f5c0 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10982_SpiderHunt/Q10982_SpiderHunt.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10982_SpiderHunt/Q10982_SpiderHunt.java @@ -19,15 +19,24 @@ package quests.Q10982_SpiderHunt; import java.util.HashSet; import java.util.Set; +import org.l2jmobius.Config; +import org.l2jmobius.gameserver.data.xml.impl.CategoryData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +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.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import org.l2jmobius.gameserver.network.serverpackets.classchange.ExRequestClassChangeUi; /** * New Horizons (10982) @@ -122,7 +131,6 @@ public class Q10982_SpiderHunt extends Quest htmltext = event; break; } - case "TELEPORT_TO_HUNTING_GROUND": { player.teleToLocation(-117409, 227185, -2896); @@ -146,7 +154,11 @@ public class Q10982_SpiderHunt extends Quest giveItems(player, MOON_ARMOR); giveItems(player, MOON_GAUNTLETS); giveItems(player, MOON_BOOTS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -165,7 +177,11 @@ public class Q10982_SpiderHunt extends Quest giveItems(player, MOON_SHELL); giveItems(player, MOON_LEATHER_GLOVES); giveItems(player, MOON_SHOES); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -184,7 +200,11 @@ public class Q10982_SpiderHunt extends Quest giveItems(player, MOON_CAPE); giveItems(player, MOON_SILK); giveItems(player, MOON_SANDALS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -206,7 +226,6 @@ public class Q10982_SpiderHunt extends Quest qs.set(KILL_COUNT_VAR, killCount); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); sendNpcLogList(killer); - } else { @@ -272,4 +291,31 @@ public class Q10982_SpiderHunt extends Quest } return htmltext; } + + @RegisterEvent(EventType.ON_PLAYER_LOGIN) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void OnPlayerLogin(OnPlayerLogin event) + { + if (Config.DISABLE_TUTORIAL) + { + return; + } + + final PlayerInstance player = event.getPlayer(); + if (player == null) + { + return; + } + + if (!CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + return; + } + + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCompleted()) + { + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } + } } \ No newline at end of file diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10984_CollectSpiderweb/Q10984_CollectSpiderweb.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10984_CollectSpiderweb/Q10984_CollectSpiderweb.java index 7644f8ca63..ccf736d3ed 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10984_CollectSpiderweb/Q10984_CollectSpiderweb.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10984_CollectSpiderweb/Q10984_CollectSpiderweb.java @@ -19,15 +19,24 @@ package quests.Q10984_CollectSpiderweb; import java.util.HashSet; import java.util.Set; +import org.l2jmobius.Config; +import org.l2jmobius.gameserver.data.xml.impl.CategoryData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +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.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import org.l2jmobius.gameserver.network.serverpackets.classchange.ExRequestClassChangeUi; /** * Collect Spiderweb (10984) @@ -122,7 +131,6 @@ public class Q10984_CollectSpiderweb extends Quest htmltext = event; break; } - case "TELEPORT_TO_HUNTING_GROUND": { player.teleToLocation(5135, 68148, -3256); @@ -146,7 +154,11 @@ public class Q10984_CollectSpiderweb extends Quest giveItems(player, MOON_ARMOR); giveItems(player, MOON_GAUNTLETS); giveItems(player, MOON_BOOTS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -165,7 +177,11 @@ public class Q10984_CollectSpiderweb extends Quest giveItems(player, MOON_SHELL); giveItems(player, MOON_LEATHER_GLOVES); giveItems(player, MOON_SHOES); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -184,7 +200,11 @@ public class Q10984_CollectSpiderweb extends Quest giveItems(player, MOON_CAPE); giveItems(player, MOON_SILK); giveItems(player, MOON_SANDALS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -206,7 +226,6 @@ public class Q10984_CollectSpiderweb extends Quest qs.set(KILL_COUNT_VAR, killCount); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); sendNpcLogList(killer); - } else { @@ -273,4 +292,31 @@ public class Q10984_CollectSpiderweb extends Quest } return htmltext; } + + @RegisterEvent(EventType.ON_PLAYER_LOGIN) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void OnPlayerLogin(OnPlayerLogin event) + { + if (Config.DISABLE_TUTORIAL) + { + return; + } + + final PlayerInstance player = event.getPlayer(); + if (player == null) + { + return; + } + + if (!CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + return; + } + + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCompleted()) + { + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } + } } \ No newline at end of file diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10986_SwampMonster/Q10986_SwampMonster.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10986_SwampMonster/Q10986_SwampMonster.java index b4a33f176a..bff8d154e2 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10986_SwampMonster/Q10986_SwampMonster.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10986_SwampMonster/Q10986_SwampMonster.java @@ -19,15 +19,24 @@ package quests.Q10986_SwampMonster; import java.util.HashSet; import java.util.Set; +import org.l2jmobius.Config; +import org.l2jmobius.gameserver.data.xml.impl.CategoryData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +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.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import org.l2jmobius.gameserver.network.serverpackets.classchange.ExRequestClassChangeUi; /** * Swamp Monsters (10986) @@ -123,7 +132,6 @@ public class Q10986_SwampMonster extends Quest htmltext = event; break; } - case "TELEPORT_TO_HUNTING_GROUND": { player.teleToLocation(-19004, 47388, -3608); @@ -147,7 +155,11 @@ public class Q10986_SwampMonster extends Quest giveItems(player, MOON_ARMOR); giveItems(player, MOON_GAUNTLETS); giveItems(player, MOON_BOOTS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -166,7 +178,11 @@ public class Q10986_SwampMonster extends Quest giveItems(player, MOON_SHELL); giveItems(player, MOON_LEATHER_GLOVES); giveItems(player, MOON_SHOES); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -185,7 +201,11 @@ public class Q10986_SwampMonster extends Quest giveItems(player, MOON_CAPE); giveItems(player, MOON_SILK); giveItems(player, MOON_SANDALS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -207,7 +227,6 @@ public class Q10986_SwampMonster extends Quest qs.set(KILL_COUNT_VAR, killCount); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); sendNpcLogList(killer); - } else { @@ -273,4 +292,31 @@ public class Q10986_SwampMonster extends Quest } return htmltext; } + + @RegisterEvent(EventType.ON_PLAYER_LOGIN) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void OnPlayerLogin(OnPlayerLogin event) + { + if (Config.DISABLE_TUTORIAL) + { + return; + } + + final PlayerInstance player = event.getPlayer(); + if (player == null) + { + return; + } + + if (!CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + return; + } + + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCompleted()) + { + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } + } } \ No newline at end of file diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10988_Conspiracy/Q10988_Conspiracy.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10988_Conspiracy/Q10988_Conspiracy.java index de6599d679..0a13ae1eef 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10988_Conspiracy/Q10988_Conspiracy.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10988_Conspiracy/Q10988_Conspiracy.java @@ -19,15 +19,24 @@ package quests.Q10988_Conspiracy; import java.util.HashSet; import java.util.Set; +import org.l2jmobius.Config; +import org.l2jmobius.gameserver.data.xml.impl.CategoryData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +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.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import org.l2jmobius.gameserver.network.serverpackets.classchange.ExRequestClassChangeUi; /** * Conspiracy (10988) @@ -123,7 +132,6 @@ public class Q10988_Conspiracy extends Quest htmltext = event; break; } - case "TELEPORT_TO_HUNTING_GROUND": { player.teleToLocation(13136, -131688, -1312); @@ -147,7 +155,11 @@ public class Q10988_Conspiracy extends Quest giveItems(player, MOON_ARMOR); giveItems(player, MOON_GAUNTLETS); giveItems(player, MOON_BOOTS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -166,7 +178,11 @@ public class Q10988_Conspiracy extends Quest giveItems(player, MOON_SHELL); giveItems(player, MOON_LEATHER_GLOVES); giveItems(player, MOON_SHOES); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -185,7 +201,11 @@ public class Q10988_Conspiracy extends Quest giveItems(player, MOON_CAPE); giveItems(player, MOON_SILK); giveItems(player, MOON_SANDALS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -207,7 +227,6 @@ public class Q10988_Conspiracy extends Quest qs.set(KILL_COUNT_VAR, killCount); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); sendNpcLogList(killer); - } else { @@ -273,4 +292,31 @@ public class Q10988_Conspiracy extends Quest } return htmltext; } + + @RegisterEvent(EventType.ON_PLAYER_LOGIN) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void OnPlayerLogin(OnPlayerLogin event) + { + if (Config.DISABLE_TUTORIAL) + { + return; + } + + final PlayerInstance player = event.getPlayer(); + if (player == null) + { + return; + } + + if (!CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + return; + } + + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCompleted()) + { + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } + } } \ No newline at end of file diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10990_PoisonExtraction/Q10990_PoisonExtraction.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10990_PoisonExtraction/Q10990_PoisonExtraction.java index cc1066589c..37c627e06f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10990_PoisonExtraction/Q10990_PoisonExtraction.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10990_PoisonExtraction/Q10990_PoisonExtraction.java @@ -19,15 +19,24 @@ package quests.Q10990_PoisonExtraction; import java.util.HashSet; import java.util.Set; +import org.l2jmobius.Config; +import org.l2jmobius.gameserver.data.xml.impl.CategoryData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +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.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import org.l2jmobius.gameserver.network.serverpackets.classchange.ExRequestClassChangeUi; /** * Poison Extraction (10990) @@ -121,7 +130,6 @@ public class Q10990_PoisonExtraction extends Quest htmltext = event; break; } - case "TELEPORT_TO_HUNTING_GROUND": { player.teleToLocation(135382, -207694, -3704); @@ -145,7 +153,11 @@ public class Q10990_PoisonExtraction extends Quest giveItems(player, MOON_ARMOR); giveItems(player, MOON_GAUNTLETS); giveItems(player, MOON_BOOTS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -164,7 +176,11 @@ public class Q10990_PoisonExtraction extends Quest giveItems(player, MOON_SHELL); giveItems(player, MOON_LEATHER_GLOVES); giveItems(player, MOON_SHOES); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -183,7 +199,11 @@ public class Q10990_PoisonExtraction extends Quest giveItems(player, MOON_CAPE); giveItems(player, MOON_SILK); giveItems(player, MOON_SANDALS); - player.sendPacket(new ExShowScreenMessage("Completed the tutorial.#Now try the first class transfer and as instructed by Bathis carry out the Adventurers Journey misions to grow your character.", 5000)); + if (CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + showOnScreenMsg(player, NpcStringId.YOU_VE_FINISHED_THE_TUTORIAL_NTAKE_YOUR_1ST_CLASS_TRANSFER_AND_COMPLETE_YOUR_TRAINING_WITH_BATHIS_TO_BECOME_STRONGER, ExShowScreenMessage.TOP_CENTER, 10000); + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } qs.exitQuest(false, true); htmltext = event; } @@ -200,17 +220,11 @@ public class Q10990_PoisonExtraction extends Quest if ((qs != null) && qs.isCond(1)) { final int killCount = qs.getInt(KILL_COUNT_VAR) + 1; - if (killer.isGM()) - { - qs.setCond(2, true); - qs.unset(KILL_COUNT_VAR); - } - else if (killCount < 30) + if (killCount < 30) { qs.set(KILL_COUNT_VAR, killCount); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); sendNpcLogList(killer); - } else { @@ -276,4 +290,31 @@ public class Q10990_PoisonExtraction extends Quest } return htmltext; } + + @RegisterEvent(EventType.ON_PLAYER_LOGIN) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void OnPlayerLogin(OnPlayerLogin event) + { + if (Config.DISABLE_TUTORIAL) + { + return; + } + + final PlayerInstance player = event.getPlayer(); + if (player == null) + { + return; + } + + if (!CategoryData.getInstance().isInCategory(CategoryType.FIRST_CLASS_GROUP, player.getClassId().getId())) + { + return; + } + + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCompleted()) + { + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } + } } \ No newline at end of file diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index e9a80d1c1f..210c12ecf3 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -14232,7 +14232,7 @@ public class PlayerInstance extends Playable public boolean isInTimedHuntingZone() { - return isInTimedHuntingZone(2); // Storm Isle + return isInTimedHuntingZone(2); // Ancient Pirates' Tomb } public boolean isInTimedHuntingZone(int zoneId)