diff options
Diffstat (limited to 'src/game/game.cc')
-rw-r--r-- | src/game/game.cc | 37 |
1 files changed, 1 insertions, 36 deletions
diff --git a/src/game/game.cc b/src/game/game.cc index 2f5490f..f95a8ff 100644 --- a/src/game/game.cc +++ b/src/game/game.cc @@ -142,45 +142,10 @@ void func_jump(core::Player *player, std::string const &args) { if (!player->control()) return; - if (!player->control()->moduletype() == ship_enttype) return; - Ship * ship = static_cast<Ship *>(player->control()); - - if (!ship->jumpdrive()) { - core::server()->send(player, "Your ship is not equiped with a jumpdrive"); - return; - } - std::string target; - std::istringstream is(args); - if (!(is >> target)) { - std::string helpstr; - for (core::Zone::Registry::iterator it = core::Zone::registry().begin(); it != core::Zone::registry().end(); it++) { - core::Zone *zone = (*it).second; - if (helpstr.size()) - helpstr.append("^N|^B"); - helpstr.append(zone->label()); - } - - core::server()->send(player, "Usage: jump [^B" + helpstr + "^N]"); - return; - } - - aux::to_lowercase(target); - core::Zone *zone = core::Zone::find_zone(target); - if (!zone) { - core::server()->send(player, "Unknown system '" + target + '\''); - return; - } - - if (zone == player->control()->zone()) - return; - - core::server()->send(player, "Jumping to '" + zone->name() + '\''); - - player->control()->set_zone(zone); - player->set_zone(zone); + ship->jump(args); } /* ---- The Game class --------------------------------------------- */ |