[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