explicit SethekkGuardAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto thunderclap = addAISpell(SP_SETHEKK_GUARD_THUNDERCLAP, 12.0f, TARGET_VARIOUS, 0, 0, false, true); thunderclap->setAttackStopTimer(1000); auto sunderArmor = addAISpell(SP_SETHEKK_GUARD_SUNDER_ARMOR, 8.0f, TARGET_ATTACKING, 0, 0, false, true); sunderArmor->setAttackStopTimer(1000); }
explicit BlackWarlockAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto rainOfFire = addAISpell(RAIN_OF_FIRE, 10.0f, TARGET_DESTINATION); rainOfFire->setAttackStopTimer(1000); auto shadowBolt = addAISpell(BLACK_WARLOCK_AI_SHADOW_BOLT, 15.0f, TARGET_DESTINATION, 0, 0, false, true); shadowBolt->setAttackStopTimer(1000); }
explicit TimeLostScryerAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto flashHeal = addAISpell(SP_TL_SCRYER_FLASH_HEAL, 5.0f, TARGET_SELF, 0, 0, false, true); flashHeal->setAttackStopTimer(1000); auto arcaneMissiles = addAISpell(SP_TL_SCRYER_ARCANE_MISSILES, 12.0f, TARGET_ATTACKING, 0, 0, false, true); arcaneMissiles->setAttackStopTimer(1000); }
explicit SethekkTalonLordAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto ofJustice = addAISpell(SP_SETHEKK_TALON_OF_JUSTICE, 10.0f, TARGET_ATTACKING, 0, 0, false, true); ofJustice->setAttackStopTimer(1000); auto avengersShield = addAISpell(SP_SETHEKK_TALON_AVENGERS_SHIELD, 7.0f, TARGET_ATTACKING, 0, 0, false, true); avengersShield->setAttackStopTimer(1000); }
explicit FiremawAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto wingBuffet = addAISpell(WING_BUFFET, 10.0f, TARGET_VARIOUS); wingBuffet->setAttackStopTimer(1000); auto flameBuffet = addAISpell(FLAME_BUFFET, 15.0f, TARGET_VARIOUS); flameBuffet->setAttackStopTimer(1000); }
explicit SethekkRavenguardAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto bloodthirst = addAISpell(SP_SETHEKK_RAVENG_BLOODTHIRST, 10.0f, TARGET_ATTACKING, 0, 0, false, true); bloodthirst->setAttackStopTimer(1000); auto howlingScreech = addAISpell(SP_SETHEKK_RAVENG_HOWLING_SCREECH, 8.0f, TARGET_VARIOUS, 0, 0, false, true); howlingScreech->setAttackStopTimer(1000); }
explicit EbonrocAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto wingBuffet = addAISpell(WING_BUFFET, 10.0f, TARGET_VARIOUS); wingBuffet->setAttackStopTimer(1000); auto shadowOfEbonroc = addAISpell(SHADOW_OF_EBONROC, 15.0f, TARGET_ATTACKING); shadowOfEbonroc->setAttackStopTimer(1000); }
explicit FlamegorAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto wingBuffet = addAISpell(WING_BUFFET, 10.0f, TARGET_VARIOUS); wingBuffet->setAttackStopTimer(1000); auto fireNova = addAISpell(FIRE_NOVA, 20.0f, TARGET_VARIOUS, 0, 0, false, true); fireNova->setAttackStopTimer(1000); }
explicit SethekkOracleAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto faeriFire = addAISpell(SP_SETHEKK_ORACLE_FAERIE_FIRE, 8.0f, TARGET_ATTACKING, 0, 0, false, true); faeriFire->setAttackStopTimer(1000); auto arcaneLighning = addAISpell(SP_SETHEKK_ORACLE_ARCANE_LIGHTNING, 15.0f, TARGET_ATTACKING); arcaneLighning->setAttackStopTimer(1000); }
explicit DTcaptainAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto markOfFlames = addAISpell(MARK_OF_FLAMES, 15.0f, TARGET_ATTACKING); markOfFlames->setAttackStopTimer(1000); auto markOfDetonation = addAISpell(MARK_OF_DETONATION, 4.0f, TARGET_ATTACKING); markOfDetonation->setAttackStopTimer(2000); }
explicit AvianWarhawkAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto cleave = addAISpell(SP_AVIAN_WARHAWK_CLEAVE, 12.0f, TARGET_VARIOUS, 0, 0, false, true); cleave->setAttackStopTimer(1000); auto charge = addAISpell(SP_AVIAN_WARHAWK_CHARGE, 5.0f, TARGET_ATTACKING, 0, 0, false, true); charge->setAttackStopTimer(1000); auto bite = addAISpell(SP_AVIAN_WARHAWK_BITE, 12.0f, TARGET_ATTACKING, 0, 0, false, true); bite->setAttackStopTimer(1000); }
explicit CobaltSerpentAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto wingBuffet = addAISpell(SP_COBALT_SERPENT_WING_BUFFET, 7.0f, TARGET_VARIOUS); wingBuffet->setAttackStopTimer(1000); auto frostbolt = addAISpell(SP_COBALT_SERPENT_FROSTBOLT, 15.0f, TARGET_ATTACKING); frostbolt->setAttackStopTimer(1000); auto chainLightning = addAISpell(SP_COBALT_SERPENT_CHAIN_LIGHTNING, 9.0f, TARGET_ATTACKING); chainLightning->setAttackStopTimer(1000); }
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); }
explicit VaelastraszAI(Creature* pCreature) : CreatureAIScript(pCreature) { essenceOfTheRed = addAISpell(ESSENCE_OF_THE_RED, 0.0f, TARGET_VARIOUS); essenceOfTheRed->setAttackStopTimer(1000); auto flameBreath = addAISpell(FLAME_BREATH, 15.0f, TARGET_VARIOUS); flameBreath->setAttackStopTimer(3000); auto burningAdrenaline = addAISpell(BURNING_ADRENALINE, 3.0f, TARGET_ATTACKING); burningAdrenaline->setAttackStopTimer(2000); getCreature()->setHealth((uint32)(getCreature()->getMaxHealth() * 0.3f)); }
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); }
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 ANZUAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto bomb = addAISpell(SP_ANZU_SPELL_BOMB, 10.0f, TARGET_ATTACKING, 0, 0, false, true); bomb->setAttackStopTimer(1000); auto cycloneOfFeathers = addAISpell(SP_ANZU_CYCLONE_OF_FEATHERS, 10.0f, TARGET_ATTACKING); cycloneOfFeathers->setAttackStopTimer(1000); auto screech = addAISpell(SP_ANZU_PARALYZING_SCREECH, 10.0f, TARGET_VARIOUS); screech->setAttackStopTimer(1000); banish = addAISpell(SP_ANZU_BANISH, 0.0f, TARGET_SELF, 0, 0, false, true); banish->setAttackStopTimer(1000); ravenGod = addAISpell(SP_ANZU_SUMMON_RAVEN_GOD, 0.0f, TARGET_SELF, 0, 60, true, true); ravenGod->setAttackStopTimer(1000); Banished = false; }
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); }
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 DTflamescaleAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto flameShock = addAISpell(FLAME_SHOCK, 15.0f, TARGET_ATTACKING); flameShock->setAttackStopTimer(1000); }
explicit SethekkInitiateAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto magicReflection = addAISpell(SP_SETHEKK_INIT_MAGIC_REFLECTION, 10.0f, TARGET_SELF, 0, 0, false, true); magicReflection->setAttackStopTimer(1000); }
explicit SethekkProphetAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto prophetFear = addAISpell(SP_SETHEKK_PROPHET_FEAR, 8.0f, TARGET_ATTACKING, 0, 0, false, true); prophetFear->setAttackStopTimer(1000); }
explicit SethekkShamanAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto summonDarkVortex = addAISpell(SP_SETHEKK_SHAMAN_SUM_DARK_VORTEX, 8.0f, TARGET_SELF, 0, 0, false, true); summonDarkVortex->setAttackStopTimer(1000); }
explicit LashlayerAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto fireNovaLash = addAISpell(FIRE_NOVA_LASH, 15.0f, TARGET_VARIOUS); fireNovaLash->setAttackStopTimer(1000); }
explicit AvianDarkhawkAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto charge = addAISpell(SP_AVIAN_DARKHAWK_CHARGE, 5.0f, TARGET_ATTACKING, 0, 0, false, true); charge->setAttackStopTimer(1000); }
explicit TechnicianAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto granade = addAISpell(GRANADE, 25.0f, TARGET_ATTACKING); granade->setAttackStopTimer(1000); }
explicit DTwyrmkinAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto fireballVolley = addAISpell(FIREBALL_VOLLEY, 40.0f, TARGET_VARIOUS); fireballVolley->setAttackStopTimer(1000); }
explicit AvianRipperAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto fleshRip = addAISpell(SP_AVIAN_RIPPER_FLESH_RIP, 15.0f, TARGET_ATTACKING, 0, 0, false, true); fleshRip->setAttackStopTimer(3000); }
explicit TimeLostControllerAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto shrink = addAISpell(SP_TL_CONTROLLER_SHIRNK, 10.0f, TARGET_ATTACKING, 0, 0, false, true); shrink->setAttackStopTimer(1000); }
explicit TimeLostShadowmageAI(Creature* pCreature) : CreatureAIScript(pCreature) { auto curseOfDarkTalon = addAISpell(SP_TL_CURSE_OF_THE_DARK_TALON, 10.0f, TARGET_ATTACKING, 0, 0, false, true); curseOfDarkTalon->setAttackStopTimer(1000); }