Index: code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw
===================================================================
--- code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw	(revision 12152)
+++ code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw	(revision 12153)
@@ -23,5 +23,5 @@
   <TowerDefenseSelecter>
     <camerapositions>
-      <CameraPosition position="-50,-1200,1000" lookat="-50,0,-200" absolute=true drag=true mouselook=true/>
+      <CameraPosition position="-50,-1300,1000" lookat="-50,0,-400" absolute=true drag=true mouselook=true/>
     </camerapositions>
   </TowerDefenseSelecter>
@@ -250,11 +250,11 @@
    explosionchunks        = 6
 
-   health            = 30
-   maxhealth         = 30
-   initialhealth     = 30
-
-   shieldhealth        = 0
-   initialshieldhealth = 0
-   maxshieldhealth     = 0
+   health            = 100
+   maxhealth         = 10000000000000
+   initialhealth     = 100
+
+   shieldhealth        = 1000
+   initialshieldhealth = 1000
+   maxshieldhealth     = 10000000000000
    shieldabsorption    = 0.8
    shieldrechargerate = 1
@@ -299,5 +299,5 @@
     </engines>
     <attached>
-      <Model position="0,0,0" yaw=180 pitch=0 roll=0 scale=7.5 mesh="finalenemy1.mesh" /> 
+      <Model position="0,0,0" yaw=180 pitch=0 roll=0 scale=10 mesh="finalenemy1.mesh" /> 
     </attached>
     <collisionShapes>
@@ -320,6 +320,6 @@
    explosionchunks        = 6
 
-   health            = 30
-   maxhealth         = 30
+   health            = 40
+   maxhealth         = 10000000000000
    initialhealth     = 30
 
@@ -390,11 +390,11 @@
    explosionchunks        = 6
 
-   health            = 30
-   maxhealth         = 30
-   initialhealth     = 30
-
-   shieldhealth        = 0
-   initialshieldhealth = 0
-   maxshieldhealth     = 0
+   health            = 50
+   maxhealth         = 10000000000000
+   initialhealth     = 50
+
+   shieldhealth        = 20
+   initialshieldhealth = 20
+   maxshieldhealth     = 10000000000000
    shieldabsorption    = 0.8
    shieldrechargerate = 1
@@ -706,20 +706,19 @@
     tower5Cost=100
     fields="F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-	    F1F1F1R1I1I1I1I1I1I1I1R0F1F1F1F1
+	        F1F1F1R1I1I1I1I1I1I1I1I1I1I1R0F1
+            F1F1F1I2F1F1F1Y1F1F1F1F1F1F1I0F1
+            F1Y1F1I2F1F1F1F1F1F1F1F1Y1F1I0F1
+            F1F1F1I2F1F1F1F1F1F1F1F1F1F1I0F1
+            F1F1F1I2F1Y1F1F1F1F1F1L0I3I3R3F1
             F1F1F1I2F1F1F1F1F1F1F1I0F1F1F1F1
-            F1Y1F1I2F1F1F1F1Y1F1F1I0F1F1F1F1
-            F1F1F1I2F1F1Y1F1F1F1F1I0F1Y1F1F1
-            F1F1F1I2F1F1F1F1F1F1F1I0F1F1F1F1
-            F1F1F1I2F1F1F1F1F1F1F1I0F1F1F1F1
-            F1F1F1R2I3I3I3I3L3F1F1I0F1F1F1F1
+            F1F1F1R2I3I3I3I3L3F1F1I0F1F1Y1F1
             F1F1F1F1F1F1F1F1I2F1F1I0F1F1F1F1
-            F1F1F1F1F1F1Y1F1I2F1F1I0F1F1F1F1
-            X1I1I1I1R0F1F1F1I2F1F1I0F1F1Y1F1
-            F1F1F1F1I0F1F1F1I2F1F1I0F1F1F1F1
-            F1F1F1F1I0F1F1F1I2F1F1I0F1F1F1F1
-            F1F1F1F1L1I1I1I1L2F1F1I0F1F1F1F1
-            F1F1Y1F1F1F1F1F1F1F1F1O0F1Y1F1F1
-            F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-            F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1"
+            F1F1F1F1F1F1F1F1I2F1F1I0F1F1F1F1
+            X1I1I1I1R0F1Y1F1I2F1F1I0F1F1F1F1
+            F1F1F1F1I0F1F1F1I2F1F1L1I1I1R0F1
+            F1F1F1F1I0F1F1F1I2F1F1F1F1F1I0F1
+            F1F1F1F1L1I1I1I1L2F1F1F1F1Y1I0F1
+            F1F1Y1F1F1F1F1F1F1F1F1F1F1F1I0F1
+            F1F1F1F1F1F1F1F1F1Y1F1F1F1F1O0F1"
     width=16
     height=16
Index: code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc	(revision 12152)
+++ code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc	(revision 12153)
@@ -157,5 +157,6 @@
             en1->addTemplate("enemytowerdefense1");
             en1->setScale(3);
-            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
+            en1->setHealth(en1->getHealth() + this->getWaveNumber()*1/3*0.5*(en1->getHealth()));
+            en1->setShieldHealth(en1->getShieldHealth() + this->getWaveNumber()*1/3*0.5*(en1->getShieldHealth()));
             break;
 
@@ -163,5 +164,5 @@
             en1->addTemplate("enemytowerdefense2");
             en1->setScale(2);
-            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
+            en1->setHealth(en1->getHealth() + this->getWaveNumber()*1/3*0.3*(en1->getHealth()));
             break;
 
@@ -169,5 +170,6 @@
             en1->addTemplate("enemytowerdefense3");
             en1->setScale(1);
-            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
+            en1->setHealth(en1->getHealth() + this->getWaveNumber()*1/3*0.2*(en1->getHealth()));
+            en1->setShieldHealth(en1->getShieldHealth() + this->getWaveNumber()*1/3*0.5*(en1->getShieldHealth()));
             break;
         }        
@@ -308,5 +310,23 @@
                 ctrl->destroy();
                 it = enemies_.erase(it);
-                addCredit(1);
+                
+                int currentType = this->getWaveNumber() % 3 + 1;
+                switch (currentType){ //Entscheidet, wie viele Credits vergeben werden sollen
+                    case 1: //currently boss wave
+                        addCredit(100);
+                        if (this->getLifes() <= 90)
+                        {
+                            this->setLifes(this->getLifes() + 10);
+                        }
+                        break;
+
+                    case 2: //currently mass wave
+                        addCredit(5);
+                        break;
+
+                    case 3: //currently moderate wave
+                        addCredit(10);
+                        break;
+                }
             }
             else
@@ -340,8 +360,9 @@
             timeSinceLastSpawn_ -= 1.0;
             -- waveSize_;
-            addTowerDefenseEnemy(this->getWaveNumber() % 3 + 1);
+            addTowerDefenseEnemy(this->getWaveNumber() % 3 + 1); //Gegnertyp rotiert durch die 3 moeglichen, er beginnt bei Typ 2!!!
         }
         else if (timeUntilNextWave_ <= 0.0 && waveSize_ <= 0)
         {
+            int currentType = this->getWaveNumber() % 3 + 1;
             //New wave
             ++ waveNumber_;
@@ -349,5 +370,18 @@
 
             timeUntilNextWave_ = waveNumber_+20.0f;
-            waveSize_ = waveNumber_+5;
+            // Entscheidung, wie gross die einzelnen waves sein sollen.
+            switch (currentType){
+                case 1: //currently boss wave
+                    waveSize_ = waveNumber_+10;
+                    break;
+
+                case 2: //currently mass wave
+                    waveSize_ = (waveNumber_+10)/2;
+                    break;
+
+                case 3: //currently moderate wave
+                    waveSize_ = 1;
+                    break;
+            }
         }
 
@@ -361,7 +395,7 @@
         std::string fields = center_->getFields();
         int pos = 0;
-        for (int j = 15; j >= 0; --j)
-        {
-            for (int i = 0; i < 16; ++i)
+        for (int j = 15; j >= 0; --j) //Vertical number of rows
+        {
+            for (int i = 0; i <= 15; ++i) //Horizontal number of rows
             {
                 coord.Set(i,j);
Index: code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseController.cc
===================================================================
--- code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseController.cc	(revision 12152)
+++ code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseController.cc	(revision 12153)
@@ -81,9 +81,8 @@
         Engine* engine = ship->getEngine(0);
         if(engine != nullptr) {
-            speed = engine->getMaxSpeedFront(); //Geschwindigkeit wird ausgelesen
-            orxout() << "shiftshan" << endl;
+            speed = engine->getMaxSpeedFront(); //Geschwindigkeit sollte ausgelesen werden, wird momentan aber noch NICHT -> ein Fehler mit den Engines
+
         } else {
-            speed = 100;
-            orxout() << "shiftshannonen" << endl;
+            speed = 200; //Momentan wird hiermit die Geschwindigkeit ALLER Schiffe gesetzt!
         }
 
@@ -127,5 +126,5 @@
         this->getControllableEntity()->setPosition(offset_ + newPosition);
         this->getControllableEntity()->lookAt(this->getControllableEntity()->getPosition() + newDirection);
-
+        this->getControllableEntity()->setVelocity(speed * newDirection);
     }
 
