Index: code/trunk/data/levels/includes/weaponSettingsRing.oxi
===================================================================
--- code/trunk/data/levels/includes/weaponSettingsRing.oxi	(revision 10649)
+++ code/trunk/data/levels/includes/weaponSettingsRing.oxi	(revision 10650)
@@ -1,4 +1,5 @@
 <weaponslots>
   <WeaponSlot position="11,0,-7" />
+  <WeaponSlot position="0,0,-7" />
   <WeaponSlot position="-11,0,-7" />
 </weaponslots>
@@ -14,8 +15,11 @@
     </links>
     <Weapon>
-      <IceGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 muzzleoffset=" 0.1, 1.4,-3" freezefactor=0.5 freezetime=2.0 />
+      <IceGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 muzzleoffset="11,0,-3" freezefactor=0.5 freezetime=2.0 />
     </Weapon>
     <Weapon>
-      <IceGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 muzzleoffset=" 0.1, 1.4,-3" freezefactor=0.5 freezetime=2.0 />
+      <IceGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 muzzleoffset=" -11,0,-3" freezefactor=0.5 freezetime=2.0 />
+    </Weapon>
+    <Weapon>
+      <GravityBombFire mode=1 munitionpershot=0 delay=0.125 damage=3 muzzleoffset="0,0,-7"/>
     </Weapon>
   </WeaponPack>
Index: code/trunk/src/orxonox/weaponsystem/Weapon.cc
===================================================================
--- code/trunk/src/orxonox/weaponsystem/Weapon.cc	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/Weapon.cc	(revision 10650)
@@ -95,4 +95,8 @@
     }
 
+    /**
+    @brief
+        Fire this Weapon with the the WeaponMode defined by @param mode
+    */
     void Weapon::fire(unsigned int mode)
     {
Index: code/trunk/src/orxonox/weaponsystem/Weapon.h
===================================================================
--- code/trunk/src/orxonox/weaponsystem/Weapon.h	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/Weapon.h	(revision 10650)
@@ -39,4 +39,9 @@
 namespace orxonox
 {
+    /**
+    @brief
+        A Weapon is a StaticEntity that can be attached to a WeaponSlot. A Weapon can shoot with different @ref orxonox::WeaponMode modes.
+        Imagine for example that a machine gun can shoot normal bullets, tracer bullets or even grenades.
+    */    
     class _OrxonoxExport Weapon : public StaticEntity
     {
@@ -53,4 +58,8 @@
             WeaponMode* getWeaponmode(unsigned int index) const;
 
+            /**
+            @brief
+                This function is called by a @ref orxonox::WeaponPack if this Weapon is added to the WeaponPack.
+            */
             inline void setWeaponPack(WeaponPack * weaponPack)
                 { this->weaponPack_ = weaponPack; this->notifyWeaponModes(); }
@@ -58,4 +67,8 @@
                 { return this->weaponPack_; }
 
+            /**
+            @brief
+                This function is called by a @ref orxonox::WeaponSlot if this Weapon gets attached to the WeaponSlot.
+            */
             inline void setWeaponSlot(WeaponSlot * wSlot)
                 { this->weaponSlot_ = wSlot; }
Index: code/trunk/src/orxonox/weaponsystem/WeaponMode.cc
===================================================================
--- code/trunk/src/orxonox/weaponsystem/WeaponMode.cc	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/WeaponMode.cc	(revision 10650)
@@ -128,5 +128,5 @@
         if (!this->bReloading_ && this->munition_ && this->munition_->takeMunition(this->munitionPerShot_, this))
         {
-            float reloadtime = this->reloadTime_;
+            float tempReloadtime = this->reloadTime_;
 
             if (this->bAutoReload_ && this->munition_->needReload(this))
@@ -135,12 +135,12 @@
                 {
                     if (this->bParallelReload_)
-                        reloadtime = std::max(this->reloadTime_, this->munition_->getReloadTime());
+                        tempReloadtime = std::max(this->reloadTime_, this->munition_->getReloadTime());
                     else
-                        reloadtime = this->reloadTime_ + this->munition_->getReloadTime();
+                        tempReloadtime = this->reloadTime_ + this->munition_->getReloadTime();
                 }
             }
 
             this->bReloading_ = true;
-            this->reloadTimer_.setInterval(reloadtime);
+            this->reloadTimer_.setInterval(tempReloadtime);
             this->reloadTimer_.startTimer();
 
Index: code/trunk/src/orxonox/weaponsystem/WeaponMode.h
===================================================================
--- code/trunk/src/orxonox/weaponsystem/WeaponMode.h	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/WeaponMode.h	(revision 10650)
@@ -41,4 +41,8 @@
 namespace orxonox
 {
+    /**
+    @brief
+        A WeaponMode defines how a Weapon is used. It specifies what kind of @ref orxonox::Projectile is created when you fire it, how much time it takes to reload, what sound you hear while shooting, how much damage the projectile deals to a target, ...
+    */
     class _OrxonoxExport WeaponMode : public BaseObject
     {
Index: code/trunk/src/orxonox/weaponsystem/WeaponPack.cc
===================================================================
--- code/trunk/src/orxonox/weaponsystem/WeaponPack.cc	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/WeaponPack.cc	(revision 10650)
@@ -70,4 +70,8 @@
     }
 
+    /**
+    @brief
+        Fire all weapons in this WeaponSet with the defined weaponmode.
+    */
     void WeaponPack::fire(unsigned int weaponmode)
     {
@@ -76,4 +80,8 @@
     }
 
+    /**
+    @brief
+        Reload all weapons in this WeaponSet.
+    */
     void WeaponPack::reload()
     {
Index: code/trunk/src/orxonox/weaponsystem/WeaponSet.cc
===================================================================
--- code/trunk/src/orxonox/weaponsystem/WeaponSet.cc	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/WeaponSet.cc	(revision 10650)
@@ -62,5 +62,5 @@
     void WeaponSet::fire()
     {
-        // fire all WeaponPacks with their defined weaponmode
+        // Fire all WeaponPacks with their defined weaponmode
         for (std::map<WeaponPack*, unsigned int>::iterator it = this->weaponpacks_.begin(); it != this->weaponpacks_.end(); ++it)
             if (it->second != WeaponSystem::WEAPON_MODE_UNASSIGNED)
@@ -70,5 +70,5 @@
     void WeaponSet::reload()
     {
-        // fire all WeaponPacks with their defined weaponmode
+        // Reload all WeaponPacks with their defined weaponmode
         for (std::map<WeaponPack*, unsigned int>::iterator it = this->weaponpacks_.begin(); it != this->weaponpacks_.end(); ++it)
             it->first->reload();
Index: code/trunk/src/orxonox/weaponsystem/WeaponSlot.h
===================================================================
--- code/trunk/src/orxonox/weaponsystem/WeaponSlot.h	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/WeaponSlot.h	(revision 10650)
@@ -37,5 +37,5 @@
     /**
     @brief
-        The a WeaponSlot defines where a @ref orxonox::Weapon "Weapon" is placed on a pawn. (A WeaponSlot is a StaticEntity)
+        The a WeaponSlot defines where a @ref orxonox::Weapon "Weapon" is placed on a pawn. A WeaponSlot is a @ref orxonox::StaticEntity, therefore it has a position and orientation.
         In a WeaponSlot there can be only one "Weapon", but a Weapon can have several @ref orxonox::WeaponMode "WeaponModes".
         A WeaponMode is what one intuitively imagines as weapon. (E.g. RocketFire, LightningGun, LaserFire are weaponmodes)
Index: code/trunk/src/orxonox/weaponsystem/WeaponSystem.cc
===================================================================
--- code/trunk/src/orxonox/weaponsystem/WeaponSystem.cc	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/WeaponSystem.cc	(revision 10650)
@@ -283,4 +283,8 @@
     }
 
+    /**
+    @brief
+        Fires the @ref Orxonox::WeaponSet with the specified firemode.
+    */
     void WeaponSystem::fire(unsigned int firemode)
     {
Index: code/trunk/src/orxonox/weaponsystem/WeaponSystem.h
===================================================================
--- code/trunk/src/orxonox/weaponsystem/WeaponSystem.h	(revision 10649)
+++ code/trunk/src/orxonox/weaponsystem/WeaponSystem.h	(revision 10650)
@@ -40,4 +40,9 @@
 namespace orxonox
 {
+    /**
+    @brief
+        An @ref orxonox::Pawn that is able to fire weapons always need to have a WeaponSystem. The WeaponSystem manages all the @ref orxonox::WeaponSet, @ref orxonox::WeaponPack and @ref orxonox::WeaponSlot classes.
+        
+    */       
     class _OrxonoxExport WeaponSystem : public BaseObject
     {
Index: code/trunk/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/trunk/src/orxonox/worldentities/pawns/Pawn.cc	(revision 10649)
+++ code/trunk/src/orxonox/worldentities/pawns/Pawn.cc	(revision 10650)
@@ -299,5 +299,4 @@
     }
 
-
     void Pawn::kill()
     {
@@ -319,5 +318,4 @@
         }
     }
-
 
     void Pawn::death()
@@ -472,4 +470,8 @@
     }
 
+    /**
+    @brief
+        Check whether the Pawn has a @ref Orxonox::WeaponSystem and fire it with the specified firemode if it has one.
+    */
     void Pawn::fired(unsigned int firemode)
     {
