-#!/usr/bin/env python3
+e!/usr/bin/env python3
import curses
import queue
import threading
def cmd_THING_CHAR(game, thing_id, c):
t = game.get_thing(thing_id)
if t:
- t.player_char = c
+ t.thing_char = c
cmd_THING_CHAR.argtypes = 'int:nonneg char'
def cmd_MAP(game, geometry, size, content):
import json
self.mode_play.available_modes = ["chat", "study", "edit", "admin_enter"]
self.mode_play.available_actions = ["move", "take_thing", "drop_thing",
- "teleport"]
+ "teleport", "door"]
self.mode_study.available_modes = ["chat", "play", "admin_enter", "edit"]
self.mode_study.available_actions = ["toggle_map_mode", "move_explorer"]
self.mode_admin.available_modes = ["admin_thing_protect", "control_pw_type",
'take_thing': 'z',
'drop_thing': 'u',
'teleport': 'p',
+ 'door': 'D',
'help': 'h',
'toggle_map_mode': 'L',
'toggle_tile_draw': 'm',
if t.position == self.explorer:
protection = t.protection
if protection == '.':
- protection = 'unprotected'
- info += 'THING: %s / protection: %s / %s' %\
- (t.type_, protection, self.game.thing_types[t.type_])
- if hasattr(t, 'player_char'):
- info += t.player_char
+ protection = 'none'
+ info += 'THING: %s / %s' % (t.type_,
+ self.game.thing_types[t.type_])
+ if hasattr(t, 'thing_char'):
+ info += t.thing_char
if hasattr(t, 'name'):
info += ' (%s)' % t.name
- info += '\n'
+ info += ' / protection: %s\n' % protection
if self.explorer in self.game.portals:
info += 'PORTAL: ' + self.game.portals[self.explorer] + '\n'
else:
for t in self.game.things:
symbol = self.game.thing_types[t.type_]
meta_char = ' '
- if hasattr(t, 'player_char'):
- meta_char = t.player_char
+ if hasattr(t, 'thing_char'):
+ meta_char = t.thing_char
if t.position in used_positions:
meta_char = '+'
map_lines_split[t.position.y][t.position.x] = symbol + meta_char
'drop_thing': 'drop thing',
'toggle_map_mode': 'toggle map view',
'toggle_tile_draw': 'toggle protection character drawing',
+ 'door': 'open/close',
}
action_tasks = {
'flatten': 'FLATTEN_SURROUNDINGS',
'take_thing': 'PICK_UP',
'drop_thing': 'DROP',
- 'move': 'MOVE'
+ 'door': 'DOOR',
+ 'move': 'MOVE',
}
curses.curs_set(False) # hide cursor
self.send('TASK:PICK_UP')
elif key == self.keys['drop_thing'] and task_action_on('drop_thing'):
self.send('TASK:DROP')
+ elif key == self.keys['door'] and task_action_on('door'):
+ self.send('TASK:DOOR')
elif key == self.keys['teleport']:
player = self.game.get_thing(self.game.player_id)
if player.position in self.game.portals: