Index: /branches/adm/src/world_entities/WorldEntities.am
===================================================================
--- /branches/adm/src/world_entities/WorldEntities.am	(revision 10663)
+++ /branches/adm/src/world_entities/WorldEntities.am	(revision 10664)
@@ -13,4 +13,5 @@
                 world_entities/npcs/attractor_mine.cc \
                 world_entities/npcs/mover.cc \
+		world_entities/npcs/adm_turret.cc \
                 \
                 \
@@ -147,4 +148,5 @@
                 npcs/attractor_mine.h \
                 npcs/mover.h \
+		npcs/adm_turret.h \
                 \
                 environments/environment.h \
Index: /branches/adm/src/world_entities/npcs/adm_turret.cc
===================================================================
--- /branches/adm/src/world_entities/npcs/adm_turret.cc	(revision 10663)
+++ /branches/adm/src/world_entities/npcs/adm_turret.cc	(revision 10664)
@@ -16,14 +16,15 @@
 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
 #include "adm_turret.h"
-#include "weapon_manager.h"
+#include "weapons/weapon_manager.h"
+#include "weapons/weapon.h"
 #include "lib/util/loading/factory.h"
 #include "world_entities/projectiles/projectile.h"
-
+#include "loading/load_param.h"
+#include "debug.h"
 
 ObjectListDefinition(AdmTurret);
 CREATE_FACTORY(AdmTurret);
 
-public:
-       
+
 /**
 *  Standard constructor
@@ -31,8 +32,7 @@
 AdmTurret::AdmTurret ()
 {
-          this->init();
+	this->init();
 }
 
- 	
 /**
 *  destructs the turret, deletes allocated memory
@@ -43,114 +43,99 @@
 }
 
-AdmTurret::AdmTurret (const  TiXmlElemet* root)
+AdmTurret::AdmTurret (const  TiXmlElement* root)
 {
-             this->init();
-             if (root != NULL)
-                 this->loadParams(root);
+	this->init();
+	if (root != NULL)
+        {
+		this->loadParams(root);
+	}
 }
-        
+
 void AdmTurret::init()
 {
-     this->registerObject(this, GroundTurret::_objectList);
-     
-     // load the 3 parts of the turret
-     // this-> loadModel ("...", , )
-     // this-> loadModel ("...", , )
-     // this-> loadModel ("...", , )
-     
-     
-     //Cannon Node: 2 Cannons fixed left and right of the main turret
-     this->cannonNode.addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT)
-     this->cannonNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE)
-     this->cannonNode.setParent(this)
-     // this->cannonNode.setRelCoor( , , )
-     
-     
-     
-     //Sensor Node: Sensor rotating independently from main turret (like Radar)
-     this->sensorNode.addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT)
-     this->sensorNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE)
-     this->sensorNode.setParent(this)
-     // this->sensorNode.setRelCoor( , , )
-     
+	this->registerObject(this, AdmTurret::_objectList);
 
-     this->setStateDuration(WS_SHOOTING, .1);
-     this->setStateDuration(WS_RELOADING, .1);
- 	 this->setStateDuration(WS_ACTIVATING, .4);
- 	 this->setStateDuration(WS_DEACTIVATING, .4);
+	// load the 3 parts of the turret
+	// this-> loadModel ("...", , )
+	// this-> loadModel ("...", , )
+	// this-> loadModel ("...", , )
 
- 	 this->setEnergyMax(10000);
- 	 this->increaseEnergy(10000);
- 	 //this->minCharge = ;
- 	
-     //this->setActionSound(WA_SHOOT, "sounds/guns/xyz.wav");
- 	 //this->setActionSound(WA_ACTIVATE, "sounds/voices/xxyz.wav");
+	//Cannon Node: 2 Cannons fixed left and right of the main turret
+	this->cannonNode.addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT);
+	this->cannonNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE);
+	this->cannonNode.setParent(this);
+	// this->cannonNode.setRelCoor( , , )
 
- 	 this->setCapability(WTYPE_ALLDIRS | WTYPE_DIRECTIONAL);
- 	 this->setProjectileTypeC("Projectile");
- 	 // this->prepareProjectiles(10000);
- 	 
-      
-     // PROBLEM!! 2 emission Points! 
-     // this->setEmissionPoint(Vector( , , ) );
-     
-     // initialise here
+	//Sensor Node: Sensor rotating independently from main turret (like Radar)
+	this->sensorNode.addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT);
+	this->sensorNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE);
+	this->sensorNode.setParent(this);
+	// this->sensorNode.setRelCoor( , , )
+
+	// initialise Weapons here
 }
 
 void AdmTurret::loadParams(const TiXmlElement* root)
 {
-        Weapon::loadParams(root);
-        
-        LoadParam(root, "target", this, GroundTurret, setTarget)
+	WorldEntity::loadParams(root);
+
+	LoadParam(root, "target", this, AdmTurret, setTarget)
+		.describe("the filename of the World Entity, that is to be shot at")
+		.defaultValues("");
 }
 
-virtual void AdmTurret::tick(float dt);
-
-virtual void GroundTurret::draw() const;
-
-virtual void AdmTurret::collidesWith(WorldEntity* entity, const Vector& location);
-
-virtual void AdmTurret::activate()
+void AdmTurret::tick(float dt)
 {
 }
-        
-virtual void AdmTurret::deactivate()
-{        
+
+void AdmTurret::draw() const
+{
 }
 
-virtual void AdmTurret::setTarget(const std::string& target)
+void AdmTurret::collidesWith(WorldEntity* entity, const Vector& location)
 {
-        WorldEntity* targetEntity = WorldEntity::objectList().getObject(target);
-        if (targetEntity != NULL) 
-        {
-            this->myTarget = targetEntity;
-        }
-        else
-        {
-            PRINTF(2)("ERROR ADMTURRET : Target %s does not exist\n", target.c_str());
-        }
-}
-            
-private:
-        
-bool AdmTurret::isVisible(const WorldEntity myTarget)
-{     
 }
 
-float AdmTurret::aim(const WorldEntity Target);
+void AdmTurret::activate()
+{
+}
+
+void AdmTurret::deactivate()
+{
+}
+
+void AdmTurret::setTarget(const std::string& target)
+{
+	WorldEntity* targetEntity = WorldEntity::objectList().getObject(target);
+	if (targetEntity != NULL) 
+	{
+		this->myTarget = targetEntity;
+	}
+	else
+	{
+		PRINTF(2)("ERROR ADMTURRET : Target %s does not exist\n", target.c_str());
+	}
+}
+
+bool AdmTurret::isVisible(const WorldEntity myTarget)
+{
+return true;
+}
+
+float AdmTurret::aim(const WorldEntity Target)
+{
+return 0;
+}
 
 void AdmTurret::fire()
 {
-     Projectile* pj =  this->getProjectile();
-     if (pj == NULL) return;
-     
-     //pj->setOwner(this->getOwner());
-	 
-     //pj->setParent(PNode::getNullParent());
+	// Projectile* pj =  this->getProjectile();
+	// if (pj == NULL) return;
 
- 	 //pj->setVelocity(this->getAbsDir().apply(Vector( , , )) );
- 	 
-	 //pj->setAbsCoor(this->getEmissionPoint());
-	 //pj->setAbsDir(this->getAbsDir());
-	 //pj->activate();
-}	
+	//pj->setOwner(this->getOwner());
+	//pj->setParent(PNode::getNullParent());
+	//pj->setVelocity(this->getAbsDir().apply(Vector( , , )) );
+	//pj->setAbsCoor(this->getEmissionPoint());
+	//pj->setAbsDir(this->getAbsDir());
+	//pj->activate();
+}
Index: /branches/adm/src/world_entities/npcs/adm_turret.h
===================================================================
--- /branches/adm/src/world_entities/npcs/adm_turret.h	(revision 10663)
+++ /branches/adm/src/world_entities/npcs/adm_turret.h	(revision 10664)
@@ -10,7 +10,7 @@
 //#include "sound_source.h"
 
-#include "weapon.h"
+#include "world_entity.h"
 
-class GroundTurret : public WorldEntity
+class AdmTurret : public WorldEntity
       {
                    ObjectListDeclaration(AdmTurret);
@@ -40,3 +40,5 @@
                    void fire();
                                             
-      }
+      };
+
+#endif
