Пример #1
0
    void AIUpdate() override
    {
        if (_isTimerFinished(mLocaleEnrageTimerId))
        {
            _castAISpell(mLocaleEnrageSpell);
            _removeTimer(mLocaleEnrageTimerId);
        }

        // Bear Form
        if (_isTimerFinished(MorphTimer) && isScriptPhase(1))
        {
            setScriptPhase(2);
            // Morph into a bear since the spell doesnt work
            _setDisplayId(21635);
            // 20 Seconds until switch to Troll Form
            _resetTimer(MorphTimer, 20000);
        }

        // Troll Form
        else if (_isTimerFinished(MorphTimer) && isScriptPhase(2))
        {
            // Remove Bear Form
            _removeAura(42377);
            // Transform back into a Troll
            _setDisplayId(21631);
            setScriptPhase(1);
            // 45 Seconds until switch to Bear Form
            _resetTimer(MorphTimer, 45000);

            sendChatMessage(CHAT_MSG_MONSTER_YELL, 12073, "Make way for Nalorakk!");
        }
    }
Пример #2
0
 void AIUpdate() override
 {
     if (_getHealthPercent() <= 42 && Heal)
     {
         _castAISpell(mHealDf);
         Heal = false;
     }
 }
Пример #3
0
 void AIUpdate() override
 {
     if (_getHealthPercent() <= 20 && Enrage)
     {
         _castAISpell(mDfEnrage);
         Enrage = false;
     }
 }
Пример #4
0
 void AIUpdate() override
 {
     if (_isTimerFinished(mLocaleEnrageTimerId))
     {
         _castAISpell(mLocaleEnrageSpell);
         _removeTimer(mLocaleEnrageTimerId);
     }
 }
Пример #5
0
 void OnScriptPhaseChange(uint32_t phaseId) override
 {
     switch (phaseId)
     {
         case 2:
             _castAISpell(Transfigure);
             break;
         default:
             break;
     }
 }
Пример #6
0
 void OnScriptPhaseChange(uint32_t phaseId) override
 {
     switch (phaseId)
     {
         case 2:
             getCreature()->Emote(EMOTE_ONESHOT_TALK);
             _castAISpell(Awakening);
             SpawnTimer = _addTimer(100000);
             break;
         default:
             break;
     }
 }
Пример #7
0
 void AIUpdate() override
 {
     if (_getHealthPercent() <= 20 && mEnableSerpentForm == true)
     {
         _castAISpell(SerpentForm);
         mEnableSerpentForm = false;
         // Disable Lightning Bolt
         mEnableLighningBolt = false;
     }
     else if (_getHealthPercent() <= 20 && mEnableSerpentForm == false && !getCreature()->HasAura(7965))
     {
         // Enable Lightning Bolt
         mEnableLighningBolt = true;
     }
 }
Пример #8
0
    //case for scriptPhase
    void AIUpdate() override
    {
        if (getCreature()->GetHealthPct() <= 40 && !mCalledForHelp)
        {
            sendDBChatMessage(4871);      // Heal me, quickly!
            mCalledForHelp = true;
        }

        if (getCreature()->GetHealthPct() <= 20 && !_retaliation)
        {
            _retaliation = true;
            getCreature()->setAttackTimer(1500, false);
            _castAISpell(mRetaliation);
        }
    }