diff options
Diffstat (limited to 'src/game/base/ship.cc')
-rw-r--r-- | src/game/base/ship.cc | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/game/base/ship.cc b/src/game/base/ship.cc index ac4db15..a927e73 100644 --- a/src/game/base/ship.cc +++ b/src/game/base/ship.cc @@ -124,7 +124,14 @@ Ship::~Ship() { } -void Ship::func_impulse() { +void Ship::print() const +{ + core::EntityControlable::print(); + con_print << " armor ^B" << armor() << "^N/^B" << maxarmor() << std::endl; +} + +void Ship::func_impulse() +{ switch (entity_state) { case core::Entity::Impulse: @@ -486,12 +493,14 @@ void Ship::collision(core::Entity *other) // destroyed if (ship_armor <= 0) { + explode(); + if (owner()) { ship_armor = 0; std::string message("^B"); message.append(owner()->name()); message.append(" ^Bwent boom."); - explode(); + core::server()->broadcast(message); } else { die(); } @@ -507,12 +516,13 @@ void Ship::collision(core::Entity *other) // destroyed if (ship_armor <= 0) { + explode(); + if (owner()) { ship_armor = 0; std::string message("^B"); message.append(owner()->name()); message.append(" ^Bwas blown to bits."); - explode(); } else { die(); } |