コード例 #1
0
 def _populate(self):
     super(EpicBattlesAfterBattleView, self)._populate()
     extInfo = self.__ctx['reusableInfo'].personal.avatar.extensionInfo
     epicMetaGame = extInfo['epicMetaGame']
     pPrestigeLevel, pMetaLevel, pFamePts = epicMetaGame.get(
         'metaLevel', (None, None, None))
     _, prevPMetaLevel, prevPFamePts = epicMetaGame.get(
         'prevMetaLevel', (None, None, None))
     mlSettings = dependency.instance(
         ILobbyContext).getServerSettings().epicMetaGame.metaLevel
     maxMetaLevel = mlSettings.get('maxLevel', 0)
     famePtsToProgress = mlSettings.get('famePtsToProgress', None)
     famePointsReceived = sum(
         famePtsToProgress[prevPMetaLevel - 1:pMetaLevel -
                           1]) + pFamePts - prevPFamePts
     achievedRank = extInfo['playerRank'].get('rank', -1)
     rankName = getattr(EPIC_BATTLE, 'RANK_RANK{}'.format(achievedRank))
     achievedRank += 1
     questsProgressData = self.__ctx[
         'reusableInfo'].personal.getQuestsProgress()
     bonuses = sum([
         self.eventsCache.getAllQuests().get(q).getBonuses()
         for q in questsProgressData
     ], [])
     bonuses = _AccumulateBonuses(bonuses)
     awardsVO = self._awardsFormatter.getFormattedBonuses(
         bonuses, size=AWARDS_SIZES.BIG)
     lvlReachedText = EPIC_BATTLE.EPIC_BATTLES_AFTER_BATTLE_LEVEL_UP_MAX_TITLE if pMetaLevel == maxMetaLevel else EPIC_BATTLE.EPIC_BATTLES_AFTER_BATTLE_LEVEL_UP_TITLE
     data = EpicBattlesAfterBattleViewVO(
         awards=awardsVO,
         progress=self.__getProgress(pMetaLevel, pFamePts, prevPMetaLevel,
                                     prevPFamePts, maxMetaLevel),
         barText='+' + str(famePointsReceived),
         currentPrestigeLevel=pPrestigeLevel,
         epicMetaLevelIconData=getEpicMetaIconVODict(
             pPrestigeLevel, pMetaLevel),
         rank=achievedRank,
         rankText=toUpper(text_styles.heroTitle(rankName)),
         rankTextBig=toUpper(text_styles.epicTitle(rankName)),
         rankSubText=text_styles.highTitle(
             EPIC_BATTLE.EPIC_BATTLES_AFTER_BATTLE_ACHIEVED_RANK),
         levelUpText=toUpper(text_styles.heroTitle(lvlReachedText)),
         levelUpTextBig=toUpper(text_styles.epicTitle(lvlReachedText)),
         backgroundImageSrc=RES_ICONS.
         MAPS_ICONS_EPICBATTLES_BACKGROUNDS_META_BG,
         maxLevel=maxMetaLevel)
     self.as_setDataS(data._asdict())
     return
コード例 #2
0
    def __setTitlesData(self):
        seasonTitlesText = {season:_ms(_CUSTOMIZATION_SEASON_TITLES[season]) for season in SeasonType.COMMON_SEASONS}
        if self.__isStyle:
            item = self.__ctx.getPurchaseItems()[0].item
            titleTemplate = '{} {}'.format(item.userType, item.userName)
            bigTitleTemplate = '{}\n{}'.format(item.userType, text_styles.heroTitle(item.userName))
        else:
            totalCount = 0
            for season in SeasonType.COMMON_SEASONS:
                purchase, inventory = self.__counters[season]
                count = purchase + inventory
                totalCount += count
                seasonTitlesText[season] += (text_styles.unavailable(' ({})') if count == 0 else ' ({})').format(count)

            titleTemplate = '{} ({})'.format(_ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_BUYWINDOW_TITLE), totalCount)
            bigTitleTemplate = text_styles.grandTitle(titleTemplate)
        titleText = text_styles.promoTitle(bigTitleTemplate)
        titleTextSmall = text_styles.promoTitle(titleTemplate)
        self.as_setInitDataS({'windowTitle': VEHICLE_CUSTOMIZATION.WINDOW_PURCHASE_HEADER,
         'isStyle': self.__isStyle,
         'titleText': titleText,
         'titleTextSmall': titleTextSmall})
        self.as_setTitlesS({'summerTitle': seasonTitlesText[SeasonType.SUMMER],
         'winterTitle': seasonTitlesText[SeasonType.WINTER],
         'desertTitle': seasonTitlesText[SeasonType.DESERT]})
コード例 #3
0
 def makeStatusLabel(self):
     isWin = self._reusable.getPersonalTeam(
     ) == self._reusable.common.winnerTeam
     rankState = self.getRankChangeStatus()
     rankInfo = self._reusable.personal.getRankInfo()
     shieldState = rankInfo.shieldState
     resultLabel = backport.text(self._STATUS_LABEL_MAP[rankState])
     resultSubLabel = ''
     if rankState in (_RCS.LEAGUE_EARNED, _RCS.DIVISION_EARNED,
                      _RCS.QUAL_EARNED, _RCS.QUAL_UNBURN_EARNED):
         return ''
     if rankState == _RCS.NOTHING_CHANGED and isWin:
         resultLabel = backport.text(
             R.strings.ranked_battles.battleresult.status.stageNotEarned())
     if shieldState == RANKEDBATTLES_ALIASES.SHIELD_LOSE:
         resultLabel = backport.text(
             R.strings.ranked_battles.battleresult.status.shieldLose())
         resultSubLabel = backport.text(
             R.strings.ranked_battles.battleresult.status.shieldWarning())
     if shieldState == RANKEDBATTLES_ALIASES.SHIELD_LOSE_STEP:
         resultSubLabel = backport.text(
             R.strings.ranked_battles.battleresult.status.shieldCount(),
             count=text_styles.highTitle(rankInfo.shieldHP))
     if shieldState in RANKEDBATTLES_ALIASES.SHIELD_RENEW_STATES:
         resultSubLabel = backport.text(
             R.strings.ranked_battles.battleresult.status.shieldRenew())
     return text_styles.concatStylesToMultiLine(
         text_styles.heroTitle(resultLabel),
         text_styles.promoSubTitle(resultSubLabel))
コード例 #4
0
 def _packInfoViewVO(self):
     pPrestigeLevel, pMetaLevel, _ = self.epicMetaGameCtrl.getPlayerLevelInfo(
     )
     _, maxRewardClaimed, _ = self.epicMetaGameCtrl.getSeasonData()
     maxRewardTokens = self.lobbyCtx.getServerSettings(
     ).epicMetaGame.metaLevel.get('maxRewardTokens', 0)
     maxMetaLevel = self.lobbyCtx.getServerSettings(
     ).epicMetaGame.metaLevel.get('maxLevel', 0)
     prestigeAllowed = (maxRewardTokens < 0 or pPrestigeLevel !=
                        maxRewardTokens) and pMetaLevel == maxMetaLevel
     currentSeason = self.epicMetaGameCtrl.getCurrentSeason()
     cycleTimes = getActiveCycleTimeFrameStrings(currentSeason)
     if cycleTimes.startDay is not None:
         cycleDescText = '%s %s - %s' % (
             cycleTimes.startMonth, cycleTimes.startDay, cycleTimes.endDay)
     else:
         cycleDescText = ''
     return {
         'backgroundImageSrc':
         RES_ICONS.MAPS_ICONS_EPICBATTLES_BACKGROUNDS_META_BG,
         'smallPageTitleHtmlText':
         text_styles.heroTitle(
             i18n.makeString(
                 EPIC_BATTLE.EPICBATTLESINFOVIEW_BATTLEMODETITLE)),
         'bigPageTitleHtmlText':
         text_styles.epicTitle(
             i18n.makeString(
                 EPIC_BATTLE.EPICBATTLESINFOVIEW_BATTLEMODETITLE)),
         'pageDescriptionHtmlText':
         text_styles.promoSubTitle(cycleDescText),
         'aboutButtonLabel':
         i18n.makeString(
             EPIC_BATTLE.INFOVIEW_ABOUTBUTTON_ABOUTFRONTLINE).upper(),
         'canClaimFinalReward':
         self.__canClaimFinalReward(),
         'epicMetaLevelIconData':
         getProgressionIconVODict(pPrestigeLevel, pMetaLevel),
         'epicRewardRibbonData':
         self._packRewardRibbonData(pPrestigeLevel + 1,
                                    self.eventsCache.getAllQuests(),
                                    maxRewardTokens),
         'epicCombatReservesData':
         self._packCombatReservesVO(self.epicMetaGameCtrl.getSkillPoints()),
         'epicMetaProgressData':
         self._packMetaProgressVO(prestigeAllowed, maxRewardClaimed),
         'epicPrestigeProgressData':
         getPrestigeProgressVO(
             self.eventsCache.getAllQuests(),
             self.lobbyCtx.getServerSettings().epicMetaGame.metaLevel,
             pPrestigeLevel, prestigeAllowed)
     }
コード例 #5
0
 def _packRewardRibbonData(self, pPrestigeLevel, allQuests,
                           maxPrestigeLevel):
     finalRewardReached = self.__canClaimFinalReward()
     return {} if not finalRewardReached else {
         'rewardTitleHtmlText':
         text_styles.heroTitle(
             i18n.makeString(
                 EPIC_BATTLE.INFOVIEW_PRESTIGE_CONGRATULATIONS).upper()),
         'epicMetaLevelIconData':
         None,
         'imageSource':
         getFinalTankRewardIconPath(allQuests, maxPrestigeLevel),
         'buttonText':
         EPIC_BATTLE.INFOVIEW_SHOWINGARAGE,
         'awards':
         self.__getPrestigeAwards(pPrestigeLevel, AWARDS_SIZES.BIG)
     }
コード例 #6
0
 def _packInfoViewVO(self):
     pPrestigeLevel, pMetaLevel, pFamePts = self.epicMetaGameCtrl.getPlayerLevelInfo(
     )
     famePtsToProgress = self.epicMetaGameCtrl.getPointsProgessForLevel(
         pMetaLevel)
     percentage = float(pFamePts) / float(
         famePtsToProgress) * 100 if famePtsToProgress > 0 else 100
     maxPrestigeLevel = self.lobbyCtx.getServerSettings(
     ).epicMetaGame.metaLevel.get('maxPrestigeLevel', 0)
     maxMetaLevel = self.lobbyCtx.getServerSettings(
     ).epicMetaGame.metaLevel.get('maxLevel', 0)
     prestigeAllowed = pPrestigeLevel != maxPrestigeLevel and pMetaLevel == maxMetaLevel
     if pMetaLevel == maxMetaLevel:
         barText = i18n.makeString(
             EPIC_BATTLE.EPICBATTLESINFOVIEW_MAXMETASTRING)
     else:
         barText = str(pFamePts) + text_styles.stats('/' +
                                                     str(famePtsToProgress))
     defaults = AccountSettings.getFilterDefault(GUI_START_BEHAVIOR)
     filters = self.settingsCore.serverSettings.getSection(
         GUI_START_BEHAVIOR, defaults)
     isFirstTimeInWelcomeScreen = not filters['isEpicWelcomeViewShowed']
     return EpicBattlesInfoViewVO(
         firstTimeInScreen=isFirstTimeInWelcomeScreen,
         backgroundImageSrc=RES_ICONS.
         MAPS_ICONS_EPICBATTLES_BACKGROUNDS_META_BG,
         headlineTitleHtmlText=text_styles.heroTitle(
             i18n.makeString(
                 EPIC_BATTLE.EPICBATTLESINFOVIEW_BATTLEMODETITLE)),
         epicMetaLevelIconData=getEpicMetaIconVODict(
             pPrestigeLevel, pMetaLevel),
         barPercentage=percentage,
         barText=barText,
         prestigeAllowed=prestigeAllowed,
         skillPoints=self.epicMetaGameCtrl.getSkillPoints(),
         rulePanels=self._packRulePanelsVO(
             isFirstTimeInWelcomeScreen, prestigeAllowed,
             self.epicMetaGameCtrl.getSkillPoints()))
コード例 #7
0
 def _populate(self):
     super(EpicBattlesAfterBattleView, self)._populate()
     epicMetaGame = self.__ctx['reusableInfo'].personal.avatar.extensionInfo
     pMetaLevel, pFamePts = epicMetaGame.get('metaLevel', (None, None))
     prevPMetaLevel, prevPFamePts = epicMetaGame.get(
         'prevMetaLevel', (None, None))
     boosterFLXP = epicMetaGame.get('boosterFlXP', 0)
     originalFlXP = epicMetaGame.get('originalFlXP', 0)
     maxMetaLevel = self.__epicController.getMaxPlayerLevel()
     famePtsToProgress = self.__epicController.getLevelProgress()
     season = self.__epicController.getCurrentSeason() or None
     cycleNumber = 0
     if season is not None:
         cycleNumber = self.__epicController.getCurrentOrNextActiveCycleNumber(
             season)
     famePointsReceived = sum(famePtsToProgress[prevPMetaLevel:pMetaLevel]
                              ) + pFamePts - prevPFamePts
     achievedRank = max(epicMetaGame.get('playerRank', 0), 1)
     rankNameId = R.strings.epic_battle.rank.dyn('rank' + str(achievedRank))
     rankName = toUpper(backport.text(
         rankNameId())) if rankNameId.exists() else ''
     awardsVO = self._awardsFormatter.getFormattedBonuses(
         self.__getBonuses(prevPMetaLevel, pMetaLevel),
         size=AWARDS_SIZES.BIG)
     fameBarVisible = True
     dailyQuestAvailable = False
     if prevPMetaLevel >= maxMetaLevel or pMetaLevel >= maxMetaLevel:
         boosterFLXP = famePointsReceived - originalFlXP if famePointsReceived > originalFlXP else 0
         if prevPMetaLevel >= maxMetaLevel:
             fameBarVisible = False
         else:
             self.__maxLvlReached = True
     lvlReachedText = toUpper(
         backport.text(R.strings.epic_battle.epic_battles_after_battle.
                       Level_Up_Title(),
                       level=pMetaLevel))
     data = {
         'awards':
         awardsVO,
         'progress':
         self.__getProgress(pMetaLevel, pFamePts, prevPMetaLevel,
                            prevPFamePts, maxMetaLevel, boosterFLXP),
         'barText':
         '+' + str(min(originalFlXP, famePointsReceived)),
         'barBoostText':
         '+' + str(boosterFLXP),
         'epicMetaLevelIconData':
         getProgressionIconVODict(cycleNumber, pMetaLevel),
         'rank':
         achievedRank,
         'rankText':
         text_styles.epicTitle(rankName),
         'rankSubText':
         text_styles.promoTitle(
             backport.text(R.strings.epic_battle.epic_battles_after_battle.
                           Achieved_Rank())),
         'levelUpText':
         text_styles.heroTitle(lvlReachedText),
         'backgroundImageSrc':
         backport.image(R.images.gui.maps.icons.epicBattles.backgrounds.
                        back_congrats()),
         'fameBarVisible':
         fameBarVisible,
         'maxLevel':
         maxMetaLevel,
         'maxLvlReached':
         self.__maxLvlReached,
         'questPanelVisible':
         dailyQuestAvailable
     }
     self.as_setDataS(data)
     return