Index: code/branches/ai2/src/modules/weapons/weaponmodes/FusionFire.cc
===================================================================
--- code/branches/ai2/src/modules/weapons/weaponmodes/FusionFire.cc	(revision 8757)
+++ code/branches/ai2/src/modules/weapons/weaponmodes/FusionFire.cc	(revision 8758)
@@ -52,5 +52,4 @@
 
         this->setMunitionName("FusionMunition");
-        this->setName("FUSION_FIRE");
     }
 
Index: code/branches/ai2/src/orxonox/controllers/AIController.cc
===================================================================
--- code/branches/ai2/src/orxonox/controllers/AIController.cc	(revision 8757)
+++ code/branches/ai2/src/orxonox/controllers/AIController.cc	(revision 8758)
@@ -196,4 +196,8 @@
                     this->bShooting_ = false;
 
+                //boost
+                random = rnd(maxrand);
+                if (random < botlevel_*100 )
+                    this->boostControl(); //TEST
             }
         }
@@ -205,11 +209,5 @@
         if (!this->isActive())
             return;
-        if(this->bDeathFlag_)//If a bot died recently, make him check his weaponsystem.
-        {
-            this->bSetupWorked = false;
-            this->numberOfWeapons = 0;
-            this->resetDeathFlag();
-        }
-        this->boostControl();//TEST
+
         float random;
         float maxrand = 100.0f / ACTION_INTERVAL;
@@ -229,5 +227,5 @@
                             random = rnd(maxrand);
                             if(this->botlevel_*100 > random)
-                                this->follow();//If a bot is shooting a player, it shouldn't let him go away easily.
+                                this->follow();  //If a bot is shooting a player, it shouldn't let him go away easily.
                         }
                     }
@@ -277,5 +275,5 @@
         else if (this->mode_ == ROCKET)//Rockets do not belong to a group of bots -> bot states are not relevant.
         {   //Vector-implementation: mode_.back() == ROCKET;
-            ControllableEntity *controllable = this->getControllableEntity(); 
+            ControllableEntity *controllable = this->getControllableEntity();
             if(controllable)
             {
Index: code/branches/ai2/src/orxonox/controllers/ArtificialController.cc
===================================================================
--- code/branches/ai2/src/orxonox/controllers/ArtificialController.cc	(revision 8757)
+++ code/branches/ai2/src/orxonox/controllers/ArtificialController.cc	(revision 8758)
@@ -317,4 +317,7 @@
         if (!this->getControllableEntity())
             this->removeFromFormation();
+        this->bSetupWorked = false;        // reset weapon information
+        this->numberOfWeapons = 0;
+        COUT(0)<<"ArtificialController::changedControllableEntity()"<<endl; //why is this function called more than once ??
     }
 
@@ -1135,5 +1138,5 @@
     {
         int max=10, i=0, j=0, k=0;
-        if(!pawn) {COUT(0)<<"NO PAWN"<<std::endl; return;}
+        if(!pawn) return;
         while(i<max)
         {
@@ -1151,5 +1154,5 @@
                     k++;
                     if(wMode==NULL) continue;
-                    COUT(0)<<wMode->getName()<<": weaponpack "+multi_cast<std::string>(i-1)<<", weapon "<<multi_cast<std::string>(j-1)<<", weaponmode "<<multi_cast<std::string>(k-1)<<std::endl;
+                    COUT(0)<<wMode->getIdentifier()->getName()<<": weaponpack "+multi_cast<std::string>(i-1)<<", weapon "<<multi_cast<std::string>(j-1)<<", weaponmode "<<multi_cast<std::string>(k-1)<<std::endl;
                 }
             }
Index: code/branches/ai2/src/orxonox/controllers/Controller.cc
===================================================================
--- code/branches/ai2/src/orxonox/controllers/Controller.cc	(revision 8757)
+++ code/branches/ai2/src/orxonox/controllers/Controller.cc	(revision 8758)
@@ -42,5 +42,4 @@
         this->controllableEntity_ = 0;
         this->bGodMode_ = false;
-        this->bDeathFlag_ = false;
     }
 
Index: code/branches/ai2/src/orxonox/controllers/Controller.h
===================================================================
--- code/branches/ai2/src/orxonox/controllers/Controller.h	(revision 8757)
+++ code/branches/ai2/src/orxonox/controllers/Controller.h	(revision 8758)
@@ -63,8 +63,4 @@
             inline ControllableEntity* getControllableEntity() const
                 { return this->controllableEntity_; }
-            inline void setDeathFlag()
-                { this->bDeathFlag_ = true; }
-            inline void resetDeathFlag()
-                { this->bDeathFlag_ = false; }
             virtual void changedControllableEntity() {}
 
@@ -83,5 +79,4 @@
             PlayerInfo* player_;
             ControllableEntity* controllableEntity_;
-            bool bDeathFlag_; //<! Signal, when a controlled entity died. Flag is set in Pawn.cc and used in AIController.
         private:
             bool bGodMode_;
Index: code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.cc	(revision 8757)
+++ code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.cc	(revision 8758)
@@ -94,5 +94,5 @@
 
         this->isHumanShip_ = this->hasLocalController();
-        
+
         this->setSyncMode(ObjectDirection::Bidirectional); // needed to synchronise e.g. aimposition
     }
@@ -304,8 +304,4 @@
         if (this->getGametype() && this->getGametype()->allowPawnDeath(this, this->lastHitOriginator_))
         {
-            if ( this->getController()&& (!this->isHumanShip_) ) //announce death to the ai
-            {
-                 this->getController()->setDeathFlag();
-            }
             // Set bAlive_ to false and wait for PawnManager to do the destruction
             this->bAlive_ = false;
