Index: /branches/presentation/src/world_entities/space_ships/space_ship.cc
===================================================================
--- /branches/presentation/src/world_entities/space_ships/space_ship.cc	(revision 10718)
+++ /branches/presentation/src/world_entities/space_ships/space_ship.cc	(revision 10719)
@@ -92,5 +92,5 @@
                         ->addMethod("getAbsCoorY", Executor0ret<PNode, lua_State*, float>(&PNode::getAbsCoorY))
                         ->addMethod("getAbsCoorZ", Executor0ret<PNode, lua_State*, float>(&PNode::getAbsCoorZ))
-                        //->addMethod("setCameraSpeed", Executor1<SpaceShip, lua_State*, float>(&SpaceShip::setCameraSpeed))
+                        //->addMethod("setCameraSpeed", Executor1<SpVector(1,0,0)aceShip, lua_State*, float>(&SpaceShip::setCameraSpeed))
                         ->addMethod("pause", Executor1<WorldEntity, lua_State*, bool>(&WorldEntity::pauseTrack))
                         ->addMethod("setCameraDist", Executor1<SpaceShip, lua_State*, float>(&SpaceShip::setCameraDistance))
@@ -592,6 +592,6 @@
     this->yMouse += event.yRel;
 //     printf("Mouse Coord: %f, %f\n", this->xMouse, this->yMouse);
-    this->weaponMan.getFixedTarget()->setRelCoor(10000, -10 * this->mouseSensitivity * yMouse, 10 * this->mouseSensitivity * xMouse);
-    this->secWeaponMan.getFixedTarget()->setRelCoor(10000, -10 * this->mouseSensitivity * yMouse, 10 * this->mouseSensitivity * xMouse);
+    this->weaponMan.getFixedTarget()->setRelCoor(100000, -100 * this->mouseSensitivity * yMouse, 100 * this->mouseSensitivity * xMouse);
+    this->secWeaponMan.getFixedTarget()->setRelCoor(100000, -100 * this->mouseSensitivity * yMouse, 100 * this->mouseSensitivity * xMouse);
   }
   else if (!(State::getCamera()->getEventHandling()))
Index: /branches/presentation/src/world_entities/space_ships/space_ship.h
===================================================================
--- /branches/presentation/src/world_entities/space_ships/space_ship.h	(revision 10718)
+++ /branches/presentation/src/world_entities/space_ships/space_ship.h	(revision 10719)
@@ -75,5 +75,5 @@
     inline void loadWeapon(float regen) { this->weaponEnergyRegen = regen; };
 
-    void addWeaponToSlot(int wm, int config, int slot, const std::string& weaponName);
+//     void addWeaponToSlot(int wm, int config, int slot, const std::string& weaponName);
 
     inline PNode* getTravelNode() { return this->travelNode; };
Index: /branches/presentation/src/world_entities/weapons/disruptor.cc
===================================================================
--- /branches/presentation/src/world_entities/weapons/disruptor.cc	(revision 10718)
+++ /branches/presentation/src/world_entities/weapons/disruptor.cc	(revision 10719)
@@ -153,8 +153,11 @@
   pj->setParent(PNode::getNullParent());
 
-  pj->setVelocity(this->getAbsDir().apply(Vector(1,0,0))*130 + VECTOR_RAND(1));
+  Vector tmp = this->getDefaultTarget()->getAbsCoor() - this->getAbsCoor();
+
+//   pj->setVelocity(this->getAbsDir().apply(Vector(1,0,0))*130 + VECTOR_RAND(1));
+  pj->setVelocity(this->getAbsDir().apply(tmp.getNormalized())*130 + VECTOR_RAND(1));
 
   pj->setAbsCoor(this->emissionPoint[this->activeBarrel]->getAbsCoor());
-  pj->setAbsDir(this->getAbsDir());
+//   pj->setAbsDir(this->getAbsDir());
   pj->activate();
 
Index: /branches/presentation/src/world_entities/weapons/nadion_laser.cc
===================================================================
--- /branches/presentation/src/world_entities/weapons/nadion_laser.cc	(revision 10718)
+++ /branches/presentation/src/world_entities/weapons/nadion_laser.cc	(revision 10719)
@@ -142,8 +142,10 @@
   pj->setParent(PNode::getNullParent());
 
-  pj->setVelocity(this->getParent()->getVelocity() + this->getAbsDir().apply(Vector(1,0,0))*160);
+  Vector tmp = this->getDefaultTarget()->getAbsCoor() - this->getAbsCoor();
+
+  pj->setVelocity(this->getParent()->getVelocity() + this->getAbsDir().apply(tmp.getNormalized())*160);
 
   pj->setAbsCoor(this->getEmissionPoint());
-  pj->setAbsDir(this->getAbsDir());
+//   pj->setAbsDir(this->getAbsDir());
   pj->activate();
 
Index: /branches/presentation/src/world_entities/weapons/rf_cannon.cc
===================================================================
--- /branches/presentation/src/world_entities/weapons/rf_cannon.cc	(revision 10718)
+++ /branches/presentation/src/world_entities/weapons/rf_cannon.cc	(revision 10719)
@@ -135,10 +135,12 @@
   pj->setParent(PNode::getNullParent());
 
-  pj->setVelocity(this->getAbsDir().apply(Vector(1,0,0))*190);
+//   pj->setVelocity(this->getAbsDir().apply(Vector(1,0,0))*190);
+  Vector tmp = this->getDefaultTarget()->getAbsCoor() - this->getAbsCoor();
+
+  pj->setVelocity(this->getParent()->getVelocity() + this->getAbsDir().apply(tmp.getNormalized())*190);
 
   pj->setAbsCoor(this->emissionPoint[this->activeBarrel]->getAbsCoor());
-  pj->setAbsDir(this->getAbsDir());
-//   pj->setAbsDir(Quaternion(0, dynamic_cast<WeaponManager*>(this->getParent())->getFixedTarget()->getAbsCoor() - this->getParent()->getAbsCoor()));
-//   pj->setAbsDir(dynamic_cast<WeaponManager*>(this->getParent())->getFixedTarget()->getAbsDir());
+//   pj->setAbsDir(this->getAbsDir());
+
   pj->activate();
 
Index: /branches/presentation/src/world_entities/weapons/weapon_manager.h
===================================================================
--- /branches/presentation/src/world_entities/weapons/weapon_manager.h	(revision 10718)
+++ /branches/presentation/src/world_entities/weapons/weapon_manager.h	(revision 10719)
@@ -86,5 +86,5 @@
 
     inline void addWeaponToSlot(int config, int slot, const std::string& weaponName){
-      this->addWeapon( Weapon::createWeapon( weaponName ), config, slot); };
+      this->addWeapon( Weapon::createWeapon( weaponName ), config, slot); this->configs[config][slot]->setDefaultTarget(this->getFixedTarget()); };
 
 
