def _calculateXTE(self, v): if 'db' not in v or v['db'] < 0: return if 'fb' not in v or v['fb'] < 0: return v['xte'] = vehinfo_xte.calculateXTE(v['id'], float(v['db']), float(v['fb']))
def getDossier(self, args): #log(str(args)) (self._battlesType, self.accountDBID, self.vehCD) = args if self.accountDBID == 0: self.accountDBID = None if self.vehCD == 0: dossier = g_itemsCache.items.getAccountDossier(self.accountDBID) res = self.__prepareAccountResult(dossier) else: vehCD = int(self.vehCD) if not self.__isVehicleDossierCached(self.accountDBID, vehCD): return None dossier = g_itemsCache.items.getVehicleDossier( vehCD, self.accountDBID) xpVehs = g_itemsCache.items.stats.vehiclesXPs earnedXP = xpVehs.get(vehCD, 0) freeXP = g_itemsCache.items.stats.actualFreeXP #log('vehCD: {0} pVehXp: {1}'.format(vehCD, earnedXP)) xpToElite = 0 unlocks = g_itemsCache.items.stats.unlocks _, nID, invID = vehicles.parseIntCompactDescr(vehCD) vType = vehicles.g_cache.vehicle(nID, invID) for data in vType.unlocksDescrs: if data[1] not in unlocks: xpToElite += data[0] # xTDB & xTE xtdb = -1 xte = -1 if dossier is not None: stats = self.__getStatsBlock(dossier) battles = stats.getBattlesCount() dmg = stats.getDamageDealt() frg = stats.getFragsCount() if battles > 0 and dmg >= 0 and frg >= 0: xtdb = vehinfo_xtdb.calculateXTDB(vehCD, float(dmg) / battles) xte = vehinfo_xte.calculateXTE(vehCD, float(dmg) / battles, float(frg) / battles) res = self.__prepareVehicleResult(dossier, xtdb, xte, earnedXP, freeXP, xpToElite) return res
def getDossier(self, args): #log(str(args)) (self._battlesType, self.accountDBID, self.vehCD) = args if self.accountDBID == 0: self.accountDBID = None if self.vehCD == 0: dossier = g_itemsCache.items.getAccountDossier(self.accountDBID) res = self.__prepareAccountResult(dossier) else: vehCD = int(self.vehCD) if not self.__isVehicleDossierCached(self.accountDBID, vehCD): return None dossier = g_itemsCache.items.getVehicleDossier(vehCD, self.accountDBID) xpVehs = g_itemsCache.items.stats.vehiclesXPs earnedXP = xpVehs.get(vehCD, 0) freeXP = g_itemsCache.items.stats.actualFreeXP #log('vehCD: {0} pVehXp: {1}'.format(vehCD, earnedXP)) xpToElite = 0 unlocks = g_itemsCache.items.stats.unlocks _, nID, invID = vehicles.parseIntCompactDescr(vehCD) vType = vehicles.g_cache.vehicle(nID, invID) for data in vType.unlocksDescrs: if data[1] not in unlocks: xpToElite += data[0] # xTDB & xTE xtdb = -1 xte = -1 if dossier is not None: stats = self.__getStatsBlock(dossier) battles = stats.getBattlesCount() dmg = stats.getDamageDealt() frg = stats.getFragsCount() if battles > 0 and dmg >= 0 and frg >= 0: xtdb = vehinfo_xtdb.calculateXTDB(vehCD, float(dmg) / battles) xte = vehinfo_xte.calculateXTE(vehCD, float(dmg) / battles, float(frg) / battles) res = self.__prepareVehicleResult(dossier, xtdb, xte, earnedXP, freeXP, xpToElite) return res
def _calculateXTE(self, v): if 'db' not in v or v['db'] <= 0: return if 'fb' not in v or v['fb'] <= 0: return v['xte'] = vehinfo_xte.calculateXTE(v['id'], float(v['db']), float(v['fb']))