Index: trunk/src/util/hud.cc
===================================================================
--- trunk/src/util/hud.cc	(revision 6753)
+++ trunk/src/util/hud.cc	(revision 6756)
@@ -154,17 +154,9 @@
   std::list<GLGuiWidget*>::iterator weaponWidget;
   float pos = .2;
-  bool test = true;
-  for (weaponWidget = this->weaponsWidgets.begin(); weaponWidget != this->weaponsWidgets.end(); weaponWidget++, pos+=.03, test = !test)
+  for (weaponWidget = this->weaponsWidgets.begin(); weaponWidget != this->weaponsWidgets.end(); weaponWidget++, pos+=.03)
   {
-    if (test)
-    {
       (*weaponWidget)->setSize2D(.02*this->resX, .2 *this->resY);
       (*weaponWidget)->setAbsCoor2D(pos*this->resX, .75*this->resY);
-    }
-    else
-    {
-      (*weaponWidget)->setSize2D(.02*this->resX, .17*this->resY);
-      (*weaponWidget)->setAbsCoor2D((pos-.008)*this->resX, .75*this->resY);
-    }
+
   }
 }
Index: trunk/src/world_entities/environments/water.cc
===================================================================
--- trunk/src/world_entities/environments/water.cc	(revision 6753)
+++ trunk/src/world_entities/environments/water.cc	(revision 6756)
@@ -180,5 +180,5 @@
            4 * this->grid->height(i, j);
       this->velocities[i][j] += dt * this->viscosity * this->viscosity * u / this->height;
-      this->grid->height(i, j) += dt * this->velocities[i][j];
+      this->grid->height(i, j) += dt * this->velocities[i][j] + dt * this->cohesion * u / this->height;;
     }
   }
@@ -194,30 +194,10 @@
     this->grid->height(i,this->grid->columns()-1) = this->grid->height(i, this->grid->columns()-2);
   }
-  /*  // advect
-    for(j = 1; j < this->grid->rows() - 1; j++) {
+  /*
+  for(j = 1; j < this->grid->rows() - 1; j++) {
       for(i = 1; i < this->grid->columns() - 1; i++) {
         this->grid->height(i, j) += dt * this->velocities[i][j];
       }
     }*/
-  // bound
-  //   unsigned int w = this->grid->columns - 1;
-  //   for(i = 0; i < this->grid->columns; i++) {
-  //     _map[i][0].u[1] = _map[i][1  ].u[1];
-  //     _map[i][w].u[1] = _map[i][w-1].u[1];
-  //     _map[0][i].u[1] = _map[1  ][i].u[1];
-  //     _map[w][i].u[1] = _map[w-1][i].u[1];
-  //   }
-
-  // diffusion
-  for(j = 1; j < this->grid->rows() - 1; j++)
-  {
-    for(i = 1; i < this->grid->columns() - 1 ; i++)
-    {
-      u = this->grid->height(i+1, j) + this->grid->height(i-1, j) +
-          this->grid->height(i, j+1) + this->grid->height(i, j-1) -
-          4* this->grid->height(i, j);
-      this->grid->height(i,j) += dt * this->cohesion * u / this->height;
-    }
-  }
 
   // calc normals
Index: trunk/src/world_entities/space_ships/space_ship.cc
===================================================================
--- trunk/src/world_entities/space_ships/space_ship.cc	(revision 6753)
+++ trunk/src/world_entities/space_ships/space_ship.cc	(revision 6756)
@@ -27,4 +27,7 @@
 #include "weapons/turret.h"
 #include "weapons/cannon.h"
+
+#include "particle_emitter.h"
+#include "sprite_particles.h"
 
 #include "factory.h"
@@ -210,4 +213,24 @@
 
   dynamic_cast<Element2D*>(this->getWeaponManager()->getFixedTarget())->setVisibility( false);
+
+  this->burstEmitter = new ParticleEmitter(Vector(-1,0,0), 1, 200, 0.0);
+  this->burstEmitter->setParent(this);
+  this->burstEmitter->setName("SpaceShip_Burst_emitter");
+
+
+  this->burstSystem = new SpriteParticles(1000);
+  this->burstSystem->addEmitter(this->burstEmitter);
+  this->burstSystem->setName("SpaceShip_Burst_System");
+  ((SpriteParticles*)this->burstSystem)->setMaterialTexture("maps/radial-trans-noise.png");
+  this->burstSystem->setLifeSpan(1.0, .3);
+  this->burstSystem->setRadius(0.0, 2.0);
+  this->burstSystem->setRadius(0.05, 3.0);
+  this->burstSystem->setRadius(.5, .8);
+  this->burstSystem->setRadius(1.0, .8);
+  this->burstSystem->setColor(0.0, 1,0,0,.7);
+  this->burstSystem->setColor(0.2, .8,.8,0,.5);
+  this->burstSystem->setColor(0.5, .8,.8,.8,.8);
+  this->burstSystem->setColor(1.0, .8,.8,.8,.0);
+
 }
 
@@ -219,5 +242,5 @@
 void SpaceShip::loadParams(const TiXmlElement* root)
 {
-  WorldEntity::loadParams(root);
+  Playable::loadParams(root);
 }
 
@@ -315,4 +338,5 @@
   velocity += ((this->getAbsDirX())*travelSpeed-velocity)*airViscosity;
   velocity = (velocity.getNormalized())*travelSpeed;
+  this->burstEmitter->setEmissionRate(travelSpeed);
 
   //orient the spaceship in direction of the mouse
Index: trunk/src/world_entities/space_ships/space_ship.h
===================================================================
--- trunk/src/world_entities/space_ships/space_ship.h	(revision 6753)
+++ trunk/src/world_entities/space_ships/space_ship.h	(revision 6756)
@@ -10,8 +10,10 @@
 #include "extendable.h"
 
-
+// Forward Declaration
 template<class T> class tList;
 class Vector;
 class Event;
+class ParticleEmitter;
+class ParticleSystem;
 
 class SpaceShip : public Playable
@@ -83,4 +85,6 @@
     int oldMask;
 
+    ParticleEmitter*      burstEmitter;
+    ParticleSystem*       burstSystem;
 };
 
Index: trunk/src/world_entities/weapons/weapon.cc
===================================================================
--- trunk/src/world_entities/weapons/weapon.cc	(revision 6753)
+++ trunk/src/world_entities/weapons/weapon.cc	(revision 6756)
@@ -86,4 +86,6 @@
   this->soundSource = new SoundSource(this);       //< Every Weapon has exacty one SoundSource.
   this->emissionPoint.setParent(this);             //< One EmissionPoint, that is a PNode connected to the weapon. You can set this to the exitting point of the Projectiles
+
+  this->target = NULL;                             //< Nothing is Targeted by default.
 
   this->projectile = CL_NULL;                      //< No Projectile Class is Connected to this weapon
Index: trunk/src/world_entities/weapons/weapon.h
===================================================================
--- trunk/src/world_entities/weapons/weapon.h	(revision 6753)
+++ trunk/src/world_entities/weapons/weapon.h	(revision 6756)
@@ -125,4 +125,6 @@
     inline const Vector& getEmissionPoint() const { return this->emissionPoint.getAbsCoor(); };
 
+    inline void setTarget(PNode* target) { this->target = target; };
+
     // STATE CHANGES //
     /** @param state the State to time @param duration the duration of the State */
@@ -207,4 +209,6 @@
     GLGuiBar*            energyWidget;
 
+    PNode*               target;                           //!< A target for targeting Weapons.
+
     ////////////
     // PHASES //
