Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/Weapon.cc
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/Weapon.cc	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/Weapon.cc	(revision 11164)
@@ -134,4 +134,7 @@
     }
 
+    void Weapon::release(unsigned int mode)
+    {orxout() << "release weapon " << mode << endl;}
+
     /**
     @brief
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/Weapon.h
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/Weapon.h	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/Weapon.h	(revision 11164)
@@ -53,4 +53,5 @@
 
             void fire(unsigned int mode);
+            void release(unsigned int mode);
             void reload();
 
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.cc
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.cc	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.cc	(revision 11164)
@@ -169,5 +169,6 @@
     }
 
-    void WeaponMode::release()
+    void WeaponMode::release(float* reloadTime)
+    {orxout() << "release wmode " << reloadTime << endl;}
 
     bool WeaponMode::reload()
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.h
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.h	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.h	(revision 11164)
@@ -58,4 +58,5 @@
 
             virtual bool fire(float* reloadTime);
+            virtual void release(float* reloadTime);
             bool reload();
 
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponPack.cc
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponPack.cc	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponPack.cc	(revision 11164)
@@ -78,4 +78,11 @@
         for (Weapon* weapon : this->weapons_)
             weapon->fire(weaponmode);
+    }
+
+    void WeaponPack::release(unsigned int weaponmode)
+    {
+        for (Weapon* weapon : this->weapons_)
+            weapon->release(weaponmode);
+        orxout() << "release wpack " << weaponmode << endl;
     }
 
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponPack.h
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponPack.h	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponPack.h	(revision 11164)
@@ -47,4 +47,5 @@
 
             void fire(unsigned int weaponmode);
+            void release(unsigned int weaponmode);
             void reload();
 
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSet.cc
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSet.cc	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSet.cc	(revision 11164)
@@ -68,4 +68,15 @@
     }
 
+    void WeaponSet::release()
+    {
+        
+        // Fire all WeaponPacks with their defined weaponmode
+        for (const auto& mapEntry : this->weaponpacks_)
+            if (mapEntry.second != WeaponSystem::WEAPON_MODE_UNASSIGNED)
+                mapEntry.first->release(mapEntry.second);
+        orxout() << "release wset " << endl;
+        
+    }
+
     void WeaponSet::reload()
     {
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSet.h
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSet.h	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSet.h	(revision 11164)
@@ -47,4 +47,5 @@
 
             void fire();
+            void release();
             void reload();
 
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSystem.cc
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSystem.cc	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSystem.cc	(revision 11164)
@@ -299,4 +299,5 @@
         if (it != this->weaponSets_.end() && it->second)
             it->second->release();
+        orxout() << "release wsys " << firemode << endl;
     }
 
Index: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSystem.h
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSystem.h	(revision 11153)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSystem.h	(revision 11164)
@@ -75,6 +75,6 @@
 
             void fire(unsigned int firemode);
+            void release(unsigned int firemode);
             void reload();
-            void release(unsigned int firemode);
 
             Munition * getMunition(SubclassIdentifier<Munition> * identifier);
