Index: code/branches/weapon/src/orxonox/objects/weaponSystem/Weapon.h
===================================================================
--- code/branches/weapon/src/orxonox/objects/weaponSystem/Weapon.h	(revision 2049)
+++ code/branches/weapon/src/orxonox/objects/weaponSystem/Weapon.h	(revision 2060)
@@ -46,8 +46,8 @@
 
             void addMunition();
-            void fire();
+            virtual void fire();
 
         private:
-                        int loadingTime;
+            int loadingTime;
             Munition *munition_;
 
Index: code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSet.cc
===================================================================
--- code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSet.cc	(revision 2049)
+++ code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSet.cc	(revision 2060)
@@ -38,7 +38,13 @@
 namespace orxonox
 {
-    WeaponSet::WeaponSet()
+    WeaponSet::WeaponSet(int k)
     {
         RegisterObject(WeaponSet);
+
+        for (int i=0;i<k;i++)
+        {
+            this->wSlotNew = new WeaponSlot();
+            attachWeaponSlot(wSlotNew);
+        }
     }
 
@@ -63,4 +69,10 @@
     }
 
+    WeaponSlot * getWeaponSlotPointer(int n)
+    {
+        return this->weaponSlots_[n];
+    }
+
+
     void WeaponSet::XMLPort(Element& xmlelement, XMLPort::Mode mode)
     {
Index: code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSet.h
===================================================================
--- code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSet.h	(revision 2049)
+++ code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSet.h	(revision 2060)
@@ -43,5 +43,5 @@
     {
         public:
-            WeaponSet();
+            WeaponSet(int k);
             virtual ~WeaponSet();
 
@@ -50,4 +50,6 @@
             void WeaponSet::attachWeaponSlot(WeaponSlot *wSlot);
             void WeaponSet::fire();
+            WeaponSlot * getWeaponSlotPointer(int n);
+
             inline void WeaponSet::setParentWeaponSystem(WeaponSystem *parentWeaponSystem)
                 { parentWeaponSystem_=parentWeaponSystem; }
Index: code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSlot.cc
===================================================================
--- code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSlot.cc	(revision 2049)
+++ code/branches/weapon/src/orxonox/objects/weaponSystem/WeaponSlot.cc	(revision 2060)
@@ -59,7 +59,5 @@
     void WeaponSlot::setAmmoType(bool isUnlimited)
     {
-        if (isUnlimited == true)
-            unlimitedAmmo_ = true;
-        else unlimitedAmmo_ = false;
+        unlimitedAmmo_ = isUnlimited;
     }
 
Index: code/branches/weapon/src/orxonox/objects/weaponSystem/weapons/LaserGun.cc
===================================================================
--- code/branches/weapon/src/orxonox/objects/weaponSystem/weapons/LaserGun.cc	(revision 2049)
+++ code/branches/weapon/src/orxonox/objects/weaponSystem/weapons/LaserGun.cc	(revision 2060)
@@ -40,4 +40,6 @@
     {
         RegisterObject(LaserGun);
+
+        projectileColor_ = ColourValue(1.0, 1.0, 0.5)
     }
 
@@ -46,7 +48,20 @@
     }
 
+    LaserGun::fire()
+    {
+            BillboardProjectile* projectile = new ParticleProjectile(this);
+            projectile->setColour(this->projectileColor_);
+            projectile->create();
+            if (projectile->getClassID() == 0)
+            {
+              COUT(3) << "generated projectile with classid 0" <<  std::endl; // TODO: remove this output
+            }
+
+            projectile->setObjectMode(0x3);
+    }
+
     LaserGun::addMunition()
     {
-        this->munition_ =
+        //this->munition_ = ;
     }
 
@@ -56,3 +71,7 @@
     }
 
+    ColorValue LaserGun::getProjectileColor()
+    {
+        return projectileColor_;
+    }
 }
Index: code/branches/weapon/src/orxonox/objects/weaponSystem/weapons/LaserGun.h
===================================================================
--- code/branches/weapon/src/orxonox/objects/weaponSystem/weapons/LaserGun.h	(revision 2049)
+++ code/branches/weapon/src/orxonox/objects/weaponSystem/weapons/LaserGun.h	(revision 2060)
@@ -35,4 +35,5 @@
 
 #include "LaserGunMunition.h"
+#include "../tools/BillboardSet.h"
 
 namespace orxonox
@@ -46,7 +47,8 @@
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 
-
+            ColourValue LaserGun::getProjectileColour();
 
         private:
+            ColorValue projectileColor_;
 
 
