Changeset 10504
- Timestamp:
- May 28, 2015, 10:41:23 AM (9 years ago)
- Location:
- code/branches/presentationFS15
- Files:
-
- 5 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
code/branches/presentationFS15/data/levels/presentationFS15.oxw
r10498 r10504 15 15 include("templates/spaceshipRing.oxt") 16 16 include("templates/spaceshipFS15.oxt") 17 include("templates/orbStation.oxt") 17 18 18 19 ?> … … 30 31 31 32 <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/> 32 <SpawnPoint team=0 position="-2000,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipfs15/> 33 34 35 <SpaceShip position="0,500,500" lookat="0,1000,0" > 36 <attached> 37 <DistanceTriggerBeacon name="bcnDestroyer" /> 38 <DockingTarget name="destroyer" /> 39 </attached> 40 <templates> 41 <Template link=spaceshipring /> 42 </templates> 43 </SpaceShip> 33 <SpawnPoint team=0 position="-500,0,0" lookat="-1000,0,0" spawnclass=SpaceShip pawndesign=spaceshipfs15/> 44 34 45 35 <!-- Docking --> … … 61 51 </events> 62 52 </Dock> 53 54 <SpaceShip position="0,0,0" lookat="0,1000,1000" > 55 <attached> 56 <DistanceTriggerBeacon name="bcnDestroyer" /> 57 <DockingTarget name="destroyer" /> 58 </attached> 59 <templates> 60 <Template link=spaceshipring /> 61 </templates> 62 <events> 63 <visibility> 64 <EventListener event="dockMe" /> 65 </visibility> 66 </events> 67 </SpaceShip> 68 69 <Billboard position="0,500,500" material="Flares/ringflare2" colour="0.8,0.4,0.2" scale=1 /> 70 <DistanceTrigger position="0,500,500" distance="200" target="Pawn" name="takeControl"/> 71 72 <MovableEntity position="0,1000,1000" > 73 <templates> 74 <Template link=orbStation/> 75 </templates> 76 <events> 77 <visibility> 78 <EventListener event="dockMe" /> 79 </visibility> 80 </events> 81 </MovableEntity> 82 83 <ControllerDirector position="0,0,0" scriptname="presentation"> 84 <events> 85 <takeControl> 86 <EventListener event="takeControl" /> 87 </takeControl> 88 </events> 89 </ControllerDirector> 90 91 63 92 </Scene> 64 93 </Level> -
code/branches/presentationFS15/src/modules/weapons/projectiles/GravityBomb.cc
r10486 r10504 12 12 RegisterClass(GravityBomb); 13 13 14 const float GravityBomb::LIFETIME = 5; ///< The gravity bomb lifetime in seconds.14 const float GravityBomb::LIFETIME = 2.5; ///< The gravity bomb lifetime in seconds. 15 15 16 16 GravityBomb::GravityBomb(Context* context): … … 22 22 23 23 this->setMass(10.0); 24 this-> isDetonated_ = false;24 this->hasCollided_ = false; 25 25 if (GameMode::isMaster()) 26 26 { … … 67 67 void GravityBomb::tick(float dt) 68 68 { 69 timeToLife_ -= dt;70 if(timeToLife_ < 0)71 {72 //orxout(debug_output) << "bomb has stoped moving" <<endl;73 setVelocity(Vector3::ZERO); //Stop the bomb.74 isDetonated_ = true;75 }76 else77 {78 //orxout(debug_output)<< "Time to live:" << timeToLife_ <<endl;79 destroyCheck(); //Every BasicProjectil has to call this method in each tick.80 }81 if(isDetonated_) detonate();82 else SUPER(GravityBomb, tick, dt);69 SUPER(GravityBomb, tick, dt); 70 timeToLife_ -= dt; 71 if (timeToLife_ < 0) 72 { 73 //orxout(debug_output) << "bomb has stoped moving" <<endl; 74 setVelocity(Vector3::ZERO); //Stop the bomb. 75 detonate(); 76 this->destroy(); 77 } 78 else 79 { 80 if (hasCollided_) detonate(); 81 destroyCheck(); //Bomb is going to be destroyed by destroyCheck(). As written in BasicProectile, this Method should be called by every Projectile. 82 } 83 83 } 84 84 85 85 bool GravityBomb::collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint) 86 86 { 87 if(otherObject != getShooter()) //Ensure that the bomb cannot collide with its shooter. 88 { 89 orxout(debug_output) << "collides" << endl; 90 processCollision(otherObject, contactPoint,cs); 91 isDetonated_ = true; 92 return true; 93 } 94 else{ 95 //orxout(debug_output) << "collided with shooter. Has no effect..." << endl; 96 return false; 97 } 87 hasCollided_ = processCollision(otherObject, contactPoint, cs); 88 return hasCollided_; 98 89 } 99 90 … … 106 97 //orxout(debug_output) << "detonating. Creating GravityBombField." <<endl; 107 98 //orxout(debug_output) << "Field is at Position: " << getPosition() << endl; 108 this->destroy();109 99 } 110 100 } -
code/branches/presentationFS15/src/modules/weapons/projectiles/GravityBomb.h
r10487 r10504 48 48 static const float LIFETIME; 49 49 50 bool isDetonated_; //Used to check whether the Bomb has to be destroyed during next tick.50 bool hasCollided_; 51 51 float timeToLife_; //Time the bomb flies before it explodes. 52 52 WorldSound* bombSound_; -
code/branches/presentationFS15/src/modules/weapons/projectiles/GravityBombField.cc
r10486 r10504 16 16 const float GravityBombField::FORCE_FIELD_LIFETIME = 15; 17 17 const float GravityBombField::FORCE_SPHERE_START_RADIUS = 250; 18 const float GravityBombField::FORCE_SPHERE_START_STRENGTH = - 500;18 const float GravityBombField::FORCE_SPHERE_START_STRENGTH = -700; 19 19 const float GravityBombField::PEAK_EXPLOSION_FORCE = 5e4; 20 20 const float GravityBombField::FORCE_FIELD_EXPLOSION_DAMMAGE = 100; … … 40 40 41 41 //Make the Field visible on Radar and minimap. 42 this->setRadarObjectColour(ColourValue( 0.2, 0.2, 1.0,1)); // Blue42 this->setRadarObjectColour(ColourValue(1.0, 0.0, 0.2,1)); // Red 43 43 this->setRadarObjectShape(RadarViewable::Dot); 44 this->setRadarObjectScale( 0.5f);44 this->setRadarObjectScale(1.0f); 45 45 46 46 -
code/branches/presentationFS15/src/modules/weapons/weaponmodes/GravityBombFire.cc
r10486 r10504 19 19 RegisterClass(GravityBombFire); 20 20 21 const float GravityBombFire::BOMB_VELOCITY = 400.0; ///< The velocity of the bomb after launch21 const float GravityBombFire::BOMB_VELOCITY = 600.0; ///< The velocity of the bomb after launch 22 22 23 23 GravityBombFire::GravityBombFire(Context* context) : WeaponMode(context)
Note: See TracChangeset
for help on using the changeset viewer.