本文整理匯總了C++中AttackStartNoMove函數的典型用法代碼示例。如果您正苦於以下問題:C++ AttackStartNoMove函數的具體用法?C++ AttackStartNoMove怎麽用?C++ AttackStartNoMove使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了AttackStartNoMove函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: AttackStart
void AttackStart(Unit* who)
{
if (Phase1)
AttackStartNoMove(who);
else
ScriptedAI::AttackStart(who);
}
示例2: AttackStartNoMove
void ScriptedAI::AttackStart(Unit* who)
{
if (IsCombatMovementAllowed())
CreatureAI::AttackStart(who);
else
AttackStartNoMove(who);
}
示例3: AttackStart
void AttackStart(Unit* pWho)
{
if (!pWho)
return;
AttackStartNoMove(pWho);
}
示例4: DoMeleeAttackIfReady
void DoMeleeAttackIfReady()
{
if (me->isAttackReady() && !me->IsNonMeleeSpellCasted(false))
{
if (me->IsWithinMeleeRange(me->getVictim()))
{
me->AttackerStateUpdate(me->getVictim());
me->resetAttackTimer();
}
else
{
Unit *pTarget = NULL;
pTarget = me->SelectNearestTarget(5);
if (pTarget)
{
if (Phase1)
AttackStartNoMove(pTarget);
else
ScriptedAI::AttackStart(pTarget);
}
else
{
me->CastSpell(me, SPELL_FLAME_BUFFET, true);
me->setAttackTimer(BASE_ATTACK, 3000);
}
}
}
}
示例5: AttackStart
void AttackStart(Unit* who)
{
if (!who)
return;
AttackStartNoMove(who);
}
示例6: AttackStart
void AttackStart(Unit* who)
{
if (!Intro && !Flying)
if (Phase == 1)
ScriptedAI::AttackStart(who);
else
AttackStartNoMove(who);
}
示例7: MoveInLineOfSight
void MoveInLineOfSight(Unit *who)
{
if (!Intro && !Flying)
if (!me->getVictim() && me->canStartAttack(who))
if (Phase == 1)
ScriptedAI::AttackStart(who);
else
AttackStartNoMove(who);
}
示例8: SentryDownBy
void SentryDownBy(Unit* pKiller)
{
if (sentryDown)
{
AttackStartNoMove(pKiller);
sentryDown = false;
}
else
sentryDown = true;
}
示例9: AttackStartNoMove
void ScriptedAI::AttackStart(Unit* pWho, bool melee)
{
if (!pWho)
return;
if (!melee)
AttackStartNoMove(pWho);
else
AttackStart(pWho);
}
示例10: JustSummoned
void JustSummoned(Creature *summoned)
{
if (!summoned) return;
Unit *victim = m_creature->getVictim();
if (summoned->GetEntry() == ENTRY_NAZAN)
{
CAST_AI(boss_nazanAI, summoned->AI())->VazrudenGUID = VazrudenGUID;
summoned->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
summoned->SetSpeed(MOVE_FLIGHT, 2.5);
if (victim)
AttackStartNoMove(victim);
}
else if (victim)
summoned->AI()->AttackStart(victim);
}
示例11: MoveInLineOfSight
void MoveInLineOfSight(Unit* who) override
{
if (!who)
return;
if (me->IsInCombat())
return;
if (who->GetTypeId() != TYPEID_PLAYER)
return;
if (me->GetDistance(who) > 50.0f)
return;
AttackStartNoMove(who);
}
示例12: JustSummoned
void JustSummoned(Creature* summoned) override
{
if (!summoned)
return;
Unit* victim = me->GetVictim();
if (summoned->GetEntry() == NPC_NAZAN)
{
summoned->SetDisableGravity(true);
summoned->SetSpeed(MOVE_FLIGHT, 2.5f);
if (victim)
AttackStartNoMove(victim);
}
else
if (victim)
summoned->AI()->AttackStart(victim);
}
示例13: JustSummoned
void JustSummoned(Creature* pSummoned)
{
if (!pSummoned)
return;
Unit* pVictim = me->getVictim();
if (pSummoned->GetEntry() == ENTRY_NAZAN)
{
CAST_AI(boss_nazan::boss_nazanAI, pSummoned->AI())->VazrudenGUID = VazrudenGUID;
pSummoned->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
pSummoned->SetSpeed(MOVE_FLIGHT, 2.5f);
if (pVictim)
AttackStartNoMove(pVictim);
}
else if (pVictim)
pSummoned->AI()->AttackStart(pVictim);
}
示例14: JustSummoned
void JustSummoned(Creature* summoned)
{
if (!summoned)
return;
Unit* victim = me->GetVictim();
if (summoned->GetEntry() == ENTRY_NAZAN)
{
CAST_AI(boss_nazan::boss_nazanAI, summoned->AI())->VazrudenGUID = VazrudenGUID;
summoned->SetDisableGravity(true);
summoned->SetSpeed(MOVE_FLIGHT, 2.5f);
if (victim)
AttackStartNoMove(victim);
}
else
if (victim)
summoned->AI()->AttackStart(victim);
}
示例15: AttackStart
void AttackStart(Unit* who)
{
AttackStartNoMove(who);
}