Index: code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBomb.cc
===================================================================
--- code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBomb.cc	(revision 10341)
+++ code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBomb.cc	(revision 10369)
@@ -6,11 +6,9 @@
  */
 #include "GravityBomb.h"
+#include "graphics/Model.h"
 
 
 namespace orxonox{
 	RegisterClass(GravityBomb);
-
-	const float GravityBomb::INITIAL_VELOCITY = 20;
-	const float GravityBomb::SLOW_DOWN_RATIO = 2;
 
 	GravityBomb::GravityBomb(Context* context):
@@ -24,18 +22,20 @@
 			if (GameMode::isMaster())
 			{
-				//Define movement of the bomb
-				this->setVelocity(this->getOrientation()*WorldEntity::FRONT*INITIAL_VELOCITY);
-				this->velocityAtLastTick_=INITIAL_VELOCITY;
-				this->setAcceleration(this->getOrientation()*WorldEntity::BACK*SLOW_DOWN_RATIO);
-				this->setCollisionType(WorldEntity::Dynamic);
+				//Define CollisionType of the bomb
+				this->velocityAtLastTick_= 1000;
+				this->setCollisionResponse(false);
+				this->setCollisionType(WorldEntity::Kinematic);
 				this->enableCollisionCallback();
 
 				//Add Collision Shape
 				SphereCollisionShape* collisionShape = new SphereCollisionShape(context);
-				collisionShape->setRadius(5.0);
+				collisionShape->setRadius(1.0);
 				this->attachCollisionShape(collisionShape);
 
 				//Create Bomb Model
-
+	            Model* model = new Model(this->getContext());
+	            model->setMeshSource("rocket.mesh"); //Demo Model from SimpleRocket
+	            model->scale(0.7f);
+	            this->attach(model);
 
 			}
@@ -46,18 +46,29 @@
 	void GravityBomb::tick(float dt)
 	{
+			velocityAtLastTick_=getVelocity().length();
+			SUPER(GravityBomb,tick,dt);
 			if(velocityAtLastTick_ < this->getVelocity().length())
 			{
+				orxout(debug_output) << "bomb has stoped moving" <<endl;
 				setVelocity(Vector3::ZERO);
 				setAcceleration(Vector3::ZERO);
 				velocityAtLastTick_=0;
 				detonate();
+				orxout(debug_output) << "denoting" <<endl;
 			}
-			velocityAtLastTick_=getVelocity().length();
+			else
+			{
+				velocityAtLastTick_=getVelocity().length();
+				orxout(debug_output)<< velocityAtLastTick_ <<endl;
+				orxout(debug_output) << "acceleration" << getAcceleration().length() <<endl;
+				destroyCheck();
+			}
 	}
 
 	bool GravityBomb::collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint)
 	{
-		detonate();
+		orxout(debug_output) << "collides" << endl;
 		processCollision(otherObject, contactPoint,cs);
+		//detonate();
 		return true;
 	}
@@ -66,4 +77,6 @@
 	{
 		GravityBombField* field = new GravityBombField(this->getContext());
+		orxout(debug_output) << "denoting" <<endl;
+		this->destroy();
 	}
 }
Index: code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBomb.h
===================================================================
--- code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBomb.h	(revision 10341)
+++ code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBomb.h	(revision 10369)
@@ -66,6 +66,4 @@
 
 		private:
-		static const float INITIAL_VELOCITY;
-		static const float SLOW_DOWN_RATIO;
 
 		float velocityAtLastTick_; //Used to check wether the Object is already accelarating in the oposite direction to detect the time to detonate it.
Index: code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBombField.cc
===================================================================
--- code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBombField.cc	(revision 10341)
+++ code/branches/weaponFS15/src/modules/weapons/projectiles/GravityBombField.cc	(revision 10369)
@@ -11,10 +11,11 @@
 	RegisterClass(GravityBombField);
 
-	const float GravityBombField::FORCE_FIELD_LIFETIME = 10;
-	const float GravityBombField::FORCE_SPHERE_START_RADIUS = 50;
-	const float GravityBombField::FORCE_SPHERE_START_STRENGTH = -300;
+	const float GravityBombField::FORCE_FIELD_LIFETIME = 5;
+	const float GravityBombField::FORCE_SPHERE_START_RADIUS = 100;
+	const float GravityBombField::FORCE_SPHERE_START_STRENGTH = -1000;
 
 	GravityBombField::GravityBombField(Context* context) : ForceField(context)
 	{
+		RegisterObject(GravityBombField);
 		lifetime_=FORCE_FIELD_LIFETIME;
 		setVelocity(FORCE_SPHERE_START_STRENGTH);
@@ -27,4 +28,5 @@
 	void GravityBombField::tick(float dt)
 	{
+		SUPER(GravityBombField,tick,dt);
 		lifetime_-=dt;
 		if(lifetime_ < 0)
@@ -37,5 +39,5 @@
 	{
 		//Animation
-		//SUPER(GravityBombField,destroy);
+		ForceField::destroy();
 	}
 
