home
·
contact
·
privacy
projects
/
plomrogue2
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add terrain descriptions.
[plomrogue2]
/
rogue_chat_curses.py
diff --git
a/rogue_chat_curses.py
b/rogue_chat_curses.py
index 22ebc01aa526831a9c077c1e7f49bb19e213982d..b80a52ae28180d793b0b8d7276baa6f2b0802acf 100755
(executable)
--- a/
rogue_chat_curses.py
+++ b/
rogue_chat_curses.py
@@
-170,6
+170,10
@@
def cmd_THING_TYPE(game, thing_type, symbol_hint):
game.thing_types[thing_type] = symbol_hint
cmd_THING_TYPE.argtypes = 'string char'
game.thing_types[thing_type] = symbol_hint
cmd_THING_TYPE.argtypes = 'string char'
+def cmd_TERRAIN(game, terrain_char, terrain_desc):
+ game.terrains[terrain_char] = terrain_desc
+cmd_TERRAIN.argtypes = 'char string'
+
def cmd_PONG(game):
pass
cmd_PONG.argtypes = ''
def cmd_PONG(game):
pass
cmd_PONG.argtypes = ''
@@
-190,6
+194,7
@@
class Game(GameBase):
self.register_command(cmd_THING_TYPE)
self.register_command(cmd_THING_NAME)
self.register_command(cmd_THING_CHAR)
self.register_command(cmd_THING_TYPE)
self.register_command(cmd_THING_NAME)
self.register_command(cmd_THING_CHAR)
+ self.register_command(cmd_TERRAIN)
self.register_command(cmd_MAP)
self.register_command(cmd_MAP_CONTROL)
self.register_command(cmd_PORTAL)
self.register_command(cmd_MAP)
self.register_command(cmd_MAP_CONTROL)
self.register_command(cmd_PORTAL)
@@
-204,6
+209,7
@@
class Game(GameBase):
self.player_id = -1
self.info_db = {}
self.portals = {}
self.player_id = -1
self.info_db = {}
self.portals = {}
+ self.terrains = {}
def get_string_options(self, string_option_type):
if string_option_type == 'map_geometry':
def get_string_options(self, string_option_type):
if string_option_type == 'map_geometry':
@@
-311,7
+317,9
@@
class TUI:
self.socket_thread.start()
self.disconnected = False
self.game.thing_types = {}
self.socket_thread.start()
self.disconnected = False
self.game.thing_types = {}
+ self.game.terrains = {}
self.socket.send('TASKS')
self.socket.send('TASKS')
+ self.socket.send('TERRAINS')
self.socket.send('THING_TYPES')
self.switch_mode('login')
except ConnectionRefusedError:
self.socket.send('THING_TYPES')
self.switch_mode('login')
except ConnectionRefusedError:
@@
-449,7
+457,11
@@
class TUI:
pos_i = self.explorer.y * self.game.map_geometry.size.x + self.explorer.x
info = 'outside field of view'
if self.game.fov[pos_i] == '.':
pos_i = self.explorer.y * self.game.map_geometry.size.x + self.explorer.x
info = 'outside field of view'
if self.game.fov[pos_i] == '.':
- info = 'TERRAIN: %s\n' % self.game.map_content[pos_i]
+ terrain_char = self.game.map_content[pos_i]
+ terrain_desc = '?'
+ if terrain_char in self.game.terrains:
+ terrain_desc = self.game.terrains[terrain_char]
+ info = 'TERRAIN: "%s" / %s\n' % (terrain_char, terrain_desc)
for t in self.game.things:
if t.position == self.explorer:
info += 'THING: %s / %s' % (t.type_,
for t in self.game.things:
if t.position == self.explorer:
info += 'THING: %s / %s' % (t.type_,
@@
-457,7
+469,7
@@
class TUI:
if hasattr(t, 'player_char'):
info += t.player_char
if hasattr(t, 'name'):
if hasattr(t, 'player_char'):
info += t.player_char
if hasattr(t, 'name'):
- info += ' (
name:
%s)' % t.name
+ info += ' (%s)' % t.name
info += '\n'
if self.explorer in self.game.portals:
info += 'PORTAL: ' + self.game.portals[self.explorer] + '\n'
info += '\n'
if self.explorer in self.game.portals:
info += 'PORTAL: ' + self.game.portals[self.explorer] + '\n'