def selectedSkills(self, vehicleCD):
     skillsDict = self.getCacheValue('selectedAbilities', None)
     return skillsDict.get(
         vehicleCD, [-1] *
         ABILITY_SLOTS_BY_VEHICLE_CLASS[getVehicleClass(vehicleCD)]
     ) if skillsDict is not None else [-1] * ABILITY_SLOTS_BY_VEHICLE_CLASS[
         getVehicleClass(vehicleCD)]
    def getSelectedSkills(self, vehicleCD):
        selected = self.itemsCache.items.epicMetaGame.selectedSkills(vehicleCD)
        numSlots = vehicles.ABILITY_SLOTS_BY_VEHICLE_CLASS[vehicles.getVehicleClass(vehicleCD)]
        while len(selected) < numSlots:
            selected.append(-1)

        return selected
Beispiel #3
0
 def checkVehicleLevel(self, vehTypeCompDescr):
     vehClass = vehicles.getVehicleClass(vehTypeCompDescr)
     vehClassIdx = VEHICLE_CLASS_INDICES[vehClass]
     vehLevel = vehicles.getVehicleType(vehTypeCompDescr).level
     if not self.limits.checkVehicleLevel(vehClassIdx, vehLevel):
         return False
     return False if not self.SLOT_TYPE.DEFAULT_LEVELS[
         0] <= vehLevel <= self.SLOT_TYPE.DEFAULT_LEVELS[1] else True
Beispiel #4
0
 def checkVehicleLevel(self, vehTypeCompDescr):
     vehClass = vehicles.getVehicleClass(vehTypeCompDescr)
     vehClassIdx = VEHICLE_CLASS_INDICES[vehClass]
     vehLevel = vehicles.getVehicleType(vehTypeCompDescr).level
     if not self.limits.checkVehicleLevel(vehClassIdx, vehLevel):
         return False
     if not self.SLOT_TYPE.DEFAULT_LEVELS[0] <= vehLevel <= self.SLOT_TYPE.DEFAULT_LEVELS[1]:
         return False
     return True
Beispiel #5
0
 def getPageCtx(self):
     return {
         'map':
         ArenaType.g_geometryCache[self.__mapGeometryID].geometryName
         if self.__mapGeometryID != self._UNDEFINED_VALUE else '',
         'vehicleType':
         getVehicleClass(self.__vehCompDescr)
         if self.__vehCompDescr != self._UNDEFINED_VALUE else '',
         'side':
         self.__team
     }
Beispiel #6
0
 def checkVehicle(self, vehTypeCompDescr):
     if self.vehTypeCompDescr is not None:
         return self.vehTypeCompDescr == vehTypeCompDescr
     else:
         vehType = vehicles.getVehicleType(vehTypeCompDescr)
         if not self.nationMask & 1 << vehType.id[0]:
             return False
         level = vehType.level
         if not (self.levels[0] <= level and level <= self.levels[1]):
             return False
         classTag = vehicles.getVehicleClass(vehTypeCompDescr)
         classIndex = VEHICLE_CLASS_INDICES.get(classTag, _BAD_CLASS_INDEX)
         return False if not self.vehClassMask & 1 << classIndex else True
Beispiel #7
0
 def _setVehicle(self, accountDBID, vehTypeCompDescr, vehInvID):
     classTag = vehicles.getVehicleClass(vehTypeCompDescr)
     vehType = vehicles.getVehicleType(vehTypeCompDescr)
     vehClassIdx = VEHICLE_CLASS_INDICES.get(classTag, _BAD_CLASS_INDEX)
     self._vehicles[accountDBID] = {'vehTypeCompDescr': vehTypeCompDescr,
      'vehInvID': vehInvID,
      'nationIdx': vehType.id[0],
      'inNationIdx': vehType.id[1],
      'vehLevel': vehType.level,
      'vehClassIdx': vehClassIdx}
     self.storeOp(UNIT_OP.SET_VEHICLE, accountDBID, vehTypeCompDescr, vehInvID)
     self._storeNotification(accountDBID, UNIT_NOTIFY_CMD.SET_VEHICLE, [vehInvID])
     self._dirty = 1
     return True
Beispiel #8
0
 def checkVehicle(self, vehTypeCompDescr):
     if self.vehTypeCompDescr is not None:
         return self.vehTypeCompDescr == vehTypeCompDescr
     vehType = vehicles.getVehicleType(vehTypeCompDescr)
     if not self.nationMask & 1 << vehType.id[0]:
         return False
     level = vehType.level
     if not (self.levels[0] <= level and level <= self.levels[1]):
         return False
     classTag = vehicles.getVehicleClass(vehTypeCompDescr)
     classIndex = VEHICLE_CLASS_INDICES.get(classTag, _BAD_CLASS_INDEX)
     if not self.vehClassMask & 1 << classIndex:
         return False
     else:
         return True
Beispiel #9
0
 def checkVehicle(self, vehTypeCompDescr):
     if self.mask == 0:
         return True
     if not self._checkVehicleType(vehTypeCompDescr):
         return False
     vehType = vehicles.getVehicleType(vehTypeCompDescr)
     if not self._checkVehicleNation(vehType.id[0]):
         return False
     vehClass = vehicles.getVehicleClass(vehTypeCompDescr)
     vehClassIdx = VEHICLE_CLASS_INDICES[vehClass]
     if not self._checkVehicleClass(vehClassIdx):
         return False
     vehLevel = vehType.level
     return False if not self.checkVehicleLevel(vehClassIdx,
                                                vehLevel) else True
Beispiel #10
0
    def _setVehicleList(self, accountDBID, vehShortList):
        vehs = []
        vehInvIDs = []
        for vehInvID, vehTypeCompDescr in vehShortList:
            classTag = vehicles.getVehicleClass(vehTypeCompDescr)
            vehType = vehicles.getVehicleType(vehTypeCompDescr)
            vehClassIdx = VEHICLE_CLASS_INDICES.get(classTag, _BAD_CLASS_INDEX)
            vehTuple = UnitVehicle(vehInvID, vehTypeCompDescr, vehType.level, vehClassIdx)
            vehs.append(vehTuple)
            vehInvIDs.append(vehInvID)

        self._vehicles[accountDBID] = vehs
        self.storeOp(UNIT_OP.SET_VEHICLE_LIST, accountDBID, vehShortList)
        self._storeNotification(accountDBID, UNIT_NOTIFY_CMD.SET_VEHICLE_LIST, [vehInvIDs])
        self._dirty = 1
        return True
Beispiel #11
0
 def checkVehicle(self, vehTypeCompDescr):
     if self.mask == 0:
         return True
     if not self._checkVehicleType(vehTypeCompDescr):
         return False
     vehType = vehicles.getVehicleType(vehTypeCompDescr)
     if not self._checkVehicleNation(vehType.id[0]):
         return False
     vehClass = vehicles.getVehicleClass(vehTypeCompDescr)
     vehClassIdx = VEHICLE_CLASS_INDICES[vehClass]
     if not self._checkVehicleClass(vehClassIdx):
         return False
     vehLevel = vehType.level
     if not self.checkVehicleLevel(vehClassIdx, vehLevel):
         return False
     return True# decompiled 0 files: 0 okay, 1 failed, 0 verify failed
def showEnemyArtyCooldown(attackerID):
    player = BigWorld.player()
    attacker = player.arena.vehicles.get(attackerID)
    if attacker is None:
        return
    if attacker['vehicleType'] is None:
        return
    if vehicles.getVehicleClass(attacker['vehicleType'].type.compactDescr
                                ) == VEHICLE_CLASS_NAME.SPG:
        if player.team != attacker['team']:
            message = _getL10n(
                battleMessagesConfig['enemyArtyCooldown']['format'])
            message = message.replace(
                '{{arty-tank}}', attacker['vehicleType'].type.shortUserString)
            message = message.replace('{{arty-name}}', attacker['name'])
            player.guiSessionProvider.shared.chatCommands.proto.arenaChat.broadcast(
                message, 0)
 def className(self):
     return getVehicleClass(self._typeDescriptor.type.compactDescr)