home · contact · privacy
Remove filter-TODO now fulfilled directly in parser.
[plomrogue2] / plomrogue / commands.py
index 0638cb86e7517445511873a678feed95ad89d368..dc2e6ead099deb9c2a873f93e3309bd327d7d464 100644 (file)
@@ -96,7 +96,7 @@ def cmd_THING_PROTECTION(game, thing_id, protection_char, connection_id):
     if not t:
         raise GameError('thing of ID %s not found' % thing_id)
     t.protection = protection_char
-    game.changed = True
+    #game.changed = True
 cmd_THING_PROTECTION.argtypes = 'int:pos char'
 
 def cmd_SET_MAP_CONTROL_PASSWORD(game, tile_class, password, connection_id):
@@ -108,7 +108,7 @@ def cmd_SET_MAP_CONTROL_PASSWORD(game, tile_class, password, connection_id):
     if tile_class == '.':
         raise GameError('tile class "." must remain unprotected')
     game.map_control_passwords[tile_class] = password
-    game.changed = True
+    #game.changed = True
 cmd_SET_MAP_CONTROL_PASSWORD.argtypes = 'char string'
 
 def cmd_NICK(game, nick, connection_id):
@@ -305,3 +305,12 @@ def cmd_THING_MUSICPLAYER_PLAYLIST_ITEM(game, thing_id, title, length):
         raise GameError('thing of ID %s not music player' % thing_id)
     t.playlist += [(title, length)]
 cmd_THING_MUSICPLAYER_PLAYLIST_ITEM.argtypes = 'int:pos string int:pos'
+
+def cmd_THING_BOTTLE_EMPTY(game, thing_id):
+    t = game.get_thing(thing_id)
+    if not t:
+        raise GameError('thing of ID %s not found' % thing_id)
+    if not t.type_ == 'Bottle':
+        raise GameError('thing of ID %s not bottle' % thing_id)
+    t.empty()
+cmd_THING_BOTTLE_EMPTY.argtypes = 'int:pos'