PrinceKelesethAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { mFrostTomb = AddSpellFunc(&SpellFunc_KelesethFrostTomb, Target_RandomPlayer, 25, 0, 15, 0, 20); mAddSummon = AddSpellFunc(&SpellFunc_KelesethAddSummon, Target_Self, 0, 0, 0); if (IsHeroic()) mShadowBolt = AddSpell(KELESETH_SHADOW_BOLT_HC, Target_Current, 100, 2, 2); else mShadowBolt = AddSpell(KELESETH_SHADOW_BOLT, Target_Current, 100, 2, 2); }
PrinceKelesethAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { mFrostTomb = AddSpellFunc(&SpellFunc_KelesethFrostTomb, Target_RandomPlayer, 25, 0, 15, 0, 20); mAddSummon = AddSpellFunc(&SpellFunc_KelesethAddSummon, Target_Self, 0, 0, 0); if(IsHeroic()) mShadowBolt = AddSpell(KELESETH_SHADOW_BOLT_HC, Target_Current, 100, 2, 2); else mShadowBolt = AddSpell(KELESETH_SHADOW_BOLT, Target_Current, 100, 2, 2); AddEmote(Event_OnDied, "I join... the night.", Text_Yell, 13225); };
LairBruteAI(Creature* pCreature) : ArcTicScriptCreatureAI(pCreature) { AddSpell(LAIR_BRUTE_CLEAVE, Target_Current, 20, 0, 15, 0, 7); AddSpell(LAIR_BRUTE_MORTALSTRIKE, Target_Current, 8, 0, 20, 0, 7); mCharge = AddSpell(LAIR_BRUTE_CHARGE, Target_Current, 0, 0, 0, 0, 40); AddSpellFunc(&SpellFunc_LairBrute_Charge, Target_Current, 7, 0, 35, 0, 40); }
ShazzrahAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { AddSpell(SHAZZRAH_CURSE, Target_Self, 8, 0, 0); AddSpell(SHAZZRAH_MAGIC_GROUNDING, Target_Self, 6, 0, 0); AddSpell(SHAZZRAH_COUNTERSPELL, Target_Self, 6, 0, 0); mBlink = AddSpell(SHAZZRAH_BLINK, Target_RandomPlayer, 0, 0, 0); mArcaneExplosion = AddSpell(SHAZZRAH_ARCANE_EXPLOSION, Target_Self, 0, 0, 0); AddSpellFunc(&SpellFunc_ShazzrahBlink, Target_RandomPlayer, 100, -1, 45); }
KalecgosAI(Creature* pCreature) : ArcScriptBossAI(pCreature) { AddSpell(KALECGOS_FROST_BREATH, Target_Current, 10, 1, 12, 0, 30); AddSpellFunc(SpellFunc_Kalecgos_WildMagic, Target_RandomPlayer, 15, 0, 10, 0, 100); AddSpell(KALECGOS_SPECTRAL_BLAST, Target_Self, 25, 0, 25, 0, 50); AddSpell(KALECGOS_ARCANE_BUFFET, Target_Self, 100, 0, 8); //Emotes AddEmote(Event_OnCombatStart, "I need... your help... Cannot... resist him... much longer...", Text_Yell); AddEmote(Event_OnTargetDied, "In the name of Kil'jaeden!", Text_Yell); AddEmote(Event_OnTargetDied, "You were warned! ", Text_Yell); AddEmote(Event_OnDied, "I am forever in your debt. Once we have triumphed over Kil'jaeden, this entire world will be in your debt as well.", Text_Yell, 11135); }
IngvarUndeadAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { mInstance = GetInstanceScript(); AddSpellFunc(&SpellFunc_ShadowAxe, Target_RandomPlayerNotCurrent, 15, 0, 21); AddSpell(INGVAR_DARK_SMASH, Target_Self, 12, 3, 16); if (IsHeroic()) { AddSpell(INGVAR_DREADFUL_ROAR, Target_Self, 25, 2, 10); AddSpell(INGVAR_WOE_STRIKE, Target_ClosestUnit, 18, 0, 16); } }
IngvarUndeadAI(Creature* pCreature) : ArcTicScriptCreatureAI(pCreature) { AddSpellFunc( &SpellFunc_ShadowAxe, Target_RandomPlayerNotCurrent, 15, 0, 21); AddSpell(INGVAR_DARK_SMASH, Target_Self, 12, 3, 16 ); if(IsHeroic()) { AddSpell(INGVAR_DREADFUL_ROAR, Target_Self, 25, 2, 10 ); AddSpell(INGVAR_WOE_STRIKE, Target_ClosestUnit, 18, 0, 16 ); } AddEmote(Event_OnDied, "No! I can do... better! I can...", Text_Yell, 13211); };
GruulTheDragonkillerAI(Creature* pCreature) : ArcTicScriptCreatureAI(pCreature) { mHurtfulStrike = AddSpell(GRUUL_THE_DRAGONKILLER_HURTFUL_STRIKE, Target_Current, 0, 0, 0, 0, 8); mGroundSlam = AddSpell(GRUUL_THE_DRAGONKILLER_GROUND_SLAM, Target_Self, 0, 1, 0); mGroundSlam->AddEmote("Scurry.", Text_Yell, 11356); mGroundSlam->AddEmote("No escape.", Text_Yell, 11357); mGroundSlam2 = AddSpell(GRUUL_THE_DRAGONKILLER_GROUND_SLAM2, Target_Self, 0, 1, 0); mStoned = AddSpellFunc(&SpellFunc_Gruul_Stoned, Target_Self, 0, 2, 0); mShatter = AddSpellFunc(&SpellFunc_Gruul_Shatter, Target_Self, 0, 3, 0); mShatter2 = AddSpell(GRUUL_THE_DRAGONKILLER_SHATTER, Target_Self, 0, 1, 0); mShatter2->AddEmote("Stay...", Text_Yell, 11358); mShatter2->AddEmote("Beg for life.", Text_Yell, 11359); AddSpell(GRUUL_THE_DRAGONKILLER_REVERBERATION, Target_Self, 4, 0, 30); AddSpell(GRUUL_THE_DRAGONKILLER_CAVE_IN, Target_RandomPlayerDestination, 7, 0, 25); AddSpellFunc(&SpellFunc_Gruul_GroundSlam, Target_Self, 6, 1, 35); AddEmote(Event_OnCombatStart, "Come and die.", Text_Yell, 11355); AddEmote(Event_OnTargetDied, "No more.", Text_Yell, 11360); AddEmote(Event_OnTargetDied, "Unworthy.", Text_Yell, 11361); AddEmote(Event_OnTargetDied, "Die.", Text_Emote, 11362); AddEmote(Event_OnDied, "", Text_Yell, 11363); mGrowthTimer = mHurtfulTimer = -1; mGrowthStacks = 0; }
OrmorokAI(CreaturePointer pCreature) : MoonScriptBossAI(pCreature) { if ( IsHeroic() ) AddSpell(TRAMPLE_H, Target_Current, 30, 0, 9 ); else AddSpell(TRAMPLE, Target_Current, 30, 0, 9 ); AddSpell( SPELL_REFLECTION, Target_Self, 35, 2.0f, 15 ); mCrystalSpikes = AddSpellFunc( &SpellFunc_CrystalSpikes, Target_RandomPlayerNotCurrent, 25, 0, 12 ); AddEmote( Event_OnCombatStart, "Noo!", Text_Yell, 13328 ); AddEmote( Event_OnDied, "Aaggh!", Text_Yell, 13330 ); mEnraged = false; };
HighKingMaulgarAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature) { AddPhaseSpell(2, AddSpell(HIGH_KING_MAULGAR_BERSERKER_CHARGE, Target_RandomPlayer, 10, 0, 25, 0, 40)); AddPhaseSpell(2, AddSpell(HIGH_KING_MAULGAR_INTIMIDATING_ROAR, Target_Current, 7, 0, 20, 0, 5)); AddSpell(HIGH_KING_MAULGAR_ARCING_SMASH, Target_Current, 8, 0, 15, 0, 10); AddSpell(HIGH_KING_MAULGAR_WHIRLWIND, Target_Self, 7, 15, 25); // SpellFunc for range check? AddSpell(HIGH_KING_MAULGAR_MIGHTY_BLOW, Target_Current, 7, 0, 20, 0, 5); mEnrage = AddSpellFunc(&SpellFunc_Maulgar_Enrage, Target_Self, 0, 0, 0); mEnrage->AddEmote("You will not defeat the hand of Gruul!", Text_Yell, 11368); AddEmote(Event_OnCombatStart, "Gronn are the real power in Outland!", Text_Yell, 11367); AddEmote(Event_OnTargetDied, "You not so tough after all!", Text_Yell, 11373); AddEmote(Event_OnTargetDied, "Maulgar is king!", Text_Yell, 11375); AddEmote(Event_OnTargetDied, "", Text_Emote, 11374); AddEmote(Event_OnDied, "Grull... will crush you!", Text_Yell, 11376); mLastYell = -1; mAliveAdds = 0; }
LavaAnnihilatorAI(Creature* pCreature) : AscentScriptCreatureAI(pCreature) { AddSpellFunc(&SpellFunc_ClearHateList, Target_Self, 20, 0, 0); }
LavaAnnihilatorAI(CreaturePointer pCreature) : MoonScriptCreatureAI(pCreature) { AddSpellFunc(&SpellFunc_ClearHateList, Target_Self, 20, 0, 0); }