Exemple #1
0
    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
Exemple #3
0
 def _calculateXTDB(self, v):
     if 'db' not in v or v['db'] < 0:
         return
     v['xtdb'] = vehinfo_xtdb.calculateXTDB(v['id'], float(v['db']))
Exemple #4
0
 def _calculateXTDB(self, v):
     if 'db' not in v or v['db'] < 0:
         return
     v['xtdb'] = vehinfo_xtdb.calculateXTDB(v['id'], float(v['db']))