'intro': '@ enter design:',
'long': 'Enter design for carried thing as ASCII art.'
},
- 'enter_hat': {
- 'short': 'edit hat',
- 'intro': '@ enter hat line:',
- 'long': 'Draw your hat as ASCII art. The string you enter must be 18 characters long, and will be divided on display into 3 lines of 6 characters each, from top to bottom. Eat cookies to extend the ASCII characters available for drawing.'
- },
'write': {
'short': 'edit tile',
'intro': '',
mode_take_thing = Mode('take_thing', has_input_prompt=True)
mode_drop_thing = Mode('drop_thing', has_input_prompt=True)
mode_enter_face = Mode('enter_face', has_input_prompt=True)
- mode_enter_hat = Mode('enter_hat', has_input_prompt=True)
mode_enter_design = Mode('enter_design', has_input_prompt=True)
is_admin = False
tile_draw = False
self.mode_control_tile_draw.available_actions = ["move_explorer",
"toggle_tile_draw"]
self.mode_edit.available_modes = ["write", "annotate", "portal",
- "name_thing", "enter_face", "enter_hat",
- "enter_design", "password",
+ "name_thing", "enter_face", "enter_design",
+ "password",
"chat", "study", "play", "admin_enter"]
self.mode_edit.available_actions = ["move", "flatten", "install",
"toggle_map_mode"]
'switch_to_admin_thing_protect': 'T',
'flatten': 'F',
'switch_to_enter_face': 'f',
- 'switch_to_enter_hat': 'H',
'switch_to_enter_design': 'D',
'switch_to_take_thing': 'z',
'switch_to_drop_thing': 'u',
elif self.mode.name == 'admin_thing_protect':
if hasattr(self.game.player.carrying, 'protection'):
self.input_ = self.game.player.carrying.protection
- elif self.mode.name in {'enter_face', 'enter_hat'}:
+ elif self.mode.name == 'enter_face':
start = self.ascii_draw_stage * 6
end = (self.ascii_draw_stage + 1) * 6
- if self.mode.name == 'enter_face':
- self.input_ = self.game.player.face[start:end]
- elif self.mode.name == 'enter_hat':
- self.input_ = self.game.player.hat[start:end]
+ self.input_ = self.game.player.face[start:end]
elif self.mode.name == 'enter_design':
width = self.game.player.carrying.design[0].x
start = self.ascii_draw_stage * width
return fail('already carrying something')
if mode_name == 'drop_thing' and not self.game.player.carrying:
return fail('not carrying anything droppable')
- if mode_name == 'enter_hat' and not hasattr(self.game.player, 'hat'):
- return fail('not wearing hat to edit', 'edit')
if mode_name == 'enter_design' and\
(not self.game.player.carrying or
not hasattr(self.game.player.carrying, 'design')):
['HERE'] + list(self.game.tui.movement_keys.values())
for i in range(len(self.selectables)):
self.log_msg(str(i) + ': ' + self.selectables[i])
- elif self.mode.name == 'enter_hat':
- self.log_msg('legal characters: ' + self.game.players_hat_chars)
+ elif self.mode.name == 'enter_design':
+ self.log_msg('@ The design you enter must be %s lines of max %s '
+ 'characters width each'
+ % (self.game.player.carrying.design[0].y,
+ self.game.player.carrying.design[0].x))
+ if self.game.player.carrying.type_ == 'Hat':
+ self.log_msg('@ Legal characters: ' + self.game.players_hat_chars)
+ self.log_msg('@ (Eat cookies to extend the ASCII characters available for drawing.)')
elif self.mode.name == 'command_thing':
self.send('TASK:COMMAND ' + quote('HELP'))
elif self.mode.name == 'control_pw_pw':
info_to_cache += t.face[6:12] + '\n'
info_to_cache += t.face[12:18] + '\n'
if hasattr(t, 'design'):
- import textwrap
line_length = t.design[0].x
- wrapper = textwrap.TextWrapper(drop_whitespace=False,
- width=line_length)
- lines = wrapper.wrap(t.design[1])
+ lines = []
+ for i in range(t.design[0].y):
+ start = i * line_length
+ end = (i + 1) * line_length
+ lines += [t.design[1][start:end]]
if t.type_ == 'Sign':
info_to_cache += '-' * (line_length + 4) + '\n'
- for line in lines:
- info_to_cache += '| %s |\n' % line
- if t.type_ == 'Sign':
+ for line in lines:
+ info_to_cache += '| %s |\n' % line
info_to_cache += '-' * (line_length + 4) + '\n'
+ else:
+ for line in lines:
+ info_to_cache += '%s\n' % line
terrain_char = self.game.map_content[pos_i]
terrain_desc = '?'
if terrain_char in self.game.terrains:
self.input_ = ""
elif self.mode.name == 'enter_face' and key == '\n':
enter_ascii_art('PLAYER_FACE', 3, 6)
- elif self.mode.name == 'enter_hat' and key == '\n':
- enter_ascii_art('PLAYER_HAT', 3, 6)
elif self.mode.name == 'enter_design' and key == '\n':
enter_ascii_art('THING_DESIGN',
self.game.player.carrying.design[0].y,