Explorar el Código

new quest: 113 - Status of The Beacon Tower

Kerberos hace 17 años
padre
commit
e5eef60827

+ 1 - 1
datapack_development/data/scripts.cfg

@@ -175,13 +175,13 @@ quests/108_JumbleTumbleDiamondFuss/__init__.py
 quests/109_InSearchOfTheNest/__init__.py
 quests/110_ToThePrimevalIsle/__init__.py
 quests/112_WalkOfFate/__init__.py
+quests/113_StatusOfTheBeaconTower/__init__.py
 quests/117_OceanOfDistantStar/__init__.py
 quests/118_ToLeadAndBeLed/__init__.py
 quests/121_PavelTheGiants/__init__.py
 quests/122_OminousNews/__init__.py
 quests/123_TheLeaderAndTheFollower/__init__.py
 quests/124_MeetingTheElroki/__init__.py
-#quests/127_KamaelAWindowToTheFuture/__init__.py # Disabled on T1
 quests/151_SaveMySister1/__init__.py
 quests/152_ShardsOfGolem/__init__.py
 quests/153_WharfOldtimersFavor/__init__.py

+ 4 - 0
datapack_development/data/scripts/quests/113_StatusOfTheBeaconTower/31979-00.htm

@@ -0,0 +1,4 @@
+<HTML><BODY>Seer Moira:<br>
+Oh, my poor adventurer! I don't feel the blessing of Pa'agrio's coming from you. Why don't you come back when you've had more experience?<br>
+(Only characters level 40 and above may undertake this quest.)
+</BODY></HTML>

+ 4 - 0
datapack_development/data/scripts/quests/113_StatusOfTheBeaconTower/31979-01.htm

@@ -0,0 +1,4 @@
+<HTML><BODY>Seer Moira:<br>
+You are under the protection of Pa'agrio! I trust you. Please go to the Beacon Tower at the <font color="LEVEL">Den of Evil</font> and take this box with you.<br>
+<a action="bypass -h Quest 113_StatusOfTheBeaconTower 31979-02.htm">"Why the Beacon Tower?"</a>
+</BODY></HTML>

+ 3 - 0
datapack_development/data/scripts/quests/113_StatusOfTheBeaconTower/31979-02.htm

@@ -0,0 +1,3 @@
+<HTML><BODY>Seer Moira:<br>
+I don't know why, but the power from the Beacon Tower is weakening. They must be unable to light it! Take this box containing the power of fire to <font color="LEVEL">Beacon Tower Manager Torrant</font>.
+</BODY></HTML>

+ 3 - 0
datapack_development/data/scripts/quests/113_StatusOfTheBeaconTower/31979-03.htm

@@ -0,0 +1,3 @@
+<HTML><BODY>Seer Moira:<br>
+Hurry up! Go see <font color="LEVEL">Beacon Tower Manager Torrant</font> and give this to him.
+</BODY></HTML>

+ 5 - 0
datapack_development/data/scripts/quests/113_StatusOfTheBeaconTower/32016-01.htm

@@ -0,0 +1,5 @@
+<HTML><BODY>Beacon Tower Manager Torrant:<br>
+So, Moira asked you to come? What is that you have there?<br>
+A box containing the Fire of Holy Spirit? Great! The fire was weakening because of the weird energy in this area. Give me the box at once!<br>
+<a action="bypass -h Quest 113_StatusOfTheBeaconTower 32016-02.htm">"Here it is."</a>
+</BODY></HTML>

+ 3 - 0
datapack_development/data/scripts/quests/113_StatusOfTheBeaconTower/32016-02.htm

@@ -0,0 +1,3 @@
+<HTML><BODY>Beacon Tower Manager Torrant:<br>
+All right. I have the box. You've come a long way and I know it's not much, but please accept this reward.
+</BODY></HTML>

+ 65 - 0
datapack_development/data/scripts/quests/113_StatusOfTheBeaconTower/__init__.py

@@ -0,0 +1,65 @@
+# Made by Kerberos v1.0 on 2008/02/09
+# this script is part of the Official L2J Datapack Project.
+# Visit http://forum.l2jdp.com for more details.
+import sys
+from net.sf.l2j.gameserver.model.quest import State
+from net.sf.l2j.gameserver.model.quest import QuestState
+from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
+
+qn = "113_StatusOfTheBeaconTower"
+
+#NPCs
+Moira = 31979
+Torrant = 32016
+
+#Items
+Box = 8086
+
+class Quest (JQuest) : 
+
+ def __init__(self,id,name,descr):
+    JQuest.__init__(self,id,name,descr)
+    self.questItemIds = [Box]
+
+ def onEvent(self, event, st):
+    htmltext = event
+    if event == "31979-02.htm" :
+      st.set("cond","1")
+      st.giveItems(Box,1)
+      st.setState(State.STARTED)
+      st.playSound("ItemSound.quest_accept")
+    elif event == "32016-02.htm" :
+      st.giveItems(57,12020)
+      st.takeItems(Box,1)
+      st.playSound("ItemSound.quest_finish")
+      st.exitQuest(False)
+    return htmltext
+
+ def onTalk (self,npc,player):        
+    htmltext = "<html><head><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
+    st = player.getQuestState(qn)
+    if not st : return htmltext
+    state = st.getState()
+    npcId = npc.getNpcId()
+    cond = st.getInt("cond")
+    if state == State.COMPLETED :
+       htmltext = "<html><body>This quest has already been completed.</body></html>"
+    elif npcId == Moira :
+       if state == State.CREATED:
+          if st.getPlayer().getLevel() >= 40 :
+             htmltext = "31979-01.htm"
+          else:
+             htmltext = "31979-00.htm"
+             st.exitQuest(1)
+       elif cond == 1:
+          htmltext = "31979-03.htm"
+    elif npcId == Torrant and st.getQuestItemsCount(Box) == 1:
+       htmltext = "32016-01.htm"
+    return htmltext
+
+QUEST = Quest(113,qn,"Status Of The Beacon Tower")
+
+QUEST.addStartNpc(Moira)
+
+QUEST.addTalkId(Moira)
+QUEST.addTalkId(Torrant)

+ 1 - 1
datapack_development/sql/etcitem.sql

@@ -6211,7 +6211,7 @@ INSERT INTO `etcitem` VALUES
 (8083,'Scout\'s Memo','false','quest',0,'stackable','paper','none',-1,0,0,'true','true','true','true','C5Item','none'),
 (8084,'Crystal of Purity','false','none',0,'stackable','paper','none',-1,0,0,'true','true','true','true','C5Item','none'),
 (8085,'Fang of Stakato','false','none',0,'stackable','paper','none',-1,0,0,'true','true','true','true','C5Item','none'),
-(8086,'Box Containing the Fire of Holy Spirit','false','none',0,'stackable','paper','none',-1,0,0,'true','true','true','true','C5Item','none'),
+(8086,'Box Containing the Fire of Holy Spirit','false','quest',0,'stackable','paper','none',-1,0,0,'true','true','true','true','C5Item','none'),
 (8087,'Cursed Doll','false','none',0,'stackable','paper','none',-1,0,0,'true','true','true','true','C5Item','none'),
 (8088,'Orc Grave Goods','false','none',0,'stackable','paper','none',-1,0,0,'true','true','true','true','C5Item','none'),
 (8089,'Cursed Grave Goods','false','none',0,'stackable','paper','none',-1,0,0,'true','true','true','true','C5Item','none'),