def giveReward(self, av, questId, rewardId): # Give the reward. rewardClass = Quests.getReward(rewardId) if rewardClass is None: self.notify.warning('rewardClass was None for rewardId: %s.' % rewardId) else: rewardClass.sendRewardAI(av) # Add the rewardId to the avatars rewardHistory. rewardTier, rewardHistory = av.getRewardHistory() transformedRewardId = Quests.transformReward(rewardId, av) if transformedRewardId != rewardId: rewardHistory.append(rewardId) av.b_setRewardHistory(rewardTier, rewardHistory)
def avatarChoseQuest(self, avId, npc, questId, rewardId, toNpcId): # Get the avatar. av = self.air.doId2do.get(avId) if not av: return # Get the npcIds fromNpcId = npc.npcId if npc else 0 if toNpcId == 0: toNpcId = Quests.getQuestToNpcId(questId) # Add the quest to the avatars list. transformedRewardId = Quests.transformReward(rewardId, av) av.addQuest([questId, fromNpcId, toNpcId, rewardId, 0], transformedRewardId) if not npc: return # Remove the tasks for timeout. taskMgr.remove(npc.uniqueName('clearMovie')) # Assign the quest. npc.assignQuest(avId, questId, rewardId, toNpcId)