void AIUpdate() { if ((HandOfTheDeceiver1 && HandOfTheDeceiver2 && HandOfTheDeceiver3 && HandOfTheDeceiver4) && (HandOfTheDeceiver1->isDead() || HandOfTheDeceiver2->isDead() || HandOfTheDeceiver3->isDead() || HandOfTheDeceiver4->isDead()) && (GetPhase() != 1)) { RemoveAura(46410); } if ((HandOfTheDeceiver1 && HandOfTheDeceiver2 && HandOfTheDeceiver3 && HandOfTheDeceiver4) && (HandOfTheDeceiver1->isDead() && HandOfTheDeceiver2->isDead() && HandOfTheDeceiver3->isDead() && HandOfTheDeceiver4->isDead()) && (GetPhase() != 1) && (GetPhase() != 2)) { SetPhase(1); _unit->SetUInt64Value(UNIT_FIELD_FLAGS, ( true ) ? 0 : UNIT_FLAG_NOT_ATTACKABLE_9); _unit->GetAIInterface()->SetAllowedToEnterCombat(true); RemoveAura(46367); ShieldOrb1 = _unit->GetMapMgr()->GetInterface()->SpawnGameObject(CN_SHIELD_ORB, 1678.00f, 610.00f, 28.00f, 0.00f, false, 0, 0); } if (ShieldOrb1) { //ShieldOrb1->CastSpell(ShShadowbolt); } if (ShieldOrb2) { //ShieldOrb2->CastSpell(ShShadowbolt); } if (ShieldOrb3) { //ShieldOrb3->CastSpell(ShShadowbolt); } if (ShieldOrb4) { //ShieldOrb4->CastSpell(ShShadowbolt); } switch (dtimmer) { case 100: { dtimmer++; if (GetHealthPercent()<=85) { SetPhase(2); SetAllowMelee(false); SetCanMove(false); _unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "Kil'jaeden begins to channel dark energy"); } }break; case 120: { dtimmer++; if (GetPhase() == 2) CastSpellOnTarget(_unit, Target_RandomPlayer, Darkness_explosion, true); //CastSpellOnTarget(_unit, Target_RandomPlayer, Darkness, true); //this is the correct, but the dragon doesn't work. SetAllowMelee(false); SetCanMove(false); }break; case 128: { SetPhase(1); SetAllowMelee(false); SetCanMove(false); dtimmer = 1; }break; default: { SetCanMove(false); SetAllowMelee(false); dtimmer++; }break; } switch(GetPhase()) { case 1: { if(GetHealthPercent()<=85) { AddPhaseSpell(1, AddSpell(SINISTER_REFLECTION, Target_RandomPlayer, 10, 1.5f, 4, 0, 35)); AddPhaseSpell(1, AddSpell(SHADOW_SPIKE, Target_RandomDestination, 10, 2.0f, 6, 0, 35)); AddPhaseSpell(1, AddSpell(FLAME_DART_EXPLOSION, Target_RandomPlayer, 10, 1.3f, 4, 0, 35)); ShieldOrb1 = _unit->GetMapMgr()->GetInterface()->SpawnGameObject(CN_SHIELD_ORB, 1678.00f, 610.00f, 28.00f, -1.72788f, false, 0, 0); } if(GetHealthPercent()<=55) { ShieldOrb1 = _unit->GetMapMgr()->GetInterface()->SpawnGameObject(CN_SHIELD_ORB, 1684.00f, 651.00f, 28.00f, 0.00f, false, 0, 0); } if(GetHealthPercent()<=25) { //Armageddon ShieldOrb1 = _unit->GetMapMgr()->GetInterface()->SpawnGameObject(CN_SHIELD_ORB, 1720.00f, 642.00f, 28.00f, 0.00f, false, 0, 0); AddPhaseSpell(1, AddSpell(SACRIFICE_OF_ANVEENA, Target_RandomPlayer, 50, 0.5f, 10, 0, 35)); } }break; } ParentClass::AIUpdate(); }
Eramas_BrightblazeAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { AddSpell(ERAMAS_BRIGHTBLAZE_KNOCKDOWN, Target_Current, 25, 0, 5, 0, 5); AddSpell(ERAMAS_BRIGHTBLAZE_SNAP_KICK, Target_SecondMostHated, 40, 0, 2, 0, 5); }
ZelfanAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(ZELFAN_GOBLIN_DRAGON_GUN, Target_Current, 90, 0, 15, 0, 5); AddSpell(ZELFAN_HIGH_EXPLOSIV_SHEEP, Target_Self, 90, 2, 80); AddSpell(ZELFAN_ROCKET_LAUNCH, Target_RandomPlayer, 99, 3.5, 60, 0, 45); }
GarrAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { AddSpell(GARR_ANTIMAGIC_PULSE, Target_Self, 15, 0, 0); AddSpell(GARR_MAGMA_SHACKLES, Target_Self, 15, 0, 0); }
CoreRagerAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { Golemagg = NULL; AddSpell(CORERAGER_MANGLE, Target_Current, 20, 0, 20); }
LorgusJettAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { // Lightning Bolt AddSpell(12167, Target_Current, 20, 3, 0); }
FlamewakerAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(FLAMEWAKER_SUNDER_ARMOR, Target_Current, 8, 0, 0); AddSpell(FLAMEWAKER_FISTOFRAG, Target_Self, 8, 0, 0); AddSpell(FLAMEWAKER_STRIKE, Target_Current, 14, 0, 0); }
SunbladeImpAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature) { AddSpell(IMP_FIREBOLT, Target_Current, 100, 2, (int32)2.5, 0, 30); }
SunbladeMageGuardAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature) { AddSpell(MAGE_GUARD_GLAVE_THROW, Target_Current, 60, 0, 25, 0, 5); AddSpell(MAGE_GUARD_MAGIC_DAMPENING_FIELD, Target_RandomPlayer, 20, 1, 35, 0, 20); }
VoidWalkerAI(CreaturePointer pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(7154, Target_WoundedFriendly, 5, 0, 7); }
SunbladeBloodKnightAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature) { AddSpell(BLOOD_KNIGHT_JUDGEMENT_OF_WRATH, Target_Current, 20, 0, 30, 0, 5); AddSpell(BLOOD_KNIGHT_SEAL_OF_WRATH, Target_Self, 99, 0, 30, 0, 0); AddSpell(BLOOD_KNIGHT_HOLY_LIGHT, Target_Self, 10, 2, 30, 0, 40); }
FenrusAI(CreaturePointer pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(7125, Target_Current, 12, 1.5f, 60); }
ShadowswordCommanderAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(SHADOWSWORD_COMMANDER_SHIELD_SLAM, Target_Current, 10, 0, 10); AddSpell(SHADOWSWORD_COMMANDER_BATTLESHOUT, Target_Self, 20, 0, 25); }
SunbladeProtectorAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(SUNBLADE_PROTECTOR_FEL_LIGHTNING, Target_RandomPlayer, 100, 0, 15, 0, 60); }
GhamooraAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { // Trample AddSpell(5568, Target_Self, 12, 0, 0); }
SunbladeMagisterAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature) { AddSpell(MAGISTER_FROSTBOLT, Target_Current, 65, 2, 4, 0, 30); AddSpell(MAGISTER_ARCANE_NOVA, Target_Self, 12, 1.5, 40, 0, 0); }
GelihastAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { // Net AddSpell(6533, Target_RandomPlayer, 10, 0, 0); }
thekaAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(8600, Target_Current, 20, 4.5f, -1); //Fevered Plague morph = false; }
MordreshFireEyeAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { //spells AddSpell(SP_MORDRESH_FIRE_NOVA, Target_Self, 10, 2, 0); AddSpell(SP_MORDRESH_FIREBALL, Target_Current, 10, 3, 0, 0, 40); }
ChaoticRiftAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { _unit->GetAIInterface()->SetAllowedToEnterCombat(false); AddSpell(SUMMON_MANA_WRAITH, Target_Self, 30, 0, dbcSpell.LookupEntryForced(SUMMON_MANA_WRAITH)->RecoveryTime); AddSpell(CHAOTIC_ENERGY_BURST, Target_RandomPlayer, 30, 0, dbcSpell.LookupEntryForced(CHAOTIC_ENERGY_BURST)->RecoveryTime); };
GehennasAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { AddSpell(GEHENNAS_SHADOW_BOLT, Target_RandomPlayer, 10, 0, 0, 0, 40); AddSpell(GEHENNAS_RAIN_OF_FIRE, Target_RandomPlayer, 10, 0, 10); AddSpell(GEHENNAS_CURSE, Target_Self, 8, 6, 0, 0, 40); }
TelestraArcaneAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { AddSpell(TIME_STOP, Target_Self, 30, 1.5, 30); AddSpell(CRITTER, Target_RandomPlayer, 25, 0, 20); };
LucifronAI(Creature *pCreature) : MoonScriptBossAI(pCreature) { AddSpell(LUCIFRON_IMPENDING_DOOM, Target_Self, 15, 0, 10); AddSpell(LUCIFRON_LUCIFRONS_CURSE, Target_Self, 100, 0, 15); AddSpell(LUCIFRON_SHADOW_SHOCK, Target_Self, 8, 0, 6); }
BroggokAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(POISON_BOLT, Target_Self, 12.0f, 0, 15); AddSpell(POISON_CLOUD, Target_RandomPlayerDestination, 8.0f, 0, 40, 0, 40); AddSpell(SLIME_SPRAY, Target_Self, 10.0f, 0, 25); }
Kagani_NightstrikeAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { AddSpell(KAGANI_NIGHTSTRIKE_KidneyShot, Target_Current, 80, 0, 25, 0, 30); AddSpell(KAGANI_NIGHTSTRIKE_Gouge, Target_ClosestPlayer, 20, 0, 18, 0, 30); AddSpell(KAGANI_NIGHTSTRIKE_Eviscerate, Target_Current, 8, 0, 45, 0, 30); }
SoaringEagleAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(EAGLE_SWOOP, Target_Destination, 5, 0, 0); GetUnit()->m_noRespawn = true; }
ApokoAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { AddSpell(APOKO_FROST_SHOCK, Target_RandomPlayer, 40, 0, 8, 0, 20); AddSpell(APOKO_LESSER_HEALING_WAVE, Target_RandomFriendly, 50, 1.5, 10, 0, 40); AddSpell(APOKO_PURGE, Target_RandomUnit, 20, 0, 40, 0, 30); }
DragonflayerForgeMasterAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) { mInstance = GetInstanceScript(); AddSpell(DRAGONFLAYER_FORGE_MASTER_BURNING_BRAND, Target_Current, 8, 0, 40, 0, 30); }
SisterOfTormentAI(Creature* pCreature) : MoonScriptBossAI(pCreature) { AddSpell(SISTER_OF_TORMENT_LASH_OF_PAIN, Target_Current, 60, 0, 8, 0, 5); AddSpell(SISTER_OF_TORMENT_DEADLY_EMBRACE, Target_RandomPlayer, 20, 1.5, 16, 0, 20); }
KilJaedenAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature) { AddPhaseSpell(1, AddSpell(LEGION_LIGHTNING, Target_RandomPlayer, 10, 1.5f, 2, 0, 35)); AddPhaseSpell(1, AddSpell(SOUL_FLAY, Target_RandomPlayer, 10, 0, 0, 0, 35)); AddPhaseSpell(1, AddSpell(FIRE_BLOOM, Target_RandomPlayer, 10, 1, 0, 0, 100)); }