def hasLockMode(self): isBS = prb_control.isBattleSession() if isBS: isBSVehicleLockMode = bool(prb_control.getPrebattleSettings()[PREBATTLE_SETTING_NAME.VEHICLE_LOCK_MODE]) if isBSVehicleLockMode and self.clanLock > 0: return True return False
def createFunctional(self, dispatcher, ctx): clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_control.getPrebattleSettings(prebattle=clientPrb) prbType = prb_control.getPrebattleType(settings=prbSettings) clazz = None if prbType in _SUPPORTED_FUNCTIONAL: clazz = _SUPPORTED_FUNCTIONAL[prbType] if clazz: prbFunctional = clazz(prbSettings) for listener in dispatcher._globalListeners: prbFunctional.addListener(listener()) createParams = ctx.getCreateParams() if 'settings' in createParams and isStatefulFunctional(prbFunctional): guiSettings = createParams['settings'] if guiSettings: prbFunctional.applyStates(guiSettings.get(CTRL_ENTITY_TYPE.PREBATTLE)) else: LOG_ERROR('Prebattle with given type is not supported', prbType) prbFunctional = PrbNotSupportedFunctional(prbSettings) else: prbFunctional = PrbInitFunctional() else: prbType = ctx.getPrbType() clazz = None if prbType in _SUPPORTED_INTRO: clazz = _SUPPORTED_INTRO[prbType] if clazz is None: clazz = NoPrbFunctional prbFunctional = clazz() return prbFunctional
def _canAddPlayers(self): clientPrb = prb_control.getClientPrebattle() result = False if clientPrb is not None: settings = prb_control.getPrebattleSettings(prebattle=clientPrb) rosters = prb_control.getPrebattleRosters(prebattle=clientPrb) result, _ = MaxCount().check(rosters, 1, settings.getTeamLimits(1)) return result
def canAssignToTeam(self, team = 1): clientPrb = prb_control.getClientPrebattle() result = False if clientPrb is not None: settings = prb_control.getPrebattleSettings(prebattle=clientPrb) rosters = prb_control.getPrebattleRosters(prebattle=clientPrb) prbType = prb_control.getPrebattleType(clientPrb, settings) result, _ = TeamNoPlayersInBattle(prbType).check(rosters, team, settings.getTeamLimits(team)) return result
def canAssignToTeam(self, team=1): clientPrb = prb_control.getClientPrebattle() result = False if clientPrb is not None: settings = prb_control.getPrebattleSettings(prebattle=clientPrb) rosters = prb_control.getPrebattleRosters(prebattle=clientPrb) prbType = prb_control.getPrebattleType(clientPrb, settings) result, _ = TeamNoPlayersInBattle(prbType).check( rosters, team, settings.getTeamLimits(team)) return result
def createPrbFunctional(dispatcher): clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_control.getPrebattleSettings(prebattle=clientPrb) prbType = prb_control.getPrebattleType(settings=prbSettings) if prbType in _SUPPORTED_PREBATTLE: prbFunctional = _SUPPORTED_PREBATTLE[prbType][1](prbSettings) for listener in dispatcher._globalListeners: prbFunctional.addListener(listener()) else: LOG_ERROR("Prebattle with given type is not supported", prbType) prbFunctional = PrbNotSupportedFunctional(prbSettings) else: prbFunctional = PrbInitFunctional() else: prbFunctional = NoPrbFunctional() return prbFunctional
def createPrbFunctional(dispatcher): clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_control.getPrebattleSettings(prebattle=clientPrb) prbType = prb_control.getPrebattleType(settings=prbSettings) if prbType in _SUPPORTED_PREBATTLE: prbFunctional = _SUPPORTED_PREBATTLE[prbType][1](prbSettings) for listener in dispatcher._globalListeners: prbFunctional.addListener(listener()) else: LOG_ERROR('Prebattle with given type is not supported', prbType) prbFunctional = PrbNotSupportedFunctional(prbSettings) else: prbFunctional = PrbInitFunctional() else: prbFunctional = NoPrbFunctional() return prbFunctional
def createFunctional(self, dispatcher, ctx): clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_control.getPrebattleSettings( prebattle=clientPrb) prbType = prb_control.getPrebattleType(settings=prbSettings) clazz = None if prbType in _SUPPORTED_FUNCTIONAL: clazz = _SUPPORTED_FUNCTIONAL[prbType] if clazz: prbFunctional = clazz(prbSettings) for listener in dispatcher._globalListeners: prbFunctional.addListener(listener()) createParams = ctx.getCreateParams() if 'settings' in createParams and isStatefulFunctional( prbFunctional): guiSettings = createParams['settings'] if guiSettings: prbFunctional.applyStates( guiSettings.get(CTRL_ENTITY_TYPE.PREBATTLE)) else: LOG_ERROR('Prebattle with given type is not supported', prbType) prbFunctional = PrbNotSupportedFunctional(prbSettings) else: prbFunctional = PrbInitFunctional() else: prbType = ctx.getPrbType() clazz = None if prbType in _SUPPORTED_INTRO: clazz = _SUPPORTED_INTRO[prbType] if clazz is None: clazz = NoPrbFunctional prbFunctional = clazz() return prbFunctional
def getTeamLimits(self): return getPrebattleSettings().getTeamLimits(self.getPlayerTeam())