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
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
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
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
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