示例#1
0
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()))))
示例#2
0
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())
				)))
示例#3
0
文件: api.py 项目: GunioRobot/xsbs
	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())
			})
示例#4
0
文件: api.py 项目: pguenth/xsbs
 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())
     })
示例#5
0
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()))))
示例#6
0
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
示例#7
0
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
示例#8
0
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())
				)))
示例#9
0
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)
示例#10
0
文件: clanwar.py 项目: pguenth/xsbs
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)
示例#11
0
文件: api.py 项目: GunioRobot/xsbs
	def render_JSON(self, request):
		return json.dumps({
			'map': currentMap(),
			'mode': modeName(currentMode())
			})
示例#12
0
文件: api.py 项目: pguenth/xsbs
 def render_JSON(self, request):
     return json.dumps({
         'map': currentMap(),
         'mode': modeName(currentMode())
     })