X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=plomrogue%2Fcommands.py;h=a36f9e6a5a8cc51a6aee35118f2b909dd9f305cd;hb=bf8653594beb9ee94b8e7c4139b2891425a6367b;hp=07bfae0e1b905f8141fe281d1c475b44fcd400e0;hpb=a81ea397900267331c15c1cda5d349b22a49ea16;p=plomrogue2
diff --git a/plomrogue/commands.py b/plomrogue/commands.py
index 07bfae0..a36f9e6 100644
--- a/plomrogue/commands.py
+++ b/plomrogue/commands.py
@@ -285,7 +285,7 @@ def cmd_THING_MUSICPLAYER_SETTINGS(game, thing_id, playing, index, repeat):
t.playing = playing
t.playlist_index = index
t.repeat = repeat
-cmd_THING_MUSICPLAYER_SETTINGS.argtypes = 'int:pos bool int:nonneg bool'
+cmd_THING_MUSICPLAYER_SETTINGS.argtypes = 'int:pos bool int bool'
def cmd_THING_MUSICPLAYER_PLAYLIST_ITEM(game, thing_id, title, length):
t = game.get_thing(thing_id)
@@ -304,3 +304,41 @@ def cmd_THING_BOTTLE_EMPTY(game, thing_id):
raise GameError('thing of ID %s not bottle' % thing_id)
t.empty()
cmd_THING_BOTTLE_EMPTY.argtypes = 'int:pos'
+
+def cmd_THING_INSTALLED(game, thing_id):
+ t = game.get_thing(thing_id)
+ if not t:
+ raise GameError('thing of ID %s not found' % thing_id)
+ if not hasattr(t, 'installable'):
+ raise GameError('thing of ID %s not installable' % thing_id)
+ t.install()
+cmd_THING_INSTALLED.argtypes = 'int:pos'
+
+def cmd_PLAYER_FACE(game, face, connection_id):
+ t = game.get_player(connection_id)
+ if not t:
+ raise GameError('can only draw face when already logged in')
+ if len(face) != 9:
+ raise GameError('wrong face string length')
+ game.faces[t.name] = face
+ game.changed = True
+cmd_PLAYER_FACE.argtypes = 'string'
+
+def cmd_GOD_PLAYER_FACE(game, name, face):
+ game.faces[name] = face
+cmd_GOD_PLAYER_FACE.argtypes = 'string string'
+
+def cmd_GOD_PLAYER_HAT(game, name, hat):
+ game.hats[name] = hat
+cmd_GOD_PLAYER_HAT.argtypes = 'string string'
+
+def cmd_THING_HAT_DESIGN(game, thing_id, design):
+ if len(design) != 9:
+ raise GameError('hat design of wrong length')
+ t = game.get_thing(thing_id)
+ if not t:
+ raise GameError('thing of ID %s not found' % thing_id)
+ if t.type_ != 'Hat':
+ raise GameError('thing of ID %s not a hat' % thing_id)
+ t.design = design
+cmd_THING_HAT_DESIGN.argtypes = 'int:pos string'