예제 #1
0
    def getRetrainingData(self, callback):
        items = g_itemsCache.items
        tankman = items.getTankman(self.tmanInvID)
        criteria = REQ_CRITERIA.NATIONS([tankman.nationID]) | REQ_CRITERIA.UNLOCKED
        vData = items.getVehicles(criteria)
        tDescr = tankman.descriptor
        vehiclesData = sorted(vData.values())
        result = []
        for vehicle in vehiclesData:
            vDescr = vehicle.descriptor
            if isVehicleObserver(vDescr.type.compactDescr):
                continue
            for role in vDescr.type.crewRoles:
                if tDescr.role == role[0]:
                    result.append({'innationID': vehicle.innationID,
                     'vehicleType': vehicle.type,
                     'userName': vehicle.shortUserName})
                    break


        (shopPrices, action,) = items.shop.getTankmanCostWithDefaults()
        callback({'money': (items.stats.credits, items.stats.gold),
         'tankmanCost': shopPrices,
         'action': action,
         'vehicles': result})
예제 #2
0
    def getRetrainingData(self, callback):
        items = g_itemsCache.items
        tankman = items.getTankman(self.tmanInvID)
        nativeVehicleCD = tankman.vehicleNativeDescr.type.compactDescr
        criteria = REQ_CRITERIA.NATIONS([tankman.nationID
                                         ]) | REQ_CRITERIA.UNLOCKED
        vData = items.getVehicles(criteria)
        tDescr = tankman.descriptor
        vehiclesData = vData.values()
        if nativeVehicleCD not in vData:
            vehiclesData.append(items.getItemByCD(nativeVehicleCD))
        result = []
        for vehicle in sorted(vehiclesData):
            vDescr = vehicle.descriptor
            if isVehicleObserver(vDescr.type.compactDescr):
                continue
            for role in vDescr.type.crewRoles:
                if tDescr.role == role[0]:
                    result.append({
                        'innationID': vehicle.innationID,
                        'vehicleType': vehicle.type,
                        'userName': vehicle.shortUserName
                    })
                    break

        shopPrices, action = items.shop.getTankmanCostWithDefaults()
        callback({
            'money': (items.stats.credits, items.stats.gold),
            'tankmanCost': shopPrices,
            'action': action,
            'vehicles': result
        })
예제 #3
0
    def __getVehiclesData(self, nationID, nativeVehicleCD):
        items = []
        criteria = REQ_CRITERIA.NATIONS([nationID])
        criteria |= REQ_CRITERIA.UNLOCKED
        criteria |= ~REQ_CRITERIA.VEHICLE.BATTLE_ROYALE
        criteria |= ~REQ_CRITERIA.VEHICLE.MAPS_TRAINING
        criteria |= ~(REQ_CRITERIA.SECRET
                      | ~REQ_CRITERIA.INVENTORY_OR_UNLOCKED)
        if not constants.IS_IGR_ENABLED:
            criteria |= ~REQ_CRITERIA.VEHICLE.IS_PREMIUM_IGR
        if constants.IS_DEVELOPMENT:
            criteria |= ~REQ_CRITERIA.VEHICLE.IS_BOT
        vehicles = self.itemsCache.items.getVehicles(criteria)
        vehiclesData = vehicles.values()
        if nativeVehicleCD not in vehicles:
            vehiclesData.append(
                self.itemsCache.items.getItemByCD(nativeVehicleCD))
        for vehicle in sorted(vehiclesData):
            vDescr = vehicle.descriptor
            if isVehicleObserver(vDescr.type.compactDescr):
                continue
            items.append({
                'id': vehicle.intCD,
                'type': vehicle.type,
                'name': vehicle.shortUserName
            })

        return {
            'items': items,
            'nativeVehicleId': nativeVehicleCD,
            'currentVehicleId': self.__currentVehicleCD or -1
        }
예제 #4
0
    def getRetrainingData(self, callback):
        items = g_itemsCache.items
        tankman = items.getTankman(self.tmanInvID)
        criteria = REQ_CRITERIA.NATIONS([tankman.nationID
                                         ]) | REQ_CRITERIA.UNLOCKED
        vData = items.getVehicles(criteria)
        tDescr = tankman.descriptor
        vehiclesData = sorted(vData.values())
        result = []
        for vehicle in vehiclesData:
            vDescr = vehicle.descriptor
            if isVehicleObserver(vDescr.type.compactDescr):
                continue
            for role in vDescr.type.crewRoles:
                if tDescr.role == role[0]:
                    result.append({
                        'innationID': vehicle.innationID,
                        'vehicleType': vehicle.type,
                        'userName': vehicle.shortUserName
                    })
                    break

        callback({
            'money': (items.stats.credits, items.stats.gold),
            'tankmanCost': items.shop.tankmanCost,
            'vehicles': result
        })
예제 #5
0
    def __getVehiclesData(self, nationID, nativeVehicleCD):
        items = []
        criteria = REQ_CRITERIA.NATIONS([nationID]) | REQ_CRITERIA.UNLOCKED
        vehicles = self.__items.getVehicles(criteria)
        vehiclesData = vehicles.values()
        if nativeVehicleCD not in vehicles:
            vehiclesData.append(self.__items.getItemByCD(nativeVehicleCD))
        for vehicle in sorted(vehiclesData):
            vDescr = vehicle.descriptor
            if isVehicleObserver(vDescr.type.compactDescr):
                continue
            items.append({
                'id': vehicle.intCD,
                'type': vehicle.type,
                'name': vehicle.shortUserName
            })

        return {
            'items':
            items,
            'nativeVehicleId':
            nativeVehicleCD,
            'currentVehicleId':
            self.__currentVehicleCD if self.__currentVehicleCD != None else -1
        }
예제 #6
0
    def getRetrainingData(self, callback):
        items = g_itemsCache.items
        tankman = items.getTankman(self.tmanInvID)
        nativeVehicleCD = tankman.vehicleNativeDescr.type.compactDescr
        criteria = REQ_CRITERIA.NATIONS([tankman.nationID]) | REQ_CRITERIA.UNLOCKED
        vData = items.getVehicles(criteria)
        tDescr = tankman.descriptor
        vehiclesData = vData.values()
        if nativeVehicleCD not in vData:
            vehiclesData.append(items.getItemByCD(nativeVehicleCD))
        result = []
        for vehicle in sorted(vehiclesData):
            vDescr = vehicle.descriptor
            if isVehicleObserver(vDescr.type.compactDescr):
                continue
            for role in vDescr.type.crewRoles:
                if tDescr.role == role[0]:
                    result.append(
                        {
                            "innationID": vehicle.innationID,
                            "vehicleType": vehicle.type,
                            "userName": vehicle.shortUserName,
                        }
                    )
                    break

        shopPrices, action = items.shop.getTankmanCostWithDefaults()
        callback(
            {
                "money": (items.stats.credits, items.stats.gold),
                "tankmanCost": shopPrices,
                "action": action,
                "vehicles": result,
            }
        )
예제 #7
0
    def __getVehiclesData(self, nationID, nativeVehicleCD):
        items = []
        criteria = REQ_CRITERIA.NATIONS([nationID]) | REQ_CRITERIA.UNLOCKED
        vehicles = self.__items.getVehicles(criteria)
        vehiclesData = vehicles.values()
        if nativeVehicleCD not in vehicles:
            vehiclesData.append(self.__items.getItemByCD(nativeVehicleCD))
        for vehicle in sorted(vehiclesData):
            vDescr = vehicle.descriptor
            if isVehicleObserver(vDescr.type.compactDescr):
                continue
            items.append({'id': vehicle.intCD,
             'type': vehicle.type,
             'name': vehicle.shortUserName})

        return {'items': items,
         'assignedVehicleId': nativeVehicleCD}