Пример #1
0
    explicit SethekkGuardAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto thunderclap = addAISpell(SP_SETHEKK_GUARD_THUNDERCLAP, 12.0f, TARGET_VARIOUS, 0, 0, false, true);
        thunderclap->setAttackStopTimer(1000);

        auto sunderArmor = addAISpell(SP_SETHEKK_GUARD_SUNDER_ARMOR, 8.0f, TARGET_ATTACKING, 0, 0, false, true);
        sunderArmor->setAttackStopTimer(1000);
    }
Пример #2
0
    explicit BlackWarlockAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto rainOfFire = addAISpell(RAIN_OF_FIRE, 10.0f, TARGET_DESTINATION);
        rainOfFire->setAttackStopTimer(1000);

        auto shadowBolt = addAISpell(BLACK_WARLOCK_AI_SHADOW_BOLT, 15.0f, TARGET_DESTINATION, 0, 0, false, true);
        shadowBolt->setAttackStopTimer(1000);
    }
Пример #3
0
    explicit TimeLostScryerAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto flashHeal = addAISpell(SP_TL_SCRYER_FLASH_HEAL, 5.0f, TARGET_SELF, 0, 0, false, true);
        flashHeal->setAttackStopTimer(1000);

        auto arcaneMissiles = addAISpell(SP_TL_SCRYER_ARCANE_MISSILES, 12.0f, TARGET_ATTACKING, 0, 0, false, true);
        arcaneMissiles->setAttackStopTimer(1000);
    }
Пример #4
0
    explicit SethekkTalonLordAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto ofJustice = addAISpell(SP_SETHEKK_TALON_OF_JUSTICE, 10.0f, TARGET_ATTACKING, 0, 0, false, true);
        ofJustice->setAttackStopTimer(1000);

        auto avengersShield = addAISpell(SP_SETHEKK_TALON_AVENGERS_SHIELD, 7.0f, TARGET_ATTACKING, 0, 0, false, true);
        avengersShield->setAttackStopTimer(1000);
    }
Пример #5
0
    explicit FiremawAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto wingBuffet = addAISpell(WING_BUFFET, 10.0f, TARGET_VARIOUS);
        wingBuffet->setAttackStopTimer(1000);

        auto flameBuffet = addAISpell(FLAME_BUFFET, 15.0f, TARGET_VARIOUS);
        flameBuffet->setAttackStopTimer(1000);
    }
Пример #6
0
    explicit SethekkRavenguardAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto bloodthirst = addAISpell(SP_SETHEKK_RAVENG_BLOODTHIRST, 10.0f, TARGET_ATTACKING, 0, 0, false, true);
        bloodthirst->setAttackStopTimer(1000);

        auto howlingScreech = addAISpell(SP_SETHEKK_RAVENG_HOWLING_SCREECH, 8.0f, TARGET_VARIOUS, 0, 0, false, true);
        howlingScreech->setAttackStopTimer(1000);
    }
Пример #7
0
    explicit EbonrocAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto wingBuffet = addAISpell(WING_BUFFET, 10.0f, TARGET_VARIOUS);
        wingBuffet->setAttackStopTimer(1000);

        auto shadowOfEbonroc = addAISpell(SHADOW_OF_EBONROC, 15.0f, TARGET_ATTACKING);
        shadowOfEbonroc->setAttackStopTimer(1000);
    }
Пример #8
0
    explicit FlamegorAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto wingBuffet = addAISpell(WING_BUFFET, 10.0f, TARGET_VARIOUS);
        wingBuffet->setAttackStopTimer(1000);

        auto fireNova = addAISpell(FIRE_NOVA, 20.0f, TARGET_VARIOUS, 0, 0, false, true);
        fireNova->setAttackStopTimer(1000);
    }
Пример #9
0
    explicit SethekkOracleAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto faeriFire = addAISpell(SP_SETHEKK_ORACLE_FAERIE_FIRE, 8.0f, TARGET_ATTACKING, 0, 0, false, true);
        faeriFire->setAttackStopTimer(1000);

        auto arcaneLighning = addAISpell(SP_SETHEKK_ORACLE_ARCANE_LIGHTNING, 15.0f, TARGET_ATTACKING);
        arcaneLighning->setAttackStopTimer(1000);
    }
Пример #10
0
    explicit DTcaptainAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto markOfFlames = addAISpell(MARK_OF_FLAMES, 15.0f, TARGET_ATTACKING);
        markOfFlames->setAttackStopTimer(1000);

        auto markOfDetonation = addAISpell(MARK_OF_DETONATION, 4.0f, TARGET_ATTACKING);
        markOfDetonation->setAttackStopTimer(2000);
    }
Пример #11
0
    explicit AvianWarhawkAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto cleave = addAISpell(SP_AVIAN_WARHAWK_CLEAVE, 12.0f, TARGET_VARIOUS, 0, 0, false, true);
        cleave->setAttackStopTimer(1000);

        auto charge = addAISpell(SP_AVIAN_WARHAWK_CHARGE, 5.0f, TARGET_ATTACKING, 0, 0, false, true);
        charge->setAttackStopTimer(1000);

        auto bite = addAISpell(SP_AVIAN_WARHAWK_BITE, 12.0f, TARGET_ATTACKING, 0, 0, false, true);
        bite->setAttackStopTimer(1000);
    }
Пример #12
0
    explicit CobaltSerpentAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto wingBuffet = addAISpell(SP_COBALT_SERPENT_WING_BUFFET, 7.0f, TARGET_VARIOUS);
        wingBuffet->setAttackStopTimer(1000);

        auto frostbolt = addAISpell(SP_COBALT_SERPENT_FROSTBOLT, 15.0f, TARGET_ATTACKING);
        frostbolt->setAttackStopTimer(1000);

        auto chainLightning = addAISpell(SP_COBALT_SERPENT_CHAIN_LIGHTNING, 9.0f, TARGET_ATTACKING);
        chainLightning->setAttackStopTimer(1000);
    }
Пример #13
0
        ChronoLordAI(Creature* pCreature) : CreatureAIScript(pCreature)
        {
            auto arcaneBlast = addAISpell(ARCANE_BLAST, 0.0f, TARGET_ATTACKING, 0, 10);
            arcaneBlast->setAttackStopTimer(1000);

            auto timeLapse = addAISpell(TIME_LAPSE, 0.0f, TARGET_ATTACKING, 0, 8);
            timeLapse->setAttackStopTimer(1000);

            addEmoteForEvent(Event_OnCombatStart, SAY_CHRONOLORD_01);
            addEmoteForEvent(Event_OnTargetDied, SAY_CHRONOLORD_02);
            addEmoteForEvent(Event_OnTargetDied, SAY_CHRONOLORD_03);
            addEmoteForEvent(Event_OnDied, SAY_CHRONOLORD_04);
        }
Пример #14
0
    explicit VaelastraszAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        essenceOfTheRed = addAISpell(ESSENCE_OF_THE_RED, 0.0f, TARGET_VARIOUS);
        essenceOfTheRed->setAttackStopTimer(1000);

        auto flameBreath = addAISpell(FLAME_BREATH, 15.0f, TARGET_VARIOUS);
        flameBreath->setAttackStopTimer(3000);

        auto burningAdrenaline = addAISpell(BURNING_ADRENALINE, 3.0f, TARGET_ATTACKING);
        burningAdrenaline->setAttackStopTimer(2000);

        getCreature()->setHealth((uint32)(getCreature()->getMaxHealth() * 0.3f));
    }
Пример #15
0
        TemporusAI(Creature* pCreature) : CreatureAIScript(pCreature)
        {
            auto haste = addAISpell(HASTEN, 0.0f, TARGET_SELF, 0, 10);
            haste->setAttackStopTimer(1000);

            auto mortalWound = addAISpell(MORTAL_WOUND, 0.0f, TARGET_ATTACKING, 0, 5);
            mortalWound->setAttackStopTimer(1000);

            addEmoteForEvent(Event_OnCombatStart, SAY_TEMPORUS_01);
            addEmoteForEvent(Event_OnTargetDied, SAY_TEMPORUS_02);
            addEmoteForEvent(Event_OnTargetDied, SAY_TEMPORUS_03);
            addEmoteForEvent(Event_OnDied, SAY_TEMPORUS_04);
        }
Пример #16
0
        AenusAI(Creature* pCreature) : CreatureAIScript(pCreature)
        {
            auto sandBreath = addAISpell(SAND_BREATH, 0.0f, TARGET_DESTINATION, 0, 15, false, true);
            sandBreath->setAttackStopTimer(1000);

            auto timeStop = addAISpell(TIME_STOP, 0.0f, TARGET_VARIOUS, 0, 15, false, true);
            timeStop->setAttackStopTimer(1000);

            auto frenzy = addAISpell(FRENZY, 0.0f, TARGET_SELF, 0, 8, false, true);
            frenzy->setAttackStopTimer(1000);

            addEmoteForEvent(Event_OnCombatStart, SAY_AENUS_01);
            addEmoteForEvent(Event_OnTargetDied, SAY_AENUS_02);
            addEmoteForEvent(Event_OnTargetDied, SAY_AENUS_03);
            addEmoteForEvent(Event_OnDied, SAY_AENUS_04);
        }
Пример #17
0
    explicit ANZUAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto bomb = addAISpell(SP_ANZU_SPELL_BOMB, 10.0f, TARGET_ATTACKING, 0, 0, false, true);
        bomb->setAttackStopTimer(1000);

        auto cycloneOfFeathers = addAISpell(SP_ANZU_CYCLONE_OF_FEATHERS, 10.0f, TARGET_ATTACKING);
        cycloneOfFeathers->setAttackStopTimer(1000);

        auto screech = addAISpell(SP_ANZU_PARALYZING_SCREECH, 10.0f, TARGET_VARIOUS);
        screech->setAttackStopTimer(1000);

        banish = addAISpell(SP_ANZU_BANISH, 0.0f, TARGET_SELF, 0, 0, false, true);
        banish->setAttackStopTimer(1000);

        ravenGod = addAISpell(SP_ANZU_SUMMON_RAVEN_GOD, 0.0f, TARGET_SELF, 0, 60, true, true);
        ravenGod->setAttackStopTimer(1000);

        Banished = false;
    }
Пример #18
0
    explicit DarkweaverSythAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto frostShock = addAISpell(SP_DARKW_SYNTH_FROST_SHOCK, 8.0f, TARGET_ATTACKING, 0, 15, false, true);
        frostShock->setAttackStopTimer(2000);

        auto flameShock = addAISpell(SP_DARKW_SYNTH_FLAME_SHOCK, 8.0f, TARGET_ATTACKING, 0, 15, false, true);
        flameShock->setAttackStopTimer(2000);

        auto shadowShock = addAISpell(SP_DARKW_SYNTH_SHADOW_SHOCK, 8.0f, TARGET_ATTACKING, 0, 15, false, true);
        shadowShock->setAttackStopTimer(2000);

        auto arcaneShock = addAISpell(SP_DARKW_SYNTH_ARCANE_SHOCK, 8.0f, TARGET_ATTACKING, 0, 15, false, true);
        arcaneShock->setAttackStopTimer(2000);

        auto chainLighning = addAISpell(SP_DARKW_SYNTH_CHAIN_LIGHTNING, 10.0f, TARGET_ATTACKING, 0, 15, false, true);
        chainLighning->setAttackStopTimer(2000);

        summonFireEle = addAISpell(SP_DARKW_SYNTH_SUM_FIRE_ELEMENTAL, 0.0f, TARGET_SELF, 0, 10);
        summonFireEle->setAttackStopTimer(1000);

        summonFrostEle = addAISpell(SP_DARKW_SYNTH_SUM_FROST_ELEMENTAL, 0.0f, TARGET_SELF, 0, 10);
        summonFrostEle->setAttackStopTimer(1000);

        summonArcaneEle = addAISpell(SP_DARKW_SYNTH_SUM_ARCANE_ELEMENTAL, 0.0f, TARGET_SELF, 0, 10);
        summonArcaneEle->setAttackStopTimer(1000);

        summonShadowEle = addAISpell(SP_DARKW_SYNTH_SUM_SHADOW_ELEMENTAL, 0.0f, TARGET_SELF, 0, 10);
        summonShadowEle->setAttackStopTimer(1000);

        Summons = 0;

        addEmoteForEvent(Event_OnCombatStart, SAY_DARKW_SYNTH_02);
        addEmoteForEvent(Event_OnCombatStart, SAY_DARKW_SYNTH_03);
        addEmoteForEvent(Event_OnCombatStart, SAY_DARKW_SYNTH_04);
        addEmoteForEvent(Event_OnTargetDied, SAY_DARKW_SYNTH_05);
        addEmoteForEvent(Event_OnTargetDied, SAY_DARKW_SYNTH_05);
        addEmoteForEvent(Event_OnDied, SAY_DARKW_SYNTH_07);
    }
Пример #19
0
    explicit TalonKingIkissAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        arcaneVolley = addAISpell(SP_TALRON_K_IKISS_ARCANE_VOLLEY, 12.0f, TARGET_VARIOUS, 0, 10);
        arcaneVolley->setAttackStopTimer(1000);

        auto blink = addAISpell(SP_TALRON_K_IKISS_BLINK, 7.0f, TARGET_SELF, 15, 25, false, true);
        blink->setAttackStopTimer(2500);

        auto polymorph = addAISpell(SP_TALRON_K_IKISS_POLYMORPH, 9.0f, TARGET_RANDOM_SINGLE, 0, 15, false, true);
        polymorph->setAttackStopTimer(1000);
        polymorph->setMinMaxDistance(0.0f, 40.0f);

        arcaneExplosion = addAISpell(SP_TALRON_K_IKISS_ARCANE_EXPLOSION, 0.0f, TARGET_VARIOUS);
        arcaneExplosion->setAttackStopTimer(1000);

        Blink = false;

        addEmoteForEvent(Event_OnCombatStart, SAY_TALRON_K_IKISS_02);
        addEmoteForEvent(Event_OnCombatStart, SAY_TALRON_K_IKISS_03);
        addEmoteForEvent(Event_OnCombatStart, SAY_TALRON_K_IKISS_04);
        addEmoteForEvent(Event_OnTargetDied, SAY_TALRON_K_IKISS_05);
        addEmoteForEvent(Event_OnTargetDied, SAY_TALRON_K_IKISS_06);
        addEmoteForEvent(Event_OnDied, SAY_TALRON_K_IKISS_07);
    }
Пример #20
0
 explicit DTflamescaleAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto flameShock = addAISpell(FLAME_SHOCK, 15.0f, TARGET_ATTACKING);
     flameShock->setAttackStopTimer(1000);
 }
Пример #21
0
 explicit SethekkInitiateAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto magicReflection = addAISpell(SP_SETHEKK_INIT_MAGIC_REFLECTION, 10.0f, TARGET_SELF, 0, 0, false, true);
     magicReflection->setAttackStopTimer(1000);
 }
Пример #22
0
 explicit SethekkProphetAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto prophetFear = addAISpell(SP_SETHEKK_PROPHET_FEAR, 8.0f, TARGET_ATTACKING, 0, 0, false, true);
     prophetFear->setAttackStopTimer(1000);
 }
Пример #23
0
 explicit SethekkShamanAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto summonDarkVortex = addAISpell(SP_SETHEKK_SHAMAN_SUM_DARK_VORTEX, 8.0f, TARGET_SELF, 0, 0, false, true);
     summonDarkVortex->setAttackStopTimer(1000);
 }
Пример #24
0
 explicit LashlayerAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto fireNovaLash = addAISpell(FIRE_NOVA_LASH, 15.0f, TARGET_VARIOUS);
     fireNovaLash->setAttackStopTimer(1000);
 }
Пример #25
0
 explicit AvianDarkhawkAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto charge = addAISpell(SP_AVIAN_DARKHAWK_CHARGE, 5.0f, TARGET_ATTACKING, 0, 0, false, true);
     charge->setAttackStopTimer(1000);
 }
Пример #26
0
 explicit TechnicianAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto granade = addAISpell(GRANADE, 25.0f, TARGET_ATTACKING);
     granade->setAttackStopTimer(1000);
 }
Пример #27
0
 explicit DTwyrmkinAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto fireballVolley = addAISpell(FIREBALL_VOLLEY, 40.0f, TARGET_VARIOUS);
     fireballVolley->setAttackStopTimer(1000);
 }
Пример #28
0
 explicit AvianRipperAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto fleshRip = addAISpell(SP_AVIAN_RIPPER_FLESH_RIP, 15.0f, TARGET_ATTACKING, 0, 0, false, true);
     fleshRip->setAttackStopTimer(3000);
 }
Пример #29
0
 explicit TimeLostControllerAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto shrink = addAISpell(SP_TL_CONTROLLER_SHIRNK, 10.0f, TARGET_ATTACKING, 0, 0, false, true);
     shrink->setAttackStopTimer(1000);
 }
Пример #30
0
 explicit TimeLostShadowmageAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     auto curseOfDarkTalon = addAISpell(SP_TL_CURSE_OF_THE_DARK_TALON, 10.0f, TARGET_ATTACKING, 0, 0, false, true);
     curseOfDarkTalon->setAttackStopTimer(1000);
 }