Index: code/branches/SOBv2_HS17/src/modules/superorxobros/SOB.cc
===================================================================
--- code/branches/SOBv2_HS17/src/modules/superorxobros/SOB.cc	(revision 11599)
+++ code/branches/SOBv2_HS17/src/modules/superorxobros/SOB.cc	(revision 11601)
@@ -44,4 +44,5 @@
 #include "SOBFigure.h"
 #include "graphics/Camera.h"
+#include "Highscore.h"
 
 
@@ -49,5 +50,5 @@
 namespace orxonox
 {
-
+    bool newHighscore=0;
     RegisterUnloadableClass(SOB);
 
@@ -124,5 +125,5 @@
         GSLevel::startMainMenu();
         Deathmatch::end();
-    }
+}
 
     void SOB::restart() {
@@ -167,5 +168,10 @@
         if (this->figure_ != nullptr && figure_->lvlEnded_) {
             std::stringstream a;
-            a << "Nice! " << getPoints() << " Points in " << (400-getTimeLeft())/2 <<"s.\n\nPress <Space> to restart";
+            if(newHighscore){
+                a << "Nice! " << getPoints() << " Points in " << (400-getTimeLeft())/2 <<"s.\n\nPress <Space> to restart";
+            }
+            else{
+                a << "Congrats, new Highscore! " << getPoints() << " Points in " << (400-getTimeLeft())/2 <<"s.\n\nPress <Space> to restart";
+            }
             info_ =a.str();
 
Index: code/branches/SOBv2_HS17/src/modules/superorxobros/SOB.h
===================================================================
--- code/branches/SOBv2_HS17/src/modules/superorxobros/SOB.h	(revision 11599)
+++ code/branches/SOBv2_HS17/src/modules/superorxobros/SOB.h	(revision 11601)
@@ -103,4 +103,5 @@
 
             WeakPtr<SOBCenterpoint> center_;
+            bool newHighscore;
 
         protected:
Index: code/branches/SOBv2_HS17/src/modules/superorxobros/SOBFigure.cc
===================================================================
--- code/branches/SOBv2_HS17/src/modules/superorxobros/SOBFigure.cc	(revision 11599)
+++ code/branches/SOBv2_HS17/src/modules/superorxobros/SOBFigure.cc	(revision 11601)
@@ -50,4 +50,5 @@
 #include "SOBCastlestone.h"
 #include "SOBFireball.h"
+#include "Highscore.h"
 #include <BulletCollision/NarrowPhaseCollision/btManifoldPoint.h>
 
@@ -208,5 +209,4 @@
             bool direction = ((this->getWorldOrientation().getRoll().valueRadians())>-1.6&&(this->getWorldOrientation().getRoll().valueRadians()<1.6));
             ball->setDirection(direction);
-            orxout() << "Rotation: " << this->getWorldOrientation().getRoll() << " direction: "<< direction <<endl;
             if(direction)
             {
@@ -229,4 +229,5 @@
 
     bool inputAllowed = true;
+    //SOB* SOBGame = orxonox_cast<SOB*>(getGametype());
 
     //the particle spawner that generates the fire from the backpack when pressed
@@ -365,6 +366,15 @@
             velocity.x = 0;
             velocity.y = 20;
+            setOrientation(Vector3::UNIT_Z, Degree(90));
         }
         if (reachedLvlEndState_ == 4) {
+            //Highscore
+            if (Highscore::exists()){
+                    int score = SOBGame->getPoints();
+                    if(score > Highscore::getInstance().getHighestScoreOfGame("Super Orxo Bros.")) 
+                        Highscore::getInstance().storeHighscore("Super Orxo Bros.",score);
+                        SOBGame->newHighscore=1;
+
+            }
             lvlEnded_ = true;
             dead_ = true;
Index: code/branches/SOBv2_HS17/src/modules/superorxobros/SOBFireball.cc
===================================================================
--- code/branches/SOBv2_HS17/src/modules/superorxobros/SOBFireball.cc	(revision 11599)
+++ code/branches/SOBv2_HS17/src/modules/superorxobros/SOBFireball.cc	(revision 11601)
@@ -140,4 +140,7 @@
         hitCounter_++;
         
+        collDisZ_=0;
+        collDisX_=0;
+
         return true;
     }
@@ -170,5 +173,5 @@
             changedOn_+= dt;
             // After a collision, we don't listen for collisions for 200ms - that's because one wall can cause several collisions!
-            if (changedOn_> 0.100) {
+            if (changedOn_> 0.2) {
                 changeAllowed_ = true;
                 changedOn_ = 0.0;
