mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 01:08:35 +00:00
naxx merge fixes
This commit is contained in:
@@ -24,10 +24,8 @@ enum GuardSays
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_IMPALE_10 = 28783,
|
||||
SPELL_IMPALE_25 = 56090,
|
||||
SPELL_LOCUST_SWARM_10 = 28785,
|
||||
SPELL_LOCUST_SWARM_25 = 54021,
|
||||
SPELL_IMPALE = 28783,
|
||||
SPELL_LOCUST_SWARM = 28785,
|
||||
SPELL_SUMMON_CORPSE_SCRABS_5 = 29105,
|
||||
SPELL_SUMMON_CORPSE_SCRABS_10 = 28864,
|
||||
SPELL_BERSERK = 26662
|
||||
@@ -127,12 +125,12 @@ public:
|
||||
}
|
||||
|
||||
ScheduleTimedEvent(15s, [&] {
|
||||
DoCastRandomTarget(RAID_MODE(SPELL_IMPALE_10, SPELL_IMPALE_25));
|
||||
DoCastRandomTarget(SPELL_IMPALE);
|
||||
}, 20s);
|
||||
|
||||
ScheduleTimedEvent(70s, 2min, [&] {
|
||||
Talk(EMOTE_LOCUST);
|
||||
DoCastSelf(RAID_MODE(SPELL_LOCUST_SWARM_10, SPELL_LOCUST_SWARM_25));
|
||||
DoCastSelf(SPELL_LOCUST_SWARM);
|
||||
|
||||
me->m_Events.AddEventAtOffset([&]
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "CreatureScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#ifndef BOSS_FAERLINA_H_
|
||||
#define BOSS_FAERLINA_H_
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "naxxramas.h"
|
||||
|
||||
namespace Faerlina {
|
||||
@@ -25,7 +26,6 @@ enum Spells
|
||||
SPELL_RAIN_OF_FIRE = 28794,
|
||||
SPELL_FRENZY = 28798,
|
||||
SPELL_WIDOWS_EMBRACE = 28732,
|
||||
SPELL_MINION_WIDOWS_EMBRACE = 54097
|
||||
};
|
||||
|
||||
enum Groups
|
||||
@@ -131,7 +131,7 @@ public:
|
||||
|
||||
void SpellHit(Unit* caster, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == RAID_MODE(SPELL_WIDOWS_EMBRACE, SPELL_MINION_WIDOWS_EMBRACE))
|
||||
if (spell->Id == sSpellMgr->GetSpellIdForDifficulty(SPELL_WIDOWS_EMBRACE, me))
|
||||
{
|
||||
Talk(EMOTE_WIDOWS_EMBRACE);
|
||||
scheduler.RescheduleGroup(GROUP_FRENZY, 1min);
|
||||
|
||||
@@ -22,23 +22,17 @@ enum Spells
|
||||
SPELL_MARK_OF_ZELIEK = 28835,
|
||||
SPELL_MARK_DAMAGE = 28836,
|
||||
// Korth'azz
|
||||
SPELL_KORTHAZZ_METEOR_10 = 28884,
|
||||
SPELL_KORTHAZZ_METEOR_25 = 57467,
|
||||
SPELL_KORTHAZZ_METEOR = 28884,
|
||||
// Blaumeux
|
||||
SPELL_BLAUMEUX_SHADOW_BOLT_10 = 57374,
|
||||
SPELL_BLAUMEUX_SHADOW_BOLT_25 = 57464,
|
||||
SPELL_BLAUMEUX_VOID_ZONE_10 = 28863,
|
||||
SPELL_BLAUMEUX_VOID_ZONE_25 = 57463,
|
||||
SPELL_BLAUMEUX_SHADOW_BOLT = 57374,
|
||||
SPELL_BLAUMEUX_VOID_ZONE = 28863,
|
||||
SPELL_BLAUMEUX_UNYIELDING_PAIN = 57381,
|
||||
// Zeliek
|
||||
SPELL_ZELIEK_HOLY_WRATH_10 = 28883,
|
||||
SPELL_ZELIEK_HOLY_WRATH_25 = 57466,
|
||||
SPELL_ZELIEK_HOLY_BOLT_10 = 57376,
|
||||
SPELL_ZELIEK_HOLY_BOLT_25 = 57465,
|
||||
SPELL_ZELIEK_HOLY_WRATH = 28883,
|
||||
SPELL_ZELIEK_HOLY_BOLT = 57376,
|
||||
SPELL_ZELIEK_CONDEMNATION = 57377,
|
||||
// Rivendare
|
||||
SPELL_RIVENDARE_UNHOLY_SHADOW_10 = 28882,
|
||||
SPELL_RIVENDARE_UNHOLY_SHADOW_25 = 57369
|
||||
SPELL_RIVENDARE_UNHOLY_SHADOW = 28882,
|
||||
};
|
||||
|
||||
enum Events
|
||||
@@ -76,15 +70,13 @@ enum FourHorsemen
|
||||
const uint32 TABLE_SPELL_MARK[4] = {SPELL_MARK_OF_ZELIEK, SPELL_MARK_OF_BLAUMEUX, SPELL_MARK_OF_RIVENDARE, SPELL_MARK_OF_KORTHAZZ};
|
||||
|
||||
// PRIMARY SPELL
|
||||
const uint32 TABLE_SPELL_PRIMARY_10[4] = {SPELL_ZELIEK_HOLY_BOLT_10, SPELL_BLAUMEUX_SHADOW_BOLT_10, SPELL_RIVENDARE_UNHOLY_SHADOW_10, SPELL_KORTHAZZ_METEOR_10};
|
||||
const uint32 TABLE_SPELL_PRIMARY_25[4] = {SPELL_ZELIEK_HOLY_BOLT_25, SPELL_BLAUMEUX_SHADOW_BOLT_25, SPELL_RIVENDARE_UNHOLY_SHADOW_25, SPELL_KORTHAZZ_METEOR_25};
|
||||
const uint32 TABLE_SPELL_PRIMARY[4] = {SPELL_ZELIEK_HOLY_BOLT, SPELL_BLAUMEUX_SHADOW_BOLT, SPELL_RIVENDARE_UNHOLY_SHADOW, SPELL_KORTHAZZ_METEOR};
|
||||
|
||||
// PUNISH
|
||||
const uint32 TABLE_SPELL_PUNISH[4] = {SPELL_ZELIEK_CONDEMNATION, SPELL_BLAUMEUX_UNYIELDING_PAIN, 0, 0};
|
||||
|
||||
// SECONDARY SPELL
|
||||
const uint32 TABLE_SPELL_SECONDARY_10[4] = {SPELL_ZELIEK_HOLY_WRATH_10, SPELL_BLAUMEUX_VOID_ZONE_10, 0, 0};
|
||||
const uint32 TABLE_SPELL_SECONDARY_25[4] = {SPELL_ZELIEK_HOLY_WRATH_25, SPELL_BLAUMEUX_VOID_ZONE_25, 0, 0};
|
||||
const uint32 TABLE_SPELL_SECONDARY[4] = {SPELL_ZELIEK_HOLY_WRATH, SPELL_BLAUMEUX_VOID_ZONE, 0, 0};
|
||||
|
||||
const Position WaypointPositions[12] =
|
||||
{
|
||||
@@ -297,11 +289,11 @@ public:
|
||||
return;
|
||||
case EVENT_PRIMARY_SPELL:
|
||||
Talk(SAY_TAUNT);
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(TABLE_SPELL_PRIMARY_10[horsemanId], TABLE_SPELL_PRIMARY_25[horsemanId]), false);
|
||||
me->CastSpell(me->GetVictim(), TABLE_SPELL_PRIMARY[horsemanId], false);
|
||||
events.Repeat(15s);
|
||||
return;
|
||||
case EVENT_SECONDARY_SPELL:
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(TABLE_SPELL_SECONDARY_10[horsemanId], TABLE_SPELL_SECONDARY_25[horsemanId]), false);
|
||||
me->CastSpell(me->GetVictim(), TABLE_SPELL_SECONDARY[horsemanId], false);
|
||||
events.Repeat(15s);
|
||||
return;
|
||||
}
|
||||
@@ -317,7 +309,7 @@ public:
|
||||
}
|
||||
if (me->IsWithinDistInMap(me->GetVictim(), 45.0f) && me->IsValidAttackTarget(me->GetVictim()))
|
||||
{
|
||||
DoCastVictim(RAID_MODE(TABLE_SPELL_PRIMARY_10[horsemanId], TABLE_SPELL_PRIMARY_25[horsemanId]));
|
||||
DoCastVictim(TABLE_SPELL_PRIMARY[horsemanId]);
|
||||
}
|
||||
else if (!me->IsWithinDistInMap(me->GetVictim(), 45.0f) || !me->IsValidAttackTarget(me->GetVictim()))
|
||||
{
|
||||
|
||||
@@ -13,10 +13,8 @@ namespace Gluth {
|
||||
enum Spells
|
||||
{
|
||||
SPELL_MORTAL_WOUND = 25646,
|
||||
SPELL_ENRAGE_10 = 28371,
|
||||
SPELL_ENRAGE_25 = 54427,
|
||||
SPELL_DECIMATE_10 = 28374,
|
||||
SPELL_DECIMATE_25 = 54426,
|
||||
SPELL_ENRAGE = 28371,
|
||||
SPELL_DECIMATE = 28374,
|
||||
SPELL_DECIMATE_DAMAGE = 28375,
|
||||
SPELL_BERSERK = 26662,
|
||||
SPELL_INFECTED_WOUND = 29306,
|
||||
@@ -172,7 +170,7 @@ public:
|
||||
break;
|
||||
case EVENT_ENRAGE:
|
||||
Talk(EMOTE_ENRAGE);
|
||||
me->CastSpell(me, RAID_MODE(SPELL_ENRAGE_10, SPELL_ENRAGE_25), true);
|
||||
me->CastSpell(me, SPELL_ENRAGE, true);
|
||||
events.Repeat(22s);
|
||||
break;
|
||||
case EVENT_MORTAL_WOUND:
|
||||
@@ -181,7 +179,7 @@ public:
|
||||
break;
|
||||
case EVENT_DECIMATE:
|
||||
Talk(EMOTE_DECIMATE);
|
||||
me->CastSpell(me, RAID_MODE(SPELL_DECIMATE_10, SPELL_DECIMATE_25), false);
|
||||
me->CastSpell(me, SPELL_DECIMATE, false);
|
||||
events.Repeat(RAID_MODE(110s, 90s));
|
||||
break;
|
||||
case EVENT_SUMMON_ZOMBIE:
|
||||
|
||||
@@ -29,8 +29,7 @@ enum Spells
|
||||
{
|
||||
// Gothik
|
||||
SPELL_HARVEST_SOUL = 28679,
|
||||
SPELL_SHADOW_BOLT_10 = 29317,
|
||||
SPELL_SHADOW_BOLT_25 = 56405,
|
||||
SPELL_SHADOW_BOLT = 29317,
|
||||
// Teleport spells
|
||||
SPELL_TELEPORT_DEAD = 28025,
|
||||
SPELL_TELEPORT_LIVE = 28026,
|
||||
@@ -255,7 +254,7 @@ public:
|
||||
std::vector<Player*> tList;
|
||||
for(Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
|
||||
{
|
||||
if (!me->IsWithinDistInMap(itr->GetSource(), 200.0f, true, false) || !itr->GetSource()->IsAlive() || itr->GetSource()->IsGameMaster())
|
||||
if (!me->IsWithinDistInMap(itr->GetSource(), 200.0f, true, false, false) || !itr->GetSource()->IsAlive() || itr->GetSource()->IsGameMaster())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -388,7 +387,7 @@ public:
|
||||
Talk(SAY_INTRO_4);
|
||||
break;
|
||||
case EVENT_SHADOW_BOLT:
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_SHADOW_BOLT_10, SPELL_SHADOW_BOLT_25), false);
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHADOW_BOLT, false);
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
case EVENT_HARVEST_SOUL:
|
||||
|
||||
@@ -17,10 +17,8 @@ enum Spells
|
||||
SPELL_POISON_CLOUD = 28240,
|
||||
SPELL_MUTATING_INJECTION = 28169,
|
||||
SPELL_MUTATING_EXPLOSION = 28206,
|
||||
SPELL_SLIME_SPRAY_10 = 28157,
|
||||
SPELL_SLIME_SPRAY_25 = 54364,
|
||||
SPELL_POISON_CLOUD_DAMAGE_AURA_10 = 28158,
|
||||
SPELL_POISON_CLOUD_DAMAGE_AURA_25 = 54362,
|
||||
SPELL_SLIME_SPRAY = 28157,
|
||||
SPELL_POISON_CLOUD_DAMAGE_AURA = 28158,
|
||||
SPELL_BERSERK = 26662,
|
||||
SPELL_BOMBARD_SLIME = 28280
|
||||
};
|
||||
@@ -93,14 +91,6 @@ public:
|
||||
events.ScheduleEvent(EVENT_BERSERK, RAID_MODE(720s, 540s));
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spellInfo) override
|
||||
{
|
||||
if (spellInfo->Id == RAID_MODE(SPELL_SLIME_SPRAY_10, SPELL_SLIME_SPRAY_25) && target->IsPlayer())
|
||||
{
|
||||
me->SummonCreature(NPC_FALLOUT_SLIME, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
|
||||
}
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* cr) override
|
||||
{
|
||||
if (cr->GetEntry() == NPC_FALLOUT_SLIME)
|
||||
@@ -157,7 +147,7 @@ public:
|
||||
break;
|
||||
case EVENT_SLIME_SPRAY:
|
||||
Talk(EMOTE_SLIME);
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_SLIME_SPRAY_10, SPELL_SLIME_SPRAY_25), false);
|
||||
me->CastSpell(me->GetVictim(), SPELL_SLIME_SPRAY, false);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_MUTATING_INJECTION:
|
||||
@@ -211,7 +201,7 @@ public:
|
||||
auraVisualTimer += diff;
|
||||
if (auraVisualTimer >= 1000)
|
||||
{
|
||||
me->CastSpell(me, (me->GetMap()->Is25ManRaid() ? SPELL_POISON_CLOUD_DAMAGE_AURA_25 : SPELL_POISON_CLOUD_DAMAGE_AURA_10), true);
|
||||
me->CastSpell(me, SPELL_POISON_CLOUD_DAMAGE_AURA, true);
|
||||
auraVisualTimer = 0;
|
||||
}
|
||||
}
|
||||
@@ -279,6 +269,22 @@ class spell_grobbulus_mutating_injection_aura : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
class spell_grobbulus_slime_spray : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_grobbulus_slime_spray);
|
||||
|
||||
void HandleHit()
|
||||
{
|
||||
if (Unit* target = GetHitUnit())
|
||||
GetCaster()->SummonCreature(NPC_FALLOUT_SLIME, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_grobbulus_slime_spray::HandleHit);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -23,8 +23,7 @@ enum Says
|
||||
enum Spells
|
||||
{
|
||||
SPELL_SPELL_DISRUPTION = 29310,
|
||||
SPELL_DECREPIT_FEVER_10 = 29998,
|
||||
SPELL_DECREPIT_FEVER_25 = 55011,
|
||||
SPELL_DECREPIT_FEVER = 29998,
|
||||
SPELL_PLAGUE_CLOUD = 29350,
|
||||
SPELL_TELEPORT_SELF = 30211
|
||||
};
|
||||
@@ -157,7 +156,7 @@ public:
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_DECEPIT_FEVER:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_DECREPIT_FEVER_10, SPELL_DECREPIT_FEVER_25), false);
|
||||
me->CastSpell(me, SPELL_DECREPIT_FEVER, false);
|
||||
events.Repeat(22s, 25s);
|
||||
break;
|
||||
case EVENT_PLAGUE_CLOUD:
|
||||
|
||||
@@ -31,10 +31,8 @@ enum Yells
|
||||
enum Spells
|
||||
{
|
||||
// Kel'Thzuad
|
||||
SPELL_FROST_BOLT_SINGLE_10 = 28478,
|
||||
SPELL_FROST_BOLT_SINGLE_25 = 55802,
|
||||
SPELL_FROST_BOLT_MULTI_10 = 28479,
|
||||
SPELL_FROST_BOLT_MULTI_25 = 55807,
|
||||
SPELL_FROST_BOLT_SINGLE = 28478,
|
||||
SPELL_FROST_BOLT_MULTI = 28479,
|
||||
SPELL_SHADOW_FISURE = 27810,
|
||||
SPELL_VOID_BLAST = 27812,
|
||||
SPELL_DETONATE_MANA = 27819,
|
||||
@@ -355,11 +353,11 @@ public:
|
||||
me->CastSpell(me, SPELL_BERSERK, true);
|
||||
break;
|
||||
case EVENT_FROST_BOLT_SINGLE:
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_FROST_BOLT_SINGLE_10, SPELL_FROST_BOLT_SINGLE_25), false);
|
||||
me->CastSpell(me->GetVictim(), SPELL_FROST_BOLT_SINGLE, false);
|
||||
events.Repeat(2s, 10s);
|
||||
break;
|
||||
case EVENT_FROST_BOLT_MULTI:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_FROST_BOLT_MULTI_10, SPELL_FROST_BOLT_MULTI_25), false);
|
||||
me->CastSpell(me, SPELL_FROST_BOLT_MULTI, false);
|
||||
events.Repeat(15s, 30s);
|
||||
break;
|
||||
case EVENT_SHADOW_FISSURE:
|
||||
|
||||
@@ -12,10 +12,8 @@ enum Spells
|
||||
{
|
||||
SPELL_NECROTIC_AURA = 55593,
|
||||
SPELL_SUMMON_SPORE = 29234,
|
||||
SPELL_DEATHBLOOM_10 = 29865,
|
||||
SPELL_DEATHBLOOM_25 = 55053,
|
||||
SPELL_INEVITABLE_DOOM_10 = 29204,
|
||||
SPELL_INEVITABLE_DOOM_25 = 55052,
|
||||
SPELL_DEATHBLOOM = 29865,
|
||||
SPELL_INEVITABLE_DOOM = 29204,
|
||||
SPELL_BERSERK = 26662
|
||||
};
|
||||
|
||||
@@ -123,11 +121,11 @@ public:
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_DEATHBLOOM:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_DEATHBLOOM_10, SPELL_DEATHBLOOM_25), false);
|
||||
me->CastSpell(me, SPELL_DEATHBLOOM, false);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
case EVENT_INEVITABLE_DOOM:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_INEVITABLE_DOOM_10, SPELL_INEVITABLE_DOOM_25), false);
|
||||
me->CastSpell(me, SPELL_INEVITABLE_DOOM, false);
|
||||
doomCounter++;
|
||||
events.Repeat(doomCounter < 6 ? 30s : 15s);
|
||||
break;
|
||||
@@ -148,8 +146,8 @@ public:
|
||||
{
|
||||
// Calculate the distance between his home position to the gate
|
||||
if (me->GetExactDist(me->GetHomePosition().GetPositionX(),
|
||||
me->GetHomePosition().GetPositionY(),
|
||||
me->GetHomePosition().GetPositionZ()) > 50.0f)
|
||||
me->GetHomePosition().GetPositionY(),
|
||||
me->GetHomePosition().GetPositionZ()) > 50.0f)
|
||||
{
|
||||
EnterEvadeMode();
|
||||
return false;
|
||||
|
||||
@@ -15,14 +15,10 @@ namespace Maexxna {
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_WEB_SPRAY_10 = 29484,
|
||||
SPELL_WEB_SPRAY_25 = 54125,
|
||||
SPELL_POISON_SHOCK_10 = 28741,
|
||||
SPELL_POISON_SHOCK_25 = 54122,
|
||||
SPELL_NECROTIC_POISON_10 = 54121,
|
||||
SPELL_NECROTIC_POISON_25 = 28776,
|
||||
SPELL_FRENZY_10 = 54123,
|
||||
SPELL_FRENZY_25 = 54124,
|
||||
SPELL_WEB_SPRAY = 29484,
|
||||
SPELL_POISON_SHOCK = 28741,
|
||||
SPELL_NECROTIC_POISON = 54121,
|
||||
SPELL_FRENZY = 54123,
|
||||
SPELL_WEB_WRAP_STUN = 28622,
|
||||
SPELL_WEB_WRAP_SUMMON = 28627,
|
||||
SPELL_WEB_WRAP_KILL_WEBS = 52512,
|
||||
@@ -220,15 +216,15 @@ public:
|
||||
{
|
||||
case EVENT_WEB_SPRAY:
|
||||
Talk(EMOTE_WEB_SPRAY);
|
||||
me->CastSpell(me, RAID_MODE(SPELL_WEB_SPRAY_10, SPELL_WEB_SPRAY_25), true);
|
||||
me->CastSpell(me, SPELL_WEB_SPRAY, true);
|
||||
events.Repeat(40s);
|
||||
break;
|
||||
case EVENT_POISON_SHOCK:
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_POISON_SHOCK_10, SPELL_POISON_SHOCK_25), false);
|
||||
me->CastSpell(me->GetVictim(), SPELL_POISON_SHOCK, false);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_NECROTIC_POISON:
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_NECROTIC_POISON_10, SPELL_NECROTIC_POISON_25), false);
|
||||
me->CastSpell(me->GetVictim(), SPELL_NECROTIC_POISON, false);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
case EVENT_SUMMON_SPIDERLINGS:
|
||||
@@ -242,7 +238,7 @@ public:
|
||||
case EVENT_HEALTH_CHECK:
|
||||
if (me->GetHealthPct() < 30)
|
||||
{
|
||||
me->CastSpell(me, RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25), true);
|
||||
me->CastSpell(me, SPELL_FRENZY, true);
|
||||
break;
|
||||
}
|
||||
events.Repeat(1s);
|
||||
|
||||
@@ -23,10 +23,8 @@ enum Says
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_CURSE_OF_THE_PLAGUEBRINGER_10 = 29213,
|
||||
SPELL_CURSE_OF_THE_PLAGUEBRINGER_25 = 54835,
|
||||
SPELL_CRIPPLE_10 = 29212,
|
||||
SPELL_CRIPPLE_25 = 54814,
|
||||
SPELL_CURSE_OF_THE_PLAGUEBRINGER = 29213,
|
||||
SPELL_CRIPPLE = 29212,
|
||||
SPELL_SUMMON_PLAGUED_WARRIORS = 29237,
|
||||
SPELL_TELEPORT = 29216,
|
||||
SPELL_TELEPORT_BACK = 29231,
|
||||
@@ -196,7 +194,7 @@ public:
|
||||
case EVENT_CURSE:
|
||||
if (events.GetPhaseMask() == 0)
|
||||
{
|
||||
me->CastCustomSpell(RAID_MODE(SPELL_CURSE_OF_THE_PLAGUEBRINGER_10, SPELL_CURSE_OF_THE_PLAGUEBRINGER_25), SPELLVALUE_MAX_TARGETS, RAID_MODE(3, 10), me, false);
|
||||
me->CastCustomSpell(SPELL_CURSE_OF_THE_PLAGUEBRINGER, SPELLVALUE_MAX_TARGETS, RAID_MODE(3, 10), me, false);
|
||||
}
|
||||
events.Repeat(25s);
|
||||
break;
|
||||
@@ -217,7 +215,7 @@ public:
|
||||
break;
|
||||
case EVENT_BLINK:
|
||||
DoResetThreatList();
|
||||
me->CastSpell(me, RAID_MODE(SPELL_CRIPPLE_10, SPELL_CRIPPLE_25), false);
|
||||
me->CastSpell(me, SPELL_CRIPPLE, false);
|
||||
me->CastSpell(me, SPELL_BLINK, true);
|
||||
Talk(EMOTE_BLINK);
|
||||
events.Repeat(30s);
|
||||
|
||||
@@ -19,8 +19,7 @@ enum Yells
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_HATEFUL_STRIKE_10 = 41926,
|
||||
SPELL_HATEFUL_STRIKE_25 = 59192,
|
||||
SPELL_HATEFUL_STRIKE = 41926,
|
||||
SPELL_FRENZY = 28131,
|
||||
SPELL_BERSERK = 26662,
|
||||
SPELL_SLIME_BOLT = 32309
|
||||
@@ -144,7 +143,7 @@ public:
|
||||
}
|
||||
if (finalTarget)
|
||||
{
|
||||
me->CastSpell(finalTarget, RAID_MODE(SPELL_HATEFUL_STRIKE_10, SPELL_HATEFUL_STRIKE_25), false);
|
||||
me->CastSpell(finalTarget, SPELL_HATEFUL_STRIKE, false);
|
||||
}
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
|
||||
@@ -22,8 +22,7 @@ enum Says
|
||||
enum Spells
|
||||
{
|
||||
SPELL_UNBALANCING_STRIKE = 26613,
|
||||
SPELL_DISRUPTING_SHOUT_10 = 55543,
|
||||
SPELL_DISRUPTING_SHOUT_25 = 29107,
|
||||
SPELL_DISRUPTING_SHOUT = 55543,
|
||||
SPELL_JAGGED_KNIFE = 55550,
|
||||
SPELL_HOPELESS = 29125,
|
||||
SPELL_TAUNT = 29060
|
||||
@@ -255,7 +254,7 @@ public:
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_DISRUPTING_SHOUT:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_DISRUPTING_SHOUT_10, SPELL_DISRUPTING_SHOUT_25), false);
|
||||
me->CastSpell(me, SPELL_DISRUPTING_SHOUT, false);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
case EVENT_JAGGED_KNIFE:
|
||||
|
||||
@@ -21,14 +21,11 @@ enum Yells
|
||||
enum Spells
|
||||
{
|
||||
// Fight
|
||||
SPELL_FROST_AURA_10 = 28531,
|
||||
SPELL_FROST_AURA_25 = 55799,
|
||||
SPELL_FROST_AURA = 28531,
|
||||
SPELL_CLEAVE = 19983,
|
||||
SPELL_TAIL_SWEEP_10 = 55697,
|
||||
SPELL_TAIL_SWEEP_25 = 55696,
|
||||
SPELL_TAIL_SWEEP = 55697,
|
||||
SPELL_SUMMON_BLIZZARD = 28560,
|
||||
SPELL_LIFE_DRAIN_10 = 28542,
|
||||
SPELL_LIFE_DRAIN_25 = 55665,
|
||||
SPELL_LIFE_DRAIN = 28542,
|
||||
SPELL_BERSERK = 26662,
|
||||
|
||||
// Ice block
|
||||
@@ -148,7 +145,7 @@ public:
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
EnterCombatSelfFunction();
|
||||
me->CastSpell(me, RAID_MODE(SPELL_FROST_AURA_10, SPELL_FROST_AURA_25), true);
|
||||
me->CastSpell(me, SPELL_FROST_AURA, true);
|
||||
events.ScheduleEvent(EVENT_BERSERK, 15min);
|
||||
events.ScheduleEvent(EVENT_CLEAVE, 5s);
|
||||
events.ScheduleEvent(EVENT_TAIL_SWEEP, 10s);
|
||||
@@ -246,11 +243,11 @@ public:
|
||||
events.Repeat(10s);
|
||||
return;
|
||||
case EVENT_TAIL_SWEEP:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_TAIL_SWEEP_10, SPELL_TAIL_SWEEP_25), false);
|
||||
me->CastSpell(me, SPELL_TAIL_SWEEP, false);
|
||||
events.Repeat(10s);
|
||||
return;
|
||||
case EVENT_LIFE_DRAIN:
|
||||
me->CastCustomSpell(RAID_MODE(SPELL_LIFE_DRAIN_10, SPELL_LIFE_DRAIN_25), SPELLVALUE_MAX_TARGETS, RAID_MODE(2, 5), me, false);
|
||||
me->CastCustomSpell(SPELL_LIFE_DRAIN, SPELLVALUE_MAX_TARGETS, RAID_MODE(2, 5), me, false);
|
||||
events.Repeat(24s);
|
||||
return;
|
||||
case EVENT_BLIZZARD:
|
||||
|
||||
@@ -46,20 +46,17 @@ enum Spells
|
||||
SPELL_SHOCK_VISUAL = 28159,
|
||||
|
||||
// Stalagg
|
||||
SPELL_POWER_SURGE_10 = 54529,
|
||||
SPELL_POWER_SURGE_25 = 28134,
|
||||
SPELL_POWER_SURGE = 54529,
|
||||
SPELL_STALAGG_CHAIN = 28096,
|
||||
|
||||
// Feugen
|
||||
SPELL_STATIC_FIELD_10 = 28135,
|
||||
SPELL_STATIC_FIELD_25 = 54528,
|
||||
SPELL_STATIC_FIELD = 28135,
|
||||
SPELL_FEUGEN_CHAIN = 28111,
|
||||
|
||||
// Thaddius
|
||||
SPELL_POLARITY_SHIFT = 28089,
|
||||
SPELL_BALL_LIGHTNING = 28299,
|
||||
SPELL_CHAIN_LIGHTNING_10 = 28167,
|
||||
SPELL_CHAIN_LIGHTNING_25 = 54531,
|
||||
SPELL_CHAIN_LIGHTNING = 28167,
|
||||
SPELL_BERSERK = 27680,
|
||||
SPELL_THADDIUS_VISUAL_LIGHTNING = 28136,
|
||||
SPELL_THADDIUS_SPAWN_STUN = 28160,
|
||||
@@ -295,16 +292,17 @@ public:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
me->SetControlled(false, UNIT_STATE_STUNNED);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetControlled(false, UNIT_STATE_ROOT);
|
||||
events.ScheduleEvent(EVENT_THADDIUS_CHAIN_LIGHTNING, 14s);
|
||||
events.ScheduleEvent(EVENT_THADDIUS_BERSERK, 6min);
|
||||
events.ScheduleEvent(EVENT_THADDIUS_POLARITY_SHIFT, 30s);
|
||||
events.ScheduleEvent(EVENT_THADDIUS_POLARITY_SHIFT, 20s);
|
||||
events.ScheduleEvent(EVENT_ALLOW_BALL_LIGHTNING, 5s);
|
||||
return;
|
||||
case EVENT_THADDIUS_BERSERK:
|
||||
me->CastSpell(me, SPELL_BERSERK, true);
|
||||
break;
|
||||
case EVENT_THADDIUS_CHAIN_LIGHTNING:
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_CHAIN_LIGHTNING_10, SPELL_CHAIN_LIGHTNING_25), false);
|
||||
me->CastSpell(me->GetVictim(), SPELL_CHAIN_LIGHTNING, false);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
case EVENT_THADDIUS_POLARITY_SHIFT:
|
||||
@@ -484,11 +482,11 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_MINION_POWER_SURGE:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_POWER_SURGE_10, SPELL_POWER_SURGE_25), false);
|
||||
me->CastSpell(me, SPELL_POWER_SURGE, false);
|
||||
events.Repeat(19s);
|
||||
break;
|
||||
case EVENT_MINION_STATIC_FIELD:
|
||||
me->CastSpell(me, RAID_MODE(SPELL_STATIC_FIELD_10, SPELL_STATIC_FIELD_25), false);
|
||||
me->CastSpell(me, SPELL_STATIC_FIELD, false);
|
||||
events.Repeat(3s);
|
||||
break;
|
||||
case EVENT_MINION_MAGNETIC_PULL:
|
||||
|
||||
Reference in New Issue
Block a user