Index: branches/proxy/src/world_entities/npcs/network_turret.cc
===================================================================
--- branches/proxy/src/world_entities/npcs/network_turret.cc	(revision 9614)
+++ branches/proxy/src/world_entities/npcs/network_turret.cc	(revision 9615)
@@ -29,5 +29,5 @@
 #include "effects/explosion.h"
 
-#include "weapons/targeting_turret.h"
+#include "weapons/aiming_turret.h"
 
 CREATE_FACTORY(NetworkTurret, CL_NETWORK_TURRET);
@@ -65,5 +65,5 @@
   this->loadModel("models/ground_turret_#.obj", 5);
 
-  this->weapon = new TargetingTurret();
+  this->weapon = new AimingTurret();
   this->weapon->loadModel("models/guns/turret2.obj", 10);
   this->weapon->setParent(this);
@@ -117,5 +117,5 @@
     diffVec = ( (*entity)->getAbsCoor() - this->getAbsCoor() );
 
-    if ( diffVec.len() < 1000 )//&&  acos( (this->source->getAbsDirX()).dot(diffVec)/(diffVec.len() * (this->source->getAbsDirX()).len() ) )  < angle)
+    if ( diffVec.len() < 100.0 )//&&  acos( (this->source->getAbsDirX()).dot(diffVec)/(diffVec.len() * (this->source->getAbsDirX()).len() ) )  < angle)
     {
       //if (this->getParent() != (*entity))
Index: branches/proxy/src/world_entities/npcs/network_turret.h
===================================================================
--- branches/proxy/src/world_entities/npcs/network_turret.h	(revision 9614)
+++ branches/proxy/src/world_entities/npcs/network_turret.h	(revision 9615)
@@ -9,5 +9,5 @@
 #include "npcs/npc.h"
 
-class TargetingTurret;
+class AimingTurret;
 
 //! A Class to ...
@@ -42,5 +42,5 @@
 private:
   PNode  weaponHolder;
-  TargetingTurret *weapon;
+  AimingTurret *weapon;
 
   int    targetGroup;
Index: branches/proxy/src/world_entities/projectiles/projectile.cc
===================================================================
--- branches/proxy/src/world_entities/projectiles/projectile.cc	(revision 9614)
+++ branches/proxy/src/world_entities/projectiles/projectile.cc	(revision 9615)
@@ -45,4 +45,6 @@
   this->explosionBuffer = NULL;
   this->engineBuffer = NULL;
+
+  //this->addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT);
 }
 
Index: branches/proxy/src/world_entities/weapons/aiming_turret.cc
===================================================================
--- branches/proxy/src/world_entities/weapons/aiming_turret.cc	(revision 9614)
+++ branches/proxy/src/world_entities/weapons/aiming_turret.cc	(revision 9615)
@@ -38,5 +38,5 @@
 */
 AimingTurret::AimingTurret ()
-  : Weapon()
+  : Weapon(), target(this)
 {
   this->init();
@@ -46,4 +46,5 @@
 
 AimingTurret::AimingTurret(const TiXmlElement* root)
+  : target(this)
 {
   this->init();
@@ -91,8 +92,8 @@
   //this->getProjectileFactory()->prepare(100);
 
-  this->target = new Aim(this);
-  this->target->setVisibility(false);
-  this->target->setRange(400);
-  this->target->setAngle(M_PI_2);
+  this->target.addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT | PNODE_PROHIBIT_CHILD_DELETE);
+  this->target.setVisibility(false);
+  this->target.setRange(400);
+  this->target.setAngle(M_PI_2);
 
   this->setActionSound(WA_SHOOT, "sound/explosions/explosion_3.wav");
@@ -110,10 +111,10 @@
 void AimingTurret::activate()
 {
-  this->target->setVisibility(true);
+  this->target.setVisibility(true);
 }
 
 void AimingTurret::deactivate()
 {
-  this->target->setVisibility(false);
+  this->target.setVisibility(false);
 }
 
@@ -123,5 +124,5 @@
     return;
   Quaternion quat;
-  Vector direction = this->target->getAbsCoor() - this->getAbsCoor();
+  Vector direction = this->target.getAbsCoor() - this->getAbsCoor();
 
   direction.normalize();
@@ -134,5 +135,5 @@
   this->setAbsDirSoft(quat, 5);
 
-  this->target->tick(dt);
+  this->target.tick(dt);
 }
 
@@ -144,5 +145,5 @@
 
   pj->setVelocity(/*this->getVelocity()+*/(this->getAbsDir().apply(Vector(1,0,0))*250.0 + VECTOR_RAND(13)
-            /*target->getAbsCoor() - this->getAbsCoor()*/)*.5);//this->getVelocity());
+            /*target.getAbsCoor() - this->getAbsCoor()*/)*.5);//this->getVelocity());
 
   pj->setParent(PNode::getNullParent());
Index: branches/proxy/src/world_entities/weapons/aiming_turret.h
===================================================================
--- branches/proxy/src/world_entities/weapons/aiming_turret.h	(revision 9614)
+++ branches/proxy/src/world_entities/weapons/aiming_turret.h	(revision 9615)
@@ -8,30 +8,33 @@
 
 #include "weapon.h"
-
+#include "aim.h"
 /* FORWARD DECLARATION */
-class Aim;
 
 class AimingTurret : public Weapon
-  {
-  public:
-    AimingTurret ();
-    AimingTurret(const TiXmlElement* root);
-    virtual ~AimingTurret ();
+{
+public:
+  AimingTurret ();
+  AimingTurret(const TiXmlElement* root);
+  virtual ~AimingTurret ();
 
-    void init();
-    virtual void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
 
-    virtual void activate();
-    virtual void deactivate();
+  void setTargetGroup(OM_LIST targetGroup) { this->target.setTargetGroup(targetGroup); };
 
-    virtual void tick(float dt);
-    virtual void fire();
+  virtual void activate();
+  virtual void deactivate();
+
+  virtual void tick(float dt);
+  virtual void fire();
 
 
-    virtual void draw() const;
+  virtual void draw() const;
 
-  private:
-    Aim*          target;
-  };
+private:
+  void init();
+
+private:
+  Aim           target;
+};
 
 #endif /* _AIMING_TURRET_H */
