diff options
Diffstat (limited to 'crawl-ref/source/acr.cc')
-rw-r--r-- | crawl-ref/source/acr.cc | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc index eccf7272c0..a873ddc5c9 100644 --- a/crawl-ref/source/acr.cc +++ b/crawl-ref/source/acr.cc @@ -2153,12 +2153,27 @@ void process_command( command_type cmd ) case CMD_INTERLEVEL_TRAVEL: if (Options.tut_travel) Options.tut_travel = 0; + if (!can_travel_interlevel()) { - mpr("Sorry, you can't auto-travel out of here."); - break; + if (you.running.x == you.x_pos && you.running.y == you.running.y) + { + mpr("You're already here."); + break; + } + else if (!you.running.x || !you.running.y) + { + mpr("Sorry, you can't auto-travel out of here."); + break; + } + + // Don't ask for a destination if you can only travel + // within level anyway. + start_travel(you.running.x, you.running.y); } - start_translevel_travel(); + else + start_translevel_travel(); + if (you.running) mesclr(); break; |