Index: code/trunk/src/orxonox/OrxonoxPrereqs.h
===================================================================
--- code/trunk/src/orxonox/OrxonoxPrereqs.h	(revision 2095)
+++ code/trunk/src/orxonox/OrxonoxPrereqs.h	(revision 2096)
@@ -128,4 +128,10 @@
     class EventTrigger;
 
+    class WeaponSystem;
+    class WeaponSet;
+    class WeaponSlot;
+    class Weapon;
+    class Munition;
+
     class EventListener;
     class EventDispatcher;
Index: code/trunk/src/orxonox/objects/WeaponSystem.cc
===================================================================
--- code/trunk/src/orxonox/objects/WeaponSystem.cc	(revision 2096)
+++ code/trunk/src/orxonox/objects/WeaponSystem.cc	(revision 2096)
@@ -0,0 +1,89 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+
+#include <vector>
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Debug.h"
+
+#include "WeaponSystem.h"
+
+/* WEAPONSYSTEM
+ * creates the WeaponSystem and the ability to use weapons and munition
+ * loads the weapon the whole weaponSystem setting from an xml file
+ *
+ */
+
+namespace orxonox
+{
+    WeaponSystem::WeaponSystem()
+    {
+        RegisterObject(WeaponSystem);
+    }
+
+    WeaponSystem::~WeaponSystem()
+    {
+    }
+
+    //creates empty weaponSet
+    void WeaponSystem::attachWeaponSet(WeaponSet *wSet)
+    {
+        this->weaponSets_.push_back(wSet);
+        wSet->setParentWeaponSystem(this);
+    }
+
+    //the first weaponSet is at n=0
+    void WeaponSystem::setActiveWeaponSet(int n)
+    {
+        if ( (int) weaponSets_.size() <= n )
+            n=0;
+        this->activeWeaponSet_ = this->weaponSets_[n];
+    }
+
+    //n is the n'th weaponSet, starting with zero
+    //Spaceship.cc only needs to have the keybinding to a specific Set-number n
+    void WeaponSystem::fire(int n)
+    {
+        if (n>=0)
+            this->weaponSets_[n]->fire();
+    }
+
+    WeaponSet * getWeaponSetPointer(int n)
+    {
+        return this->weaponSets_[n];
+    }
+
+    void WeaponSystem::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+
+    }
+
+}
Index: code/trunk/src/orxonox/objects/WeaponSystem.h
===================================================================
--- code/trunk/src/orxonox/objects/WeaponSystem.h	(revision 2096)
+++ code/trunk/src/orxonox/objects/WeaponSystem.h	(revision 2096)
@@ -0,0 +1,68 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+
+#ifndef _WeaponSystem_H__
+#define _WeaponSystem_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/BaseObject.h"
+
+#include "weaponSystem/WeaponSet.h"
+
+namespace orxonox
+{
+    class _OrxonoxExport WeaponSystem : public BaseObject
+    {
+        public:
+            WeaponSystem();
+            virtual ~WeaponSystem();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+            void attachWeaponSet(WeaponSet *wSet);
+            void fire(int n);
+            void setActiveWeaponSet(int n);
+            WeaponSet * getWeaponSetPointer(int n);
+
+            inline void WeaponSystem::setParentSpaceShip(SpaceShip *parentSpaceShip)
+                { parentSpaceShip_=parentSpaceShip; }
+            inline SpaceShip * getParentSpaceShip()
+                { return parentSpaceShip_; }
+
+
+        private:
+            std::vector<WeaponSet *> weaponSets_;
+            WeaponSet *activeWeaponSet_;
+
+            SpaceShip *parentSpaceShip_;
+    };
+}
+
+#endif /* _WeaponSystem_H__ */
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 2096)
@@ -0,0 +1,53 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Debug.h"
+
+#include "Munition.h"
+
+namespace orxonox
+{
+    Munition::Munition()
+    {
+        RegisterObject(Munition);
+    }
+
+    Munition::~Munition()
+    {
+    }
+
+    void Munition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+
+    }
+
+}
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 2096)
@@ -0,0 +1,54 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _Munition_H__
+#define _Munition_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/BaseObject.h"
+
+
+namespace orxonox
+{
+    class _OrxonoxExport Munition : public BaseObject
+    {
+        public:
+            Munition();
+            virtual ~Munition();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+
+        private:
+
+
+    };
+}
+
+#endif /* _WeaponSystem_H__ */
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 2096)
@@ -0,0 +1,57 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Debug.h"
+
+#include "Weapon.h"
+
+namespace orxonox
+{
+    Weapon::Weapon()
+    {
+        RegisterObject(Weapon);
+    }
+
+    Weapon::~Weapon()
+    {
+    }
+
+    void Weapon::addMunition()
+    {
+
+    }
+
+    void Weapon::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+
+    }
+}
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 2096)
@@ -0,0 +1,59 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _Weapon_H__
+#define _Weapon_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/BaseObject.h"
+
+
+namespace orxonox
+{
+    class _OrxonoxExport Weapon : public BaseObject
+    {
+        public:
+            Weapon();
+            virtual ~Weapon();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+            void addMunition();
+            virtual void fire();
+
+        private:
+            int loadingTime;
+            Munition *munition_;
+
+
+
+    };
+}
+
+#endif /* _WeaponSystem_H__ */
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 2096)
@@ -0,0 +1,82 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ... *
+ */
+
+#include "OrxonoxStableHeaders.h"
+
+#include <vector>
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Debug.h"
+
+#include "WeaponSet.h"
+
+namespace orxonox
+{
+    WeaponSet::WeaponSet(int k)
+    {
+        RegisterObject(WeaponSet);
+
+        for (int i=0;i<k;i++)
+        {
+            this->wSlotNew = new WeaponSlot();
+            attachWeaponSlot(wSlotNew);
+        }
+    }
+
+    WeaponSet::~WeaponSet()
+    {
+    }
+
+    //Vorwärtsdeklaration
+    WeaponSystem * parentWeaponSystem_;
+
+    void WeaponSet::attachWeaponSlot(WeaponSlot *wSlot)
+    {
+        this->weaponSlots_.push_back(wSlot);
+    }
+
+    void WeaponSet::fire()
+    {
+        for (int i=0; i < (int) this->weaponSlots_.size(); i++)
+        {
+            this->weaponSlots_[i]->fire();
+        }
+    }
+
+    WeaponSlot * getWeaponSlotPointer(int n)
+    {
+        return this->weaponSlots_[n];
+    }
+
+
+    void WeaponSet::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+
+    }
+
+}
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 2096)
@@ -0,0 +1,65 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+
+#ifndef _WeaponSet_H__
+#define _WeaponSet_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/BaseObject.h"
+
+#include "WeaponSlot.h"
+
+
+namespace orxonox
+{
+    class _OrxonoxExport WeaponSet : public BaseObject
+    {
+        public:
+            WeaponSet(int k);
+            virtual ~WeaponSet();
+
+            virtual void WeaponSet::XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+            void WeaponSet::attachWeaponSlot(WeaponSlot *wSlot);
+            void WeaponSet::fire();
+            WeaponSlot * getWeaponSlotPointer(int n);
+
+            inline void WeaponSet::setParentWeaponSystem(WeaponSystem *parentWeaponSystem)
+                { parentWeaponSystem_=parentWeaponSystem; }
+            inline WeaponSystem * getParentWeaponSystem()
+                { return parentWeaponSystem_; }
+
+        private:
+            std::vector<WeaponSlot *> weaponSlots_;
+            WeaponSystem *parentWeaponSystem_;
+    };
+}
+
+#endif /* _WeaponSystem_H__ */
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 2096)
@@ -0,0 +1,73 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Debug.h"
+
+#include "WeaponSlot.h"
+
+
+
+namespace orxonox
+{
+    WeaponSlot::WeaponSlot()
+    {
+        RegisterObject(WeaponSlot);
+    }
+
+    WeaponSlot::~WeaponSlot()
+    {
+    }
+
+    void WeaponSlot::attachWeapon(Weapon *weaponName)
+    {
+
+    }
+
+    /*sets the munition type
+     *unlimited: true
+     *limited:   false  (in this case there will be munition)
+     */
+    void WeaponSlot::setAmmoType(bool isUnlimited)
+    {
+        unlimitedAmmo_ = isUnlimited;
+    }
+
+    void WeaponSlot::fire()
+    {
+
+    }
+
+    void WeaponSlot::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+
+    }
+}
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 2096)
@@ -0,0 +1,69 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _WeaponSlot_H__
+#define _WeaponSlot_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/BaseObject.h"
+
+
+#include "Weapon.h"
+
+
+namespace orxonox
+{
+    class _OrxonoxExport WeaponSlot : public BaseObject
+    {
+        public:
+            WeaponSlot();
+            virtual ~WeaponSlot();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+            void attachWeapon(Weapon *weaponName);
+            void setAmmoType(bool isUnlimited);
+            void fire();
+
+            inline void WeaponSlot::setParentWeaponSet(WeaponSet *parentWeaponSet)
+                { parentWeaponSet_=parentWeaponSet; }
+            inline WeaponSet * getParentWeaponSet()
+                { return parentWeaponSet_; }
+
+
+
+        private:
+            Weapon *attachedWeapon_;
+            bool unlimitedAmmo_;
+
+            WeaponSet *parentWeaponSet_;
+    };
+}
+
+#endif /* _WeaponSystem_H__ */
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 2096)
@@ -0,0 +1,53 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Debug.h"
+
+#include "LaserGunMunition.h"
+
+namespace orxonox
+{
+    LaserGunMunition::LaserGunMunition()
+    {
+        RegisterObject(LaserGunMunition);
+    }
+
+    LaserGunMunition::~LaserGunMunition()
+    {
+    }
+
+    void LaserGunMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+
+    }
+
+}
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 2096)
@@ -0,0 +1,58 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _LaserGunMunition_H__
+#define _LaserGunMunition_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/BaseObject.h"
+
+
+namespace orxonox
+{
+    class _OrxonoxExport LaserGunMunition : public BaseObject
+    {
+        public:
+            LaserGunMunition();
+            virtual ~LaserGunMunition();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+
+        private:
+            int bullets_;
+            int magazines_;
+            int maxBullets_;
+            int maxMagazines_;
+
+
+    };
+}
+
+#endif /* _WeaponSystem_H__ */
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 2096)
@@ -0,0 +1,77 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Debug.h"
+
+
+namespace orxonox
+{
+    LaserGun::LaserGun()
+    {
+        RegisterObject(LaserGun);
+
+        projectileColor_ = ColourValue(1.0, 1.0, 0.5)
+    }
+
+    LaserGun::~LaserGun()
+    {
+    }
+
+    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_ = ;
+    }
+
+    void LaserGun::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+
+    }
+
+    ColorValue LaserGun::getProjectileColor()
+    {
+        return projectileColor_;
+    }
+}
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 2096)
@@ -0,0 +1,59 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _LaserGun_H__
+#define _LaserGun_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/BaseObject.h"
+
+#include "LaserGunMunition.h"
+#include "../tools/BillboardSet.h"
+
+namespace orxonox
+{
+    class _OrxonoxExport LaserGun : public BaseObject : public Weapon
+    {
+        public:
+            LaserGun();
+            virtual ~LaserGun();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+            ColourValue LaserGun::getProjectileColour();
+
+        private:
+            ColorValue projectileColor_;
+
+
+
+    };
+}
+
+#endif /* _WeaponSystem_H__ */
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 2096)
@@ -0,0 +1,54 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OrxonoxStableHeaders.h"
+
+#include <list>
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Debug.h"
+
+
+namespace orxonox
+{
+    Missile::Missile()
+    {
+        RegisterObject(Missile);
+    }
+
+    Missile::~Missile()
+    {
+    }
+
+    void Missile::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+
+    }
+
+}
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 2096)
@@ -0,0 +1,54 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Martin Polak
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _Missile_H__
+#define _Missile_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/BaseObject.h"
+
+
+namespace orxonox
+{
+    class _OrxonoxExport Missile : public BaseObject : public Weapon
+    {
+        public:
+            Missile();
+            virtual ~Missile();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+
+        private:
+
+
+    };
+}
+
+#endif /* _WeaponSystem_H__ */
