Browse Source

BETA/STABLE: Minor Fix for Q401.
BETA: Added Q146 in Java and updated.

Thanks malyelfik.

MELERIX 14 năm trước cách đây
mục cha
commit
d6adb08dab

+ 1 - 1
L2J_DataPack_BETA/data/scripts.cfg

@@ -319,7 +319,7 @@ quests/140_ShadowFoxPart2/__init__.py
 quests/141_ShadowFoxPart3/__init__.py
 quests/142_FallenAngelRequestOfDawn/__init__.py
 quests/143_FallenAngelRequestOfDusk/__init__.py
-#quests/146_TheZeroHour/__init__.py
+quests/Q146_TheZeroHour/Q146_TheZeroHour.java
 quests/Q147_PathtoBecominganEliteMercenary/Q147_PathtoBecominganEliteMercenary.java
 quests/Q148_PathtoBecominganExaltedMercenary/Q148_PathtoBecominganExaltedMercenary.java
 quests/151_SaveMySister1/__init__.py

+ 0 - 53
L2J_DataPack_BETA/data/scripts/quests/146_TheZeroHour/__init__.py

@@ -1,53 +0,0 @@
-# by Gnacik
-#
-import sys
-from com.l2jserver import Config
-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 = "146_TheZeroHour"
-
-# NPc's
-KAHMAN = 31554
-# Items
-FANG = 14859
-
-class Quest (JQuest) :
-
-	def __init__(self,id,name,descr):
-		JQuest.__init__(self,id,name,descr)
-		self.questItemIds = [FANG]
-
-	def onAdvEvent (self,event,npc,player) :
-		htmltext = event
-		st = player.getQuestState(qn)
-		if not st : return
-		if event == "31554-02.htm" :
-			st.set("cond","1")
-			st.setState(State.STARTED)
-			st.playSound("ItemSound.quest_accept")
-		return htmltext
-
-	def onTalk (self, npc, player) :
-		htmltext = Quest.getNoQuestMsg(player)
-		st = player.getQuestState(qn)
-		if not st : return htmltext
-
-		if st.getState() == State.STARTED :
-			if st.getQuestItemsCount(FANG) > 0:
-				htmltext = "Not Done, sorry"
-			else:
-				htmltext = "31554-03.htm"
-		else:
-			if player.getLevel() >= 81 :
-				htmltext = "31554-01.htm"
-			else:
-				htmltext = "31554-00.htm"
-		return htmltext
-
-
-QUEST = Quest(146,qn,"The Zero Hour")
-
-QUEST.addStartNpc(KAHMAN)
-QUEST.addTalkId(KAHMAN)

+ 1 - 1
L2J_DataPack_BETA/data/scripts/quests/146_TheZeroHour/31554-01.htm → L2J_DataPack_BETA/data/scripts/quests/Q146_TheZeroHour/31554-01a.htm

@@ -1,5 +1,5 @@
 <html><body>Mercenary Kahman:<br>
 Welcome! The time has come to end this conflict.<br>
 Are you ready to do your part in a decisive battle?<br>
-<a action="bypass -h Quest 146_TheZeroHour 31554-02.htm">Say yes.</a>
+<a action="bypass -h Quest 146_TheZeroHour 31554-03.htm">Say yes.</a>
 </body></html>

+ 3 - 0
L2J_DataPack_BETA/data/scripts/quests/Q146_TheZeroHour/31554-01b.htm

@@ -0,0 +1,3 @@
+<html><body>Mercenary Kahman:<br>
+Thanks to you, the Stakatos have finally been defeated. Good work!
+</body></html>

+ 0 - 0
L2J_DataPack_BETA/data/scripts/quests/146_TheZeroHour/31554-00.htm → L2J_DataPack_BETA/data/scripts/quests/Q146_TheZeroHour/31554-02.htm


+ 1 - 2
L2J_DataPack_BETA/data/scripts/quests/146_TheZeroHour/31554-02.htm → L2J_DataPack_BETA/data/scripts/quests/Q146_TheZeroHour/31554-03.htm

@@ -1,6 +1,5 @@
 <html><body>Mercenary Kahman:<br>
 I admire your courage! As you know, we've been infiltrating the Stakato Nest for some time and covertly attacking those monsters. Well, that must have just made them angrier.<br>
-This time we're going to cut their head off by killing their leader, <font color="LEVEL">Queen Shyeed</font>.<br>
-Bring back the <font color="LEVEL">Stakato Queen's Fangs</font> as proof of your victory.<br>
+This time we're going to cut their head off by killing their leader, <font color="LEVEL">Queen Shyeed</font>. Bring back the <font color="LEVEL">Stakato Queen's Fangs</font> as proof of your victory.<br>
 It won't be an easy battle, so take some trusted comrades with you. Good luck!
 </body></html>

+ 4 - 0
L2J_DataPack_BETA/data/scripts/quests/Q146_TheZeroHour/31554-04.html

@@ -0,0 +1,4 @@
+<html><body>Mercenary Kahman:<br>
+Our reconnaissance isn't complete, so I don't have a mission for you yet. Come back later.<br>
+(Only characters who have completed the "In Search of the Nest" quest may undertake this quest.)
+</body></html>

+ 5 - 0
L2J_DataPack_BETA/data/scripts/quests/Q146_TheZeroHour/31554-05.html

@@ -0,0 +1,5 @@
+<html><body>Mercenary Kahman:<br>
+These fangs...?! They belonged to the Queen Shyeed? So you were successful!<br>
+Well done! Here is the highest reward you can receive from the Golden Ram Mercenaries.<br>
+It has been an honor working with you!
+</body></html>

+ 0 - 0
L2J_DataPack_BETA/data/scripts/quests/146_TheZeroHour/31554-03.htm → L2J_DataPack_BETA/data/scripts/quests/Q146_TheZeroHour/31554-06.html


+ 114 - 0
L2J_DataPack_BETA/data/scripts/quests/Q146_TheZeroHour/Q146_TheZeroHour.java

@@ -0,0 +1,114 @@
+package quests.Q146_TheZeroHour;
+
+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;
+
+/**
+ * The Zero Hour (146)
+ * @author Gnacik, malyelfik
+ */
+public class Q146_TheZeroHour extends Quest
+{
+	private static final String qn = "146_TheZeroHour";
+	// Npc
+	private static final int Kahman = 31554;
+	private static final int QueenShyeed = 25671;
+	// Item
+	private static final int Fang = 14859;
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+			return getNoQuestMsg(player);
+		
+		if (event.equalsIgnoreCase("31554-03.htm"))
+		{
+			st.set("cond", "1");
+			st.setState(State.STARTED);
+			st.playSound("ItemSound.quest_accept");
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		QuestState prev = player.getQuestState("109_InSearchOfTheNest");
+		
+		if (st == null)
+			return htmltext;
+		
+		switch (st.getState())
+		{
+			case State.CREATED:
+				if (player.getLevel() < 81)
+					htmltext = "31554-02.htm";
+				else
+				{
+					if (prev != null && prev.getState() == State.COMPLETED)
+						htmltext = "31554-01a.htm";
+					else
+						htmltext = "31554-04.html";
+				}
+				break;
+			case State.STARTED:
+				if (st.getInt("cond") == 1)
+					htmltext = "31554-06.html";
+				else
+				{
+					st.giveItems(14849, 1);
+					st.addExpAndSp(154616, 12500);
+					st.takeItems(Fang, 1);
+					st.exitQuest(false);
+					st.playSound("ItemSound.quest_finish");
+					htmltext = "31554-05.html";
+				}
+				break;
+			case State.COMPLETED:
+				htmltext = "31554-01b.htm";
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
+	{
+		L2PcInstance partyMember = getRandomPartyMember(player, "1");
+		if (partyMember == null)
+			return null;
+		QuestState st = partyMember.getQuestState(qn);
+		
+		if (st.getQuestItemsCount(Fang) < 1)
+		{
+			st.giveItems(Fang, 1);
+			st.set("cond", "2");
+			st.playSound("ItemSound.quest_middle");
+		}
+		return null;
+	}
+	
+	public Q146_TheZeroHour(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(Kahman);
+		addTalkId(Kahman);
+		addKillId(QueenShyeed);
+		
+		questItemIds = new int[] { Fang };
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q146_TheZeroHour(146, qn, "The Zero Hour");
+	}
+}

+ 1 - 1
L2J_DataPack_BETA/data/scripts/quests/Q401_PathToWarrior/Q401_PathToWarrior.java

@@ -255,7 +255,7 @@ public class Q401_PathToWarrior extends Quest
 		{
 			addKillId(i);
 		}
-		questItemIds = new int[] { AuronsLetter, WarriorGuildMark, RustedBronzeSword1, RustedBronzeSword2, RustedBronzeSword3, SimplonsLetter, PoisonSpiderLeg, MedallionOfWarrior };
+		questItemIds = new int[] { AuronsLetter, WarriorGuildMark, RustedBronzeSword1, RustedBronzeSword2, RustedBronzeSword3, SimplonsLetter, PoisonSpiderLeg };
 	}
 	
 	public static void main(String[] args)