Index: code/branches/fabienHS15/src/modules/overlays/CMakeLists.txt
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/CMakeLists.txt	(revision 10795)
+++ code/branches/fabienHS15/src/modules/overlays/CMakeLists.txt	(revision 10814)
@@ -16,4 +16,5 @@
   LINK_LIBRARIES
     orxonox
+    weapons
   SOURCE_FILES ${OVERLAYS_SRC_FILES}
 )
Index: code/branches/fabienHS15/src/modules/overlays/OverlaysPrereqs.h
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/OverlaysPrereqs.h	(revision 10795)
+++ code/branches/fabienHS15/src/modules/overlays/OverlaysPrereqs.h	(revision 10814)
@@ -90,5 +90,7 @@
     class HUDRadar;
     class HUDSpeedBar;
+    class HUDShieldBar;
     class HUDBoostBar;
+    class HUDRocketFuelBar;
     class HUDTimer;
     class HUDAimAssistant;
Index: code/branches/fabienHS15/src/modules/overlays/hud/CMakeLists.txt
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/CMakeLists.txt	(revision 10795)
+++ code/branches/fabienHS15/src/modules/overlays/hud/CMakeLists.txt	(revision 10814)
@@ -7,4 +7,5 @@
   HUDShieldBar.cc
   HUDHealthBar.cc
+  HUDRocketFuelBar.cc
   HUDTimer.cc
   HUDEnemyHealthBar.cc
Index: code/branches/fabienHS15/src/modules/overlays/hud/HUDRocketFuelBar.cc
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDRocketFuelBar.cc	(revision 10814)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDRocketFuelBar.cc	(revision 10814)
@@ -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 2src/libraries/core/class/Identifier.h
+ *   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:
+ *      Fabien Vultier
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "HUDRocketFuelBar.h"
+
+#include "core/CoreIncludes.h"
+#include "weapons/projectiles/Rocket.h"
+
+namespace orxonox
+{
+    RegisterClass(HUDRocketFuelBar);
+
+    HUDRocketFuelBar::HUDRocketFuelBar(Context* context) : HUDBar(context)
+    {
+        RegisterObject(HUDRocketFuelBar);
+
+        this->owner_ = NULL;
+    }
+
+    HUDRocketFuelBar::~HUDRocketFuelBar()
+    {
+    }
+
+    void HUDRocketFuelBar::tick(float dt)
+    {
+        SUPER(HUDRocketFuelBar, tick, dt);
+
+        if (this->owner_)
+        {
+            float maxFuel = this->owner_->getMaxFuel();
+            if (maxFuel > 0.0)
+            {
+                this->setValue(this->owner_->getFuel()/maxFuel);
+            }
+            else
+            {
+                this->setValue(0.0);
+            }
+        }
+    }
+
+    void HUDRocketFuelBar::changedOwner()
+    {
+        SUPER(HUDRocketFuelBar, changedOwner);
+
+        this->owner_ = orxonox_cast<Rocket*>(this->getOwner());
+    }
+}
Index: code/branches/fabienHS15/src/modules/overlays/hud/HUDRocketFuelBar.h
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDRocketFuelBar.h	(revision 10814)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDRocketFuelBar.h	(revision 10814)
@@ -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:
+ *      Fabien Vultier
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+ /**
+    @file HUDRocketFuelBar.h
+    @brief Definition of the HUDRocketFuelBar class. This HUDBar displays the the amount of fuel  that a rocket has.
+*/
+
+#ifndef _HUDRocketFuelBar_H__
+#define _HUDRocketFuelBar_H__
+
+#include "overlays/OverlaysPrereqs.h"
+
+#include "tools/interfaces/Tickable.h"
+#include "weapons/projectiles/Rocket.h"
+#include "HUDBar.h"
+
+namespace orxonox
+{
+    class _OverlaysExport HUDRocketFuelBar : public HUDBar, public Tickable
+    {
+    public:
+        HUDRocketFuelBar(Context* context);
+        virtual ~HUDRocketFuelBar();
+
+        virtual void tick(float dt);
+        virtual void changedOwner();
+
+    private:
+        Rocket* owner_;
+    };
+}
+#endif /* _HUDRocketFuelBar_H__ */
Index: code/branches/fabienHS15/src/modules/weapons/WeaponsPrereqs.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/WeaponsPrereqs.h	(revision 10795)
+++ code/branches/fabienHS15/src/modules/weapons/WeaponsPrereqs.h	(revision 10814)
@@ -69,11 +69,15 @@
 {
     class MuzzleFlash;
+    class IceGunFreezer;
+    class RocketController;
 
     // munitions
     class FusionMunition;
     class LaserMunition;
-    class ReplenishingMunition;
     class RocketMunition;
     class GravityBombMuntion;
+    class IceMunition;
+    class LightningMunition;
+    class SplitMunition;
 
     // projectiles
@@ -81,5 +85,8 @@
     class LightningGunProjectile;
     class ParticleProjectile;
+    class IceProjectile;
+    class SplitProjectile;
     class Projectile;
+    class BasicProjectile;
     class Rocket;
     class RocketOld;
@@ -91,4 +98,6 @@
     class FusionFire;
     class HsW01;
+    class IceGun;
+    class SplitGun;
     class LaserFire;
     class LightningGun;
Index: code/branches/fabienHS15/src/modules/weapons/projectiles/Rocket.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/projectiles/Rocket.cc	(revision 10795)
+++ code/branches/fabienHS15/src/modules/weapons/projectiles/Rocket.cc	(revision 10814)
@@ -66,5 +66,5 @@
 
         this->localAngularVelocity_ = 0;
-        this->lifetime_ = 100.0f;
+        this->lifetime_ = 20.0f;
 
         if (GameMode::isMaster())
@@ -100,6 +100,4 @@
             this->attachCollisionShape(collisionShape);
 
-            this->destroyTimer_.setTimer(this->lifetime_, false, createExecutor(createFunctor(&BasicProjectile::destroyObject, this)));
-
             // Add sound
             this->defSndWpnEngine_ = new WorldSound(this->getContext());
@@ -114,4 +112,6 @@
             this->defSndWpnLaunch_->setVolume(1.0f);
             this->attach(defSndWpnLaunch_);
+
+            this->setHudTemplate("rockethud");
         }
         else
@@ -320,3 +320,13 @@
     }
 
+    float Rocket::getFuel() const
+    {
+        return this->destroyTimer_.getRemainingTime();
+    }
+
+    void Rocket::setMaxFuel(float fuel)
+    {
+        this->lifetime_ = fuel;
+        this->destroyTimer_.setTimer(this->lifetime_, false, createExecutor(createFunctor(&BasicProjectile::destroyObject, this)));
+    }
 }
Index: code/branches/fabienHS15/src/modules/weapons/projectiles/Rocket.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/projectiles/Rocket.h	(revision 10795)
+++ code/branches/fabienHS15/src/modules/weapons/projectiles/Rocket.h	(revision 10814)
@@ -118,4 +118,15 @@
             virtual void fired(unsigned int firemode);
 
+            /**
+            @brief Set the maximum lifetime of the rocket.
+            */
+            virtual void setMaxFuel(float fuel);
+            /**
+            @brief Get the maximum lifetime of the rocket.
+            */
+            inline float getMaxFuel() const
+                { return lifetime_; }
+            virtual float getFuel() const;
+
         private:
             Vector3 localAngularVelocity_; //!< Variable to temporarily store accumulated steering command input.
Index: code/branches/fabienHS15/src/modules/weapons/weaponmodes/RocketFire.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/weaponmodes/RocketFire.cc	(revision 10795)
+++ code/branches/fabienHS15/src/modules/weapons/weaponmodes/RocketFire.cc	(revision 10814)
@@ -41,5 +41,5 @@
 #include "weaponsystem/WeaponSystem.h"
 #include "worldentities/pawns/Pawn.h"
-
+#include "core/XMLPort.h"
 #include "weapons/projectiles/Rocket.h"
 
@@ -56,4 +56,5 @@
         this->damage_ = 0.0f;
         this->speed_ = 500.0f;
+        this->fuel_ = 10.0f;
 
         this->setMunitionName("RocketMunition");
@@ -65,4 +66,15 @@
     RocketFire::~RocketFire()
     {
+    }
+
+    /**
+    @brief
+        XMLPort for the RocketFire. You can define the maximum lifetime of the rockets
+    */
+    void RocketFire::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(RocketFire, XMLPort, xmlelement, mode);
+
+        XMLPortParam(RocketFire, "fuel", setFuel, getFuel, xmlelement, mode);
     }
 
@@ -85,4 +97,5 @@
         rocket->setShieldDamage(this->getShieldDamage());
         rocket->setHealthDamage(this->getHealthDamage());
+        rocket->setMaxFuel(this->fuel_);
     }
 }
Index: code/branches/fabienHS15/src/modules/weapons/weaponmodes/RocketFire.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/weaponmodes/RocketFire.h	(revision 10795)
+++ code/branches/fabienHS15/src/modules/weapons/weaponmodes/RocketFire.h	(revision 10814)
@@ -54,8 +54,15 @@
             virtual ~RocketFire();
 
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
             virtual void fire();
+            inline void setFuel(float fuel)
+                { this->fuel_ = fuel; }
+            inline float getFuel() const
+                { return this->fuel_; }
 
         private:
             float speed_; //!< The speed of the Rocket.
+            float fuel_; //!< The maximum lifetime of the rocket
     };
 }
Index: code/branches/fabienHS15/src/modules/weapons/weaponmodes/SplitGun.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/weaponmodes/SplitGun.cc	(revision 10795)
+++ code/branches/fabienHS15/src/modules/weapons/weaponmodes/SplitGun.cc	(revision 10814)
@@ -35,5 +35,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/XMLPort.h"    
+#include "core/XMLPort.h"
 #include "weaponsystem/Weapon.h"
 #include "weaponsystem/WeaponPack.h"
