diff options
author | Stijn Buys <ingar@osirion.org> | 2009-03-07 13:57:09 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2009-03-07 13:57:09 +0000 |
commit | 4c53365c16362156529c7669079e31845384589f (patch) | |
tree | 193bb5d05299d2acb38311d108c1d39b6e1dd229 /src/game/base/collision.cc | |
parent | ee2200638be3fcb14097f3e8b0abb93e210f93d9 (diff) |
renamed Entity::eventstate() to Entity::state(),
introduced Destroyed state
Diffstat (limited to 'src/game/base/collision.cc')
-rw-r--r-- | src/game/base/collision.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/game/base/collision.cc b/src/game/base/collision.cc index e4a312a..3da65d1 100644 --- a/src/game/base/collision.cc +++ b/src/game/base/collision.cc @@ -17,7 +17,7 @@ void Collision::distance_test(core::EntityControlable *first, core::Entity *seco if (!first->owner()) return; - if (first->eventstate() == core::Entity::Docked) + if (first->state() == core::Entity::Docked) return; // FIXME - use distancesquared @@ -29,8 +29,9 @@ void Collision::distance_test(core::EntityControlable *first, core::Entity *seco if ( (d-r) < 0.0f) { // crash zone - if (first->owner()->last_warning() + 5.0f < core::application()->time()) { + if ((first->moduletype() == ship_enttype) && (first->state() != core::Entity::Destroyed)) { first->owner()->send_warning("^RBOOM!^N"); + static_cast<Ship *>(first)->explode(); } } else if (first->owner()->last_warning() + 5.0f < core::application()->time()) { // warning zone: star corona or planet atmosphere |