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); }
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; }
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; }
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. }
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); }
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); }
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; }
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); }
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 }
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! }
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! }
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! }
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); }
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! }
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; }
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! }
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; }
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); }
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; }
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. }
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; }
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); }
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! }
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); }
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); }