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>2009-03-07 13:57:09 +0000
committerStijn Buys <ingar@osirion.org>2009-03-07 13:57:09 +0000
commit4c53365c16362156529c7669079e31845384589f (patch)
tree193bb5d05299d2acb38311d108c1d39b6e1dd229 /src/game/base/collision.cc
parentee2200638be3fcb14097f3e8b0abb93e210f93d9 (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.cc5
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