def _migrateTo36(core, data, initialized): from account_helpers.settings_core.ServerSettingsManager import SETTINGS_SECTIONS from account_helpers.AccountSettings import AccountSettings default = AccountSettings.getSettingsDefault(GAME.GAMEPLAY_MASK) storedValue = _getSettingsCache().getSectionSettings( SETTINGS_SECTIONS.GAMEPLAY, default) currentMask = storedValue & 65535 import ArenaType newMask = currentMask | ArenaType.getGameplaysMask(('ctf30x30', )) newnewMask = newMask | ArenaType.getGameplaysMask(('domination30x30', )) data['gameplayData'][GAME.GAMEPLAY_MASK] = newnewMask
def _migrateTo38(core, data, initialized): from account_helpers.settings_core.ServerSettingsManager import SETTINGS_SECTIONS from account_helpers.AccountSettings import AccountSettings default = AccountSettings.getSettingsDefault(GAME.GAMEPLAY_MASK) storedValue = _getSettingsCache().getSectionSettings( SETTINGS_SECTIONS.GAMEPLAY, default) currentGameplayMask = storedValue & 65535 import ArenaType epicCtfEnabled = bool(currentGameplayMask & ArenaType.getGameplaysMask(('ctf30x30', ))) dominationEnabled = bool(currentGameplayMask & ArenaType.getGameplaysMask(('domination', ))) if not epicCtfEnabled or not dominationEnabled: currentGameplayMask &= ~ArenaType.getGameplaysMask( ('domination30x30', )) data['gameplayData'][GAME.GAMEPLAY_MASK] = currentGameplayMask data['gameData'][GAME.MINIMAP_ALPHA] = 0 data['gameExtData'][GAME.MINIMAP_ALPHA_ENABLED] = False
def setMaskByNames(names): gameplayNames = {'ctf'} for name in names: if name in ArenaType.g_gameplayNames: gameplayNames.add(name) LOG_ERROR('Gameplay is not available', name) gameplayMask = ArenaType.getGameplaysMask(gameplayNames) LOG_DEBUG('Set gameplay (names, mask)', gameplayNames, gameplayMask) _setMask(gameplayMask)
def getMask(): from account_helpers.settings_core.ServerSettingsManager import SETTINGS_SECTIONS settingsCore = dependency.instance(ISettingsCore) settingsMask = userMask = settingsCore.serverSettings.getSectionSettings( SETTINGS_SECTIONS.GAMEPLAY, 'gameplayMask', getDefaultMask()) ctfMask = ArenaType.getGameplaysMask(('ctf', )) nationsMask = ArenaType.getGameplaysMask(('nations', )) if not userMask: LOG_WARNING('Gameplay is not defined', userMask) else: if userMask & ctfMask == 0: LOG_WARNING('Gameplay "ctf" is not defined', userMask) if userMask & nationsMask: userMask ^= nationsMask LOG_DEBUG('Nations battle mode currently unavailable') userMask |= ctfMask if settingsMask != userMask: _setMask(userMask) return userMask
def setMaskByNames(names): gameplayNames = {'ctf'} for name in names: if name in ArenaType.g_gameplayNames: gameplayNames.add(name) else: LOG_ERROR('Gameplay is not available', name) gameplayMask = ArenaType.getGameplaysMask(gameplayNames) LOG_DEBUG('Set gameplay (names, mask)', gameplayNames, gameplayMask) _setMask(gameplayMask)
def setMaskByNames(names): gameplayNames = {'ctf'} for name in names: if name in ArenaType.g_gameplayNames: gameplayNames.add(name) else: LOG_ERROR('Gameplay is not available', name) gameplayMask = ArenaType.getGameplaysMask(gameplayNames) LOG_DEBUG('Set gameplay (names, mask)', gameplayNames, gameplayMask) from account_helpers.settings_core.SettingsCore import g_settingsCore g_settingsCore.serverSettings.setGameplaySettings({'gameplayMask': gameplayMask})
def _migrateTo6(core, data, initialized): from account_helpers.settings_core.ServerSettingsManager import SETTINGS_SECTIONS storedValue = _getSettingsCache().getSectionSettings( SETTINGS_SECTIONS.GAME, 0) maskOffset = 7168 currentMask = (storedValue & maskOffset) >> 10 import ArenaType newMask = currentMask | ArenaType.getGameplaysMask(('nations', )) data['gameplayData'][GAME.GAMEPLAY_MASK] = newMask clear = data['clear'] clear[SETTINGS_SECTIONS.GAME] = clear.get(SETTINGS_SECTIONS.GAME, 0) | maskOffset
def setMaskByNames(names): gameplayNames = set(['ctf']) for name in names: if name in ArenaType.g_gameplayNames: gameplayNames.add(name) else: LOG_ERROR('Gameplay is not available', name) gameplayMask = ArenaType.getGameplaysMask(gameplayNames) LOG_DEBUG('Set gameplay (names, mask)', gameplayNames, gameplayMask) from account_helpers.SettingsCore import g_settingsCore g_settingsCore.serverSettings.setGameSettings( {'gameplayMask': gameplayMask})
def getDefaultMask(): return ArenaType.getGameplaysMask(ENABLED_ARENA_GAMEPLAY_NAMES)