Index: code/trunk/src/orxonox/objects/weaponSystem/Munition.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/Munition.cc	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/Munition.cc	(revision 2097)
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    Munition::Munition()
+    Munition::Munition(BaseObject* creator) : BaseObject(creator)
     {
         RegisterObject(Munition);
Index: code/trunk/src/orxonox/objects/weaponSystem/Munition.h
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/Munition.h	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/Munition.h	(revision 2097)
@@ -40,5 +40,5 @@
     {
         public:
-            Munition();
+            Munition(BaseObject* creator);
             virtual ~Munition();
 
Index: code/trunk/src/orxonox/objects/weaponSystem/Weapon.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/Weapon.cc	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/Weapon.cc	(revision 2097)
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    Weapon::Weapon()
+    Weapon::Weapon(BaseObject* creator) : BaseObject(creator)
     {
         RegisterObject(Weapon);
@@ -55,3 +55,8 @@
 
     }
+
+    void Weapon::fire()
+    {
+
+    }
 }
Index: code/trunk/src/orxonox/objects/weaponSystem/Weapon.h
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/Weapon.h	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/Weapon.h	(revision 2097)
@@ -40,5 +40,5 @@
     {
         public:
-            Weapon();
+            Weapon(BaseObject* creator);
             virtual ~Weapon();
 
Index: code/trunk/src/orxonox/objects/weaponSystem/WeaponSet.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/WeaponSet.cc	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/WeaponSet.cc	(revision 2097)
@@ -38,5 +38,5 @@
 namespace orxonox
 {
-    WeaponSet::WeaponSet(int k)
+    WeaponSet::WeaponSet(BaseObject* creator, int k) : BaseObject(creator)
     {
         RegisterObject(WeaponSet);
@@ -44,6 +44,5 @@
         for (int i=0;i<k;i++)
         {
-            this->wSlotNew = new WeaponSlot();
-            attachWeaponSlot(wSlotNew);
+            attachWeaponSlot(new WeaponSlot(this));
         }
     }
@@ -69,5 +68,5 @@
     }
 
-    WeaponSlot * getWeaponSlotPointer(int n)
+    WeaponSlot * WeaponSet::getWeaponSlotPointer(int n)
     {
         return this->weaponSlots_[n];
Index: code/trunk/src/orxonox/objects/weaponSystem/WeaponSet.h
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/WeaponSet.h	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/WeaponSet.h	(revision 2097)
@@ -43,5 +43,5 @@
     {
         public:
-            WeaponSet(int k);
+            WeaponSet(BaseObject* creator, int k = 0);
             virtual ~WeaponSet();
 
Index: code/trunk/src/orxonox/objects/weaponSystem/WeaponSlot.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/WeaponSlot.cc	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/WeaponSlot.cc	(revision 2097)
@@ -39,5 +39,5 @@
 namespace orxonox
 {
-    WeaponSlot::WeaponSlot()
+    WeaponSlot::WeaponSlot(BaseObject* creator) : BaseObject(creator)
     {
         RegisterObject(WeaponSlot);
Index: code/trunk/src/orxonox/objects/weaponSystem/WeaponSlot.h
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/WeaponSlot.h	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/WeaponSlot.h	(revision 2097)
@@ -43,5 +43,5 @@
     {
         public:
-            WeaponSlot();
+            WeaponSlot(BaseObject* creator);
             virtual ~WeaponSlot();
 
Index: code/trunk/src/orxonox/objects/weaponSystem/munitions/LaserGunMunition.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/munitions/LaserGunMunition.cc	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/munitions/LaserGunMunition.cc	(revision 2097)
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    LaserGunMunition::LaserGunMunition()
+    LaserGunMunition::LaserGunMunition(BaseObject* creator) : BaseObject(creator)
     {
         RegisterObject(LaserGunMunition);
Index: code/trunk/src/orxonox/objects/weaponSystem/munitions/LaserGunMunition.h
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/munitions/LaserGunMunition.h	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/munitions/LaserGunMunition.h	(revision 2097)
@@ -40,5 +40,5 @@
     {
         public:
-            LaserGunMunition();
+            LaserGunMunition(BaseObject* creator);
             virtual ~LaserGunMunition();
 
Index: code/trunk/src/orxonox/objects/weaponSystem/weapons/LaserGun.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/weapons/LaserGun.cc	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/weapons/LaserGun.cc	(revision 2097)
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    LaserGun::LaserGun()
+    LaserGun::LaserGun(BaseObject* creator) : Weapon(creator)
     {
         RegisterObject(LaserGun);
Index: code/trunk/src/orxonox/objects/weaponSystem/weapons/LaserGun.h
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/weapons/LaserGun.h	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/weapons/LaserGun.h	(revision 2097)
@@ -39,8 +39,8 @@
 namespace orxonox
 {
-    class _OrxonoxExport LaserGun : public BaseObject : public Weapon
+    class _OrxonoxExport LaserGun : public Weapon
     {
         public:
-            LaserGun();
+            LaserGun(BaseObject* creator);
             virtual ~LaserGun();
 
Index: code/trunk/src/orxonox/objects/weaponSystem/weapons/Missile.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/weapons/Missile.cc	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/weapons/Missile.cc	(revision 2097)
@@ -38,5 +38,5 @@
 namespace orxonox
 {
-    Missile::Missile()
+    Missile::Missile(BaseObject* creator) : Weapon(creator)
     {
         RegisterObject(Missile);
Index: code/trunk/src/orxonox/objects/weaponSystem/weapons/Missile.h
===================================================================
--- code/trunk/src/orxonox/objects/weaponSystem/weapons/Missile.h	(revision 2096)
+++ code/trunk/src/orxonox/objects/weaponSystem/weapons/Missile.h	(revision 2097)
@@ -40,5 +40,5 @@
     {
         public:
-            Missile();
+            Missile(BaseObject* creator);
             virtual ~Missile();
 
