Index: trunk/src/world_entities/npcs/ground_turret.cc
===================================================================
--- trunk/src/world_entities/npcs/ground_turret.cc	(revision 8776)
+++ trunk/src/world_entities/npcs/ground_turret.cc	(revision 8777)
@@ -180,3 +180,5 @@
   this->setAbsDirSoft(Quaternion(-90, Vector(0,0,1)), 90);
   Explosion::explode(this, Vector(10,10,10));
+
+  this->toList(OM_DEAD);
 }
Index: trunk/src/world_entities/weapons/aiming_turret.cc
===================================================================
--- trunk/src/world_entities/weapons/aiming_turret.cc	(revision 8776)
+++ trunk/src/world_entities/weapons/aiming_turret.cc	(revision 8777)
@@ -152,6 +152,4 @@
 }
 
-void AimingTurret::destroy ()
-{}
 
 /**
Index: trunk/src/world_entities/weapons/aiming_turret.h
===================================================================
--- trunk/src/world_entities/weapons/aiming_turret.h	(revision 8776)
+++ trunk/src/world_entities/weapons/aiming_turret.h	(revision 8777)
@@ -27,5 +27,5 @@
     virtual void tick(float dt);
     virtual void fire();
-    virtual void destroy();
+
 
     virtual void draw() const;
Index: trunk/src/world_entities/weapons/cannon.cc
===================================================================
--- trunk/src/world_entities/weapons/cannon.cc	(revision 8776)
+++ trunk/src/world_entities/weapons/cannon.cc	(revision 8777)
@@ -167,12 +167,4 @@
 }
 
-/**
- *  is called, when the weapon is destroyed
- *
- * this is in conjunction with the hit function, so when a weapon is able to get
- * hit, it can also be destoryed.
-*/
-void Cannon::destroy ()
-{}
 
 /**
Index: trunk/src/world_entities/weapons/cannon.h
===================================================================
--- trunk/src/world_entities/weapons/cannon.h	(revision 8776)
+++ trunk/src/world_entities/weapons/cannon.h	(revision 8777)
@@ -24,5 +24,4 @@
 
     virtual void fire();
-    virtual void destroy();
 
     virtual void draw() const;
Index: trunk/src/world_entities/weapons/hyperblaster.cc
===================================================================
--- trunk/src/world_entities/weapons/hyperblaster.cc	(revision 8776)
+++ trunk/src/world_entities/weapons/hyperblaster.cc	(revision 8777)
@@ -155,10 +155,3 @@
 }
 
-/**
- *  is called, when the weapon is destroyed
- *
- * this is in conjunction with the hit function, so when a weapon is able to get
- * hit, it can also be destoryed.
-*/
-void Hyperblaster::destroy ()
-{}
+
Index: trunk/src/world_entities/weapons/hyperblaster.h
===================================================================
--- trunk/src/world_entities/weapons/hyperblaster.h	(revision 8776)
+++ trunk/src/world_entities/weapons/hyperblaster.h	(revision 8777)
@@ -23,5 +23,4 @@
 
     virtual void fire();
-    virtual void destroy();
 
   private:
Index: trunk/src/world_entities/weapons/targeting_turret.cc
===================================================================
--- trunk/src/world_entities/weapons/targeting_turret.cc	(revision 8776)
+++ trunk/src/world_entities/weapons/targeting_turret.cc	(revision 8777)
@@ -162,7 +162,4 @@
 }
 
-void TargetingTurret::destroy ()
-{}
-
 /**
  * draws the TargetingTurret
Index: trunk/src/world_entities/weapons/targeting_turret.h
===================================================================
--- trunk/src/world_entities/weapons/targeting_turret.h	(revision 8776)
+++ trunk/src/world_entities/weapons/targeting_turret.h	(revision 8777)
@@ -27,5 +27,4 @@
     virtual void tick(float dt);
     virtual void fire();
-    virtual void destroy();
 
     virtual void draw() const;
@@ -36,5 +35,5 @@
     float          lockedTime;
     float          neededLockTime;
-  }; 
+  };
 
 #endif /* _TARGETING_TURRET_H */
Index: trunk/src/world_entities/weapons/test_gun.cc
===================================================================
--- trunk/src/world_entities/weapons/test_gun.cc	(revision 8776)
+++ trunk/src/world_entities/weapons/test_gun.cc	(revision 8777)
@@ -190,12 +190,5 @@
 }
 
-/**
- *  is called, when the weapon is destroyed
- *
- * this is in conjunction with the hit function, so when a weapon is able to get
- * hit, it can also be destoryed.
-*/
-void TestGun::destroy ()
-{}
+
 
 /**
Index: trunk/src/world_entities/weapons/test_gun.h
===================================================================
--- trunk/src/world_entities/weapons/test_gun.h	(revision 8776)
+++ trunk/src/world_entities/weapons/test_gun.h	(revision 8777)
@@ -49,5 +49,4 @@
 
     virtual void fire();
-    virtual void destroy();
 
     virtual void draw() const;
Index: trunk/src/world_entities/weapons/turret.cc
===================================================================
--- trunk/src/world_entities/weapons/turret.cc	(revision 8776)
+++ trunk/src/world_entities/weapons/turret.cc	(revision 8777)
@@ -149,5 +149,2 @@
   pj->activate();
 }
-
-void Turret::destroy ()
-{}
Index: trunk/src/world_entities/weapons/turret.h
===================================================================
--- trunk/src/world_entities/weapons/turret.h	(revision 8776)
+++ trunk/src/world_entities/weapons/turret.h	(revision 8777)
@@ -24,5 +24,4 @@
     virtual void tick(float dt);
     virtual void fire();
-    virtual void destroy();
 
 
Index: trunk/src/world_entities/weapons/weapon.h
===================================================================
--- trunk/src/world_entities/weapons/weapon.h	(revision 8776)
+++ trunk/src/world_entities/weapons/weapon.h	(revision 8777)
@@ -173,5 +173,4 @@
     virtual void fire() {};
     virtual void reload() {};
-    virtual void destroy() {};
 
 
Index: trunk/src/world_entities/world_entity.cc
===================================================================
--- trunk/src/world_entities/world_entity.cc	(revision 8776)
+++ trunk/src/world_entities/world_entity.cc	(revision 8777)
@@ -38,4 +38,6 @@
 #include "collision_handle.h"
 #include "collision_event.h"
+#include "game_rules.h"
+#include "kill.h"
 
 #include <stdarg.h>
@@ -82,5 +84,5 @@
 
   // registering default reactions:
-//   this->subscribeReaction(CREngine::CR_OBJECT_DAMAGE, CL_WORLD_ENTITY);
+  this->subscribeReaction(CREngine::CR_OBJECT_DAMAGE, CL_WORLD_ENTITY);
 
   this->toList(OM_NULL);
@@ -736,4 +738,6 @@
   this->decreaseHealth(damage);
 
+  PRINTF(0)("Hit me: %s now only %f/%f health\n", this->getClassName(), this->getHealth(), this->getHealthMax());
+
   if( this->getHealth() > 0)
   {
@@ -744,7 +748,17 @@
     this->destroy();
 
-//     if( State::getGameRules() != NULL)
-//       State::getGameRules()->registerKill(Kill(NULL, this));
-  }
+    if( State::getGameRules() != NULL)
+      State::getGameRules()->registerKill(Kill(NULL, this));
+  }
+}
+
+
+/**
+ * destoys the world entity
+ */
+void WorldEntity::destroy()
+{
+  PRINTF(0)("Destroy\n");
+  this->toList(OM_DEAD);
 }
 
Index: trunk/src/world_entities/world_entity.h
===================================================================
--- trunk/src/world_entities/world_entity.h	(revision 8776)
+++ trunk/src/world_entities/world_entity.h	(revision 8777)
@@ -95,5 +95,5 @@
 
   virtual void hit(float damage);
-  virtual void destroy() {};
+  virtual void destroy();
 
 
