Index: code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.cc
===================================================================
--- code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.cc	(revision 8949)
+++ code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.cc	(revision 8954)
@@ -40,10 +40,13 @@
     CreateFactory(RaceCheckPoint);
     
-      
+     
 
-    RaceCheckPoint::RaceCheckPoint(BaseObject* creator): DistanceTrigger(creator), RadarViewable(creator, static_cast<WorldEntity*>(this))
+    RaceCheckPoint::RaceCheckPoint(BaseObject* creator): DistanceMultiTrigger(creator), RadarViewable(creator, static_cast<WorldEntity*>(this))
     {
         RegisterObject(RaceCheckPoint);
-        
+        this->setDistance(100);
+        this->setBeaconMode("off");
+        this->setBroadcast(false);
+        this->setSimultaneousTriggerers(100);
 	
            
@@ -56,9 +59,15 @@
         this->setRadarObjectShape(RadarViewable::Triangle);
         this->setRadarVisibility(true);
+    
+    //this->addTarget("WorldEntity");
+    
+    
     }
+    
 
-    RaceCheckPoint::~RaceCheckPoint()
+   RaceCheckPoint::~RaceCheckPoint()
     {
-    	 //if (this->isInitialized())
+    
+    	 if (this->isInitialized())
         {
             //for (size_t i = 0; i < 3; ++i)
@@ -76,5 +85,7 @@
         if(this->isVisible_){this->setRadarVisibility(true);}
         else{this->setRadarVisibility(false);}
-       
+        
+      
+      
        
         /*this->setRadarVisibility(false);
@@ -103,11 +114,26 @@
     }
 
-	void RaceCheckPoint::triggered(bool bIsTriggered, PlayerInfo* player)
+	void RaceCheckPoint::fire(bool bIsTriggered,BaseObject* player)
     {
-        DistanceTrigger::triggered(bIsTriggered);
+    	
+    	//bool b= bIsTriggered;
+    	//PlayerInfo* pl= player;
+    	DistanceMultiTrigger::fire((bool)bIsTriggered,player);
+        
+   //SUPER(RaceCheckPoint,fire,bIsTriggered,player);
+		
 
         SpaceRace* gametype = orxonox_cast<SpaceRace*>(this->getGametype().get());
         assert(gametype);
-        if (gametype && this->getCheckpointIndex() == gametype->getCheckpointReached(player) && bIsTriggered)
+        
+        	 PlayerInfo* player2 = (PlayerInfo*)player;
+        assert(player2);
+        	//DistanceMultiTrigger::fire(bIsTriggered,player);
+        	
+        	
+        	
+       
+        	
+        if (gametype && this->getCheckpointIndex() == gametype->getCheckpointReached(player2) && bIsTriggered)
         {
             gametype->clock_.capture();
@@ -122,5 +148,5 @@
             else
             {
-                gametype->newCheckpointReached(this,player);
+                gametype->newCheckpointReached(this,player2);
                 this->setRadarObjectColour(ColourValue::Green); //sets the radar colour of the checkpoint to green if it is reached, else it is red.
             }
Index: code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.h
===================================================================
--- code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.h	(revision 8949)
+++ code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.h	(revision 8954)
@@ -32,5 +32,5 @@
 #include "gametypes/GametypesPrereqs.h"
 
-#include "objects/triggers/DistanceTrigger.h"
+#include "objects/triggers/DistanceMultiTrigger.h"
 #include "interfaces/RadarViewable.h"
 
@@ -42,5 +42,5 @@
         !!! Don't forget to control the indexes of your check points and to set one last check point!!!
     */
-    class _GametypesExport RaceCheckPoint : public DistanceTrigger, public RadarViewable
+    class _GametypesExport RaceCheckPoint : public DistanceMultiTrigger, public RadarViewable
     {
         public:
@@ -65,5 +65,5 @@
 		{this->isVisible_ = b;}
         protected:
-            virtual void triggered(bool bIsTriggered, PlayerInfo* player);
+            virtual void fire(bool bIsTriggered,BaseObject* player);
             inline void setLast(bool isLast)
                 { this->bIsLast_ = isLast; }
Index: code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc
===================================================================
--- code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc	(revision 8949)
+++ code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc	(revision 8954)
@@ -117,4 +117,5 @@
   	  		       
   	  		       this->addBots(this->numberOfBots_); 
+  	  		       
       
     }
Index: code/branches/spaceraceTwo/src/modules/objects/triggers/DistanceMultiTrigger.h
===================================================================
--- code/branches/spaceraceTwo/src/modules/objects/triggers/DistanceMultiTrigger.h	(revision 8949)
+++ code/branches/spaceraceTwo/src/modules/objects/triggers/DistanceMultiTrigger.h	(revision 8954)
@@ -91,5 +91,5 @@
     @ingroup MultiTrigger
     */
-    class _ObjectsExport DistanceMultiTrigger : public MultiTrigger
+    class _ObjectsExport DistanceMultiTrigger : public MultiTrigger 
     {
 
Index: code/branches/spaceraceTwo/src/modules/objects/triggers/MultiTrigger.h
===================================================================
--- code/branches/spaceraceTwo/src/modules/objects/triggers/MultiTrigger.h	(revision 8949)
+++ code/branches/spaceraceTwo/src/modules/objects/triggers/MultiTrigger.h	(revision 8954)
@@ -157,5 +157,5 @@
             bool isTriggered(BaseObject* triggerer = NULL); //!< Get whether the MultiTrigger is triggered for a given object.
 
-            void fire(bool status, BaseObject* originator = NULL);  //!< Helper method. Creates an Event for the given status and originator and fires it.
+            virtual void fire(bool status, BaseObject* originator = NULL);  //!< Helper method. Creates an Event for the given status and originator and fires it.
             void broadcast(bool status); //!< Helper method. Broadcasts an Event for every object that is a target.
 
