Exemplo n.º 1
0
 def _updateDailyQuestModel(self, model, fullUpdate=False):
     _logger.debug('DailyQuestsView::_updateDailyQuestModel')
     isEnabled = isDailyQuestsEnable()
     quests = sorted(self.eventsCache.getDailyQuests().values(),
                     key=dailyQuestsSortFunc)
     newBonusQuests = settings.getNewCommonEvents(
         [q for q in quests if q.isBonus()])
     self._updateRerollEnabledFlag(model)
     with model.dailyQuests.transaction() as tx:
         tx.setIsEnabled(isEnabled)
         if not isEnabled:
             return
         if not fullUpdate and not needToUpdateQuestsInModel(
                 quests + newBonusQuests, tx.getQuests()):
             return
         self.__updateQuestsInModel(tx.getQuests(), quests)
         self.__updateMissionVisitedArray(tx.getMissionsCompletedVisited(),
                                          quests)
         tx.setBonusMissionVisited(not newBonusQuests)
         if self.__festivityController.isEnabled():
             if not AccountSettings.getUIFlag(NY_DAILY_QUESTS_VISITED):
                 tx.setPlayNYQuestLootboxAnimation(True)
                 AccountSettings.setUIFlag(NY_DAILY_QUESTS_VISITED, True)
             if not AccountSettings.getUIFlag(
                     NY_BONUS_DAILY_QUEST_VISITED
             ) and not tx.getBonusMissionVisited():
                 tx.setPlayNYBonusQuestLootboxAnimation(True)
                 AccountSettings.setUIFlag(NY_DAILY_QUESTS_VISITED, True)
                 AccountSettings.setUIFlag(NY_BONUS_DAILY_QUEST_VISITED,
                                           True)
Exemplo n.º 2
0
 def __onEventsVisited(self):
     quests = self.eventsCache.getAdvisableQuests()
     newQuests = quest_settings.getNewCommonEvents(quests.values())
     if newQuests:
         self.__setCounter(self.TABS.MISSIONS, len(newQuests))
     else:
         self.__hideCounter(self.TABS.MISSIONS)
 def _updateDailyQuestModel(self, model, fullUpdate=False):
     _logger.debug('DailyQuestsView::_updateDailyQuestModel')
     isEnabled = isDailyQuestsEnable()
     quests = sorted(self.eventsCache.getDailyQuests().values(), key=dailyQuestsSortFunc)
     newBonusQuests = settings.getNewCommonEvents([ q for q in quests if q.isBonus() ])
     self._updateRerollEnabledFlag(model)
     with model.dailyQuests.transaction() as tx:
         tx.setIsEnabled(isEnabled)
         if not isEnabled:
             return
         if not fullUpdate and not needToUpdateQuestsInModel(quests + newBonusQuests, tx.getQuests()):
             return
         self.__updateQuestsInModel(tx.getQuests(), quests)
         self.__updateMissionVisitedArray(tx.getMissionsCompletedVisited(), quests)
         tx.setBonusMissionVisited(not newBonusQuests)
Exemplo n.º 4
0
    def _getBodyData(self):
        missions = []
        for quests in self._questMissions:
            status = None
            checkStates = []
            groupIsCompleted = isAllQuestsCompleted(quests)
            groupIsAvailable = groupIsCompleted or hasAtLeastOneAvailableQuest(quests)
            if not groupIsAvailable:
                status = formatErrorTextWithIcon(_ms(LINKEDSET.NOT_AVAILABLE))
            else:
                isSingleQuest = len(quests) == 1
                if not groupIsCompleted and isSingleQuest:
                    status = _ms(LINKEDSET.MISSION_NOT_COMPLETE)
                else:
                    checkStates = [ quest.isCompleted() for quest in quests ]
            missionID = getLinkedSetMissionIDFromQuest(quests[0])
            if groupIsAvailable:
                uiDecoration = RES_ICONS.getLinkedSetMissionItemActive(missionID)
            else:
                uiDecoration = RES_ICONS.getLinkedSetMissionItemDisable(missionID)
            advisable = self.eventsCache.getAdvisableQuests()
            advisableQuests = [ quest for quest in quests if quest.getID() in advisable ]
            isCornerEnable = bool(len(settings.getNewCommonEvents(advisableQuests)))
            missions.append({'eventID': str(missionID),
             'title': _ms(LINKEDSET.getMissionName(missionID)),
             'status': status,
             'isAvailable': True,
             'isCornerEnable': isCornerEnable,
             'uiPicture': RES_ICONS.getLinkedSetMissionIconItem(missionID),
             'uiDecoration': uiDecoration,
             'checkStates': checkStates})

        result = {'title': _ms(getLocalizedQuestNameForLinkedSetQuest(self.mainQuest)),
         'description': _ms(getLocalizedQuestDescForLinkedSetQuest(self.mainQuest)),
         'isButtonUseTokenEnabled': self.linkedSet.hasLinkedSetFinishToken(),
         'buttonUseTokenLabel': _ms(LINKEDSET.USE_THE_TOKEN),
         'uiDecoration': RES_ICONS.MAPS_ICONS_LINKEDSET_LINKEDSET_BGR_LANDING,
         'missions': missions}
        return result
Exemplo n.º 5
0
def _getNewMissionCounter(eventsCache):
    return ('missions',
            len(
                quest_settings.getNewCommonEvents(
                    eventsCache.getAdvisableQuests().itervalues())))
Exemplo n.º 6
0
 def __updateMissionsNotification(self):
     quests = self.eventsCache.getAdvisableQuests()
     counter = len(settings.getNewCommonEvents(quests.values()))
     self.eventsCache.onEventsVisited({'missions': counter})