def _showAwardsFor(self, quests):
        if isPopupsWindowsOpenDisabled():
            return
        if quests:
            quests.sort(key=lambda q: (getLinkedSetMissionIDFromQuest(q),
                                       getLinkedSetQuestID(q)))
            messages = []
            for quest in quests:
                winMessage = self._getQuestWinMessage(quest)
                if self.isFinalQuest(quest):
                    messages.append(self._getLinkedSetWinMessage())
                    self._appendMessageWithViewCallback(
                        messages, winMessage, quest, True)
                hasHint = hasLocalizedQuestHintNameForLinkedSetQuest(quest)
                self._appendMessageWithViewCallback(messages, winMessage,
                                                    quest, not hasHint)
                if hasHint:
                    self._appendMessageWithViewCallback(
                        messages, self._getQuestHintMessage(quest), quest,
                        True)

            g_eventBus.handleEvent(events.LoadViewEvent(
                SFViewLoadParams(VIEW_ALIAS.LINKEDSET_HINTS),
                ctx={'messages': messages}),
                                   scope=EVENT_BUS_SCOPE.LOBBY)
Exemple #2
0
 def _getQuestHintMessage(self, quest):
     return {'icon': 'num{}{}'.format(getLinkedSetMissionIDFromQuest(quest), getLinkedSetQuestID(quest)),
      'title': getLocalizedQuestHintNameForLinkedSetQuest(quest),
      'description': makeHtmlString(_HMTL_STRING_FORMAT_PATH, _HMTL_STRING_FORMAT_HINT_DESC_KEY, {'msg': getLocalizedQuestHintDescForLinkedSetQuest(quest)}),
      'buttonLabel': _ms(LINKEDSET.CONTINUE),
      'back': 'blue',
      'soundID': _SNDID_BONUS}
Exemple #3
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
Exemple #4
0
 def isQuestBackgroundIsMovie(self, quest):
     return getLinkedSetMissionIDFromQuest(quest) == 2
 def viewCallback():
     self.settingsCore.serverSettings.setLinkedSetQuestWasShowed(
         getLinkedSetQuestID(quest),
         getLinkedSetMissionIDFromQuest(quest))
 def _isCompletedQuestWasShowed(self, quest):
     return self.settingsCore.serverSettings.isLinkedSetQuestWasShowed(
         getLinkedSetQuestID(quest), getLinkedSetMissionIDFromQuest(quest))
 def isBootcampQuest(self, quest):
     return getLinkedSetMissionIDFromQuest(quest) == 1
    def getMissionByID(self, missionID):
        for mission in self.getMissions():
            if getLinkedSetMissionIDFromQuest(mission[0]) == missionID:
                return mission

        return None
 def getMaxMissionID(self):
     quests = self.eventsCache.getLinkedSetQuests()
     return max((getLinkedSetMissionIDFromQuest(quest)
                 for quest in quests.itervalues())) if quests else -1