def __doChangeSetting(self, item, entityName = None, avatar = None): result, error = item.canActivate(entityName, avatar) if result and avatar_getter.isPlayerOnArena(avatar): if item.getStage() == EQUIPMENT_STAGES.PREPARING: item.deactivate() else: forEach(lambda e: e.deactivate(), [ e for e in self._equipments.itervalues() if e.getStage() == EQUIPMENT_STAGES.PREPARING ]) item.activate(entityName, avatar) return (result, error)
def sendReloadingCommand(self): if not avatar_getter.isPlayerOnArena(): return state = self.__ammo.getGunReloadingState() command = self.proto.battleCmd.create4Reload(self.__ammo.getGunSettings().isCassetteClip(), math.ceil(state.getTimeLeft()), self.__ammo.getShellsQuantityLeft()) if command: self.__sendChatCommand(command) else: LOG_ERROR('Can not create reloading command')
def changeSetting(self, intCD, avatar = None): if not avatar_getter.isVehicleAlive(avatar): return False code = self.getNextSettingCode(intCD) if code is None: return False avatar_getter.updateVehicleSetting(code, intCD, avatar) if avatar_getter.isPlayerOnArena(avatar): avatar_getter.changeVehicleSetting(code, intCD, avatar) return True
def changeSetting(self, intCD, avatar=None): if not avatar_getter.isVehicleAlive(avatar): return False code = self.getNextSettingCode(intCD) if code is None: return False avatar_getter.updateVehicleSetting(code, intCD, avatar) if avatar_getter.isPlayerOnArena(avatar): avatar_getter.changeVehicleSetting(code, intCD, avatar) return True
def sendReloadingCommand(self): if not avatar_getter.isPlayerOnArena(): return state = self.__ammo.getGunReloadingState() if state.getValueType() != GUN_RELOADING_VALUE_TYPE.TIME: LOG_ERROR('Chat reloading command is not allowed') return command = self.proto.battleCmd.create4Reload(self.__ammo.getGunSettings().isCassetteClip(), math.ceil(state.getTimeLeft()), self.__ammo.getShellsQuantityLeft()) if command: self.__sendChatCommand(command) else: LOG_ERROR('Can not create reloading command')
def sendReloadingCommand(self): if not avatar_getter.isPlayerOnArena(): return inputHandler = avatar_getter.getInputHandler() if not inputHandler: return aim = inputHandler.aim if not aim: return command = self.proto.battleCmd.create4Reload(aim.isCasseteClip(), math.ceil(aim.getReloadingTimeLeft()), aim.getAmmoQuantityLeft()) if command: self.__sendChatCommand(command) else: LOG_ERROR('Can not create reloading command')
def __doChangeSetting(self, item, entityName=None, avatar=None): result, error = item.canActivate(entityName, avatar) if result and avatar_getter.isPlayerOnArena(avatar): if item.getStage() == EQUIPMENT_STAGES.PREPARING: item.deactivate() else: curCtrl = BigWorld.player().inputHandler.ctrl if curCtrl is not None and curCtrl.isEnabled: self.__preferredPosition = curCtrl.getDesiredShotPoint( ignoreAimingMode=True) forEach(lambda e: e.deactivate(), [ e for e in self._equipments.itervalues() if e.getStage() == EQUIPMENT_STAGES.PREPARING ]) item.activate(entityName, avatar) return (result, error)