Index: code/branches/cpp11_v3/src/modules/objects/Attacher.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/Attacher.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/Attacher.cc	(revision 11054)
@@ -40,5 +40,5 @@
         RegisterObject(Attacher);
 
-        this->target_ = 0;
+        this->target_ = nullptr;
     }
 
@@ -61,6 +61,6 @@
         SUPER(Attacher, changedActivity);
 
-        for (std::list<WorldEntity*>::iterator it = this->objects_.begin(); it != this->objects_.end(); ++it)
-            (*it)->setActive(this->isActive());
+        for (WorldEntity* object : this->objects_)
+            object->setActive(this->isActive());
     }
 
@@ -69,6 +69,6 @@
         SUPER(Attacher, changedVisibility);
 
-        for (std::list<WorldEntity*>::iterator it = this->objects_.begin(); it != this->objects_.end(); ++it)
-            (*it)->setVisible(this->isVisible());
+        for (WorldEntity* object : this->objects_)
+            object->setVisible(this->isVisible());
     }
 
@@ -83,12 +83,12 @@
     {
         unsigned int i = 0;
-        for (std::list<WorldEntity*>::const_iterator it = this->objects_.begin(); it != this->objects_.end(); ++it)
+        for (WorldEntity* object : this->objects_)
         {
             if (i == index)
-                return (*it);
+                return object;
 
             ++i;
         }
-        return 0;
+        return nullptr;
     }
 
@@ -96,15 +96,15 @@
     {
         this->targetname_ = target;
-        this->target_ = 0;
+        this->target_ = nullptr;
 
         if (this->targetname_.empty())
             return;
 
-        for (ObjectList<WorldEntity>::iterator it = ObjectList<WorldEntity>::begin(); it != ObjectList<WorldEntity>::end(); ++it)
+        for (WorldEntity* worldEntity : ObjectList<WorldEntity>())
         {
-            if (it->getName() == this->targetname_)
+            if (worldEntity->getName() == this->targetname_)
             {
-                this->target_ = *it;
-                this->attachToParent(*it);
+                this->target_ = worldEntity;
+                this->attachToParent(worldEntity);
             }
         }
Index: code/branches/cpp11_v3/src/modules/objects/Attacher.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/Attacher.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/Attacher.h	(revision 11054)
@@ -51,9 +51,9 @@
             virtual ~Attacher() {}
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
-            virtual void processEvent(Event& event);
-            virtual void changedActivity();
-            virtual void changedVisibility();
+            virtual void processEvent(Event& event) override;
+            virtual void changedActivity() override;
+            virtual void changedVisibility() override;
 
             void addObject(WorldEntity* object);
@@ -64,5 +64,5 @@
                 { return this->targetname_; }
 
-            void loadedNewXMLName(BaseObject* object);
+            virtual void loadedNewXMLName(BaseObject* object) override;
 
         private:
Index: code/branches/cpp11_v3/src/modules/objects/ForceField.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/ForceField.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/ForceField.cc	(revision 11054)
@@ -118,5 +118,5 @@
         {
             // Iterate over all objects that could possibly be affected by the ForceField.
-            for (ObjectList<MobileEntity>::iterator it = ObjectList<MobileEntity>::begin(); it != ObjectList<MobileEntity>::end(); ++it)
+            for (MobileEntity* mobileEntity : ObjectList<MobileEntity>())
             {
                 // The direction of the orientation of the force field.
@@ -125,5 +125,5 @@
 
                 // Vector from the center of the force field to the object its acting on.
-                Vector3 distanceVector = it->getWorldPosition() - (this->getWorldPosition() + (this->halfLength_ * direction));
+                Vector3 distanceVector = mobileEntity->getWorldPosition() - (this->getWorldPosition() + (this->halfLength_ * direction));
 
                 // The object is outside a ball around the center with radius length/2 of the ForceField.
@@ -132,5 +132,5 @@
 
                 // The distance of the object form the orientation vector. (Or rather the smallest distance from the orientation vector)
-                float distanceFromDirectionVector = ((it->getWorldPosition() - this->getWorldPosition()).crossProduct(direction)).length();
+                float distanceFromDirectionVector = ((mobileEntity->getWorldPosition() - this->getWorldPosition()).crossProduct(direction)).length();
 
                 // If the object in a tube of radius 'radius' around the direction of orientation.
@@ -140,5 +140,5 @@
                 // Apply a force to the object in the direction of the orientation.
                 // The force is highest when the object is directly on the direction vector, with a linear decrease, finally reaching zero, when distanceFromDirectionVector = radius.
-                it->applyCentralForce((this->radius_ - distanceFromDirectionVector)/this->radius_ * this->velocity_ * direction);
+                mobileEntity->applyCentralForce((this->radius_ - distanceFromDirectionVector)/this->radius_ * this->velocity_ * direction);
             }
         }
@@ -146,7 +146,7 @@
         {
             // Iterate over all objects that could possibly be affected by the ForceField.
-            for (ObjectList<MobileEntity>::iterator it = ObjectList<MobileEntity>::begin(); it != ObjectList<MobileEntity>::end(); ++it)
-            {
-                Vector3 distanceVector = it->getWorldPosition() - this->getWorldPosition();
+            for (MobileEntity* mobileEntity : ObjectList<MobileEntity>())
+            {
+                Vector3 distanceVector = mobileEntity->getWorldPosition() - this->getWorldPosition();
                 float distance = distanceVector.length();
                 // If the object is within 'radius' distance.
@@ -155,5 +155,5 @@
                     distanceVector.normalise();
                     // Apply a force proportional to the velocity, with highest force at the origin of the sphere, linear decreasing until reaching a distance of 'radius' from the origin, where the force reaches zero. 
-                    it->applyCentralForce((this->radius_ - distance)/this->radius_ * this->velocity_ * distanceVector);
+                    mobileEntity->applyCentralForce((this->radius_ - distance)/this->radius_ * this->velocity_ * distanceVector);
                 }
             }
@@ -162,7 +162,7 @@
         {
             // Iterate over all objects that could possibly be affected by the ForceField.
-            for (ObjectList<MobileEntity>::iterator it = ObjectList<MobileEntity>::begin(); it != ObjectList<MobileEntity>::end(); ++it)
-            {
-                Vector3 distanceVector = this->getWorldPosition() - it->getWorldPosition();
+            for (MobileEntity* mobileEntity : ObjectList<MobileEntity>())
+            {
+                Vector3 distanceVector = this->getWorldPosition() - mobileEntity->getWorldPosition();
                 float distance = distanceVector.length();
                 // If the object is within 'radius' distance and no more than 'length' away from the boundary of the sphere.
@@ -172,5 +172,5 @@
                     distanceVector.normalise();
                     // Apply a force proportional to the velocity, with highest force at the boundary of the sphere, linear decreasing until reaching a distance of 'radius-length' from the origin, where the force reaches zero.
-                    it->applyCentralForce((distance-range)/range * this->velocity_ * distanceVector);
+                    mobileEntity->applyCentralForce((distance-range)/range * this->velocity_ * distanceVector);
                 }
             }
@@ -179,7 +179,7 @@
         {
             // Iterate over all objects that could possibly be affected by the ForceField.
-            for (ObjectList<MobileEntity>::iterator it = ObjectList<MobileEntity>::begin(); it != ObjectList<MobileEntity>::end(); ++it)
-            {
-                Vector3 distanceVector = it->getWorldPosition() - this->getWorldPosition();
+            for (MobileEntity* mobileEntity : ObjectList<MobileEntity>())
+            {
+                Vector3 distanceVector = mobileEntity->getWorldPosition() - this->getWorldPosition();
                 float distance = distanceVector.length();
                 // If the object is within 'radius' distance and especially further away than massRadius_
@@ -197,5 +197,5 @@
                     
                     // Note: this so called force is actually an acceleration!
-                    it->applyCentralForce((-1) * (ForceField::attenFactor_ * ForceField::gravConstant_ * this->getMass()) / (distance * distance) * distanceVector);
+                    mobileEntity->applyCentralForce((-1) * (ForceField::attenFactor_ * ForceField::gravConstant_ * this->getMass()) / (distance * distance) * distanceVector);
                 }
             }
@@ -204,7 +204,7 @@
         {
             // Iterate over all objects that could possibly be affected by the ForceField.
-            for (ObjectList<MobileEntity>::iterator it = ObjectList<MobileEntity>::begin(); it != ObjectList<MobileEntity>::end(); ++it)
-            {
-                Vector3 distanceVector = it->getWorldPosition() - this->getWorldPosition();
+            for (MobileEntity* mobileEntity : ObjectList<MobileEntity>())
+            {
+                Vector3 distanceVector = mobileEntity->getWorldPosition() - this->getWorldPosition();
                 float distance = distanceVector.length();
                 if (distance < this->radius_ && distance > this->massRadius_)
@@ -212,5 +212,5 @@
                     // Add a Acceleration in forceDirection_.
                     // Vector3(0,0,0) is the direction, where the force should work.
-                    it->addAcceleration(forceDirection_ , Vector3(0,0,0));
+                    mobileEntity->addAcceleration(forceDirection_ , Vector3(0,0,0));
                 }
             }
Index: code/branches/cpp11_v3/src/modules/objects/ForceField.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/ForceField.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/ForceField.h	(revision 11054)
@@ -92,7 +92,7 @@
             virtual ~ForceField();
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Creates a ForceField object through XML.
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override; //!< Creates a ForceField object through XML.
             void registerVariables(); //!< Registers the variables that should get synchronised over the network
-            virtual void tick(float dt); //!< A method that is called every tick.
+            virtual void tick(float dt) override; //!< A method that is called every tick.
             
 
Index: code/branches/cpp11_v3/src/modules/objects/Planet.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/Planet.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/Planet.h	(revision 11054)
@@ -52,9 +52,9 @@
             virtual ~Planet();
 
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
-            virtual void changedVisibility();
+            virtual void changedVisibility() override;
 
             inline void setMeshSource(const std::string& meshname)
Index: code/branches/cpp11_v3/src/modules/objects/Script.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/Script.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/Script.cc	(revision 11054)
@@ -140,8 +140,8 @@
 
         PlayerTrigger* pTrigger = orxonox_cast<PlayerTrigger*>(trigger);
-        PlayerInfo* player = NULL;
+        PlayerInfo* player = nullptr;
 
         // If the trigger is a PlayerTrigger.
-        if(pTrigger != NULL)
+        if(pTrigger != nullptr)
         {
             if(!pTrigger->isForPlayer())  // The PlayerTrigger is not exclusively for Pawns which means we cannot extract one.
@@ -153,5 +153,5 @@
             return false;
 
-        if(player == NULL)  //TODO: Will this ever happen? If not, change in NotificationDispatcher as well.
+        if(player == nullptr)  //TODO: Will this ever happen? If not, change in NotificationDispatcher as well.
         {
             orxout(internal_warning) << "The Script was triggered by an entity other than a Pawn. (" << trigger->getIdentifier()->getName() << ")" << endl;
@@ -196,7 +196,7 @@
             {
                 const std::map<unsigned int, PlayerInfo*> clients = PlayerManager::getInstance().getClients();
-                for(std::map<unsigned int, PlayerInfo*>::const_iterator it = clients.begin(); it != clients.end(); it++)
+                for(const auto& mapEntry : clients)
                 {
-                    callStaticNetworkFunction(&Script::executeHelper, it->first, this->getCode(), this->getMode(), this->getNeedsGraphics());
+                    callStaticNetworkFunction(&Script::executeHelper, mapEntry.first, this->getCode(), this->getMode(), this->getNeedsGraphics());
                     if(this->times_ != Script::INF) // Decrement the number of remaining executions.
                     {
Index: code/branches/cpp11_v3/src/modules/objects/Script.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/Script.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/Script.h	(revision 11054)
@@ -98,6 +98,6 @@
             virtual ~Script();
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Method for creating a Script object through XML.
-            virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode); //!< Creates a port that can be used to channel events and react to them.
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override; //!< Method for creating a Script object through XML.
+            virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode) override; //!< Creates a port that can be used to channel events and react to them.
 
             bool trigger(bool triggered, BaseObject* trigger); //!< Is called when an event comes in trough the event port.
@@ -168,6 +168,6 @@
                 { return this->forAll_; }
 
-            virtual void clientConnected(unsigned int clientId); //!< Callback that is called when a new client has connected.
-            virtual void clientDisconnected(unsigned int clientid) {}
+            virtual void clientConnected(unsigned int clientId) override; //!< Callback that is called when a new client has connected.
+            virtual void clientDisconnected(unsigned int clientid) override {}
 
         private:
Index: code/branches/cpp11_v3/src/modules/objects/SpaceBoundaries.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/SpaceBoundaries.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/SpaceBoundaries.cc	(revision 11054)
@@ -59,9 +59,9 @@
             this->pawnsIn_.clear();
 
-            for( std::vector<BillboardAdministration>::iterator current = this->billboards_.begin(); current != this->billboards_.end(); current++)
+            for(BillboardAdministration& billboard : this->billboards_)
             {
-                if( current->billy != NULL)
-                {
-                    delete current->billy;
+                if( billboard.billy != nullptr)
+                {
+                    delete billboard.billy;
                 }
             }
@@ -73,7 +73,6 @@
     {
         pawnsIn_.clear();
-        for(ObjectList<Pawn>::iterator current = ObjectList<Pawn>::begin(); current != ObjectList<Pawn>::end(); ++current)
-        {
-            Pawn* currentPawn = *current;
+        for(Pawn* currentPawn : ObjectList<Pawn>())
+        {
             if( this->reaction_ == 0 )
             {
@@ -127,5 +126,5 @@
     void SpaceBoundaries::setBillboardOptions(Billboard *billy)
     {
-        if(billy != NULL)
+        if(billy != nullptr)
         {
             billy->setMaterial("Grid");
@@ -138,8 +137,8 @@
     void SpaceBoundaries::removeAllBillboards()
     {
-        for( std::vector<BillboardAdministration>::iterator current = this->billboards_.begin(); current != this->billboards_.end(); current++ )
-        {
-            current->usedYet = false;
-            current->billy->setVisible(false);
+        for(BillboardAdministration& billboard : this->billboards_)
+        {
+            billboard.usedYet = false;
+            billboard.billy->setVisible(false);
         }
     }
@@ -208,7 +207,6 @@
         float distance;
         bool humanItem;
-        for( std::list<WeakPtr<Pawn> >::iterator current = pawnsIn_.begin(); current != pawnsIn_.end(); current++ )
-        {
-            Pawn* currentPawn = *current;
+        for(Pawn* currentPawn : pawnsIn_)
+        {
             if( currentPawn && currentPawn->getNode() ) 
             {
@@ -250,5 +248,5 @@
     float SpaceBoundaries::computeDistance(WorldEntity *item)
     {
-        if(item != NULL)
+        if(item != nullptr)
         {
             Vector3 itemPosition = item->getWorldPosition();
@@ -310,5 +308,5 @@
     bool SpaceBoundaries::isHumanPlayer(Pawn *item)
     {
-        if(item != NULL)
+        if(item != nullptr)
         {
             if(item->getPlayer())
Index: code/branches/cpp11_v3/src/modules/objects/SpaceBoundaries.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/SpaceBoundaries.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/SpaceBoundaries.h	(revision 11054)
@@ -93,7 +93,7 @@
             int getReaction();
 
-            void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
-            void tick(float dt);
+            virtual void tick(float dt) override;
 
         private:
@@ -101,5 +101,5 @@
 
             // Variabeln::
-            std::list<WeakPtr<Pawn> > pawnsIn_; //!< List of the pawns that this instance of SpaceBoundaries has to handle.
+            std::list<WeakPtr<Pawn>> pawnsIn_; //!< List of the pawns that this instance of SpaceBoundaries has to handle.
 
             std::vector<BillboardAdministration> billboards_;
Index: code/branches/cpp11_v3/src/modules/objects/Turret.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/Turret.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/Turret.h	(revision 11054)
@@ -61,12 +61,12 @@
             virtual ~Turret();
 
-            virtual void rotatePitch(const Vector2& value);
-            virtual void rotateYaw(const Vector2& value);
-            virtual void rotateRoll(const Vector2& value);
+            virtual void rotatePitch(const Vector2& value) override;
+            virtual void rotateYaw(const Vector2& value) override;
+            virtual void rotateRoll(const Vector2& value) override;
             virtual float isInRange(const WorldEntity* target);
             virtual void aimAtPosition(const Vector3 &position);
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void tick(float dt);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void tick(float dt) override;
 
             /** @brief Sets the maximum distance the turret is allowed to shoot. @param radius The distance*/
Index: code/branches/cpp11_v3/src/modules/objects/controllers/TeamTargetProxy.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/controllers/TeamTargetProxy.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/controllers/TeamTargetProxy.cc	(revision 11054)
@@ -28,4 +28,5 @@
 
 #include "TeamTargetProxy.h"
+#include "core/CoreIncludes.h"
 #include "worldentities/ControllableEntity.h"
 #include "worldentities/pawns/Pawn.h"
Index: code/branches/cpp11_v3/src/modules/objects/controllers/TurretController.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/controllers/TurretController.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/controllers/TurretController.cc	(revision 11054)
@@ -30,4 +30,6 @@
 #include "worldentities/pawns/Pawn.h"
 #include "objects/Turret.h"
+#include "core/object/ObjectList.h"
+#include "core/CoreIncludes.h"
 
  namespace orxonox
@@ -81,5 +83,5 @@
         {
             this->forgetTarget();
-            turret->setTarget(0);
+            turret->setTarget(nullptr);
         }
 
@@ -99,12 +101,11 @@
         float minScore = FLT_MAX;
         float tempScore;
-        Pawn* minScorePawn = 0;
-
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); ++it)
-        {
-            Pawn* entity = orxonox_cast<Pawn*>(*it);
-            if (!entity || FormationController::sameTeam(turret, entity, this->getGametype()))
+        Pawn* minScorePawn = nullptr;
+
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            if (!pawn || FormationController::sameTeam(turret, pawn, this->getGametype()))
                 continue;
-            tempScore = turret->isInRange(entity);
+            tempScore = turret->isInRange(pawn);
             if(tempScore != -1.f)
             {
@@ -112,5 +113,5 @@
                 {
                     minScore = tempScore;
-                    minScorePawn = entity;
+                    minScorePawn = pawn;
                 }
             }
Index: code/branches/cpp11_v3/src/modules/objects/eventsystem/EventDispatcher.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/eventsystem/EventDispatcher.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/eventsystem/EventDispatcher.cc	(revision 11054)
@@ -45,6 +45,6 @@
     {
         if (this->isInitialized())
-            for (std::list<BaseObject*>::iterator it = this->targets_.begin(); it != this->targets_.end(); ++it)
-                (*it)->destroy();
+            for (BaseObject* target : this->targets_)
+                target->destroy();
     }
 
@@ -61,6 +61,6 @@
     void EventDispatcher::processEvent(Event& event)
     {
-        for (std::list<BaseObject*>::iterator it = this->targets_.begin(); it != this->targets_.end(); ++it)
-            (*it)->processEvent(event);
+        for (BaseObject* target : this->targets_)
+            target->processEvent(event);
     }
 
@@ -73,11 +73,11 @@
     {
         unsigned int i = 0;
-        for (std::list<BaseObject*>::const_iterator it = this->targets_.begin(); it != this->targets_.end(); ++it)
+        for (BaseObject* target : this->targets_)
         {
             if (i == index)
-                return (*it);
+                return target;
             ++i;
         }
-        return 0;
+        return nullptr;
     }
 }
Index: code/branches/cpp11_v3/src/modules/objects/eventsystem/EventFilter.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/eventsystem/EventFilter.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/eventsystem/EventFilter.cc	(revision 11054)
@@ -70,7 +70,7 @@
         {
             bool success = false;
-            for (std::list<EventName*>::const_iterator it = this->names_.begin(); it != this->names_.end(); ++it)
+            for (EventName* name : this->names_)
             {
-                if ((*it)->getName() == event.name_)
+                if (name->getName() == event.name_)
                 {
                     success = true;
@@ -96,11 +96,11 @@
     {
         unsigned int i = 0;
-        for (std::list<BaseObject*>::const_iterator it = this->sources_.begin(); it != this->sources_.end(); ++it)
+        for (BaseObject* source : this->sources_)
         {
             if (i == index)
-                return (*it);
+                return source;
             ++i;
         }
-        return 0;
+        return nullptr;
     }
 
@@ -113,11 +113,11 @@
     {
         unsigned int i = 0;
-        for (std::list<EventName*>::const_iterator it = this->names_.begin(); it != this->names_.end(); ++it)
+        for (EventName* name : this->names_)
         {
             if (i == index)
-                return (*it);
+                return name;
             ++i;
         }
-        return 0;
+        return nullptr;
     }
 }
Index: code/branches/cpp11_v3/src/modules/objects/eventsystem/EventListener.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/eventsystem/EventListener.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/eventsystem/EventListener.cc	(revision 11054)
@@ -78,7 +78,7 @@
             return;
 
-        for (ObjectList<BaseObject>::iterator it = ObjectList<BaseObject>::begin(); it != ObjectList<BaseObject>::end(); ++it)
-            if (it->getName() == this->eventName_)
-                this->addEventSource(*it, "");
+        for (BaseObject* object : ObjectList<BaseObject>())
+            if (object->getName() == this->eventName_)
+                this->addEventSource(object, "");
     }
 
Index: code/branches/cpp11_v3/src/modules/objects/eventsystem/EventTarget.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/eventsystem/EventTarget.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/eventsystem/EventTarget.cc	(revision 11054)
@@ -73,7 +73,7 @@
         this->target_ = name;
 
-        for (ObjectList<BaseObject>::iterator it = ObjectList<BaseObject>::begin(); it != ObjectList<BaseObject>::end(); ++it)
-            if (it->getName() == this->target_)
-                this->addEventTarget(*it);
+        for (BaseObject* object : ObjectList<BaseObject>())
+            if (object->getName() == this->target_)
+                this->addEventTarget(object);
     }
 
Index: code/branches/cpp11_v3/src/modules/objects/triggers/DistanceMultiTrigger.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/DistanceMultiTrigger.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/DistanceMultiTrigger.cc	(revision 11054)
@@ -97,13 +97,13 @@
     {
 
-        std::queue<MultiTriggerState*>* queue = NULL;
+        std::queue<MultiTriggerState*>* queue = nullptr;
 
         // Check for objects that were in range but no longer are. Iterate through all objects, that are in range.
-        for(std::set<WeakPtr<WorldEntity> >::iterator it = this->range_.begin(); it != this->range_.end(); )
+        for(std::set<WeakPtr<WorldEntity>>::iterator it = this->range_.begin(); it != this->range_.end(); )
         {
             WorldEntity* entity = *it;
 
             // If the entity no longer exists.
-            if(entity == NULL)
+            if(entity == nullptr)
             {
                 this->range_.erase(it++);
@@ -118,5 +118,5 @@
 
                 // If no queue has been created, yet.
-                if(queue == NULL)
+                if(queue == nullptr)
                     queue = new std::queue<MultiTriggerState*>();
 
@@ -158,9 +158,9 @@
             {
                 
-                const std::set<WorldEntity*> attached = entity->getAttachedObjects();
+                const std::set<WorldEntity*> attachedObjects = entity->getAttachedObjects();
                 bool found = false;
-                for(std::set<WorldEntity*>::const_iterator it = attached.begin(); it != attached.end(); it++)
+                for(WorldEntity* attachedObject : attachedObjects)
                 {
-                    if((*it)->isA(ClassIdentifier<DistanceTriggerBeacon>::getIdentifier()) && static_cast<DistanceTriggerBeacon*>(*it)->getName() == this->targetName_)
+                    if(attachedObject->isA(ClassIdentifier<DistanceTriggerBeacon>::getIdentifier()) && static_cast<DistanceTriggerBeacon*>(attachedObject)->getName() == this->targetName_)
                     {
                         found = true;
@@ -186,5 +186,5 @@
 
                 // If no queue has been created, yet.
-                if(queue == NULL)
+                if(queue == nullptr)
                     queue = new std::queue<MultiTriggerState*>();
 
@@ -261,5 +261,5 @@
     bool DistanceMultiTrigger::addToRange(WorldEntity* entity)
     {
-        std::pair<std::set<WeakPtr<WorldEntity> >::iterator, bool> pair = this->range_.insert(entity);
+        std::pair<std::set<WeakPtr<WorldEntity>>::iterator, bool> pair = this->range_.insert(entity);
         return pair.second;
     }
Index: code/branches/cpp11_v3/src/modules/objects/triggers/DistanceMultiTrigger.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/DistanceMultiTrigger.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/DistanceMultiTrigger.h	(revision 11054)
@@ -153,5 +153,5 @@
             ClassTreeMask beaconMask_; //!< A mask, that only accepts DistanceTriggerBeacons.
 
-            std::set<WeakPtr<WorldEntity> > range_; //!< The set of entities that currently are in range of the DistanceMultiTrigger.
+            std::set<WeakPtr<WorldEntity>> range_; //!< The set of entities that currently are in range of the DistanceMultiTrigger.
 
     };
Index: code/branches/cpp11_v3/src/modules/objects/triggers/DistanceTrigger.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/DistanceTrigger.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/DistanceTrigger.cc	(revision 11054)
@@ -106,5 +106,5 @@
             this->setForPlayer(true);
 
-        if (targetId == NULL)
+        if (targetId == nullptr)
         {
             orxout(internal_error, context::triggers) << "\"" << targetStr << "\" is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ')' << endl;
@@ -147,5 +147,5 @@
     {
         // Check whether there is a cached object, it still exists and whether it is still in range, if so nothing further needs to be done.
-        if(this->cache_ != NULL)
+        if(this->cache_ != nullptr)
         {
             if((this->cache_->getWorldPosition() - this->getWorldPosition()).length() < this->distance_)
@@ -180,9 +180,9 @@
             {
 
-                const std::set<WorldEntity*> attached = entity->getAttachedObjects();
+                const std::set<WorldEntity*> attachedObjects = entity->getAttachedObjects();
                 bool found = false;
-                for(std::set<WorldEntity*>::const_iterator it = attached.begin(); it != attached.end(); it++)
+                for(WorldEntity* attachedObject : attachedObjects)
                 {
-                    if((*it)->isA(ClassIdentifier<DistanceTriggerBeacon>::getIdentifier()) && static_cast<DistanceTriggerBeacon*>(*it)->getName() == this->targetName_)
+                    if(attachedObject->isA(ClassIdentifier<DistanceTriggerBeacon>::getIdentifier()) && static_cast<DistanceTriggerBeacon*>(attachedObject)->getName() == this->targetName_)
                     {
                         found = true;
@@ -206,8 +206,8 @@
 
                     Pawn* pawn = orxonox_cast<Pawn*>(entity);
-                    if(pawn != NULL)
+                    if(pawn != nullptr)
                         this->setTriggeringPawn(pawn);
                     else
-                        orxout(internal_warning, context::triggers) << "Pawn was NULL." << endl;
+                        orxout(internal_warning, context::triggers) << "Pawn was nullptr." << endl;
                 }
                 
Index: code/branches/cpp11_v3/src/modules/objects/triggers/EventMultiTrigger.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/EventMultiTrigger.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/EventMultiTrigger.cc	(revision 11054)
@@ -96,5 +96,5 @@
     {
         // If the originator is a MultiTriggerContainer, the event originates from a MultiTrigger and thus the event only triggers the EventMultiTrigger for the originator that caused the MultiTrigger to trigger.
-        if(originator != NULL && originator->isA(ClassIdentifier<MultiTriggerContainer>::getIdentifier()))
+        if(originator != nullptr && originator->isA(ClassIdentifier<MultiTriggerContainer>::getIdentifier()))
         {
             MultiTriggerContainer* container = static_cast<MultiTriggerContainer*>(originator);
Index: code/branches/cpp11_v3/src/modules/objects/triggers/MultiTrigger.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/MultiTrigger.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/MultiTrigger.cc	(revision 11054)
@@ -124,13 +124,13 @@
         // Let the MultiTrigger return the states that trigger and process the new states if there are any.
         std::queue<MultiTriggerState*>* queue  = this->letTrigger();
-        if(queue != NULL)
+        if(queue != nullptr)
         {
             while(queue->size() > 0)
             {
                 MultiTriggerState* state = queue->front();
-                // If the state is NULL. (This really shouldn't happen)
-                if(state == NULL)
+                // If the state is nullptr. (This really shouldn't happen)
+                if(state == nullptr)
                 {
-                    orxout(internal_error, context::triggers) << "In MultiTrigger '" << this->getName() << "' (&" << this << "), Error: State of new states queue was NULL. State ignored." << endl;
+                    orxout(internal_error, context::triggers) << "In MultiTrigger '" << this->getName() << "' (&" << this << "), Error: State of new states queue was nullptr. State ignored." << endl;
                     queue->pop();
                     continue;
@@ -227,5 +227,5 @@
                             {
                                 // If the MultiTrigger is set to broadcast and has no originator a boradcast is fired.
-                                if(this->getBroadcast() && state->originator == NULL)
+                                if(this->getBroadcast() && state->originator == nullptr)
                                     this->broadcast(bActive);
                                 // Else a normal event is fired.
@@ -240,11 +240,11 @@
                         {
                             // Print some debug output if the state has changed.
-                            if(state->originator != NULL)
+                            if(state->originator != nullptr)
                                 orxout(verbose, context::triggers) << "MultiTrigger '" << this->getName() << "' (&" << this << ") changed state. originator: " << state->originator->getIdentifier()->getName() << " (&" << state->originator << "), active: " << bActive << ", triggered: " << state->bTriggered << "." << endl;
                             else
-                                orxout(verbose, context::triggers) << "MultiTrigger '" << this->getName() << "' (&" << this << ") changed state. originator: NULL, active: " << bActive << ", triggered: " << state->bTriggered << "." << endl;
+                                orxout(verbose, context::triggers) << "MultiTrigger '" << this->getName() << "' (&" << this << ") changed state. originator: nullptr, active: " << bActive << ", triggered: " << state->bTriggered << "." << endl;
 
                             // If the MultiTrigger has a parent trigger, that is itself a MultiTrigger, it needs to call a method to notify him, that its activity has changed.
-                            if(this->parent_ != NULL && this->parent_->isMultiTrigger())
+                            if(this->parent_ != nullptr && this->parent_->isMultiTrigger())
                                 static_cast<MultiTrigger*>(this->parent_)->childActivityChanged(state->originator);
                         }
@@ -265,5 +265,5 @@
                 else
                 {
-                    this->stateQueue_.push_back(std::pair<float, MultiTriggerState*>(timeRemaining-dt, state));
+                    this->stateQueue_.emplace_back(timeRemaining-dt, state);
                     this->stateQueue_.pop_front();
                 }
@@ -299,5 +299,5 @@
 
         // If the target is not a valid class name display an error.
-        if (target == NULL)
+        if (target == nullptr)
         {
             orxout(internal_error, context::triggers) << "'" << targetStr << "' is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ")" << endl;
@@ -327,5 +327,5 @@
 
         // If the target is not a valid class name display an error.
-        if (target == NULL)
+        if (target == nullptr)
         {
             orxout(internal_error, context::triggers) << "'" << targetStr << "' is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ")" << endl;
@@ -346,5 +346,5 @@
     std::queue<MultiTriggerState*>* MultiTrigger::letTrigger(void)
     {
-        return NULL;
+        return nullptr;
     }
 
@@ -443,6 +443,6 @@
     void MultiTrigger::fire(bool status, BaseObject* originator)
     {
-        // If the originator is NULL, a normal event without MultiTriggerContainer is sent.
-        if(originator == NULL)
+        // If the originator is nullptr, a normal event without MultiTriggerContainer is sent.
+        if(originator == nullptr)
         {
             this->fireEvent(status);
@@ -479,5 +479,5 @@
     bool MultiTrigger::addState(MultiTriggerState* state)
     {
-        assert(state); // The state really shouldn't be NULL.
+        assert(state); // The state really shouldn't be nullptr.
 
         // If the originator is no target of this MultiTrigger.
@@ -489,5 +489,5 @@
 
         // Add it ot the state queue with the delay specified for the MultiTrigger.
-        this->stateQueue_.push_back(std::pair<float, MultiTriggerState*>(this->getDelay(), state));
+        this->stateQueue_.emplace_back(this->getDelay(), state);
 
         return true;
@@ -504,7 +504,6 @@
     bool MultiTrigger::checkAnd(BaseObject* triggerer)
     {
-        for(std::set<TriggerBase*>::iterator it = this->children_.begin(); it != this->children_.end(); ++it)
-        {
-            TriggerBase* trigger = *it;
+        for(TriggerBase* trigger : this->children_)
+        {
             if(trigger->isMultiTrigger())
             {
@@ -531,7 +530,6 @@
     bool MultiTrigger::checkOr(BaseObject* triggerer)
     {
-        for(std::set<TriggerBase*>::iterator it = this->children_.begin(); it != this->children_.end(); ++it)
-        {
-            TriggerBase* trigger = *it;
+        for(TriggerBase* trigger : this->children_)
+        {
             if(trigger->isMultiTrigger())
             {
@@ -559,7 +557,6 @@
     {
         bool triggered = false;
-        for(std::set<TriggerBase*>::iterator it = this->children_.begin(); it != this->children_.end(); ++it)
-        {
-            TriggerBase* trigger = *it;
+        for(TriggerBase* trigger : this->children_)
+        {
             if(triggered)
             {
Index: code/branches/cpp11_v3/src/modules/objects/triggers/MultiTrigger.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/MultiTrigger.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/MultiTrigger.h	(revision 11054)
@@ -76,5 +76,5 @@
         - @b simultaneousTriggerers The number of simultaneous triggerers limits the number of objects that are allowed to trigger the MultiTrigger at the same time. Or more precisely, the number of distinct objects the MultiTrigger has <em>triggered</em> states for, at each point in time. The default is <code>-1</code>, which denotes infinity.
         - @b mode The mode describes how the MultiTrigger acts in relation to all the triggers, that are appended to it. There are 3 modes: <em>and</em>, meaning that the MultiTrigger can only be triggered if all the appended triggers are active. <em>or</em>, meaning that the MultiTrigger can only triggered if at least one of the appended triggers is active. And <em>xor</em>, meaning that the MultiTrigger can only be triggered if one and only one appended trigger is active. Note, that I wrote <em>can only be active</em>, that implies, that there is an additional condition to the <em>activity</em> of the MultiTrigger and that is the fulfillment of the triggering condition (the MultiTrigger itself doesn't have one, but all derived classes should). Also bear in mind, that the <em>activity</em> of a MultiTrigger is still coupled to the object that triggered it. The default is <em>and</em>.
-        - @b broadcast Broadcast is a boolean, if true the MutliTrigger is in <em>broadcast-mode</em>, meaning, that all trigger events that are caused by no originator (originator is NULL) are broadcast as having come from every possible originator, or more precisely as having come from all objects that are specified targets of this MultiTrigger. The default is false.
+        - @b broadcast Broadcast is a boolean, if true the MutliTrigger is in <em>broadcast-mode</em>, meaning, that all trigger events that are caused by no originator (originator is nullptr) are broadcast as having come from every possible originator, or more precisely as having come from all objects that are specified targets of this MultiTrigger. The default is false.
         - @b target The target describes the kind of objects that are allowed to trigger this MultiTrigger. The default is @ref orxonox::Pawn "Pawn".
         - Also there is the possibility of appending triggers (as long as they inherit from TriggerBase) to the MultiTrigger just by adding them as children in the XML description of your MultiTrigger.
@@ -110,6 +110,6 @@
             */
             inline bool isActive(void) const
-                { return this->isActive(NULL); }
-            bool isActive(BaseObject* triggerer = NULL) const; //!< Check whether the MultiTrigger is active for a given object.
+                { return this->isActive(nullptr); }
+            bool isActive(BaseObject* triggerer = nullptr) const; //!< Check whether the MultiTrigger is active for a given object.
 
             /**
@@ -145,5 +145,5 @@
             */
             inline bool isTarget(BaseObject* target)
-                { if(target == NULL) return true; else return targetMask_.isIncluded(target->getIdentifier()); }
+                { if(target == nullptr) return true; else return targetMask_.isIncluded(target->getIdentifier()); }
                 
             void addTarget(const std::string& targets); //!< Add some target to the MultiTrigger.
@@ -152,10 +152,10 @@
             virtual std::queue<MultiTriggerState*>* letTrigger(void); //!< This method is called by the MultiTrigger to get information about new trigger events that need to be looked at.
 
-            void changeTriggered(BaseObject* originator = NULL); //!< This method can be called by any class inheriting from MultiTrigger to change it's triggered status for a specified originator.
-
-            bool isModeTriggered(BaseObject* triggerer = NULL); //!< Checks whether the MultiTrigger is triggered concerning it's children.
-            bool isTriggered(BaseObject* triggerer = NULL); //!< Get whether the MultiTrigger is triggered for a given object.
-
-            virtual void fire(bool status, BaseObject* originator = NULL);  //!< Helper method. Creates an Event for the given status and originator and fires it.
+            void changeTriggered(BaseObject* originator = nullptr); //!< This method can be called by any class inheriting from MultiTrigger to change it's triggered status for a specified originator.
+
+            bool isModeTriggered(BaseObject* triggerer = nullptr); //!< Checks whether the MultiTrigger is triggered concerning it's children.
+            bool isTriggered(BaseObject* triggerer = nullptr); //!< Get whether the MultiTrigger is triggered for a given object.
+
+            virtual void fire(bool status, BaseObject* originator = nullptr);  //!< 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.
 
@@ -192,5 +192,5 @@
             std::set<BaseObject*> triggered_; //!< The set of all objects the MultiTrigger is triggered for.
 
-            std::deque< std::pair<float, MultiTriggerState*> > stateQueue_; //!< The queue of states waiting to become active.
+            std::deque<std::pair<float, MultiTriggerState*>> stateQueue_; //!< The queue of states waiting to become active.
 
             ClassTreeMask targetMask_; //!< The target mask, masking all objects that can trigger this MultiTrigger.
Index: code/branches/cpp11_v3/src/modules/objects/triggers/MultiTriggerContainer.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/MultiTriggerContainer.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/MultiTriggerContainer.cc	(revision 11054)
@@ -50,5 +50,5 @@
         The creator.
     */
-    MultiTriggerContainer::MultiTriggerContainer(Context* context) : BaseObject(context), originator_(NULL), data_(NULL)
+    MultiTriggerContainer::MultiTriggerContainer(Context* context) : BaseObject(context), originator_(nullptr), data_(nullptr)
     {
         RegisterObject(MultiTriggerContainer);
@@ -70,5 +70,5 @@
 
         Pawn* pawn = orxonox_cast<Pawn*>(data);
-        if(pawn != NULL)
+        if(pawn != nullptr)
         {
             this->setForPlayer(true);
Index: code/branches/cpp11_v3/src/modules/objects/triggers/Trigger.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/Trigger.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/Trigger.cc	(revision 11054)
@@ -234,7 +234,7 @@
     {
         // Iterate over all sub-triggers.
-        for (std::set<TriggerBase*>::iterator it = this->children_.begin(); it != this->children_.end(); ++it)
-        {
-            if (!(*it)->isActive())
+        for (TriggerBase* child : this->children_)
+        {
+            if (!child->isActive())
                 return false;
         }
@@ -252,7 +252,7 @@
     {
         // Iterate over all sub-triggers.
-        for (std::set<TriggerBase*>::iterator it = this->children_.begin(); it != this->children_.end(); ++it)
-        {
-            if ((*it)->isActive())
+        for (TriggerBase* child : this->children_)
+        {
+            if (child->isActive())
                 return true;
         }
@@ -270,9 +270,9 @@
     {
         bool test = false;
-        for (std::set<TriggerBase*>::iterator it = this->children_.begin(); it != this->children_.end(); ++it)
-        {
-            if (test && (*it)->isActive())
+        for (TriggerBase* child : this->children_)
+        {
+            if (test && child->isActive())
                 return false;
-            if ((*it)->isActive())
+            if (child->isActive())
                 test = true;
         }
@@ -346,6 +346,6 @@
     {
         // Iterate over all Triggers.
-        for (ObjectList<Trigger>::iterator it = ObjectList<Trigger>::begin(); it != ObjectList<Trigger>::end(); ++it)
-            it->setVisible(bVisible);
+        for (Trigger* trigger : ObjectList<Trigger>())
+            trigger->setVisible(bVisible);
     }
 
Index: code/branches/cpp11_v3/src/modules/objects/triggers/Trigger.h
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/Trigger.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/Trigger.h	(revision 11054)
@@ -127,5 +127,5 @@
             BillboardSet debugBillboard_; //!< A set of debug billboards to visualize the state of the trigger.
 
-            std::queue<std::pair<float, char> > stateChanges_; //!< A queue of state changes (in the same format as latestState_) paired with the time they will take effect since the last state change took effect.
+            std::queue<std::pair<float, char>> stateChanges_; //!< A queue of state changes (in the same format as latestState_) paired with the time they will take effect since the last state change took effect.
     };
 
Index: code/branches/cpp11_v3/src/modules/objects/triggers/TriggerBase.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/objects/triggers/TriggerBase.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/objects/triggers/TriggerBase.cc	(revision 11054)
@@ -67,5 +67,5 @@
         this->mode_ = TriggerMode::EventTriggerAND;
 
-        this->parent_ = NULL;
+        this->parent_ = nullptr;
 
         this->bMultiTrigger_ = false;
@@ -170,5 +170,5 @@
         The index.
     @return
-        Returns a pointer ot the trigger. NULL if no such trigger exists.
+        Returns a pointer ot the trigger. nullptr if no such trigger exists.
     */
     const TriggerBase* TriggerBase::getTrigger(unsigned int index) const
@@ -176,5 +176,5 @@
         // If the index is greater than the number of children.
         if (this->children_.size() <= index)
-            return NULL;
+            return nullptr;
 
         std::set<TriggerBase*>::const_iterator it;
