X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=plomrogue%2Fcommands.py;h=07bfae0e1b905f8141fe281d1c475b44fcd400e0;hb=a81ea397900267331c15c1cda5d349b22a49ea16;hp=f2e479e17cc0bfbecac54c8f485f9e1d8ddfcb3f;hpb=089f09f75ae957e2483da10f0dbeac299217688c;p=plomrogue2
diff --git a/plomrogue/commands.py b/plomrogue/commands.py
index f2e479e..07bfae0 100644
--- a/plomrogue/commands.py
+++ b/plomrogue/commands.py
@@ -1,5 +1,5 @@
from plomrogue.misc import quote
-from plomrogue.errors import GameError
+from plomrogue.errors import GameError, ArgError
@@ -36,7 +36,6 @@ def cmd_SPAWN_POINT(game, big_yx, little_yx):
cmd_SPAWN_POINT.argtypes = 'yx_tuple yx_tuple:nonneg'
def cmd_LOGIN(game, nick, connection_id):
- # TODO filter newlines
for t in [t for t in game.things if t.type_ == 'Player' and t.name == nick]:
raise GameError('name already in use')
if game.get_player(connection_id):
@@ -152,6 +151,8 @@ def cmd_TURN(game, n):
cmd_TURN.argtypes = 'int:nonneg'
def cmd_ANNOTATE(game, yx, msg, pw, connection_id):
+ if len(msg) > 500:
+ raise ArgError('annotation text must be <= 500 characters')
player = game.get_player(connection_id)
big_yx, little_yx = player.fov_stencil.source_yxyx(yx)
if not player.fov_test(big_yx, little_yx):
@@ -201,18 +202,6 @@ def cmd_GOD_PORTAL(game, big_yx, little_yx, msg):
game.changed = True
cmd_GOD_PORTAL.argtypes = 'yx_tuple yx_tuple:nonneg string'
-def cmd_GET_ANNOTATION(game, yx, connection_id):
- player = game.get_player(connection_id)
- big_yx, little_yx = player.fov_stencil.source_yxyx(yx)
- annotation = '(unknown)'
- if player.fov_test(big_yx, little_yx):
- annotation = '(none)'
- if big_yx in game.annotations:
- if little_yx in game.annotations[big_yx]:
- annotation = game.annotations[big_yx][little_yx]
- game.io.send('ANNOTATION %s %s' % (yx, quote(annotation)))
-cmd_GET_ANNOTATION.argtypes = 'yx_tuple:nonneg'
-
def cmd_MAP_LINE(game, big_yx, y, line):
map_ = game.get_map(big_yx)
map_.set_line(y, line)