Index: code/branches/campaignHS15/data/levels/AITest.oxw
===================================================================
--- code/branches/campaignHS15/data/levels/AITest.oxw	(revision 10908)
+++ code/branches/campaignHS15/data/levels/AITest.oxw	(revision 10909)
@@ -157,5 +157,5 @@
 <!-- HERE STARTS DEMO FOR FIGHTING -->
     
-<!-- 
+
     <SpaceShip position="-4000, 1500, -1000" lookat="0,0,0" team=0 name="d1sd1">
       <templates>
@@ -297,5 +297,5 @@
         </WingmanController>
       </controller>
-    </SpaceShip> -->
+    </SpaceShip>
     <SpaceShip position="1000, -2400, 1000" lookat="0,0,0" team=1 name="d2s1w2">
       <templates>
Index: code/branches/campaignHS15/src/orxonox/controllers/ActionpointController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/ActionpointController.cc	(revision 10908)
+++ code/branches/campaignHS15/src/orxonox/controllers/ActionpointController.cc	(revision 10909)
@@ -91,4 +91,7 @@
         if (maneuverCounter_ > 6.0f)
             maneuverCounter_ = 0;
+        this->timeOffset_ += dt;
+        if (this->timeOffset_ >= 2.0f)
+            this->timeOffset_ = 0.0f;
         if (timeout_ <= 0)
             this->bFiredRocket_ = false;
@@ -102,4 +105,6 @@
             this->lookAtTarget(dt);
         }
+
+
         if (this->bShooting_)
         {
@@ -117,4 +122,6 @@
         if (this->bFirstTick_)
         {    
+            this->timeOffset_ = 0.0f;
+            this->bActionCalled_ = false;
             setSpawners();
             // orxout(internal_error) << "health spawners size = " << this->healthSpawners_.size() <<
@@ -123,10 +130,15 @@
             this->bFirstTick_ = false;
         }
-        if (this->hasTarget())
-        {
+
+        //maneuver every 0.25 sec -> 
+        float currentPeriodTime = this->timeOffset_ - static_cast<int>(this->timeOffset_);
+        if (this->hasTarget() && ((currentPeriodTime >= 0.25f && currentPeriodTime <= 0.5f) || (currentPeriodTime >= 0.75 && currentPeriodTime <= 0.999f)) && !this->bManeuverCalled_)
+        {
+            this->bManeuverCalled_ = true;
             this->maneuver();
-            if (static_cast<int>(this->maneuverCounter_*100) % 3 == 0)
-                this->bShooting_ = this->canFire();
-        }
+            this->bShooting_ = this->canFire();
+        }
+        if ((currentPeriodTime >= 0.0f && currentPeriodTime <= 0.25f) || (currentPeriodTime >= 0.5f && currentPeriodTime <= 0.75f))
+            this->bManeuverCalled_ = false;
         SUPER(ActionpointController, tick, dt);
     }
@@ -137,5 +149,5 @@
         if (!this->getControllableEntity() || !orxonox_cast<Pawn*> (this->getControllableEntity()))
             return;
-            this->startAttackingEnemiesThatAreClose();
+        this->startAttackingEnemiesThatAreClose();
 
         this->deltaHp = orxonox_cast<Pawn*> (this->getControllableEntity())->getHealth() - this->previousHp;
@@ -546,6 +558,5 @@
             return;
         }  
-        if (this->actionCounter_ % 3 == 0)
-            this->setTargetOrientation(this->getProtect()->getWorldOrientation());
+        this->setTargetOrientation(this->getProtect()->getWorldOrientation());
     }
     void ActionpointController::nextActionpoint()
Index: code/branches/campaignHS15/src/orxonox/controllers/ActionpointController.h
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/ActionpointController.h	(revision 10908)
+++ code/branches/campaignHS15/src/orxonox/controllers/ActionpointController.h	(revision 10909)
@@ -236,4 +236,8 @@
                 std::multimap <int, std::pair<PickupSpawner*, bool> > speedSpawners_; 
 
+                float timeOffset_;
+                bool bActionCalled_;
+                bool bManeuverCalled_;
+
         private:
             
Index: code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc	(revision 10908)
+++ code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc	(revision 10909)
@@ -43,5 +43,5 @@
         this->myFollower_ = 0;
         this->myWingman_ = 0;
-        this->actionTimer_.setTimer(ACTION_INTERVAL, true, createExecutor(createFunctor(&DivisionController::action, this)));
+        //this->actionTimer_.setTimer(ACTION_INTERVAL, true, createExecutor(createFunctor(&DivisionController::action, this)));
     }
 
@@ -68,4 +68,15 @@
             return;   
         SUPER(DivisionController, tick, dt);
+        if (this->timeOffset_ >= 0.0f && this->timeOffset_ <= 0.5f && !this->bActionCalled_)
+        {
+            this->action();
+            this->bActionCalled_ = true;
+        }
+        if (this->timeOffset_ > 1.0f)
+        {
+            this->bActionCalled_ = false;
+        }
+
+        
     }
     void DivisionController::action()
Index: code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc	(revision 10908)
+++ code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc	(revision 10909)
@@ -44,5 +44,5 @@
         this->setFormationMode(FormationMode::FINGER4);
 
-        this->actionTimer_.setTimer(ACTION_INTERVAL, true, createExecutor(createFunctor(&SectionController::action, this)));
+        //this->actionTimer_.setTimer(ACTION_INTERVAL, true, createExecutor(createFunctor(&SectionController::action, this)));
         this->myWingman_ = 0;
         this->myDivisionLeader_ = 0;
@@ -74,4 +74,13 @@
    
         SUPER(SectionController, tick, dt);
+        if (this->timeOffset_ >= 0.5f && this->timeOffset_ <= 1.0f && !this->bActionCalled_)
+        {
+            this->action();
+            this->bActionCalled_ = true;
+        }
+        if (this->timeOffset_ > 1.5f)
+        {
+            this->bActionCalled_ = false;
+        }
     }
 
Index: code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc	(revision 10908)
+++ code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc	(revision 10909)
@@ -39,5 +39,5 @@
     {
         RegisterObject(WingmanController);
-        this->actionTimer_.setTimer(ACTION_INTERVAL, true, createExecutor(createFunctor(&WingmanController::action, this)));
+        //this->actionTimer_.setTimer(ACTION_INTERVAL, true, createExecutor(createFunctor(&WingmanController::action, this)));
         this->myLeader_ = 0;
         this->bFirstAction_ = true;
@@ -68,4 +68,13 @@
         
         SUPER(WingmanController, tick, dt);
+        if (this->timeOffset_ >= this->actionTime_ && this->timeOffset_ <= this->actionTime_ + 0.5f && !this->bActionCalled_)
+        {
+            this->action();
+            this->bActionCalled_ = true;
+        }
+        if (this->timeOffset_ <= 0.5f)
+        {
+            this->bActionCalled_ = false;
+        }
     }
     
@@ -229,4 +238,12 @@
             if (closestLeader->setWingman(orxonox_cast<ActionpointController*>(this)))
             {
+                if (closestLeader->getIdentifier()->getName() == "SectionController")
+                {
+                    this->actionTime_ = 1.0f;
+                }
+                else
+                {
+                    this->actionTime_ = 1.5f;
+                }
                 return closestLeader;
             }
Index: code/branches/campaignHS15/src/orxonox/controllers/WingmanController.h
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/WingmanController.h	(revision 10908)
+++ code/branches/campaignHS15/src/orxonox/controllers/WingmanController.h	(revision 10909)
@@ -70,5 +70,5 @@
                 Timer actionTimer_; //<! Regularly calls action().
                 bool bFirstAction_;
-
+                float actionTime_;
     };
 }
