Index: code/branches/AsteroidMining_HS17/src/modules/asteroidmining/AsteroidMinable.cc
===================================================================
--- code/branches/AsteroidMining_HS17/src/modules/asteroidmining/AsteroidMinable.cc	(revision 11586)
+++ code/branches/AsteroidMining_HS17/src/modules/asteroidmining/AsteroidMinable.cc	(revision 11587)
@@ -44,6 +44,10 @@
 
 KNACKPUNKTE:
-o Maximale Hitpunkte = 200?
-o komische Startgeschwindigkeit der initialisierten Asteroiden. Fliegen davon. 
+o Der neu erscheinende Asteroid versucht, das Pickup aufzusammeln. 
+--> Mathematisch genuegend Abstand?
+--> Kollisions-Ausnahme richtig, mit Hit-Methode oder so, auch bei Pickup anpassen?
+--> Den Fall im eigenen Pickup behandeln? 
+--> Nur ein Pickup generieren, wenn die Groesse sowieso eins ist? -> Loest Kollisionsproblem nicht. 
+
 
 OFFEN: 
@@ -51,4 +55,5 @@
 o Explosion parts
 o custom HUD
+o asteroidField.lua anpassen, mit 'Mineraliendichten-Parameter'. 
 
 HANDBUCH:
@@ -68,7 +73,13 @@
 o Error-Nachricht: Einfach Argumente leer lassen. 
 o Pickups: setMaxSpawned funktioniert nicht -> Bastelloesung: Auf 2 statt eins setzen, erstes wird wohl direkt zerstoert. 
+o setHealth: Wird mit Max verwurstelt, war 0. 
+o Position nicht gesetzt -> alles im Ursprung, Kollision -> fliegt davon. 
+o nimmt zuviel Schaden. -> wird mit maxHealth verwurstelt -> einfach auch setzen. 
 
 o Groessenabhaengige Collison shape: Umweg ueber zweiten Konstruktor. 
 o Absturz beim Asteroidengenerieren: Health war auf 0 gesetzt! Wurde nur bei der xml-Variante definiert. 
+
+NOTIZEN:
+o SUPER entspricht ueberladen, andere Argumente der Methode. 
 
 */
@@ -149,12 +160,13 @@
         this->generateSmaller = true; 
         //this->setHealth(50);
+        this->context = c;
         this->size = size; // customSize
-        this->health_ = 5*size;// capped at 200 in pawn or smth?
-        //this->setHealth(health_); // Confusing, delete one of these
-        this->context = c;
+        this->health_ = 15*size;// capped at 200 in pawn or smth?
+        this->maxHealth_ = this->health_;
+        this->setPosition(position);
         //this->roll = rand()*5; //etwas Drehung. richtige Variable
 
-        // Fliegt davon, irgendwieso. Dies scheint auch nicht zu nuetzen. 
-        this->setVelocity(0, 0, 0);
+        // // Fliegt davon, irgendwieso. Dies scheint auch nicht zu nuetzen. 
+        // this->setVelocity(Vector3(0,0,0));
 
 
@@ -213,8 +225,8 @@
     void AsteroidMinable::registerVariables()
     {
-        registerVariable(this->bAlive_,            VariableDirection::ToClient);
-        registerVariable(this->bVulnerable_,       VariableDirection::ToClient);
-        registerVariable(this->health_,            VariableDirection::ToClient);
-        registerVariable(this->maxHealth_,         VariableDirection::ToClient);
+        // registerVariable(this->bAlive_,            VariableDirection::ToClient);
+        // registerVariable(this->bVulnerable_,       VariableDirection::ToClient);
+        // registerVariable(this->health_,            VariableDirection::ToClient);
+        // registerVariable(this->maxHealth_,         VariableDirection::ToClient);
 
         registerVariable(this->size, VariableDirection::ToClient);
@@ -234,8 +246,12 @@
     void AsteroidMinable::tick(float dt)
     {
-        // SUPER(Pawn, tick, dt);
         if(!(this->initialised)){this->putStuff();}
 
         if(this->health_ <=0){this->death();}
+
+        // if(this->initialised){
+        //     // this->setVelocity(Vector3(0,0,0));  // Funktioniert, scheint aber unsinnig. 
+        //     orxout() << "Flying at speed: " << this->getVelocity() << endl;
+        // }
 
     }
@@ -324,5 +340,5 @@
     int massRem = this->size-1; //some mass is lost
     int num = round((massRem-1)*(double)rand() / (double)RAND_MAX)+1; // random number of children, at least one // Tweak towards bigger junks?
-    num = 1; // zum Testen mal nur einen generieren. 
+    // num = 1; // zum Testen mal nur einen generieren. 
     
     massRem = massRem-num;    
@@ -352,5 +368,6 @@
         //Spawn this child  Game crashes!
         //AsteroidMinable* child = new AsteroidMinable(this->context);
-        AsteroidMinable* child = new AsteroidMinable(this->context, extra+1, this->getPosition() + Vector3(num*5, 0, 0));
+        int newMass = extra+1; 
+        AsteroidMinable* child = new AsteroidMinable(this->context, newMass, this->getPosition() + Vector3(fisch*newMass*2.5, 0, 0));
         // if(!(child == nullptr)){//Errorgebastel
 
@@ -417,5 +434,5 @@
         if(orxonox_cast<AsteroidMinable*>(originator) || orxonox_cast<Pickup*>(originator)){return;}
 
-
+        orxout() << "Schaden. HP: " << this->health_ << " Dmg: " << damage << " hDmg: " << healthdamage << " sDmg: " << shielddamage << endl;
 
         this->damage(damage, healthdamage, shielddamage, originator, cs);
