Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-08-01 22:06:11 +0000
committerStijn Buys <ingar@osirion.org>2008-08-01 22:06:11 +0000
commitf831477c2502b7a2b32cd1fe1b6678a9c87d3fda (patch)
treecae0d1c20354ee9df4eccce2b3763c95c18bf525 /src/game/game.cc
parentd2f36485dd3fbda7c9eb212ac9ffde919af5f8e1 (diff)
jumpdrive countdown
Diffstat (limited to 'src/game/game.cc')
-rw-r--r--src/game/game.cc37
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 --------------------------------------------- */