def _createByAccountState(self, ctx): created = None clientPrb = prb_getters.getClientPrebattle() if clientPrb is not None: if prb_getters.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_getters.getPrebattleSettings( prebattle=clientPrb) prbType = prb_getters.getPrebattleType(settings=prbSettings) clazz = None if prbType in _SUPPORTED_FUNCTIONAL: clazz = _SUPPORTED_FUNCTIONAL[prbType] ctx.removeFlags(FUNCTIONAL_FLAG.PREBATTLE_BITMASK) ctx.addFlags(FUNCTIONAL_FLAG.PREBATTLE) if clazz: created = clazz(prbSettings) else: LOG_ERROR('Prebattle with given type is not supported', prbType) created = not_supported.NotSupportedFunctional() elif not ctx.hasFlags(FUNCTIONAL_FLAG.PREBATTLE_INIT): ctx.removeFlags(FUNCTIONAL_FLAG.PREBATTLE_BITMASK) ctx.addFlags(FUNCTIONAL_FLAG.PREBATTLE_INIT) created = default.PrbInitFunctional() else: created = self._createByPrbType(ctx) return created
def __init__(self, pID, roster, group, waitingID=''): super(GroupAssignLegacyCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__group = group self.__pID = pID self.__roster = roster
def __init__(self, isReadyState, isInitial=False, waitingID=''): super(SetPlayerStateCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__isReadyState = isReadyState self.__isInitial = isInitial self.__errorString = ''
def __init__(self, pID, roster, waitingID=''): super(AssignLegacyCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__pID = pID self.__roster = roster self.__errorString = ''
def __init__(self, roster, fLane, tLane, waitingID=''): super(GroupSwapInTeamLegacyCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__roster = roster self.__fromLane = fLane self.__toLane = tLane
def join(self, ctx, callback=None): if prb_getters.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_join(ctx.getID()) else: LOG_ERROR( 'First, player has to confirm exit from the current prebattle', prb_getters.getPrebattleType()) if callback: callback(False) return
def __init__(self, team, isReadyState, waitingID='', isForced=True, gamePlayMask=0): super(SetTeamStateCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID, isForced=isForced) self.__team = team self.__isReadyState = isReadyState self.__gamePlayMask = gamePlayMask
def canAssignToTeam(self, team = 1): result = super(BattleSessionPrbPermissions, self).canAssignToTeam(team) if not result: return False else: clientPrb = prb_getters.getClientPrebattle() result = False if clientPrb is not None: settings = prb_getters.getPrebattleSettings(prebattle=clientPrb) rosters = prb_getters.getPrebattleRosters(prebattle=clientPrb) prbType = prb_getters.getPrebattleType(clientPrb, settings) result, _ = limits.TeamNoPlayersInBattle(prbType).check(rosters, team, settings.getTeamLimits(team)) return result
def canAssignToTeam(self, team = 1): result = super(BattleSessionPermissions, self).canAssignToTeam(team) if not result: return False else: clientPrb = prb_getters.getClientPrebattle() result = False if clientPrb is not None: settings = prb_getters.getPrebattleSettings(prebattle=clientPrb) rosters = prb_getters.getPrebattleRosters(prebattle=clientPrb) prbType = prb_getters.getPrebattleType(clientPrb, settings) result, _ = TeamNoPlayersInBattle(prbType).check(rosters, team, settings.getTeamLimits(team)) return result
def __createByAccountState(self, ctx): clientPrb = prb_getters.getClientPrebattle() if clientPrb is not None: if prb_getters.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_getters.getPrebattleSettings( prebattle=clientPrb) prbType = prb_getters.getPrebattleType(settings=prbSettings) clazz = None clazz = collectLegacyEntity(prbType) if clazz: return clazz(prbSettings) else: return LegacyInitEntity() return self.__createByPrbType(ctx)
def create(self, ctx, callback=None): if prb_cooldown.validatePrbCreationCooldown(): if callback is not None: callback(False) elif prb_getters.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createCompany(ctx.isOpened(), ctx.getComment(), ctx.getDivision()) prb_cooldown.setPrbCreationCooldown() else: LOG_ERROR( 'First, player has to confirm exit from the current prebattle', prb_getters.getPrebattleType()) if callback is not None: callback(False) return
def create(self, ctx, callback=None): if not isinstance(ctx, EpicTrainingSettingsCtx): LOG_ERROR('Invalid context to create training', ctx) if callback is not None: callback(False) elif not self.canCreate(): if callback is not None: callback(False) elif prb_getters.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createEpicTrainingBattle( ctx.getArenaTypeID(), ctx.getRoundLen(), ctx.isOpened(), ctx.getComment()) cooldown.setPrbCreationCooldown() else: LOG_ERROR( 'First, player has to confirm exit from the current prebattle', prb_getters.getPrebattleType()) if callback is not None: callback(False) return
def __createByAccountState(self, ctx): """ Tries to create entity by current account state. Args: ctx: creation request context. Returns: new prebattle legacy entity """ clientPrb = prb_getters.getClientPrebattle() if clientPrb is not None: if prb_getters.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_getters.getPrebattleSettings(prebattle=clientPrb) prbType = prb_getters.getPrebattleType(settings=prbSettings) clazz = None if prbType in _SUPPORTED_ENTITY: clazz = _SUPPORTED_ENTITY[prbType] if clazz: return clazz(prbSettings) else: return LegacyInitEntity() return self.__createByPrbType(ctx)
def _createByAccountState(self, ctx): created = None clientPrb = prb_getters.getClientPrebattle() if clientPrb is not None: if prb_getters.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_getters.getPrebattleSettings(prebattle=clientPrb) prbType = prb_getters.getPrebattleType(settings=prbSettings) clazz = None if prbType in _SUPPORTED_FUNCTIONAL: clazz = _SUPPORTED_FUNCTIONAL[prbType] ctx.removeFlags(FUNCTIONAL_FLAG.PREBATTLE_BITMASK) ctx.addFlags(FUNCTIONAL_FLAG.PREBATTLE) if clazz: created = clazz(prbSettings) else: LOG_ERROR('Prebattle with given type is not supported', prbType) created = not_supported.NotSupportedFunctional() elif not ctx.hasFlags(FUNCTIONAL_FLAG.PREBATTLE_INIT): ctx.removeFlags(FUNCTIONAL_FLAG.PREBATTLE_BITMASK) ctx.addFlags(FUNCTIONAL_FLAG.PREBATTLE_INIT) created = default.PrbInitFunctional() else: created = self._createByPrbType(ctx) return created
def __init__(self, isReadyState, waitingID = ''): super(SetPlayerStateCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__isReadyState = isReadyState
def __init__(self, **kwargs): super(SwapTeamsCtx, self).__init__(entityType=prb_getters.getPrebattleType(), **kwargs)
def __init__(self, pID, roster, waitingID = ''): super(AssignPrbCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__pID = pID self.__roster = roster
def __init__(self, team, isReadyState, waitingID = '', isForced = True, gamePlayMask = 0): super(SetTeamStateCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID, isForced=isForced) self.__team = team self.__isReadyState = isReadyState self.__gamePlayMask = gamePlayMask
def __init__(self, pID, waitingID = ''): super(KickPlayerCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__pID = pID
def __init__(self, lane, waitingID=''): super(GroupSwapBetweenTeamLegacyCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__lane = lane
def join(self, ctx, callback = None): if prb_getters.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_join(ctx.getID()) else: LOG_ERROR('First, player has to confirm exit from the current prebattle', prb_getters.getPrebattleType()) if callback: callback(False) return
def __init__(self, comment, waitingID = ''): super(ChangeCommentCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__comment = truncate_utf8(comment, PREBATTLE_COMMENT_MAX_LENGTH)
def __init__(self, division, waitingID=''): super(ChangeDivisionCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__division = int(division)
def __init__(self, pID, waitingID=''): super(KickPlayerCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__pID = pID
def __init__(self, comment, waitingID=''): super(ChangeCommentCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__comment = truncate_utf8(comment, PREBATTLE_COMMENT_MAX_LENGTH)
def __init__(self, channels, waitingID = ''): super(ChangeArenaVoipCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__channels = channels
def __init__(self, channels, waitingID = ''): super(ChangeArenaVoipCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__channels = int(channels)
def __init__(self, waitingID = '', flags = _FUNCTIONAL_FLAG.UNDEFINED): super(LeavePrbCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID, flags=flags)
def __init__(self, isOpened, waitingID = ''): super(ChangeOpenedCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__isOpened = isOpened
def create(self, ctx, callback = None): if not isinstance(ctx, prb_ctx.TrainingSettingsCtx): LOG_ERROR('Invalid context to create training', ctx) if callback is not None: callback(False) elif prb_cooldown.validatePrbCreationCooldown(): if callback is not None: callback(False) elif prb_getters.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createTraining(ctx.getArenaTypeID(), ctx.getRoundLen(), ctx.isOpened(), ctx.getComment()) prb_cooldown.setPrbCreationCooldown() else: LOG_ERROR('First, player has to confirm exit from the current prebattle', prb_getters.getPrebattleType()) if callback is not None: callback(False) return
def __init__(self, division, waitingID = ''): super(ChangeDivisionCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__division = int(division)
def __init__(self, isOpened, waitingID=''): super(ChangeOpenedCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID) self.__isOpened = isOpened
def create(self, ctx, callback = None): if prb_cooldown.validatePrbCreationCooldown(): if callback is not None: callback(False) elif prb_getters.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createCompany(ctx.isOpened(), ctx.getComment(), ctx.getDivision()) prb_cooldown.setPrbCreationCooldown() else: LOG_ERROR('First, player has to confirm exit from the current prebattle', prb_getters.getPrebattleType()) if callback is not None: callback(False) return