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 5c5c0d3e69..d989b5bc2d 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 @@ -19,15 +19,24 @@ package quests.Q10962_NewHorizons; 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 (10962) @@ -39,14 +48,16 @@ public class Q10962_NewHorizons extends Quest // NPCs private static final int LEAHEN = 34111; private static final int CAPTAIN_BATHIS = 30332; - // Misc - private static final int MAX_LEVEL = 20; - private static final String KILL_COUNT_VAR = "KillCount"; + // Monsters + private static final int MOUNTAIN_WEREWORLF = 21985; + private static final int MOUNTAIN_FUNGUES = 21986; + private static final int MUERTOS_WARRIOR = 21987; // NOTE: Murtos Fighter in old client + private static final int MUERTOS_CAPTAIN = 21988; // Items private static final ItemHolder SOE_TO_CAPTAIN_BATHIS = new ItemHolder(91651, 1); private static final ItemHolder SOE_NOVICE = new ItemHolder(10650, 20); private static final ItemHolder SPIRIT_ORE = new ItemHolder(3031, 50); - private static final ItemHolder HP_POTS = new ItemHolder(91912, 50);// TODO: Finish Item + private static final ItemHolder HP_POTS = new ItemHolder(91912, 50); // TODO: Finish Item private static final ItemHolder RICE_CAKE_OF_FLAMING_FIGHTING_SPIRIT_EVENT = new ItemHolder(91840, 1); // HELMET FOR ALL ARMORS private static final ItemHolder MOON_HELMET = new ItemHolder(7850, 1); @@ -62,11 +73,9 @@ public class Q10962_NewHorizons extends Quest private static final ItemHolder MOON_CAPE = new ItemHolder(7857, 1); private static final ItemHolder MOON_SILK = new ItemHolder(7858, 1); private static final ItemHolder MOON_SANDALS = new ItemHolder(7859, 1); - // Monsters - private static final int MOUNTAIN_WEREWORLF = 21985; - private static final int MOUNTAIN_FUNGUES = 21986; - private static final int MUERTOS_WARRIOR = 21987;// NOTE: Murtos Fighter in old client - private static final int MUERTOS_CAPTAIN = 21988; + // Misc + private static final int MAX_LEVEL = 20; + private static final String KILL_COUNT_VAR = "KillCount"; public Q10962_NewHorizons() { @@ -147,8 +156,12 @@ public class Q10962_NewHorizons 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)); 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); + } htmltext = event; break; } @@ -166,8 +179,12 @@ public class Q10962_NewHorizons 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)); 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); + } htmltext = event; break; } @@ -185,8 +202,12 @@ public class Q10962_NewHorizons 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)); 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); + } htmltext = event; break; } @@ -273,4 +294,31 @@ public class Q10962_NewHorizons 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/Q10966_ATripBegins/Q10966_ATripBegins.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/quests/Q10966_ATripBegins/Q10966_ATripBegins.java index 2a5764414a..9fdf7b25ea 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 @@ -55,6 +55,7 @@ public class Q10966_ATripBegins extends Quest private static final int TUMRAN_BUGBEAR = 20062; private static final int TUMRAN_BUGBEAR_WARRIOR = 20064; // Misc + private static final int MIN_LEVEL = 20; private static final int MAX_LEVEL = 25; private static final String KILL_COUNT_VAR = "KillCount"; @@ -64,6 +65,7 @@ public class Q10966_ATripBegins extends Quest addStartNpc(CAPTAIN_BATHIS); addTalkId(CAPTAIN_BATHIS, BELLA); addKillId(ARACHNID_PREDATOR, SKELETON_BOWMAN, RUIN_SPARTOI, RAGING_SPARTOI, RAGING_SPARTOI, TUMRAN_BUGBEAR, TUMRAN_BUGBEAR_WARRIOR); + addCondMinLevel(MIN_LEVEL, "no_lvl.html"); addCondMaxLevel(MAX_LEVEL, "no_lvl.html"); setQuestNameNpcStringId(NpcStringId.LV_20_25_A_TRIP_BEGINS); } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/npcs/21900-21999.xml b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/npcs/21900-21999.xml index 428c4f140b..1423884b27 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/npcs/21900-21999.xml +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/npcs/21900-21999.xml @@ -2118,30 +2118,25 @@ - - - - - - ETC + HUMANOID MALE - - + + + + - - + + - - - + - - + + - + @@ -2149,146 +2144,131 @@ - - - - - - - - + + + + + + + + - + - - - - - - - ANIMAL + + PLANT MALE - - - + + + + + - - + + - - - + - - + + - - - - - - - + + + + + + + - - + + - - - + + + - - + + - - - - - HUMANOID MALE - - + + + + - - + + - - - + - - + + - + - - - - - - - + + + + + + + - - + + - - - - - HUMANOID MALE - - + + + + - - + + - - - + - - + + - + - - + + - - - + + + - +