コード例 #1
0
 explicit SkadiTheRuthlessAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     addEmoteForEvent(Event_OnCombatStart, SAY_SKADI_RUTHLESS_START);
     addEmoteForEvent(Event_OnTargetDied, SAY_SKADI_RUTHLESS_KILL_01);
     addEmoteForEvent(Event_OnTargetDied, SAY_SKADI_RUTHLESS_KILL_02);
     addEmoteForEvent(Event_OnDied, SAY_SKADI_RUTHLESS_DIE);
 }
コード例 #2
0
ファイル: Raid_ZulAman.cpp プロジェクト: AscEmu/AscEmu
    explicit HalazziAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto saberLash = addAISpell(HALAZZI_SABER_LASH, 0.5f, TARGET_DESTINATION, 0, 0);
        saberLash->addEmote("Me gonna carve ya now!", CHAT_MSG_MONSTER_YELL, 12023);
        saberLash->addEmote("You gonna leave in pieces!", CHAT_MSG_MONSTER_YELL, 12024);
        saberLash->setAvailableForScriptPhase({ 1, 3 });

        auto flameShock = addAISpell(HALAZZI_FLAME_SHOCK, 12.0f, TARGET_ATTACKING, 0, 0);
        flameShock->setAvailableForScriptPhase({ 2, 3 });

        auto earthShock = addAISpell(HALAZZI_EARTH_SHOCK, 12.0f, TARGET_ATTACKING, 0, 0);
        earthShock->setAvailableForScriptPhase({ 2, 3 });

        auto enrage = addAISpell(HALAZZI_ENRAGE, 100.0f, TARGET_SELF, 0, 60);
        enrage->setAvailableForScriptPhase({ 3 });

        // Transfigure: 4k aoe damage
        Transfigure = addAISpell(44054, 0.0f, TARGET_SELF, 0, 0);
        Transfigure->addEmote("I fight wit' untamed spirit...", CHAT_MSG_MONSTER_YELL, 12021);

        addEmoteForEvent(Event_OnCombatStart, 8863);
        addEmoteForEvent(Event_OnTargetDied, 8864);
        addEmoteForEvent(Event_OnTargetDied, 8865);
        addEmoteForEvent(Event_OnDied, 8866);
        mLynx = NULL;

        mTotemTimer = 0;
        CurrentHealth = 0;
        MaxHealth = 0;
        SplitCount = 0;
    }
コード例 #3
0
ファイル: Raid_SunwellPlateau.cpp プロジェクト: AscEmu/AscEmu
    explicit GrandWarlockAlythessAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto pyrogenetics = addAISpell(GRAND_WARLOCK_ALYTHESS_PYROGENICS, 100.0f, TARGET_SELF, 0, 10);
        pyrogenetics->setMinMaxDistance(0.0f, 50.0f);

        auto flameTouched = addAISpell(GRAND_WARLOCK_ALYTHESS_FLAME_TOUCHED, 10.0f, TARGET_RANDOM_SINGLE, 0, 30);
        flameTouched->setMinMaxDistance(0.0f, 50.0f);

        auto conflagration = addAISpell(GRAND_WARLOCK_ALYTHESS_CONFLAGRATION, 15.0f, TARGET_RANDOM_SINGLE, 4, 25);
        conflagration->addEmote("Fire to the aid of shadow!", CHAT_MSG_MONSTER_YELL, 12489);
        conflagration->setMinMaxDistance(0.0f, 50.0f);

        auto blaze = addAISpell(GRAND_WARLOCK_ALYTHESS_BLAZE, 30.0f, TARGET_RANDOM_SINGLE, 3, 0);
        blaze->setMinMaxDistance(0.0f, 50.0f);

        auto flameFear = addAISpell(GRAND_WARLOCK_ALYTHESS_FLAME_SEAR, 20.0f, TARGET_RANDOM_SINGLE);
        flameFear->setMinMaxDistance(0.0f, 50.0f);

        mLocaleEnrageSpell = addAISpell(GRAND_WARLOCK_ALYTHESS_ENRAGE, 0.0f, TARGET_SELF);
        mLocaleEnrageSpell->addEmote("Your luck has run its course!", CHAT_MSG_MONSTER_YELL, 12493);
        mLocaleEnrageSpell->setMinMaxDistance(0.0f, 50.0f);

        // Emotes
        addEmoteForEvent(Event_OnTargetDied, 8849);
        addEmoteForEvent(Event_OnDied, 8850); // Wasn't able to find sound for this text

        mLocaleEnrageTimerId = 0;
    }
コード例 #4
0
    explicit PrinceKelesethAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        if (_isHeroic())
            addAISpell(KELESETH_SHADOW_BOLT_HC, 100.0f, TARGET_ATTACKING, 2, 2);
        else
            addAISpell(KELESETH_SHADOW_BOLT, 100.0f, TARGET_ATTACKING, 2, 2);

        addEmoteForEvent(Event_OnCombatStart, 500);      // Your blood is mine!
        addEmoteForEvent(Event_OnTargetDied, 504);      // I join... the night.
    }
コード例 #5
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);
        }
コード例 #6
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);
        }
コード例 #7
0
ファイル: Raid_ZulAman.cpp プロジェクト: AscEmu/AscEmu
    explicit AkilzonAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        addAISpell(AKILZON_STATIC_DISRUPTION, 2.0f, TARGET_SELF, 0, 60);
        addAISpell(AKILZON_CALL_LIGHTING, 2.0f, TARGET_ATTACKING);
        addAISpell(AKILZON_GUST_OF_WIND, 0.0f, TARGET_ATTACKING);
        addAISpell(AKILZON_ELECTRICAL_STORM, 1.0f, TARGET_SELF);

        addEmoteForEvent(Event_OnCombatStart, 8859);
        addEmoteForEvent(Event_OnTargetDied, 8860);
        addEmoteForEvent(Event_OnTargetDied, 8861);
        addEmoteForEvent(Event_OnDied, 8862);

        mSummonTime = 0;
    }
コード例 #8
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);
        }
コード例 #9
0
    explicit LadyAnacondraAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        // Lightning Bolt
        addAISpell(9532, 30.0f, TARGET_ATTACKING, 3, 0);
        // Sleep
        addAISpell(700, 10.0f, TARGET_RANDOM_SINGLE, 2, 20);

        addEmoteForEvent(Event_OnCombatStart, 8755);     // None can stand against the Serpent Lords
    }
コード例 #10
0
    explicit LordSerpentisAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        // Lightning Bolt
        addAISpell(9532, 30.0f, TARGET_ATTACKING, 3, 0);
        // Sleep
        addAISpell(700, 10.0f, TARGET_RANDOM_SINGLE, 2, 0);

        addEmoteForEvent(Event_OnCombatStart, 8758);     // I am the serpent king, i can do anything!
    }
コード例 #11
0
    explicit LordPythasAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        // Lightning Bolt
        addAISpell(9532, 30.0f, TARGET_ATTACKING, 3, 0);
        // Sleep
        addAISpell(700, 10.0f, TARGET_RANDOM_SINGLE, 2, 0);
        // Thunderclap
        addAISpell(8147, 20.0f, TARGET_SELF, 0, 5);

        addEmoteForEvent(Event_OnCombatStart, 8757);     // The coils of death... Will crush you!
    }
コード例 #12
0
    explicit SkarvaldTheConstructorAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        addAISpell(SKARVALD_CHARGE, 35.0f, TARGET_RANDOM_SINGLE, 0, 8);
        addAISpell(STONE_STRIKE, 25.0f, TARGET_ATTACKING, 0, 10);

        mReplyTimer = 0;
        pDalronn = nullptr;
        pDalronnGhost = nullptr;

        addEmoteForEvent(Event_OnCombatStart, 4471);     // Dalronn! See if you can muster the nerve to join my attack!
    }
コード例 #13
0
    explicit IngvarUndeadAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        addAISpell(INGVAR_DARK_SMASH, 12.0f, TARGET_SELF, 3, 16);

        if (_isHeroic())
        {
            addAISpell(INGVAR_DREADFUL_ROAR, 25.0f, TARGET_SELF, 2, 10);
            addAISpell(INGVAR_WOE_STRIKE, 18.0f, TARGET_ATTACKING, 0, 16);
        }

        addEmoteForEvent(Event_OnDied, 6986);
    }
コード例 #14
0
    explicit LordCobrahnAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        // Lightning Bolt
        LightningBolt = addAISpell(9532, 30.0f, TARGET_ATTACKING, 3, 0);
        mEnableLighningBolt = true;
        // Poison -- Spell ID Needs checked
        addAISpell(34969, 15.0f, TARGET_ATTACKING);
        // Cobrahn Serpent Form
        SerpentForm = addAISpell(7965, 0.0f, TARGET_SELF);
        mEnableSerpentForm = true;

        addEmoteForEvent(Event_OnCombatStart, 8756);     // You will never wake the dreamer!
    }
コード例 #15
0
ファイル: Raid_SunwellPlateau.cpp プロジェクト: AscEmu/AscEmu
    explicit FelmystAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        //Phase 1 spells
        auto cleave = addAISpell(FELMYST_CLEAVE, 6.0f, TARGET_ATTACKING, 0, 10);
            cleave->setAvailableForScriptPhase({ 1 });

        auto gasNova = addAISpell(FELMYST_GAS_NOVA, 25.0f, TARGET_SELF, 1, 18);
        gasNova->setAvailableForScriptPhase({ 1 });

        auto encapsulate = addAISpell(FELMYST_ENCAPSULATE, 25.0f, TARGET_RANDOM_SINGLE, 7, 30);
        encapsulate->setMinMaxDistance(0.0f, 30.0f);
        encapsulate->setAvailableForScriptPhase({ 1 });

        auto corrosion = addAISpell(FELMYST_CORROSION, 20.0f, TARGET_ATTACKING, 1, 35);
        corrosion->setMinMaxDistance(0.0f, 30.0f);
        corrosion->setAvailableForScriptPhase({ 1 });
        corrosion->addEmote("Choke on your final breath!", CHAT_MSG_MONSTER_YELL, 12478);

        //Phase 2 spells
        auto demonicVapor = addAISpell(FELMYST_DEMONIC_VAPOR, 10.0f, TARGET_RANDOM_SINGLE, 0, 20);
        demonicVapor->setAvailableForScriptPhase({ 2 });

        //Phase 3 spells
        //Fog of corruption is the actual breath Felmyst does during his second phase, probably we'll have to spawn it like a creature.

        //10min Enrage
        mLocaleEnrageSpell = addAISpell(FELMYST_ENRAGE, 0.0f, TARGET_SELF);
        mLocaleEnrageSpell->addEmote("No more hesitation! Your fates are written!", CHAT_MSG_MONSTER_YELL, 12482);

        //Emotes
        addEmoteForEvent(Event_OnCombatStart, 8842);
        addEmoteForEvent(Event_OnTargetDied, 8843);
        addEmoteForEvent(Event_OnTargetDied, 8844);
        addEmoteForEvent(Event_OnDied, 8845);
        addEmoteForEvent(Event_OnTaunt, 8846);

        mLocaleEnrageTimerId = 0;
    }
コード例 #16
0
    explicit IngvarThePlundererAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        addAISpell(INGVAR_CLEAVE, 24.0f, TARGET_ATTACKING, 0, 6);

        if (_isHeroic())
        {
            addAISpell(INGVAR_ENRAGE_HC, 45.0f, TARGET_SELF, 0, 4);
            addAISpell(INGVAR_SMASH_HC, 25.0f, TARGET_SELF, 3, 18);
            addAISpell(INGVAR_ROAR_HC, 25.0f, TARGET_SELF, 2, 10);
        }
        else
        {
            addAISpell(INGVAR_ENRAGE, 45.0f, TARGET_SELF, 0, 4);
            addAISpell(INGVAR_SMASH, 25.0f, TARGET_SELF, 3, 18);
            addAISpell(INGVAR_ROAR, 25.0f, TARGET_SELF, 2, 10);
        }

        SetAIUpdateFreq(1000);

        addEmoteForEvent(Event_OnCombatStart, 4468);     // I'll paint my face with your blood!
        addEmoteForEvent(Event_OnTargetDied, 4469);     // Mjul orm agn gjor!
        addEmoteForEvent(Event_OnDied, 4470);     // My life for the... death god!
    }
コード例 #17
0
ファイル: Raid_ZulAman.cpp プロジェクト: AscEmu/AscEmu
    explicit NalorakkAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto brutalSwipe = addAISpell(NALORAKK_BRUTAL_SWIPE, 2.0f, TARGET_ATTACKING, 0, 35);
        brutalSwipe->setAvailableForScriptPhase({ 1 });

        auto mangle = addAISpell(NALORAKK_MANGLE, 12.0f, TARGET_ATTACKING, 0, 20);
        mangle->setAvailableForScriptPhase({ 1 });

        auto surge = addAISpell(NALORAKK_SURGE, 8.0f, TARGET_RANDOM_SINGLE, 0, 20, false, true);
        surge->setAvailableForScriptPhase({ 1 });
        surge->addEmote("I bring da pain!", CHAT_MSG_MONSTER_YELL, 12071);

        auto slash = addAISpell(NALORAKK_LACERATING_SLASH, 12.0f, TARGET_ATTACKING, 0, 20);
        slash->setAvailableForScriptPhase({ 2 });

        auto flesh = addAISpell(NALORAKK_REND_FLESH, 12.0f, TARGET_ATTACKING, 0, 12);
        flesh->setAvailableForScriptPhase({ 2 });

        auto roar = addAISpell(NALORAKK_DEAFENING_ROAR, 11.0f, TARGET_RANDOM_SINGLE, 0, 12);
        roar->setAvailableForScriptPhase({ 2 });

        mLocaleEnrageSpell = addAISpell(NALORAKK_BERSERK, 0.0f, TARGET_SELF, 0, 600);
        surge->addEmote("You had your chance, now it be too late!", CHAT_MSG_MONSTER_YELL, 12074);


        addEmoteForEvent(Event_OnCombatStart, 8855);
        addEmoteForEvent(Event_OnTargetDied, 8856);
        addEmoteForEvent(Event_OnTargetDied, 8857);
        addEmoteForEvent(Event_OnDied, 8858);

        // Bear Form
        Morph = addAISpell(42377, 0.0f, TARGET_SELF, 0, 0);
        Morph->addEmote("You call on da beast, you gonna get more dan you bargain for!", CHAT_MSG_MONSTER_YELL, 12072);

        MorphTimer = 0;
        mLocaleEnrageTimerId = 0;
    }
コード例 #18
0
 explicit KingYmironAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     addEmoteForEvent(Event_OnCombatStart, SAY_KING_YMIRON_START);
     addEmoteForEvent(Event_OnTargetDied, SAY_KING_YMIRON_KILL_01);
     addEmoteForEvent(Event_OnTargetDied, SAY_KING_YMIRON_KILL_02);
     addEmoteForEvent(Event_OnTargetDied, SAY_KING_YMIRON_KILL_03);
     addEmoteForEvent(Event_OnTargetDied, SAY_KING_YMIRON_KILL_04);
     addEmoteForEvent(Event_OnDied, SAY_KING_YMIRON_DIE);
 }
コード例 #19
0
ファイル: Raid_SunwellPlateau.cpp プロジェクト: AscEmu/AscEmu
    explicit LadySacrolashAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto darkTouch = addAISpell(LADY_SACROLASH_DARK_TOUCHED, 50.0f, TARGET_RANDOM_SINGLE, 0, 10);
        darkTouch->setMinMaxDistance(0.0f, 50.0f);

        auto shadowBlades = addAISpell(LADY_SACROLASH_SHADOW_BLADES, 25.0f, TARGET_ATTACKING, 2, 5);
        shadowBlades->setMinMaxDistance(0.0f, 50.0f);

        auto shadowNova = addAISpell(LADY_SACROLASH_SHADOW_NOVA, 15.0f, TARGET_RANDOM_SINGLE, 4, 20);
        shadowNova->addEmote("Shadow to the aid of fire!", CHAT_MSG_MONSTER_YELL, 12485);
        shadowNova->setMinMaxDistance(0.0f, 50.0f);

        auto confoundingBlow = addAISpell(LADY_SACROLASH_CONFOUNDING_BLOW, 10.0f, TARGET_RANDOM_SINGLE, 0, 15);
        confoundingBlow->setMinMaxDistance(0.0f, 50.0f);

        mLocaleEnrageSpell = addAISpell(LADY_SACROLASH_ENRAGE, 0.0f, TARGET_SELF);
        mLocaleEnrageSpell->addEmote("Time is a luxury you no longer possess!", CHAT_MSG_MONSTER_YELL, 0); // Wasn't able to find sound for this text

        // Emotes
        addEmoteForEvent(Event_OnTargetDied, 8847);
        addEmoteForEvent(Event_OnDied, 8848);

        mLocaleEnrageTimerId = 0;
    }
コード例 #20
0
        OmorTheUnscarredAI(Creature* pCreature) : CreatureAIScript(pCreature)
        {
            pShield = addAISpell(OMOR_DEMONIC_SHIELD, 30.0f, TARGET_SELF, 0, 25);
            pShield->setMinMaxPercentHp(0, 20);

            auto pSummon = addAISpell(OMOR_SUMMON_FIENDISH_HOUND, 8.0f, TARGET_SELF, 1, 20);
            pSummon->addEmote("Achor-she-ki! Feast my pet! Eat your fill!", CHAT_MSG_MONSTER_YELL, 10277);

            pWhip = addAISpell(OMOR_SHADOW_WHIP, 10.0f, TARGET_RANDOM_SINGLE, 0, 30);
            pWhip->setMinMaxDistance(10.0f, 60.0f);

            if (!_isHeroic())
            {
                auto shadowBolt = addAISpell(OMOR_SHADOW_BOLT, 8.0f, TARGET_RANDOM_SINGLE, 3, 15, false, true);
                shadowBolt->setMinMaxDistance(10.0f, 60.0f);

                auto pAura = addAISpell(OMOR_TREACHEROUS_AURA, 8.0f, TARGET_RANDOM_SINGLE, 2, 35, false, true);
                pAura->setMinMaxDistance(0.0f, 60.0f);
                pAura->addEmote("A-Kreesh!", CHAT_MSG_MONSTER_YELL, 10278);
            }
            else
            {
                auto shadowBolt = addAISpell(OMOR_SHADOW_BOLT2, 8.0f, TARGET_RANDOM_SINGLE, 3, 15, false, true);
                shadowBolt->setMinMaxDistance(10.0f, 60.0f);

                auto pAura = addAISpell(OMOR_BANE_OF_TREACHERY, 8.0f, TARGET_RANDOM_SINGLE, 2, 35, false, true);
                pAura->setMinMaxDistance(0.0f, 60.0f);
                pAura->addEmote("A-Kreesh!", CHAT_MSG_MONSTER_YELL, 10278);
            }

            addEmoteForEvent(Event_OnCombatStart, 4856);     // I will not be defeated!
            addEmoteForEvent(Event_OnCombatStart, 4855);     // You dare stand against ME?
            addEmoteForEvent(Event_OnCombatStart, 4857);     // Your insolence will be your death!
            addEmoteForEvent(Event_OnTargetDied, 4860);      // Die, weakling!
            addEmoteForEvent(Event_OnDied, 4861);            // It is... not over.
        }
コード例 #21
0
ファイル: Raid_SunwellPlateau.cpp プロジェクト: AscEmu/AscEmu
    explicit BrutallusAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        addAISpell(BRUTALLUS_METEOR_SLASH, 100.0f, TARGET_SELF, 1, 12);
        addAISpell(BRUTALLUS_BURN, 50.0f, TARGET_RANDOM_SINGLE, 0, 20);
        addAISpell(BRUTALLUS_STOMP, 25.0f, TARGET_ATTACKING, 0, 30);

        // 6min Enrage
        mLocaleEnrageSpell = addAISpell(BRUTALLUS_BERSERK, 0.0f, TARGET_SELF);
        mLocaleEnrageSpell->addEmote("So much for a real challenge... Die!", CHAT_MSG_MONSTER_YELL, 12470);

        // Emotes
        addEmoteForEvent(Event_OnCombatStart, 8834);
        addEmoteForEvent(Event_OnTargetDied, 8835);
        addEmoteForEvent(Event_OnTargetDied, 8836);
        addEmoteForEvent(Event_OnTargetDied, 8837);
        addEmoteForEvent(Event_OnDied, 8838);
        addEmoteForEvent(Event_OnTaunt, 8839);
        addEmoteForEvent(Event_OnTaunt, 8840);
        addEmoteForEvent(Event_OnTaunt, 8841);

        mLocaleEnrageTimerId = 0;
    }
コード例 #22
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);
    }
コード例 #23
0
    WatchkeeperGargolmarAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
        auto surge = addAISpell(WATCHKEEPER_SURGE, 20.0f, TARGET_RANDOM_SINGLE, 0, 15);
        surge->addEmote("Back off, pup!", CHAT_MSG_MONSTER_YELL, 10330);
        surge->setMinMaxDistance(5.0f, 40.0f);;

        addAISpell(WATCHKEEPER_OVERPOWER, 10.0f, TARGET_ATTACKING, 0, 5);
        mRetaliation = addAISpell(WATCHKEEPER_RETALIATION, 0.0f, TARGET_SELF);

        if (_isHeroic())
            addAISpell(WATCHKEEPER_MORTAL_WOUND_H, 15.0f, TARGET_ATTACKING, 0, 12);
        else
            addAISpell(WATCHKEEPER_MORTAL_WOUND, 15.0f, TARGET_ATTACKING, 0, 12);

        mCalledForHelp = 0;
        _retaliation = false;

        addEmoteForEvent(Event_OnCombatStart, 4873);    // What have we here?
        addEmoteForEvent(Event_OnCombatStart, 4874);    // This may hurt a little....
        addEmoteForEvent(Event_OnCombatStart, 4875);    // I'm going to enjoy this...
        addEmoteForEvent(Event_OnTargetDied, 4876);     // Say farewell!
        addEmoteForEvent(Event_OnTargetDied, 4877);     // Much too easy.
        addEmoteForEvent(Event_OnDied, 4878);           // Hahah.. <cough> ..argh!
    }
コード例 #24
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);
    }
コード例 #25
0
 explicit GortokPalehoofAI(Creature* pCreature) : CreatureAIScript(pCreature)
 {
     addEmoteForEvent(Event_OnCombatStart, SAY_GROTOK_PALEHOOF_01);
     addEmoteForEvent(Event_OnTargetDied, SAY_GROTOK_PALEHOOF_02);
     addEmoteForEvent(Event_OnTargetDied, SAY_GROTOK_PALEHOOF_03);
 }