Index: branches/single_player_map/src/lib/collision_reaction/cr_physics_ground_walk.cc
===================================================================
--- branches/single_player_map/src/lib/collision_reaction/cr_physics_ground_walk.cc	(revision 8930)
+++ branches/single_player_map/src/lib/collision_reaction/cr_physics_ground_walk.cc	(revision 8931)
@@ -156,5 +156,5 @@
     }
   }
-  PRINTF(0)("collision distanzes: x: %f, y: %f, z: %f\n", front, height, side);
+  PRINTF(0)("collision distances: x: %f, y: %f, z: %f\n", front, height, side);
 
 
Index: branches/single_player_map/src/world_entities/npcs/repair_station.cc
===================================================================
--- branches/single_player_map/src/world_entities/npcs/repair_station.cc	(revision 8930)
+++ branches/single_player_map/src/world_entities/npcs/repair_station.cc	(revision 8931)
@@ -36,9 +36,23 @@
 
 //! list of all different animations a std md2model supports
-sAnim RepairStation::animationList[2] =
+// sAnim RepairStation::animationList[2] =
+// {
+//  // begin, end, fps, interruptable
+//   {   0,  10,  30,  0 },   //!< OPEN
+//   {   10, 20,  30,  0 }    //!< CLOSE
+// };
+
+
+sAnim RepairStation::animationList[8] =
 {
  // begin, end, fps, interruptable
-  {   0,  10,  30,  0 },   //!< OPEN
-  {   10, 20,  30,  0 }    //!< CLOSE
+  {   0,  12,  30,  0 },   //!< CYCLE01
+  {   12, 24,  30,  0 },   //!< CYCLE02
+  {   24, 40,  30,  0 },   //!< CYCLE03
+  {   40, 55,  30,  0 },   //!< CYCLE04
+  {   55, 68,  30,  0 },   //!< CYCLE05
+  {   68, 81,  30,  0 },   //!< CYCLE06
+  {   81, 89,  30,  0 },   //!< CYCLE07
+  {   89, 99,  30,  0 }    //!< CYCLE08
 };
 
@@ -133,68 +147,4 @@
 
 
-/**
- * open the door
- */
-void RepairStation::open()
-{
-  if( this->bLocked)
-    return;
-
-  this->setAnimation(DOOR_OPEN, MD2_ANIM_ONCE);
-  this->bOpen = true;
-}
 
 
-/**
- * close the door
- */
-void RepairStation::close()
-{
-  this->setAnimation(DOOR_CLOSE, MD2_ANIM_ONCE);
-  this->bOpen = false;
-}
-
-
-
-/**
- * checks if the door is open
- */
-bool RepairStation::checkOpen()
-{
-
-  std::list<BaseObject*>::const_iterator it;
-  const std::list<BaseObject*>* list = ClassList::getList(CL_PLAYABLE);
-  WorldEntity* entity;
-  float distance;
-
-  if( list == NULL)
-    return false;
-
-  // for all players
-  for( it = list->begin(); it != list->end(); it++)
-  {
-    entity = dynamic_cast<WorldEntity*>(*it);
-
-    distance = fabs((this->getAbsCoor() - entity->getAbsCoor()).len());
-    if( distance < this->actionRadius)
-      return true;
-  }
-
-
-  list = ClassList::getList(CL_GENERIC_NPC);
-  if( list == NULL)
-    return false;
-  for( it = list->begin(); it != list->end(); it++)
-  {
-    entity = dynamic_cast<WorldEntity*>(*it);
-
-    distance = fabs((this->getAbsCoor() - entity->getAbsCoor()).len());
-    if( distance < this->actionRadius)
-      return true;
-  }
-
-  return false;
-}
-
-
-
Index: branches/single_player_map/src/world_entities/npcs/repair_station.h
===================================================================
--- branches/single_player_map/src/world_entities/npcs/repair_station.h	(revision 8930)
+++ branches/single_player_map/src/world_entities/npcs/repair_station.h	(revision 8931)
@@ -12,6 +12,12 @@
 typedef enum RepairStationAnimType
 {
-  STATION_OPEN = 0,
-  STATION_CLOSE,
+  REPAIR_CYCLE01 = 0,
+  REPAIR_CYCLE02,
+  REPAIR_CYCLE03,
+  REPAIR_CYCLE04,
+  REPAIR_CYCLE05,
+  REPAIR_CYCLE06,
+  REPAIR_CYCLE07,
+  REPAIR_CYCLE08,
 
   DOOR_MAX_ANIMATIONS
@@ -31,27 +37,15 @@
     void setScale(float scale) { this->scale = scale; }
 
-    void open();
-    void close();
-
-    void lock() { this->bLocked = true; }
-    void unlock() { this->bLocked = false; }
-    bool isLocked() const { return this->bLocked; }
-
-
     virtual void tick (float time);
 
 
   private:
-    bool checkOpen();
     void setAnimation(int animNum, int playbackMode = 0);
 
 
   private:
-    bool           bOpen;             //!< true if the door is open
-    bool           bLocked;           //!< true if this door is locked
-    float          actionRadius;      //!< action radius
     float          scale;             //!< the scale of the model
 
-    static sAnim   animationList[2];  //!< list of the animations
+    static sAnim   animationList[8];  //!< list of the animations
 
 
