Changeset 10366 in orxonox.OLD for branches/playability.merge/src/world_entities/projectiles
- Timestamp:
- Jan 25, 2007, 12:48:13 PM (18 years ago)
- Location:
- branches/playability.merge
- Files:
-
- 3 edited
- 16 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/playability.merge
- Property svn:ignore
-
old new 10 10 autom4te.cache 11 11 aclocal.m4 12 tags 13 test.bmp 14 config.sub 15 config.guess 16 OrxonoxPlayability.kdevses 17 OrxonoxPlayability.kdevelop.pcs
-
- Property svn:ignore
-
branches/playability.merge/src/world_entities/projectiles/acid_splash.cc
r10365 r10366 32 32 33 33 34 #include "class_id_DEPRECATED.h" 34 35 35 ObjectListDefinition(AcidSplash); 36 36 CREATE_FAST_FACTORY_STATIC(AcidSplash); -
branches/playability.merge/src/world_entities/projectiles/hbolt.cc
r10365 r10366 29 29 // #include "effects/billboard.h" 30 30 #include "space_ships/space_ship.h" 31 #include "npcs/npc.h" 31 32 32 #include "class_id_DEPRECATED.h"33 33 ObjectListDefinition(HBolt); 34 34 CREATE_FAST_FACTORY_STATIC(HBolt); … … 121 121 { 122 122 printf("Collision with HBolt\n"); 123 if (this->hitEntity != entity && entity->isA( CL_NPC) || entity == this->target)123 if (this->hitEntity != entity && entity->isA(NPC::staticClassID()) || entity == this->target) 124 124 this->destroy( entity ); 125 125 this->hitEntity = entity; -
branches/playability.merge/src/world_entities/projectiles/lbolt.cc
r10365 r10366 25 25 #include "particles/dot_emitter.h" 26 26 #include "particles/sprite_particles.h" 27 #include "npcs/npc.h" 27 28 28 29 #include <cassert> … … 32 33 33 34 34 #include "class_id_DEPRECATED.h" 35 35 36 ObjectListDefinition(LBolt); 36 37 CREATE_FAST_FACTORY_STATIC(LBolt); … … 123 124 { 124 125 PRINTF(0)("Collision with LBolt\n"); 125 if (this->hitEntity != entity && entity->isA( CL_NPC))126 if (this->hitEntity != entity && entity->isA(NPC::staticClassID())) 126 127 this->destroy( entity ); 127 128 this->hitEntity = entity; -
branches/playability.merge/src/world_entities/projectiles/mbolt.cc
r10365 r10366 36 36 37 37 38 #include "class_id_DEPRECATED.h" 38 39 39 ObjectListDefinition(MBolt); 40 40 CREATE_FAST_FACTORY_STATIC(MBolt); … … 48 48 this->loadModel("models/projectiles/mbolt.obj",4); 49 49 50 50 51 51 //this->loadModel("models/projectiles/laser.obj"); 52 52 … … 71 71 this->mat->setDiffuseMap("laser.png",1); 72 72 73 dynamic_cast<StaticModel*>(this->getModel())->addMaterial( this->mat);73 dynamic_cast<StaticModel*>(this->getModel())->addMaterial(*this->mat); 74 74 dynamic_cast<StaticModel*>(this->getModel())->finalize(); 75 75 76 76 dynamic_cast<StaticModel*>(this->getModel())->rebuild(); 77 77 //this->buildObbTree(4); 78 78 79 79 this->trail = new Trail(6, 4, .1, this); 80 80 //this->trail->setParent( this); … … 155 155 //this->destroy(this); 156 156 this->deactivate(); 157 157 158 158 return; 159 159 -
branches/playability.merge/src/world_entities/projectiles/projectile.cc
r10013 r10366 25 25 #include "playable.h" 26 26 27 #include <cmath> 28 27 29 #include "debug.h" 28 30 … … 46 48 this->subscribeReaction( CoRe::CREngine::CR_PHYSICS_FULL_WALK, Playable::staticClassID()); 47 49 50 this->physDamage = 0.0f; 51 this->elecDamage = 0.0f; 48 52 //this->addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT); 49 53 } … … 60 64 */ 61 65 //delete this->projectileModel; 66 } 67 68 Projectile::Projectile (float pDamage, float eDamage, PNode* target) : WorldEntity() 69 { 70 this->registerObject(this, Projectile::_objectList); 71 72 this->lifeCycle = 0.0; 73 this->lifeSpan = 1.0f; /* sec */ 74 this->removeNode(); 75 76 /* character attributes */ 77 this->setHealth(1.0f); 78 this->setDamage(1.0f); // default damage of a projectile set to 100.0 damage points 79 80 this->physDamage = pDamage; 81 this->elecDamage = eDamage; 82 this->target = target; 83 84 //this->addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT); 85 } 86 87 void Projectile::initialize(float pDamage, float eDamage, PNode* target) 88 { 89 /* character attributes*/ 90 this->physDamage = pDamage; 91 this->elecDamage = eDamage; 92 this->target = target; 62 93 } 63 94 … … 124 155 125 156 157 void Projectile::collidesWith (WorldEntity* target, const Vector& location) 158 { 159 dynamic_cast<SpaceShip*>(target)->damage(this->getPhysDamage(),this->getElecDamage()); 160 // this->destroy(NULL); 161 this->destroy(target); 162 } 163 164 165 126 166 /** 127 167 * signal tick, time dependent things will be handled here … … 130 170 void Projectile::tick (float dt) 131 171 { 132 Vector v = this->velocity * (dt);133 this->shiftCoor(v);134 135 172 if (this->tickLifeCycle(dt)) 136 173 this->destroy( NULL ); -
branches/playability.merge/src/world_entities/projectiles/projectile.h
r9869 r10366 12 12 #include "world_entity.h" 13 13 #include "loading/fast_factory.h" 14 #include "space_ships/space_ship.h" 14 15 15 16 #include "sound_source.h" … … 22 23 Projectile (); 23 24 virtual ~Projectile (); 25 26 /** @brief Constructor with variable passing*/ 27 Projectile (float pDamage, float eDamage, PNode* target); 28 /** @brief for void construction; setting values later - needed for FastFactory*/ 29 virtual void initialize(float pDamage, float eDamage, PNode* target); 24 30 25 31 void setFlightDirection(const Quaternion& flightDirection); … … 44 50 virtual void destroy (WorldEntity* killer); 45 51 52 virtual void collidesWith (WorldEntity* target, const Vector& location); //!< collision handler; used against SpaceShip as most target will be 53 54 46 55 virtual void tick (float dt); 47 56 /** @brief convenience function … … 50 59 inline bool tickLifeCycle(float dt ) { this->lifeCycle += dt/this->lifeSpan; return(unlikely(this->lifeCycle >= 1)); } 51 60 61 inline float getPhysDamage() { return this->physDamage; }; 62 inline float getElecDamage() { return this->elecDamage; }; 63 64 inline void setPhysDamage( float dmg) {this->physDamage = dmg; }; 65 inline void setElecDamage( float dmg) {this->elecDamage = dmg; }; 52 66 53 67 protected: 54 68 // energy 55 float energyMin; //!< The minimal Energy a Projectile needs to be emitted. 56 bool bChargeable; //!< if the Projectile is Charegeable 69 int origList; //!< FIXME currently a fix around the collision seg fault 70 float energyMin; //!< The minimal Energy a Projectile needs to be emitted. 71 bool bChargeable; //!< if the Projectile is Charegeable 57 72 58 float lifeCycle;//!< The percentage of the Lifetime done [0-1]59 float lifeSpan;//!< The entire lifespan of the Shoot. in seconds73 float lifeCycle; //!< The percentage of the Lifetime done [0-1] 74 float lifeSpan; //!< The entire lifespan of the Shoot. in seconds 60 75 61 Vector flightDirection; //!< DOF direction in which the shoot flighs 76 float physDamage; //!< damage to shield and armor 77 float elecDamage; //!< damage to elctronic 78 float turningSpeed; //!< degrees per tick 62 79 63 Vector velocity; //!< velocity of the projectile.80 Vector flightDirection; //!< DOF direction in which the shoot flighs 64 81 65 PNode* target; //!< A target for guided Weapons. 82 Vector velocity; //!< velocity of the projectile. 83 84 PNode* target; //!< A target for guided Weapons. 66 85 67 86 OrxSound::SoundSource soundSource; -
branches/playability.merge/src/world_entities/projectiles/spike.cc
r10365 r10366 32 32 33 33 34 #include "class_id_DEPRECATED.h" 34 35 35 ObjectListDefinition(Spike); 36 36 CREATE_FAST_FACTORY_STATIC(Spike); -
branches/playability.merge/src/world_entities/projectiles/spike_ball.cc
r10365 r10366 32 32 33 33 34 #include "class_id_DEPRECATED.h" 34 35 35 ObjectListDefinition(SpikeBall); 36 36 CREATE_FAST_FACTORY_STATIC(SpikeBall); -
branches/playability.merge/src/world_entities/projectiles/swarm_projectile.cc
r10365 r10366 27 27 #include "debug.h" 28 28 29 #include "class_id_DEPRECATED.h" 29 30 30 31 31 #include "math/vector.h" 32 32 33 ObjectListDefinition ID(SwarmProjectile, CL_SWARM_PROJECTILE);33 ObjectListDefinition(SwarmProjectile); 34 34 CREATE_FAST_FACTORY_STATIC(SwarmProjectile); 35 35 … … 167 167 // printf("turning angle: %f\ntemp: %f\n", angle, tmp); 168 168 169 if( fabsf(angle) > fabsf(tmp) ) 169 if( fabsf(angle) > fabsf(tmp) ) 170 170 angle = tmp; 171 171 else
Note: See TracChangeset
for help on using the changeset viewer.