From fdd658b02ec1cbe767e5dbab207cee9961ee36bc Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Fri, 21 Jan 2022 03:48:12 +0000 Subject: [PATCH] Addition of missing fisherman quest. Contributed by CostyKiller. --- .../data/scripts/quests/MissingQuests.txt | 1 - .../Q00937_ToReviveTheFishingGuild.java | 25 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../scripts/quests/QuestMasterHandler.java | 4 +- .../Q00938_TheFishermansOtherHobby.java | 36 ---- .../data/scripts/quests/MissingQuests.txt | 1 - .../Q00937_ToReviveTheFishingGuild.java | 25 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../scripts/quests/QuestMasterHandler.java | 2 + .../data/scripts/quests/MissingQuests.txt | 1 - .../Q00937_ToReviveTheFishingGuild.java | 27 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../Q10575_LetsGoFishing.java | 29 +-- .../scripts/quests/QuestMasterHandler.java | 2 + .../data/scripts/quests/MissingQuests.txt | 1 - .../Q00937_ToReviveTheFishingGuild.java | 27 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../Q10575_LetsGoFishing.java | 29 +-- .../scripts/quests/QuestMasterHandler.java | 2 + .../data/scripts/quests/MissingQuests.txt | 1 - .../Q00937_ToReviveTheFishingGuild.java | 27 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../Q10575_LetsGoFishing.java | 29 +-- .../scripts/quests/QuestMasterHandler.java | 2 + .../data/scripts/quests/MissingQuests.txt | 1 - .../Q00937_ToReviveTheFishingGuild.java | 27 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../Q10575_LetsGoFishing.java | 29 +-- .../scripts/quests/QuestMasterHandler.java | 2 + .../data/scripts/quests/MissingQuests.txt | 2 - .../Q00937_ToReviveTheFishingGuild.java | 27 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../Q10575_LetsGoFishing.java | 29 +-- .../scripts/quests/QuestMasterHandler.java | 2 + .../data/scripts/quests/MissingQuests.txt | 2 - .../Q00937_ToReviveTheFishingGuild.java | 27 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../Q10575_LetsGoFishing.java | 29 +-- .../scripts/quests/QuestMasterHandler.java | 2 + .../data/scripts/quests/MissingQuests.txt | 2 - .../Q00937_ToReviveTheFishingGuild.java | 27 +-- .../Guild-01.htm | 4 + .../Guild-02.htm | 5 + .../Guild-03.htm | 6 + .../Guild-04.htm | 6 + .../Guild-05.html | 3 + .../Guild-06.html | 5 + .../Guild-07.html | 3 + .../Q00938_TheFishermansOtherHobby.java | 168 ++++++++++++++++++ .../noLevel.htm | 4 + .../Q10575_LetsGoFishing.java | 29 +-- .../scripts/quests/QuestMasterHandler.java | 2 + 116 files changed, 2099 insertions(+), 247 deletions(-) create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm delete mode 100644 L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/not_done/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt index 769b3a6089..911f8bbf98 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt @@ -45,7 +45,6 @@ 922 Hunter Guild Request - Northern Region, Isle of Prayer 925 Hunter Guild Request - Garden of Spirits 929 Seeker Rescue -938 The Fisherman's Other Hobby 940 Hunter Guild Request - Atelia Fortress 10298 Wasteland Queen 10357 Altar of Blood that Awakens Destruction diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index eb4d38b951..7e36a436ae 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -159,19 +159,22 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); - } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } } } } diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java index 4f786b2368..47c4ab585c 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -217,6 +217,7 @@ import quests.Q00930_DisparagingThePhantoms.Q00930_DisparagingThePhantoms; import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind; import quests.Q00932_SayhasEnergy.Q00932_SayhasEnergy; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q10273_GoodDayToFly.Q10273_GoodDayToFly; import quests.Q10274_CollectingInTheAir.Q10274_CollectingInTheAir; import quests.Q10275_ContainingTheAttributePower.Q10275_ContainingTheAttributePower; @@ -516,7 +517,6 @@ import quests.not_done.Q00912_RedLibraRequestLv3; import quests.not_done.Q00913_RedLibraRequestLv4; import quests.not_done.Q00914_RedLibraRequestLv5; import quests.not_done.Q00929_SeekerRescue; -import quests.not_done.Q00938_TheFishermansOtherHobby; import quests.not_done.Q10298_WastelandQueen; import quests.not_done.Q10357_AltarOfBloodThatAwakensDestruction; import quests.not_done.Q10396_WitchOfSpores; @@ -766,7 +766,7 @@ public class QuestMasterHandler Q00931_MemoriesOfTheWind.class, Q00932_SayhasEnergy.class, Q00937_ToReviveTheFishingGuild.class, - Q00938_TheFishermansOtherHobby.class, // TODO: Not done. + Q00938_TheFishermansOtherHobby.class, Q10273_GoodDayToFly.class, Q10274_CollectingInTheAir.class, Q10275_ContainingTheAttributePower.class, diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/not_done/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/not_done/Q00938_TheFishermansOtherHobby.java deleted file mode 100644 index e58321da64..0000000000 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/not_done/Q00938_TheFishermansOtherHobby.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.not_done; - -import org.l2jmobius.Config; -import org.l2jmobius.gameserver.model.quest.Quest; - -/** - * @author Mobius - */ -public class Q00938_TheFishermansOtherHobby extends Quest -{ - private static final int START_NPC = 34138; - - public Q00938_TheFishermansOtherHobby() - { - super(938); - addStartNpc(START_NPC); - addTalkId(START_NPC); - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null)); - } -} diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt index b05595d222..ee6555091c 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt @@ -96,7 +96,6 @@ 922 Hunter Guild Request - Northern Region, Isle of Prayer 925 Hunter Guild Request - Garden of Spirits 929 Seeker Rescue -938 The Fisherman's Other Hobby 940 Hunter Guild Request - Atelia Fortress 986 Adventure Guild's Special Request - Lv. 2 987 Adventure Guild's Special Request - Lv. 3 diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index eb4d38b951..7e36a436ae 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -159,19 +159,22 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); - } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } } } } diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java index bfe82bcd39..d8f62cc6f6 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -223,6 +223,7 @@ import quests.Q00930_DisparagingThePhantoms.Q00930_DisparagingThePhantoms; import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind; import quests.Q00932_SayhasEnergy.Q00932_SayhasEnergy; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q10273_GoodDayToFly.Q10273_GoodDayToFly; import quests.Q10274_CollectingInTheAir.Q10274_CollectingInTheAir; import quests.Q10275_ContainingTheAttributePower.Q10275_ContainingTheAttributePower; @@ -786,6 +787,7 @@ public class QuestMasterHandler Q00931_MemoriesOfTheWind.class, Q00932_SayhasEnergy.class, Q00937_ToReviveTheFishingGuild.class, + Q00938_TheFishermansOtherHobby.class, Q00985_AdventureGuildsSpecialRequestLv1.class, // TODO: Not done. Q00986_AdventureGuildsSpecialRequestLv2.class, // TODO: Not done. Q00987_AdventureGuildsSpecialRequestLv3.class, // TODO: Not done. diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt index 779441d46b..17e6289759 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt @@ -102,7 +102,6 @@ 922 Hunter Guild Request - Northern Region, Isle of Prayer 925 Hunter Guild Request - Garden of Spirits 929 Seeker Rescue -938 The Fisherman's Other Hobby 940 Hunter Guild Request - Atelia Fortress 986 Adventure Guild's Special Request - Lv. 2 987 Adventure Guild's Special Request - Lv. 3 diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index f1f12c9399..784084e18f 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -160,21 +160,24 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - sendNpcLogList(player); } } diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java index 33c7b9fcd8..d47e535813 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java @@ -155,22 +155,25 @@ public class Q10575_LetsGoFishing extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(2) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 5) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(2)) { - qs.setCond(3, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 5) + { + qs.setCond(3, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - sendNpcLogList(player); } } diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java index bb4ef07f27..a240b448e6 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -245,6 +245,7 @@ import quests.Q00930_DisparagingThePhantoms.Q00930_DisparagingThePhantoms; import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind; import quests.Q00932_SayhasEnergy.Q00932_SayhasEnergy; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q10273_GoodDayToFly.Q10273_GoodDayToFly; import quests.Q10274_CollectingInTheAir.Q10274_CollectingInTheAir; import quests.Q10282_ToTheSeedOfAnnihilation.Q10282_ToTheSeedOfAnnihilation; @@ -862,6 +863,7 @@ public class QuestMasterHandler Q00931_MemoriesOfTheWind.class, Q00932_SayhasEnergy.class, Q00937_ToReviveTheFishingGuild.class, + Q00938_TheFishermansOtherHobby.class, Q00985_AdventureGuildsSpecialRequestLv1.class, // TODO: Not done. Q00986_AdventureGuildsSpecialRequestLv2.class, // TODO: Not done. Q00987_AdventureGuildsSpecialRequestLv3.class, // TODO: Not done. diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt index c74662b24d..0df4ea6ef0 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt @@ -110,7 +110,6 @@ 922 Hunter Guild Request - Northern Region, Isle of Prayer 925 Hunter Guild Request - Garden of Spirits 929 Seeker Rescue -938 The Fisherman's Other Hobby 940 Hunter Guild Request - Atelia Fortress 986 Adventure Guild's Special Request - Lv. 2 987 Adventure Guild's Special Request - Lv. 3 diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index f1f12c9399..784084e18f 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -160,21 +160,24 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - sendNpcLogList(player); } } diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java index 33c7b9fcd8..d47e535813 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java @@ -155,22 +155,25 @@ public class Q10575_LetsGoFishing extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(2) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 5) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(2)) { - qs.setCond(3, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 5) + { + qs.setCond(3, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - sendNpcLogList(player); } } diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java index ae8180366b..4dc42dbef7 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -221,6 +221,7 @@ import quests.Q00930_DisparagingThePhantoms.Q00930_DisparagingThePhantoms; import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind; import quests.Q00932_SayhasEnergy.Q00932_SayhasEnergy; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q10282_ToTheSeedOfAnnihilation.Q10282_ToTheSeedOfAnnihilation; import quests.Q10283_RequestOfIceMerchant.Q10283_RequestOfIceMerchant; import quests.Q10284_AcquisitionOfDivineSword.Q10284_AcquisitionOfDivineSword; @@ -804,6 +805,7 @@ public class QuestMasterHandler Q00931_MemoriesOfTheWind.class, Q00932_SayhasEnergy.class, Q00937_ToReviveTheFishingGuild.class, + Q00938_TheFishermansOtherHobby.class, Q00985_AdventureGuildsSpecialRequestLv1.class, // TODO: Not done. Q00986_AdventureGuildsSpecialRequestLv2.class, // TODO: Not done. Q00987_AdventureGuildsSpecialRequestLv3.class, // TODO: Not done. diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt index abf88e9180..ae466916da 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt @@ -113,7 +113,6 @@ 922 Hunter Guild Request - Northern Region, Isle of Prayer 925 Hunter Guild Request - Garden of Spirits 929 Seeker Rescue -938 The Fisherman's Other Hobby 940 Hunter Guild Request - Atelia Fortress 986 Adventure Guild's Special Request - Lv. 2 987 Adventure Guild's Special Request - Lv. 3 diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index f1f12c9399..784084e18f 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -160,21 +160,24 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - sendNpcLogList(player); } } diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java index 33c7b9fcd8..d47e535813 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java @@ -155,22 +155,25 @@ public class Q10575_LetsGoFishing extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(2) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 5) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(2)) { - qs.setCond(3, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 5) + { + qs.setCond(3, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - sendNpcLogList(player); } } diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java index 45ecda9fa3..568b54f3e2 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -227,6 +227,7 @@ import quests.Q00930_DisparagingThePhantoms.Q00930_DisparagingThePhantoms; import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind; import quests.Q00932_SayhasEnergy.Q00932_SayhasEnergy; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q10282_ToTheSeedOfAnnihilation.Q10282_ToTheSeedOfAnnihilation; import quests.Q10283_RequestOfIceMerchant.Q10283_RequestOfIceMerchant; import quests.Q10284_AcquisitionOfDivineSword.Q10284_AcquisitionOfDivineSword; @@ -832,6 +833,7 @@ public class QuestMasterHandler Q00931_MemoriesOfTheWind.class, Q00932_SayhasEnergy.class, Q00937_ToReviveTheFishingGuild.class, + Q00938_TheFishermansOtherHobby.class, Q00985_AdventureGuildsSpecialRequestLv1.class, // TODO: Not done. Q00986_AdventureGuildsSpecialRequestLv2.class, // TODO: Not done. Q00987_AdventureGuildsSpecialRequestLv3.class, // TODO: Not done. diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt index 9bdf9f87f2..f5d39a24ef 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt @@ -108,7 +108,6 @@ 918 Red Libra Request - Atelia Fortress 919 Red Libra Request - Superion 929 Seeker Rescue -938 The Fisherman's Other Hobby 986 Adventure Guild's Special Request - Lv. 2 987 Adventure Guild's Special Request - Lv. 3 988 Adventure Guild's Special Request - Lv. 4 diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index f1f12c9399..784084e18f 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -160,21 +160,24 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - sendNpcLogList(player); } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java index 33c7b9fcd8..d47e535813 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java @@ -155,22 +155,25 @@ public class Q10575_LetsGoFishing extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(2) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 5) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(2)) { - qs.setCond(3, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 5) + { + qs.setCond(3, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - sendNpcLogList(player); } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java index 1159a4d99a..5ce233d8c4 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -140,6 +140,7 @@ import quests.Q00930_DisparagingThePhantoms.Q00930_DisparagingThePhantoms; import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind; import quests.Q00932_SayhasEnergy.Q00932_SayhasEnergy; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q00985_AdventureGuildsSpecialRequestLv1.Q00985_AdventureGuildsSpecialRequestLv1; import quests.Q10282_ToTheSeedOfAnnihilation.Q10282_ToTheSeedOfAnnihilation; import quests.Q10283_RequestOfIceMerchant.Q10283_RequestOfIceMerchant; @@ -481,6 +482,7 @@ public class QuestMasterHandler Q00931_MemoriesOfTheWind.class, Q00932_SayhasEnergy.class, Q00937_ToReviveTheFishingGuild.class, + Q00938_TheFishermansOtherHobby.class, Q00985_AdventureGuildsSpecialRequestLv1.class, Q00986_AdventureGuildsSpecialRequestLv2.class, // TODO: Not done. Q00987_AdventureGuildsSpecialRequestLv3.class, // TODO: Not done. diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/MissingQuests.txt index 40de275aa1..1e480763a9 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/MissingQuests.txt @@ -46,9 +46,7 @@ 839 Request from the Unworldly Visitors 840 Request from the Kingdom's Royal Guard 861 Kain's Choice -938 The Fisherman's Other Hobby 1900 Storm Isle - Secret Spot 1901 Storm Isle - Furtive Deal -10507 Obtaining New Power 10595 The Dimensional Warp, Part 8 10596 The Dimensional Warp, Part 9 \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index f1f12c9399..784084e18f 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -160,21 +160,24 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - sendNpcLogList(player); } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java index 33c7b9fcd8..d47e535813 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java @@ -155,22 +155,25 @@ public class Q10575_LetsGoFishing extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(2) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 5) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(2)) { - qs.setCond(3, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 5) + { + qs.setCond(3, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - sendNpcLogList(player); } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/QuestMasterHandler.java index 0e461df04d..84b88e12eb 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -28,6 +28,7 @@ import quests.Q00833_DevilsTreasureTauti.Q00833_DevilsTreasureTauti; import quests.Q00835_PitiableMelisa.Q00835_PitiableMelisa; import quests.Q00933_TombRaiders.Q00933_TombRaiders; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q10423_EmbryoStrongholdRaid.Q10423_EmbryoStrongholdRaid; import quests.Q10454_FinalEmbryoApostle.Q10454_FinalEmbryoApostle; import quests.Q10507_ObtainingNewPower.Q10507_ObtainingNewPower; @@ -99,6 +100,7 @@ public class QuestMasterHandler Q00840_RequestFromTheKingdomsRoyalGuard.class, // TODO: Not done. Q00933_TombRaiders.class, Q00937_ToReviveTheFishingGuild.class, + Q00938_TheFishermansOtherHobby.class, Q01900_StormIsleSecretSpot.class, // TODO: Not done. Q01901_StormIsleFurtiveDeal.class, // TODO: Not done. Q10423_EmbryoStrongholdRaid.class, diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/MissingQuests.txt index 40de275aa1..1e480763a9 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/MissingQuests.txt @@ -46,9 +46,7 @@ 839 Request from the Unworldly Visitors 840 Request from the Kingdom's Royal Guard 861 Kain's Choice -938 The Fisherman's Other Hobby 1900 Storm Isle - Secret Spot 1901 Storm Isle - Furtive Deal -10507 Obtaining New Power 10595 The Dimensional Warp, Part 8 10596 The Dimensional Warp, Part 9 \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index f1f12c9399..784084e18f 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -160,21 +160,24 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - sendNpcLogList(player); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java index 33c7b9fcd8..d47e535813 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java @@ -155,22 +155,25 @@ public class Q10575_LetsGoFishing extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(2) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 5) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(2)) { - qs.setCond(3, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 5) + { + qs.setCond(3, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - sendNpcLogList(player); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/QuestMasterHandler.java index 0e461df04d..84b88e12eb 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -28,6 +28,7 @@ import quests.Q00833_DevilsTreasureTauti.Q00833_DevilsTreasureTauti; import quests.Q00835_PitiableMelisa.Q00835_PitiableMelisa; import quests.Q00933_TombRaiders.Q00933_TombRaiders; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q10423_EmbryoStrongholdRaid.Q10423_EmbryoStrongholdRaid; import quests.Q10454_FinalEmbryoApostle.Q10454_FinalEmbryoApostle; import quests.Q10507_ObtainingNewPower.Q10507_ObtainingNewPower; @@ -99,6 +100,7 @@ public class QuestMasterHandler Q00840_RequestFromTheKingdomsRoyalGuard.class, // TODO: Not done. Q00933_TombRaiders.class, Q00937_ToReviveTheFishingGuild.class, + Q00938_TheFishermansOtherHobby.class, Q01900_StormIsleSecretSpot.class, // TODO: Not done. Q01901_StormIsleFurtiveDeal.class, // TODO: Not done. Q10423_EmbryoStrongholdRaid.class, diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/MissingQuests.txt index 40de275aa1..1e480763a9 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/MissingQuests.txt @@ -46,9 +46,7 @@ 839 Request from the Unworldly Visitors 840 Request from the Kingdom's Royal Guard 861 Kain's Choice -938 The Fisherman's Other Hobby 1900 Storm Isle - Secret Spot 1901 Storm Isle - Furtive Deal -10507 Obtaining New Power 10595 The Dimensional Warp, Part 8 10596 The Dimensional Warp, Part 9 \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java index f1f12c9399..784084e18f 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00937_ToReviveTheFishingGuild/Q00937_ToReviveTheFishingGuild.java @@ -160,21 +160,24 @@ public class Q00937_ToReviveTheFishingGuild extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(1) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 100) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) { - qs.setCond(2, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - sendNpcLogList(player); } } diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm new file mode 100644 index 0000000000..75d4f7706f --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-01.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+As a Fishing Guild member, have you ever dreamed of doing something new, for example, finding a new hobby?
+ + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm new file mode 100644 index 0000000000..7728255573 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-02.htm @@ -0,0 +1,5 @@ +Fishing Guild Member:
+You know, we at the Fishing Guild always advise you to get some good fishing gear.
+It's even better when getting top-grade equipment turns into a hobby. Do you want to know why we give so much importance to gear?
+ + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm new file mode 100644 index 0000000000..8c5906f4b0 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-03.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+Equipment plays a big part in fishing. It's significance shouldn't be underestimated. Warriors preparing for the battle choose most enduring swords and shields to overcome the enemy for sure. We, fishermen, do the same. We choose a firmer fishing rod to get a rich take.
+A clever fisherman always tries to get good equipment. A Master Fishing Rod is the best choice!
+The Fishing Guild wants as many fishermen as possible to learn about this fishing rod and get it. Well, are you interested?
+ + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm new file mode 100644 index 0000000000..ef9051b385 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-04.htm @@ -0,0 +1,6 @@ +Fishing Guild Member:
+So, I'll to tell you everything I know about Master Fishing Rod.
+First of all, to get one you must do something. Bring me 40 Nimble Fish.
+It doesn't matter how you get them. The point is that you bring me the exact number I'm asking for. It's the main ingredient.
+Bring me 40 Nimble Fish, and I will reward you with materials for your Master Fishing Rod. + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html new file mode 100644 index 0000000000..8907811dfe --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-05.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+You must gather 40 Nimble Fish, but I don't see any of them. It doesn't matter how you get them. Just bring me 40 Nimble Fish. + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html new file mode 100644 index 0000000000..44c7488636 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-06.html @@ -0,0 +1,5 @@ +Fishing Guild Member:
+Have you fished enough?
Did you catch anything?
+ + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html new file mode 100644 index 0000000000..172814aa69 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Guild-07.html @@ -0,0 +1,3 @@ +Fishing Guild Member:
+Thank you. As a token of our appreciation, here is a small gift. I hope you find it useful. + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java new file mode 100644 index 0000000000..fcaea628f2 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/Q00938_TheFishermansOtherHobby.java @@ -0,0 +1,168 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package quests.Q00938_TheFishermansOtherHobby; + +import org.l2jmobius.gameserver.enums.Faction; +import org.l2jmobius.gameserver.enums.FishingEndReason; +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Npc; +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.OnPlayerFishing; +import org.l2jmobius.gameserver.model.quest.Quest; +import org.l2jmobius.gameserver.model.quest.QuestState; +import org.l2jmobius.gameserver.model.quest.State; + +/** + * The Fisherman's Other Hobby (938) + * @author CostyKiller + */ +public class Q00938_TheFishermansOtherHobby extends Quest +{ + // NPCs + private static final int OFULLE = 31572; + private static final int LINNAEUS = 31577; + private static final int PERELIN = 31563; + private static final int BLEAKER = 31567; + private static final int CYANO = 31569; + private static final int PAMFUS = 31568; + private static final int LANOSCO = 31570; + private static final int HUFS = 31571; + private static final int MONAKAN = 31573; + private static final int BERIX = 31576; + private static final int LITULON = 31575; + private static final int WILLIE = 31574; + private static final int HILGENDORF = 31578; + private static final int PLATIS = 31696; + private static final int KLAUS = 31579; + private static final int BATIDAE = 31989; + private static final int EINDARKNER = 31697; + private static final int GALBA = 32007; + private static final int SANTIAGO = 34138; + // Reward + private static final int SANTIAGOS_REEL_FRAGMENT = 47562; + // Misc + private static final int MIN_LEVEL = 85; + private static final int NIMBLE_FISH = 47551; + private static final int NIMBLE_FISH_NEEDED = 40; + + public Q00938_TheFishermansOtherHobby() + { + super(938); + addStartNpc(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addTalkId(OFULLE, LINNAEUS, PERELIN, BLEAKER, CYANO, PAMFUS, LANOSCO, HUFS, MONAKAN, BERIX, LITULON, WILLIE, HILGENDORF, PLATIS, KLAUS, BATIDAE, EINDARKNER, GALBA, SANTIAGO); + addCondMinLevel(MIN_LEVEL, "noLevel.htm"); + } + + @Override + public String onAdvEvent(String event, Npc npc, Player player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "Guild-02.htm": + case "Guild-03.htm": + { + htmltext = event; + break; + } + case "Guild-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "Guild-07.html": + { + if (qs.isCond(2)) + { + takeItems(player, NIMBLE_FISH, NIMBLE_FISH_NEEDED); + giveItems(player, SANTIAGOS_REEL_FRAGMENT, 2); + addFactionPoints(player, Faction.FISHING_GUILD, 100); + qs.exitQuest(QuestType.REPEATABLE, true); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, Player player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "Guild-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "Guild-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "Guild-06.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_FISHING) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerFishing(OnPlayerFishing event) + { + if (event.getReason() == FishingEndReason.WIN) + { + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + if (getQuestItemsCount(player, NIMBLE_FISH) >= NIMBLE_FISH_NEEDED) + { + qs.setCond(2, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm new file mode 100644 index 0000000000..60f4c4b593 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q00938_TheFishermansOtherHobby/noLevel.htm @@ -0,0 +1,4 @@ +Fishing Guild Member:
+Hmm, it would seem that it's a bit too early still to discuss the Fishing Guild with you. Please return after you've become stronger.
+(Only characters with Lv. 85 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java index 33c7b9fcd8..d47e535813 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/Q10575_LetsGoFishing/Q10575_LetsGoFishing.java @@ -155,22 +155,25 @@ public class Q10575_LetsGoFishing extends Quest @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) public void onPlayerFishing(OnPlayerFishing event) { - final Player player = event.getPlayer(); - final QuestState qs = getQuestState(player, false); - if ((qs != null) && qs.isCond(2) && (event.getReason() == FishingEndReason.WIN)) + if (event.getReason() == FishingEndReason.WIN) { - int count = qs.getInt(COUNT_VAR); - qs.set(COUNT_VAR, ++count); - if (count >= 5) + final Player player = event.getPlayer(); + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(2)) { - qs.setCond(3, true); + int count = qs.getInt(COUNT_VAR); + qs.set(COUNT_VAR, ++count); + if (count >= 5) + { + qs.setCond(3, true); + } + else + { + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + sendNpcLogList(player); } - else - { - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - sendNpcLogList(player); } } diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/QuestMasterHandler.java index 0e461df04d..84b88e12eb 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -28,6 +28,7 @@ import quests.Q00833_DevilsTreasureTauti.Q00833_DevilsTreasureTauti; import quests.Q00835_PitiableMelisa.Q00835_PitiableMelisa; import quests.Q00933_TombRaiders.Q00933_TombRaiders; import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild; +import quests.Q00938_TheFishermansOtherHobby.Q00938_TheFishermansOtherHobby; import quests.Q10423_EmbryoStrongholdRaid.Q10423_EmbryoStrongholdRaid; import quests.Q10454_FinalEmbryoApostle.Q10454_FinalEmbryoApostle; import quests.Q10507_ObtainingNewPower.Q10507_ObtainingNewPower; @@ -99,6 +100,7 @@ public class QuestMasterHandler Q00840_RequestFromTheKingdomsRoyalGuard.class, // TODO: Not done. Q00933_TombRaiders.class, Q00937_ToReviveTheFishingGuild.class, + Q00938_TheFishermansOtherHobby.class, Q01900_StormIsleSecretSpot.class, // TODO: Not done. Q01901_StormIsleFurtiveDeal.class, // TODO: Not done. Q10423_EmbryoStrongholdRaid.class,