def __getRules(self):
     topWinNum = self.rankedController.getRanksChanges(
         isLoser=False).count(1)
     topLoserNum = self.rankedController.getRanksChanges(
         isLoser=True).count(1)
     teamStr = text_styles.bonusAppliedText(
         RANKED_BATTLES.WELCOMESCREEN_POSITIVE_TEAM)
     descr = text_styles.hightlight(
         RANKED_BATTLES.WELCOMESCREEN_POSITIVE_BODY)
     rulePositive = {
         'image': RES_ICONS.getRankedPostBattleTopIcon(topWinNum),
         'description': descr.format(team=teamStr, topNumber=topWinNum)
     }
     if topLoserNum:
         teamStr = text_styles.error(
             RANKED_BATTLES.WELCOMESCREEN_NEGATIVE_TEAM)
         descr = text_styles.hightlight(
             RANKED_BATTLES.WELCOMESCREEN_NEGATIVE_BODY)
         ruleNegative = {
             'image': RES_ICONS.getRankedPostBattleLoseIcon(topLoserNum),
             'description': descr.format(team=teamStr,
                                         topNumber=topLoserNum)
         }
     else:
         ruleNegative = None
     return (rulePositive, ruleNegative)
 def __getData(self):
     stateFlags = self.__getShowStateFlags()
     isCompleted = stateFlags['isRankedWelcomeViewStarted']
     stateFlags['isRankedWelcomeViewStarted'] = True
     self.__setShowStateFlags(stateFlags)
     rulePositive, ruleNegative = self.__getRules()
     self.rankedController.getRanksChain()
     ranks = [ rank.getIcon('big') for rank in self.rankedController.getRanksChain() if rank.getID() > 0 ]
     return {'header': text_styles.superPromoTitle(RANKED_BATTLES.WELCOMESCREEN_HEADER),
      'rules': [{'image': RES_ICONS.MAPS_ICONS_RANKEDBATTLES_RANKEDBATTESVIEW_ICN_TANKS,
                 'description': text_styles.hightlight(RANKED_BATTLES.WELCOMESCREEN_LEFTRULE),
                 'tooltip': makeTooltip(RANKED_BATTLES.WELCOMESCREEN_LEFTRULETOOLTIP_HEADER, RANKED_BATTLES.WELCOMESCREEN_LEFTRULETOOLTIP_BODY)}, {'image': RES_ICONS.MAPS_ICONS_RANKEDBATTLES_RANKEDBATTESVIEW_ICN_CREW,
                 'description': text_styles.hightlight(RANKED_BATTLES.WELCOMESCREEN_CENTERRULE),
                 'tooltip': makeTooltip(RANKED_BATTLES.WELCOMESCREEN_CENTERRULETOOLTIP_HEADER, RANKED_BATTLES.WELCOMESCREEN_CENTERRULETOOLTIP_BODY)}, {'image': RES_ICONS.MAPS_ICONS_RANKEDBATTLES_RANKEDBATTESVIEW_AWARD,
                 'description': text_styles.hightlight(RANKED_BATTLES.WELCOMESCREEN_RIGHTRULE),
                 'tooltip': makeTooltip(RANKED_BATTLES.WELCOMESCREEN_RIGHTRULETOOLTIP_HEADER, RANKED_BATTLES.WELCOMESCREEN_RIGHTRULETOOLTIP_BODY)}],
      'ranks': ranks,
      'rulePositive': rulePositive,
      'ruleNegative': ruleNegative,
      'rankDescription': text_styles.superPromoTitle(RANKED_BATTLES.WELCOMESCREEN_RANKDESCR),
      'ranksDescription': text_styles.promoSubTitle(RANKED_BATTLES.WELCOMESCREEN_RANKSDESCR),
      'equalityText': RANKED_BATTLES.WELCOMESCREEN_EQUALITYTEXT,
      'rulesDelimeterText': text_styles.promoSubTitle(RANKED_BATTLES.WELCOMESCREEN_RULESDELIMETER),
      'btnLbl': RANKED_BATTLES.WELCOMESCREEN_BTN,
      'btnTooltip': makeTooltip(RANKED_BATTLES.RANKEDBATTLEVIEW_NOTRANKEDBLOCK_OKTOOLTIP_HEADER, RANKED_BATTLES.RANKEDBATTLEVIEW_NOTRANKEDBLOCK_OKTOOLTIP_BODY),
      'closeLbl': RANKED_BATTLES.WELCOMESCREEN_CLOSEBTN,
      'closeBtnTooltip': makeTooltip(RANKED_BATTLES.WELCOMESCREEN_CLOSEBTNTOOLTIP_HEADER, RANKED_BATTLES.WELCOMESCREEN_CLOSEBTNTOOLTIP_BODY),
      'bgImage': RES_ICONS.MAPS_ICONS_RANKEDBATTLES_BG_RANK_BLUR,
      'isComplete': bool(isCompleted)}
 def _packNotRecievedBlock(self, *args, **kwargs):
     block = []
     totalPlayers = self.rankedController.getRanksTops(isLoser=False)
     winnersBattlesNum = totalPlayers - self.rankedController.getRanksTops(
         isLoser=False, notRecieved=True)
     losersBattlesNum = self.rankedController.getRanksTops(isLoser=True,
                                                           notRecieved=True)
     block.append(
         formatters.packTextBlockData(
             text_styles.highTitle(
                 RANKED_BATTLES.TOOLTIP_STEP_NOTCHARGED_HEADER),
             padding=formatters.packPadding(bottom=7)))
     if losersBattlesNum:
         loseIcon = RES_ICONS.getRankedTooltipLoseIcon(losersBattlesNum)
         block.append(
             formatters.packImageTextBlockData(text_styles.standard(
                 _ms(RANKED_BATTLES.TOOLTIP_STEP_NOTCHARGEDLOSE_DESCRIPTION,
                     battlesNum=losersBattlesNum)),
                                               img=loseIcon,
                                               txtPadding=formatters.
                                               packPadding(left=17)))
     if winnersBattlesNum and losersBattlesNum:
         block.append(
             formatters.packTextBlockData(
                 text_styles.hightlight(RANKED_BATTLES.TOOLTIP_STEP_OR),
                 padding=formatters.packPadding(left=70)))
     if winnersBattlesNum:
         block.append(
             formatters.packTextBlockData(
                 text_styles.standard(
                     _ms(RANKED_BATTLES.TOOLTIP_STEP_NOTCHARGED_DESCRIPTION,
                         battlesNum=winnersBattlesNum)),
                 padding=formatters.packPadding(left=70)))
     return formatters.packBuildUpBlockData(block, 0)
예제 #4
0
    def getRankedAwardVOs(self,
                          iconSize='small',
                          withCounts=False,
                          withKey=False):
        result = []
        for item, data in zip(self.getCustomizations(), self.getList()):
            itemTypeName = item.get('custType')
            itemID = item.get('id')
            itemTypeID = GUI_ITEM_TYPE_INDICES.get(itemTypeName)
            c11nItem = self.c11n.getItemByID(itemTypeID, itemID)
            count = item.get('value', 1)
            itemData = {
                'imgSource':
                RES_ICONS.getBonusIcon(iconSize, c11nItem.itemTypeName),
                'label':
                text_styles.hightlight('x{}'.format(count)),
                'align':
                TEXT_ALIGN.RIGHT
            }
            itemData.update(self.__itemTooltip(data, isReceived=False))
            if withKey:
                itemData['itemKey'] = 'customization_{}'.format(
                    item.get('custType'))
            if withCounts:
                itemData['count'] = count
            result.append(itemData)

        return result
 def _getFirstRankReachiveStateData(self,
                                    currentRank,
                                    nextRank,
                                    newStepsState=None,
                                    changeAcquired=False):
     state = RANKEDBATTLES_ALIASES.FIRST_RANK_REACHIVE_STATE
     steps = self._buildProgress(currentRank)
     infoText = ''
     if not self._isHuge():
         infoText = text_styles.hightlight(
             _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_INITTEXT,
                 battles=str(len(steps))))
     nextInfoText = ''
     rankRightVO = self._buildRankVO(currentRank, True)
     newRankVO = self._buildRankVO(nextRank)
     newSteps = self._buildProgress(nextRank,
                                    newStepsState=newStepsState,
                                    changeAcquired=changeAcquired)
     return self._buildVO(
         state,
         infoText=infoText,
         rankRightVO=rankRightVO,
         newRankVO=newRankVO,
         steps=steps,
         newSteps=newSteps,
         nextInfoText=nextInfoText,
         finalState=self._buildFinalState(
             state,
             rankLeftVO=self._buildRankVO(currentRank, True),
             rankRightVO=self._buildRankVO(nextRank),
             steps=self._buildProgress(nextRank,
                                       newStepsState=newStepsState,
                                       changeAcquired=changeAcquired)))
    def __formatBonusVO(bonusesDict):
        result = []
        for bonusVO in bonusesDict.values():
            bonusVO['label'] = text_styles.hightlight('x{}'.format(
                bonusVO.pop('count')))
            bonusVO['align'] = TEXT_ALIGN.RIGHT
            result.append(bonusVO)

        return result
 def _getFirstRankReceiveStateData(self, currentRank):
     state = RANKEDBATTLES_ALIASES.FIRST_RANK_RECEIVE_STATE
     steps = self._buildProgress(currentRank)
     infoText = text_styles.hightlight(
         _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_INITTEXT,
             battles=str(len(steps))))
     nextInfoText = text_styles.hightlight(
         _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_NEWRANKCONGRAT))
     rankLeftVO = self._buildRankVO(currentRank, True)
     return self._buildVO(state,
                          infoText=infoText,
                          rankLeftVO=rankLeftVO,
                          steps=steps,
                          nextInfoText=nextInfoText,
                          finalState=self._buildFinalState(
                              state,
                              rankLeftVO=self._buildRankVO(
                                  currentRank, True),
                              steps=self._buildProgress(currentRank)))
예제 #8
0
 def __getCommonAwardsVOs(self,
                          item,
                          count,
                          iconSize='small',
                          align=TEXT_ALIGN.RIGHT,
                          withCounts=False):
     itemData = {
         'imgSource': RES_ICONS.getBonusIcon(iconSize, item.boosterGuiType),
         'label': text_styles.hightlight('x{}'.format(count)),
         'align': align
     }
     itemData.update(self.__itemTooltip(item))
     if withCounts:
         itemData['count'] = count
     return itemData
예제 #9
0
    def getRankedAwardVOs(self, iconSize = 'small', withCounts = False, withKey = False):
        result = []
        for booster, count in self.getBoosters().iteritems():
            if booster is not None:
                itemData = {'imgSource': RES_ICONS.getBonusIcon(iconSize, booster.boosterGuiType),
                 'label': text_styles.hightlight('x{}'.format(count)),
                 'align': TEXT_ALIGN.RIGHT}
                itemData.update(self.__itemTooltip(booster))
                if withKey:
                    itemData['itemKey'] = 'booster_{}'.format(booster.boosterID)
                if withCounts:
                    itemData['count'] = count
                result.append(itemData)

        return result
예제 #10
0
    def getRankedAwardVOs(self, iconSize = 'small', withCounts = False, withKey = False):
        result = []
        for item, data in zip(self.getCustomizations(), self.getList(defaultSize=128)):
            count = item.get('value', 1)
            itemData = {'imgSource': RES_ICONS.getBonusIcon(iconSize, item.get('custType')),
             'label': text_styles.hightlight('x{}'.format(count)),
             'align': TEXT_ALIGN.RIGHT}
            itemData.update(self.__itemTooltip(data, isReceived=False))
            if withKey:
                itemData['itemKey'] = 'customization_{}'.format(item.get('custType'))
            if withCounts:
                itemData['count'] = count
            result.append(itemData)

        return result
 def _getRankReceiveForFirstTimeData(self, lastRank, currentRank):
     state = RANKEDBATTLES_ALIASES.RANK_RECEIVE_FOR_FIRST_TIME_STATE
     infoText = text_styles.hightlight(
         _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_NEWRANKCONGRAT))
     steps = self._buildProgress(currentRank)
     rankLeftVO = self._buildRankVO(lastRank, True)
     rankRightVO = self._buildRankVO(currentRank)
     return self._buildVO(state,
                          rankLeftVO=rankLeftVO,
                          rankRightVO=rankRightVO,
                          infoText=infoText,
                          steps=steps,
                          finalState=self._buildFinalState(
                              state,
                              rankLeftVO=self._buildRankVO(lastRank, True),
                              rankRightVO=self._buildRankVO(currentRank),
                              steps=self._buildProgress(currentRank)))
예제 #12
0
 def __getCommonAwardsVOs(self,
                          item,
                          data,
                          iconSize='small',
                          align=TEXT_ALIGN.RIGHT,
                          withCounts=False):
     c11nItem = self.__getC11nItem(item)
     count = item.get('value', 1)
     itemData = {
         'imgSource': RES_ICONS.getBonusIcon(iconSize,
                                             c11nItem.itemTypeName),
         'label': text_styles.hightlight('x{}'.format(count)),
         'align': align
     }
     itemData.update(self.__itemTooltip(data))
     if withCounts:
         itemData['count'] = count
     return itemData
예제 #13
0
 def _getFirstRankReachiveStateData(self,
                                    currentRank,
                                    nextRank,
                                    newStepsState=None,
                                    changeAcquired=False):
     """
     Return VO of first rank with was reachieved by player
     :param currentRank:
     :param nextRank:
     :param newStepsState: newSteps state override
     :param changeAcquired: apply newStepsState only to acquired steps
     :return:
     """
     state = RANKEDBATTLES_ALIASES.FIRST_RANK_REACHIVE_STATE
     steps = self._buildProgress(currentRank)
     infoText = ''
     if not self._isHuge():
         infoText = text_styles.hightlight(
             _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_INITTEXT,
                 battles=str(len(steps))))
     nextInfoText = ''
     rankRightVO = self._buildRankVO(currentRank, True)
     newRankVO = self._buildRankVO(nextRank)
     newSteps = self._buildProgress(nextRank,
                                    newStepsState=newStepsState,
                                    changeAcquired=changeAcquired)
     return self._buildVO(
         state,
         infoText=infoText,
         rankRightVO=rankRightVO,
         newRankVO=newRankVO,
         steps=steps,
         newSteps=newSteps,
         nextInfoText=nextInfoText,
         finalState=self._buildFinalState(
             state,
             rankLeftVO=self._buildRankVO(currentRank, True),
             rankRightVO=self._buildRankVO(nextRank),
             steps=self._buildProgress(nextRank,
                                       newStepsState=newStepsState,
                                       changeAcquired=changeAcquired)))
 def _packConditionsBlock(self, *args, **kwargs):
     block = []
     winnersBattlesNum = self.rankedController.getRanksTops(isLoser=False,
                                                            earned=True)
     losersBattlesNum = self.rankedController.getRanksTops(isLoser=True,
                                                           earned=True)
     block.append(
         formatters.packTextBlockData(
             text_styles.middleTitle(
                 RANKED_BATTLES.TOOLTIP_STEP_CONDITIONS_HEADER),
             padding=formatters.packPadding(bottom=7)))
     if winnersBattlesNum:
         winIcon = RES_ICONS.getRankedTooltipTopIcon(winnersBattlesNum)
         block.append(
             formatters.packImageTextBlockData(
                 desc=text_styles.main(
                     _ms(RANKED_BATTLES.TOOLTIP_STEP_CONDITIONS,
                         battlesNum=winnersBattlesNum,
                         team=text_styles.statInfo(
                             RANKED_BATTLES.TOOLTIP_STEP_WINNERS))),
                 img=winIcon,
                 txtPadding=formatters.packPadding(left=17)))
     if winnersBattlesNum and losersBattlesNum:
         block.append(
             formatters.packTextBlockData(
                 text_styles.hightlight(RANKED_BATTLES.TOOLTIP_STEP_OR),
                 padding=formatters.packPadding(left=70, bottom=10)))
     if losersBattlesNum:
         loseIcon = RES_ICONS.getRankedTooltipTopIcon(losersBattlesNum)
         block.append(
             formatters.packImageTextBlockData(
                 desc=text_styles.main(
                     _ms(RANKED_BATTLES.TOOLTIP_STEP_CONDITIONS,
                         battlesNum=losersBattlesNum,
                         team=text_styles.critical(
                             RANKED_BATTLES.TOOLTIP_STEP_LOSERS))),
                 img=loseIcon,
                 txtPadding=formatters.packPadding(left=17)))
     return formatters.packBuildUpBlockData(
         block, 0,
         BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)
예제 #15
0
 def __getCommonAwardsVOs(self,
                          item,
                          data,
                          iconSize='small',
                          align=TEXT_ALIGN.RIGHT,
                          withCounts=False):
     itemTypeName = item.get('custType')
     itemID = item.get('id')
     itemTypeID = GUI_ITEM_TYPE_INDICES.get(itemTypeName)
     c11nItem = self.c11n.getItemByID(itemTypeID, itemID)
     count = item.get('value', 1)
     itemData = {
         'imgSource': RES_ICONS.getBonusIcon(iconSize,
                                             c11nItem.itemTypeName),
         'label': text_styles.hightlight('x{}'.format(count)),
         'align': align
     }
     itemData.update(self.__itemTooltip(data, isReceived=False))
     if withCounts:
         itemData['count'] = count
     return itemData
    def __packAwards(self, detailedData):
        awards = detailedData.getAwards(extended=self._awardListReturned)
        result = []
        keys = []
        if self._mainReward:
            keys.append('awards')
        if self._addReward or self._awardListReturned:
            keys.append('awardsFullyCompleted')
        for key in keys:
            for item in awards.get(key, []):
                label = item['label'] if item['label'] is not None else ''
                result.append({
                    'imgSource': item['imgSource'],
                    'label': text_styles.hightlight(label),
                    'align': item['align'],
                    'tooltip': item['tooltip'],
                    'isSpecial': item['isSpecial'],
                    'specialAlias': item['specialAlias'],
                    'specialArgs': item['specialArgs']
                })

        return result
 def __packLeagueAwardsRow(self, cohortData):
     cohortNumber = cohortData['cohortNumber']
     if cohortNumber < 4:
         icon = RES_ICONS.getRankedLeagueCohortIcon(cohortNumber)
         count = '{}%'.format(cohortData['playersPercent'])
         if cohortNumber == 1:
             description = _ms(
                 RANKED_BATTLES.RANKEDBATTLESCYCLESVIEW_FINAL_FIRST,
                 count=count)
         else:
             description = _ms(
                 RANKED_BATTLES.RANKEDBATTLESCYCLESVIEW_FINAL_INTERMEDIATE,
                 count=count)
     else:
         icon = ''
         description = _ms(
             RANKED_BATTLES.RANKEDBATTLESCYCLESVIEW_FINAL_LAST)
     return {
         'icon': icon,
         'iconDescr': text_styles.hightlight(description),
         'awards': cohortData['awards']
     }
예제 #18
0
 def _getOrBlock(self, padding = None):
     return formatters.packTextBlockData(text_styles.hightlight(RANKED_BATTLES.TOOLTIP_STEP_OR), padding=padding)
 def __getData(self):
     filters = self.__getFilters()
     isCompleted = filters['isRankedWelcomeViewStarted']
     filters['isRankedWelcomeViewStarted'] = True
     self.__setFilters(filters)
     rulePositive, ruleNegative = self.__getRules()
     ranks = [RES_ICONS.getRankIcon('114x160', i) for i in xrange(1, 6)]
     ranks.append(
         RES_ICONS.MAPS_ICONS_RANKEDBATTLES_RANKS_114X160_RANKVEHMASTER)
     return {
         'header':
         text_styles.superPromoTitle(RANKED_BATTLES.WELCOMESCREEN_HEADER),
         'rules': [{
             'image':
             RES_ICONS.MAPS_ICONS_RANKEDBATTLES_RANKEDBATTESVIEW_ICN_TANKS,
             'description':
             text_styles.hightlight(RANKED_BATTLES.WELCOMESCREEN_LEFTRULE),
             'tooltip':
             makeTooltip(
                 RANKED_BATTLES.WELCOMESCREEN_LEFTRULETOOLTIP_HEADER,
                 RANKED_BATTLES.WELCOMESCREEN_LEFTRULETOOLTIP_BODY)
         }, {
             'image':
             RES_ICONS.MAPS_ICONS_RANKEDBATTLES_RANKEDBATTESVIEW_ICN_CREW,
             'description':
             text_styles.hightlight(
                 RANKED_BATTLES.WELCOMESCREEN_CENTERRULE),
             'tooltip':
             makeTooltip(
                 RANKED_BATTLES.WELCOMESCREEN_CENTERRULETOOLTIP_HEADER,
                 RANKED_BATTLES.WELCOMESCREEN_CENTERRULETOOLTIP_BODY)
         }, {
             'image':
             RES_ICONS.MAPS_ICONS_RANKEDBATTLES_RANKEDBATTESVIEW_AWARD,
             'description':
             text_styles.hightlight(RANKED_BATTLES.WELCOMESCREEN_RIGHTRULE),
             'tooltip':
             makeTooltip(
                 RANKED_BATTLES.WELCOMESCREEN_RIGHTRULETOOLTIP_HEADER,
                 RANKED_BATTLES.WELCOMESCREEN_RIGHTRULETOOLTIP_BODY)
         }],
         'ranks':
         ranks,
         'rulePositive':
         rulePositive,
         'ruleNegative':
         ruleNegative,
         'ranksDescription':
         text_styles.promoSubTitle(RANKED_BATTLES.WELCOMESCREEN_RANKSDESCR),
         'equalityText':
         RANKED_BATTLES.WELCOMESCREEN_EQUALITYTEXT,
         'rulesDelimeterText':
         text_styles.promoSubTitle(
             RANKED_BATTLES.WELCOMESCREEN_RULESDELIMETER),
         'btnLbl':
         RANKED_BATTLES.WELCOMESCREEN_BTN,
         'btnTooltip':
         makeTooltip(
             RANKED_BATTLES.
             RANKEDBATTLEVIEW_NOTRANKEDBLOCK_OKTOOLTIP_HEADER,
             RANKED_BATTLES.RANKEDBATTLEVIEW_NOTRANKEDBLOCK_OKTOOLTIP_BODY),
         'closeLbl':
         RANKED_BATTLES.WELCOMESCREEN_CLOSEBTN,
         'closeBtnTooltip':
         makeTooltip(RANKED_BATTLES.WELCOMESCREEN_CLOSEBTNTOOLTIP_HEADER,
                     RANKED_BATTLES.WELCOMESCREEN_CLOSEBTNTOOLTIP_BODY),
         'bgImage':
         RES_ICONS.MAPS_ICONS_RANKEDBATTLES_BG_RANK_BLUR,
         'isComplete':
         bool(isCompleted)
     }
예제 #20
0
    def _buildData(self, ranks, currentRank, lastRank):
        currentRankID = currentRank.getID()
        lastRankID = lastRank.getID()
        if currentRankID == 0:
            state = RANKEDBATTLES_ALIASES.RANK_INIT_STATE
            nextRank = ranks[currentRankID + 1]
            steps = self._buildProgress(nextRank)
            infoText = text_styles.hightlight(
                _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_INITTEXT,
                    battles=str(len(steps))))
            rankLeftVO = self._buildRankVO(nextRank)
            return [
                self._buildVO(state,
                              infoText=infoText,
                              rankLeftVO=rankLeftVO,
                              steps=steps,
                              finalState=self._buildFinalState(
                                  state,
                                  self._buildRankVO(nextRank),
                                  steps=self._buildProgress(nextRank)))
            ]
        else:
            maxAccRankID = self.rankedController.getAccRanksTotal()
            skipNewRankCheck = currentRankID == 1 and self.rankedController.wasAwardWindowShown(
            ) and not self._isHuge()
            if currentRank.isNewForPlayer() and not skipNewRankCheck:
                if lastRank.isAcquired():
                    isJumpOverRank = currentRankID - lastRankID > 1
                    if currentRankID > maxAccRankID:
                        return [
                            self._getLadderPointReceiveData(
                                maxRank=ranks[maxAccRankID],
                                vehRank=ranks[currentRankID + 1],
                                currentRank=currentRank)
                        ]
                    if currentRankID == 1:
                        if self._isHuge() or currentRank.isRewardClaimed():
                            return [
                                self._getFirstRankReachiveStateData(
                                    currentRank=ranks[1], nextRank=ranks[2])
                            ]
                        return [
                            self._getFirstRankReceiveStateData(
                                currentRank=currentRank)
                        ]
                    if not self._checkClaim() or currentRank.isRewardClaimed():
                        states = []
                        if isJumpOverRank:
                            tmpRankID = lastRankID + 1
                            while tmpRankID <= currentRankID:
                                if tmpRankID == 1:
                                    states.append(
                                        self._getFirstRankReachiveStateData(
                                            currentRank=ranks[1],
                                            nextRank=ranks[2],
                                            newStepsState=RANKEDBATTLES_ALIASES
                                            .STEP_RECEIVED_BLINK_STATE,
                                            changeAcquired=True))
                                else:
                                    states.append(
                                        self._getReachievedReceiveStateData(
                                            lastRank=ranks[tmpRankID - 1],
                                            currentRank=ranks[tmpRankID],
                                            nextRank=ranks[tmpRankID + 1],
                                            stepsState=RANKEDBATTLES_ALIASES.
                                            STEP_RECEIVED_STATE,
                                            newStepsState=RANKEDBATTLES_ALIASES
                                            .STEP_RECEIVED_BLINK_STATE,
                                            changeAcquired=tmpRankID ==
                                            currentRankID))
                                tmpRankID += 1

                            return states
                        return [
                            self._getReachievedReceiveStateData(
                                lastRank=lastRank,
                                currentRank=currentRank,
                                nextRank=ranks[currentRankID + 1])
                        ]
                    if isJumpOverRank:
                        states = []
                        tmpRankID = lastRankID + 1
                        while tmpRankID <= currentRankID:
                            if tmpRankID == currentRankID:
                                states.append(
                                    self._getRankReceiveForFirstTimeData(
                                        lastRank=ranks[tmpRankID - 1],
                                        currentRank=ranks[tmpRankID]))
                            elif tmpRankID == 1:
                                states.append(
                                    self._getFirstRankReachiveStateData(
                                        currentRank=ranks[1],
                                        nextRank=ranks[2],
                                        newStepsState=RANKEDBATTLES_ALIASES.
                                        STEP_RECEIVED_BLINK_STATE,
                                        changeAcquired=True))
                            else:
                                states.append(
                                    self._getReachievedReceiveStateData(
                                        lastRank=ranks[tmpRankID - 1],
                                        currentRank=ranks[tmpRankID],
                                        nextRank=ranks[tmpRankID + 1],
                                        stepsState=RANKEDBATTLES_ALIASES.
                                        STEP_RECEIVED_STATE,
                                        newStepsState=RANKEDBATTLES_ALIASES.
                                        STEP_RECEIVED_BLINK_STATE))
                            tmpRankID += 1

                        return states
                    return [
                        self._getRankReceiveForFirstTimeData(
                            lastRank=lastRank, currentRank=currentRank)
                    ]
                if lastRank.isLost():
                    if lastRank.getType(
                    ) == RANK_TYPES.VEHICLE and lastRank.isMax():
                        nextRank = ranks[lastRank.getID()]
                    else:
                        nextRank = ranks[lastRank.getID() + 1]
                    state = RANKEDBATTLES_ALIASES.RANK_LOST_STATE
                    steps = self._buildProgress(nextRank)
                    newSteps = self._buildProgress(lastRank)
                    rankLeftVO = self._buildRankVO(lastRank, True)
                    rankRightVO = self._buildRankVO(nextRank)
                    newRankVO = self._buildRankVO(currentRank, True)
                    return [
                        self._buildVO(
                            state,
                            rankLeftVO=rankLeftVO,
                            rankRightVO=rankRightVO,
                            newRankVO=newRankVO,
                            steps=steps,
                            newSteps=newSteps,
                            finalState=self._buildFinalState(
                                state,
                                rankLeftVO=self._buildRankVO(
                                    currentRank, True),
                                rankRightVO=self._buildRankVO(lastRank),
                                steps=self._buildProgress(lastRank)))
                    ]
            if self._checkClaim() and not currentRank.isRewardClaimed():
                state = RANKEDBATTLES_ALIASES.NEW_RANK_CONGRAT_STATE
                infoText = text_styles.hightlight(
                    _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_NEWRANKCONGRAT))
                rankLeftVO = self._buildRankVO(currentRank, True)
                return [
                    self._buildVO(state,
                                  infoText=infoText,
                                  rankLeftVO=rankLeftVO,
                                  finalState=self._buildFinalState(
                                      state,
                                      rankLeftVO=self._buildRankVO(
                                          currentRank, True)))
                ]
            nextRank = ranks[currentRankID + 1]
            steps = self._buildProgress(nextRank)
            shieldStatus = self.rankedController.getShieldStatus(currentRank)
            if shieldStatus is not None:
                prevShieldHP, shiedHP, maxHP, shieldState, _ = shieldStatus
                if shieldState == RANKEDBATTLES_ALIASES.SHIELD_ENABLED:
                    if shiedHP < maxHP:
                        state = RANKEDBATTLES_ALIASES.ANIM_SHIELD_NOT_FULL
                    else:
                        state = RANKEDBATTLES_ALIASES.RANK_IDLE_STATE
                elif shieldState == RANKEDBATTLES_ALIASES.SHIELD_RENEW:
                    state = RANKEDBATTLES_ALIASES.ANIM_SHIELD_RENEW
                elif shieldState == RANKEDBATTLES_ALIASES.SHIELD_FULL_RENEW:
                    state = RANKEDBATTLES_ALIASES.ANIM_SHIELD_FULL_RENEW
                elif shieldState == RANKEDBATTLES_ALIASES.SHIELD_LOSE:
                    if prevShieldHP == maxHP:
                        state = RANKEDBATTLES_ALIASES.ANIM_SHIELD_LOSE_FROM_FULL
                    else:
                        state = RANKEDBATTLES_ALIASES.ANIM_SHIELD_LOSE
                elif shieldState == RANKEDBATTLES_ALIASES.SHIELD_LOSE_STEP:
                    if prevShieldHP == maxHP:
                        state = RANKEDBATTLES_ALIASES.ANIM_SHIELD_LOSE_STEP_FROM_FULL
                    else:
                        state = RANKEDBATTLES_ALIASES.ANIM_SHIELD_LOSE_STEP
                else:
                    state = RANKEDBATTLES_ALIASES.RANK_IDLE_STATE
            else:
                state = RANKEDBATTLES_ALIASES.RANK_IDLE_STATE
            if RANKEDBATTLES_ALIASES.RANK_IDLE_STATE and currentRankID >= maxAccRankID:
                ladderPoints = (self.rankedController.getLadderPoints(), None)
                rankLeftVO = self._buildRankVO(ranks[maxAccRankID],
                                               True,
                                               showLadderPoints=True,
                                               ladderPoints=ladderPoints)
                finalLeftVO = self._buildRankVO(ranks[maxAccRankID],
                                                True,
                                                showLadderPoints=True,
                                                ladderPoints=ladderPoints)
                rankRightVO = self._buildRankVO(ranks[maxAccRankID + 1])
                finalRightVO = self._buildRankVO(ranks[maxAccRankID + 1])
            else:
                rankLeftVO = self._buildRankVO(currentRank, True)
                finalLeftVO = self._buildRankVO(currentRank, True)
                rankRightVO = self._buildRankVO(nextRank)
                finalRightVO = self._buildRankVO(nextRank)
            isShieldOneRankState = state in RANKEDBATTLES_ALIASES.ANIM_SHIELD_ONE_RANK_STATES
            return [
                self._buildVO(state,
                              rankLeftVO=rankLeftVO,
                              rankRightVO=rankRightVO,
                              steps=steps,
                              finalState=self._buildFinalState(
                                  state,
                                  rankLeftVO=finalLeftVO,
                                  rankRightVO=None
                                  if isShieldOneRankState else finalRightVO,
                                  steps=None if isShieldOneRankState else
                                  self._buildProgress(nextRank)))
            ]
def makeRankedNickNameHugeValue(name):
    return text_styles.hightlight(name)
예제 #22
0
    def __onUpdateBoosters(self, *args):
        activeBoostersCount = len(
            self._goodiesCache.getBoosters(
                criteria=REQ_CRITERIA.BOOSTER.ACTIVE).values())
        totalBoostersCount = len(
            self._goodiesCache.getBoosters(
                criteria=REQ_CRITERIA.BOOSTER.IN_ACCOUNT).values())
        filteredBoostersCount = 0
        criteria = REQ_CRITERIA.BOOSTER.IN_ACCOUNT | REQ_CRITERIA.BOOSTER.ENABLED
        criteria |= getCriteriaFromFilterMask(self.__filterMask)
        boosters = self._goodiesCache.getBoosters(criteria=criteria).values()
        dataProviderValues = []
        showDummyScreen = False
        filterWarningVO = None
        if boosters:
            for booster in sorted(boosters, cmp=self.__sort):
                influence = backport.text(
                    R.strings.menu.booster.influence.dyn(
                        booster.boosterGuiType)())
                limitResource = R.strings.menu.booster.limit.dyn(
                    booster.boosterGuiType)
                if limitResource:
                    additionalInfo = text_styles.alert(
                        backport.text(limitResource()))
                else:
                    additionalInfo = ''
                vo = createStorageDefVO(
                    booster.boosterID,
                    text_styles.hightlight(
                        _ms(MENU.BOOSTER_DESCRIPTION_EFFECTVALUETIME,
                            effectValue=booster.getFormattedValue(),
                            effectTime=booster.getEffectTimeStr(
                                hoursOnly=True))),
                    text_styles.main(influence),
                    booster.count,
                    getItemPricesVO(booster.getSellPrice())[0],
                    func_utils.makeFlashPath(
                        booster.getShopIcon(STORE_CONSTANTS.ICON_SIZE_SMALL)),
                    func_utils.makeFlashPath(booster.getShopIcon()),
                    'altimage',
                    enabled=booster.isReadyToActivate,
                    available=booster.isAvailable,
                    active=booster.state,
                    contextMenuId=CONTEXT_MENU_HANDLER_TYPE.
                    STORAGE_PERSONAL_RESERVE_ITEM,
                    additionalInfo=additionalInfo)
                dataProviderValues.append(vo)
                filteredBoostersCount += 1

        elif totalBoostersCount == 0:
            showDummyScreen = True
        else:
            filterWarningVO = self._makeFilterWarningVO(
                STORAGE.FILTER_WARNINGMESSAGE,
                STORAGE.FILTER_NORESULTSBTN_LABEL,
                TOOLTIPS.STORAGE_FILTER_NORESULTSBTN)
        self._dataProvider.buildList(dataProviderValues)
        self.__updateFilterCounter(filteredBoostersCount, totalBoostersCount)
        self.__updateActiveBoostersCounter(activeBoostersCount,
                                           totalBoostersCount)
        self.as_showFilterWarningS(filterWarningVO)
        self.as_showDummyScreenS(showDummyScreen)
        return
    def _buildData(self, ranks, currentRank, lastRank):
        currentRankID = currentRank.getID()
        if currentRankID == 0:
            state = RANKEDBATTLES_ALIASES.RANK_INIT_STATE
            nextRank = ranks[currentRankID + 1]
            steps = self._buildProgress(nextRank)
            infoText = text_styles.hightlight(
                _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_INITTEXT,
                    battles=str(len(steps))))
            countText = self._getCountLabel(nextRank)
            rankLeftVO = self._buildRankVO(nextRank)
            return self._buildVO(state,
                                 infoText=infoText,
                                 rankLeftVO=rankLeftVO,
                                 steps=steps,
                                 countText=countText)
        else:
            skipNewRankCheck = currentRankID == 1 and self.rankedController.wasAwardWindowShown(
            ) and not self._isHuge()
            if currentRank.isNewForPlayer() and not skipNewRankCheck:
                if lastRank.isAcquired():
                    self._addSoundEvent(
                        RANKEDBATTLES_ALIASES.RANK_RECEIVE_STATE, currentRank)
                    if currentRankID == 1 and not self._isHuge():
                        state = RANKEDBATTLES_ALIASES.FIRST_RANK_RECEIVE_STATE
                        steps = self._buildProgress(currentRank)
                        infoText = text_styles.hightlight(
                            _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_INITTEXT,
                                battles=str(len(steps))))
                        nextInfoText = text_styles.hightlight(
                            _ms(RANKED_BATTLES.
                                RANKEDBATTLESWIDGET_NEWRANKCONGRAT))
                        rankLeftVO = self._buildRankVO(currentRank, True)
                        return self._buildVO(state,
                                             infoText=infoText,
                                             rankLeftVO=rankLeftVO,
                                             steps=steps,
                                             nextInfoText=nextInfoText)
                    if not self._checkClaim() or currentRank.isRewardClaimed(
                    ) or self._isHuge() and currentRankID == 1:
                        nextRank = ranks[currentRankID + 1]
                        if self._isHuge():
                            state = RANKEDBATTLES_ALIASES.RANK_RECEIVE_HUGE_STATE
                            steps = self._buildProgress(nextRank)
                            countText = ''
                            nextCountText = nextRank.getProgress(
                            ).getNewUserStr()
                            rankLeftVO = self._buildRankVO(currentRank, True)
                            rankRightVO = self._buildRankVO(currentRank, True)
                        else:
                            state = RANKEDBATTLES_ALIASES.RANK_RECEIVE_STATE
                            steps = self._buildProgress(currentRank)
                            countText = currentRank.getProgress().getUserStr()
                            nextCountText = currentRank.getProgress(
                            ).getNewUserStr()
                            rankLeftVO = self._buildRankVO(lastRank, True)
                            rankRightVO = self._buildRankVO(currentRank)
                        newSteps = self._buildProgress(nextRank)
                        newCountText = nextRank.getProgress().getUserStr()
                        newRankVO = self._buildRankVO(nextRank)
                        return self._buildVO(state,
                                             rankLeftVO=rankLeftVO,
                                             rankRightVO=rankRightVO,
                                             newRankVO=newRankVO,
                                             steps=steps,
                                             newSteps=newSteps,
                                             countText=countText,
                                             nextCountText=nextCountText,
                                             newCountText=newCountText)
                    state = RANKEDBATTLES_ALIASES.RANK_RECEIVE_FOR_FIRST_TIME_STATE
                    infoText = text_styles.hightlight(
                        _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_NEWRANKCONGRAT))
                    steps = self._buildProgress(currentRank)
                    countText = currentRank.getProgress().getUserStr()
                    nextCountText = currentRank.getProgress().getNewUserStr()
                    rankLeftVO = self._buildRankVO(lastRank, True)
                    rankRightVO = self._buildRankVO(currentRank)
                    return self._buildVO(state,
                                         rankLeftVO=rankLeftVO,
                                         rankRightVO=rankRightVO,
                                         infoText=infoText,
                                         steps=steps,
                                         countText=countText,
                                         nextCountText=nextCountText)
                if lastRank.isLost():
                    self._addSoundEvent(RANKEDBATTLES_ALIASES.RANK_LOST_STATE)
                    if lastRank.getType(
                    ) == RANK_TYPES.VEHICLE and lastRank.isMax():
                        nextRank = ranks[lastRank.getID()]
                    else:
                        nextRank = ranks[lastRank.getID() + 1]
                    if self._isHuge():
                        state = RANKEDBATTLES_ALIASES.RANK_LOST_HUGE_STATE
                        steps = self._buildProgress(lastRank)
                        countText = ''
                        nextCountText = lastRank.getProgress().getNewUserStr()
                    else:
                        state = RANKEDBATTLES_ALIASES.RANK_LOST_STATE
                        steps = self._buildProgress(nextRank)
                        countText = nextRank.getProgress().getUserStr()
                        nextCountText = nextRank.getProgress().getNewUserStr()
                    newSteps = self._buildProgress(lastRank)
                    newCountText = lastRank.getProgress().getUserStr()
                    rankLeftVO = self._buildRankVO(lastRank, True)
                    rankRightVO = self._buildRankVO(nextRank)
                    newRankVO = self._buildRankVO(currentRank, True)
                    return self._buildVO(state,
                                         rankLeftVO=rankLeftVO,
                                         rankRightVO=rankRightVO,
                                         newRankVO=newRankVO,
                                         steps=steps,
                                         newSteps=newSteps,
                                         countText=countText,
                                         nextCountText=nextCountText,
                                         newCountText=newCountText)
            if self._checkClaim() and not currentRank.isRewardClaimed():
                state = RANKEDBATTLES_ALIASES.NEW_RANK_CONGRAT_STATE
                infoText = text_styles.hightlight(
                    _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_NEWRANKCONGRAT))
                rankLeftVO = self._buildRankVO(currentRank, True)
                return self._buildVO(state,
                                     infoText=infoText,
                                     rankLeftVO=rankLeftVO,
                                     steps=None)
            state = RANKEDBATTLES_ALIASES.RANK_IDLE_STATE
            nextRank = ranks[currentRankID + 1]
            steps = self._buildProgress(nextRank)
            showText = True
            for step in steps:
                if step['state'] in [
                        RANKEDBATTLES_ALIASES.STEP_JUST_LOST_STATE,
                        RANKEDBATTLES_ALIASES.STEP_JUST_RECEIVED_STATE,
                        RANKEDBATTLES_ALIASES.STEP_JUST_RECEIVED_SHORT_STATE
                ]:
                    showText = False

            countText = nextRank.getProgress().getUserStr()
            if self._isHuge():
                if not showText:
                    countText = ''
                else:
                    countText = text_styles.stats(
                        _ms(RANKED_BATTLES.RANKEDBATTLESWIDGET_NOCHANGES))
            rankLeftVO = self._buildRankVO(currentRank, True)
            rankRightVO = self._buildRankVO(nextRank)
            return self._buildVO(state,
                                 rankLeftVO=rankLeftVO,
                                 rankRightVO=rankRightVO,
                                 steps=steps,
                                 countText=countText)
예제 #24
0
 def getIconLabel(self):
     return text_styles.hightlight(self.getValue())
예제 #25
0
 def getIconLabel(self):
     """
     returns label which is displayed near icon. Originally used in ranked battles
     @return: styled label str
     """
     return text_styles.hightlight('x{}'.format(self.getValue()))
def makeRankedPointHugeValue(pointsValue):
    return makeHtmlString('html_templates:lobby/battle_results',
                          'xp_small_label',
                          {'value': text_styles.hightlight(pointsValue)})
 def _getOrBlock(self, padding=None):
     return formatters.packTextBlockData(text_styles.hightlight(
         backport.text(R.strings.ranked_battles.tooltip.step.c_or())),
                                         padding=padding)