From 8b083e443728774ca73e50ec28b3e97197fcb813 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 1 Aug 2017 03:28:42 +0000 Subject: [PATCH] Classic fishing quest. --- L2J_Mobius_Classic/dist/game/data/Fishing.xml | 38 +--- .../dist/game/data/html/default/30016.htm | 4 + .../dist/game/data/html/teleporter/30015.htm | 6 + .../data/scripts/quests/MissingQuests.txt | 1 - .../30013-00.htm | 4 + .../30013-01.htm | 4 + .../30013-02.html | 5 + .../30013-03.html | 4 + .../30013-04.html | 4 + .../30015-01.html | 3 + .../30015-02.html | 3 + .../30015-03.html | 3 + .../30016-01.html | 3 + .../30016-02.html | 4 + .../Q00127_FishingSpecialistsRequest.java | 177 ++++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 2 + .../dist/game/data/spawns/Others/23_22.xml | 9 + .../game/data/stats/items/45400-45499.xml | 7 +- .../game/data/stats/items/49500-49599.xml | 8 + .../dist/game/data/stats/npcs/30000-30099.xml | 13 +- .../dist/game/data/teleporters/Ferma.xml | 8 + .../l2jmobius/gameserver/model/Fishing.java | 2 +- L2J_Mobius_Classic/readme.txt | 3 +- 23 files changed, 268 insertions(+), 47 deletions(-) create mode 100644 L2J_Mobius_Classic/dist/game/data/html/default/30016.htm create mode 100644 L2J_Mobius_Classic/dist/game/data/html/teleporter/30015.htm create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-00.htm create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-01.htm create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-02.html create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-03.html create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-04.html create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-01.html create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-02.html create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-03.html create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30016-01.html create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30016-02.html create mode 100644 L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/Q00127_FishingSpecialistsRequest.java create mode 100644 L2J_Mobius_Classic/dist/game/data/spawns/Others/23_22.xml create mode 100644 L2J_Mobius_Classic/dist/game/data/teleporters/Ferma.xml diff --git a/L2J_Mobius_Classic/dist/game/data/Fishing.xml b/L2J_Mobius_Classic/dist/game/data/Fishing.xml index 42f6633d60..ac86e24a79 100644 --- a/L2J_Mobius_Classic/dist/game/data/Fishing.xml +++ b/L2J_Mobius_Classic/dist/game/data/Fishing.xml @@ -4,41 +4,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/html/default/30016.htm b/L2J_Mobius_Classic/dist/game/data/html/default/30016.htm new file mode 100644 index 0000000000..328a792171 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/html/default/30016.htm @@ -0,0 +1,4 @@ +Baikal:
+I have received an urgent message from the guild and I have started to investigate the pollution of water. That is why I am here. I have to check a lot of things but I think this investigation will take a long time...
+ + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/html/teleporter/30015.htm b/L2J_Mobius_Classic/dist/game/data/html/teleporter/30015.htm new file mode 100644 index 0000000000..2e8c9b61af --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/html/teleporter/30015.htm @@ -0,0 +1,6 @@ +Ferma:
+I was sitting there and fishing quietly... And suddenly, throwing a bait in the water once again, I understood that there is no bite. +A lot of strangers have been roaming around lately. I saw them entering this cave. Ohh, it seems that the quiet and carefree days have come to an end...
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_Classic/dist/game/data/scripts/quests/MissingQuests.txt index f1cd8c859b..055e08817f 100644 --- a/L2J_Mobius_Classic/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/MissingQuests.txt @@ -1,4 +1,3 @@ -127 Fishing Specialist's Request 374 Whisper of Dreams, Part 1 375 Whisper of Dreams, Part 2 910 Request from the Red Libra Guild - Basic diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-00.htm b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-00.htm new file mode 100644 index 0000000000..4553c226dd --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-00.htm @@ -0,0 +1,4 @@ +Fishing Specialist Pierre:
+For me fishing is the best way to have a rest. It helps me to relax, to forget about mortal coil, gives you peace of mind. However, it might end soon. There are some gossips that dirty water from the northwestern part of the Alligator Island kills all the fish. I'm afraid that these gossips might be true... Will you help me to deal with this problem and allay my anxiety?
+(Only characters Lv. 20 or above can take this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-01.htm b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-01.htm new file mode 100644 index 0000000000..9f73dbbdb5 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-01.htm @@ -0,0 +1,4 @@ +Fishing Specialist Pierre:
+For me fishing is the best way to have a rest. It helps me to relax, to forget about mortal coil, gives you peace of mind. However, it might end soon. There are some gossips that dirty water from the northwestern part of the Alligator Island kills all the fish. I'm afraid that these gossips might be true...
Could you, please, hear me out?
+ + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-02.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-02.html new file mode 100644 index 0000000000..ea7f0f110e --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-02.html @@ -0,0 +1,5 @@ +Fishing Specialist Pierre:
+Thank you a lot!
+There are some gossips that dirty water from the northwestern part of the Alligator Island kills all the fish. I'm afraid that these gossips might be true. It is of crucial importance to check everything and find out what is happening. My friend Farm is fishing in those lands. It's far away from here, to reach the place you need to cross the sea. But I can relocate you.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-03.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-03.html new file mode 100644 index 0000000000..01b87a6503 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-03.html @@ -0,0 +1,4 @@ +Fishing Specialist Pierre:
+You haven't visited Ferma yet?! Hurry up! Bring him my letter! There is very important information, which I heard from the fishers.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-04.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-04.html new file mode 100644 index 0000000000..f8aaac187c --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30013-04.html @@ -0,0 +1,4 @@ +Fishing Specialist Pierre:
+So that was the reason of water pollution! Thank you oce again. I'll ask the guild researchers to scrutinize everything.
+And you... Please take it... Just to express you my gratitude... + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-01.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-01.html new file mode 100644 index 0000000000..e96d1fe2fc --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-01.html @@ -0,0 +1,3 @@ +Ferma:
+Fishing Specialist Pierre from Giran Harbor asked you to come! There is something that pollutes the water and destroys the ecosystem... Our guild sent there the researcher. While he was testing the water quantity I made a Report about Fish. Hand this report to researcher. + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-02.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-02.html new file mode 100644 index 0000000000..c163922ff8 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-02.html @@ -0,0 +1,3 @@ +Ferma:
+You still haven't given my report to Researcher of Waters Baikal? He is waiting for you in the cave. This report contains very important information about fish. Please, hurry up! + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-03.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-03.html new file mode 100644 index 0000000000..ad9a4b0be3 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30015-03.html @@ -0,0 +1,3 @@ +Ferma:
+Hand a Sealed Bottle with polluted water to Fishing Specialist Pierre. You need to hurry up, otherwise contamination can spread! + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30016-01.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30016-01.html new file mode 100644 index 0000000000..64d86adcc1 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30016-01.html @@ -0,0 +1,3 @@ +Researcher of Waters Baikal:
+Thanks to Report about Fish, that you brought, I could make significant progress. Actually, I wanted to stay here for a while and to continue my research. Soon the water will be completely spoiled. I poured a little bit into Sealed Bottle. Please, give it to Fishing Specialist Pierre. Help you to stop this disaster. + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30016-02.html b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30016-02.html new file mode 100644 index 0000000000..80a03ca5ba --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/30016-02.html @@ -0,0 +1,4 @@ +Researcher of Waters Baikal:
+Haven't you visited Fishing Specialist Pierre yet? Hurry up. The situation is getting worse. I am really worried about the water quality as it can affect a future of the fishery. +Ferma will help you to reach Giran Harbor. You will find him outside of the cave. When you meet Fishing Specialist Pierre, please hand him Sealed Bottle. + \ No newline at end of file diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/Q00127_FishingSpecialistsRequest.java b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/Q00127_FishingSpecialistsRequest.java new file mode 100644 index 0000000000..0916c89609 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/Q00127_FishingSpecialistsRequest/Q00127_FishingSpecialistsRequest.java @@ -0,0 +1,177 @@ +/* + * 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.Q00127_FishingSpecialistsRequest; + +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; + +/** + * Fishing Specialist's Request (127) + * @author Mobius + */ +public class Q00127_FishingSpecialistsRequest extends Quest +{ + // NPCs + private static final int PIERRE = 30013; + private static final int FERMA = 30015; + private static final int BAIKAL = 30016; + // Items + private static final int PIERRE_LETTER = 49510; + private static final int FISH_REPORT = 49504; + private static final int SEALED_BOTTLE = 49505; + private static final int FISHING_ROD_CHEST = 49507; + // Location + private static final Location TELEPORT_LOC = new Location(105276, 162500, -3600); + // Misc + private static final int MIN_LEVEL = 20; + private static final int MAX_LEVEL = 110; + + public Q00127_FishingSpecialistsRequest() + { + super(127); + addStartNpc(PIERRE); + addTalkId(PIERRE, FERMA, BAIKAL); + addCondLevel(MIN_LEVEL, MAX_LEVEL, "30013-00.htm"); + registerQuestItems(PIERRE_LETTER, FISH_REPORT, SEALED_BOTTLE); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "30013-02.html": + { + qs.startQuest(); + giveItems(player, PIERRE_LETTER, 1); + htmltext = event; + break; + } + case "teleport_to_ferma": + { + player.teleToLocation(TELEPORT_LOC); + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + if (qs == null) + { + return htmltext; + } + if (qs.isCreated()) + { + if (npc.getId() == PIERRE) + { + htmltext = player.getLevel() < MIN_LEVEL ? "30013-00.htm" : "30013-01.htm"; + } + } + else if (qs.isStarted()) + { + switch (npc.getId()) + { + case PIERRE: + { + switch (qs.getCond()) + { + case 1: + case 2: + { + htmltext = "30013-03.html"; + break; + } + case 3: + { + takeItems(player, -1, SEALED_BOTTLE); + giveItems(player, FISHING_ROD_CHEST, 1); + qs.exitQuest(false, true); + htmltext = "30013-04.html"; + break; + } + } + break; + } + case FERMA: + { + switch (qs.getCond()) + { + case 1: + { + takeItems(player, -1, PIERRE_LETTER); + giveItems(player, FISH_REPORT, 1); + qs.setCond(2, true); + htmltext = "30015-01.html"; + break; + } + case 2: + { + htmltext = "30015-02.html"; + break; + } + case 3: + { + htmltext = "30015-03.html"; + break; + } + } + break; + } + case BAIKAL: + { + switch (qs.getCond()) + { + case 2: + { + takeItems(player, -1, FISH_REPORT); + giveItems(player, SEALED_BOTTLE, 1); + qs.setCond(3, true); + htmltext = "30016-01.html"; + break; + } + case 3: + { + htmltext = "30016-02.html"; + break; + } + } + break; + } + } + } + else if (qs.isCompleted()) + { + htmltext = getAlreadyCompletedMsg(player); + } + return htmltext; + } +} diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Classic/dist/game/data/scripts/quests/QuestMasterHandler.java index e3c36a4156..831da89d5e 100644 --- a/L2J_Mobius_Classic/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_Classic/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -63,6 +63,7 @@ import quests.Q00105_SkirmishWithOrcs.Q00105_SkirmishWithOrcs; import quests.Q00106_ForgottenTruth.Q00106_ForgottenTruth; import quests.Q00107_MercilessPunishment.Q00107_MercilessPunishment; import quests.Q00108_JumbleTumbleDiamondFuss.Q00108_JumbleTumbleDiamondFuss; +import quests.Q00127_FishingSpecialistsRequest.Q00127_FishingSpecialistsRequest; import quests.Q00151_CureForFever.Q00151_CureForFever; import quests.Q00152_ShardsOfGolem.Q00152_ShardsOfGolem; import quests.Q00153_DeliverGoods.Q00153_DeliverGoods; @@ -230,6 +231,7 @@ public class QuestMasterHandler Q00106_ForgottenTruth.class, Q00107_MercilessPunishment.class, Q00108_JumbleTumbleDiamondFuss.class, + Q00127_FishingSpecialistsRequest.class, Q00151_CureForFever.class, Q00152_ShardsOfGolem.class, Q00153_DeliverGoods.class, diff --git a/L2J_Mobius_Classic/dist/game/data/spawns/Others/23_22.xml b/L2J_Mobius_Classic/dist/game/data/spawns/Others/23_22.xml new file mode 100644 index 0000000000..dd62cda014 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/spawns/Others/23_22.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/L2J_Mobius_Classic/dist/game/data/stats/items/45400-45499.xml b/L2J_Mobius_Classic/dist/game/data/stats/items/45400-45499.xml index 2af19d63db..3ce531ca6a 100644 --- a/L2J_Mobius_Classic/dist/game/data/stats/items/45400-45499.xml +++ b/L2J_Mobius_Classic/dist/game/data/stats/items/45400-45499.xml @@ -59,11 +59,14 @@ + + - + - + + diff --git a/L2J_Mobius_Classic/dist/game/data/stats/items/49500-49599.xml b/L2J_Mobius_Classic/dist/game/data/stats/items/49500-49599.xml index 4804c133f6..09c995e1ae 100644 --- a/L2J_Mobius_Classic/dist/game/data/stats/items/49500-49599.xml +++ b/L2J_Mobius_Classic/dist/game/data/stats/items/49500-49599.xml @@ -44,6 +44,7 @@ + @@ -53,6 +54,7 @@ + @@ -89,6 +91,11 @@ + + + + + @@ -138,6 +145,7 @@ + diff --git a/L2J_Mobius_Classic/dist/game/data/stats/npcs/30000-30099.xml b/L2J_Mobius_Classic/dist/game/data/stats/npcs/30000-30099.xml index 34e932cd32..d1258d6578 100644 --- a/L2J_Mobius_Classic/dist/game/data/stats/npcs/30000-30099.xml +++ b/L2J_Mobius_Classic/dist/game/data/stats/npcs/30000-30099.xml @@ -397,9 +397,8 @@ - - ETC - FEMALE + HUMAN + MALE @@ -453,10 +452,10 @@ - - - ETC - FEMALE + + HUMAN + MALE + diff --git a/L2J_Mobius_Classic/dist/game/data/teleporters/Ferma.xml b/L2J_Mobius_Classic/dist/game/data/teleporters/Ferma.xml new file mode 100644 index 0000000000..61f9a56c15 --- /dev/null +++ b/L2J_Mobius_Classic/dist/game/data/teleporters/Ferma.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/Fishing.java b/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/Fishing.java index 1f87ec266a..9985caedd1 100644 --- a/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/Fishing.java +++ b/L2J_Mobius_Classic/java/com/l2jmobius/gameserver/model/Fishing.java @@ -141,7 +141,7 @@ public class Fishing } final FishingBaitData baitData = getCurrentBaitData(); - final int minPlayerLevel = baitData == null ? 85 : baitData.getMinPlayerLevel(); + final int minPlayerLevel = baitData == null ? 20 : baitData.getMinPlayerLevel(); if (_player.getLevel() < minPlayerLevel) { if (minPlayerLevel == 85) diff --git a/L2J_Mobius_Classic/readme.txt b/L2J_Mobius_Classic/readme.txt index bc148b7211..2c53acc575 100644 --- a/L2J_Mobius_Classic/readme.txt +++ b/L2J_Mobius_Classic/readme.txt @@ -24,6 +24,8 @@ What is done -Fisherman NPC updates -Olympiad NPC updates -Dimensional Merchant updates +-Retail gatekeeper teleports +-Quest Fishing Specialist's Request Custom work -Start NPC dialogs until Newbie Helper @@ -31,7 +33,6 @@ Custom work -Newbie Helper buff support until 40 level TODO list --Retail gatekeeper teleports -Parse retail monster spawns by zone -Retail NPC dialogs -Retail NPC buylists