TelestraBossAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { mInstance = GetInstanceScript(); mHeroic = IsHeroic(); if(mHeroic) { AddSpell(ICE_NOVA_HC, Target_Self, 25, 2.0, 15); AddSpell(FIREBOMB_HC, Target_RandomPlayer, 35, 1.5, 5); AddSpell(GRAVITY_WELL, Target_Self, 15, 0.5, 20); } else { AddSpell(ICE_NOVA, Target_Self, 25, 2.0, 15); AddSpell(FIREBOMB, Target_RandomPlayer, 35, 1.5, 5); AddSpell(GRAVITY_WELL, Target_Self, 15, 0.5, 20); }; SetAIUpdateFreq(1000); mAddCount = 0; mPhaseRepeat = 2; AddEmote(Event_OnCombatStart, "You know what they say about curiosity. ", Text_Yell, 13319); AddEmote(Event_OnDied, "Damn the... luck.", Text_Yell, 13320); AddEmote(Event_OnTargetDied, "Death becomes you!", Text_Yell, 13324); mAddArray[0] = mAddArray[1] = mAddArray[2] = NULL; };
Volkhan(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { mInstance = GetInstanceScript(); AddSpell(SPELL_HEAT, Target_WoundedFriendly, 15, 1.5f, 15); mStomp = AddSpell(SPELL_SHATTERING_STOMP, Target_Self, 0, 3, 0 ); mStomp->AddEmote("I will crush you beneath my boots!", Text_Yell, 13963); mStomp->AddEmote("All my work... undone!", Text_Yell, 13964); AddEmote(Event_OnCombatStart, "It is you who have destroyed my children? You... shall... pay!", Text_Yell, 13960); AddEmote(Event_OnTargetDied, "The armies of iron will conquer all!", Text_Yell, 13965); AddEmote(Event_OnTargetDied, "Ha, pathetic!", Text_Yell, 13966); AddEmote(Event_OnTargetDied, "You have cost me too much work!", Text_Yell, 13967); AddEmote(Event_OnDied, "The master was right... to be concerned.", Text_Yell, 13968); m_cVolkhanWP.x = 1328.666870f; m_cVolkhanWP.y = -97.022758f; m_cVolkhanWP.z = 56.675297f; m_cVolkhanWP.o = 2.235341f; SetMoveType( Move_DontMoveWP ); AddWaypoint( CreateWaypoint( 1, 0, Flag_Run, m_cVolkhanWP ) ); mStompTimer = INVALIDATE_TIMER; mPhase = 0; }
IonarAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { mInstance = GetInstanceScript(); AddSpell( BALL_LIGHTNING, Target_RandomPlayerNotCurrent, 20, 1.5f, 5 ); AddSpell( STATIC_OVERLOAD, Target_RandomPlayerNotCurrent, 15, 0, 12 ); AddEmote( Event_OnCombatStart, "You wish to confront the master? You must weather the storm!", Text_Yell, 14453 ); AddEmote( Event_OnTargetDied, "Shocking, I know", Text_Yell, 14456 ); AddEmote( Event_OnTargetDied, "You attempt the impossible", Text_Yell, 14457 ); AddEmote( Event_OnTargetDied, "Your spark of life is..extinguished!", Text_Yell, 14458 ); AddEmote( Event_OnDied, "Master... you have guests.", Text_Yell, 14459 ); };
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); } }
AnomalusAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { mInstance = GetInstanceScript(); if(IsHeroic()) AddSpell(SPARK_HC, Target_RandomPlayer, 80, 0, 3); else AddSpell(SPARK, Target_RandomPlayer, 80, 0, 3); AddEmote(Event_OnDied, "Of course.", Text_Yell, 13187); AddEmote(Event_OnCombatStart, "Chaos beckons.", Text_Yell, 13186); mSummon = 0; };
SladranAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { mInstance = GetInstanceScript(); SpellDesc* sdPoisonNova = AddSpell(POISON_NOVA, Target_Self, 10, 3.5f, 16); sdPoisonNova->AddAnnouncement("Slad'ran begins to cast Poison Nova!"); AddSpell(POWERFUL_BITE, Target_Current, 25, 0, 6); AddSpell(VENOM_BOLT, Target_RandomPlayerNotCurrent, 18, 1.5f, 8); AddEmote(Event_OnCombatStart, "Drakkari gonna kill anybody who trespass on these lands!", Text_Yell, 14443); AddEmote(Event_OnTargetDied, "Ye not breathin'! Good.", Text_Yell, 14446); AddEmote(Event_OnTargetDied, "You scared now?", Text_Yell, 14447); AddEmote(Event_OnTargetDied, "I'll eat you next, mon!" , Text_Yell, 14448); AddEmote(Event_OnDied, "I sssee now... Ssscourge wasss not... our greatessst enemy...", Text_Yell, 14449); }
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); } AddEmote(Event_OnDied, "No! I can do... better! I can...", Text_Yell, 13211); };
OrmorokAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { mInstance = GetInstanceScript(); 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 = AddSpell(CRYSTAL_SPIKES, Target_Self, 25, 0, 12); mCrystalSpikes->AddEmote("Bleed!", Text_Yell, 13332); AddEmote(Event_OnCombatStart, "Noo!", Text_Yell, 13328); AddEmote(Event_OnDied, "Aaggh!", Text_Yell, 13330); mEnraged = false; };
LokenAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { mInstance = GetInstanceScript(); mNova = AddSpell( LIGHTNING_NOVA, Target_Self, 0, 4.0f, 0 ); AddSpell( ARC_LIGHTNING, Target_RandomPlayer, 25, 0, 6 ); Emote( "I have witnessed the rise and fall of empires. The birth and extinction of entire species. Over countless millennia the foolishness of mortals has remained the only constant. Your presence here confirms this.", Text_Yell, 14160 ); AddEmote( Event_OnCombatStart, "What hope is there for you? None!", Text_Yell, 14162 ); AddEmote( Event_OnTargetDied, "Only mortal...", Text_Yell, 14166 ); AddEmote( Event_OnTargetDied, "I... am... FOREVER!", Text_Yell, 14167 ); AddEmote( Event_OnTargetDied, "What little time you had, you wasted!", Text_Yell, 14168 ); AddEmote( Event_OnDied, "My death... heralds the end of this world.", Text_Yell, 14172 ); mNovaTimer = INVALIDATE_TIMER; mRespondTimer = AddTimer( TIMER_RESPOND ); RegisterAIUpdateEvent( 1000 ); mSpeech = 1; };
GeneralBjarngrimAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { mInstance = GetInstanceScript(); // Battle Stance AddPhaseSpell(1, AddSpell( SPELL_MORTAL_STRIKE, Target_Current, 25, 0, 5)); AddPhaseSpell(1, AddSpell( SPELL_WHIRLWIND, Target_Self, 90, 8, 30)); // Berserker Stance AddPhaseSpell(2, AddSpell( SPELL_CLEAVE, Target_Current, 30, 0, 5 )); // Defensive Stance AddPhaseSpell(3, AddSpell( SPELL_SPELL_REFLECTION, Target_Self, 20, 0, 10)); AddPhaseSpell(3, AddSpell( SPELL_INTERCEPT, Target_RandomPlayerNotCurrent, 40, 0, 6)); AddPhaseSpell(3, AddSpell( SPELL_PUMMEL, Target_Current, 40, 0, 5)); AddEmote(Event_OnCombatStart, "I am the greatest of my father's sons! Your end has come!", Text_Yell, 14149); AddEmote(Event_OnTargetDied, "So ends your curse!", Text_Yell, 14153); AddEmote(Event_OnTargetDied, "Flesh... is... weak!", Text_Yell, 14154); AddEmote(Event_OnDied, "How can it be...? Flesh is not... stronger!", Text_Yell, 14156); mStanceTimer = INVALIDATE_TIMER; };
DragonflayerForgeMasterAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { mInstance = GetInstanceScript(); AddSpell(DRAGONFLAYER_FORGE_MASTER_BURNING_BRAND, Target_Current, 8, 0, 40, 0, 30); }
LieutenantDrakeAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { pInstance = dynamic_cast<OldHilsbradInstance*>(GetInstanceScript()); };