Index: code/trunk/src/orxonox/gametypes/Asteroids.h
===================================================================
--- code/trunk/src/orxonox/gametypes/Asteroids.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/Asteroids.h	(revision 11071)
@@ -41,8 +41,8 @@
             virtual ~Asteroids() {}
 
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
-            virtual void start();
-            virtual void end();
+            virtual void start() override;
+            virtual void end() override;
 
             inline void firstCheckpointReached(bool reached)
@@ -50,5 +50,5 @@
 
         protected:
-            virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
+            virtual void pawnKilled(Pawn* victim, Pawn* killer = nullptr) override;
 
         private:
Index: code/trunk/src/orxonox/gametypes/Deathmatch.h
===================================================================
--- code/trunk/src/orxonox/gametypes/Deathmatch.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/Deathmatch.h	(revision 11071)
@@ -41,12 +41,12 @@
             virtual ~Deathmatch() {}
 
-            virtual void start();
-            virtual void end();
-            virtual void playerEntered(PlayerInfo* player);
-            virtual bool playerLeft(PlayerInfo* player);
-            virtual bool playerChangedName(PlayerInfo* player);
+            virtual void start() override;
+            virtual void end() override;
+            virtual void playerEntered(PlayerInfo* player) override;
+            virtual bool playerLeft(PlayerInfo* player) override;
+            virtual bool playerChangedName(PlayerInfo* player) override;
 
-            virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
-            virtual void playerScored(PlayerInfo* player, int score = 1);
+            virtual void pawnKilled(Pawn* victim, Pawn* killer = nullptr) override;
+            virtual void playerScored(PlayerInfo* player, int score = 1) override;
     };
 }
Index: code/trunk/src/orxonox/gametypes/Dynamicmatch.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/Dynamicmatch.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/Dynamicmatch.cc	(revision 11071)
@@ -88,6 +88,6 @@
     Dynamicmatch::~Dynamicmatch()
     {
-        for (std::set<Timer*>::iterator it = this->piggyTimers_.begin(); it != this->piggyTimers_.end(); ++it)
-            delete (*it);
+        for (Timer* timer : this->piggyTimers_)
+            delete timer;
     }
 
@@ -413,9 +413,9 @@
     void Dynamicmatch::rewardPig()
     {
-        for (std::map< PlayerInfo*, int >::iterator it = this->playerParty_.begin(); it != this->playerParty_.end(); ++it) //durch alle Spieler iterieren und alle piggys finden
-        {
-            if (it->second==piggy)//Spieler mit der Pig-party frags++
-            {
-                 this->playerScored(it->first);
+        for (const auto& mapEntry : this->playerParty_) //durch alle Spieler iterieren und alle piggys finden
+        {
+            if (mapEntry.second==piggy)//Spieler mit der Pig-party frags++
+            {
+                 this->playerScored(mapEntry.first);
             }
         }
@@ -430,9 +430,9 @@
 
                 std::set<WorldEntity*> pawnAttachments = pawn->getAttachedObjects();
-                for (std::set<WorldEntity*>::iterator it = pawnAttachments.begin(); it != pawnAttachments.end(); ++it)
-                {
-                    if ((*it)->isA(Class(TeamColourable)))
+                for (WorldEntity* pawnAttachment : pawnAttachments)
+                {
+                    if (pawnAttachment->isA(Class(TeamColourable)))
                     {
-                        TeamColourable* tc = orxonox_cast<TeamColourable*>(*it);
+                        TeamColourable* tc = orxonox_cast<TeamColourable*>(pawnAttachment);
                         tc->setTeamColour(this->partyColours_[it_player->second]);
                     }
@@ -449,11 +449,11 @@
             if (tutorial) // Announce selectionphase
             {
-             for (std::map<PlayerInfo*, int>::iterator it = this->playerParty_.begin(); it != this->playerParty_.end(); ++it)
-                {
-                    if (!it->first)//in order to catch nullpointer
+             for (const auto& mapEntry : this->playerParty_)
+                {
+                    if (!mapEntry.first)//in order to catch nullpointer
                         continue;
-                    if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+                    if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                         continue;
-                    this->gtinfo_->sendStaticMessage("Selection phase: Shoot at everything that moves.",it->first->getClientID(),ColourValue(1.0f, 1.0f, 0.5f));
+                    this->gtinfo_->sendStaticMessage("Selection phase: Shoot at everything that moves.",mapEntry.first->getClientID(),ColourValue(1.0f, 1.0f, 0.5f));
                 }
             }
@@ -464,26 +464,26 @@
              if(tutorial&&(!notEnoughKillers)&&(!notEnoughChasers)) //Selection phase over
              {
-                  for (std::map<PlayerInfo*, int>::iterator it = this->playerParty_.begin(); it != this->playerParty_.end(); ++it)
+                  for (const auto& mapEntry : this->playerParty_)
                   {
-                       if (!it->first)//in order to catch nullpointer
+                       if (!mapEntry.first)//in order to catch nullpointer
                            continue;
-                       if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+                       if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                            continue;
-                       else if (it->second==chaser)
+                       else if (mapEntry.second==chaser)
                        {
                            if (numberOf[killer]>0)
-                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible. Defend yourself against the killers.",it->first->getClientID(),partyColours_[piggy]);
+                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible. Defend yourself against the killers.",mapEntry.first->getClientID(),partyColours_[piggy]);
                            else
-                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible.",it->first->getClientID(),partyColours_[piggy]);
+                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible.",mapEntry.first->getClientID(),partyColours_[piggy]);
                            //this->gtinfo_->sendFadingMessage("You're now a chaser.",it->first->getClientID());
                        }
-                       else if (it->second==piggy)
-                       {
-                           this->gtinfo_->sendStaticMessage("Either hide or shoot a chaser.",it->first->getClientID(),partyColours_[chaser]);
+                       else if (mapEntry.second==piggy)
+                       {
+                           this->gtinfo_->sendStaticMessage("Either hide or shoot a chaser.",mapEntry.first->getClientID(),partyColours_[chaser]);
                            //this->gtinfo_->sendFadingMessage("You're now a victim.",it->first->getClientID());
                        }
-                       else if (it->second==killer)
-                       {
-                           this->gtinfo_->sendStaticMessage("Take the chasers down.",it->first->getClientID(),partyColours_[chaser]);
+                       else if (mapEntry.second==killer)
+                       {
+                           this->gtinfo_->sendStaticMessage("Take the chasers down.",mapEntry.first->getClientID(),partyColours_[chaser]);
                            //this->gtinfo_->sendFadingMessage("You're now a killer.",it->first->getClientID());
                        }
@@ -498,11 +498,11 @@
             if (tutorial) // Announce selectionphase
             {
-             for (std::map<PlayerInfo*, int>::iterator it = this->playerParty_.begin(); it != this->playerParty_.end(); ++it)
-                {
-                    if (!it->first)//in order to catch nullpointer
+             for (const auto& mapEntry : this->playerParty_)
+                {
+                    if (!mapEntry.first)//in order to catch nullpointer
                         continue;
-                    if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+                    if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                         continue;
-                    this->gtinfo_->sendStaticMessage("Selection phase: Shoot at everything that moves.",it->first->getClientID(),ColourValue(1.0f, 1.0f, 0.5f));
+                    this->gtinfo_->sendStaticMessage("Selection phase: Shoot at everything that moves.",mapEntry.first->getClientID(),ColourValue(1.0f, 1.0f, 0.5f));
                 }
             }
@@ -513,26 +513,26 @@
             if(tutorial&&(!notEnoughPigs)&&(!notEnoughChasers)) //Selection phase over
              {
-                  for (std::map<PlayerInfo*, int>::iterator it = this->playerParty_.begin(); it != this->playerParty_.end(); ++it)
+                  for (const auto& mapEntry : this->playerParty_)
                   {
-                       if (!it->first)
+                       if (!mapEntry.first)
                            continue;
-                       if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+                       if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                            continue;
-                       else if (it->second==chaser)
+                       else if (mapEntry.second==chaser)
                        {
                            if (numberOf[killer]>0)
-                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible. Defend yourself against the killers.",it->first->getClientID(),partyColours_[piggy]);
+                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible. Defend yourself against the killers.",mapEntry.first->getClientID(),partyColours_[piggy]);
                            else
-                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible.",it->first->getClientID(),partyColours_[piggy]);
+                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible.",mapEntry.first->getClientID(),partyColours_[piggy]);
                            //this->gtinfo_->sendFadingMessage("You're now a chaser.",it->first->getClientID());
                        }
-                       else if (it->second==piggy)
-                       {
-                           this->gtinfo_->sendStaticMessage("Either hide or shoot a chaser.",it->first->getClientID(),partyColours_[piggy]);
+                       else if (mapEntry.second==piggy)
+                       {
+                           this->gtinfo_->sendStaticMessage("Either hide or shoot a chaser.",mapEntry.first->getClientID(),partyColours_[piggy]);
                            //this->gtinfo_->sendFadingMessage("You're now a victim.",it->first->getClientID());
                        }
-                       else if (it->second==killer)
-                       {
-                           this->gtinfo_->sendStaticMessage("Take the chasers down.",it->first->getClientID(),partyColours_[piggy]);
+                       else if (mapEntry.second==killer)
+                       {
+                           this->gtinfo_->sendStaticMessage("Take the chasers down.",mapEntry.first->getClientID(),partyColours_[piggy]);
                            //this->gtinfo_->sendFadingMessage("You're now a killer.",it->first->getClientID());
                        }
@@ -548,11 +548,11 @@
             if (tutorial) // Announce selectionphase
             {
-             for (std::map<PlayerInfo*, int>::iterator it = this->playerParty_.begin(); it != this->playerParty_.end(); ++it)
-                {
-                    if (!it->first)//in order to catch nullpointer
+             for (const auto& mapEntry : this->playerParty_)
+                {
+                    if (!mapEntry.first)//in order to catch nullpointer
                         continue;
-                    if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+                    if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                         continue;
-                    this->gtinfo_->sendStaticMessage("Selection phase: Shoot at everything that moves.",it->first->getClientID(),ColourValue(1.0f, 1.0f, 0.5f));
+                    this->gtinfo_->sendStaticMessage("Selection phase: Shoot at everything that moves.",mapEntry.first->getClientID(),ColourValue(1.0f, 1.0f, 0.5f));
                 }
             }
@@ -563,26 +563,26 @@
              if(tutorial&&(!notEnoughPigs)&&(!notEnoughKillers)) //Selection phase over
              {
-                  for (std::map<PlayerInfo*, int>::iterator it = this->playerParty_.begin(); it != this->playerParty_.end(); ++it)
+                  for (const auto& mapEntry : this->playerParty_)
                   {
-                       if (!it->first)
+                       if (!mapEntry.first)
                            continue;
-                       if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+                       if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                            continue;
-                       else if (it->second==chaser)
+                       else if (mapEntry.second==chaser)
                        {
                            if (numberOf[killer]>0)
-                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible. Defend yourself against the killers.",it->first->getClientID(),partyColours_[piggy]);
+                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible. Defend yourself against the killers.",mapEntry.first->getClientID(),partyColours_[piggy]);
                            else
-                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible.",it->first->getClientID(),partyColours_[piggy]);
+                               this->gtinfo_->sendStaticMessage("Shoot at the victim as often as possible.",mapEntry.first->getClientID(),partyColours_[piggy]);
                            //this->gtinfo_->sendFadingMessage("You're now a chaser.",it->first->getClientID());
                        }
-                       else if (it->second==piggy)
-                       {
-                           this->gtinfo_->sendStaticMessage("Either hide or shoot a chaser.",it->first->getClientID(),partyColours_[chaser]);
+                       else if (mapEntry.second==piggy)
+                       {
+                           this->gtinfo_->sendStaticMessage("Either hide or shoot a chaser.",mapEntry.first->getClientID(),partyColours_[chaser]);
                            //this->gtinfo_->sendFadingMessage("You're now a victim.",it->first->getClientID());
                        }
-                       else if (it->second==killer)
-                       {
-                           this->gtinfo_->sendStaticMessage("Take the chasers down.",it->first->getClientID(),partyColours_[chaser]);
+                       else if (mapEntry.second==killer)
+                       {
+                           this->gtinfo_->sendStaticMessage("Take the chasers down.",mapEntry.first->getClientID(),partyColours_[chaser]);
                            //this->gtinfo_->sendFadingMessage("You're now a killer.",it->first->getClientID());
                        }
@@ -631,9 +631,9 @@
         else if(tutorial) // Announce selectionphase
         {
-            for (std::map<PlayerInfo*, int>::iterator it = this->playerParty_.begin(); it != this->playerParty_.end(); ++it)
-            {
-                if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+            for (const auto& mapEntry : this->playerParty_)
+            {
+                if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                     continue;
-                this->gtinfo_->sendStaticMessage("Selection phase: Shoot at everything that moves.",it->first->getClientID(),ColourValue(1.0f, 1.0f, 0.5f));
+                this->gtinfo_->sendStaticMessage("Selection phase: Shoot at everything that moves.",mapEntry.first->getClientID(),ColourValue(1.0f, 1.0f, 0.5f));
             }
         }
@@ -687,8 +687,8 @@
             unsigned int randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(teamSpawnPoints.size())));
             unsigned int index = 0;
-            for (std::set<SpawnPoint*>::const_iterator it = teamSpawnPoints.begin(); it != teamSpawnPoints.end(); ++it)
+            for (SpawnPoint* teamSpawnPoint : teamSpawnPoints)
             {
                 if (index == randomspawn)
-                    return (*it);
+                    return teamSpawnPoint;
 
                 ++index;
@@ -696,5 +696,5 @@
         }
 
-        return 0;
+        return nullptr;
     }
 
Index: code/trunk/src/orxonox/gametypes/Dynamicmatch.h
===================================================================
--- code/trunk/src/orxonox/gametypes/Dynamicmatch.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/Dynamicmatch.h	(revision 11071)
@@ -65,12 +65,12 @@
             bool tutorial; //goal: new players receive messages how the new gametype works - later it can be switched off.
 
-            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0); //ok - score function and management of parties
-            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0); //ok - simple
-            virtual void start();
-            virtual void end(); //Wie geht das mit der Punkteausgabe aendern? Z.B: Persoenliche Nachricht?
-            virtual void playerEntered(PlayerInfo* player);
-            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn);//is used to initialize the player's party and colour
-            virtual bool playerLeft(PlayerInfo* player);
-            virtual bool playerChangedName(PlayerInfo* player);//unchanged
+            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = nullptr) override; //ok - score function and management of parties
+            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = nullptr) override; //ok - simple
+            virtual void start() override;
+            virtual void end() override; //Wie geht das mit der Punkteausgabe aendern? Z.B: Persoenliche Nachricht?
+            virtual void playerEntered(PlayerInfo* player) override;
+            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn) override;//is used to initialize the player's party and colour
+            virtual bool playerLeft(PlayerInfo* player) override;
+            virtual bool playerChangedName(PlayerInfo* player) override;//unchanged
 
             /*virtual void instructions();
@@ -79,6 +79,6 @@
             void grantPigBoost(SpaceShip* spaceship); // Grant the piggy a boost.
             void resetSpeedFactor(SpaceShip* spaceship, Timer* timer);
-            void tick (float dt);// used to end the game
-            SpawnPoint* getBestSpawnPoint(PlayerInfo* player) const;
+            virtual void tick (float dt) override;// used to end the game
+            virtual SpawnPoint* getBestSpawnPoint(PlayerInfo* player) const override;
 
 
Index: code/trunk/src/orxonox/gametypes/Gametype.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/Gametype.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/Gametype.cc	(revision 11071)
@@ -66,5 +66,5 @@
 
         this->defaultControllableEntity_ = Class(Spectator);
-        this->scoreboard_ = 0;
+        this->scoreboard_ = nullptr;
 
         this->bAutoStart_ = false;
@@ -92,6 +92,6 @@
                 this->gtinfo_->destroy();
 
-            ModifyConsoleCommand(__CC_addBots_name).setObject(NULL);
-            ModifyConsoleCommand(__CC_killBots_name).setObject(NULL);
+            ModifyConsoleCommand(__CC_addBots_name).setObject(nullptr);
+            ModifyConsoleCommand(__CC_killBots_name).setObject(nullptr);
         }
     }
@@ -139,9 +139,9 @@
         if (!this->gtinfo_->hasStarted())
         {
-            for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
+            for (const auto& mapEntry : this->players_)
             {
                 // Inform the GametypeInfo that the player is ready to spawn.
-                if(it->first->isHumanPlayer() && it->first->isReadyToSpawn())
-                    this->gtinfo_->playerReadyToSpawn(it->first);
+                if(mapEntry.first->isHumanPlayer() && mapEntry.first->isReadyToSpawn())
+                    this->gtinfo_->playerReadyToSpawn(mapEntry.first);
             }
 
@@ -169,9 +169,9 @@
         }
 
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-        {
-            if (it->first->getControllableEntity())
-            {
-                ControllableEntity* oldentity = it->first->getControllableEntity();
+        for (const auto& mapEntry : this->players_)
+        {
+            if (mapEntry.first->getControllableEntity())
+            {
+                ControllableEntity* oldentity = mapEntry.first->getControllableEntity();
 
                 ControllableEntity* entity = this->defaultControllableEntity_.fabricate(oldentity->getContext());
@@ -186,8 +186,8 @@
                     entity->setOrientation(oldentity->getWorldOrientation());
                 }
-                it->first->startControl(entity);
+                mapEntry.first->startControl(entity);
             }
             else
-                this->spawnPlayerAsDefaultPawn(it->first);
+                this->spawnPlayerAsDefaultPawn(mapEntry.first);
         }
     }
@@ -337,15 +337,15 @@
         {
             // Fallback spawn point if there is no active one, choose a random one.
-            SpawnPoint* fallbackSpawnPoint = NULL;
+            SpawnPoint* fallbackSpawnPoint = nullptr;
             unsigned int randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(this->spawnpoints_.size())));
             unsigned int index = 0;
             std::vector<SpawnPoint*> activeSpawnPoints;
-            for (std::set<SpawnPoint*>::const_iterator it = this->spawnpoints_.begin(); it != this->spawnpoints_.end(); ++it)
+            for (SpawnPoint* spawnpoint : this->spawnpoints_)
             {
                 if (index == randomspawn)
-                    fallbackSpawnPoint = (*it);
-
-                if (*it != NULL && (*it)->isActive())
-                    activeSpawnPoints.push_back(*it);
+                    fallbackSpawnPoint = spawnpoint;
+
+                if (spawnpoint != nullptr && spawnpoint->isActive())
+                    activeSpawnPoints.push_back(spawnpoint);
 
                 ++index;
@@ -361,19 +361,19 @@
             return fallbackSpawnPoint;
         }
-        return 0;
+        return nullptr;
     }
 
     void Gametype::assignDefaultPawnsIfNeeded()
     {
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-        {
-            if (!it->first->getControllableEntity())
-            {
-                it->second.state_ = PlayerState::Dead;
-
-                if (!it->first->isReadyToSpawn() || !this->gtinfo_->hasStarted())
-                {
-                    this->spawnPlayerAsDefaultPawn(it->first);
-                    it->second.state_ = PlayerState::Dead;
+        for (auto& mapEntry : this->players_)
+        {
+            if (!mapEntry.first->getControllableEntity())
+            {
+                mapEntry.second.state_ = PlayerState::Dead;
+
+                if (!mapEntry.first->isReadyToSpawn() || !this->gtinfo_->hasStarted())
+                {
+                    this->spawnPlayerAsDefaultPawn(mapEntry.first);
+                    mapEntry.second.state_ = PlayerState::Dead;
                 }
             }
@@ -404,9 +404,9 @@
                     bool allplayersready = true;
                     bool hashumanplayers = false;
-                    for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
+                    for (const auto& mapEntry : this->players_)
                     {
-                        if (!it->first->isReadyToSpawn())
+                        if (!mapEntry.first->isReadyToSpawn())
                             allplayersready = false;
-                        if (it->first->isHumanPlayer())
+                        if (mapEntry.first->isHumanPlayer())
                             hashumanplayers = true;
                     }
@@ -430,8 +430,8 @@
     void Gametype::spawnPlayersIfRequested()
     {
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-        {
-            if (it->first->isReadyToSpawn() || this->bForceSpawn_)
-                this->spawnPlayer(it->first);
+        for (const auto& mapEntry : this->players_)
+        {
+            if (mapEntry.first->isReadyToSpawn() || this->bForceSpawn_)
+                this->spawnPlayer(mapEntry.first);
         }
     }
@@ -439,8 +439,8 @@
     void Gametype::spawnDeadPlayersIfRequested()
     {
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-            if (it->second.state_ == PlayerState::Dead)
-                if (it->first->isReadyToSpawn() || this->bForceSpawn_)
-                    this->spawnPlayer(it->first);
+        for (const auto& mapEntry : this->players_)
+            if (mapEntry.second.state_ == PlayerState::Dead)
+                if (mapEntry.first->isReadyToSpawn() || this->bForceSpawn_)
+                    this->spawnPlayer(mapEntry.first);
     }
 
@@ -492,5 +492,6 @@
     {
         unsigned int i = 0;
-        for (ObjectList<Bot>::iterator it = ObjectList<Bot>::begin(); (it != ObjectList<Bot>::end()) && ((amount == 0) || (i < amount)); )
+        ObjectList<Bot> list;
+        for (ObjectList<Bot>::iterator it = list.begin(); (it != list.end()) && ((amount == 0) || (i < amount)); )
         {
             if (it->getGametype() == this)
@@ -538,9 +539,9 @@
     GSLevelMementoState* Gametype::exportMementoState()
     {
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-        {
-            if (it->first->isHumanPlayer() && it->first->getControllableEntity() && it->first->getControllableEntity()->getCamera())
-            {
-                Camera* camera = it->first->getControllableEntity()->getCamera();
+        for (const auto& mapEntry : this->players_)
+        {
+            if (mapEntry.first->isHumanPlayer() && mapEntry.first->getControllableEntity() && mapEntry.first->getControllableEntity()->getCamera())
+            {
+                Camera* camera = mapEntry.first->getControllableEntity()->getCamera();
 
                 GametypeMementoState* state = new GametypeMementoState();
@@ -552,5 +553,5 @@
         }
 
-        return NULL;
+        return nullptr;
     }
 
@@ -558,8 +559,8 @@
     {
         // find correct memento state
-        GametypeMementoState* state = NULL;
-        for (size_t i = 0; i < states.size(); ++i)
-        {
-            state = dynamic_cast<GametypeMementoState*>(states[i]);
+        GametypeMementoState* state = nullptr;
+        for (GSLevelMementoState* temp : states)
+        {
+            state = dynamic_cast<GametypeMementoState*>(temp);
             if (state)
                 break;
@@ -570,10 +571,10 @@
 
         // find correct scene
-        Scene* scene = NULL;
-        for (ObjectList<Scene>::iterator it = ObjectList<Scene>::begin(); it != ObjectList<Scene>::end(); ++it)
-        {
-            if (it->getName() == state->sceneName_)
-            {
-                scene = *it;
+        Scene* scene = nullptr;
+        for (Scene* someScene : ObjectList<Scene>())
+        {
+            if (someScene->getName() == state->sceneName_)
+            {
+                scene = someScene;
                 break;
             }
@@ -587,12 +588,12 @@
 
         // find correct player and assign default entity with original position & orientation
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-        {
-            if (it->first->isHumanPlayer())
+        for (const auto& mapEntry : this->players_)
+        {
+            if (mapEntry.first->isHumanPlayer())
             {
                 ControllableEntity* entity = this->defaultControllableEntity_.fabricate(scene->getContext());
                 entity->setPosition(state->cameraPosition_);
                 entity->setOrientation(state->cameraOrientation_);
-                it->first->startControl(entity);
+                mapEntry.first->startControl(entity);
                 break;
             }
Index: code/trunk/src/orxonox/gametypes/Gametype.h
===================================================================
--- code/trunk/src/orxonox/gametypes/Gametype.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/Gametype.h	(revision 11071)
@@ -45,19 +45,16 @@
 namespace orxonox
 {
-    namespace PlayerState
-    {
-        enum Value
-        {
-            Uninitialized,
-            Joined,
-            Alive,
-            Dead
-        };
-    }
+    enum class PlayerState
+    {
+        Uninitialized,
+        Joined,
+        Alive,
+        Dead
+    };
 
     struct Player
     {
         PlayerInfo* info_;
-        PlayerState::Value state_;
+        PlayerState state_;
         int frags_;
         int killed_;
@@ -76,5 +73,5 @@
             void setConfigValues();
 
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
             inline const GametypeInfo* getGametypeInfo() const
@@ -96,9 +93,9 @@
             virtual void playerScored(PlayerInfo* player, int score = 1);
 
-            virtual bool allowPawnHit(Pawn* victim, Pawn* originator = 0);
-            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0);
-            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0);
-
-            virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
+            virtual bool allowPawnHit(Pawn* victim, Pawn* originator = nullptr);
+            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = nullptr);
+            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = nullptr);
+
+            virtual void pawnKilled(Pawn* victim, Pawn* killer = nullptr);
             virtual void pawnPreSpawn(Pawn* pawn);
             virtual void pawnPostSpawn(Pawn* pawn);
@@ -175,6 +172,6 @@
             virtual void spawnDeadPlayersIfRequested();
 
-            virtual GSLevelMementoState* exportMementoState();
-            virtual void importMementoState(const std::vector<GSLevelMementoState*>& states);
+            virtual GSLevelMementoState* exportMementoState() override;
+            virtual void importMementoState(const std::vector<GSLevelMementoState*>& states) override;
 
             WeakPtr<GametypeInfo> gtinfo_;
Index: code/trunk/src/orxonox/gametypes/LastManStanding.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/LastManStanding.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/LastManStanding.cc	(revision 11071)
@@ -56,11 +56,11 @@
     void LastManStanding::spawnDeadPlayersIfRequested()
     {
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-            if (it->second.state_ == PlayerState::Dead)
-            {
-                bool alive = (0<playerLives_[it->first]&&(inGame_[it->first]));
-                if (alive&&(it->first->isReadyToSpawn() || this->bForceSpawn_))
-                {
-                    this->spawnPlayer(it->first);
+        for (const auto& mapEntry : this->players_)
+            if (mapEntry.second.state_ == PlayerState::Dead)
+            {
+                bool alive = (0<playerLives_[mapEntry.first]&&(inGame_[mapEntry.first]));
+                if (alive&&(mapEntry.first->isReadyToSpawn() || this->bForceSpawn_))
+                {
+                    this->spawnPlayer(mapEntry.first);
                 }
             }
@@ -114,10 +114,10 @@
     {
         int min=lives;
-        for (std::map<PlayerInfo*, int>::iterator it = this->playerLives_.begin(); it != this->playerLives_.end(); ++it)
-        {
-            if (it->second<=0)
+        for (const auto& mapEntry : this->playerLives_)
+        {
+            if (mapEntry.second<=0)
                 continue;
-            if (it->second<lives)
-                min=it->second;
+            if (mapEntry.second<lives)
+                min=mapEntry.second;
         }
         return min;
@@ -128,13 +128,13 @@
         Gametype::end();
 
-        for (std::map<PlayerInfo*, int>::iterator it = this->playerLives_.begin(); it != this->playerLives_.end(); ++it)
-        {
-            if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+        for (const auto& mapEntry : this->playerLives_)
+        {
+            if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                 continue;
 
-            if (it->second > 0)
-                this->gtinfo_->sendAnnounceMessage("You have won the match!", it->first->getClientID());
+            if (mapEntry.second > 0)
+                this->gtinfo_->sendAnnounceMessage("You have won the match!", mapEntry.first->getClientID());
             else
-                this->gtinfo_->sendAnnounceMessage("You have lost the match!", it->first->getClientID());
+                this->gtinfo_->sendAnnounceMessage("You have lost the match!", mapEntry.first->getClientID());
         }
     }
@@ -237,39 +237,39 @@
                 this->end();
             }
-            for (std::map<PlayerInfo*, float>::iterator it = this->timeToAct_.begin(); it != this->timeToAct_.end(); ++it)
-            {
-                if (playerGetLives(it->first)<=0)//Players without lives shouldn't be affected by time.
+            for (auto& mapEntry : this->timeToAct_)
+            {
+                if (playerGetLives(mapEntry.first)<=0)//Players without lives shouldn't be affected by time.
                     continue;
-                it->second-=dt;//Decreases punishment time.
-                if (!inGame_[it->first])//Manages respawn delay - player is forced to respawn after the delaytime is used up.
-                {
-                    playerDelayTime_[it->first]-=dt;
-                    if (playerDelayTime_[it->first]<=0)
-                    this->inGame_[it->first]=true;
-
-                    if (it->first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
+                mapEntry.second-=dt;//Decreases punishment time.
+                if (!inGame_[mapEntry.first])//Manages respawn delay - player is forced to respawn after the delaytime is used up.
+                {
+                    playerDelayTime_[mapEntry.first]-=dt;
+                    if (playerDelayTime_[mapEntry.first]<=0)
+                    this->inGame_[mapEntry.first]=true;
+
+                    if (mapEntry.first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
                         continue;
-                    int output=1+(int)playerDelayTime_[it->first];
+                    int output=1+(int)playerDelayTime_[mapEntry.first];
                     const std::string& message = "Respawn in " +multi_cast<std::string>(output)+ " seconds." ;//Countdown
-                    this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
-                }
-                else if (it->second<0.0f)
-                {
-                    it->second=timeRemaining+3.0f;//reset punishment-timer
-                    if (playerGetLives(it->first)>0)
+                    this->gtinfo_->sendFadingMessage(message,mapEntry.first->getClientID());
+                }
+                else if (mapEntry.second<0.0f)
+                {
+                    mapEntry.second=timeRemaining+3.0f;//reset punishment-timer
+                    if (playerGetLives(mapEntry.first)>0)
                     {
-                        this->punishPlayer(it->first);
-                        if (it->first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
+                        this->punishPlayer(mapEntry.first);
+                        if (mapEntry.first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
                             return;
                         const std::string& message = ""; // resets Camper-Warning-message
-                        this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
+                        this->gtinfo_->sendFadingMessage(message,mapEntry.first->getClientID());
                     }
                 }
-                else if (it->second<timeRemaining/5)//Warning message
-                {
-                    if (it->first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
+                else if (mapEntry.second<timeRemaining/5)//Warning message
+                {
+                    if (mapEntry.first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
                         continue;
                     const std::string& message = "Camper Warning! Don't forget to shoot.";
-                    this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
+                    this->gtinfo_->sendFadingMessage(message,mapEntry.first->getClientID());
                 }
             }
Index: code/trunk/src/orxonox/gametypes/LastManStanding.h
===================================================================
--- code/trunk/src/orxonox/gametypes/LastManStanding.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/LastManStanding.h	(revision 11071)
@@ -61,5 +61,5 @@
             bool bHardPunishment; //!< Switches between damage and death as punishment.
             float punishDamageRate; //!< Makes Damage adjustable.
-            virtual void spawnDeadPlayersIfRequested(); //!< Prevents dead players to respawn.
+            virtual void spawnDeadPlayersIfRequested() override; //!< Prevents dead players to respawn.
             virtual int getMinLives(); //!< Returns minimum of each player's lives; players with 0 lives are skipped; 
 
@@ -69,16 +69,16 @@
             void setConfigValues(); //!< Makes values configurable.
 
-            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0); //!< If a player shoot's an opponent, his punishment countdown will be resetted.
-            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0); //!< Manages each players lives.
+            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = nullptr) override; //!< If a player shoot's an opponent, his punishment countdown will be resetted.
+            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = nullptr) override; //!< Manages each players lives.
 
-            virtual void end(); //!< Sends an end message.
+            virtual void end() override; //!< Sends an end message.
             int playerGetLives(PlayerInfo* player); //!< getFunction for the map "playerLives_".
             int getNumPlayersAlive() const; //!< Returns the number of players that are still alive.
-            virtual void playerEntered(PlayerInfo* player); //!< Initializes values.
-            virtual bool playerLeft(PlayerInfo* player); //!< Manages all local variables.
-            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn); //!< Resets punishment time and respawn delay.
+            virtual void playerEntered(PlayerInfo* player) override; //!< Initializes values.
+            virtual bool playerLeft(PlayerInfo* player) override; //!< Manages all local variables.
+            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn) override; //!< Resets punishment time and respawn delay.
 
             void punishPlayer(PlayerInfo* player); //!< Function in order to kill a player. Punishment for hiding longer than "timeRemaining".
-            void tick (float dt); //!< used to end the game
+            virtual void tick (float dt) override; //!< used to end the game
     };
 }
Index: code/trunk/src/orxonox/gametypes/LastTeamStanding.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/LastTeamStanding.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/LastTeamStanding.cc	(revision 11071)
@@ -145,11 +145,11 @@
     void LastTeamStanding::spawnDeadPlayersIfRequested()
     {
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-            if (it->second.state_ == PlayerState::Dead)
-            {
-                bool alive = (0 < playerLives_[it->first]&&(inGame_[it->first]));
-                if (alive&&(it->first->isReadyToSpawn() || this->bForceSpawn_))
-                {
-                    this->spawnPlayer(it->first);
+        for (const auto& mapEntry : this->players_)
+            if (mapEntry.second.state_ == PlayerState::Dead)
+            {
+                bool alive = (0 < playerLives_[mapEntry.first]&&(inGame_[mapEntry.first]));
+                if (alive&&(mapEntry.first->isReadyToSpawn() || this->bForceSpawn_))
+                {
+                    this->spawnPlayer(mapEntry.first);
                 }
             }
@@ -184,39 +184,39 @@
                 this->end();
             }
-            for (std::map<PlayerInfo*, float>::iterator it = this->timeToAct_.begin(); it != this->timeToAct_.end(); ++it)
-            {
-                if (playerGetLives(it->first) <= 0)//Players without lives shouldn't be affected by time.
+            for (auto& mapEntry : this->timeToAct_)
+            {
+                if (playerGetLives(mapEntry.first) <= 0)//Players without lives shouldn't be affected by time.
                     continue;
-                it->second -= dt;//Decreases punishment time.
-                if (!inGame_[it->first])//Manages respawn delay - player is forced to respawn after the delaytime is used up.
-                {
-                    playerDelayTime_[it->first] -= dt;
-                    if (playerDelayTime_[it->first] <= 0)
-                    this->inGame_[it->first] = true;
-
-                    if (it->first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
+                mapEntry.second -= dt;//Decreases punishment time.
+                if (!inGame_[mapEntry.first])//Manages respawn delay - player is forced to respawn after the delaytime is used up.
+                {
+                    playerDelayTime_[mapEntry.first] -= dt;
+                    if (playerDelayTime_[mapEntry.first] <= 0)
+                    this->inGame_[mapEntry.first] = true;
+
+                    if (mapEntry.first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
                         continue;
-                    int output = 1 + (int)playerDelayTime_[it->first];
+                    int output = 1 + (int)playerDelayTime_[mapEntry.first];
                     const std::string& message = "Respawn in " +multi_cast<std::string>(output)+ " seconds." ;//Countdown
-                    this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
-                }
-                else if (it->second < 0.0f)
-                {
-                    it->second = timeRemaining + 3.0f;//reset punishment-timer
-                    if (playerGetLives(it->first) > 0)
+                    this->gtinfo_->sendFadingMessage(message,mapEntry.first->getClientID());
+                }
+                else if (mapEntry.second < 0.0f)
+                {
+                    mapEntry.second = timeRemaining + 3.0f;//reset punishment-timer
+                    if (playerGetLives(mapEntry.first) > 0)
                     {
-                        this->punishPlayer(it->first);
-                        if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+                        this->punishPlayer(mapEntry.first);
+                        if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                             return;
                         const std::string& message = ""; // resets Camper-Warning-message
-                        this->gtinfo_->sendFadingMessage(message, it->first->getClientID());
+                        this->gtinfo_->sendFadingMessage(message, mapEntry.first->getClientID());
                     }
                 }
-                else if (it->second < timeRemaining/5)//Warning message
-                {
-                  if (it->first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
+                else if (mapEntry.second < timeRemaining/5)//Warning message
+                {
+                  if (mapEntry.first->getClientID()== NETWORK_PEER_ID_UNKNOWN)
                         continue;
                     const std::string& message = "Camper Warning! Don't forget to shoot.";
-                    this->gtinfo_->sendFadingMessage(message, it->first->getClientID());
+                    this->gtinfo_->sendFadingMessage(message, mapEntry.first->getClientID());
                 }
             }
@@ -229,13 +229,13 @@
         int party = -1;
         //find a player who survived
-        for (std::map<PlayerInfo*, int>::iterator it = this->playerLives_.begin(); it != this->playerLives_.end(); ++it)
-        {
-          if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+        for (const auto& mapEntry : this->playerLives_)
+        {
+          if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                 continue;
 
-            if (it->second > 0)//a player that is alive
+            if (mapEntry.second > 0)//a player that is alive
             {
                 //which party has survived?
-                std::map<PlayerInfo*, int>::iterator it2 = this->teamnumbers_.find(it->first);
+                std::map<PlayerInfo*, int>::iterator it2 = this->teamnumbers_.find(mapEntry.first);
                 if (it2 != this->teamnumbers_.end())
                 {
@@ -255,10 +255,10 @@
     {
         int min = lives;
-        for (std::map<PlayerInfo*, int>::iterator it = this->playerLives_.begin(); it != this->playerLives_.end(); ++it)
-        {
-            if (it->second <= 0)
+        for (const auto& mapEntry : this->playerLives_)
+        {
+            if (mapEntry.second <= 0)
                 continue;
-            if (it->second < lives)
-                min = it->second;
+            if (mapEntry.second < lives)
+                min = mapEntry.second;
         }
         return min;
Index: code/trunk/src/orxonox/gametypes/LastTeamStanding.h
===================================================================
--- code/trunk/src/orxonox/gametypes/LastTeamStanding.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/LastTeamStanding.h	(revision 11071)
@@ -67,5 +67,5 @@
             std::map<PlayerInfo*, bool> inGame_; //!< Indicates each Player's state.
 
-            virtual void spawnDeadPlayersIfRequested(); //!< Prevents dead players to respawn.
+            virtual void spawnDeadPlayersIfRequested() override; //!< Prevents dead players to respawn.
             virtual int getMinLives(); //!< Returns minimum of each player's lives; players with 0 lives are skipped;
 
@@ -74,12 +74,12 @@
             virtual ~LastTeamStanding(); //!< Default Destructor.
 
-            virtual void playerEntered(PlayerInfo* player); //!< Initializes values.
-            virtual bool playerLeft(PlayerInfo* player); //!< Manages all local variables.
+            virtual void playerEntered(PlayerInfo* player) override; //!< Initializes values.
+            virtual bool playerLeft(PlayerInfo* player) override; //!< Manages all local variables.
 
-            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0); //!< Manages each player's lost lives.
-            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0); //!< If a player shoot's an opponent, his punishment countdown will be resetted.
-            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn); //!< Resets punishment time and respawn delay.
-            void tick (float dt); //!< used to end the game
-            virtual void end(); //!< Sends an end message.
+            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = nullptr) override; //!< Manages each player's lost lives.
+            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = nullptr) override; //!< If a player shoot's an opponent, his punishment countdown will be resetted.
+            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn) override; //!< Resets punishment time and respawn delay.
+            virtual void tick (float dt) override; //!< used to end the game
+            virtual void end() override; //!< Sends an end message.
             void punishPlayer(PlayerInfo* player); //!< Function in order to kill a player. Punishment for hiding longer than "timeRemaining".
             int playerGetLives(PlayerInfo* player); //!< getFunction for the map "playerLives_".
Index: code/trunk/src/orxonox/gametypes/Mission.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/Mission.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/Mission.cc	(revision 11071)
@@ -101,7 +101,6 @@
     void Mission::setTeams()
     { //Set pawn-colours
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); ++it)
+        for (Pawn* pawn : ObjectList<Pawn>())
         {
-            Pawn* pawn = static_cast<Pawn*>(*it);
             if (!pawn)
                 continue;
@@ -111,8 +110,8 @@
     void Mission::endMission(bool accomplished)
     {
-        for (ObjectList<Mission>::iterator it = ObjectList<Mission>::begin(); it != ObjectList<Mission>::end(); ++it)
+        for (Mission* mission : ObjectList<Mission>())
         { //TODO: make sure that only the desired mission is ended !! This is a dirty HACK, that would end ALL missions!
-            it->setMissionAccomplished(accomplished);
-            it->end();
+            mission->setMissionAccomplished(accomplished);
+            mission->end();
         }
     }
@@ -120,7 +119,7 @@
     void Mission::setLivesWrapper(unsigned int amount)
     {
-        for (ObjectList<Mission>::iterator it = ObjectList<Mission>::begin(); it != ObjectList<Mission>::end(); ++it)
+        for (Mission* mission : ObjectList<Mission>())
         { //TODO: make sure that only the desired mission is ended !! This is a dirty HACK, that would affect ALL missions!
-            it->setLives(amount);
+            mission->setLives(amount);
         }
     }
Index: code/trunk/src/orxonox/gametypes/Mission.h
===================================================================
--- code/trunk/src/orxonox/gametypes/Mission.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/Mission.h	(revision 11071)
@@ -42,10 +42,10 @@
             virtual ~Mission() {}
 
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
-            virtual void start();
-            virtual void end();
+            virtual void start() override;
+            virtual void end() override;
             virtual void setTeams();
-            virtual void addBots(unsigned int amount){} //<! overwrite function in order to bypass the addbots command
+            virtual void addBots(unsigned int amount) override{} //<! overwrite function in order to bypass the addbots command
             inline void setLives(unsigned int amount)
                 {this->lives_ = amount;}
@@ -58,5 +58,5 @@
 
         protected:
-            virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
+            virtual void pawnKilled(Pawn* victim, Pawn* killer = nullptr) override;
             bool missionAccomplished_; //<! indicates if player successfully finsihed the mission;
             int lives_; //<! amount of player's lives <-> nr. of retries
Index: code/trunk/src/orxonox/gametypes/TeamBaseMatch.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/TeamBaseMatch.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/TeamBaseMatch.cc	(revision 11071)
@@ -152,11 +152,11 @@
         int amountControlled2 = 0;
 
-        for (std::set<TeamBaseMatchBase*>::const_iterator it = this->bases_.begin(); it != this->bases_.end(); ++it)
-        {
-            if((*it)->getState() == BaseState::ControlTeam1)
+        for (TeamBaseMatchBase* base : this->bases_)
+        {
+            if(base->getState() == BaseState::ControlTeam1)
             {
                 amountControlled++;
             }
-            if((*it)->getState() == BaseState::ControlTeam2)
+            if(base->getState() == BaseState::ControlTeam2)
             {
                 amountControlled2++;
@@ -187,13 +187,13 @@
             }
 
-            for (std::map<PlayerInfo*, int>::iterator it = this->teamnumbers_.begin(); it != this->teamnumbers_.end(); ++it)
-            {
-                if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+            for (const auto& mapEntry : this->teamnumbers_)
+            {
+                if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                     continue;
 
-                if (it->second == winningteam)
-                    this->gtinfo_->sendAnnounceMessage("You have won the match!", it->first->getClientID());
+                if (mapEntry.second == winningteam)
+                    this->gtinfo_->sendAnnounceMessage("You have won the match!", mapEntry.first->getClientID());
                 else
-                    this->gtinfo_->sendAnnounceMessage("You have lost the match!", it->first->getClientID());
+                    this->gtinfo_->sendAnnounceMessage("You have lost the match!", mapEntry.first->getClientID());
             }
 
@@ -238,9 +238,9 @@
         int count = 0;
 
-        for (std::set<TeamBaseMatchBase*>::const_iterator it = this->bases_.begin(); it != this->bases_.end(); ++it)
-        {
-            if ((*it)->getState() == BaseState::ControlTeam1 && team == 0)
+        for (TeamBaseMatchBase* base : this->bases_)
+        {
+            if (base->getState() == BaseState::ControlTeam1 && team == 0)
                 count++;
-            if ((*it)->getState() == BaseState::ControlTeam2 && team == 1)
+            if (base->getState() == BaseState::ControlTeam2 && team == 1)
                 count++;
         }
@@ -258,11 +258,11 @@
     {
         unsigned int i = 0;
-        for (std::set<TeamBaseMatchBase*>::const_iterator it = this->bases_.begin(); it != this->bases_.end(); ++it)
+        for (TeamBaseMatchBase* base : this->bases_)
         {
             i++;
             if (i > index)
-                return (*it);
-        }
-        return 0;
+                return base;
+        }
+        return nullptr;
     }
 
Index: code/trunk/src/orxonox/gametypes/TeamBaseMatch.h
===================================================================
--- code/trunk/src/orxonox/gametypes/TeamBaseMatch.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/TeamBaseMatch.h	(revision 11071)
@@ -44,8 +44,8 @@
             virtual ~TeamBaseMatch() {}
 
-            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0);
-            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator);
+            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = nullptr) override;
+            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator) override;
 
-            virtual void playerScored(PlayerInfo* player, int score = 1);
+            virtual void playerScored(PlayerInfo* player, int score = 1) override;
             virtual void showPoints();
             virtual void endGame();
Index: code/trunk/src/orxonox/gametypes/TeamDeathmatch.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/TeamDeathmatch.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/TeamDeathmatch.cc	(revision 11071)
@@ -69,10 +69,10 @@
         int winnerTeam = 0;
         int highestScore = 0;
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
+        for (const auto& mapEntry : this->players_)
         {
-            if ( this->getTeamScore(it->first) > highestScore )
+            if ( this->getTeamScore(mapEntry.first) > highestScore )
             {
-                winnerTeam = this->getTeam(it->first);
-                highestScore = this->getTeamScore(it->first);
+                winnerTeam = this->getTeam(mapEntry.first);
+                highestScore = this->getTeamScore(mapEntry.first);
             }
         }
Index: code/trunk/src/orxonox/gametypes/TeamDeathmatch.h
===================================================================
--- code/trunk/src/orxonox/gametypes/TeamDeathmatch.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/TeamDeathmatch.h	(revision 11071)
@@ -42,12 +42,12 @@
 
             void setConfigValues();
-            virtual void start();
-            virtual void end();
-            virtual void playerEntered(PlayerInfo* player);
-            virtual bool playerLeft(PlayerInfo* player);
-            virtual bool playerChangedName(PlayerInfo* player);
+            virtual void start() override;
+            virtual void end() override;
+            virtual void playerEntered(PlayerInfo* player) override;
+            virtual bool playerLeft(PlayerInfo* player) override;
+            virtual bool playerChangedName(PlayerInfo* player) override;
 
-            virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
-            virtual void playerScored(PlayerInfo* player, int score = 1);
+            virtual void pawnKilled(Pawn* victim, Pawn* killer = nullptr) override;
+            virtual void playerScored(PlayerInfo* player, int score = 1) override;
        protected:
             int maxScore_; 
Index: code/trunk/src/orxonox/gametypes/TeamGametype.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/TeamGametype.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/TeamGametype.cc	(revision 11071)
@@ -75,5 +75,5 @@
     void TeamGametype::playerEntered(PlayerInfo* player)
     {
-        if(player == NULL) return; // catch null pointers
+        if(player == nullptr) return; // catch null pointers
         Gametype::playerEntered(player);
         this->findAndSetTeam(player);
@@ -96,10 +96,10 @@
     void TeamGametype::findAndSetTeam(PlayerInfo* player)
     {
-        if(player == NULL) return; // catch null pointers
+        if(player == nullptr) return; // catch null pointers
         std::vector<unsigned int> playersperteam(this->teams_, 0);
 
-        for (std::map<PlayerInfo*, int>::iterator it = this->teamnumbers_.begin(); it != this->teamnumbers_.end(); ++it)
-            if (it->second < static_cast<int>(this->teams_) && it->second >= 0)
-                playersperteam[it->second]++;
+        for (const auto& mapEntry : this->teamnumbers_)
+            if (mapEntry.second < static_cast<int>(this->teams_) && mapEntry.second >= 0)
+                playersperteam[mapEntry.second]++;
 
         unsigned int minplayers = static_cast<unsigned int>(-1);
@@ -123,8 +123,8 @@
         if( (this->players_.size() >= maxPlayers_) && (allowedInGame_[player] == true) ) // if there's a "waiting list"
         {
-            for (std::map<PlayerInfo*, bool>::iterator it = this->allowedInGame_.begin(); it != this->allowedInGame_.end(); ++it)
-            {
-                 if(it->second == false) // waiting player found
-                 {it->second = true; break;} // allow player to enter
+            for (auto& mapEntry : this->allowedInGame_)
+            {
+                 if(mapEntry.second == false) // waiting player found
+                 {mapEntry.second = true; break;} // allow player to enter
             }
         }
@@ -141,15 +141,15 @@
     void TeamGametype::spawnDeadPlayersIfRequested()
     {
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)\
-        {
-            if(allowedInGame_[it->first] == false)//check if dead player is allowed to enter
+        for (const auto& mapEntry : this->players_)\
+        {
+            if(allowedInGame_[mapEntry.first] == false)//check if dead player is allowed to enter
             {
                 continue;
             }
-            if (it->second.state_ == PlayerState::Dead)
-            {
-                if ((it->first->isReadyToSpawn() || this->bForceSpawn_))
+            if (mapEntry.second.state_ == PlayerState::Dead)
+            {
+                if ((mapEntry.first->isReadyToSpawn() || this->bForceSpawn_))
                 {
-                   this->spawnPlayer(it->first);
+                   this->spawnPlayer(mapEntry.first);
                 }
             }
@@ -178,9 +178,9 @@
         if(!player || this->getTeam(player) == -1)
             return 0;
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-        {
-            if ( this->getTeam(it->first) ==  this->getTeam(player) )
-            {
-                teamscore += it->second.frags_;
+        for (const auto& mapEntry : this->players_)
+        {
+            if ( this->getTeam(mapEntry.first) ==  this->getTeam(player) )
+            {
+                teamscore += mapEntry.second.frags_;
             }
         }
@@ -191,7 +191,7 @@
     {
         int teamSize = 0;
-        for (std::map<PlayerInfo*, int>::iterator it = this->teamnumbers_.begin(); it != this->teamnumbers_.end(); ++it)
-        {
-            if (it->second == team)
+        for (const auto& mapEntry : this->teamnumbers_)
+        {
+            if (mapEntry.second == team)
                 teamSize++;
         }
@@ -202,7 +202,7 @@
     {
         int teamSize = 0;
-        for (std::map<PlayerInfo*, int>::iterator it = this->teamnumbers_.begin(); it != this->teamnumbers_.end(); ++it)
-        {
-            if (it->second == team  && it->first->isHumanPlayer())
+        for (const auto& mapEntry : this->teamnumbers_)
+        {
+            if (mapEntry.second == team  && mapEntry.first->isHumanPlayer())
                 teamSize++;
         }
@@ -235,5 +235,5 @@
         }
 
-        SpawnPoint* fallbackSpawnPoint = NULL;
+        SpawnPoint* fallbackSpawnPoint = nullptr;
         if (teamSpawnPoints.size() > 0)
         {
@@ -241,9 +241,9 @@
             unsigned int index = 0;
             // Get random fallback spawnpoint in case there is no active SpawnPoint.
-            for (std::set<SpawnPoint*>::const_iterator it = teamSpawnPoints.begin(); it != teamSpawnPoints.end(); ++it)
+            for (SpawnPoint* teamSpawnPoint : teamSpawnPoints)
             {
                 if (index == randomspawn)
                 {
-                    fallbackSpawnPoint = (*it);
+                    fallbackSpawnPoint = teamSpawnPoint;
                     break;
                 }
@@ -266,8 +266,8 @@
             randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(teamSpawnPoints.size())));
             index = 0;
-            for (std::set<SpawnPoint*>::const_iterator it = teamSpawnPoints.begin(); it != teamSpawnPoints.end(); ++it)
+            for (SpawnPoint* teamSpawnPoint : teamSpawnPoints)
             {
                 if (index == randomspawn)
-                    return (*it);
+                    return teamSpawnPoint;
 
                 ++index;
@@ -277,5 +277,5 @@
         }
 
-        return 0;
+        return nullptr;
     }
 
@@ -328,5 +328,5 @@
     void TeamGametype::setDefaultObjectColour(Pawn* pawn)
     {
-        if(pawn == NULL)
+        if(pawn == nullptr)
             return;
 
@@ -340,5 +340,5 @@
         ControllableEntity* entity = orxonox_cast<ControllableEntity*>(pawn);
 
-        Controller* controller = 0;
+        Controller* controller = nullptr;
         if (entity->getController())
             controller = entity->getController();
@@ -350,5 +350,5 @@
         ArtificialController* artificial =  orxonox_cast<ArtificialController*>(controller);
         //get Teamnumber - get the data
-        if(artificial == NULL)
+        if(artificial == nullptr)
             return;
         teamnumber= artificial->getTeam();
@@ -360,13 +360,13 @@
     void TeamGametype::colourPawn(Pawn* pawn, int teamNr)
     {// catch: no-colouring-case and wrong input
-        if(teamNr < 0 || teamNr+1 > int(this->teamcolours_.size()) ||pawn == NULL) return;
+        if(teamNr < 0 || teamNr+1 > int(this->teamcolours_.size()) ||pawn == nullptr) return;
         pawn->setRadarObjectColour(this->teamcolours_[teamNr]);
 
         std::set<WorldEntity*> pawnAttachments = pawn->getAttachedObjects();
-        for (std::set<WorldEntity*>::iterator it = pawnAttachments.begin(); it != pawnAttachments.end(); ++it)
-        {
-            if ((*it)->isA(Class(TeamColourable)))
-            {
-                TeamColourable* tc = orxonox_cast<TeamColourable*>(*it);
+        for (WorldEntity* pawnAttachment : pawnAttachments)
+        {
+            if (pawnAttachment->isA(Class(TeamColourable)))
+            {
+                TeamColourable* tc = orxonox_cast<TeamColourable*>(pawnAttachment);
                 tc->setTeamColour(this->teamcolours_[teamNr]);
             }
@@ -376,15 +376,15 @@
     void TeamGametype::announceTeamWin(int winnerTeam)
     {
-        for (std::map<PlayerInfo*, int>::iterator it3 = this->teamnumbers_.begin(); it3 != this->teamnumbers_.end(); ++it3)
-        {
-            if (it3->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+        for (const auto& mapEntry : this->teamnumbers_)
+        {
+            if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                 continue;
-            if (it3->second == winnerTeam)
-            {
-                this->gtinfo_->sendAnnounceMessage("Your team has won the match!", it3->first->getClientID());
+            if (mapEntry.second == winnerTeam)
+            {
+                this->gtinfo_->sendAnnounceMessage("Your team has won the match!", mapEntry.first->getClientID());
             }
             else
             {
-                this->gtinfo_->sendAnnounceMessage("Your team has lost the match!", it3->first->getClientID());
+                this->gtinfo_->sendAnnounceMessage("Your team has lost the match!", mapEntry.first->getClientID());
             }
         }   
Index: code/trunk/src/orxonox/gametypes/TeamGametype.h
===================================================================
--- code/trunk/src/orxonox/gametypes/TeamGametype.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/TeamGametype.h	(revision 11071)
@@ -46,14 +46,14 @@
             void setConfigValues();
 
-            virtual void playerEntered(PlayerInfo* player);
+            virtual void playerEntered(PlayerInfo* player) override;
             virtual void findAndSetTeam(PlayerInfo* player);
-            virtual bool playerLeft(PlayerInfo* player);
-            virtual void spawnDeadPlayersIfRequested(); //!< Prevents players to respawn.
+            virtual bool playerLeft(PlayerInfo* player) override;
+            virtual void spawnDeadPlayersIfRequested() override; //!< Prevents players to respawn.
 
-            virtual bool allowPawnHit(Pawn* victim, Pawn* originator = 0);
-            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0);
-            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0);
+            virtual bool allowPawnHit(Pawn* victim, Pawn* originator = nullptr) override;
+            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = nullptr) override;
+            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = nullptr) override;
 
-            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn);
+            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn) override;
 
 
@@ -67,5 +67,5 @@
 
         protected:
-            virtual SpawnPoint* getBestSpawnPoint(PlayerInfo* player) const;
+            virtual SpawnPoint* getBestSpawnPoint(PlayerInfo* player) const override;
             bool pawnsAreInTheSameTeam(Pawn* pawn1, Pawn* pawn2);
 
Index: code/trunk/src/orxonox/gametypes/UnderAttack.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/UnderAttack.cc	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/UnderAttack.cc	(revision 11071)
@@ -48,5 +48,5 @@
         this->gameTime_ = 180;
         this->teams_ = 2;
-        this->destroyer_ = 0;
+        this->destroyer_ = nullptr;
         this->destroyer_.setCallback(createFunctor(&UnderAttack::killedDestroyer, this));
         this->gameEnded_ = false;
@@ -74,13 +74,13 @@
         this->gameEnded_ = true;
 
-        for (std::map<PlayerInfo*, int>::iterator it = this->teamnumbers_.begin(); it != this->teamnumbers_.end(); ++it)
-        {
-            if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+        for (const auto& mapEntry : this->teamnumbers_)
+        {
+            if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                 continue;
 
-            if (it->second == attacker_)
-                this->gtinfo_->sendAnnounceMessage("You have won the match!", it->first->getClientID());
+            if (mapEntry.second == attacker_)
+                this->gtinfo_->sendAnnounceMessage("You have won the match!", mapEntry.first->getClientID());
             else
-                this->gtinfo_->sendAnnounceMessage("You have lost the match!", it->first->getClientID());
+                this->gtinfo_->sendAnnounceMessage("You have lost the match!", mapEntry.first->getClientID());
         }
     }
@@ -155,13 +155,13 @@
                 ChatManager::message(message);
 
-                for (std::map<PlayerInfo*, int>::iterator it = this->teamnumbers_.begin(); it != this->teamnumbers_.end(); ++it)
-                {
-                    if (it->first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
+                for (const auto& mapEntry : this->teamnumbers_)
+                {
+                    if (mapEntry.first->getClientID() == NETWORK_PEER_ID_UNKNOWN)
                         continue;
 
-                    if (it->second == 1)
-                        this->gtinfo_->sendAnnounceMessage("You have won the match!", it->first->getClientID());
+                    if (mapEntry.second == 1)
+                        this->gtinfo_->sendAnnounceMessage("You have won the match!", mapEntry.first->getClientID());
                     else
-                        this->gtinfo_->sendAnnounceMessage("You have lost the match!", it->first->getClientID());
+                        this->gtinfo_->sendAnnounceMessage("You have lost the match!", mapEntry.first->getClientID());
                 }
             }
@@ -202,5 +202,5 @@
     void UnderAttack::setTransporterHealth()
     {
-        if (this->destroyer_ != 0)
+        if (this->destroyer_ != nullptr)
         {
             //Calculation: Each attacker deals about 3500 damage. A human attacker deals 1500 damage additionally.
Index: code/trunk/src/orxonox/gametypes/UnderAttack.h
===================================================================
--- code/trunk/src/orxonox/gametypes/UnderAttack.h	(revision 11052)
+++ code/trunk/src/orxonox/gametypes/UnderAttack.h	(revision 11071)
@@ -43,13 +43,13 @@
 
             void setConfigValues();
-            void tick (float dt);
+            virtual void tick (float dt) override;
             void addDestroyer(Destroyer* destroyer);
             inline Destroyer* getDestroyer() const
                 { return this->destroyer_; }
 
-            virtual bool allowPawnHit(Pawn* victim, Pawn* originator = 0);
-            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0);
-            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0);
-            virtual void playerEntered(PlayerInfo* player);
+            virtual bool allowPawnHit(Pawn* victim, Pawn* originator = nullptr) override;
+            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = nullptr) override;
+            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = nullptr) override;
+            virtual void playerEntered(PlayerInfo* player) override;
 
         protected:
