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
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]})
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))
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) }
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) }
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()))
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