def onSetTeam(tcn, cn, team): p = player(cn) r = player(tcn) if cn != tcn and not isAtLeastMaster(tcn): insufficientPermissions(tcn) return mode = currentMode() if isSafeTeam(team): execLater(p.suicide, ()) p.setTeam(team) else: r.message( error('You cannot join team \'%s\' in game mode %s' % (team, modeName(currentMode()))))
def onSetTeam(tcn, cn, team): p = player(cn) r = player(tcn) if cn != tcn and not isAtLeastMaster(tcn): insufficientPermissions(tcn) return mode = currentMode() if isSafeTeam(team): execLater(p.suicide, ()) p.setTeam(team) else: r.message(error('You cannot join team \'%s\' in game mode %s' % ( team, modeName(currentMode()) )))
def render_JSON(self, request): clients_response = [] for p in allClients(): client = { 'cn': p.cn, 'name': p.name(), 'frags': p.frags(), 'teamkills': p.teamkills(), 'deaths': p.deaths(), 'privilege': p.privilege(), } try: client['team'] = p.team() except ValueError: client['team'] = 'spectator' try: client['is_verified'] = p.user != None except AttributeError: client['is_verified'] = False clients_response.append(client) return json.dumps({ 'clients': clients_response, 'map': currentMap(), 'mode': modeName(currentMode()) })
def onSwitchTeam(cn, team): p = player(cn) if isSafeTeam(team): execLater(p.suicide, ()) p.setTeam(team) else: p.message( error('You cannot join team \'%s\' in game mode %s' % (team, modeName(currentMode()))))
def isSafeTeam(team): '''Is team safe based on current mode. ex: isSafeTeam('test') would return false in capture mode.''' mode = currentMode() if mode in setteam_modes: return True if mode in switchteam_modes and team in ['good', 'evil']: return True return False
def onSwitchTeam(cn, team): p = player(cn) if isSafeTeam(team): execLater(p.suicide, ()) p.setTeam(team) else: p.message(error('You cannot join team \'%s\' in game mode %s' % ( team, modeName(currentMode()) )))
def clanWar(cn, args): '''@description Start a clan war with current teams @usage map (mode)''' sender = player(cn) if args == '': raise UsageError() else: args = args.split(' ') if len(args) == 1: map = args mode = currentMode() elif len(args) == 2: map = args[0] try: mode = modeNumber(args[1]) except ValueError: raise ArgumentValueError('Invalid game mode') persistentTeams(True) setMap(map, mode) setMasterMode(2) setPaused(True, cn) setFrozen(True) clanWarTimer(10, cn)
def render_JSON(self, request): return json.dumps({ 'map': currentMap(), 'mode': modeName(currentMode()) })