Jelajahi Sumber

BETA: The starting level for the quest '''In Search of The Nest''' has been increased from 66 to 81 due to changes made to the Stakato Nest. ('''Source:''' http://legacy.lineage2.com/news/graciaepilogue_11.html)
- Updated to H5.
- Ported from Jython to Java.

Thanks '''jurchiks''' and '''nonom''' for help.

Adry_85 13 tahun lalu
induk
melakukan
9b717509dd
19 mengubah file dengan 199 tambahan dan 111 penghapusan
  1. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts.cfg
  2. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/31553-00.htm
  3. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/31553-02.htm
  4. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/31554-01.htm
  5. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/32015-01.htm
  6. 0 91
      L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/__init__.py
  7. 6 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-0.htm
  8. 5 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-0a.htm
  9. 6 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-0b.htm
  10. 5 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-1.html
  11. 3 2
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-2.html
  12. 6 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-3.html
  13. 4 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-3a.html
  14. 5 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31554-1.html
  15. 4 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31554-2.html
  16. 4 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/32015-1.html
  17. 3 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/32015-2.html
  18. 3 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/32015-3.html
  19. 144 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/Q109_InSearchOfTheNest.java

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts.cfg

@@ -326,7 +326,7 @@ quests/105_SkirmishWithOrcs/__init__.py
 quests/106_ForgottenTruth/__init__.py
 quests/107_MercilessPunishment/__init__.py
 quests/108_JumbleTumbleDiamondFuss/__init__.py
-quests/109_InSearchOfTheNest/__init__.py
+quests/Q109_InSearchOfTheNest/Q109_InSearchOfTheNest.java
 quests/Q110_ToThePrimevalIsle/Q110_ToThePrimevalIsle.java
 quests/111_Elrokian_Hunters_Proof/__init__.py
 quests/112_WalkOfFate/__init__.py

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/31553-00.htm

@@ -1,4 +0,0 @@
-<html><body>Mercenary Captain Pierce:<br>
-What's your business here?<br>
-(This quest may only be undertaken by a character who is of level 66 or above. And who is not in a party!)
-</body></html>

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/31553-02.htm

@@ -1,5 +0,0 @@
-<html><body>Mercenary Captain Pierce:<br>
-I see.. It is as I feared. He's dead!<br>
-Well, Thank you for risking your neck to track him down. We'll learn a lot from the intel he left behind. I'm sure that's what he would've wanted.<br>
-I'll keep my eye our for you from now on. For now, your work here is done. Speak with  <font color="LEVEL">Kahman </font>over there.
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/31554-01.htm

@@ -1,4 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-Oh, Yeah! It's you! Right, then, Here you go! Don't be too disappointed if it's less than you'd like. Come back later and there'll be more work for you.<br>
-</body>
-</html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/32015-01.htm

@@ -1,4 +0,0 @@
-<html><body>
-The corpse of Pierce's Scout, who came here looking for the entrance. Search for any clues he might have left.<br>
-<a action="bypass -h Quest 109_InSearchOfTheNest Memo">"Search the corpse."</a>
-</body></html>

+ 0 - 91
L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/__init__.py

@@ -1,91 +0,0 @@
-# Created by Eyerobot, edited by Emperorc
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-
-qn = "109_InSearchOfTheNest"
-
-# ~~~~~ npcId list: ~~~~~
-Pierce          = 31553
-Corpse          = 32015
-Kahman          = 31554
-# ~~~~~~~~~~~~~~~~~~~~~~~
-
-# ~~~~~~ itemId list: ~~~~~~
-Memo            = 8083
-Golden_Badge_Recruit = 7246
-Golden_Badge_Soldier = 7247
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-class Quest (JQuest) : 
-
-    def __init__(self,id,name,descr):
-    	JQuest.__init__(self,id,name,descr)
-    	self.questItemIds = [Memo]
-
-    def onAdvEvent (self,event,npc,player) :
-        st = player.getQuestState(qn)
-        if not st: return
-        htmltext = event
-        cond = st.getInt("cond")
-        if event == "Memo" and cond == 1 :
-            st.giveItems(Memo,1)
-            st.set("cond","2")
-            st.playSound("ItemSound.quest_itemget")
-            return
-        elif event == "31553-02.htm" and cond == 2 :
-            st.takeItems(Memo,-1)
-            st.set("cond","3")
-            st.playSound("ItemSound.quest_middle") 
-        return htmltext
-
-    def onTalk (self,npc,player):
-        htmltext = Quest.getNoQuestMsg(player)
-        st = player.getQuestState(qn)
-        if st :
-            npcId = npc.getNpcId()
-            cond = st.getInt("cond")
-            state = st.getState()
-            if state == State.COMPLETED :
-                htmltext = Quest.getAlreadyCompletedMsg(player)
-            elif state == State.CREATED :
-                if st.getPlayer().getLevel() >= 66 and npcId == Pierce and (st.getQuestItemsCount(Golden_Badge_Recruit) > 0 or st.getQuestItemsCount(Golden_Badge_Soldier) > 0) :
-                    st.setState(State.STARTED)
-                    st.playSound("ItemSound.quest_accept")
-                    st.set("cond","1")
-                    htmltext = "<html><body>Mercenary Captain Pierce:<br>I sent out a scout a while ago, and he hasn't reported back yet. \
-                    Please follow his trail and discover his fate.</body></html>" #this is custom, if someone knows this html from retail, please contribute it.
-                else :
-                    htmltext = "31553-00.htm"
-                    st.exitQuest(1)
-                    st.playSound("ItemSound.quest_giveup")
-            elif state == State.STARTED :
-                if npcId == Corpse :
-                    if cond == 1 :
-                        htmltext = "32015-01.htm"
-                    elif cond == 2 :
-                        htmltext = "<html><body>This is nothing else here. Maybe you should take that memo to Pierce?</body></html>"#again, custom, see note above
-                elif npcId == Pierce :
-                    if cond == 1 :
-                        htmltext = "<html><body>Mercenary Captain Pierce:<br>Please find my scout!</body></html>"#custom
-                    elif cond == 2 :
-                        htmltext = "31553-01.htm"
-                    elif cond == 3 :
-                        htmltext = "<html><body>Mercenary Captain Pierce:<br>Thanks for your help. See Kahman for your reward!</body></html>"#custom
-                elif npcId == Kahman and cond == 3 :
-                    htmltext = "31554-01.htm"
-                    st.giveItems(57,161500)
-                    st.addExpAndSp(701500,50000)
-                    st.unset("cond")
-                    st.exitQuest(False)
-                    st.playSound("ItemSound.quest_finish")
-        return htmltext 
-
-QUEST = Quest(109,qn,"In Search of the Nest")
-
-QUEST.addStartNpc(Pierce)
-
-QUEST.addTalkId(Pierce)
-QUEST.addTalkId(Corpse)
-QUEST.addTalkId(Kahman)

+ 6 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-0.htm

@@ -0,0 +1,6 @@
+<html><body>
+Mercenary Captain Pierce:<br>
+Excellent! I hate to throw you into the fire on your first mission, but it's vital that we find out what happened to our scout!<br>
+Cool your heels a minute and I'll tell you where to focus your search.<br>
+We lost contact with him inside the Swamp of Screams. If you follow the path you can't miss it. I also marked it on your map, so don't get lost! Last thing I need is another missing person.
+</body></html>

+ 5 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-0a.htm

@@ -0,0 +1,5 @@
+<html><body>
+Mercenary Captain Pierce:<br>
+We have no use for someone so inexperienced. Get some more training and we'll see what we can do for you...<br>
+(Only characters who are level 81 or higher may undertake this quest.)
+</body></html>

+ 6 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-0b.htm

@@ -0,0 +1,6 @@
+<html><body>
+Mercenary Captain Pierce:<br>
+I'm glad to have you on the force! Makes me more optimistic about our chances...<br>
+Anyway, I called you here to ask you a favor. I sent a group of scouts into the Swamp of Screams to investigate the ongoing conflict there, but we've lost contact with one of them. I need someone to find out what happened. Are you up to the task?<br>
+<a action="bypass -h Quest 109_InSearchOfTheNest 31553-0.htm">"Sure, no big deal. I'll do it."</a>
+</body></html>

+ 5 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-1.html

@@ -0,0 +1,5 @@
+<html><body>
+Mercenary Captain Pierce:<br>
+What's the hold up?<br>
+We lost contact with the scout inside the Swamp of Screams. Follow the path and you can't miss it. I marked it on the map so you shouldn't get lost. Remember, countless lives are at stake here! We need to find that scout!
+</body></html>

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/scripts/quests/109_InSearchOfTheNest/31553-01.htm → L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-2.html

@@ -1,5 +1,6 @@
-<html><body>Mercenary Captain Pierce:<br>
+<html><body>
+Mercenary Captain Pierce:<br>
 I can tell by your looks that you found something. Well? Is my scout OK?<br>
 Spit it out, soldier! What do you know?<br>
-<a action="bypass -h Quest 109_InSearchOfTheNest 31553-02.htm">"Read this memo."</a>
+<a action="bypass -h Quest 109_InSearchOfTheNest 31553-3.html">"Read this memo."</a>
 </body></html>

+ 6 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-3.html

@@ -0,0 +1,6 @@
+<html><body>
+Mercenary Captain Pierce:<br>
+Ah, I see... He's dead, then.<br>
+Good work. At least he gave us some important information: the Stakatos are becoming both wilder and stronger, though we don't know why.<br>
+Our Golden Ram Mercenaries must now prepare for what may well be our final battle. Take this news to <font color="LEVEL">Kahman</font>. He will reward you for your efforts.
+</body></html>

+ 4 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31553-3a.html

@@ -0,0 +1,4 @@
+<html><body>
+Mercenary Captain Pierce:<br>
+You've done your part, and I thank you for it. Go to see <font color="LEVEL">Kahman</font> over there for your reward.
+</body></html>

+ 5 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31554-1.html

@@ -0,0 +1,5 @@
+<html><body>
+Mercenary Kahman:<br>
+State your business here! We received no order.<br>
+<a action="bypass -h Quest 109_InSearchOfTheNest 31554-2.html">"Pierce sent me."</a>
+</body></html>

+ 4 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/31554-2.html

@@ -0,0 +1,4 @@
+<html><body>
+Mercenary Kahman:<br>
+Oh, yeah! It's you! Right, then. Here you go! Don't be too disappointed if it's less than you'd like. Come back later and there'll be more work for you.
+</body></html>

+ 4 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/32015-1.html

@@ -0,0 +1,4 @@
+<html><body><br>
+The corpse of Pierce's scout, who came here looking for the entrance. Search for any clues he might have left.<br>
+<a action="bypass -h Quest 109_InSearchOfTheNest 32015-2.html">Search the corpse.</a>
+</body></html>

+ 3 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/32015-2.html

@@ -0,0 +1,3 @@
+<html><body><br>
+(Beneath the corpse you find a memo. You should take it to Mercenary Captain Pierce.)
+</body></html>

+ 3 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/32015-3.html

@@ -0,0 +1,3 @@
+<html><body><br>
+(There's nothing else here. Take the memo to Mercenary Captain Pierce.)
+</body></html>

+ 144 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q109_InSearchOfTheNest/Q109_InSearchOfTheNest.java

@@ -0,0 +1,144 @@
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+package quests.Q109_InSearchOfTheNest;
+
+/**
+ * In Search of the Nest (109).<br>
+ * Original Jython script by Eyerobot and Emperorc.
+ * @author Adry_85
+ */
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+
+public class Q109_InSearchOfTheNest extends Quest
+{
+	private static final String qn = "109_InSearchOfTheNest";
+	// NPC
+	private static final int PIERCE = 31553;
+	private static final int SCOUTS_CORPSE = 32015;
+	private static final int KAHMAN = 31554;
+	
+	// Quest Item
+	private static final int SCOUTS_MEMO = 8083;
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		QuestState st = player.getQuestState(getName());
+		if (st == null)
+		{
+			return getNoQuestMsg(player);
+		}
+		
+		switch (event)
+		{
+			case "31553-0.htm":
+				st.startQuest();
+				break;
+			case "32015-2.html":
+				st.giveItems(SCOUTS_MEMO, 1);
+				st.setCond(2, true);
+				break;
+			case "31553-3.html":
+				st.takeItems(SCOUTS_MEMO, -1);
+				st.setCond(3, true);
+				break;
+			case "31554-2.html":
+				st.giveAdena(161500, true);
+				st.addExpAndSp(701500, 50000);
+				st.exitQuest(false, true);
+				break;
+		}
+		
+		return event;
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(getName());
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (npc.getNpcId())
+		{
+			case PIERCE:
+				switch (st.getState())
+				{
+					case State.CREATED:
+						htmltext = (player.getLevel() < 81) ? "31553-0a.htm" : "31553-0b.htm";
+						break;
+					case State.STARTED:
+						switch (st.getInt("cond"))
+						{
+							case 1:
+								htmltext = "31553-1.html";
+								break;
+							case 2:
+								htmltext = "31553-2.html";
+								break;
+							case 3:
+								htmltext = "31553-3a.html";
+								break;
+						}
+						break;
+					case State.COMPLETED:
+						htmltext = getAlreadyCompletedMsg(player);
+						break;
+				}
+				break;
+			case SCOUTS_CORPSE:
+				if (st.isStarted())
+				{
+					if (st.isCond(1))
+					{
+						htmltext = "32015-1.html";
+					}
+					else if (st.isCond(2))
+					{
+						htmltext = "32015-3.html";
+					}
+				}
+				break;
+			case KAHMAN:
+				if (st.isStarted() && st.isCond(3))
+				{
+					htmltext = "31554-1.html";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	public Q109_InSearchOfTheNest(int id, String name, String descr)
+	{
+		super(id, name, descr);
+		
+		addStartNpc(PIERCE);
+		addTalkId(PIERCE, SCOUTS_CORPSE, KAHMAN);
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q109_InSearchOfTheNest(109, qn, "In Search of the Nest");
+	}
+}