Index: branches/presentation/src/world_entities/creatures/fps_player.cc
===================================================================
--- branches/presentation/src/world_entities/creatures/fps_player.cc	(revision 9167)
+++ branches/presentation/src/world_entities/creatures/fps_player.cc	(revision 9168)
@@ -145,7 +145,7 @@
   this->getWeaponManager().getFixedTarget()->setRelCoor(1000,0,0);
 
-  this->aimingSystem = new AimingSystem();
+  this->aimingSystem = new AimingSystem(this);
   this->addChild(this->aimingSystem);
-  this->aimingSystem->toList(OM_LIST(this->getOMListNumber() + 1));
+
 
 
@@ -242,4 +242,6 @@
       this->getWeaponManager().setSlotPosition(0, Vector(1.5, box->halfLength[1] * f - 0.7, 1.1));
       this->getWeaponManager().setSlotPosition(1, Vector(5.0, box->halfLength[1] * f, 0.0));
+
+      this->aimingSystem->toList(/*OM_LIST(this->getOMListNumber() + 1)*/ OM_GROUP_00);
     }
   }
@@ -266,4 +268,11 @@
     }
   }
+
+  WorldEntity* target = this->aimingSystem->getNearestTarget();
+  if( target != NULL)
+  {
+    PRINTF(0)("hit hit hit, got: %s\n", target->getClassName());
+  }
+
 
 
Index: branches/presentation/src/world_entities/weapons/aiming_system.cc
===================================================================
--- branches/presentation/src/world_entities/weapons/aiming_system.cc	(revision 9167)
+++ branches/presentation/src/world_entities/weapons/aiming_system.cc	(revision 9168)
@@ -10,5 +10,5 @@
 
    ### File Specific:
-   main-programmer: Benjamin Grauer
+   main-programmer: Patrick Boenzli
    co-programmer: ...
 */
@@ -23,4 +23,5 @@
 
 #include "aabb.h"
+#include "obb_tree.h"
 
 #include <vector>
@@ -33,11 +34,7 @@
  * standart constructor
  */
-AimingSystem::AimingSystem (const TiXmlElement* root)
+AimingSystem::AimingSystem (WorldEntity* entity)
 {
   this->init();
-
-
-  if (root)
-    this->loadParams(root);
 }
 
@@ -59,19 +56,7 @@
 
   this->loadModel("models/guns/targeting_system_body.obj");
-}
 
-
-void AimingSystem::loadParams(const TiXmlElement* root)
-{
-  PNode::loadParams(root);
-
-//   LoadParam(root, "texture", this, AimingSystem, setTexture)
-//       .describe("the texture-file to load onto the AimingSystem");
-//
-//   LoadParam(root, "size", this, AimingSystem, setSize)
-//       .describe("the size of the AimingSystem in Pixels");
-//
-//   LoadParam(root, "rotation-speed", this, AimingSystem, setRotationSpeed)
-//       .describe("the Speed with which the AimingSystem should rotate");
+  // registering default reactions:
+  this->subscribeReaction(CREngine::CR_OBJECT_DAMAGE, CL_WORLD_ENTITY);
 }
 
@@ -89,5 +74,5 @@
     return this->selectionList.back();
 
-  WorldEntity* nearestEntity     = this->selectionList.back();
+  WorldEntity* nearestEntity     = NULL;
   float        distance          = 0.0f;
   float        smalestDistance   = this->range * 5.0f;
@@ -104,5 +89,7 @@
   }
 
-  return nearestEntity;
+  if( nearestEntity != this->owner)
+    return nearestEntity;
+  else return NULL;
 }
 
@@ -127,5 +114,5 @@
 {
 
-  this->selectionList.clear();
+//   this->selectionList.clear();
 }
 
@@ -136,5 +123,7 @@
 void AimingSystem::draw() const
 {
-//   if( this->getModelAABB() != NULL)
-//     this->getModelAABB()->drawBV(0, 1);
+  WorldEntity::draw();
+
+  if( this->getOBBTree () != NULL)
+    this->getOBBTree()->drawBV(0, 1);
 }
Index: branches/presentation/src/world_entities/weapons/aiming_system.h
===================================================================
--- branches/presentation/src/world_entities/weapons/aiming_system.h	(revision 9167)
+++ branches/presentation/src/world_entities/weapons/aiming_system.h	(revision 9168)
@@ -22,16 +22,10 @@
 
  public:
-  AimingSystem(const TiXmlElement* root = NULL);
+  AimingSystem(WorldEntity* owner = NULL);
   virtual ~AimingSystem();
 
   void init();
-  virtual void loadParams(const TiXmlElement* root);
-
-
-  inline void selectTarget(PNode* target) { this->setParent(target); };
-  inline PNode* getTarget(PNode* target) { return this->getParent(); };
 
   WorldEntity* getNearestTarget();
-
 
   void setRange(float range){this->range = range;};
@@ -47,4 +41,5 @@
    std::vector<WorldEntity*>   selectionList;        //!< the selections
 
+   WorldEntity*                owner;                //!< the owner of the targeting system
 
 };
Index: branches/presentation/src/world_entities/world_entity.cc
===================================================================
--- branches/presentation/src/world_entities/world_entity.cc	(revision 9167)
+++ branches/presentation/src/world_entities/world_entity.cc	(revision 9168)
@@ -85,10 +85,10 @@
 
   this->toList(OM_NULL);
-  
+
   registerVar( new SynchronizeableString( &this->md2TextureFileName, &this->md2TextureFileName, "md2TextureFileName" ) );
   modelFileName_handle = registerVarId( new SynchronizeableString( &modelFileName, &modelFileName, "modelFileName" ) );
   scaling_handle = registerVarId( new SynchronizeableFloat( &scaling, &scaling, "scaling" ) );
   list_handle = registerVarId( new SynchronizeableInt( (int*)&objectListNumber, &list_write, "list" ) );
-  
+
   health_handle = registerVarId( new SynchronizeableFloat( &this->health, &this->health_write, "health" ) );
   healthMax_handle = registerVarId( new SynchronizeableFloat( &this->healthMax, &this->healthMax_write, "maxHealth" ) );
@@ -742,5 +742,5 @@
   this->decreaseHealth(damage);
 
-  PRINTF(0)("Hit me: %s now only %f/%f health\n", this->getClassName(), this->getHealth(), this->getHealthMax());
+  PRINTF(5)("Hit me: %s now only %f/%f health\n", this->getClassName(), this->getHealth(), this->getHealthMax());
 
   if( this->getHealth() > 0)
@@ -838,10 +838,10 @@
     this->toList( (OM_LIST)list_write );
   }
-  
+
   if ( std::find( id.begin(), id.end(), health_handle ) != id.end() )
   {
     this->setHealth( health_write );
   }
-  
+
   if ( std::find( id.begin(), id.end(), healthMax_handle ) != id.end() )
   {
