[Orxonox-commit 3501] r8187 - in code/branches/gameimmersion: data/levels src/orxonox/worldentities/pawns

simonmie at orxonox.net simonmie at orxonox.net
Mon Apr 4 15:45:09 CEST 2011


Author: simonmie
Date: 2011-04-04 15:45:09 +0200 (Mon, 04 Apr 2011)
New Revision: 8187

Modified:
   code/branches/gameimmersion/data/levels/test-immersion-shield-01.oxw
   code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc
   code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.h
Log:
Added initialShieldHealth and minor changes


Modified: code/branches/gameimmersion/data/levels/test-immersion-shield-01.oxw
===================================================================
--- code/branches/gameimmersion/data/levels/test-immersion-shield-01.oxw	2011-04-04 13:21:48 UTC (rev 8186)
+++ code/branches/gameimmersion/data/levels/test-immersion-shield-01.oxw	2011-04-04 13:45:09 UTC (rev 8187)
@@ -35,14 +35,16 @@
 	linearDamping=		"0.9"
 	angularDamping=		"0.7"
 
-	health=			200
+	health=			100
 	maxhealth=		150
-	inithealth=		100
+	inithealth=		200
 
-	shieldhealth=		200
-	shieldabsorption=	1
+	shieldhealth=		100
+	initialshieldhealth=	200
 	maxshieldhealth=	250
 
+	shieldabsorption=	1
+
 	reloadrate=		"10"
 	reloadwaittime=		1
 

Modified: code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc	2011-04-04 13:21:48 UTC (rev 8186)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc	2011-04-04 13:45:09 UTC (rev 8187)
@@ -128,7 +128,9 @@
 /////// me
         XMLPortParam(Pawn, "reloadrate", setReloadRate, getReloadRate, xmlelement, mode).defaultValues(0);
         XMLPortParam(Pawn, "reloadwaittime", setReloadWaitTime, getReloadWaitTime, xmlelement, mode).defaultValues(1.0f);
+
         XMLPortParam(Pawn, "maxshieldhealth", setMaxShieldHealth, getMaxShieldHealth, xmlelement, mode).defaultValues(100);
+        XMLPortParam(Pawn, "initialshieldhealth", setInitialShieldHealth, getInitialShieldHealth, xmlelement, mode).defaultValues(0);
 
 /////// end me
 	//TODO: DEFINES fuer defaultwerte (hier und weiter oben dieselben)
@@ -226,7 +228,7 @@
 
     void Pawn::setHealth(float health)
     {
-        this->health_ = std::min(health, this->maxHealth_);
+        this->health_ = std::min(health, this->maxHealth_); //Health can't be set to a value bigger than maxHealth, otherwise it will be reduced at first hit
     }
 
 //////////////////me edit

Modified: code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.h
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.h	2011-04-04 13:21:48 UTC (rev 8186)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.h	2011-04-04 13:45:09 UTC (rev 8187)
@@ -80,6 +80,17 @@
             inline float getMaxShieldHealth() const
                 { return this->maxShieldHealth_; }
 
+            inline void setInitialShieldHealth(float initialshieldhealth)
+                { this->initialShieldHealth_ = initialshieldhealth; this->setShieldHealth(initialshieldhealth); }
+            inline float getInitialShieldHealth() const
+                { return this->initialShieldHealth_; }
+
+            inline void restoreInitialShieldHealth()
+                { this->setShieldHealth(this->initialShieldHealth_); }
+            inline void restoreMaxShieldHealth()
+                { this->setShieldHealth(this->maxShieldHealth_); }
+
+
 ///////////////////////////////// end me
 
             virtual void setHealth(float health);
@@ -185,6 +196,7 @@
             float reloadWaitCountdown_;
 
             float maxShieldHealth_;
+            float initialShieldHealth_;
 
 ////////////////////////// end me
 




More information about the Orxonox-commit mailing list