您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ AssistPlayerInCombat函数代码示例

51自学网 2021-06-01 19:48:06
  C++
这篇教程C++ AssistPlayerInCombat函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AssistPlayerInCombat函数的典型用法代码示例。如果您正苦于以下问题:C++ AssistPlayerInCombat函数的具体用法?C++ AssistPlayerInCombat怎么用?C++ AssistPlayerInCombat使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了AssistPlayerInCombat函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: GetScript

void 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: MoveInLineOfSight

void 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: MoveInLineOfSight

void 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: MoveInLineOfSight

void 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: CheckForHelp

void 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: MoveInLineOfSight

void 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: MoveInLineOfSight

void 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: MoveInLineOfSight

void 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: GetScript

void SmartAI::MoveInLineOfSight(Unit* who){    if (!who)        return;    GetScript()->OnMoveInLineOfSight(who);    if (AssistPlayerInCombat(who))        return;    CreatureAI::MoveInLineOfSight(who);}
开发者ID:DraenorCore,项目名称:DraenorCore,代码行数:12,


示例10: MoveInLineOfSight

void 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: GetScript

void 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: GetScript

void 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。