浏览代码

new quest: 509 - The Clan's Prestige

Kerberos 17 年之前
父节点
当前提交
d574e14b12
共有 23 个文件被更改,包括 249 次插入1 次删除
  1. 1 0
      datapack_development/data/scripts.cfg
  2. 1 1
      datapack_development/data/scripts/quests/508_TheClansReputation/__init__.py
  3. 8 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-0.htm
  4. 7 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-0a.htm
  5. 7 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-0b.htm
  6. 7 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-0c.htm
  7. 4 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-1.htm
  8. 6 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-1a.htm
  9. 5 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-1b.htm
  10. 4 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-2.htm
  11. 6 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-2a.htm
  12. 5 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-2b.htm
  13. 4 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-3.htm
  14. 6 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-3a.htm
  15. 5 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-3b.htm
  16. 4 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-4.htm
  17. 6 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-4a.htm
  18. 5 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-4b.htm
  19. 4 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-5.htm
  20. 6 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-5a.htm
  21. 5 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-5b.htm
  22. 7 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/31331-6.htm
  23. 136 0
      datapack_development/data/scripts/quests/509_TheClansPrestige/__init__.py

+ 1 - 0
datapack_development/data/scripts.cfg

@@ -411,6 +411,7 @@ quests/432_BirthdayPartySong/__init__.py
 quests/501_ProofOfClanAlliance/__init__.py
 quests/503_PursuitClanAmbition/__init__.py
 quests/508_TheClansReputation/__init__.py
+quests/509_TheClansPrestige/__init__.py
 quests/510_AClansReputation/__init__.py
 quests/601_WatchingEyes/__init__.py
 quests/602_ShadowOfLight/__init__.py

+ 1 - 1
datapack_development/data/scripts/quests/508_TheClansReputation/__init__.py

@@ -150,5 +150,5 @@ QUEST       = Quest(508,qn,qd)
 QUEST.addStartNpc(SIR_ERIC_RODEMAI)
 QUEST.addTalkId(SIR_ERIC_RODEMAI)
 
-for npc,item in REWARDS_LIST.values():
+for npc,item,min,max in REWARDS_LIST.values():
     QUEST.addKillId(npc)

+ 8 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-0.htm

@@ -0,0 +1,8 @@
+<html><body>Grand Magister Valdis:<br>
+Take your pick!<br>
+<a action="bypass -h Quest 509_TheClansPrestige 1">Daimon the White-Eyed</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 2">Hestia, Guardian Deity of the Hot Springs</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 3">Plague Golem</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 4">Demon's Agent Falston</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 5">Queen Shyeed</a><br>
+</body></html>

+ 7 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-0a.htm

@@ -0,0 +1,7 @@
+<html><body>Grand Magister Valdis:<br>
+Hearing this, you may think that the place has the bustling atmosphere of a metropolitan area. But due to its proximity to the border with Elmore, it always tends to maintain a somewhat tense atmosphere. The two types of atmosphere were always co-mingling and created a unique balance for years.<br>
+But an increasing number of powerful monsters started to be a major menace to this balance. Of course we, the honorable citizens of Rune can not get our hands bloody nor pose a risk to our personal belongings by sending the city guards into the task of making these daemons to retreat.<br>
+However, if we find some private army brave enough to join forces with us, there's one thing we can surely grant as a payment given our position and influence, and <font color="LEVEL"> Reputation</font> it is.<br>
+I can see you're not the kind of people with the vein of a leader, so we have nothing to talk about.<br>
+(Only the leader of a clan level 6 or above may undertake this quest)
+</body></html>

+ 7 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-0b.htm

@@ -0,0 +1,7 @@
+<html><body>Grand Magister Valdis:<br>
+Hearing this, you may think that the place has the bustling atmosphere of a metropolitan area. But due to its proximity to the border with Elmore, it always tends to maintain a somewhat tense atmosphere. The two types of atmosphere were always co-mingling and created a unique balance for years.<br>
+But an increasing number of powerful monsters started to be a major menace to this balance. Of course we, the honorable citizens of Rune can not get our hands bloody nor pose a risk to our personal belongings by sending the city guards into the task of making these daemons to retreat.<br>
+However, if we find some private army brave enough to join forces with us, there's one thing we can surely grant as a payment given our position and influence, and <font color="LEVEL"> Reputation</font> it is.<br>
+I've been told you lead a personal army, but i'm afraid your fellows may lack the strenght required for we to engage in a business.<br>
+(This quest may only be undertaken by clans of level 6 and above)
+</body></html>

+ 7 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-0c.htm

@@ -0,0 +1,7 @@
+<html><body>Grand Magister Valdis:<br>
+Hearing this, you may think that the place has the bustling atmosphere of a metropolitan area. But due to its proximity to the border with Elmore, it always tends to maintain a somewhat tense atmosphere. The two types of atmosphere were always co-mingling and created a unique balance for years.<br>
+But an increasing number of powerful monsters known as<font color="LEVEL"> Raid Bosses</font> started to terrorize town's people and are a major menace to this balance. Of course we, the honorable citizens of Rune can not get our hands bloody nor pose a risk to our personal belongings by sending the city guards into the task of making these daemons to retreat.<br>
+However, if we find some private army brave enough to join forces with us, there's one thing we can surely grant as a payment given our position and influence, and <font color="LEVEL"> Reputation</font> it is.<br>
+I've been told you lead a personal army. Of course we know a leader like you won't have to risk his life on the task, so if you can grant your subordinates will accomplish our requests i can give you further details, what you say?<br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">Yes, my clan will help you</a><br>
+</body></html>

+ 4 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-1.htm

@@ -0,0 +1,4 @@
+<html><body>Grand Magister Valdis:<br>
+Very good! Destroy <font color="LEVEL">Daimon, the white-Eyed</font> and bring me Daimon's Eyes.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font>
+</body></html>

+ 6 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-1a.htm

@@ -0,0 +1,6 @@
+<html><body>Grand Magister Valdis:<br>
+Too bad! Destroy <font color="LEVEL">Daimon, the white-Eyed</font> and bring me Daimon's Eyes.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to try another Raid Boss."</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 5 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-1b.htm

@@ -0,0 +1,5 @@
+<html><body>Grand Magister Valdis:<br>
+Excellent! I'll spread the word of your mighty Clan's defeat of the Daimon, the white-Eyed.<br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to kill some more Raid Bosses!"</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 4 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-2.htm

@@ -0,0 +1,4 @@
+<html><body>Grand Magister Valdis:<br>
+Very good! Destroy <font color="LEVEL">Hestia, Guardian Deity of the Hot Springs</font> and bring me Hestia's Fairy Stone.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font>
+</body></html>

+ 6 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-2a.htm

@@ -0,0 +1,6 @@
+<html><body>Grand Magister Valdis:<br>
+Too bad! Destroy <font color="LEVEL">Hestia, Guardian Deity of the Hot Springs</font> and bring me Hestia's Fairy Stone.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">Quit</a>
+</body></html>

+ 5 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-2b.htm

@@ -0,0 +1,5 @@
+<html><body>Grand Magister Valdis:<br>
+Excellent! I'll spread the word of your mighty Clan's defeat of the Hestia, Guardian Deity of the Hot Springs.<br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to kill some more Raid Bosses!"</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 4 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-3.htm

@@ -0,0 +1,4 @@
+<html><body>Grand Magister Valdis:<br>
+Very good! Destroy <font color="LEVEL">Plague Golem</font> and bring me Nucleus of Lesser Golem.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font>
+</body></html>

+ 6 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-3a.htm

@@ -0,0 +1,6 @@
+<html><body>Grand Magister Valdis:<br>
+Too bad! Destroy <font color="LEVEL">Plague Golem</font> and bring me Nucleus of Lesser Golem.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to try another Raid Boss."</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 5 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-3b.htm

@@ -0,0 +1,5 @@
+<html><body>Grand Magister Valdis:<br>
+Excellent! I'll spread the word of your mighty Clan's defeat of the Plague Golem.<br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to kill some more Raid Bosses!"</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 4 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-4.htm

@@ -0,0 +1,4 @@
+<html><body>Grand Magister Valdis:<br>
+Very good! Destroy <font color="LEVEL">Demon's Agent Falchion</font> and bring me Falston's Fang.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font>
+</body></html>

+ 6 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-4a.htm

@@ -0,0 +1,6 @@
+<html><body>Grand Magister Valdis:<br>
+Too bad! Destroy <font color="LEVEL">Demon's Agent Falchion</font> and bring me Falston's Fang.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to try another Raid Boss."</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 5 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-4b.htm

@@ -0,0 +1,5 @@
+<html><body>Grand Magister Valdis:<br>
+Excellent! I'll spread the word of your mighty Clan's defeat of the Demon's Agent Falchion.<br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to kill some more Raid Bosses!"</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 4 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-5.htm

@@ -0,0 +1,4 @@
+<html><body>Grand Magister Valdis:<br>
+Very good! Destroy <font color="LEVEL">Queen Shyeed</font> and bring me Shaid's Talon.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font>
+</body></html>

+ 6 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-5a.htm

@@ -0,0 +1,6 @@
+<html><body>Grand Magister Valdis:<br>
+Too bad! Destroy <font color="LEVEL">Queen Shyeed</font> and bring me Shaid's Talon.<br>
+<font color="LEVEL">Remember, you don't need to do the killing yourself! Just stand back and let your Clan to do the work for you!</font><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to try another Raid Boss."</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 5 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-5b.htm

@@ -0,0 +1,5 @@
+<html><body>Grand Magister Valdis:<br>
+Excellent! I'll spread the word of your mighty Clan's defeat of the Queen Shyeed.<br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-0.htm">"I want to kill some more Raid Bosses!"</a><br>
+<a action="bypass -h Quest 509_TheClansPrestige 31331-6.htm">"I want to quit this mission."</a>
+</body></html>

+ 7 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/31331-6.htm

@@ -0,0 +1,7 @@
+<html><body>Grand Magister Valdis:<br>
+I believe that leaders are expected to supply two things most of all.<br>
+One is a compelling vision or sense of purpose for the group. And you bear a special responsibility to articulate that vision, and in a very compelling fashion.<br>
+And the second thing is to provide clear decisions. Doing that requires data collection and consultation, but ultimately leaders must set a direction.<br>
+Anyway you're welcome whenever you change your mind and decide we'd need to discuss the reputation of your clan again.<br>
+Farewell, and may we meet again in happier times.<br>
+</body></html>

+ 136 - 0
datapack_development/data/scripts/quests/509_TheClansPrestige/__init__.py

@@ -0,0 +1,136 @@
+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
+from net.sf.l2j.gameserver.serverpackets      import PledgeShowInfoUpdate
+from net.sf.l2j.gameserver.serverpackets      import SystemMessage
+from net.sf.l2j.util import Rnd
+
+qn="509_TheClansPrestige"
+
+# Quest NPC
+VALDIS = 31331
+
+# Quest Items
+DAIMONS_EYES                = 8489 # Daimon's Eyes: Eyes obtained by killing Daimon the White-Eyed.
+HESTIAS_FAIRY_STONE         = 8490 # Hestia's Fairy Stone: Fairy Stone obtained by defeating Hestia, the Guardian Deity of the Hot Springs.
+NUCLEUS_OF_LESSER_GOLEM     = 8491 # Nucleus of Lesser Golem: Nucleus obtained by defeating the Lesser Golem.
+FALSTON_FANG                = 8492 # Falston's Fang: Fangs obtained by killing Falston, the Demon's Agent.
+SHAIDS_TALON                = 8493 # Shaid's Talon: Talon obtained by defeating Spike Stakato Queen Shaid.
+
+#Quest Raid Bosses
+DAIMON_THE_WHITE_EYED  = 25524
+HESTIA_GUARDIAN_DEITY  = 25252
+PLAGUE_GOLEM	       = 25140
+DEMONS_AGENT_FALSTON   = 25255
+QUEEN_SHYEED	       = 25245
+
+# id:[RaidBossNpcId,questItemId,minClanPoints,maxClanPoints]
+REWARDS_LIST={
+    1:[DAIMON_THE_WHITE_EYED,	DAIMONS_EYES,180,215],
+    2:[HESTIA_GUARDIAN_DEITY,	HESTIAS_FAIRY_STONE,430,465],
+    3:[PLAGUE_GOLEM,		NUCLEUS_OF_LESSER_GOLEM,380,415],
+    4:[DEMONS_AGENT_FALSTON,	FALSTON_FANG,220,255],
+    5:[QUEEN_SHYEED,		SHAIDS_TALON,130,165]
+    }
+
+RADAR={
+    1:[186320,-43904,-3175],
+    2:[134672,-115600,-1216],
+    3:[0,0,0], # not spawned yet
+    4:[93296,-75104,-1824],
+    5:[79635,-55612,-5980]
+    }
+
+class Quest (JQuest) :
+
+ def __init__(self,id,name,descr) :
+     JQuest.__init__(self,id,name,descr)
+     self.questItemIds = [DAIMONS_EYES,HESTIAS_FAIRY_STONE,NUCLEUS_OF_LESSER_GOLEM,FALSTON_FANG,SHAIDS_TALON]
+
+ def onAdvEvent (self,event,npc,player) :
+  st = player.getQuestState(qn)
+  if not st: return
+  cond = st.getInt("cond")
+  htmltext=event
+  if event == "31331-0.htm" :
+    if cond == 0 :
+      st.set("cond","1")
+      st.setState(State.STARTED)
+  elif event.isdigit() :
+    if int(event) in REWARDS_LIST.keys():
+      st.set("raid",event)
+      htmltext="31331-"+event+".htm"
+      x,y,z=RADAR[int(event)]
+      if x+y+z:
+        st.addRadar(x, y, z)
+      st.playSound("ItemSound.quest_accept")
+  elif event == "31331-6.htm" :
+    st.playSound("ItemSound.quest_finish")
+    st.exitQuest(1)
+  return htmltext
+
+ def onTalk (self,npc,player) :
+  htmltext = "<html><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
+  clan = player.getClan()
+  npcId = npc.getNpcId()
+  if player.getClan() == None or player.isClanLeader() == 0 :
+     st.exitQuest(1)
+     htmltext = "31331-0a.htm"
+  elif player.getClan().getLevel() < 6 :
+     st.exitQuest(1)
+     htmltext =  "31331-0b.htm"
+  else :
+     cond = st.getInt("cond")
+     raid = st.getInt("raid")
+     id = st.getState()
+     if id == State.CREATED and cond == 0 :
+        htmltext =  "31331-0c.htm"
+     elif id == State.STARTED and cond == 1 and raid in REWARDS_LIST.keys() :
+        npc,item,min,max=REWARDS_LIST[raid]
+        count = st.getQuestItemsCount(item)
+        CLAN_POINTS_REWARD = Rnd.get(min, max)
+        if not count :
+           htmltext = "31331-"+str(raid)+"a.htm"
+        elif count == 1 :
+           htmltext = "31331-"+str(raid)+"b.htm"
+           st.takeItems(item,1)
+           clan.setReputationScore(clan.getReputationScore()+CLAN_POINTS_REWARD,True)
+           player.sendPacket(SystemMessage(1777).addNumber(CLAN_POINTS_REWARD))
+           clan.broadcastToOnlineMembers(PledgeShowInfoUpdate(clan))
+  return htmltext
+
+ def onKill(self,npc,player,isPet) :
+  st = 0
+  if player.isClanLeader() :
+   st = player.getQuestState(qn)
+  else:
+   clan = player.getClan()
+   if clan:
+    leader=clan.getLeader()
+    if leader :
+     pleader= leader.getPlayerInstance()
+     if pleader :
+      if player.isInsideRadius(pleader, 1600, 1, 0) :
+       st = pleader.getQuestState(qn)
+  if not st : return
+  option=st.getInt("raid")
+  if st.getInt("cond") == 1 and st.getState() == State.STARTED and option in REWARDS_LIST.keys():
+   raid,item,min,max = REWARDS_LIST[option]
+   npcId=npc.getNpcId()
+   if npcId == raid and not st.getQuestItemsCount(item) :
+      st.giveItems(item,1)
+      st.playSound("ItemSound.quest_middle")
+  return
+
+
+# Quest class and state definition
+QUEST       = Quest(509,qn,"The Clan's Prestige")
+
+QUEST.addStartNpc(VALDIS)
+QUEST.addTalkId(VALDIS)
+
+for npc,item,min,max in REWARDS_LIST.values():
+    QUEST.addKillId(npc)