[Orxonox-commit 3859] r8533 - in code/branches/gameimmersion/src: modules/weapons/projectiles orxonox/weaponsystem orxonox/worldentities/pawns

simonmie at orxonox.net simonmie at orxonox.net
Mon May 23 14:26:25 CEST 2011


Author: simonmie
Date: 2011-05-23 14:26:25 +0200 (Mon, 23 May 2011)
New Revision: 8533

Modified:
   code/branches/gameimmersion/src/modules/weapons/projectiles/Projectile.cc
   code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.cc
   code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.h
   code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.cc
   code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.h
   code/branches/gameimmersion/src/orxonox/weaponsystem/WeaponMode.h
   code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc
Log:
SimpleRocket and Rocket are now BasicProjectiles - damage is working now correctly with these two. More spam messages removed.

Modified: code/branches/gameimmersion/src/modules/weapons/projectiles/Projectile.cc
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/Projectile.cc	2011-05-23 11:29:33 UTC (rev 8532)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/Projectile.cc	2011-05-23 12:26:25 UTC (rev 8533)
@@ -35,7 +35,6 @@
 #include "objects/collisionshapes/SphereCollisionShape.h"
 #include "worldentities/pawns/Pawn.h"
 #include "graphics/ParticleSpawner.h"
-#include "BasicProjectile.h"
 
 namespace orxonox
 {

Modified: code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.cc
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.cc	2011-05-23 11:29:33 UTC (rev 8532)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.cc	2011-05-23 12:26:25 UTC (rev 8533)
@@ -42,6 +42,8 @@
 #include "sound/WorldSound.h"
 #include "Scene.h"
 
+#include "BasicProjectile.h"
+
 namespace orxonox
 {
     CreateFactory(Rocket);
@@ -51,12 +53,12 @@
     @brief
         Constructor. Registers the object and initializes some default values.
     */
-    Rocket::Rocket(BaseObject* creator) : ControllableEntity(creator)
+    Rocket::Rocket(BaseObject* creator) : ControllableEntity(creator), BasicProjectile()
     {
         RegisterObject(Rocket);// - register the Rocket class to the core
 
         this->localAngularVelocity_ = 0;
-        this->bDestroy_ = false;
+//        this->bDestroy_ = false;
         this->lifetime_ = 100;
 
         if (GameMode::isMaster())
@@ -174,7 +176,7 @@
 
         if( GameMode::isMaster() )
         {
-            if( this->bDestroy_ )
+            if( this->getBDestroy() )
                 this->destroy();
 
         }
@@ -182,7 +184,9 @@
 
     bool Rocket::collidesAgainst(WorldEntity* otherObject, btManifoldPoint& contactPoint)
     {
-        if (!this->bDestroy_ && GameMode::isMaster())
+        return BasicProjectile::basicCollidesAgainst(otherObject,contactPoint,this->owner_,this);
+
+/* * /        if (!this->bDestroy_ && GameMode::isMaster())
         {
             if (otherObject == this->owner_)
                 return false;
@@ -215,7 +219,7 @@
                 victim->hit(this->owner_, contactPoint, this->damage_);
 //             this->destroy();
         }
-        return false;
+/ * */        return false;
     }
 
     void Rocket::destroyObject()

Modified: code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.h
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.h	2011-05-23 11:29:33 UTC (rev 8532)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/Rocket.h	2011-05-23 12:26:25 UTC (rev 8533)
@@ -34,6 +34,8 @@
 #include "tools/Timer.h"
 #include "worldentities/ControllableEntity.h"
 
+#include "BasicProjectile.h"
+
 namespace orxonox
 {
     class ConeCollisionShape;
@@ -45,7 +47,7 @@
     @author
         Oli Scheuss
     */
-    class _WeaponsExport Rocket : public ControllableEntity
+    class _WeaponsExport Rocket : public ControllableEntity, public BasicProjectile
     {
         public:
             Rocket(BaseObject* creator);
@@ -108,17 +110,19 @@
             inline Pawn* getOwner() const
                 { return this->owner_; }
 
-            inline void setDamage(float damage)
+/*            inline void setDamage(float damage)
                 { this->damage_ = damage; }
             inline float getDamage() const
                 { return this->damage_; }
+*/
+
             virtual void fired(unsigned int firemode);
 
         private:
             WeakPtr<Pawn> owner_;
             Vector3 localAngularVelocity_;
-            float damage_;
-            bool bDestroy_;
+//            float damage_;
+//            bool bDestroy_;
 
             WeakPtr<PlayerInfo> player_;
             Timer destroyTimer_;

Modified: code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.cc
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.cc	2011-05-23 11:29:33 UTC (rev 8532)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.cc	2011-05-23 12:26:25 UTC (rev 8533)
@@ -47,12 +47,12 @@
 
     CreateFactory(SimpleRocket);
 
-    SimpleRocket::SimpleRocket(BaseObject* creator) : ControllableEntity(creator)
+    SimpleRocket::SimpleRocket(BaseObject* creator) : ControllableEntity(creator), BasicProjectile()
     {
         RegisterObject(SimpleRocket);// - register the SimpleRocket class to the core
 
         this->localAngularVelocity_ = 0;
-        this->bDestroy_ = false;
+//        this->bDestroy_ = false;
         this->lifetime_ = 120;
 
         this->setMass(15);
@@ -114,7 +114,7 @@
             } else
                 this->disableFire();
 
-            if( this->bDestroy_ )
+            if( this->getBDestroy() )
                 this->destroy();
         }
 
@@ -166,7 +166,8 @@
 
     bool SimpleRocket::collidesAgainst(WorldEntity* otherObject, btManifoldPoint& contactPoint)
     {
-        if (!this->bDestroy_ && GameMode::isMaster())
+        return BasicProjectile::basicCollidesAgainst(otherObject,contactPoint,this->owner_,this);
+/*        if (!this->bDestroy_ && GameMode::isMaster())
         {
             if (otherObject == this->owner_)
                 return false;
@@ -203,6 +204,7 @@
                 victim->hit(this->owner_, contactPoint, dmg);
         }
         return false;
+*/
     }
 
     void SimpleRocket::destroyObject()

Modified: code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.h
===================================================================
--- code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.h	2011-05-23 11:29:33 UTC (rev 8532)
+++ code/branches/gameimmersion/src/modules/weapons/projectiles/SimpleRocket.h	2011-05-23 12:26:25 UTC (rev 8533)
@@ -35,6 +35,8 @@
 #include "worldentities/ControllableEntity.h"
 #include "graphics/ParticleSpawner.h"
 
+#include "BasicProjectile.h"
+
 namespace orxonox
 {
     class ConeCollisionShape;
@@ -45,7 +47,7 @@
     @author
        Gabriel Nadler (Original file: Oli Scheuss)
     */
-    class _WeaponsExport SimpleRocket : public ControllableEntity
+    class _WeaponsExport SimpleRocket : public ControllableEntity, public BasicProjectile
     {
         public:
             SimpleRocket(BaseObject* creator);
@@ -113,17 +115,17 @@
             inline bool hasFuel() const
             { return this->fuel_; }
 
-            inline void setDamage(float damage)
+/*            inline void setDamage(float damage)
                 { this->damage_ = damage; }
             inline float getDamage() const
                 { return this->damage_; }
+*/
 
-
         private:
             WeakPtr<Pawn> owner_;
             Vector3 localAngularVelocity_;
-            float damage_;
-            bool bDestroy_;
+//            float damage_;
+//            bool bDestroy_;
             bool fuel_; //!< Bool is true while the rocket "has fuel"
 
 

Modified: code/branches/gameimmersion/src/orxonox/weaponsystem/WeaponMode.h
===================================================================
--- code/branches/gameimmersion/src/orxonox/weaponsystem/WeaponMode.h	2011-05-23 11:29:33 UTC (rev 8532)
+++ code/branches/gameimmersion/src/orxonox/weaponsystem/WeaponMode.h	2011-05-23 12:26:25 UTC (rev 8533)
@@ -103,7 +103,7 @@
 
             // Fire
             inline void setDamage(float damage)
-                { this->damage_ = damage; COUT(3) << "DAMAGE-SET-FUNKTION (WeaponMode) WIRD AUFGERUFEN" << endl;}
+                { this->damage_ = damage;}
             inline float getDamage() const
                 { return this->damage_; }
 ////////////////////me, copied to projectile.cc
@@ -114,7 +114,7 @@
                 { return this->healthdamage_; }
 
             inline void setShieldDamage(float shielddamage)
-                { this->shielddamage_ = shielddamage;} //ShieldDamage wird korrekt gesettet vom XML-File
+                { this->shielddamage_ = shielddamage;}
             inline float getShieldDamage() const
                 { return this->shielddamage_; }
 

Modified: code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc	2011-05-23 11:29:33 UTC (rev 8532)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/Pawn.cc	2011-05-23 12:26:25 UTC (rev 8533)
@@ -248,7 +248,7 @@
                 COUT(3) << "### SHIELD KAPUTT ###" << endl;
             }
 
-            else { COUT(3) << "## SHIELD : " << this->getShieldHealth() << endl; }
+ //           else { COUT(3) << "## SHIELD : " << this->getShieldHealth() << endl; }
 
             this->setHealth(this->health_ - healthdamage);
 
@@ -318,7 +318,7 @@
 /////////////me override
     void Pawn::hit(Pawn* originator, const Vector3& force, float damage, float healthdamage, float shielddamage)
     {
-        COUT(3) << "neue hit-Funktion wurde aufgerufen // " << std::flush;
+//        COUT(3) << "neue hit-Funktion wurde aufgerufen // " << std::flush;
         if (this->getGametype() && this->getGametype()->allowPawnHit(this, originator) && (!this->getController() || !this->getController()->getGodMode()) )
         {
             this->damage(damage, healthdamage, shielddamage, originator);




More information about the Orxonox-commit mailing list