Index: code/branches/particles/src/orxonox/objects/worldentities/BigExplosion.cc
===================================================================
--- code/branches/particles/src/orxonox/objects/worldentities/BigExplosion.cc	(revision 3064)
+++ code/branches/particles/src/orxonox/objects/worldentities/BigExplosion.cc	(revision 3065)
@@ -34,8 +34,10 @@
 #include <OgreParticleSystem.h>
 #include <OgreSceneNode.h>
+#include <sstream>
 
 #include "core/Core.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
+#include "core/CommandExecutor.h"
 #include "objects/Scene.h"
 #include "tools/ParticleInterface.h"
@@ -53,7 +55,18 @@
         if ( Core::showsGraphics() && ( !this->getScene() || !this->getScene()->getSceneManager() ) )
             ThrowException(AbortLoading, "Can't create BigExplosion, no scene or no scene manager given.");
-
+/*
+        this->cps_ = 1;
+        this->firstTick_ = true;
+*/
         this->bStop_ = false;
         this->LOD_ = LODParticle::normal;
+
+/*      this->stf_ = "setTimeFactor ";
+        this->timeFactor_ =  1;
+        std::ostringstream o;
+        o << stf_ << this->timeFactor_;
+        CommandExecutor::execute(o.str() ,false);
+        this->timeFactor_ = 0.1;
+*/
 
         if ( Core::showsGraphics() )
@@ -146,20 +159,20 @@
         this->debris2_->setMeshSource("WingDebris1.mesh");
         this->debris3_->setMeshSource("BodyDebris1.mesh");
-        this->debris4_->setMeshSource("WingDebris1.mesh");
+        this->debris4_->setMeshSource("WingDebris2.mesh");
 
         this->debrisEntity1_->setVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1))*rnd(50,100));
-        this->debrisEntity1_->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(1000).valueRadians());
+        this->debrisEntity1_->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(400).valueRadians());
         this->debrisEntity1_->setScale(4);
 
         this->debrisEntity2_->setVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1))*rnd(50,100));
-        this->debrisEntity2_->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(1000).valueRadians());
+        this->debrisEntity2_->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(400).valueRadians());
         this->debrisEntity2_->setScale(4);
 
         this->debrisEntity3_->setVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1))*rnd(50,100));
-        this->debrisEntity3_->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(1000).valueRadians());
+        this->debrisEntity3_->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(400).valueRadians());
         this->debrisEntity3_->setScale(4);
 
         this->debrisEntity4_->setVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1))*rnd(50,100));
-        this->debrisEntity4_->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(1000).valueRadians());
+        this->debrisEntity4_->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(400).valueRadians());
         this->debrisEntity4_->setScale(4);
 
@@ -189,5 +202,5 @@
 
 
-        for(int i=0;i<50;i++)
+        for(int i=0;i<10;i++)
         {
             Identifier* idf1 = Class(Model);
@@ -209,13 +222,14 @@
 
             partEntity1->setVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1))*rnd(10,100));
-            partEntity1->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(1000).valueRadians());
-            partEntity1->setScale(2);
+            partEntity1->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(400).valueRadians());
+            partEntity1->setScale(rnd(1, 3));
 
             partEntity2->setVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1))*rnd(10, 100));
-            partEntity2->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(1000).valueRadians());
-            partEntity2->setScale(2);
+            partEntity2->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(400).valueRadians());
+            partEntity2->setScale(rnd(1, 3));
 
             part1->setMeshSource("SmallPart1.mesh");
             part2->setMeshSource("SmallPart2.mesh");
+
 
             partEntity1->attach(part1);
@@ -245,4 +259,6 @@
     BigExplosion::~BigExplosion()
     {
+        CommandExecutor::execute("setTimeFactor 1", false);
+
         if (this->isInitialized())
         {
@@ -362,16 +378,39 @@
     }
 
+/* TODO
+
+    void BigExplosion::setDebrisMeshes()
+    {
+
+    }
+    void BigExplosion::getDebrisMeshes()
+    {
+
+    }
+*/
+
      void BigExplosion::tick(float dt)
     {
-
-
-//        static const unsigned int CHANGES_PER_SECOND = 5;
-//
-//        if (Core::isMaster() && rnd() < dt*CHANGES_PER_SECOND)
-//        {
-//            Vector3 velocity = this->object2_->getVelocity();
-//            velocity /= 1.5;
-//            this->object2_->setVelocity(velocity);
-//        }
+//        static const unsigned int CHANGES_PER_SECOND = 10;
+
+
+/*        if (Core::isMaster() && rnd() < dt*(this->cps_))
+        {
+
+            if(this->timeFactor_ < 1 )
+                this->timeFactor_ += 0.05;
+
+            if(this->firstTick_)
+                this->cps_ = 256;
+
+            std::ostringstream o;
+            o << this->stf_ << this->timeFactor_;
+            CommandExecutor::execute(o.str() ,false);
+            if(this->cps_>50)
+                this->cps_/=2;
+            this->firstTick_ = false;
+            COUT(0) << timeFactor_ << std::endl;
+        }
+*/
 
         SUPER(BigExplosion, tick, dt);
Index: code/branches/particles/src/orxonox/objects/worldentities/BigExplosion.h
===================================================================
--- code/branches/particles/src/orxonox/objects/worldentities/BigExplosion.h	(revision 3064)
+++ code/branches/particles/src/orxonox/objects/worldentities/BigExplosion.h	(revision 3065)
@@ -31,4 +31,6 @@
 
 #include "OrxonoxPrereqs.h"
+#include <string>
+
 
 #include "MovableEntity.h"
@@ -60,5 +62,13 @@
             void initZero();
 
+
             bool                  bStop_;
+            bool                  firstTick_;
+
+            std::string           stf_;
+
+            unsigned int          cps_;
+
+            double                timeFactor_;
 
             StaticEntity*         explosion_;
@@ -73,4 +83,6 @@
             Model*                debris3_;
             Model*                debris4_;
+
+
 
             ParticleInterface*    debrisSmoke1_;
