这篇教程C++ AssistPlayerInCombat函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中AssistPlayerInCombat函数的典型用法代码示例。如果您正苦于以下问题:C++ AssistPlayerInCombat函数的具体用法?C++ AssistPlayerInCombat怎么用?C++ AssistPlayerInCombat使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了AssistPlayerInCombat函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetScriptvoid SmartAI::MoveInLineOfSight(Unit* who){ if (!who) return; GetScript()->OnMoveInLineOfSight(who); if (me->HasReactState(REACT_PASSIVE) || AssistPlayerInCombat(who)) return; if (!CanAIAttack(who)) return; if (!me->canStartAttack(who, false)) return; if (me->IsHostileTo(who)) { float fAttackRadius = me->GetAttackDistance(who); if (me->IsWithinDistInMap(who, fAttackRadius) && me->IsWithinLOSInMap(who)) { if (!me->getVictim()) { who->RemoveAurasByType(SPELL_AURA_MOD_STEALTH); AttackStart(who); } else/* if (me->GetMap()->IsDungeon())*/ { who->SetInCombatWith(me); me->AddThreat(who, 0.0f); } } }}
开发者ID:AdrElecTro,项目名称:TrinityCore,代码行数:34,
示例2: MoveInLineOfSightvoid npc_escortAI::MoveInLineOfSight(Unit* pWho){ if (pWho->isTargetableForAttack() && pWho->isInAccessablePlaceFor(m_creature)) { // AssistPlayerInCombat can start attack, so return if true if (HasEscortState(STATE_ESCORT_ESCORTING) && AssistPlayerInCombat(pWho)) return; if (!m_creature->CanInitiateAttack()) return; if (!m_creature->CanFly() && m_creature->GetDistanceZ(pWho) > CREATURE_Z_ATTACK_RANGE) return; if (m_creature->IsHostileTo(pWho)) { float fAttackRadius = m_creature->GetAttackDistance(pWho); if (m_creature->IsWithinDistInMap(pWho, fAttackRadius) && m_creature->IsWithinLOSInMap(pWho)) { if (!m_creature->getVictim()) { pWho->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); AttackStart(pWho); } else if (m_creature->GetMap()->IsDungeon()) { pWho->SetInCombatWith(m_creature); m_creature->AddThreat(pWho); } } } }}
开发者ID:Naincapable,项目名称:scriptdev2,代码行数:33,
示例3: MoveInLineOfSightvoid FollowerAI::MoveInLineOfSight(Unit* pWho){ if (m_creature->CanInitiateAttack() && pWho->isTargetableForAttack() && pWho->isInAccessablePlaceFor(m_creature)) { if (HasFollowState(STATE_FOLLOW_INPROGRESS) && AssistPlayerInCombat(pWho)) return; // if (!m_creature->canFly() && m_creature->GetDistanceZ(pWho) > CREATURE_Z_ATTACK_RANGE) // return; if (m_creature->IsHostileTo(pWho)) { float fAttackRadius = m_creature->GetAttackDistance(pWho); if (m_creature->IsWithinDistInMap(pWho, fAttackRadius) && m_creature->IsWithinLOSInMap(pWho)) { if (!m_creature->getVictim()) { pWho->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); AttackStart(pWho); } else if (m_creature->GetMap()->IsDungeon()) { pWho->SetInCombatWith(m_creature); m_creature->AddThreat(pWho); } } } }}
开发者ID:sd0,项目名称:scriptdevzero,代码行数:29,
示例4: MoveInLineOfSightvoid npc_escortAI::MoveInLineOfSight(Unit* who){ if (!me->HasUnitState(UNIT_STATE_STUNNED) && who->isTargetableForAttack() && who->isInAccessiblePlaceFor(me)) { if (HasEscortState(STATE_ESCORT_ESCORTING) && AssistPlayerInCombat(who)) return; if (!me->CanFly() && me->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) return; if (me->IsHostileTo(who)) { float fAttackRadius = me->GetAttackDistance(who); if (me->IsWithinDistInMap(who, fAttackRadius) && me->IsWithinLOSInMap(who)) { if (!me->getVictim()) { who->RemoveAurasByType(SPELL_AURA_MOD_STEALTH); AttackStart(who); } else if (me->GetMap()->IsDungeon()) { who->SetInCombatWith(me); me->AddThreat(who, 0.0f); } } } }}
开发者ID:S-proyect,项目名称:Emu-S,代码行数:29,
示例5: CheckForHelpvoid UnitAI::MoveInLineOfSight(Unit* who){ if (!HasReactState(REACT_AGGRESSIVE)) return; if (!m_unit->CanFly() && m_unit->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) return; if (m_unit->getVictim() && !m_unit->GetMap()->IsDungeon()) return; if (m_unit->IsNeutralToAll()) return; if (who->GetObjectGuid().IsCreature() && who->isInCombat()) CheckForHelp(who, m_unit, 10.0); if (m_unit->CanInitiateAttack() && who->isInAccessablePlaceFor(m_unit)) { if (AssistPlayerInCombat(who)) return; if (m_unit->CanAttackOnSight(who)) DetectOrAttack(who); }}
开发者ID:michalpolko,项目名称:cmangos,代码行数:26,
示例6: MoveInLineOfSightvoid FollowerAI::MoveInLineOfSight(Unit* pWho){ if (!me->HasUnitState(UNIT_STAT_STUNNED) && pWho->isTargetableForAttack() && pWho->isInAccessiblePlaceFor(me)) { if (HasFollowState(STATE_FOLLOW_INPROGRESS) && AssistPlayerInCombat(pWho)) return; if (!me->canFly() && me->GetDistanceZ(pWho) > CREATURE_Z_ATTACK_RANGE) return; if (me->IsHostileTo(pWho)) { float fAttackRadius = me->GetAttackDistance(pWho); if (me->IsWithinDistInMap(pWho, fAttackRadius) && me->IsWithinLOSInMap(pWho)) { if (!me->getVictim()) { pWho->RemoveAurasByType(SPELL_AURA_MOD_STEALTH); AttackStart(pWho); } else if (me->GetMap()->IsDungeon()) { pWho->SetInCombatWith(me); me->AddThreat(pWho, 0.0f); } } } }}
开发者ID:Zakamurite,项目名称:TrilliumEMU,代码行数:29,
示例7: MoveInLineOfSightvoid FollowerAI::MoveInLineOfSight(Unit* who){ if (!me->HasUnitState(UNIT_STATE_STUNNED) && who->isTargetableForAttack() && who->isInAccessiblePlaceFor(me)) { if (HasFollowState(STATE_FOLLOW_INPROGRESS) && AssistPlayerInCombat(who)) return; if (!me->CanFly() && me->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) return; if (me->IsHostileTo(who)) { float fAttackRadius = me->GetAttackDistance(who); if (me->IsWithinDistInMap(who, fAttackRadius) && me->IsWithinLOSInMap(who)) { if (!me->GetVictim()) { // Clear distracted state on combat if (me->HasUnitState(UNIT_STATE_DISTRACTED)) { me->ClearUnitState(UNIT_STATE_DISTRACTED); me->GetMotionMaster()->Clear(); } AttackStart(who); } else if (me->GetMap()->IsDungeon()) { who->SetInCombatWith(me); me->AddThreat(who, 0.0f); } } } }}
开发者ID:FixCore,项目名称:335source,代码行数:35,
示例8: MoveInLineOfSightvoid npc_escortAI::MoveInLineOfSight(Unit* pWho){ if (!me->hasUnitState(UNIT_STAT_STUNNED) && pWho->isTargetableForAttack() && pWho->isInAccessiblePlacefor(me)) { if (!HasEscortState(STATE_ESCORT_ESCORTING)) // Xpearlis: No escort state, so ignore enemy return; if (HasEscortState(STATE_ESCORT_ESCORTING) && AssistPlayerInCombat(pWho)) return; if (!me->CanFly() && me->GetDistanceZ(pWho) > CREATURE_Z_ATTACK_RANGE) return; if (me->IsHostileTo(pWho) && IsActiveAttacker) { float fAttackRadius = me->GetAttackDistance(pWho); if (me->IsWithinDistInMap(pWho, fAttackRadius) && me->IsWithinLOSInMap(pWho)) { if (!me->getVictim()) { pWho->RemoveAurasDueToSpell(SPELL_AURA_MOD_STEALTH); AttackStart(pWho); } else if (me->GetMap()->IsDungeon()) { pWho->SetInCombatWith(me); me->AddThreat(pWho, 0.0f); } } } }}
开发者ID:Blumfield,项目名称:ptc2,代码行数:32,
示例9: GetScriptvoid SmartAI::MoveInLineOfSight(Unit* who){ if (!who) return; GetScript()->OnMoveInLineOfSight(who); if (AssistPlayerInCombat(who)) return; CreatureAI::MoveInLineOfSight(who);}
开发者ID:DraenorCore,项目名称:DraenorCore,代码行数:12,
示例10: MoveInLineOfSightvoid FollowerAI::MoveInLineOfSight(Unit* who){ if (me->GetVictim()) return; if (!me->HasUnitState(UNIT_STATE_STUNNED) && who->isTargetableForAttack(true, me) && who->isInAccessiblePlaceFor(me)) if (HasFollowState(STATE_FOLLOW_INPROGRESS) && AssistPlayerInCombat(who)) return; if (me->CanStartAttack(who)) AttackStart(who);}
开发者ID:Matt-One,项目名称:azerothcore-wotlk,代码行数:12,
示例11: GetScriptvoid SmartAI::MoveInLineOfSight(Unit* who){ if (!who) return; GetScript()->OnMoveInLineOfSight(who); if (me->GetVictim()) return; if (me->HasReactState(REACT_PASSIVE) || AssistPlayerInCombat(who)) return; if (me->CanStartAttack(who)) AttackStart(who);}
开发者ID:Matt-One,项目名称:azerothcore-wotlk,代码行数:16,
示例12: GetScriptvoid SmartAI::MoveInLineOfSight(Unit* who){ if (!who) return; GetScript()->OnMoveInLineOfSight(who); if (me->HasReactState(REACT_PASSIVE) || AssistPlayerInCombat(who)) return; if (!CanAIAttack(who)) return; if (!me->CanStartAttack(who, false)) return; if (me->IsHostileTo(who)) { float fAttackRadius = me->GetAttackDistance(who); if (me->IsWithinDistInMap(who, fAttackRadius) && me->IsWithinLOSInMap(who)) { if (!me->GetVictim()) { // Clear distracted state on combat if (me->HasUnitState(UNIT_STATE_DISTRACTED)) { me->ClearUnitState(UNIT_STATE_DISTRACTED); me->GetMotionMaster()->Clear(); } AttackStart(who); } else/* if (me->GetMap()->IsDungeon())*/ { who->SetInCombatWith(me); me->AddThreat(who, 0.0f); } } }}
开发者ID:Palabola,项目名称:WoD,代码行数:40,
注:本文中的AssistPlayerInCombat函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ At_sprintf函数代码示例 C++ AssignOutputVariable函数代码示例 |