这篇教程C++ IsOnFire函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中IsOnFire函数的典型用法代码示例。如果您正苦于以下问题:C++ IsOnFire函数的具体用法?C++ IsOnFire怎么用?C++ IsOnFire使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了IsOnFire函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetChunkXvoid cMonster::HandleDaylightBurning(cChunk & a_Chunk){ if (!m_BurnsInDaylight) { return; } int RelY = (int)floor(GetPosY()); if ((RelY < 0) || (RelY >= cChunkDef::Height)) { // Outside the world return; } int RelX = (int)floor(GetPosX()) - GetChunkX() * cChunkDef::Width; int RelZ = (int)floor(GetPosZ()) - GetChunkZ() * cChunkDef::Width; if ( (a_Chunk.GetSkyLight(RelX, RelY, RelZ) == 15) && // In the daylight (a_Chunk.GetBlock(RelX, RelY, RelZ) != E_BLOCK_SOULSAND) && // Not on soulsand (GetWorld()->GetTimeOfDay() < (12000 + 1000)) && // It is nighttime !IsOnFire() // Not already burning ) { // Burn for 100 ticks, then decide again StartBurning(100); }}
开发者ID:Noraaron1,项目名称:MCServer,代码行数:27,
示例2: GatherGrenadeConditionsvoid CNPC_Zombine::GatherGrenadeConditions( void ){ if ( m_iGrenadeCount <= 0 ) return; if ( g_flZombineGrenadeTimes > gpGlobals->curtime ) return; if ( m_flGrenadePullTime > gpGlobals->curtime ) return; if ( m_flSuperFastAttackTime >= gpGlobals->curtime ) return; if ( HasGrenade() ) return; if ( GetEnemy() == NULL ) return; if ( FVisible( GetEnemy() ) == false ) return; if ( IsSprinting() ) return; if ( IsOnFire() ) return; if ( IsRunningDynamicInteraction() == true ) return; if ( m_ActBusyBehavior.IsActive() ) return; CBasePlayer *pPlayer = AI_GetSinglePlayer(); if ( pPlayer && pPlayer->FVisible( this ) ) { float flLengthToPlayer = (pPlayer->GetAbsOrigin() - GetAbsOrigin()).Length(); float flLengthToEnemy = flLengthToPlayer; if ( pPlayer != GetEnemy() ) { flLengthToEnemy = ( GetEnemy()->GetAbsOrigin() - GetAbsOrigin()).Length(); } if ( flLengthToPlayer <= GRENADE_PULL_MAX_DISTANCE && flLengthToEnemy <= GRENADE_PULL_MAX_DISTANCE ) { float flPullChance = 1.0f - ( flLengthToEnemy / GRENADE_PULL_MAX_DISTANCE ); m_flGrenadePullTime = gpGlobals->curtime + 0.5f; if ( flPullChance >= random->RandomFloat( 0.0f, 1.0f ) ) { g_flZombineGrenadeTimes = gpGlobals->curtime + 10.0f; SetCondition( COND_ZOMBINE_GRENADE ); } } }}
开发者ID:Baer42,项目名称:source-sdk-2013,代码行数:60,
示例3: DeathSound//=========================================================// DeathSound //=========================================================void CNPC_Houndeye::DeathSound(void){ if (IsOnFire()) return; EmitSound( "NPC_Houndeye.Die" );}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:10,
示例4: PainSound//=========================================================// PainSound //=========================================================void CNPC_Houndeye::PainSound(void){ if (IsOnFire()) return; EmitSound( "NPC_Houndeye.Pain" );}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:10,
示例5: MoanSound//---------------------------------------------------------// Classic zombie only uses moan sound if on fire.//---------------------------------------------------------void CRebelZombie::MoanSound( envelopePoint_t *pEnvelope, int iEnvelopeSize ){ if( IsOnFire() ) { BaseClass::MoanSound( pEnvelope, iEnvelopeSize ); }}
开发者ID:KyleGospo,项目名称:City-17-Episode-One-Source,代码行数:10,
示例6: GetChunkZvoid cMonster::HandleDaylightBurning(cChunk & a_Chunk, bool WouldBurn){ if (!m_BurnsInDaylight) { return; } int RelY = POSY_TOINT; if ((RelY < 0) || (RelY >= cChunkDef::Height)) { // Outside the world return; } if (!a_Chunk.IsLightValid()) { m_World->QueueLightChunk(GetChunkX(), GetChunkZ()); return; } if (!IsOnFire() && WouldBurn) { // Burn for 100 ticks, then decide again StartBurning(100); }}
开发者ID:4264,项目名称:cuberite,代码行数:25,
示例7: PainSound//------------------------------------------------------------------------------//------------------------------------------------------------------------------void CNPC_Monk::PainSound( const CTakeDamageInfo &info ){ if (IsOnFire()) return; SpeakIfAllowed( TLK_WOUND );}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:9,
示例8: GetChunkXvoid cMonster::HandleDaylightBurning(cChunk & a_Chunk){ if (!m_BurnsInDaylight) { return; } int RelY = POSY_TOINT; if ((RelY < 0) || (RelY >= cChunkDef::Height)) { // Outside the world return; } int RelX = POSX_TOINT - GetChunkX() * cChunkDef::Width; int RelZ = POSZ_TOINT - GetChunkZ() * cChunkDef::Width; if (!a_Chunk.IsLightValid()) { m_World->QueueLightChunk(GetChunkX(), GetChunkZ()); return; } if ( (a_Chunk.GetSkyLight(RelX, RelY, RelZ) == 15) && // In the daylight (a_Chunk.GetBlock(RelX, RelY, RelZ) != E_BLOCK_SOULSAND) && // Not on soulsand (GetWorld()->GetTimeOfDay() < (12000 + 1000)) && // It is nighttime !IsOnFire() && // Not already burning (GetWorld()->GetWeather() != eWeather_Rain) // Not raining ) { // Burn for 100 ticks, then decide again StartBurning(100); }}
开发者ID:axisd,项目名称:MCServer,代码行数:35,
示例9: switchvoid CNPC_Zombine::RunTask( const Task_t *pTask ){ switch ( pTask->iTask ) { case TASK_WAIT_FOR_MOVEMENT_STEP: case TASK_WAIT_FOR_MOVEMENT: { BaseClass::RunTask( pTask ); if ( IsOnFire() && IsSprinting() ) { StopSprint(); } //Only do this if I have an enemy if ( GetEnemy() ) { if ( AllowedToSprint() == true ) { Sprint( ( GetHealth() <= GetMaxHealth() * 0.5f ) ); return; } if ( HasGrenade() ) { if ( IsSprinting() ) { GetNavigator()->SetMovementActivity( (Activity)ACT_ZOMBINE_GRENADE_RUN ); } else { GetNavigator()->SetMovementActivity( (Activity)ACT_ZOMBINE_GRENADE_WALK ); } return; } if ( GetNavigator()->GetMovementActivity() != ACT_WALK ) { if ( IsSprinting() == false ) { GetNavigator()->SetMovementActivity( ACT_WALK ); } } } else { GetNavigator()->SetMovementActivity( ACT_WALK ); } break; } default: { BaseClass::RunTask( pTask ); break; } }}
开发者ID:Baer42,项目名称:source-sdk-2013,代码行数:59,
示例10: DeathSound//------------------------------------------------------------------------------//------------------------------------------------------------------------------void CNPC_Fisherman::DeathSound( const CTakeDamageInfo &info ){ if (IsOnFire()) return; // Sentences don't play on dead NPCs SentenceStop();}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:10,
示例11: AllowedToSprintbool CNPC_Zombine::AllowedToSprint( void ){ if ( IsOnFire() ) return false; //If you're sprinting then there's no reason to sprint again. if ( IsSprinting() ) return false; int iChance = SPRINT_CHANCE_VALUE; //Secobmod FixMe ?? also changed to HL2MPRules CHL2_Player *pPlayer = dynamic_cast <CHL2_Player*> ( UTIL_GetNearestPlayer(GetAbsOrigin() )); //CHL2MP_Player *pPlayer = dynamic_cast<CHL2MP_Player *>( UTIL_GetNearestPlayer(GetAbsOrigin() ); if ( pPlayer ) {#ifdef MFS if ( HL2MPRules()->IsAlyxInDarknessMode() && pPlayer->FlashlightIsOn() == false )#else if (IsAlyxInDarknessMode() && pPlayer->FlashlightIsOn() == false)#endif { iChance = SPRINT_CHANCE_VALUE_DARKNESS; } //Bigger chance of this happening if the player is not looking at the zombie if ( pPlayer->FInViewCone( this ) == false ) { iChance *= 2; } } if ( HasGrenade() ) { iChance *= 4; } //Below 25% health they'll always sprint if ( ( GetHealth() > GetMaxHealth() * 0.5f ) ) { if ( IsStrategySlotRangeOccupied( SQUAD_SLOT_ZOMBINE_SPRINT1, SQUAD_SLOT_ZOMBINE_SPRINT2 ) == true ) return false; if ( random->RandomInt( 0, 100 ) > iChance ) return false; if ( m_flSprintRestTime > gpGlobals->curtime ) return false; } float flLength = ( GetEnemy()->WorldSpaceCenter() - WorldSpaceCenter() ).Length(); if ( flLength > MAX_SPRINT_DISTANCE ) return false; return true;}
开发者ID:WorldGamers,项目名称:Mobile-Forces-Source,代码行数:58,
示例12: infobool CASW_Parasite::CheckInfestTarget( CBaseEntity *pOther ){ if (m_flDamageImmuneUntil >= gpGlobals->curtime) { // no fair infesting while we're invulnerable. return false; } CASW_Marine* pMarine = CASW_Marine::AsMarine( pOther ); if ( pMarine ) { // if marine has electrified armour on, that protects him from infestation if ( pMarine->IsElectrifiedArmorActive() ) { CTakeDamageInfo info( NULL, NULL, Vector(0,0,0), GetAbsOrigin(), GetHealth() * 2, DMG_SHOCK ); TakeDamage(info); return false; } if ( pMarine->m_takedamage == DAMAGE_NO ) { // We're in the death cam... no fair infesting there return false; } if ( IsOnFire() ) { // don't actually infest if we're on fire, since we'll die very shortly return false; } if ( pMarine->m_iJumpJetting.Get() != 0 ) { // marine is in the middle of a jump jet or blink, don't infest him return false; } return true; } else if ( pOther->Classify() == CLASS_ASW_COLONIST ) { return !IsOnFire(); } return false;}
开发者ID:BenLubar,项目名称:SwarmDirector2,代码行数:44,
示例13: AddRandomDropItemvoid cCow::GetDrops(cItems & a_Drops, cEntity * a_Killer){ unsigned int LootingLevel = 0; if (a_Killer != nullptr) { LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting); } AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_LEATHER); AddRandomDropItem(a_Drops, 1, 3 + LootingLevel, IsOnFire() ? E_ITEM_STEAK : E_ITEM_RAW_BEEF);}
开发者ID:36451,项目名称:MCServer,代码行数:10,
示例14: AddRandomDropItemvoid cChicken::GetDrops(cItems & a_Drops, cEntity * a_Killer){ int LootingLevel = 0; if (a_Killer != nullptr) { LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting); } AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_FEATHER); AddRandomDropItem(a_Drops, 1, 1, IsOnFire() ? E_ITEM_COOKED_CHICKEN : E_ITEM_RAW_CHICKEN);}
开发者ID:DjKiDD,项目名称:MCServer,代码行数:10,
示例15: DeathSound//------------------------------------------------------------------------------//------------------------------------------------------------------------------void CNPC_Monk::DeathSound( const CTakeDamageInfo &info ){ if (IsOnFire()) return; // Sentences don't play on dead NPCs SentenceStop(); Speak( TLK_DEATH );}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:12,
示例16: PainSound//-----------------------------------------------------------------------------// Purpose: //-----------------------------------------------------------------------------void CRebelZombie::PainSound( const CTakeDamageInfo &info ){ // We're constantly taking damage when we are on fire. Don't make all those noises! if ( IsOnFire() ) { return; } EmitSound( "Zombie.Pain" );}
开发者ID:KyleGospo,项目名称:City-17-Episode-One-Source,代码行数:13,
示例17: Tickvoid cZombie::Tick(float a_Dt, cChunk & a_Chunk){ super::Tick(a_Dt, a_Chunk); // TODO Same as in cSkeleton :D if ((GetWorld()->GetTimeOfDay() < (12000 + 1000)) && !IsOnFire()) { // Burn for 10 ticks, then decide again StartBurning(10); }}
开发者ID:Xury,项目名称:MCServer,代码行数:11,
示例18: DeathSoundvoid CNPC_CombineS::DeathSound( const CTakeDamageInfo &info ){ // NOTE: The response system deals with this at the moment if ( GetFlags() & FL_DISSOLVING ) return; if (IsOnFire()) return; GetSentences()->Speak( "COMBINE_DIE", SENTENCE_PRIORITY_INVALID, SENTENCE_CRITERIA_ALWAYS ); }
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:11,
示例19: PainSoundvoid CZombie::PainSound( const CTakeDamageInfo &info ){ // We're constantly taking damage when we are on fire. Don't make all those noises! if ( IsOnFire() ) return; if(m_iZombieType == ZOMBIE_BISOU) EmitSound( "Zombie.Bisou.Pain" ); else EmitSound( "Zombie.Pain" );}
开发者ID:Orygin,项目名称:BisounoursParty,代码行数:11,
示例20: InfestColonistvoid CASW_Parasite::InfestColonist(CASW_Colonist* pColonist){ if (m_bDefanged || !pColonist) // no infesting if we've been defanged return; if (!IsOnFire()) // don't actually infest if we're on fire, since we'll die very shortly pColonist->BecomeInfested(this); // attach int attachment = pColonist->LookupAttachment( "chest" ); if ( attachment ) { //SetAbsAngles( GetOwnerEntity()->GetAbsAngles() ); SetSolid( SOLID_NONE ); SetMoveType( MOVETYPE_NONE ); QAngle current(0,0,0); Vector diff = pColonist->GetAbsOrigin() - GetAbsOrigin(); float angle = UTIL_VecToYaw(diff); angle -= pColonist->GetAbsAngles()[YAW]; // get the diff between our angle from the marine and the marine's facing; current = GetAbsAngles(); SetParent( pColonist, attachment ); Vector vecPosition; float fRaise = random->RandomFloat(0,20); SetLocalOrigin( Vector( -fRaise * 0.2f, 0, fRaise ) ); SetLocalAngles( QAngle( 0, angle + asw_infest_angle.GetFloat(), 0 ) ); // play our infesting anim if ( asw_parasite_inside.GetBool() ) { SetActivity(ACT_RANGE_ATTACK2); } else { int iInfestAttack = LookupSequence("Infest_attack"); if (GetSequence() != iInfestAttack) { ResetSequence(iInfestAttack); } } // don't do anymore thinking - need to think still to animate? AddFlag( FL_NOTARGET ); SetThink( &CASW_Parasite::InfestThink ); SetTouch( NULL ); m_bInfesting = true; } else { FinishedInfesting(); } }
开发者ID:detoxhby,项目名称:SwarmDirector2,代码行数:53,
示例21: AddRandomDropItemvoid cPig::GetDrops(cItems & a_Drops, cEntity * a_Killer){ int LootingLevel = 0; if (a_Killer != NULL) { LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting); } AddRandomDropItem(a_Drops, 1, 3 + LootingLevel, IsOnFire() ? E_ITEM_COOKED_PORKCHOP : E_ITEM_RAW_PORKCHOP); if (m_bIsSaddled) { a_Drops.push_back(cItem(E_ITEM_SADDLE, 1)); }}
开发者ID:ChriPiv,项目名称:MCServer,代码行数:13,
示例22: ifvoid cPlayer::TickBurning(cChunk & a_Chunk){ // Don't burn in creative and stop burning in creative if necessary if (!IsGameModeCreative()) { super::TickBurning(a_Chunk); } else if (IsOnFire()) { m_TicksLeftBurning = 0; OnFinishedBurning(); }}
开发者ID:Kortak,项目名称:MCServer,代码行数:13,
示例23: MoveToPositionvoid cSkeleton::MoveToPosition(const Vector3d & a_Position){ // If the destination is sufficiently skylight challenged AND the skeleton isn't on fire then block the movement if ( !IsOnFire() && (m_World->GetBlockSkyLight((int)floor(a_Position.x), (int)floor(a_Position.y), (int)floor(a_Position.z)) - m_World->GetSkyDarkness() > 8) ) { m_bMovingToDestination = false; return; } super::MoveToPosition(a_Position);}
开发者ID:christopher-montagna,项目名称:MCServer,代码行数:14,
示例24: AddRandomDropItemvoid cSheep::GetDrops(cItems & a_Drops, cEntity * a_Killer){ if (!m_IsSheared) { a_Drops.push_back(cItem(E_BLOCK_WOOL, 1, m_WoolColor)); } int LootingLevel = 0; if (a_Killer != NULL) { LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting); } AddRandomDropItem(a_Drops, 1, 3 + LootingLevel, IsOnFire() ? E_ITEM_MUTTON : E_ITEM_RAW_MUTTON);}
开发者ID:Floppy012,项目名称:MCServer,代码行数:14,
示例25: AddRandomDropItemvoid cMooshroom::GetDrops(cItems & a_Drops, cEntity * a_Killer){ if (IsBaby()) { return; // Babies don't drop items } unsigned int LootingLevel = 0; if (a_Killer != nullptr) { LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting); } AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_LEATHER); AddRandomDropItem(a_Drops, 1, 3 + LootingLevel, IsOnFire() ? E_ITEM_STEAK : E_ITEM_RAW_BEEF);}
开发者ID:UltraCoderRU,项目名称:MCServer,代码行数:15,
示例26: MoveToPositionvoid cSkeleton::MoveToPosition(const Vector3f & a_Position){ // If the destination is in the sun and if it is not night AND the skeleton isn't on fire then block the movement. if ( !IsOnFire() && (m_World->GetTimeOfDay() < 13187) && (m_World->GetBlockSkyLight((int) a_Position.x, (int) a_Position.y, (int) a_Position.z) == 15) ) { m_bMovingToDestination = false; return; } super::MoveToPosition(a_Position);}
开发者ID:Kortak,项目名称:MCServer,代码行数:15,
示例27: WorldSpaceCenter//-----------------------------------------------------------------------------// Purpose: // Input: // Output: //-----------------------------------------------------------------------------bool CASW_Boomer::CorpseGib( const CTakeDamageInfo &info ){ CEffectData data; m_LagCompensation.UndoLaggedPosition(); data.m_vOrigin = WorldSpaceCenter(); data.m_vNormal = data.m_vOrigin - info.GetDamagePosition(); VectorNormalize( data.m_vNormal ); data.m_flScale = RemapVal( m_iHealth, 0, 3, 0.5f, 2 ); data.m_nColor = m_nSkin; data.m_fFlags = IsOnFire() ? ASW_GIBFLAG_ON_FIRE : 0; return true;}
开发者ID:jtanx,项目名称:ch1ckenscoop,代码行数:21,
示例28: Ignitevoid CZombie::Ignite( float flFlameLifetime, bool bNPCOnly, float flSize, bool bCalledByLevelDesigner ){ if( !IsOnFire() && IsAlive() ) { BaseClass::Ignite( flFlameLifetime, bNPCOnly, flSize, bCalledByLevelDesigner ); RemoveSpawnFlags( SF_NPC_GAG ); MoanSound( envZombieMoanIgnited, ARRAYSIZE( envZombieMoanIgnited ) ); if ( m_pMoanSound ) { ENVELOPE_CONTROLLER.SoundChangePitch( m_pMoanSound, 120, 1.0 ); ENVELOPE_CONTROLLER.SoundChangeVolume( m_pMoanSound, 1, 1.0 ); } }}
开发者ID:Orygin,项目名称:BisounoursParty,代码行数:17,
示例29: GetLookVectorvoid cArrowEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos){ super::OnHitEntity(a_EntityHit, a_HitPos); int Damage = static_cast<int>(GetSpeed().Length() / 20 * m_DamageCoeff + 0.5); if (m_IsCritical) { Damage += m_World->GetTickRandomNumber(Damage / 2 + 2); } unsigned int PowerLevel = m_CreatorData.m_Enchantments.GetLevel(cEnchantments::enchPower); if (PowerLevel > 0) { int ExtraDamage = static_cast<int>(ceil(0.25 * (PowerLevel + 1))); Damage += ExtraDamage; } // int KnockbackAmount = 1; unsigned int PunchLevel = m_CreatorData.m_Enchantments.GetLevel(cEnchantments::enchPunch); if (PunchLevel > 0) { Vector3d LookVector = GetLookVector(); Vector3f FinalSpeed = Vector3f(0, 0, 0); switch (PunchLevel) { case 1: FinalSpeed = LookVector * Vector3d(5, 0.3, 5); break; case 2: FinalSpeed = LookVector * Vector3d(8, 0.3, 8); break; default: break; } a_EntityHit.SetSpeed(FinalSpeed); } // a_EntityHit.TakeDamage(dtRangedAttack, this, Damage, KnockbackAmount); // TODO fix knockback. a_EntityHit.TakeDamage(dtRangedAttack, this, Damage, 0); // Until knockback is fixed. if (IsOnFire() && !a_EntityHit.IsSubmerged() && !a_EntityHit.IsSwimming()) { a_EntityHit.StartBurning(100); } // Broadcast successful hit sound GetWorld()->BroadcastSoundEffect("random.successful_hit", GetPosX(), GetPosY(), GetPosZ(), 0.5, static_cast<float>(0.75 + (static_cast<float>((GetUniqueID() * 23) % 32)) / 64)); Destroy();}
开发者ID:Haxi52,项目名称:cuberite,代码行数:45,
示例30: AddRandomDropItemvoid cPig::GetDrops(cItems & a_Drops, cEntity * a_Killer){ if (IsBaby()) { return; // Babies don't drop items } unsigned int LootingLevel = 0; if (a_Killer != nullptr) { LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting); } AddRandomDropItem(a_Drops, 1, 3 + LootingLevel, IsOnFire() ? E_ITEM_COOKED_PORKCHOP : E_ITEM_RAW_PORKCHOP); if (m_bIsSaddled) { a_Drops.push_back(cItem(E_ITEM_SADDLE, 1)); }}
开发者ID:ThuGie,项目名称:MCServer,代码行数:18,
注:本文中的IsOnFire函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ IsOnGMPThread函数代码示例 C++ IsOn函数代码示例 |