Index: code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc	(revision 10857)
+++ code/branches/campaignHS15/src/orxonox/controllers/DivisionController.cc	(revision 10858)
@@ -53,4 +53,8 @@
         {
             this->myFollower_->takeActionpoints(this->parsedActionpoints_, this->loopActionpoints_, this->bLoop_);
+            if (this->myWingman_)
+            {
+                this->myWingman_->setAction(Action::FIGHTALL);
+            }
         }
         else if (this->myWingman_)
Index: code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc	(revision 10857)
+++ code/branches/campaignHS15/src/orxonox/controllers/SectionController.cc	(revision 10858)
@@ -102,21 +102,28 @@
             switch (myDivisionLeader_->getAction())
             {
-                // case Action::FLY:
-                // {
-                //     // Vector3 targetRelativePosition = getFormationPosition();
-                //     // Quaternion orient = 
-                //     //     this->myDivisionLeader_->getControllableEntity()->getWorldOrientation();
-                //     // Vector3 targetAbsolutePosition = 
-                //     //     ((this->myDivisionLeader_->getControllableEntity()->getWorldPosition()) + 
-                //     //         (orient* (targetRelativePosition)));
-                //     // this->setAction (Action::FLY, targetAbsolutePosition, orient);
-                //     break;
-                // }
-                // case Action::FIGHT:
-                // {
-
-                //     // this->setAction (Action::FLY, targetAbsolutePosition, orient);
-                //     break;
-                // }
+                case Action::FIGHT:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->chooseTarget();
+                    }
+                    break;
+                }
+                case Action::FIGHTALL:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->chooseTarget();
+                    }
+                    break;
+                }
+                case Action::ATTACK:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->chooseTarget();
+                    }
+                    break;
+                }
                 default:
                 {
@@ -150,4 +157,11 @@
                     }
                 }
+            }
+            if (this->hasTarget())
+            {
+                //----choose where to go----
+                this->maneuver();
+                //----fire if you can----
+                this->bShooting_ = this->canFire();                
             }
         }
@@ -210,5 +224,5 @@
 
             }
-            this->setAction (Action::FIGHT, orxonox_cast<ControllableEntity*>(target));
+            this->setTarget (orxonox_cast<ControllableEntity*>(target));
         }
         else
Index: code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc
===================================================================
--- code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc	(revision 10857)
+++ code/branches/campaignHS15/src/orxonox/controllers/WingmanController.cc	(revision 10858)
@@ -98,21 +98,28 @@
             switch (this->myLeader_->getAction())
             {
-                // case Action::FLY:
-                // {
-                //     // Vector3 targetRelativePosition = getFormationPosition();
-                //     // Quaternion orient = 
-                //     //     this->myDivisionLeader_->getControllableEntity()->getWorldOrientation();
-                //     // Vector3 targetAbsolutePosition = 
-                //     //     ((this->myDivisionLeader_->getControllableEntity()->getWorldPosition()) + 
-                //     //         (orient* (targetRelativePosition)));
-                //     // this->setAction (Action::FLY, targetAbsolutePosition, orient);
-                //     break;
-                // }
-                // case Action::FIGHT:
-                // {
-
-                //     // this->setAction (Action::FLY, targetAbsolutePosition, orient);
-                //     break;
-                // }
+                case Action::FIGHT:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->setTarget(this->myLeader_->getTarget());
+                    }
+                    break;
+                }
+                case Action::FIGHTALL:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->setTarget(this->myLeader_->getTarget());
+                    }
+                    break;
+                }
+                case Action::ATTACK:
+                {
+                    if (!this->hasTarget())
+                    {
+                        this->setTarget(this->myLeader_->getTarget());
+                    }
+                    break;
+                }
                 default:
                 {
@@ -146,4 +153,11 @@
                     }
                 }
+            }
+            if (this->hasTarget())
+            {
+                //----choose where to go----
+                this->maneuver();
+                //----fire if you can----
+                this->bShooting_ = this->canFire();                
             }
         }
