Index: branches/playability/src/world_entities/projectiles/hbolt.cc
===================================================================
--- branches/playability/src/world_entities/projectiles/hbolt.cc	(revision 10035)
+++ branches/playability/src/world_entities/projectiles/hbolt.cc	(revision 10036)
@@ -41,5 +41,5 @@
   this->loadModel("models/projectiles/hbolt.obj");
 
-  this->setMinEnergy(20);
+  this->setMinEnergy(10);
   this->setHealthMax(0);
   this->lifeSpan = 5.0;
Index: branches/playability/src/world_entities/projectiles/mbolt.cc
===================================================================
--- branches/playability/src/world_entities/projectiles/mbolt.cc	(revision 10035)
+++ branches/playability/src/world_entities/projectiles/mbolt.cc	(revision 10036)
@@ -42,5 +42,5 @@
   this->loadModel("models/projectiles/laser.obj");
 
-  this->setMinEnergy(10);
+  this->setMinEnergy(4);
   this->setHealthMax(0);
   this->lifeSpan = 5.0;
Index: branches/playability/src/world_entities/space_ships/space_ship.cc
===================================================================
--- branches/playability/src/world_entities/space_ships/space_ship.cc	(revision 10035)
+++ branches/playability/src/world_entities/space_ships/space_ship.cc	(revision 10036)
@@ -512,12 +512,12 @@
 
   if( this->bFire)
-  {
     this->weaponMan.fire();
-  }
+  else
+    this->weaponMan.releaseFire();
+
   if( this->bSecFire)
-  {
     this->secWeaponMan.fire();
-    this->bSecFire = !this->bSecFire;   // FIXME This currently is needed to prevent "echo fires" of a second rocket after its cooldown has passed
-  }
+  else
+    this->secWeaponMan.releaseFire();
 
 
Index: branches/playability/src/world_entities/weapons/medium_blaster.cc
===================================================================
--- branches/playability/src/world_entities/weapons/medium_blaster.cc	(revision 10035)
+++ branches/playability/src/world_entities/weapons/medium_blaster.cc	(revision 10036)
@@ -51,5 +51,5 @@
   
 
-  this->setStateDuration(WS_SHOOTING, 0.1);   // 10 Schuss pro Sekunde
+  this->setStateDuration(WS_SHOOTING, 0.2);   // 5 Schuss pro Sekunde
 
   this->setStateDuration(WS_RELOADING, 0);
Index: branches/playability/src/world_entities/weapons/weapon.cc
===================================================================
--- branches/playability/src/world_entities/weapons/weapon.cc	(revision 10035)
+++ branches/playability/src/world_entities/weapons/weapon.cc	(revision 10036)
@@ -352,6 +352,6 @@
   if (likely(this->isActive()))
   {
-    if (this->requestedAction != WA_NONE)
-      return;
+    //if (this->requestedAction != WA_NONE)
+    //  return;
     PRINTF(5)("next action will be %s in %f seconds\n", actionToChar(action), this->stateDuration);
     this->requestedAction = action;
Index: branches/playability/src/world_entities/weapons/weapon_manager.cc
===================================================================
--- branches/playability/src/world_entities/weapons/weapon_manager.cc	(revision 10035)
+++ branches/playability/src/world_entities/weapons/weapon_manager.cc	(revision 10036)
@@ -116,4 +116,6 @@
 
   this->hideCrosshair();
+
+  this->bFire = false;
 }
 
@@ -441,4 +443,21 @@
 }
 
+/**
+ * triggers fire of all weapons in the current weaponconfig
+ */
+void WeaponManager::releaseFire()
+{
+  Weapon* firingWeapon;
+  for(int i = 0; i < this->slotCount; i++)
+  {
+    firingWeapon = this->currentSlotConfig[i].currentWeapon;
+    if( firingWeapon != NULL) firingWeapon->requestAction(WA_NONE);
+  }
+
+  /*
+  this->crosshair->setRotationSpeed(500);
+  this->crossHairSizeAnim->replay();
+  */
+}
 
 /**
@@ -449,4 +468,5 @@
 {
   Weapon* tickWeapon;
+
 
   for(int i = 0; i < this->slotCount; i++)
Index: branches/playability/src/world_entities/weapons/weapon_manager.h
===================================================================
--- branches/playability/src/world_entities/weapons/weapon_manager.h	(revision 10035)
+++ branches/playability/src/world_entities/weapons/weapon_manager.h	(revision 10036)
@@ -103,4 +103,5 @@
     //! @TODO: implement this function (maybe also in Weapon itself)
     void releaseFire();
+    //inline void setFire() { this->bFire = true; };
 
     void tick(float dt);
@@ -131,4 +132,6 @@
 
     std::vector<CountPointer<AmmoContainer> > ammo;                   //!< Containers
+
+    bool                    bFire;
 };
 
