Index: code/branches/lastmanstanding/data/levels/gametype_lastmanstanding.oxw
===================================================================
--- code/branches/lastmanstanding/data/levels/gametype_lastmanstanding.oxw	(revision 7605)
+++ code/branches/lastmanstanding/data/levels/gametype_lastmanstanding.oxw	(revision 7617)
@@ -66,15 +66,11 @@
 <!-- ---------------asteroid dome----------------- -->
 <?lua
-max = 17
-for i = 1, max, 1
+max = 16
+for i = 0, max, 1
 do
     y = math.sin(i/max*6)*750
     z = math.cos(i/max*6)*750
+    j = 1
     ?>
-<?lua
-for k = 1, 17, 1
-do
-j = math.random()
-?>
 
     <SpawnPoint team=0 position="<?lua print(y*1.4+z*0.2) ?>,0,<?lua print(z*1.4-y*0.2) ?>" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
@@ -142,7 +138,4 @@
 
 
-<?lua
-end
-?>
 <?lua end ?>
 
Index: code/branches/lastmanstanding/src/orxonox/gametypes/LastManStanding.cc
===================================================================
--- code/branches/lastmanstanding/src/orxonox/gametypes/LastManStanding.cc	(revision 7605)
+++ code/branches/lastmanstanding/src/orxonox/gametypes/LastManStanding.cc	(revision 7617)
@@ -48,6 +48,6 @@
         this->timeRemaining=15.0f;
         this->respawnDelay=4.0f;
-        this->noPunishment=false;
-        this->hardPunishment=false;
+        this->bNoPunishment=false;
+        this->bHardPunishment=false;
         this->punishDamageRate=0.4f;
         this->setHUDTemplate("LastmanstandingHUD");
@@ -63,11 +63,4 @@
                 {
                     this->spawnPlayer(it->first);
-                }
-                else if ((!inGame_[it->first])&&(0<playerLives_[it->first]))
-                {
-                    if (it->first->getClientID()== CLIENTID_UNKNOWN)
-                        continue;
-                    const std::string& message = "Respawn in " +multi_cast<std::string>(respawnDelay)+ " seconds." ;
-                    this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
                 }
                 else if (0>=playerLives_[it->first])
@@ -87,6 +80,6 @@
         SetConfigValue(timeRemaining, 15.0f);
         SetConfigValue(respawnDelay, 4.0f);
-        SetConfigValue(noPunishment, false);
-        SetConfigValue(hardPunishment, false);
+        SetConfigValue(bNoPunishment, false);
+        SetConfigValue(bHardPunishment, false);
     }
 
@@ -102,5 +95,5 @@
                 if (it->first->getClientID()== CLIENTID_UNKNOWN)
                     return true;
-                const std::string& message = ""; // set blank - erases Camper-Warning-message
+                const std::string& message = ""; // resets Camper-Warning-message
                 this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
             }    
@@ -243,5 +236,5 @@
         if(!player)
             return;
-        if(noPunishment)
+        if(bNoPunishment)
             return;
         std::map<PlayerInfo*, Player>::iterator it = this->players_.find(player);
@@ -253,15 +246,15 @@
             if(!pawn)
                 return;
-            if(hardPunishment)
+            if(bHardPunishment)
             {
                 pawn->kill();
                 this->timeToAct_[player]=timeRemaining+3.0f+respawnDelay;//reset timer
             }
-            /*else
-            {
-                float damage=pawn->getMaxHealth()*punishDamageRate*0.5;
+            else
+            {
+                float damage=pawn->getMaxHealth()*punishDamageRate*0.5;//TODO: Factor 0.5 is hard coded. Where is the ratio between MaxHealth actually defined?
                 pawn->removeHealth(damage);
                 this->timeToAct_[player]=timeRemaining;//reset timer
-            }*/
+            }
         }
     }
@@ -297,5 +290,11 @@
                     it->second=timeRemaining+3.0f;//reset punishment-timer
                     if (playerGetLives(it->first)>0)
+                    {
                         this->punishPlayer(it->first);
+                        if (it->first->getClientID()== CLIENTID_UNKNOWN)
+                            return;
+                        const std::string& message = ""; // resets Camper-Warning-message
+                        this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
+                    }
                 }
                 else if (it->second<timeRemaining/5)//Warning message
Index: code/branches/lastmanstanding/src/orxonox/gametypes/LastManStanding.h
===================================================================
--- code/branches/lastmanstanding/src/orxonox/gametypes/LastManStanding.h	(revision 7605)
+++ code/branches/lastmanstanding/src/orxonox/gametypes/LastManStanding.h	(revision 7617)
@@ -55,10 +55,10 @@
             float timeRemaining; //!< Each player has a certain time where he or she has to hit an opponent or will be punished.
             std::map<PlayerInfo*, float> timeToAct_; //!< Each player's time till she/he will be punished is stored here.
-            float respawnDelay;
+            float respawnDelay; //!<Time in seconds when a player will respawn after death.
             std::map<PlayerInfo*, float> playerDelayTime_; //!< Stores each Player's delay time.
             std::map<PlayerInfo*, bool> inGame_; //!< Indicates each Player's state.
-            bool noPunishment;
-            bool hardPunishment;
-            float punishDamageRate;
+            bool bNoPunishment; //!< Config value to switch off Punishment function if it is set to true.
+            bool bHardPunishment; //!< Switches between damage and death as punishment.
+            float punishDamageRate; //!< Makes Damage adjustable.
             virtual void spawnDeadPlayersIfRequested(); //!< Prevents dead players to respawn.
             virtual int getMinLives(); //!< Returns minimum of each player's lives; players with 0 lives are skipped; 
