diff options
author | Stijn Buys <ingar@osirion.org> | 2008-08-01 22:06:11 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-08-01 22:06:11 +0000 |
commit | f831477c2502b7a2b32cd1fe1b6678a9c87d3fda (patch) | |
tree | cae0d1c20354ee9df4eccce2b3763c95c18bf525 /src/game/game.cc | |
parent | d2f36485dd3fbda7c9eb212ac9ffde919af5f8e1 (diff) |
jumpdrive countdown
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 --------------------------------------------- */ |