def setRecord(self, result, _): count = result.stunNum assisted = result.damageAssistedStun duration = result.stunDuration self.stunNum = count self.stunDuration = duration if count > 0 or assisted > 0 or duration > 0: self.stunValues = [ BigWorld.wg_getIntegralFormat(assisted), BigWorld.wg_getIntegralFormat(count), BigWorld.wg_getFractionalFormat(duration) ] self.stunNames = [ i18n.makeString(BATTLE_RESULTS.COMMON_TOOLTIP_STUN_PART1, vals=style.getTooltipParamsStyle()), i18n.makeString(BATTLE_RESULTS.COMMON_TOOLTIP_STUN_PART2), i18n.makeString( BATTLE_RESULTS.COMMON_TOOLTIP_STUN_PART3, vals=style.getTooltipParamsStyle( BATTLE_RESULTS.COMMON_TOOLTIP_PARAMS_VAL_SECONDS)) ]
def _getValue(self, value): return BigWorld.wg_getFractionalFormat(float(value))
def getFractionalFormat(cls, value): return BigWorld.wg_getFractionalFormat(value)
def getFractionalFormatIfNoEmpty(value): return BigWorld.wg_getFractionalFormat( value) if value else markValueAsEmpty(value)
def _convert(self, value, reusable): converted = BigWorld.wg_getFractionalFormat(value / 1000.0) if not value: converted = markValueAsEmpty(converted) return converted
def makeAOGASFactorValue(value): formatted = ''.join( (i18n.makeString(BATTLE_RESULTS.COMMON_XPMULTIPLIERSIGN), BigWorld.wg_getFractionalFormat(value))) formatted = markValueAsError(formatted) return formatted
def __makeMileageStr(self, mileage): km = float(mileage) / 1000 val = BigWorld.wg_getFractionalFormat(km) + i18n.makeString(MILEAGE_STR_KEY) if not mileage: val = makeHtmlString('html_templates:lobby/battle_results', 'empty_stat_value', {'value': val}) return val
def __populateAccounting(self, commonData, pData): pData['creditsStr'] = BigWorld.wg_getGoldFormat(pData.get('credits', 0)) pData['xpStr'] = BigWorld.wg_getIntegralFormat(pData.get('xp', 0)) pData['xpTitleStr'] = i18n.makeString(XP_TITLE) dailyXpFactor = float(pData.get('dailyXPFactor10', 10)) / 10.0 igrXpFactor = float(pData.get('igrXPFactor10', 10)) / 10.0 isPremium = pData.get('isPremium', False) aogas = float(pData.get('aogasFactor10', 10)) / 10 if dailyXpFactor > 1: pData['xpTitleStr'] += i18n.makeString(XP_TITLE_DAILY, dailyXpFactor) noPenaltyLbl = None if self.__isNoPenaltyApplied(commonData, pData): noPenaltyLbl = makeHtmlString('html_templates:lobby/battle_results', 'noPenalty', {}) creditsData = [] creditsPenalty = self.__calculateBaseCreditsPenalty(pData) creditsCompensation = self.__calculateBaseCreditsContribution(pData) premCreditsF10 = float(pData.get('premiumCreditsFactor10', 10)) creditsBase = pData.get('originalCredits', 0) creditsCell = creditsBase + creditsPenalty - creditsCompensation creditsBaseStr = self.__makeCreditsLabel(creditsCell, not isPremium) creditsBasePremStr = self.__makeCreditsLabel(int(creditsBase * premCreditsF10 / 10.0) + int(creditsPenalty * premCreditsF10 / 10.0) - int(creditsCompensation * premCreditsF10 / 10.0), isPremium) label = self.__resultLabel('base') if noPenaltyLbl is not None: label = '{0}{1}'.format(label, noPenaltyLbl) creditsData.append(self.__getStatsLine(label, creditsBaseStr, None, creditsBasePremStr, None)) eventCredits = pData.get('eventCredits', 0) eventGold = pData.get('eventGold', 0) creditsEventStr = self.__makeCreditsLabel(eventCredits, not isPremium) if eventCredits else None creditsEventPremStr = self.__makeCreditsLabel(eventCredits, isPremium) if eventCredits else None goldEventStr = self.__makeGoldLabel(eventGold, not isPremium) if eventGold else None goldEventPremStr = self.__makeGoldLabel(eventGold, isPremium) if eventGold else None if eventCredits > 0 or eventGold > 0: creditsData.append(self.__getStatsLine(self.__resultLabel('event'), creditsEventStr, goldEventStr, creditsEventPremStr, goldEventPremStr)) creditsData.append(self.__getStatsLine()) creditsPenaltyStr = self.__makeCreditsLabel(int(-creditsPenalty), not isPremium) creditsPenaltyPremStr = self.__makeCreditsLabel(int(-creditsPenalty * premCreditsF10 / 10.0), isPremium) creditsData.append(self.__getStatsLine(self.__resultLabel('friendlyFirePenalty'), creditsPenaltyStr, None, creditsPenaltyPremStr, None)) creditsCompensationStr = self.__makeCreditsLabel(int(creditsCompensation), not isPremium) creditsCompensationPremStr = self.__makeCreditsLabel(int(creditsCompensation * premCreditsF10 / 10.0), isPremium) creditsData.append(self.__getStatsLine(self.__resultLabel('friendlyFireCompensation'), creditsCompensationStr, None, creditsCompensationPremStr, None)) creditsData.append(self.__getStatsLine()) if aogas < 1: aogasValStr = ''.join([i18n.makeString(XP_MULTIPLIER_SIGN_KEY), BigWorld.wg_getFractionalFormat(aogas)]) aogasValStr = self.__makeRedLabel(aogasValStr) creditsData.append(self.__getStatsLine(self.__resultLabel('aogas'), aogasValStr, None, aogasValStr, None)) creditsData.append(self.__getStatsLine()) creditsAutoRepair = pData.get('autoRepairCost', 0) if creditsAutoRepair is None: creditsAutoRepair = 0 creditsAutoRepairStr = self.__makeCreditsLabel(-creditsAutoRepair, not isPremium) creditsAutoRepairPremStr = self.__makeCreditsLabel(-creditsAutoRepair, isPremium) creditsData.append(self.__getStatsLine(self.__resultLabel('autoRepair'), creditsAutoRepairStr, None, creditsAutoRepairPremStr, None)) autoLoadCost = pData.get('autoLoadCost', (0, 0)) if autoLoadCost is None: autoLoadCost = (0, 0) creditsAutoLoad, goldAutoLoad = autoLoadCost creditsAutoLoadStr = self.__makeCreditsLabel(-creditsAutoLoad, not isPremium) creditsAutoLoadPremStr = self.__makeCreditsLabel(-creditsAutoLoad, isPremium) goldAutoLoadStr = self.__makeGoldLabel(-goldAutoLoad, not isPremium) goldAutoLoadPremStr = self.__makeGoldLabel(-goldAutoLoad, isPremium) creditsData.append(self.__getStatsLine(self.__resultLabel('autoLoad'), creditsAutoLoadStr, goldAutoLoadStr, creditsAutoLoadPremStr, goldAutoLoadPremStr)) autoEquipCost = pData.get('autoEquipCost', (0, 0)) if autoEquipCost is None: autoEquipCost = (0, 0) creditsAutoEquip, goldAutoEquip = autoEquipCost creditsAutoEquipStr = self.__makeCreditsLabel(-creditsAutoEquip, not isPremium) creditsAutoEquipPremStr = self.__makeCreditsLabel(-creditsAutoEquip, isPremium) goldAutoEquipStr = self.__makeGoldLabel(-goldAutoEquip, not isPremium) goldAutoEquipPremStr = self.__makeGoldLabel(-goldAutoEquip, isPremium) creditsData.append(self.__getStatsLine(self.__resultLabel('autoEquip'), creditsAutoEquipStr, goldAutoEquipStr, creditsAutoEquipPremStr, goldAutoEquipPremStr)) creditsData.append(self.__getStatsLine()) creditsNoPremTotal = self.__calculateTotalCredits(pData, creditsBase) pData['creditsNoPremStr'] = self.__makeCreditsLabel(creditsNoPremTotal, not isPremium) creditsNoPremTotalStr = self.__makeCreditsLabel(creditsNoPremTotal - creditsAutoRepair - creditsAutoEquip - creditsAutoLoad, not isPremium) pData['creditsNoPremTotalStr'] = creditsNoPremTotalStr creditsPremTotal = self.__calculateTotalCredits(pData, creditsBase, True) pData['creditsPremStr'] = self.__makeCreditsLabel(creditsPremTotal, isPremium) creditsPremTotalStr = self.__makeCreditsLabel(creditsPremTotal - creditsAutoRepair - creditsAutoEquip - creditsAutoLoad, isPremium) pData['creditsPremTotalStr'] = creditsPremTotalStr goldTotalStr = self.__makeGoldLabel(eventGold - goldAutoEquip - goldAutoLoad, not isPremium) goldTotalPremStr = self.__makeGoldLabel(eventGold - goldAutoEquip - goldAutoLoad, isPremium) totalLbl = makeHtmlString('html_templates:lobby/battle_results', 'lightText', {'value': self.__resultLabel('total')}) creditsData.append(self.__getStatsLine(totalLbl, creditsNoPremTotalStr, goldTotalStr, creditsPremTotalStr, goldTotalPremStr)) pData['creditsData'] = creditsData xpData = [] xpBase = int(pData.get('originalXP', 0)) xpPenalty = int(self.__calculateBaseXpPenalty(pData)) premXpMulty = float(pData.get('premiumXPFactor10', 10)) / 10.0 xpCellStr = self.__makeXpLabel(xpBase + xpPenalty, not isPremium) xpCellPremStr = self.__makeXpLabel(int((xpBase + xpPenalty) * premXpMulty), isPremium) freeXp = pData.get('originalFreeXP', 0) freeXpBaseStr = self.__makeFreeXpLabel(freeXp, not isPremium) freeXpBasePremStr = self.__makeFreeXpLabel(int(freeXp * premXpMulty), isPremium) medals = pData.get('dossierPopUps', []) if RECORD_DB_IDS[('max15x15', 'maxXP')] in map(lambda (id, value): id, medals): label = makeHtmlString('html_templates:lobby/battle_results', 'xpRecord', {})
igrBonusLabelStr = makeHtmlString('html_templates:lobby/battle_results', 'igr_bonus_label', {}) igrBonusStr = makeHtmlString('html_templates:lobby/battle_results', 'igr_bonus', {'value': BigWorld.wg_getNiceNumberFormat(igrXpFactor)}) xpData.append(self.__getStatsLine(igrBonusLabelStr, igrBonusStr, igrBonusStr, igrBonusStr, igrBonusStr)) if dailyXpFactor > 1: dailyXpStr = makeHtmlString('html_templates:lobby/battle_results', 'multy_xp_small_label', {'value': int(dailyXpFactor)}) xpData.append(self.__getStatsLine(self.__resultLabel('firstWin'), dailyXpStr, dailyXpStr, dailyXpStr, dailyXpStr)) eventXP = pData.get('eventXP', 0) eventFreeXP = pData.get('eventFreeXP', 0) if eventXP > 0 or eventFreeXP > 0: eventXPStr = self.__makeXpLabel(eventXP, not isPremium) eventXPPremStr = self.__makeXpLabel(eventXP, isPremium) eventFreeXPStr = self.__makeFreeXpLabel(eventFreeXP, not isPremium) eventFreeXPPremStr = self.__makeFreeXpLabel(eventFreeXP, isPremium) xpData.append(self.__getStatsLine(self.__resultLabel('event'), eventXPStr, eventFreeXPStr, eventXPPremStr, eventFreeXPPremStr)) if aogas < 1: aogasValStr = ''.join([i18n.makeString(XP_MULTIPLIER_SIGN_KEY), BigWorld.wg_getFractionalFormat(aogas)]) aogasValStr = self.__makeRedLabel(aogasValStr) xpData.append(self.__getStatsLine(self.__resultLabel('aogas'), aogasValStr, aogasValStr, aogasValStr, aogasValStr)) if len(xpData) < 3: xpData.append(self.__getStatsLine()) if len(xpData) < 7: xpData.append(self.__getStatsLine()) pData['xpNoPremStr'] = self.__makeXpLabel(self.__calculateTotalXp(pData, xpBase), not isPremium) pData['xpPremStr'] = self.__makeXpLabel(self.__calculateTotalXp(pData, xpBase, True), isPremium) freeXpTotal = self.__makeFreeXpLabel(self.__calculateTotalFreeXp(pData, freeXp), not isPremium) freeXpPremTotal = self.__makeFreeXpLabel(self.__calculateTotalFreeXp(pData, freeXp, True), isPremium) xpData.append(self.__getStatsLine(totalLbl, pData['xpNoPremStr'], freeXpTotal, pData['xpPremStr'], freeXpPremTotal)) pData['xpData'] = xpData return def __populatePersonalMedals(self, pData):