X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=rogue_chat.html;h=fe78f6b7118571666775d0f15df731ec3b710193;hb=836f37cfc14cd1a27ac5aee1f8465925a7ed87c4;hp=1ba0ff1f6fcf02debf88eaefcc07b2c9e71c3d07;hpb=80814ef774cbdf10820001490aa45681af44056f;p=plomrogue2
diff --git a/rogue_chat.html b/rogue_chat.html
index 1ba0ff1..fe78f6b 100644
--- a/rogue_chat.html
+++ b/rogue_chat.html
@@ -763,22 +763,26 @@ let tui = {
return game.tasks.includes(this.action_tasks[action]);
},
switch_mode: function(mode_name) {
+
+ function fail(msg) {
+ tui.log_msg('? ' + msg);
+ terminal.blink_screen();
+ this.switch_mode('play');
+ }
+
if (this.mode && this.mode.name == 'control_tile_draw') {
tui.log_msg('@ finished tile protection drawing.')
}
this.tile_draw = false;
if (mode_name == 'command_thing' && (!game.player.carrying
|| !game.player.carrying.commandable)) {
- this.log_msg('? not carrying anything commandable');
- terminal.blink_screen();
- this.switch_mode('play');
- return;
+ return fail('not carrying anything commandable');
};
- if (mode_name == 'drop_thing' && (!game.player.carrying)) {
- this.log_msg('? not carrying anything droppable');
- terminal.blink_screen();
- this.switch_mode('play');
- return;
+ if (mode_name == 'take_thing' && game.player.carrying) {
+ return fail('already carrying something');
+ };
+ if (mode_name == 'drop_thing' && !game.player.carrying) {
+ return fail('not carrying anything droppable');
}
if (mode_name == 'admin_enter' && this.is_admin) {
mode_name = 'admin';
@@ -796,9 +800,7 @@ let tui = {
}
}
if (!thing_id) {
- terminal.blink_screen();
- this.log_msg('? not standing over thing');
- return;
+ return fail('not standing over thing');
} else {
this.selected_thing_id = thing_id;
}