Changeset 6295
- Timestamp:
- Dec 9, 2009, 4:54:20 PM (15 years ago)
- Location:
- code/branches/presentation2/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/presentation2/src/modules/weapons/projectiles/Projectile.cc
r6277 r6295 129 129 Pawn* victim = orxonox_cast<Pawn*>(otherObject); 130 130 if (victim) 131 victim-> damage(dmg, this->owner_);131 victim->hit(this->owner_, contactPoint, dmg); 132 132 } 133 133 return false; -
code/branches/presentation2/src/modules/weapons/projectiles/Rocket.cc
r6285 r6295 203 203 Pawn* victim = orxonox_cast<Pawn*>(otherObject); 204 204 if (victim) 205 victim-> damage(dmg, this->owner_);205 victim->hit(this->owner_, contactPoint, dmg); 206 206 // this->destroy(); 207 207 } -
code/branches/presentation2/src/orxonox/controllers/Controller.h
r6195 r6295 50 50 { return this->player_; } 51 51 52 virtual inline void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage) {}; 53 52 54 inline ControllableEntity* getControllableEntity() const 53 55 { return this->controllableEntity_; } -
code/branches/presentation2/src/orxonox/controllers/NewHumanController.cc
r6289 r6295 44 44 #include "sound/SoundManager.h" 45 45 #include "Scene.h" 46 #include "tools/BulletConversions.h" 47 #include "bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h" 46 48 47 49 namespace orxonox … … 246 248 HumanController::localController_s->getControllableEntity()->fire(firemode); 247 249 250 } 251 252 void NewHumanController::hit(Pawn* originator, btManifoldPoint& contactpoint, float damage) { 253 Vector3 posA = multi_cast<Vector3>(contactpoint.getPositionWorldOnA()); 254 //Vector3 posB = multi_cast<Vector3>(contactpoint.getPositionWorldOnB()); 255 //posA and posB are almost identical 256 257 Vector3 relativeHit = this->getControllableEntity()->getWorldOrientation() * (posA - this->getControllableEntity()->getPosition()); 258 259 COUT(0) << relativeHit << endl; 260 //COUT(0) << "Damage: " << damage << " Point A: " << posA << " Point B: " << posB << endl; 248 261 } 249 262 -
code/branches/presentation2/src/orxonox/controllers/NewHumanController.h
r6236 r6295 56 56 virtual void doFire(unsigned int firemode); 57 57 58 virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage); 59 58 60 static void unfire(); 59 61 virtual void doUnfire(); -
code/branches/presentation2/src/orxonox/worldentities/MovableEntity.cc
r5929 r6295 79 79 if (victim) 80 80 { 81 victim->damage(this->collisionDamage_ * (victim->getVelocity() - this->getVelocity()).length()); 81 float damage = this->collisionDamage_ * (victim->getVelocity() - this->getVelocity()).length(); 82 victim->hit(0, contactPoint, damage); 82 83 } 83 84 } -
code/branches/presentation2/src/orxonox/worldentities/pawns/Pawn.cc
r6112 r6295 38 38 #include "PawnManager.h" 39 39 #include "infos/PlayerInfo.h" 40 #include "controllers/Controller.h" 40 41 #include "gametypes/Gametype.h" 41 42 #include "graphics/ParticleSpawner.h" … … 176 177 } 177 178 179 void Pawn::hit(Pawn* originator, btManifoldPoint& contactpoint, float damage) 180 { 181 if (this->getGametype() && this->getGametype()->allowPawnHit(this, originator)) 182 { 183 this->damage(damage, originator); 184 185 if ( this->getController() ) 186 this->getController()->hit(originator, contactpoint, damage); 187 188 // play hit effect 189 } 190 } 191 178 192 void Pawn::kill() 179 193 { -
code/branches/presentation2/src/orxonox/worldentities/pawns/Pawn.h
r6111 r6295 75 75 { return this->lastHitOriginator_; } 76 76 77 virtual void damage(float damage, Pawn* originator = 0);78 77 virtual void hit(Pawn* originator, const Vector3& force, float damage); 78 virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage); 79 79 virtual void kill(); 80 80 … … 131 131 virtual void spawneffect(); 132 132 133 virtual void damage(float damage, Pawn* originator = 0); 134 133 135 bool bAlive_; 134 136
Note: See TracChangeset
for help on using the changeset viewer.