Index: branches/playability/src/world_entities/effects/trail.cc
===================================================================
--- branches/playability/src/world_entities/effects/trail.cc	(revision 10102)
+++ branches/playability/src/world_entities/effects/trail.cc	(revision 10104)
@@ -176,5 +176,5 @@
 
   glEnable( GL_BLEND);
-  glBlendFunc(GL_SRC_ALPHA,GL_ONE)
+  glBlendFunc(GL_SRC_ALPHA,GL_ONE);
   glDisable( GL_ALPHA_TEST);
 
Index: branches/playability/src/world_entities/projectiles/hbolt.cc
===================================================================
--- branches/playability/src/world_entities/projectiles/hbolt.cc	(revision 10102)
+++ branches/playability/src/world_entities/projectiles/hbolt.cc	(revision 10104)
@@ -2,5 +2,5 @@
    orxonox - the future of 3D-vertical-scrollers
 
-   Copyright (C) 2004 orx
+   Copyright (C) 2004-2006 orx
 
    This program is free software; you can redistribute it and/or modify
@@ -10,5 +10,5 @@
 
    ### File Specific
-   main-programmer: Patrick Boenzli
+   main-programmer: Nicolas Schlumberger, Marc Schaerrer
    co-programmer: Benjamin Grauer
 
@@ -29,5 +29,4 @@
 // #include "effects/billboard.h"
 #include "space_ships/space_ship.h"
-
 
 #include "class_id_DEPRECATED.h"
@@ -60,5 +59,4 @@
   this->halo->setSize(.65, .65);
   this->halo->setTexture("hbolt_halo2.png");
-
 }
 
@@ -118,16 +116,10 @@
 void HBolt::collidesWith(WorldEntity* entity, const Vector& location)
 {
-  PRINTF(0)("Collision with HBolt\n");
-  if (this->hitEntity != entity && entity->isA(CL_NPC))
+  printf("Collision with HBolt\n");
+  if (this->hitEntity != entity/* && entity->isA(CL_NPC)*/ || entity == this->target)
     this->destroy( entity );
   this->hitEntity = entity;
   dynamic_cast<SpaceShip*>(entity)->damage( this->getPhysDamage(), this->getElecDamage());
-  this->deactivate();
-}
-
-
-void HBolt::updateAngle (float time)
-{
-  this->angle += this->rotationSpeed * time;
+//   this->deactivate();
 }
 
@@ -146,5 +138,5 @@
     this->deactivate();
 
-  this->updateAngle(dt);
+  this->angle += this->rotationSpeed * dt;
 
 
@@ -183,11 +175,4 @@
   this->getModel()->draw();
 
-//   this->mat->select();
-/*   dynamic_cast<StaticModel*>(this->getModel())->draw();*/
-//   this->mat->select();
-//   dynamic_cast<StaticModel*>(this->getModel())->draw();
-//   this->mat->unselect();
-
-
   glPopMatrix();
 }
Index: branches/playability/src/world_entities/projectiles/hbolt.h
===================================================================
--- branches/playability/src/world_entities/projectiles/hbolt.h	(revision 10102)
+++ branches/playability/src/world_entities/projectiles/hbolt.h	(revision 10104)
@@ -34,7 +34,4 @@
     virtual void draw () const;
 
-    virtual void updateAngle(float time);
-    inline float getAngle() { return this->angle; };
-
   private:
     static FastFactory*               fastFactory;
Index: branches/playability/src/world_entities/projectiles/lbolt.cc
===================================================================
--- branches/playability/src/world_entities/projectiles/lbolt.cc	(revision 10102)
+++ branches/playability/src/world_entities/projectiles/lbolt.cc	(revision 10104)
@@ -2,5 +2,5 @@
    orxonox - the future of 3D-vertical-scrollers
 
-   Copyright (C) 2004 orx
+   Copyright (C) 2004-2006 orx
 
    This program is free software; you can redistribute it and/or modify
@@ -10,5 +10,5 @@
 
    ### File Specific
-   main-programmer: Patrick Boenzli
+   main-programmer: Nicolas Schlumberger, Marc Schaerrer
    co-programmer: Benjamin Grauer
 
Index: branches/playability/src/world_entities/projectiles/mbolt.cc
===================================================================
--- branches/playability/src/world_entities/projectiles/mbolt.cc	(revision 10102)
+++ branches/playability/src/world_entities/projectiles/mbolt.cc	(revision 10104)
@@ -2,5 +2,5 @@
    orxonox - the future of 3D-vertical-scrollers
 
-   Copyright (C) 2004 orx
+   Copyright (C) 2004-2006 orx
 
    This program is free software; you can redistribute it and/or modify
@@ -10,5 +10,5 @@
 
    ### File Specific
-   main-programmer: Patrick Boenzli
+   main-programmer: Marc Schaerrer
    co-programmer: Benjamin Grauer
 
Index: branches/playability/src/world_entities/projectiles/projectile.cc
===================================================================
--- branches/playability/src/world_entities/projectiles/projectile.cc	(revision 10102)
+++ branches/playability/src/world_entities/projectiles/projectile.cc	(revision 10104)
@@ -153,33 +153,11 @@
 
 
-void Projectile::collidesWith (SpaceShip* target, const Vector& location)
+void Projectile::collidesWith (WorldEntity* target, const Vector& location)
 {
-  target->damage(this->physDamage, this->elecDamage);
+  dynamic_cast<SpaceShip*>(target)->damage(this->getPhysDamage(),this->getElecDamage());
+//   this->destroy(NULL);
   this->destroy(target);
 }
 
-
-/**
- *  this function gets called by tick to calculate the new flight direction
- *  @param curDirection direction vector
- *  @param estTargetDir target vector, pointing to where the target will be on hit
- *  @param angle = tick * turningSpeed
- *  @return normalized (new) direction vector
-*/
-// Vector Projectile::newDirection(Vector curDirection, Vector estTargetDir, float angle)
-// {
-//   float tmp = angleDeg ( curDirection, estTargetDir);
-//   if ( unlikely(tmp == 0) ) { return curDirection; }
-// 
-//   if( fabsf(angle) >  fabsf(tmp) ) { angle = tmp; }
-// 
-//   Vector d = curDirection.cross(estTargetDir).cross(curDirection);
-//   d.normalize();
-//   if( unlikely( angle == 90)) { return d; }
-// 
-//   Vector newDir = curDirection + d *  curDirection.len() * tan (angle);
-//   newDir.normalize();
-//   return newDir;
-// }
 
 
@@ -190,13 +168,4 @@
 void Projectile::tick (float dt)
 {
-/*
-  if (target != NULL){
-    float tti = this->target->getRelCoor().len() / this->getVelocity().len();
-    Vector estTargetDir = (this->target->getRelCoor() + this->target->getVelocity()) * tti;
-    this->velocity = this->newDirection(this->velocity, estTargetDir, this->turningSpeed * dt ) * this->velocity.len();
-    Vector v = this->velocity * (dt);
-    this->shiftCoor(v);
-  }*/
-
   if (this->tickLifeCycle(dt))
     this->destroy( NULL );
Index: branches/playability/src/world_entities/projectiles/projectile.h
===================================================================
--- branches/playability/src/world_entities/projectiles/projectile.h	(revision 10102)
+++ branches/playability/src/world_entities/projectiles/projectile.h	(revision 10104)
@@ -50,5 +50,5 @@
     virtual void destroy (WorldEntity* killer);
 
-    virtual void collidesWith (SpaceShip* target, const Vector& location);  //!< collision handler; used against SpaceShip as most target will be
+    virtual void collidesWith (WorldEntity* target, const Vector& location);  //!< collision handler; used against SpaceShip as most target will be
 
 
@@ -82,7 +82,4 @@
 
     PNode*                  target;                   //!< A target for guided Weapons.
-    //Vector                  targetPosition;           //!< current target position relative to projectile
-    //Vector                  targetVelocity;           //!< current target speed and direction
-    //float                   eta;                      //!< estimated time of arrival == time to kaboom!
 
     OrxSound::SoundSource  soundSource;
Index: branches/playability/src/world_entities/projectiles/swarm_projectile.cc
===================================================================
--- branches/playability/src/world_entities/projectiles/swarm_projectile.cc	(revision 10102)
+++ branches/playability/src/world_entities/projectiles/swarm_projectile.cc	(revision 10104)
@@ -3,5 +3,5 @@
    orxonox - the future of 3D-vertical-scrollers
 
-   Copyright (C) 2004 orx
+   Copyright (C) 2004-2006 orx
 
    This program is free software; you can redistribute it and/or modify
@@ -11,5 +11,5 @@
 
    ### File Specific
-   main-programmer: Silvan Nellen
+   main-programmer: Marc Schaerrer, Nicolas Schlumberger
    co-programmer:
 
@@ -58,4 +58,5 @@
 
   this->physDamage = 200;
+  this->elecDamage = 0;
 
   this->trail = new Trail(2.5,4,.2, this);
@@ -135,5 +136,6 @@
     this->destroy( entity );
   this->hitEntity = entity;
-  dynamic_cast<SpaceShip*>(entity)->damage(this->getPhysDamage(),0);
+  dynamic_cast<SpaceShip*>(entity)->damage(this->getPhysDamage(),this->getElecDamage());
+  this->destroy(NULL);
 }
 
@@ -219,9 +221,10 @@
 //     else
 //       tti = (this->getAbsCoor() - this->target->getAbsCoor()).len() / sqrt ( projectileVelocity * projectileVelocity + targetVelocity * targetVelocity);
-    Vector estTargetDir = (this->target->getAbsCoor() - this->getAbsCoor()).getNormalized() * maxVelocity;
+    Vector estTargetDir = (this->target->getAbsCoor() - this->getAbsCoor());
+//     estTargetDir.slerpTo(this->velocity, 1);
     this->velocity = this->newDirection(this->velocity, estTargetDir, this->turningSpeed * time );
   }
   else
-    if (likely(projectileVelocity != 0))
+    if (likely(projectileVelocity != 0 || projectileVelocity != this->maxVelocity) )
       this->velocity *= (this->maxVelocity / projectileVelocity); // set speed to max
 
@@ -240,5 +243,5 @@
   this->lastDir = this->curDir;
   this->curDir = this->velocity;
-  if( (this->getAbsCoor() - this->target->getAbsCoor()).len() < 4)   // FIXME  Temp fake workaround for collision :)
+  if( (this->getAbsCoor() - this->target->getAbsCoor()).len() < 1)   // FIXME  Temp fake workaround for collision :)
   {
     dynamic_cast<WorldEntity*>(target)->destroy( this);
@@ -253,5 +256,5 @@
 {
 
-  printf("THIS SHOULD WORLk\n");
+  printf("THIS SHOULD WORK!\n");
 
   Projectile::destroy( killer );
@@ -272,5 +275,5 @@
   glPushMatrix();
 
-  Vector tmpDir = this->curDir *.5 + this->lastDir * .5;
+  Vector tmpDir = this->curDir *.7 + this->lastDir * .3;
 
   float matrix[4][4];
Index: branches/playability/src/world_entities/weapons/swarm_launcher.cc
===================================================================
--- branches/playability/src/world_entities/weapons/swarm_launcher.cc	(revision 10102)
+++ branches/playability/src/world_entities/weapons/swarm_launcher.cc	(revision 10104)
@@ -2,5 +2,5 @@
    orxonox - the future of 3D-vertical-scrollers
 
-   Copyright (C) 2004 orx
+   Copyright (C) 2004-2006 orx
 
    This program is free software; you can redistribute it and/or modify
@@ -10,5 +10,5 @@
 
    ### File Specific
-   main-programmer: Benjamin Grauer
+   main-programmer: Marc Schaerrer
    co-programmer:
 */
