+
+def cmd_THING_CRATE_ITEM(game, crate_id, item_id):
+ crate = game.get_thing(crate_id)
+ if not crate:
+ raise GameError('thing of ID %s not found' % crate_id)
+ if crate.type_ != 'Crate':
+ raise GameError('thing of ID %s not a crate' % crate_id)
+ item = game.get_thing(item_id)
+ if not item:
+ raise GameError('thing of ID %s not found' % item_id)
+ if item.type_ == 'Crate':
+ raise GameError('thing of ID %s is a crate' % item_id)
+ crate.accept(item)
+cmd_THING_CRATE_ITEM.argtypes = 'int:pos int:pos'
+
+def cmd_MAP_CONTROL_PRESETS(game, draw_control_presets):
+ game.draw_control_presets = draw_control_presets
+cmd_MAP_CONTROL_PRESETS.argtypes = 'bool'
+
+def cmd_THING_SPAWNPOINT_CREATED(game, spawnpoint_id, timestamp):
+ import datetime
+ spawnpoint = game.get_thing(spawnpoint_id)
+ if not spawnpoint:
+ raise GameError('thing of ID %s not found' % spawnpoint_id)
+ if spawnpoint.type_ != 'SpawnPoint':
+ raise GameError('thing of ID %s not a SpawnPoint' % spawnpoint_id)
+ if timestamp == 0:
+ spawnpoint.temporary = False
+ else:
+ spawnpoint.temporary = True
+ spawnpoint.created_at = datetime.datetime.fromtimestamp(timestamp)
+cmd_THING_SPAWNPOINT_CREATED.argtypes = 'int:pos int:nonneg'