Index: code/trunk/src/modules/pickup/items/HealthPickup.cc
===================================================================
--- code/trunk/src/modules/pickup/items/HealthPickup.cc	(revision 8858)
+++ code/trunk/src/modules/pickup/items/HealthPickup.cc	(revision 8864)
@@ -76,9 +76,9 @@
     void HealthPickup::initialize(void)
     {
-        this->health_ = 0;
-        this->healthRate_ = 0;
+        this->health_ = 0.0f;
+        this->healthRate_ = 0.0f;
         this->healthType_ = pickupHealthType::limited;
-        this->maxHealthSave_ = 0;
-        this->maxHealthOverwrite_ = 0;
+        this->maxHealthSave_ = 0.0f;
+        this->maxHealthOverwrite_ = 0.0f;
 
         this->addTarget(ClassIdentifier<Pawn>::getIdentifier());
@@ -121,5 +121,5 @@
 
         if(!this->isContinuous())
-            this->healthRate_ = 0.0;
+            this->healthRate_ = 0.0f;
 
         this->initializeIdentifier();
@@ -173,5 +173,5 @@
 
             // If all health has been transferred.
-            if(this->getHealth() == 0)
+            if(this->getHealth() == 0.0f)
             {
                 this->setUsed(false);
@@ -197,5 +197,5 @@
                     this->Pickupable::destroy();
 
-                float health = 0;
+                float health = 0.0f;
                 switch(this->getHealthTypeDirect())
                 {
@@ -234,5 +234,5 @@
                 if(pawn == NULL)
                 {
-                    orxout(internal_error, context::pickups) << "Something went horribly wrong in Health Pickup. PickupCarrier is no Pawn." << endl;
+                    orxout(internal_error, context::pickups) << "Something went horribly wrong in Health Pickup. PickupCarrier is '" << carrier->getIdentifier()->getName() << "' instead of Pawn." << endl;
                     this->Pickupable::destroy();
                     return;
@@ -248,5 +248,5 @@
 
             // If either the pickup can only be used once or it is continuous and used up, it is destroyed upon setting it to unused.
-            if(this->isOnce() || (this->isContinuous() && this->getHealth() == 0))
+            if(this->isOnce() || (this->isContinuous() && this->getHealth() == 0.0f))
             {
                 this->Pickupable::destroy();
@@ -267,7 +267,5 @@
 
         if(pawn == NULL)
-        {
             orxout(internal_error, context::pickups) << "Invalid PickupCarrier in HealthPickup." << endl;
-        }
 
         return pawn;
@@ -326,11 +324,9 @@
     {
         if(health >= 0.0f)
-        {
             this->health_ = health;
-        }
         else
         {
-            orxout(internal_error, context::pickups) << "Invalid health in HealthPickup." << endl;
-            this->health_ = 0.0;
+            orxout(internal_error, context::pickups) << "Invalid health '" << health << "' in HealthPickup. The health must be non.negative." << endl;
+            this->health_ = 0.0f;
         }
     }
@@ -344,12 +340,8 @@
     void HealthPickup::setHealthRate(float rate)
     {
-        if(rate >= 0)
-        {
+        if(rate >= 0.0f)
             this->healthRate_ = rate;
-        }
         else
-        {
-            orxout(internal_error, context::pickups) << "Invalid healthSpeed in HealthPickup." << endl;
-        }
+            orxout(internal_error, context::pickups) << "Invalid healthRate '" << rate << "' in HealthPickup. The healthRate must be non-negative." << endl;
     }
 
@@ -363,19 +355,11 @@
     {
         if(type == HealthPickup::healthTypeLimited_s)
-        {
             this->setHealthTypeDirect(pickupHealthType::limited);
-        }
         else if(type == HealthPickup::healthTypeTemporary_s)
-        {
             this->setHealthTypeDirect(pickupHealthType::temporary);
-        }
         else if(type == HealthPickup::healthTypePermanent_s)
-        {
             this->setHealthTypeDirect(pickupHealthType::permanent);
-        }
         else
-        {
-            orxout(internal_error, context::pickups) << "Invalid healthType in HealthPickup." << endl;
-        }
+            orxout(internal_error, context::pickups) << "Invalid healthType '" << type << "' in HealthPickup." << endl;
     }
 
