/* base/cargopod.cc This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #include "base/cargopod.h" #include "base/game.h" namespace game { const Template *CargoPod::cargopod_template = 0; CargoPod::CargoPod() : EntityDynamic() { entity_moduletypeid = cargopod_enttype; set_name("Cargo pod"); set_label("cargopod"); set_flag(core::Entity::KeepAlive); // setting radius to 0 allows it to be set by the template set_radius(0); // use template settings if available if (cargopod_template) { cargopod_template->apply(this); } // radius fallback if (!radius()) { if (model()->radius()) { set_radius(model()->radius()); } else { set_radius(0.1f); } } // activate physics set_mass(radius()); reset(); // increased dampening for cargo pods const float damp = Game::g_damping->value(); body()->setDamping(damp * 2.0f, damp * 2.0f); } CargoPod::~CargoPod() { } void CargoPod::upkeep(const unsigned long timestamp) { // cargo pods dissapear on upkeep die(); } } // namespace game