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>2010-09-17 18:58:46 +0000
committerStijn Buys <ingar@osirion.org>2010-09-17 18:58:46 +0000
commit66ce015e5927c30801110acd289310fdff181792 (patch)
tree7beaa6b533eefdd26f0705bd65dfb5c3c9b5996a /src/game/base/game.cc
parentc62fe609a69058e2e30f757e9a06f72a98464232 (diff)
Initial support for players docking other players' ships.
Diffstat (limited to 'src/game/base/game.cc')
-rw-r--r--src/game/base/game.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/game/base/game.cc b/src/game/base/game.cc
index 1d4536a..128ae7c 100644
--- a/src/game/base/game.cc
+++ b/src/game/base/game.cc
@@ -168,6 +168,9 @@ void Game::func_dock(core::Player *player, core::Entity *entity)
if (player->control()->zone() != entity->zone())
return;
+
+ if (player->control() == entity)
+ return;
if ((entity->flags() & core::Entity::Dockable) == 0)
return;
@@ -202,6 +205,8 @@ void Game::func_buy(core::Player *player, const std::string &args)
if (typestr.compare("ship") == 0) {
ShipDealer::func_buy(player, labelstr);
+ } else if (typestr.compare("cargo") == 0) {
+ player->send("Buying cargo is not supported");
} else {
player->send("unkown item type '" + typestr + "'");
}
@@ -915,6 +920,9 @@ bool Game::load_ships()
} else if (shipsini.got_key_bool("jumpdrive", b)) {
shipmodel->set_jumpdrive(b);
continue;
+ } else if (shipsini.got_key_bool("dock", b)) {
+ shipmodel->set_dock(b);
+ continue;
} else if (shipsini.got_key_float("acceleration", f)) {
shipmodel->set_acceleration(f);
continue;