Exemple #1
0
	def onTalk (self, npc, player) :
		npcId = npc.getNpcId()
		st = player.getQuestState(qn)
		if not st :
			st = self.newQuestState(player)
		if npcId == TRAITOR :
			if st.getQuestItemsCount(9676) >= 10 :
				st.takeItems(9676,10)
				DoorTable.getInstance().getDoor(D1).openMe()
				self.startQuestTimer("Close_Door1",600000,None,None)
				DoorTable.getInstance().getDoor(D2).openMe()
				self.startQuestTimer("Close_Door2",600000,None,None)
				npc.broadcastPacket(NpcSay(npc.getObjectId(),0,npc.getNpcId(),"好吧,雷歐達斯現在就是你的了!"))
				htmltext = ""
			else :
				htmltext = "32364-1.htm"
				st.exitQuest(1) 
		return htmltext
 def onAdvEvent(self, event, npc, pc):
     if event == "Close_Door1":
         DoorTable.getInstance().getDoor(19160001).closeMe()
     elif event == "Close_Door2":
         DoorTable.getInstance().getDoor(19160010).closeMe()
         DoorTable.getInstance().getDoor(19160011).closeMe()
     return
Exemple #3
0
 def onAdvEvent (self,event,npc,pc) :
   if event == "Close_Door1" :
      DoorTable.getInstance().getDoor(19160001).closeMe()
   elif event == "Close_Door2" :
      DoorTable.getInstance().getDoor(19160010).closeMe()
      DoorTable.getInstance().getDoor(19160011).closeMe()
   return
	def onAdvEvent (self,event,npc,player):
		if event == "Close_Door1":
			DoorTable.getInstance().getDoor(D1).closeMe()
		elif event == "Close_Door2":
			DoorTable.getInstance().getDoor(D3).closeMe()
		elif event == "Close_Door3":
			DoorTable.getInstance().getDoor(D2).closeMe()
		return
	def onKill (self,npc,player,isPet):
		npcId = npc.getNpcId()
		if npcId == 18466 :
			DoorTable.getInstance().getDoor(D1).openMe()
			self.startQuestTimer("Close_Door1",6000000,None,None)
		elif npcId in [22327,22328,22329]:
			DoorTable.getInstance().getDoor(D3).openMe()
			self.startQuestTimer("Close_Door2",6000000,None,None)
		elif npcId == 22326 :
			DoorTable.getInstance().getDoor(D2).openMe()
			self.startQuestTimer("Close_Door3",6000000,None,None)
		return
Exemple #6
0
	def onAdvEvent (self,event,npc,player):
		if event == "Close_Door1":
			DoorTable.getInstance().getDoor(D1).closeMe()
		elif event == "Close_Door2":
			DoorTable.getInstance().getDoor(D2).closeMe()
		return
 def onTalk(self, npc, player):
     st = player.getQuestState(qn)
     npcId = npc.getNpcId()
     htmltext = None
     if npcId == 32034:
         if (
             st.getQuestItemsCount(8064) == 0
             and st.getQuestItemsCount(8065) == 0
             and st.getQuestItemsCount(8067) == 0
         ):
             return "<html><body>The Temple Gatekeeper:<br>You have nothing that would cover the holes.<br>(You must have a Visitor's Mark, a Faded Visitor's Mark, or a Pagan's Mark in order to open this door.)</body></html>"
         if st.getQuestItemsCount(8064):
             st.takeItems(8064, 1)  # TODO: this part must happen when u walk through doors >.<
             st.giveItems(8065, 1)
         htmltext = "FadedMark.htm"
         DoorTable.getInstance().getDoor(19160001).openMe()
         self.startQuestTimer("Close_Door1", 10000, None, None)
     elif npcId == 32035:
         DoorTable.getInstance().getDoor(19160001).openMe()
         self.startQuestTimer("Close_Door1", 10000, None, None)
         htmltext = "FadedMark.htm"
     elif npcId == 32036:
         if not st.getQuestItemsCount(8067):
             htmltext = "<html><body>The Temple Gatekeeper:<br>Show your Mark or be gone from my sight!<br>Only those who possess the Pagan's Mark may pass through this gate!</body></html>"
         else:
             htmltext = "<html><body>The Temple Gatekeeper:<br>On seeing the Pagan's Mark, the statue's probing eyes go blank.<br>With the quiet whir of an engine, the gate swings open...</body></html>"
             self.startQuestTimer("Close_Door2", 10000, None, None)
             DoorTable.getInstance().getDoor(19160010).openMe()
             DoorTable.getInstance().getDoor(19160011).openMe()
     elif npcId == 32037:
         DoorTable.getInstance().getDoor(19160010).openMe()
         DoorTable.getInstance().getDoor(19160011).openMe()
         self.startQuestTimer("Close_Door2", 10000, None, None)
         htmltext = "FadedMark.htm"
     st.exitQuest(1)
     return htmltext
Exemple #8
0
 def onTalk (self,npc,player):
   st = player.getQuestState(qn)
   npcId = npc.getNpcId()
   htmltext = None
   if npcId == 32034 :
     if st.getQuestItemsCount(8064) == 0 and st.getQuestItemsCount(8065) == 0 and st.getQuestItemsCount(8067) == 0:
         return "<html><body>The Temple Gatekeeper:<br>You have nothing that would cover the holes.<br>(You must have a Visitor's Mark, a Faded Visitor's Mark, or a Pagan's Mark in order to open this door.)</body></html>"
     if st.getQuestItemsCount(8064) :
        st.takeItems(8064,1) # TODO: this part must happen when u walk through doors >.<
        st.giveItems(8065,1)
     htmltext = "FadedMark.htm"
     DoorTable.getInstance().getDoor(19160001).openMe()
     self.startQuestTimer("Close_Door1",10000,None,None)
   elif npcId == 32035:
     DoorTable.getInstance().getDoor(19160001).openMe()
     self.startQuestTimer("Close_Door1",10000,None,None)
     htmltext = "FadedMark.htm"
   elif npcId == 32036:
     if not st.getQuestItemsCount(8067) :
       htmltext = "<html><body>The Temple Gatekeeper:<br>Show your Mark or be gone from my sight!<br>Only those who possess the Pagan's Mark may pass through this gate!</body></html>"
     else:
       htmltext = "<html><body>The Temple Gatekeeper:<br>On seeing the Pagan's Mark, the statue's probing eyes go blank.<br>With the quiet whir of an engine, the gate swings open...</body></html>"
       self.startQuestTimer("Close_Door2",10000,None,None)
       DoorTable.getInstance().getDoor(19160010).openMe()
       DoorTable.getInstance().getDoor(19160011).openMe()
   elif npcId == 32037:
     DoorTable.getInstance().getDoor(19160010).openMe()
     DoorTable.getInstance().getDoor(19160011).openMe()
     self.startQuestTimer("Close_Door2",10000,None,None)
     htmltext = "FadedMark.htm"
   st.exitQuest(1)
   return htmltext
Exemple #9
0
 def onTalk(self, npc, player):
     npcId = npc.getNpcId()
     htmltext = ""
     if npcId == 13001:  #heart of warding
         htmltext = "13001-01.htm"
         if self.antharasAI:
             status = GrandBossManager.getInstance().getBossStatus(29019)
             if status == 0 or status == 1:  #If entrance to see Antharas is unlocked (he is Dormant or Waiting)
                 st = player.getQuestState(qn)
                 if st.getQuestItemsCount(3865) > 0:
                     st.takeItems(3865, 1)
                     zone = GrandBossManager.getInstance().getZone(
                         181323, 114850, -7618)  #Update by rocknow
                     if zone:
                         zone.allowPlayerEntry(player, 30)
                     x = 174170 + Rnd.get(260)  #Update by rocknow
                     y = 113983 + Rnd.get(1500)  #Update by rocknow
                     player.teleToLocation(x, y, -7709)
                     if status == 0:
                         self.antharasAI.startQuestTimer(
                             "waiting", 0, npc, None)  #Update by rocknow
                         #Delete by rocknow
                         #Delete by rocknow
                     return
                 else:
                     htmltext = "13001-03.htm"
             elif status == 2:
                 htmltext = "13001-02.htm"
     elif npcId == 31859:  #antharas teleport cube
         x = 79800 + Rnd.get(600)
         y = 151200 + Rnd.get(1100)
         player.teleToLocation(x, y, -3534)
         return
     elif npcId == 31385:  #heart of volcano
         htmltext = "31385-01.htm"
         if self.valakasAI:
             status = GrandBossManager.getInstance().getBossStatus(29028)
             if status == 0 or status == 1:  #If entrance to see Valakas is unlocked (he is Dormant or Waiting)
                 st = player.getQuestState(qn)
                 if self.count >= 200:
                     htmltext = "31385-03.htm"
                 elif st.getInt("allowEnter") == 1:
                     st.unset("allowEnter")
                     zone = GrandBossManager.getInstance().getZone(
                         212852, -114842, -1632)
                     if zone:
                         zone.allowPlayerEntry(player, 30)
                     x = 204328 + Rnd.get(600)
                     y = -111874 + Rnd.get(600)
                     player.teleToLocation(x, y, 70)
                     self.count = self.count + 1
                     if status == 0:
                         self.valakasAI.startQuestTimer(
                             "1001", 0, npc, None)  #Update by rocknow
                         #Delete by rocknow
                         #Delete by rocknow
                     return
                 elif st.getQuestItemsCount(
                         7267) > 0:  #Update by rocknow-Start
                     st.takeItems(7267, 1)
                     zone = GrandBossManager.getInstance().getZone(
                         212852, -114842, -1632)
                     if zone:
                         zone.allowPlayerEntry(player, 30)
                     x = 204328 + Rnd.get(600)
                     y = -111874 + Rnd.get(600)
                     player.teleToLocation(x, y, 70)
                     self.count = self.count + 1
                     if status == 0:
                         self.valakasAI.startQuestTimer(
                             "1001", 0, npc, None)
                     return  #Update by rocknow-End
                 else:  #player cheated, wasn't ported via npc Klein
                     htmltext = "31385-04.htm"
             elif status == 2:
                 htmltext = "31385-02.htm"
             else:
                 htmltext = "31385-01.htm"
         else:
             htmltext = "31385-01.htm"
     elif npcId == 31384:  #Gatekeeper of Fire Dragon
         DoorTable.getInstance().getDoor(24210004).openMe()
         return
     elif npcId == 31686:  #Gatekeeper of Fire Dragon
         DoorTable.getInstance().getDoor(24210006).openMe()
         return
     elif npcId == 31687:  #Gatekeeper of Fire Dragon
         DoorTable.getInstance().getDoor(24210005).openMe()
         return
     elif npcId == 31540:  #Watcher of Valakas Klein
         st = player.getQuestState(qn)
         if self.count < 50:
             htmltext = "31540-01.htm"
         elif self.count < 100:
             htmltext = "31540-02.htm"
         elif self.count < 150:
             htmltext = "31540-03.htm"
         elif self.count < 200:
             htmltext = "31540-04.htm"
         else:
             htmltext = "31540-05.htm"
     elif npcId == 31759:  #valakas teleport cube
         x = 150037 + Rnd.get(500)
         y = -57720 + Rnd.get(500)
         player.teleToLocation(x, y, -2976)
         return
     return htmltext