game.tui.query_info()
player = game.get_thing(game.player_id, False)
if player.position in game.portals:
- host, port = game.portals[player.position].split(':')
- game.tui.teleport_target_host = host
- game.tui.teleport_target_port = port
+ #host, port = game.portals[player.position].split(':')
+ game.tui.teleport_target_host = game.portals[player.position]
+ game.tui.teleport_target_port = 5000
game.tui.switch_mode('teleport')
game.turn_complete = True
game.tui.do_refresh = True
self.log = []
self.do_refresh = True
self.queue = queue.Queue()
+ self.login_name = None
self.switch_mode('waiting_for_server')
curses.wrapper(self.loop)
if self.mode.name == 'waiting_for_server':
self.log_msg('@ waiting for server …')
elif self.mode.name == 'login':
- self.log_msg('@ enter username')
+ if self.login_name:
+ self.send('LOGIN ' + quote(self.login_name))
+ else:
+ self.log_msg('@ enter username')
elif self.mode.name == 'teleport':
self.log_msg("@ May teleport to %s:%s" % (self.teleport_target_host,
self.teleport_target_port));
- self.log_msg("@ Enter 'YES!' to affirm.");
+ self.log_msg("@ Enter 'YES!' to enthusiastically affirm.");
elif self.mode.name == 'annotate' and self.explorer in self.game.info_db:
info = self.game.info_db[self.explorer]
if info != '(none)':
def help(self):
self.log_msg("HELP:");
self.log_msg("chat mode commands:");
- self.log_msg(" :nick NAME - re-name yourself to NAME");
- self.log_msg(" :msg USER TEXT - send TEXT to USER");
- self.log_msg(" :help - show this help");
- self.log_msg(" :p or :play - switch to play mode");
- self.log_msg(" :? or :study - switch to study mode");
+ self.log_msg(" /nick NAME - re-name yourself to NAME");
+ self.log_msg(" /msg USER TEXT - send TEXT to USER");
+ self.log_msg(" /help - show this help");
+ self.log_msg(" /P or /play - switch to play mode");
+ self.log_msg(" /? or /study - switch to study mode");
self.log_msg("commands common to study and play mode:");
- self.log_msg(" w,a,s,d - move");
- self.log_msg(" c - switch to chat mode");
+ if type(self.game.map_geometry) == MapGeometrySquare:
+ self.log_msg(" w,a,s,d - move");
+ elif type(self.game.map_geometry) == MapGeometryHex:
+ self.log_msg(" e,d,c,x,s,w - move");
+ self.log_msg(" C - switch to chat mode");
self.log_msg("commands specific to play mode:");
- self.log_msg(" e - write following ASCII character");
+ self.log_msg(" E - write following ASCII character");
self.log_msg(" f - flatten surroundings");
self.log_msg(" ? - switch to study mode");
self.log_msg("commands specific to study mode:");
- self.log_msg(" e - annotate terrain");
- self.log_msg(" p - switch to play mode");
+ self.log_msg(" E - annotate terrain");
+ self.log_msg(" P - switch to play mode");
def loop(self, stdscr):
def reset_screen_size():
self.size = YX(*stdscr.getmaxyx())
- self.size = self.size - YX(self.size.y % 2, 0)
+ self.size = self.size - YX(self.size.y % 4, 0)
self.size = self.size - YX(0, self.size.x % 4)
self.window_width = int(self.size.x / 2)
indent = 0 if indent else 1
else:
for line in map_lines_split:
- map_lines += [''.join(line)]
+ map_lines += [' '.join(line)]
window_center = YX(int(self.size.y / 2),
int(self.window_width / 2))
player = self.game.get_thing(self.game.player_id, False)
center = player.position
if self.mode.shows_info:
center = self.explorer
- if type(self.game.map_geometry) == MapGeometryHex:
- center = YX(center.y, center.x * 2)
+ center = YX(center.y, center.x * 2)
offset = center - window_center
if type(self.game.map_geometry) == MapGeometryHex and offset.y % 2:
offset += YX(0, 1)
if len(self.input_) > max_length:
self.input_ = self.input_[:max_length]
elif self.mode == self.mode_login and key == '\n':
+ self.login_name = self.input_
self.send('LOGIN ' + quote(self.input_))
self.input_ = ""
elif self.mode == self.mode_chat and key == '\n':
- if self.input_[0] == ':':
- if self.input_ in {':p', ':play'}:
+ if self.input_[0] == '/':
+ if self.input_ in {'/P', '/play'}:
self.switch_mode('play')
- elif self.input_ in {':?', ':study'}:
+ elif self.input_ in {'/?', '/study'}:
self.switch_mode('study')
- if self.input_ == ':help':
+ elif self.input_ == '/help':
self.help()
- if self.input_ == ':reconnect':
+ elif self.input_ == '/reconnect':
reconnect()
- elif self.input_.startswith(':nick'):
+ elif self.input_.startswith('/nick'):
tokens = self.input_.split(maxsplit=1)
if len(tokens) == 2:
self.send('LOGIN ' + quote(tokens[1]))
else:
self.log_msg('? need login name')
- elif self.input_.startswith(':msg'):
+ elif self.input_.startswith('/msg'):
tokens = self.input_.split(maxsplit=2)
if len(tokens) == 3:
self.send('QUERY %s %s' % (quote(tokens[1]),