home · contact · privacy
Add server teleportation and :reconnect commands.
[plomrogue2-experiments] / new2 / plomrogue / commands.py
index dc65375417cf46f2e7ea667e9529de1d3e706c4b..3741033be49af5ddaa44f803d072951186442243 100644 (file)
@@ -26,7 +26,7 @@ def cmd_LOGIN(game, nick, connection_id):
         t.position = YX(game.map.size.y // 2, game.map.size.x // 2)
         game.things += [t]  # TODO refactor into Thing.__init__?
         game.sessions[connection_id] = t.id_
-        game.io.send('LOGIN_OK')
+        game.io.send('LOGIN_OK', connection_id)
         t.nickname = nick
         game.io.send('CHAT ' + quote(t.nickname + ' entered the map.'))
         game.io.send('PLAYER_ID %s' % t.id_, connection_id)
@@ -69,6 +69,15 @@ def cmd_ANNOTATE(game, yx, msg, connection_id):
     game.changed = True
 cmd_ANNOTATE.argtypes = 'yx_tuple:nonneg string'
 
+def cmd_PORTAL(game, yx, msg, connection_id):
+    if msg == ' ':
+        if yx in game.portals:
+            del game.portals[yx]
+    else:
+        game.portals[yx] = msg
+    game.changed = True
+cmd_PORTAL.argtypes = 'yx_tuple:nonneg string'
+
 def cmd_GET_ANNOTATION(game, yx, connection_id):
     annotation = '(none)';
     if yx in game.annotations: