本文整理汇总了C++中Mission::getPlayer方法的典型用法代码示例。如果您正苦于以下问题:C++ Mission::getPlayer方法的具体用法?C++ Mission::getPlayer怎么用?C++ Mission::getPlayer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mission
的用法示例。
在下文中一共展示了Mission::getPlayer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: castingCallback_BASEVFF_Freefall
void castingCallback_BASEVFF_Freefall(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// build forced equipment
Virtues::Equipment equipment = selectBASEEquipment(
mission->getScene()->getCareer(),
mission->getScene()->getLocation()->getWindAmbient(),
mission->getScene()->getLocation()->getWindBlast()
);
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, &equipment ) );
// setup brief signature for player
mission->getPlayer()->setSignatureType( stBrief );
// cast instructor
new instructor::BASEInstructor02( mission->getPlayer() );
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
// play no music for this mission
Gameplay::iGameplay->stopSoundtrack();
}
示例2: castingCallback_AngelFallsFreeJump
void castingCallback_AngelFallsFreeJump(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalOpening( mission->getPlayer() );
new GoalBonus( mission->getPlayer(), Gameplay::iLanguage->getUnicodeString(533), btProgressive, 1.0f );
new GoalOpening( mission->getPlayer() );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_retry.ogg" );
}
示例3: castingCallback_OpenAir_SpiralFreefall
void castingCallback_OpenAir_SpiralFreefall(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// cast player smokejet
new SmokeJet( mission->getPlayer(), Vector4f( 1.0f, 1.0f, 0.25f, 1.0f ), ::sjmLeft );
// cast script
new script::OpenAir_TrackingPerformance_Script( mission->getPlayer() );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalSpiral( mission->getPlayer(), Vector3f( 0.0f, 0.0f, -1464 ) );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/lot of lie.ogg" );
}
示例4: castingCallback_OpenAir_6way
void castingCallback_OpenAir_6way(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// observation platform
Enclosure* observationPlatform = parent->getScene()->getExitPointEnclosure( 1 );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// select NPCs
std::vector<unsigned int> npcs;
selectNPCs( mission->getPlayer(), 0.51f, npcs );
// load first ghost
CatToy* catToy01 = CatToy::loadGhostCatToy( "./usr/cattoys/openair/6way01.cattoy" ); assert( catToy01 );
// cast ghost NPC
NPC* ghost01 = ::castGhostNPC( mission, exitPoint, catToy01, npcs ); assert( ghost01 );
// cast cameraman NPC for ghost
NPC* ghost01cameraman = ::castCameramanNPC( mission, exitPoint, ghost01->getJumper(), npcs ); assert( ghost01cameraman );
// load second ghost
CatToy* catToy02 = CatToy::loadGhostCatToy( "./usr/cattoys/openair/6way02.cattoy" ); assert( catToy02 );
// cast second ghost NPC
NPC* ghost02 = ::castGhostNPC( mission, observationPlatform, catToy02, npcs ); assert( ghost02 );
// cast cameraman NPC for second ghost
NPC* ghost02cameraman01 = ::castCameramanNPC( mission, observationPlatform, ghost02->getJumper(), npcs ); assert( ghost02cameraman01 );
// cast cameraman NPC for second ghost's cameraman ;)
NPC* ghost02cameraman02 = ::castCameramanNPC( mission, observationPlatform, ghost02cameraman01->getJumper(), npcs ); assert( ghost02cameraman02 );
// cast script
new script::OpenAir_6way_Script( mission->getPlayer(), ghost01 );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalBonus( mission->getPlayer(), Gameplay::iLanguage->getUnicodeString(533), btProgressive, 1.0f );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/lot of lie.ogg" );
}
示例5: castingCallback_OpenAir_PikeOfThrills
void castingCallback_OpenAir_PikeOfThrills(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// cast player smokejet
new SmokeJet( mission->getPlayer(), Vector4f( 0.25f, 1.0f, 0.25f, 1.0f ), ::sjmLeft );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalBonus( mission->getPlayer(), Gameplay::iLanguage->getUnicodeString(533), btProgressive, 2.0f );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/lot of lie.ogg" );
}
示例6: castingCallback_KjeragSmokeball_RGBSlalom01
void castingCallback_KjeragSmokeball_RGBSlalom01(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = mission->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
std::vector<SmokeBallDesc> smokeballs;
// define smokeball properties
SmokeBallDesc smokeBallDesc;
smokeBallDesc.radius = 2000.0f;
smokeBallDesc.numParticles = 256;
smokeBallDesc.particleMass = 0.25f;
smokeBallDesc.particleRadius = 1050.0f;
// cast blue smokeball
smokeBallDesc.color.set( 0.25f, 0.25f, 1.0f, 0.25f );
smokeBallDesc.center.set( 402966.3, 17037.2, -84710.0 );
smokeballs.push_back( smokeBallDesc );
// cast green smokeball
smokeBallDesc.color.set( 0.25f, 1.0f, 0.25f, 0.25f );
smokeBallDesc.center.set( 413899.6, 50471.1, -33701.9 );
smokeballs.push_back( smokeBallDesc );
// cast red smokeball
smokeBallDesc.color.set( 1.0f, 0.25f, 0.25f, 0.25f );
smokeBallDesc.center.set( 401765.3, 71406.1, -21030.7 );
smokeballs.push_back( smokeBallDesc );
// cast script
new script::Kjerag_RGBSlalom( mission->getPlayer() );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalSmokeball( mission->getPlayer(), smokeballs, 0.875f * mission->getPlayer()->getVirtues()->getMaximalBonusScore() );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
new GoalOpening( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_extinct.ogg" );
}
示例7: castingCallback_KVLY_IntervalJumps
void castingCallback_KVLY_IntervalJumps(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// select NPCs
std::vector<unsigned int> npcs;
selectNPCs( mission->getPlayer(), 0.51f, npcs );
// load first ghost & cast NPC
CatToy* catToy01 = CatToy::loadGhostCatToy( "./usr/cattoys/tvboogie/ij01.cattoy" ); assert( catToy01 );
NPC* ghost01 = ::castGhostNPC( mission, exitPoint, catToy01, npcs ); assert( ghost01 );
// load second ghost & cast NPC
CatToy* catToy02 = CatToy::loadGhostCatToy( "./usr/cattoys/tvboogie/ij02.cattoy" ); assert( catToy02 );
NPC* ghost02 = ::castGhostNPC( mission, exitPoint, catToy02, npcs ); assert( ghost02 );
// load third ghost & cast NPC
CatToy* catToy03 = CatToy::loadGhostCatToy( "./usr/cattoys/tvboogie/ij03.cattoy" ); assert( catToy03 );
NPC* ghost03 = ::castGhostNPC( mission, exitPoint, catToy03, npcs ); assert( ghost03 );
// load fourth ghost & cast NPC
CatToy* catToy04 = CatToy::loadGhostCatToy( "./usr/cattoys/tvboogie/ij04.cattoy" ); assert( catToy04 );
NPC* ghost04 = ::castGhostNPC( mission, exitPoint, catToy04, npcs ); assert( ghost04 );
// cast script
NPCL ghosts;
ghosts.push_back( ghost01 );
ghosts.push_back( ghost02 );
ghosts.push_back( ghost03 );
ghosts.push_back( ghost04 );
new script::KVLY_IntervalJumps( mission->getPlayer(), ghosts );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalBonus( mission->getPlayer(), Gameplay::iLanguage->getUnicodeString(533), btUnderground, 1.5f );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_extinct.ogg" );
}
示例8: castingCallback_OpenAir_FlipCount
void castingCallback_OpenAir_FlipCount(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalFlipCount( mission->getPlayer(), mission->getPlayer()->getVirtues()->getMaximalBonusScore() * 0.75f );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/lot of lie.ogg" );
}
示例9: castingCallback_GoFallField_BackflipBackforward
void castingCallback_GoFallField_BackflipBackforward(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// cast instructor
new instructor::BackFlipBackForwardInstructor( mission->getPlayer() );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_action.ogg" );
}
示例10: castingCallback_OpenAir_RGB_Spiral
void castingCallback_OpenAir_RGB_Spiral(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// smokeballs
std::vector<SmokeBallDesc> smokeballs;
// define smokeball properties
SmokeBallDesc smokeBallDesc;
smokeBallDesc.radius = 1500.0f;
smokeBallDesc.numParticles = 256;
smokeBallDesc.particleMass = 0.25f;
smokeBallDesc.particleRadius = 750.0f;
// green smokeball
smokeBallDesc.color.set( 0.25f, 1.0f, 0.25f, 0.25f );
smokeBallDesc.center.set( -621.8f, 42222.8f, -3112.1f );
smokeballs.push_back( smokeBallDesc );
// blue smokeball
smokeBallDesc.color.set( 0.25f, 0.25f, 1.0f, 0.25f );
smokeBallDesc.center.set( 3121.9f, 27289.0f, -2318.4f );
smokeballs.push_back( smokeBallDesc );
// cast red smokeball
smokeBallDesc.color.set( 1.0f, 0.25f, 0.25f, 0.25f );
smokeBallDesc.center.set( -141.1f, 16183.9f, 4816.4f );
smokeballs.push_back( smokeBallDesc );
// cast goals
new GoalLanding( mission->getPlayer() );
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalSmokeball( mission->getPlayer(), smokeballs, 1.0f * mission->getPlayer()->getVirtues()->getMaximalBonusScore() );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// cast script
new script::OpenAir_RGB_Script( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/lot of lie.ogg" );
}
示例11: castingCallback_OpenAir_Cameraman
void castingCallback_OpenAir_Cameraman(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// select NPCs
std::vector<unsigned int> npcs;
selectNPCs( mission->getPlayer(), 0.26f, npcs );
// load ghost
CatToy* catToy = CatToy::loadGhostCatToy( "./usr/cattoys/openair/cameraman01.cattoy" ); assert( catToy );
// cast ghost NPC
NPC* ghost = ::castGhostNPC( mission, exitPoint, catToy, npcs ); assert( ghost );
// cast script
new script::OpenAir_Cameraman_Script( mission->getPlayer(), ghost );
// footage goal descriptor
GoalFootageDescriptor footageDesc;
footageDesc.bad = GoalFootageDescriptor::RangeMark( 50.0f, 0.0f );
footageDesc.poor = GoalFootageDescriptor::RangeMark( 25.0f, 0.01f );
footageDesc.tolerable = GoalFootageDescriptor::RangeMark( 12.5f, 0.05f );
footageDesc.good = GoalFootageDescriptor::RangeMark( 6.25f, 0.125f );
footageDesc.fine = GoalFootageDescriptor::RangeMark( 0.0f, 0.5f );
footageDesc.timeFactor = 1.0f;
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalFootage( mission->getPlayer(), ghost, &footageDesc );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play no music for this mission
Gameplay::iGameplay->stopSoundtrack();
}
示例12: castingCallback_KjeragBoogie_HeliBASE3
void castingCallback_KjeragBoogie_HeliBASE3(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// cast helicopter object
AirplaneDesc airplaneDesc;
airplaneDesc.templateClump = parent->getScene()->findClump( "Helicopter01" ); assert( airplaneDesc.templateClump );
airplaneDesc.propellerFrame = "PropellerSound";
airplaneDesc.propellerSound = "./res/sounds/aircrafts/helicopter.ogg";
airplaneDesc.exitPointFrames.push_back( "HelicopterExit01" );
airplaneDesc.animationSpeed = 0.75f;
airplaneDesc.initAltitude = 0.0f;
airplaneDesc.lastAltitude = 0.0f;
airplaneDesc.loweringSpeed = 0.0f;
airplaneDesc.initOffset.set( -159876, 116000, 196040 );
airplaneDesc.initDirection.set( -0.8f, 0.0f, 0.4f );
airplaneDesc.initDirection.normalize();
Airplane* airplane = new Airplane( mission, &airplaneDesc );
// cast player on airplane
mission->setPlayer( new Jumper( mission, airplane, NULL, NULL, NULL, NULL ) );
// cast player smokejet
new SmokeJet( mission->getPlayer(), Vector4f( 1.0f, 1.0f, 0.25f, 1.0f ), ::sjmLeft );
new SmokeJet( mission->getPlayer(), Vector4f( 0.25f, 1.0f, 0.25f, 1.0f ), ::sjmRight );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalBonus( mission->getPlayer(), Gameplay::iLanguage->getUnicodeString(533), btProgressive, 2.0f );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
new GoalOpening( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_insectosound.ogg" );
}
示例13: castingCallback_TrollSmokeball_RGB_Tracking
void castingCallback_TrollSmokeball_RGB_Tracking(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// smokeballs
std::vector<SmokeBallDesc> smokeballs;
// define smokeball properties
SmokeBallDesc smokeBallDesc;
smokeBallDesc.radius = 2000.0f;
smokeBallDesc.numParticles = 256;
smokeBallDesc.particleMass = 0.25f;
smokeBallDesc.particleRadius = 875.0f;
// green smokeball
smokeBallDesc.color.set( 0.25f, 1.0f, 0.25f, 0.25f );
smokeBallDesc.center.set( 23205.9f, 141698.1f, 21659.0f );
smokeballs.push_back( smokeBallDesc );
// blue smokeball
smokeBallDesc.color.set( 0.25f, 0.25f, 1.0f, 0.25f );
smokeBallDesc.center.set( -25721.1f, 96578.7f, 27820.2f );
smokeballs.push_back( smokeBallDesc );
// cast red smokeball
smokeBallDesc.color.set( 1.0f, 0.25f, 0.25f, 0.25f );
smokeBallDesc.center.set( -66936.4f, 65688.4f, -15831.8f );
smokeballs.push_back( smokeBallDesc );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalSmokeball( mission->getPlayer(), smokeballs, 1.5f * mission->getPlayer()->getVirtues()->getMaximalBonusScore() );
// cast script
new script::TrollSmokeball_RGB_Script( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_insectosound.ogg" );
}
示例14: castingCallback_BASEVFF_Lineovers
void castingCallback_BASEVFF_Lineovers(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// cast helicopter (cut'ed version, single exit)
AirplaneDesc airplaneDesc;
airplaneDesc.templateClump = parent->getScene()->findClump( "Helicopter01" ); assert( airplaneDesc.templateClump );
airplaneDesc.propellerFrame = "PropellerSound";
airplaneDesc.propellerSound = "./res/sounds/aircrafts/helicopter.ogg";
airplaneDesc.exitPointFrames.push_back( "HelicopterExit01" );
airplaneDesc.animationSpeed = 0.75f;
airplaneDesc.initAltitude = 30000.0f;
airplaneDesc.lastAltitude = 500.0f;
airplaneDesc.loweringSpeed = 500.0f;
Airplane* airplane = new Airplane( mission, &airplaneDesc );
// build forced equipment
Virtues::Equipment equipment = selectBASEEquipment(
mission->getScene()->getCareer(),
mission->getScene()->getLocation()->getWindAmbient(),
mission->getScene()->getLocation()->getWindBlast()
);
// enable malfuctions and select 42` pilotchute
equipment.malfunctions = true;
equipment.pilotchute = 2;
// cast player on airplane
mission->setPlayer( new Jumper( mission, airplane, NULL, NULL, NULL, &equipment ) );
// setup brief signature for player
mission->getPlayer()->setSignatureType( stBrief );
// cast instructor
new instructor::BASEInstructor04( mission->getPlayer() );
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_action.ogg" );
}
示例15: castingCallback_KjeragBoogie_Proxi
void castingCallback_KjeragBoogie_Proxi(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// exit point
Enclosure* exitPoint = mission->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// cast player smokejet
new SmokeJet( mission->getPlayer(), Vector4f( 1.0f, 0.25f, 0.25f, 1.0f ), ::sjmLeft );
// cast script
new script::Kjerag_Proxi( mission->getPlayer() );
// descriptor of proximity goal
GoalProximityDescriptor proximityDesc;
proximityDesc.range0 = GoalProximityDescriptor::RangeMark( 50.0f, 0.05f );
proximityDesc.range1 = GoalProximityDescriptor::RangeMark( 25.0f, 0.1f );
proximityDesc.range2 = GoalProximityDescriptor::RangeMark( 10.0f, 0.25f );
proximityDesc.range3 = GoalProximityDescriptor::RangeMark( 5.0f, 0.5f );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalProximity( mission->getPlayer(), &proximityDesc );
new GoalFreeFallTime( mission->getPlayer() );
new GoalOpening( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_insectosound.ogg" );
}