diff options
Diffstat (limited to 'src/game/base/base.cc')
-rw-r--r-- | src/game/base/base.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/game/base/base.cc b/src/game/base/base.cc index 738db04..6a3738e 100644 --- a/src/game/base/base.cc +++ b/src/game/base/base.cc @@ -159,6 +159,18 @@ void func_impulse(core::Player *player, std::string const &args) ship->impulse(); } +/// a player sends a docking request +void func_dock(core::Player *player,core::Entity *entity) +{ + if (!player->control()) + return; + + if (player->control()->zone() != entity->zone()) + return; + + core::server()->send(player, "^BSending docking request to " + entity->name() + "^B..."); +} + /* -- class Base static members ----------------------------------- */ // game variables @@ -211,6 +223,9 @@ void Base::init() func = core::Func::add("buy", (core::GameFuncPtr) func_buy); func->set_info("buy a ship"); + func = core::Func::add("@dock", (core::TargetFuncPtr) func_dock); + func->set_info("send a docking request"); + func = core::Func::add("jump", (core::GameFuncPtr) func_jump); func->set_info("[string] activate or deactivate hyperspace jump drive"); @@ -389,7 +404,7 @@ bool Base::load_zone(core::Zone *zone) } else if (zoneini.got_section("entity")) { entity = new core::Entity(); - entity->entity_flags += core::Entity::Static; + entity->set_flag(core::Entity::Static); entity->set_zone(zone); count ++; |