X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=plomrogue%2Fcommands.py;h=643988e63258a49480b185450a6d6632cfe86734;hb=ee3263e4b0bbc9146040c58bb3ed9bb1653102c1;hp=3b2464b42baa6d7c429832ea34138c970d00570d;hpb=2ce340a97606c970eb1d6dd8cccee7a2d12c6c05;p=plomrogue2 diff --git a/plomrogue/commands.py b/plomrogue/commands.py index 3b2464b..643988e 100644 --- a/plomrogue/commands.py +++ b/plomrogue/commands.py @@ -4,7 +4,7 @@ from plomrogue.mapping import YX, MapGeometrySquare, MapGeometryHex, Map -# TODO: instead of sending tasks and thing types on request, send them on connection +# TODO: instead of sending tasks, thing types etc. on request, send them on connection def cmd_TASKS(game, connection_id): tasks = [] @@ -13,10 +13,16 @@ cmd_TASKS.argtypes = '' def cmd_THING_TYPES(game, connection_id): for t_t in game.thing_types.values(): - game.io.send('THING_TYPE %s %s' % (t_t.get_type(), t_t.symbol_hint), + game.io.send('THING_TYPE %s %s' % (t_t.get_type(), quote(t_t.symbol_hint)), connection_id) cmd_THING_TYPES.argtypes = '' +def cmd_TERRAINS(game, connection_id): + for t in game.terrains.keys(): + game.io.send('TERRAIN %s %s' % (quote(t), quote(game.terrains[t])), + connection_id) +cmd_TERRAINS.argtypes = '' + def cmd_ALL(game, msg, connection_id): def lower_msg_by_volume(msg, volume): @@ -211,3 +217,10 @@ def cmd_THING(game, yx, thing_type, thing_id): game.things += [t_new] game.changed = True cmd_THING.argtypes = 'yx_tuple:nonneg string:thing_type int:nonneg' + +def cmd_THING_NAME(game, thing_id, name): + t = game.get_thing(thing_id) + if not t: + raise GameError('thing of ID %s not found' % thing_id) + t.name = name +cmd_THING_NAME.argtypes = 'int:pos string'