X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/balance2?a=blobdiff_plain;f=rogue_chat_curses.py;h=f75877aff1af88ca76cdf0e228c58cac01a69f1c;hb=836f37cfc14cd1a27ac5aee1f8465925a7ed87c4;hp=f10c79650020d615ff2480ff26af0b5a384347ba;hpb=80814ef774cbdf10820001490aa45681af44056f;p=plomrogue2 diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index f10c796..f75877a 100755 --- a/rogue_chat_curses.py +++ b/rogue_chat_curses.py @@ -628,21 +628,23 @@ class TUI: self.map_mode = 'terrain only' def switch_mode(self, mode_name): + + def fail(msg): + self.log_msg('? ' + msg) + self.flash = True + self.switch_mode('play') + if self.mode and self.mode.name == 'control_tile_draw': self.log_msg('@ finished tile protection drawing.') self.tile_draw = False if mode_name == 'command_thing' and\ (not self.game.player.carrying or not self.game.player.carrying.commandable): - self.log_msg('? not carrying anything commandable') - self.flash = True - self.switch_mode('play') - return + return fail('not carrying anything commandable') + if mode_name == 'take_thing' and self.game.player.carrying: + return fail('already carrying something') if mode_name == 'drop_thing' and not self.game.player.carrying: - self.log_msg('? not carrying anything droppable') - self.flash = True - self.switch_mode('play') - return + return fail('not carrying anything droppable') if mode_name == 'admin_enter' and self.is_admin: mode_name = 'admin' elif mode_name in {'name_thing', 'admin_thing_protect'}: @@ -653,9 +655,7 @@ class TUI: thing = t break if not thing: - self.flash = True - self.log_msg('? not standing over thing') - return + return fail('not standing over thing') else: self.thing_selected = thing self.mode = getattr(self, 'mode_' + mode_name) @@ -693,10 +693,7 @@ class TUI: self.selectables = [t.id_ for t in self.game.things if t.portable and t.position in select_range] if len(self.selectables) == 0: - self.log_msg('none') - self.flash = True - self.switch_mode('play') - return + return fail('nothing to pick-up') else: for i in range(len(self.selectables)): t = self.game.get_thing(self.selectables[i])