Index: code/branches/invaders/src/modules/invader/Invader.cc
===================================================================
--- code/branches/invaders/src/modules/invader/Invader.cc	(revision 9875)
+++ code/branches/invaders/src/modules/invader/Invader.cc	(revision 9879)
@@ -69,5 +69,4 @@
         bEndGame = false;
         lives = 3;
-        // TODO:
         level = 1;
         point = 0;
@@ -114,5 +113,5 @@
             return;
         srand(player->getPosition().x + player->getPosition().y);
-        for (int i = 0; i < (3*log(level) + 1); i++)
+        for (int i = 0; i < (3*log10(level) + 1); i++)
         {
             WeakPtr<InvaderEnemy> newPawn;
Index: code/branches/invaders/src/modules/invader/InvaderWeaponEnemy.cc
===================================================================
--- code/branches/invaders/src/modules/invader/InvaderWeaponEnemy.cc	(revision 9875)
+++ code/branches/invaders/src/modules/invader/InvaderWeaponEnemy.cc	(revision 9879)
@@ -48,5 +48,5 @@
         // SUPER(InvaderWeaponEnemy, shot);
         // only shoot in foreward direction
-        projectile->setVelocity(Vector3(1, 0, 0) * -500);
+        projectile->setVelocity(Vector3(1, 0, 0) * 300);
         // projectile->setOrientation(Quaternion(sqrt(0.5),0,sqrt(0.5),0));
     }
Index: code/branches/invaders/src/orxonox/worldentities/BigExplosion.cc
===================================================================
--- code/branches/invaders/src/orxonox/worldentities/BigExplosion.cc	(revision 9875)
+++ code/branches/invaders/src/orxonox/worldentities/BigExplosion.cc	(revision 9879)
@@ -78,4 +78,40 @@
     }
 
+    BigExplosion::BigExplosion(Context* context, Vector3 initVelocity) : MobileEntity(context)
+    {
+        RegisterObject(BigExplosion);
+        this->setVelocity(initVelocity);
+
+        if ( GameMode::showsGraphics() && ( !this->getScene() || !this->getScene()->getSceneManager() ) )
+            ThrowException(AbortLoading, "Can't create BigExplosion, no scene or no scene manager given.");
+
+        this->bStop_ = false;
+        this->LOD_ = LODParticle::Normal;
+
+        if ( GameMode::showsGraphics() )
+        {
+            try
+            {
+                this->init();
+            }
+            catch (const std::exception& ex)
+            {
+                orxout(internal_error) << "Couldn't load particle effect in BigExplosion: " << ex.what() << endl;
+                this->initZero();
+            }
+        }
+        else
+        {
+            this->initZero();
+        }
+
+        if (GameMode::isMaster())
+        {
+            this->destroyTimer_.setTimer(rnd(2, 4), false, createExecutor(createFunctor(&BigExplosion::stop, this)));
+        }
+
+        this->registerVariables();
+    }
+
     void BigExplosion::init()
     {
@@ -152,6 +188,6 @@
         //
         ParticleSpawner* effect = new ParticleSpawner(this->getContext());
-        // orxout() << "vel " << getVelocity() << endl;
-        // effect->setVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1))*rnd(10, 200));
+        orxout() << "vel " << this->getVelocity() << endl;
+        // effect->setVelocity(this->getVelocity());
         effect->setDestroyAfterLife(true);
         effect->setSource("Orxonox/explosion2b");
Index: code/branches/invaders/src/orxonox/worldentities/BigExplosion.h
===================================================================
--- code/branches/invaders/src/orxonox/worldentities/BigExplosion.h	(revision 9875)
+++ code/branches/invaders/src/orxonox/worldentities/BigExplosion.h	(revision 9879)
@@ -41,4 +41,5 @@
         public:
             BigExplosion(Context* context);
+            BigExplosion(Context* context, Vector3 initVelocity);
             virtual ~BigExplosion();
 
Index: code/branches/invaders/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/invaders/src/orxonox/worldentities/pawns/Pawn.cc	(revision 9875)
+++ code/branches/invaders/src/orxonox/worldentities/pawns/Pawn.cc	(revision 9879)
@@ -365,7 +365,8 @@
         this->setDestroyWhenPlayerLeft(false);
 
-        BigExplosion* chunk = new BigExplosion(this->getContext());
+        orxout() << "big explosion: " << this->getVelocity() << endl;
+        BigExplosion* chunk = new BigExplosion(this->getContext(), this->getVelocity());
         chunk->setPosition(this->getPosition());
-        chunk->setVelocity(this->getVelocity());
+        // chunk->setVelocity(this->getVelocity());
 
     }
@@ -377,4 +378,5 @@
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
+            effect->setVelocity(this->getVelocity());
             effect->setDestroyAfterLife(true);
             effect->setSource("Orxonox/explosion2b");
@@ -385,4 +387,5 @@
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
+            effect->setVelocity(this->getVelocity());
             effect->setDestroyAfterLife(true);
             effect->setSource("Orxonox/smoke6");
@@ -393,4 +396,5 @@
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
+            effect->setVelocity(this->getVelocity());
             effect->setDestroyAfterLife(true);
             effect->setSource("Orxonox/sparks");
