void AttackStart(Unit* who)
 {
     if (Phase1)
         AttackStartNoMove(who);
     else
         ScriptedAI::AttackStart(who);
 }
void ScriptedAI::AttackStart(Unit* who)
{
    if (IsCombatMovementAllowed())
        CreatureAI::AttackStart(who);
    else
        AttackStartNoMove(who);
}
Exemple #3
0
 void AttackStart(Unit* pWho)
 {
     if (!pWho)
         return;
     
     AttackStartNoMove(pWho);
 }
Exemple #4
0
 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);
             }
         }
     }
 }
        void AttackStart(Unit* who)
        {
            if (!who)
                return;

            AttackStartNoMove(who);
        }
 void AttackStart(Unit* who)
 {
     if (!Intro && !Flying)
         if (Phase == 1)
             ScriptedAI::AttackStart(who);
         else
             AttackStartNoMove(who);
 }
 void MoveInLineOfSight(Unit *who)
 {
     if (!Intro && !Flying)
         if (!me->getVictim() && me->canStartAttack(who))
             if (Phase == 1)
                 ScriptedAI::AttackStart(who);
             else
                 AttackStartNoMove(who);
 }
 void SentryDownBy(Unit* pKiller)
 {
     if (sentryDown)
     {
         AttackStartNoMove(pKiller);
         sentryDown = false;
     }
     else
         sentryDown = true;
 }
Exemple #9
0
void ScriptedAI::AttackStart(Unit* pWho, bool melee)
{
    if (!pWho)
        return;

    if (!melee)
        AttackStartNoMove(pWho);
    else
        AttackStart(pWho);
}
 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);
 }
        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);
        }
 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);
 }
 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);
 }
 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);
 }
		void AttackStart(Unit* who)
        {
			AttackStartNoMove(who);
        }