Source code for piqueserver.core_commands.player

from piqueserver.commands import (
    command, get_player, PermissionDenied, player_only, target_player)


[docs]@command("client", "cli") @target_player def client(connection, player): """ Tell you information about your client or the client of a given player /client [player] """ if connection is player: who_is = "You are" else: who_is = player.name + " is" return "{} connected with {}".format(who_is, player.client_string)
[docs]@command() def weapon(connection, value): """ Tell you what weapon a given player is using /weapon <player> """ player = get_player(connection.protocol, value) if player.weapon_object is None: name = '(unknown)' else: name = player.weapon_object.name return '%s has a %s' % (player.name, name)
[docs]@command() @player_only def intel(connection): """ Inform you of who has the enemy intel /intel """ flag = connection.team.other.flag if flag.player is not None: if flag.player is connection: return "You have the enemy intel, return to base!" else: return "%s has the enemy intel!" % flag.player.name return "Nobody in your team has the enemy intel"
[docs]@command() def kill(connection, value=None): """ Kill yourself or a given player /kill [target] """ if value is None: player = connection else: if not connection.rights.kill and not connection.admin: raise PermissionDenied("you can't kill other players") player = get_player(connection.protocol, value, False) player.kill() if connection is not player: message = '%s killed %s' % (connection.name, player.name) connection.protocol.broadcast_chat(message, irc=True)
[docs]@command(admin_only=True) @target_player def heal(connection, player): """ Heal and refill yourself or a given player and inform everyone on the server of this action /heal [player] """ if connection is player: message = '%s was healed' % (connection.name) else: message = '%s was healed by %s' % (player.name, connection.name) player.refill() connection.protocol.broadcast_chat(message, irc=True)
[docs]@command() def deaf(connection, value=None): """ Make you or a given player no longer receive chat messages /deaf [player] """ if value is not None: if not connection.admin and not connection.rights.deaf: return 'No administrator rights!' connection = get_player(connection.protocol, value) message = '%s deaf' % ('now' if not connection.deaf else 'no longer') connection.protocol.irc_say('%s is %s' % (connection.name, message)) message = "You're " + message if connection.deaf: connection.deaf = False connection.send_chat(message) else: connection.send_chat(message) connection.deaf = True