def showMission(eventID, eventType=None):
    eventsCache = dependency.instance(IEventsCache)
    quests = eventsCache.getQuests()
    quest = quests.get(eventID)
    if quest is None:
        prefix = events_helpers.getMarathonPrefix(eventID)
        if prefix is not None:
            showMissionsMarathon(marathonPrefix=prefix)
    if eventType is not None and eventType == constants.EVENT_TYPE.PERSONAL_MISSION:
        showPersonalMission(eventID)
    elif quest is not None:
        if events_helpers.isMarathon(quest.getGroupID()):
            groups = eventsCache.getGroups()
            group = groups.get(quest.getGroupID())
            groupContent = group.getGroupContent(quests)
            mainQuest = group.getMainQuest(groupContent)
            if mainQuest and quest.getID() != mainQuest.getID():
                showMissionsGrouped(missionID=quest.getID(),
                                    groupID=group.getID(),
                                    anchor=group.getID())
            else:
                showMissionsGrouped(anchor=group.getID())
        elif events_helpers.isLinkedSet(quest.getGroupID()):
            showMissionsLinkedSet()
        else:
            showMissionsCategories(missionID=quest.getID(),
                                   groupID=quest.getGroupID(),
                                   anchor=quest.getGroupID())
    return
def _getEventInfoData(event):
    if event.getType() == constants.EVENT_TYPE.PERSONAL_MISSION:
        return _PersonalMissionInfo(event)
    if event.getType() == constants.EVENT_TYPE.MOTIVE_QUEST:
        return _MotiveQuestInfo(event)
    if isLinkedSet(event.getGroupID()):
        return _LinkedSetQuestInfo(event)
    return _QuestInfo(event) if event.getType() in constants.EVENT_TYPE.QUEST_RANGE else _EventInfo(event)
示例#3
0
 def __filterFunc(cls, event):
     if event.getType() in (EVENT_TYPE.TOKEN_QUEST,
                            EVENT_TYPE.REF_SYSTEM_QUEST):
         return False
     if not event.getFinishTimeLeft():
         return False
     if event.getType() == EVENT_TYPE.MOTIVE_QUEST:
         return not event.isCompleted() and event.isAvailable()[0]
     return False if isLinkedSet(event.getGroupID()) else True
def getGroupTypeByID(groupID):
    if groupID in (DEFAULTS_GROUPS.UNGROUPED_QUESTS,
                   DEFAULTS_GROUPS.MOTIVE_QUESTS):
        return groupID
    if events_helpers.isMarathon(groupID):
        return DEFAULTS_GROUPS.MARATHON_QUESTS
    if events_helpers.isPremium(groupID):
        return DEFAULTS_GROUPS.PREMIUM_QUESTS
    return DEFAULTS_GROUPS.LINKEDSET_QUESTS if events_helpers.isLinkedSet(
        groupID) else DEFAULTS_GROUPS.REGULAR_GROUPED_QUESTS
 def __filterFunc(cls, event):
     if event.getType() in (EVENT_TYPE.TOKEN_QUEST, ):
         return False
     if not event.getFinishTimeLeft():
         return False
     if event.getType() == EVENT_TYPE.MOTIVE_QUEST:
         return not event.isCompleted() and event.isAvailable()[0]
     if isPremium(
             event.getGroupID()) and not cls.lobbyContext.getServerSettings(
             ).getPremQuestsConfig().get('enabled', False):
         return False
     return False if isLinkedSet(event.getGroupID()) else True
 def userFilterFunc(q):
     if q.getType() == EVENT_TYPE.MOTIVE_QUEST and not q.isAvailable().isValid:
         return False
     if q.getType() == EVENT_TYPE.TOKEN_QUEST and isMarathon(q.getID()):
         return False
     if isLinkedSet(q.getGroupID()) and not q.isAvailable().isValid:
         return False
     if isPremium(q.getGroupID()) and not q.isAvailable().isValid:
         return False
     if self.__eventProgression.isActive() and isDailyEpic(q.getGroupID()):
         activeQuests = self.__eventProgression.getActiveQuestIDs()
         if q.getID() not in activeQuests:
             return False
     return False if isRankedSeasonOff and (isRankedDaily(q.getGroupID()) or isRankedPlatform(q.getGroupID())) else filterFunc(q)
示例#7
0
def showMission(eventID, eventType=None):
    from gui.impl.lobby.missions.daily_quests_view import DailyTabs
    if eventType == constants.EVENT_TYPE.C11N_PROGRESSION:
        itemIntCD, vehicleIntCD = parseEventID(eventID)
        service = dependency.instance(ICustomizationService)
        vehicle = service.getItemByCD(vehicleIntCD)
        service.showCustomization(vehicle.invID,
                                  lambda: showProgressiveItemsView(itemIntCD))
        return
    else:
        eventsCache = dependency.instance(IEventsCache)
        quests = eventsCache.getQuests()
        quest = quests.get(eventID)
        if eventID == BattlePassConsts.FAKE_QUEST_ID:
            hideWebBrowserOverlay()
            showMissionsBattlePass()
            return
        if quest is None:
            prefix = events_helpers.getMarathonPrefix(eventID)
            if prefix is not None:
                return showMissionsMarathon(marathonPrefix=prefix)
        if eventType is not None and eventType == constants.EVENT_TYPE.PERSONAL_MISSION:
            showPersonalMission(eventID)
        elif quest is not None:
            if events_helpers.isMarathon(quest.getGroupID()):
                groups = eventsCache.getGroups()
                group = groups.get(quest.getGroupID())
                groupContent = group.getGroupContent(quests)
                mainQuest = group.getMainQuest(groupContent)
                if mainQuest and quest.getID() != mainQuest.getID():
                    showMissionsGrouped(missionID=quest.getID(),
                                        groupID=group.getID(),
                                        anchor=group.getID())
                else:
                    showMissionsGrouped(anchor=group.getID())
            elif events_helpers.isLinkedSet(quest.getGroupID()):
                showMissionsLinkedSet()
            elif events_helpers.isDailyQuest(quest.getID()):
                showDailyQuests(subTab=DailyTabs.QUESTS)
            elif events_helpers.isPremium(quest.getID()):
                showDailyQuests(subTab=DailyTabs.PREMIUM_MISSIONS)
            else:
                showMissionsCategories(missionID=quest.getID(),
                                       groupID=quest.getGroupID(),
                                       anchor=quest.getGroupID())
        return
示例#8
0
 def userFilterFunc(q):
     qGroup = q.getGroupID()
     qIsValid = q.isAvailable().isValid
     qID = q.getID()
     if q.getType() == EVENT_TYPE.MOTIVE_QUEST and not qIsValid:
         return False
     if q.getType() == EVENT_TYPE.TOKEN_QUEST and isMarathon(qID):
         return False
     if isLinkedSet(qGroup) or isPremium(qGroup) and not qIsValid:
         return False
     if not isEpicBattleEnabled and isDailyEpic(qGroup):
         return False
     if isBattleRoyale(qGroup):
         quests = self.__battleRoyaleController.getQuests()
         if qID not in quests:
             return False
     if isMapsTraining(qGroup):
         return q.shouldBeShown()
     return False if isRankedSeasonOff and (
         isRankedDaily(qGroup)
         or isRankedPlatform(qGroup)) else filterFunc(q)
 def userFilterFunc(q):
     return isLinkedSet(q.getGroupID()) and filterFunc(q)
 def userFilterFunc(q):
     if q.getType() == EVENT_TYPE.MOTIVE_QUEST and not q.isAvailable().isValid:
         return False
     if q.getType() == EVENT_TYPE.TOKEN_QUEST and isMarathon(q.getID()):
         return False
     return False if isLinkedSet(q.getGroupID()) and not q.isAvailable().isValid else filterFunc(q)
 def userFilterFunc(q):
     return False if isLinkedSet(q.getGroupID()) and not self.linkedSet.isLinkedSetEnabled() else q.getFinishTimeLeft() and filterFunc(q)
示例#12
0
 def __applyFilter(self, quest):
     return isLinkedSet(quest.getGroupID())
示例#13
0
 def __applyFilter(self, quest):
     forbiddenQuestConditions = [lambda q: q.getType() in (EVENT_TYPE.TOKEN_QUEST,), lambda q: not q.getFinishTimeLeft(), lambda q: isLinkedSet(q.getGroupID()) or isPremium(q.getGroupID())]
     if any((isForbidden(quest) for isForbidden in forbiddenQuestConditions)):
         return False
     if not g_currentVehicle.isPresent():
         return False
     return quest.isValidVehicleCondition(g_currentVehicle.item) if quest.getType() != EVENT_TYPE.MOTIVE_QUEST else quest.isValidVehicleCondition(g_currentVehicle.item) and not quest.isCompleted() and quest.isAvailable()[0]
示例#14
0
 def userFilterFunc(q):
     if isLinkedSet(q.getGroupID()
                    ) and not self.linkedSet.isLinkedSetEnabled():
         return False
     return False if not isPremiumQuestsEnable and isPremium(
         q.getGroupID()) else q.getFinishTimeLeft() and filterFunc(q)
 def isLinkedSet(self):
     return events_helpers.isLinkedSet(self.getID())
示例#16
0
 def isLinkedSet(self):
     return isLinkedSet(self.getID())