Index: trunk/src/ai/attack_module.cc
===================================================================
--- trunk/src/ai/attack_module.cc	(revision 10498)
+++ trunk/src/ai/attack_module.cc	(revision 10499)
@@ -156,5 +156,5 @@
 		if(fireTimeout<=0){
 			fireTimeout=(rand()%21)/10+1;
-			//std::cout << "Fiiiiirrreee!\n";
+			std::cout << "Fiiiiirrreee!\n";
 			NPC* npc2 = static_cast<NPC*>(npc);
 			npc2->fire();
Index: trunk/src/world_entities/npcs/npc.cc
===================================================================
--- trunk/src/world_entities/npcs/npc.cc	(revision 10498)
+++ trunk/src/world_entities/npcs/npc.cc	(revision 10499)
@@ -37,4 +37,16 @@
 #include "track/track.h"
 
+
+#include "weapons/test_gun.h"
+#include "weapons/light_blaster.h"
+#include "weapons/medium_blaster.h"
+#include "weapons/heavy_blaster.h"
+#include "weapons/swarm_launcher.h"
+#include "weapons/spike_launcher.h"
+#include "weapons/spike_thrower.h"
+#include "weapons/acid_launcher.h"
+#include "weapons/boomerang_gun.h"
+#include "weapons/turret.h"
+#include "weapons/cannon.h"
 
 #include "npc.h"
@@ -63,4 +75,59 @@
   this->bAIEnabled = false;
 
+
+
+   // create the weapons and their manager
+  Weapon* wpRight1 = new LightBlaster ();
+  wpRight1->setName( "LightBlaster");
+  Weapon* wpLeft1 = new LightBlaster ();
+  wpLeft1->setName( "LightBlaster");
+
+  Weapon* wpRight2 = new MediumBlaster ();
+  wpRight2->setName( "MediumBlaster");
+  Weapon* wpLeft2 = new MediumBlaster ();
+  wpLeft2->setName( "MediumBlaster");
+
+  Weapon* wpRight3 = new HeavyBlaster (1);
+  wpRight3->setName( "HeavyBlaster");
+  Weapon* wpLeft3 = new HeavyBlaster (0);
+  wpLeft3->setName( "HeavyBlaster");
+
+  Weapon* cannon = new SwarmLauncher();
+  cannon->setName( "SwarmLauncher");
+
+  Weapon* spike = new SpikeThrower();
+  spike->setName( "SpikeThrower" );
+
+
+  Weapon* acid0 = new AcidLauncher();
+  acid0->setName( "AcidSplasher" );
+
+  Weapon* acid1 = new AcidLauncher();
+  acid1->setName( "AcidSplasher" );
+
+
+  this->weaponMan.addWeapon( wpLeft1, 0, 0);
+  this->weaponMan.addWeapon( wpRight1, 0, 1);
+
+  this->weaponMan.addWeapon( wpLeft2, 1, 2);
+  this->weaponMan.addWeapon( wpRight2, 1, 3);
+
+  this->weaponMan.addWeapon( wpLeft3, 2, 4);
+  this->weaponMan.addWeapon( wpRight3, 2, 5);
+/*
+  this->weaponMan.addWeapon( wpLeft1, 3, 0);
+  this->weaponMan.addWeapon( wpRight1, 3, 1);
+
+  this->weaponMan.addWeapon( wpLeft2, 3, 2);
+  this->weaponMan.addWeapon( wpRight2, 3, 3);
+
+  this->weaponMan.addWeapon( wpLeft3, 3, 4);
+  this->weaponMan.addWeapon( wpRight3, 3, 5);
+*/
+
+  this->weaponMan.addWeapon( acid0, 3, 0);
+  this->weaponMan.addWeapon( acid1, 3, 1);
+
+
   if( root != NULL)
     this->loadParams(root);
@@ -81,51 +148,43 @@
   }
 
-    // create the weapons and their manager
-
-
-  this->getWeaponManager().changeWeaponConfig(1);
-//   Weapon* wpRight = new TestGun(0);
-//   wpRight->setName("testGun Right");
-//   Weapon* wpLeft = new TestGun(1);
-//   wpLeft->setName("testGun Left");
-//
-//   wpRight->toList( this->getOMListNumber());
-//   wpLeft->toList( this->getOMListNumber());
-//
-//
-//   this->addWeapon(wpLeft, 1, 0);
-//   this->addWeapon(wpRight,1 ,1);
-//
-//   wpLeft->increaseEnergy( 100);
-//   wpRight->increaseEnergy( 100);
+
+
+
+//   this->secWeaponMan.addWeapon( acid0, 2, 2);
+//   this->secWeaponMan.addWeapon( acid1, 2, 3);
+
+
+//   this->weaponMan.changeWeaponConfig(3);
+
+//   this->getWeaponManager().changeWeaponConfig(1);
 
   this->setHealthMax(100);
   this->setHealth(80);
 
-//   this->getWeaponManager().setSlotCount(7);
-//
-//   this->getWeaponManager().setSlotPosition(0, Vector(-2.6, .1, -3.0));
-//   this->getWeaponManager().setSlotCapability(0, WTYPE_ALLDIRS | WTYPE_DIRECTIONAL);
-//
-//   this->getWeaponManager().setSlotPosition(1, Vector(-2.6, .1, 3.0));
-//   this->getWeaponManager().setSlotCapability(1, WTYPE_ALLDIRS | WTYPE_DIRECTIONAL);
-//
-//   this->getWeaponManager().setSlotPosition(2, Vector(-1.5, .5, -.5));
-//   this->getWeaponManager().setSlotDirection(2, Quaternion(-M_PI_4*.5, Vector(1,0,0)));
-//
-//   this->getWeaponManager().setSlotPosition(3, Vector(-1.5, .5, .5));
-//   this->getWeaponManager().setSlotDirection(3, Quaternion(M_PI_4*.5, Vector(1,0,0)));
-//
-//   this->getWeaponManager().setSlotPosition(4, Vector(-1.5, -.5, .5));
-//   this->getWeaponManager().setSlotDirection(4, Quaternion(-M_PI_4*.5+M_PI, Vector(1,0,0)));
-//
-//   this->getWeaponManager().setSlotPosition(5, Vector(-1.5, -.5, -.5));
-//   this->getWeaponManager().setSlotDirection(5, Quaternion(+M_PI_4*.5-M_PI, Vector(1,0,0)));
-//
-//   this->getWeaponManager().setSlotPosition(6, Vector(-1, 0.0, 0));
-//   this->getWeaponManager().setSlotCapability(6, WTYPE_ALLDIRS | WTYPE_DIRECTIONAL);
-//
-//   this->getWeaponManager().getFixedTarget()->setParent(this);
-//   this->getWeaponManager().getFixedTarget()->setRelCoor(100000,0,0);
+  this->getWeaponManager().setSlotCount(7);
+
+  this->getWeaponManager().setSlotPosition(0, Vector(-2.6, .1, -3.0));
+  this->getWeaponManager().setSlotCapability(0, WTYPE_ALLDIRS | WTYPE_DIRECTIONAL);
+
+  this->getWeaponManager().setSlotPosition(1, Vector(-2.6, .1, 3.0));
+  this->getWeaponManager().setSlotCapability(1, WTYPE_ALLDIRS | WTYPE_DIRECTIONAL);
+
+  this->getWeaponManager().setSlotPosition(2, Vector(-1.5, .5, -.5));
+  this->getWeaponManager().setSlotDirection(2, Quaternion(-M_PI_4*.5, Vector(1,0,0)));
+
+  this->getWeaponManager().setSlotPosition(3, Vector(-1.5, .5, .5));
+  this->getWeaponManager().setSlotDirection(3, Quaternion(M_PI_4*.5, Vector(1,0,0)));
+
+  this->getWeaponManager().setSlotPosition(4, Vector(-1.5, -.5, .5));
+  this->getWeaponManager().setSlotDirection(4, Quaternion(-M_PI_4*.5+M_PI, Vector(1,0,0)));
+
+  this->getWeaponManager().setSlotPosition(5, Vector(-1.5, -.5, -.5));
+  this->getWeaponManager().setSlotDirection(5, Quaternion(+M_PI_4*.5-M_PI, Vector(1,0,0)));
+
+  this->getWeaponManager().setSlotPosition(6, Vector(-1, 0.0, 0));
+  this->getWeaponManager().setSlotCapability(6, WTYPE_ALLDIRS | WTYPE_DIRECTIONAL);
+
+  this->getWeaponManager().getFixedTarget()->setParent(this);
+  this->getWeaponManager().getFixedTarget()->setRelCoor(100000,0,0);
 
 
@@ -170,8 +229,15 @@
   .defaultValues(0);
 
-  LoadParamXML(root, "Weapons", this, NPC, addWeapons)
-  .describe("creates and adds weapons");
-}
-
+  LoadParam(root, "weapon-config", this, NPC, setWeaponConfig);
+
+//   LoadParamXML(root, "Weapons", this, NPC, addWeapons)
+//   .describe("creates and adds weapons");
+}
+
+
+void NPC::setWeaponConfig(int i)
+{
+  this->weaponMan.changeWeaponConfig(i);
+}
 
 void NPC::addWeapons(const TiXmlElement* root)
@@ -260,8 +326,10 @@
 void NPC::tick(float dt)
 {
-	//std::cout << "fire..\n";
   this->weaponMan.tick(dt);
   if (this->bFire)
+  {
+    std::cout << "fire..\n";
     weaponMan.fire();
+  }
   this->bFire = false;
 
Index: trunk/src/world_entities/npcs/npc.h
===================================================================
--- trunk/src/world_entities/npcs/npc.h	(revision 10498)
+++ trunk/src/world_entities/npcs/npc.h	(revision 10499)
@@ -26,4 +26,5 @@
   void previousWeaponConfig();
   inline WeaponManager& getWeaponManager() { return this->weaponMan; };
+void setWeaponConfig(int i);
 
 
@@ -33,5 +34,5 @@
   inline void fire(){ this->bFire=true;}
 
-  inline void enableAI() { this->bAIEnabled = true; }
+  inline void enableAI(int flag) { this->bAIEnabled = (bool)flag; }
 
 private:
Index: trunk/src/world_entities/weapons/heavy_blaster.cc
===================================================================
--- trunk/src/world_entities/weapons/heavy_blaster.cc	(revision 10498)
+++ trunk/src/world_entities/weapons/heavy_blaster.cc	(revision 10499)
@@ -12,4 +12,8 @@
 
 CREATE_FACTORY(HeavyBlaster);
+// ObjectListDefinition(HeavyBlaster);
+
+
+
 /**
  * Standard constructor
@@ -18,4 +22,6 @@
  : Weapon()
 {
+//     this->registerObject(this, HeavyBlaster::_objectList);
+
     this->init(leftRight);
 }
@@ -24,4 +30,6 @@
  : Weapon()
 {
+//     this->registerObject(this, HeavyBlaster::_objectList);
+
     // TODO add leftRight to params
     this->init(0);
Index: trunk/src/world_entities/weapons/heavy_blaster.h
===================================================================
--- trunk/src/world_entities/weapons/heavy_blaster.h	(revision 10498)
+++ trunk/src/world_entities/weapons/heavy_blaster.h	(revision 10499)
@@ -10,10 +10,10 @@
 /**
  *	@author Marc Schaerer <marcscha@ee.ethz.ch>
- *  
+ *
  *  Heavy Blaster class
  */
 class HeavyBlaster : public Weapon
 {
-  //ObjectListDeclaration(HeavyBlaster);
+//   ObjectListDeclaration(HeavyBlaster);
   public:
     HeavyBlaster(int leftRight);
