def avatarConsiderProgressTier(self, av):
        # Get the avatars current tier.
        currentTier = av.getRewardTier()

        # Check if they have all required rewards.
        if Quests.avatarHasAllRequiredRewards(av, currentTier):
            if currentTier != Quests.ELDER_TIER:
                currentTier += 1
            av.b_setRewardHistory(currentTier, [])
Exemple #2
0
    def avatarConsiderProgressTier(self, av):
        # Get the avatars current tier.
        currentTier = av.getRewardTier()

        # Check if they have all required rewards.
        if Quests.avatarHasAllRequiredRewards(av, currentTier):
            if currentTier != Quests.ELDER_TIER:
                currentTier += 1
            av.b_setRewardHistory(currentTier, [])
Exemple #3
0
    def __considerProgressTier(self, av):
        tier = av.getRewardHistory()[0]

        hasAllRewards = Quests.avatarHasAllRequiredRewards(av, tier)
        if hasAllRewards:
            if not av.getQuests():
                tier = min(Quests.ELDER_TIER, tier + 1)
                av.b_setRewardHistory(tier, [])
                return 0

            return av.getRewardTier() < Quests.ELDER_TIER

        return 0
 def __considerProgressTier(self, av):
     tier = av.getRewardHistory()[0]
     
     hasAllRewards = Quests.avatarHasAllRequiredRewards(av, tier)
     if hasAllRewards:
         if not av.getQuests():
             tier = min(Quests.ELDER_TIER, tier + 1)  
             av.b_setRewardHistory(tier, [])
             return 0
             
         return 1
         
     return 0
 def avatarProgressTier(self, toon):
     currentTier = toon.getRewardHistory()[0]
     if Quests.avatarHasAllRequiredRewards(toon, currentTier):
         if currentTier != Quests.ELDER_TIER:
             currentTier += 1
         toon.b_setRewardHistory(currentTier, [])
    def requestInteract(self, avId, npc):
        av = self.air.doId2do.get(avId)
        if not av:
            return

        for index, quest in enumerate(self.__toonQuestsList2Quests(av.quests)):
            questId, fromNpcId, toNpcId, rewardId, toonProgress = av.quests[
                index]
            isComplete = quest.getCompletionStatus(av, av.quests[index], npc)
            if isComplete != Quests.COMPLETE:
                continue

            if avId in self.air.tutorialManager.avId2fsm.keys():
                self.air.tutorialManager.avId2fsm[avId].demand('Tunnel')

            if isinstance(quest, Quests.DeliverGagQuest):
                track, level = quest.getGagType()
                av.inventory.setItem(
                    track, level,
                    av.inventory.numItem(track, level) - quest.getNumGags())
                av.b_setInventory(av.inventory.makeNetString())

            nextQuest = Quests.getNextQuest(questId, npc, av)
            if nextQuest == (Quests.NA, Quests.NA):
                if isinstance(quest, Quests.TrackChoiceQuest):
                    npc.presentTrackChoice(avId, questId, quest.getChoices())
                    return

                rewardId = Quests.getAvatarRewardId(av, questId)
                npc.completeQuest(avId, questId, rewardId)
                self.completeQuest(av, questId)
                self.giveReward(av, rewardId)
                return
            else:
                self.completeQuest(av, questId)
                nextQuestId = nextQuest[0]
                nextRewardId = Quests.getFinalRewardId(questId, 1)
                nextToNpcId = nextQuest[1]
                self.npcGiveQuest(npc, av, nextQuestId, nextRewardId,
                                  nextToNpcId)
                return

        if len(self.__toonQuestsList2Quests(
                av.quests)) >= av.getQuestCarryLimit():
            npc.rejectAvatar(avId)
            return

        if avId in self.air.tutorialManager.avId2fsm.keys():
            if av.getRewardHistory()[0] == 0:
                self.npcGiveQuest(npc,
                                  av,
                                  101,
                                  Quests.findFinalRewardId(101)[0],
                                  Quests.getQuestToNpcId(101),
                                  storeReward=True)
                self.air.tutorialManager.avId2fsm[avId].demand('Battle')
                return

        tier = av.getRewardHistory()[0]
        if Quests.avatarHasAllRequiredRewards(av, tier):
            if not Quests.avatarWorkingOnRequiredRewards(av):
                if tier != Quests.LOOPING_FINAL_TIER:
                    tier += 1

                av.b_setRewardHistory(tier, [])
            else:
                npc.rejectAvatarTierNotDone(avId)
                return

        bestQuests = Quests.chooseBestQuests(tier, npc, av)
        if not bestQuests:
            npc.rejectAvatar(avId)
            return

        npc.presentQuestChoice(avId, bestQuests)
        return
 def avatarProgressTier(self, toon):
     currentTier = toon.getRewardHistory()[0]
     if Quests.avatarHasAllRequiredRewards(toon, currentTier):
         if currentTier != Quests.ELDER_TIER:
             currentTier += 1
         toon.b_setRewardHistory(currentTier, [])