converted all tabs to 4 spaces

This commit is contained in:
Yehonal
2016-06-26 19:23:57 +02:00
parent 52f305111c
commit f6eefedcd5
717 changed files with 132388 additions and 132388 deletions

View File

@@ -8,37 +8,37 @@ REWRITTEN BY XINEF
enum eGrandWarlockNethekurse
{
SAY_INTRO = 0,
SAY_PEON_ATTACKED = 1,
SAY_PEON_DIES = 2,
SAY_TAUNT = 3,
SAY_AGGRO = 4,
SAY_SLAY = 5,
SAY_DIE = 6,
SAY_INTRO = 0,
SAY_PEON_ATTACKED = 1,
SAY_PEON_DIES = 2,
SAY_TAUNT = 3,
SAY_AGGRO = 4,
SAY_SLAY = 5,
SAY_DIE = 6,
SPELL_DEATH_COIL_N = 30741,
SPELL_DEATH_COIL_H = 30500,
SPELL_DARK_SPIN = 30502,
SPELL_SHADOW_FISSURE = 30496,
SPELL_SHADOW_CLEAVE_N = 30495,
SPELL_SHADOW_SLAM_H = 35953,
SPELL_SHADOW_SEAR = 30735,
SPELL_DEATH_COIL_N = 30741,
SPELL_DEATH_COIL_H = 30500,
SPELL_DARK_SPIN = 30502,
SPELL_SHADOW_FISSURE = 30496,
SPELL_SHADOW_CLEAVE_N = 30495,
SPELL_SHADOW_SLAM_H = 35953,
SPELL_SHADOW_SEAR = 30735,
SETDATA_DATA = 1,
SETDATA_PEON_AGGRO = 1,
SETDATA_PEON_DEATH = 2,
SETDATA_DATA = 1,
SETDATA_PEON_AGGRO = 1,
SETDATA_PEON_DEATH = 2,
EVENT_STAGE_NONE = 0,
EVENT_STAGE_INTRO = 1,
EVENT_STAGE_TAUNT = 2,
EVENT_STAGE_MAIN = 3,
EVENT_STAGE_NONE = 0,
EVENT_STAGE_INTRO = 1,
EVENT_STAGE_TAUNT = 2,
EVENT_STAGE_MAIN = 3,
EVENT_INTRO = 1,
EVENT_SPELL_DEATH_COIL = 2,
EVENT_SPELL_SHADOW_FISSURE = 3,
EVENT_SPELL_CLEAVE = 4,
EVENT_CHECK_HEALTH = 5,
EVENT_START_ATTACK = 6
EVENT_INTRO = 1,
EVENT_SPELL_DEATH_COIL = 2,
EVENT_SPELL_SHADOW_FISSURE = 3,
EVENT_SPELL_CLEAVE = 4,
EVENT_CHECK_HEALTH = 5,
EVENT_START_ATTACK = 6
};
// ########################################################
@@ -54,30 +54,30 @@ class boss_grand_warlock_nethekurse : public CreatureScript
{
boss_grand_warlock_nethekurseAI(Creature* creature) : BossAI(creature, DATA_NETHEKURSE) { }
EventMap events2;
void Reset()
EventMap events2;
void Reset()
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
EventStage = EVENT_STAGE_NONE;
PeonEngagedCount = 0;
EventStage = EVENT_STAGE_NONE;
PeonEngagedCount = 0;
PeonKilledCount = 0;
_Reset();
SummonMinions();
events2.Reset();
_Reset();
SummonMinions();
events2.Reset();
}
void SummonMinions()
{
me->SummonCreature(NPC_FEL_ORC_CONVERT, 172.556f, 258.227f, -13.191f, 1.41189f);
me->SummonCreature(NPC_FEL_ORC_CONVERT, 165.181f, 261.511f, -13.1926f, 0.942743f);
me->SummonCreature(NPC_FEL_ORC_CONVERT, 182.482f, 258.635f, -13.1788f, 1.70929f);
me->SummonCreature(NPC_FEL_ORC_CONVERT, 189.616f, 259.866f, -13.1966f, 1.95748f);
}
void SummonMinions()
{
me->SummonCreature(NPC_FEL_ORC_CONVERT, 172.556f, 258.227f, -13.191f, 1.41189f);
me->SummonCreature(NPC_FEL_ORC_CONVERT, 165.181f, 261.511f, -13.1926f, 0.942743f);
me->SummonCreature(NPC_FEL_ORC_CONVERT, 182.482f, 258.635f, -13.1788f, 1.70929f);
me->SummonCreature(NPC_FEL_ORC_CONVERT, 189.616f, 259.866f, -13.1966f, 1.95748f);
}
void JustDied(Unit* /*killer*/)
{
Talk(SAY_DIE);
_JustDied();
_JustDied();
}
void SetData(uint32 data, uint32 value)
@@ -91,18 +91,18 @@ class boss_grand_warlock_nethekurse : public CreatureScript
if (PeonEngagedCount >= 4)
return;
if (EventStage < EVENT_STAGE_TAUNT)
Talk(SAY_PEON_ATTACKED);
if (EventStage < EVENT_STAGE_TAUNT)
Talk(SAY_PEON_ATTACKED);
break;
case SETDATA_PEON_DEATH:
if (PeonKilledCount >= 4)
return;
if (EventStage < EVENT_STAGE_TAUNT)
Talk(SAY_PEON_DIES);
if (EventStage < EVENT_STAGE_TAUNT)
Talk(SAY_PEON_DIES);
if (++PeonKilledCount == 4)
events2.ScheduleEvent(EVENT_START_ATTACK, 5000);
events2.ScheduleEvent(EVENT_START_ATTACK, 5000);
break;
}
}
@@ -114,19 +114,19 @@ class boss_grand_warlock_nethekurse : public CreatureScript
if (me->Attack(who, true))
{
if (me->HealthBelowPct(21))
if (me->HealthBelowPct(21))
DoStartNoMovement(who);
else
DoStartMovement(who);
}
}
void JustSummoned(Creature* summon)
{
summons.Summon(summon);
summon->SetReactState(REACT_DEFENSIVE);
summon->SetRegeneratingHealth(false);
}
void JustSummoned(Creature* summon)
{
summons.Summon(summon);
summon->SetReactState(REACT_DEFENSIVE);
summon->SetRegeneratingHealth(false);
}
void MoveInLineOfSight(Unit* who)
{
@@ -135,11 +135,11 @@ class boss_grand_warlock_nethekurse : public CreatureScript
if (who->GetTypeId() != TYPEID_PLAYER)
return;
events2.ScheduleEvent(EVENT_INTRO, 90000);
events2.ScheduleEvent(EVENT_INTRO, 90000);
Talk(SAY_INTRO);
EventStage = EVENT_STAGE_INTRO;
instance->SetBossState(DATA_NETHEKURSE, IN_PROGRESS);
me->SetInCombatWithZone();
me->SetInCombatWithZone();
}
if (EventStage < EVENT_STAGE_MAIN)
@@ -159,70 +159,70 @@ class boss_grand_warlock_nethekurse : public CreatureScript
void UpdateAI(uint32 diff)
{
events2.Update(diff);
uint32 eventId = events2.ExecuteEvent();
events2.Update(diff);
uint32 eventId = events2.ExecuteEvent();
if (EventStage < EVENT_STAGE_MAIN && instance->GetBossState(DATA_NETHEKURSE) == IN_PROGRESS)
{
if (eventId == EVENT_INTRO)
{
Talk(SAY_TAUNT);
EventStage = EVENT_STAGE_TAUNT;
me->CastSpell(me, SPELL_SHADOW_SEAR, false);
}
else if (eventId == EVENT_START_ATTACK)
{
Talk(SAY_AGGRO);
EventStage = EVENT_STAGE_MAIN;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (Unit* target = me->SelectNearestPlayer(50.0f))
AttackStart(target);
events.ScheduleEvent(EVENT_SPELL_DEATH_COIL, 20000);
events.ScheduleEvent(EVENT_SPELL_SHADOW_FISSURE, 8000);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
return;
{
if (eventId == EVENT_INTRO)
{
Talk(SAY_TAUNT);
EventStage = EVENT_STAGE_TAUNT;
me->CastSpell(me, SPELL_SHADOW_SEAR, false);
}
}
else if (eventId == EVENT_START_ATTACK)
{
Talk(SAY_AGGRO);
EventStage = EVENT_STAGE_MAIN;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (Unit* target = me->SelectNearestPlayer(50.0f))
AttackStart(target);
events.ScheduleEvent(EVENT_SPELL_DEATH_COIL, 20000);
events.ScheduleEvent(EVENT_SPELL_SHADOW_FISSURE, 8000);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
return;
}
}
if (!UpdateVictim())
return;
events.Update(diff);
if (EventStage < EVENT_STAGE_MAIN || me->HasUnitState(UNIT_STATE_CASTING))
events.Update(diff);
if (EventStage < EVENT_STAGE_MAIN || me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.ExecuteEvent())
{
case EVENT_SPELL_SHADOW_FISSURE:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
me->CastSpell(target, SPELL_SHADOW_FISSURE, false);
events.RescheduleEvent(eventId, urand(7500, 10000));
break;
case EVENT_SPELL_DEATH_COIL:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
me->CastSpell(target, DUNGEON_MODE(SPELL_DEATH_COIL_N, SPELL_DEATH_COIL_H), false);
events.RescheduleEvent(eventId, urand(15000, 20000));
break;
case EVENT_SPELL_CLEAVE:
me->CastSpell(me->GetVictim(), DUNGEON_MODE(SPELL_SHADOW_CLEAVE_N, SPELL_SHADOW_SLAM_H), false);
events.RescheduleEvent(EVENT_SPELL_CLEAVE, urand(6000, 8000));
break;
case EVENT_CHECK_HEALTH:
if (me->HealthBelowPct(21))
{
me->CastSpell(me, SPELL_DARK_SPIN, true);
events.Reset();
events.ScheduleEvent(EVENT_SPELL_CLEAVE, 3000);
me->GetMotionMaster()->Clear();
break;
}
events.RescheduleEvent(eventId, 1000);
break;
}
switch (events.ExecuteEvent())
{
case EVENT_SPELL_SHADOW_FISSURE:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
me->CastSpell(target, SPELL_SHADOW_FISSURE, false);
events.RescheduleEvent(eventId, urand(7500, 10000));
break;
case EVENT_SPELL_DEATH_COIL:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
me->CastSpell(target, DUNGEON_MODE(SPELL_DEATH_COIL_N, SPELL_DEATH_COIL_H), false);
events.RescheduleEvent(eventId, urand(15000, 20000));
break;
case EVENT_SPELL_CLEAVE:
me->CastSpell(me->GetVictim(), DUNGEON_MODE(SPELL_SHADOW_CLEAVE_N, SPELL_SHADOW_SLAM_H), false);
events.RescheduleEvent(EVENT_SPELL_CLEAVE, urand(6000, 8000));
break;
case EVENT_CHECK_HEALTH:
if (me->HealthBelowPct(21))
{
me->CastSpell(me, SPELL_DARK_SPIN, true);
events.Reset();
events.ScheduleEvent(EVENT_SPELL_CLEAVE, 3000);
me->GetMotionMaster()->Clear();
break;
}
events.RescheduleEvent(eventId, 1000);
break;
}
if (!me->HealthBelowPct(21))
DoMeleeAttackIfReady();
if (!me->HealthBelowPct(21))
DoMeleeAttackIfReady();
}
private:
@@ -248,7 +248,7 @@ class spell_tsh_shadow_sear : public SpellScriptLoader
void CalculateDamageAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& /*canBeRecalculated*/)
{
amount = 1000;
amount = 1000;
}
void Register()
@@ -266,5 +266,5 @@ class spell_tsh_shadow_sear : public SpellScriptLoader
void AddSC_boss_grand_warlock_nethekurse()
{
new boss_grand_warlock_nethekurse();
new spell_tsh_shadow_sear();
new spell_tsh_shadow_sear();
}

View File

@@ -8,11 +8,11 @@ REWRITTEN BY XINEF
enum Spells
{
SPELL_BLAST_WAVE = 30600,
SPELL_FEAR = 30584,
SPELL_THUNDERCLAP = 30633,
SPELL_BURNING_MAUL_N = 30598,
SPELL_BURNING_MAUL_H = 36056,
SPELL_BLAST_WAVE = 30600,
SPELL_FEAR = 30584,
SPELL_THUNDERCLAP = 30633,
SPELL_BURNING_MAUL_N = 30598,
SPELL_BURNING_MAUL_H = 36056,
};
enum Creatures
@@ -23,7 +23,7 @@ enum Creatures
enum Misc
{
EMOTE_ENRAGE = 0,
EMOTE_ENRAGE = 0,
SETDATA_DATA = 1,
SETDATA_YELL = 1
@@ -31,25 +31,25 @@ enum Misc
enum Events
{
EVENT_AGGRO_YELL_1 = 1,
EVENT_AGGRO_YELL_2 = 2,
EVENT_AGGRO_YELL_3 = 3,
EVENT_AGGRO_YELL_1 = 1,
EVENT_AGGRO_YELL_2 = 2,
EVENT_AGGRO_YELL_3 = 3,
EVENT_THREAT_YELL_L_1 = 4,
EVENT_THREAT_YELL_L_2 = 5,
EVENT_THREAT_YELL_L_3 = 6,
EVENT_THREAT_YELL_L_1 = 4,
EVENT_THREAT_YELL_L_2 = 5,
EVENT_THREAT_YELL_L_3 = 6,
EVENT_THREAT_YELL_R_1 = 7,
EVENT_KILL_YELL_LEFT = 8,
EVENT_KILL_YELL_RIGHT = 9,
EVENT_DEATH_YELL = 10,
EVENT_THREAT_YELL_R_1 = 7,
EVENT_KILL_YELL_LEFT = 8,
EVENT_KILL_YELL_RIGHT = 9,
EVENT_DEATH_YELL = 10,
EVENT_SPELL_FEAR = 20,
EVENT_SPELL_BURNING_MAUL = 21,
EVENT_SPELL_THUNDER_CLAP = 22,
EVENT_RESET_THREAT = 23,
EVENT_SPELL_BLAST_WAVE = 24
EVENT_SPELL_FEAR = 20,
EVENT_SPELL_BURNING_MAUL = 21,
EVENT_SPELL_THUNDER_CLAP = 22,
EVENT_RESET_THREAT = 23,
EVENT_SPELL_BLAST_WAVE = 24
};
// ########################################################
@@ -67,19 +67,19 @@ class boss_warbringer_omrogg : public CreatureScript
{
}
EventMap events2;
EventMap events2;
Creature* GetLeftHead()
{
return summons.GetCreatureWithEntry(NPC_LEFT_HEAD);
}
Creature* GetLeftHead()
{
return summons.GetCreatureWithEntry(NPC_LEFT_HEAD);
}
Creature* GetRightHead()
{
return summons.GetCreatureWithEntry(NPC_RIGHT_HEAD);
}
Creature* GetRightHead()
{
return summons.GetCreatureWithEntry(NPC_RIGHT_HEAD);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/)
{
me->SummonCreature(NPC_LEFT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
me->SummonCreature(NPC_RIGHT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
@@ -88,52 +88,52 @@ class boss_warbringer_omrogg : public CreatureScript
{
uint8 aggroYell = urand(EVENT_AGGRO_YELL_1, EVENT_AGGRO_YELL_3);
LeftHead->AI()->Talk(aggroYell-1);
events2.ScheduleEvent(aggroYell, 3000);
events2.ScheduleEvent(aggroYell, 3000);
}
_EnterCombat();
events.ScheduleEvent(EVENT_SPELL_FEAR, 8000);
events.ScheduleEvent(EVENT_SPELL_BURNING_MAUL, 25000);
events.ScheduleEvent(EVENT_SPELL_THUNDER_CLAP, 15000);
events.ScheduleEvent(EVENT_RESET_THREAT, 30000);
events.ScheduleEvent(EVENT_SPELL_FEAR, 8000);
events.ScheduleEvent(EVENT_SPELL_BURNING_MAUL, 25000);
events.ScheduleEvent(EVENT_SPELL_THUNDER_CLAP, 15000);
events.ScheduleEvent(EVENT_RESET_THREAT, 30000);
}
void JustSummoned(Creature* summoned)
void JustSummoned(Creature* summoned)
{
summons.Summon(summoned);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/)
{
Creature* head = NULL;
uint32 eventId = EVENT_KILL_YELL_LEFT;
if (urand(0, 1))
{
head = GetLeftHead();
eventId = EVENT_KILL_YELL_LEFT;
}
else
{
head = GetRightHead();
eventId = EVENT_KILL_YELL_RIGHT;
}
Creature* head = NULL;
uint32 eventId = EVENT_KILL_YELL_LEFT;
if (urand(0, 1))
{
head = GetLeftHead();
eventId = EVENT_KILL_YELL_LEFT;
}
else
{
head = GetRightHead();
eventId = EVENT_KILL_YELL_RIGHT;
}
if (head)
head->AI()->Talk(eventId-1);
if (head)
head->AI()->Talk(eventId-1);
events2.ScheduleEvent(eventId, 3000);
events2.ScheduleEvent(eventId, 3000);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/)
{
Creature* LeftHead = GetLeftHead();
Creature* RightHead = GetRightHead();
if (!LeftHead || !RightHead)
return;
LeftHead->DespawnOrUnsummon(5000);
RightHead->DespawnOrUnsummon(5000);
LeftHead->DespawnOrUnsummon(5000);
RightHead->DespawnOrUnsummon(5000);
LeftHead->AI()->Talk(EVENT_DEATH_YELL-1);
RightHead->AI()->SetData(SETDATA_DATA, SETDATA_YELL);
@@ -143,67 +143,67 @@ class boss_warbringer_omrogg : public CreatureScript
void UpdateAI(uint32 diff)
{
events2.Update(diff);
switch (uint32 eventId = events2.ExecuteEvent())
{
case EVENT_AGGRO_YELL_1:
case EVENT_AGGRO_YELL_2:
case EVENT_AGGRO_YELL_3:
case EVENT_KILL_YELL_LEFT:
case EVENT_THREAT_YELL_L_1:
case EVENT_THREAT_YELL_L_2:
case EVENT_THREAT_YELL_L_3:
if (Creature* RightHead = GetRightHead())
RightHead->AI()->Talk(eventId-1);
break;
case EVENT_KILL_YELL_RIGHT:
case EVENT_THREAT_YELL_R_1:
if (Creature* LeftHead = GetLeftHead())
LeftHead->AI()->Talk(eventId-1);
break;
}
events2.Update(diff);
switch (uint32 eventId = events2.ExecuteEvent())
{
case EVENT_AGGRO_YELL_1:
case EVENT_AGGRO_YELL_2:
case EVENT_AGGRO_YELL_3:
case EVENT_KILL_YELL_LEFT:
case EVENT_THREAT_YELL_L_1:
case EVENT_THREAT_YELL_L_2:
case EVENT_THREAT_YELL_L_3:
if (Creature* RightHead = GetRightHead())
RightHead->AI()->Talk(eventId-1);
break;
case EVENT_KILL_YELL_RIGHT:
case EVENT_THREAT_YELL_R_1:
if (Creature* LeftHead = GetLeftHead())
LeftHead->AI()->Talk(eventId-1);
break;
}
if (!UpdateVictim())
return;
events.Update(diff);
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
events.Update(diff);
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.ExecuteEvent())
{
case EVENT_SPELL_FEAR:
me->CastSpell(me, SPELL_FEAR, false);
events.ScheduleEvent(EVENT_SPELL_FEAR, 22000);
break;
case EVENT_SPELL_THUNDER_CLAP:
me->CastSpell(me, SPELL_THUNDERCLAP, false);
events.ScheduleEvent(EVENT_SPELL_THUNDER_CLAP, 25000);
break;
case EVENT_RESET_THREAT:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
uint8 threatYell = urand(EVENT_THREAT_YELL_L_1, EVENT_THREAT_YELL_R_1);
if (Creature* head = threatYell == EVENT_THREAT_YELL_R_1 ? GetRightHead() : GetLeftHead())
head->AI()->Talk(threatYell-1);
events.ScheduleEvent(threatYell, 3000);
switch (events.ExecuteEvent())
{
case EVENT_SPELL_FEAR:
me->CastSpell(me, SPELL_FEAR, false);
events.ScheduleEvent(EVENT_SPELL_FEAR, 22000);
break;
case EVENT_SPELL_THUNDER_CLAP:
me->CastSpell(me, SPELL_THUNDERCLAP, false);
events.ScheduleEvent(EVENT_SPELL_THUNDER_CLAP, 25000);
break;
case EVENT_RESET_THREAT:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
uint8 threatYell = urand(EVENT_THREAT_YELL_L_1, EVENT_THREAT_YELL_R_1);
if (Creature* head = threatYell == EVENT_THREAT_YELL_R_1 ? GetRightHead() : GetLeftHead())
head->AI()->Talk(threatYell-1);
events.ScheduleEvent(threatYell, 3000);
DoResetThreat();
me->AddThreat(target, 10.0f);
}
events.ScheduleEvent(EVENT_RESET_THREAT, 30000);
break;
case EVENT_SPELL_BURNING_MAUL:
Talk(EMOTE_ENRAGE);
me->CastSpell(me, DUNGEON_MODE(SPELL_BURNING_MAUL_N, SPELL_BURNING_MAUL_H), false);
events.ScheduleEvent(EVENT_SPELL_BURNING_MAUL, 40000);
events.ScheduleEvent(EVENT_SPELL_BLAST_WAVE, 15000);
events.ScheduleEvent(EVENT_SPELL_BLAST_WAVE, 20000);
break;
case EVENT_SPELL_BLAST_WAVE:
me->CastSpell(me, SPELL_BLAST_WAVE, false);
break;
}
DoResetThreat();
me->AddThreat(target, 10.0f);
}
events.ScheduleEvent(EVENT_RESET_THREAT, 30000);
break;
case EVENT_SPELL_BURNING_MAUL:
Talk(EMOTE_ENRAGE);
me->CastSpell(me, DUNGEON_MODE(SPELL_BURNING_MAUL_N, SPELL_BURNING_MAUL_H), false);
events.ScheduleEvent(EVENT_SPELL_BURNING_MAUL, 40000);
events.ScheduleEvent(EVENT_SPELL_BLAST_WAVE, 15000);
events.ScheduleEvent(EVENT_SPELL_BLAST_WAVE, 20000);
break;
case EVENT_SPELL_BLAST_WAVE:
me->CastSpell(me, SPELL_BLAST_WAVE, false);
break;
}
DoMeleeAttackIfReady();
}
@@ -227,23 +227,23 @@ class npc_omrogg_heads : public CreatureScript
void SetData(uint32 data, uint32 value)
{
if (data == SETDATA_DATA && value == SETDATA_YELL)
timer = 1;
timer = 1;
}
void UpdateAI(uint32 diff)
{
if (timer)
{
timer += diff;
if (timer >= 3000)
{
timer = 0;
Talk(EVENT_DEATH_YELL-1);
}
}
if (timer)
{
timer += diff;
if (timer >= 3000)
{
timer = 0;
Talk(EVENT_DEATH_YELL-1);
}
}
}
uint32 timer;
uint32 timer;
};
CreatureAI* GetAI(Creature* creature) const

View File

@@ -15,9 +15,9 @@ enum Says
enum Spells
{
SPELL_BLADE_DANCE = 30739,
SPELL_CHARGE = 25821,
SPELL_SPRINT = 32720,
SPELL_BLADE_DANCE = 30739,
SPELL_CHARGE = 25821,
SPELL_SPRINT = 32720,
};
enum Creatures
@@ -34,13 +34,13 @@ float AddsEntrance[3] = { 306.036f, -84.29f, 1.93f };
enum Misc
{
EVENT_CHECK_ROOM = 1,
EVENT_SUMMON_ADDS = 2,
EVENT_SUMMON_ASSASSINS = 3,
EVENT_SPELL_CHARGE = 4,
EVENT_MOVE_TO_NEXT_POINT = 5,
EVENT_BLADE_DANCE = 6,
EVENT_FINISH_BLADE_DANCE = 7
EVENT_CHECK_ROOM = 1,
EVENT_SUMMON_ADDS = 2,
EVENT_SUMMON_ASSASSINS = 3,
EVENT_SPELL_CHARGE = 4,
EVENT_MOVE_TO_NEXT_POINT = 5,
EVENT_BLADE_DANCE = 6,
EVENT_FINISH_BLADE_DANCE = 7
};
class boss_warchief_kargath_bladefist : public CreatureScript
@@ -52,42 +52,42 @@ class boss_warchief_kargath_bladefist : public CreatureScript
{
boss_warchief_kargath_bladefistAI(Creature* creature) : BossAI(creature, DATA_KARGATH) { }
void InitializeAI()
{
BossAI::InitializeAI();
if (instance)
if (Creature* executioner = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EXECUTIONER)))
executioner->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
void InitializeAI()
{
BossAI::InitializeAI();
if (instance)
if (Creature* executioner = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EXECUTIONER)))
executioner->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
void JustDied(Unit* /*killer*/)
{
Talk(SAY_DEATH);
_JustDied();
if (instance)
if (Creature* executioner = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EXECUTIONER)))
executioner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (instance)
if (Creature* executioner = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EXECUTIONER)))
executioner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
void EnterCombat(Unit* who)
{
Talk(SAY_AGGRO);
_EnterCombat();
_EnterCombat();
events.ScheduleEvent(EVENT_CHECK_ROOM, 5000);
events.ScheduleEvent(EVENT_SUMMON_ADDS, 30000);
events.ScheduleEvent(EVENT_SUMMON_ASSASSINS, 5000);
events.ScheduleEvent(EVENT_BLADE_DANCE, 30000);
events.ScheduleEvent(EVENT_SPELL_CHARGE, 0);
events.ScheduleEvent(EVENT_CHECK_ROOM, 5000);
events.ScheduleEvent(EVENT_SUMMON_ADDS, 30000);
events.ScheduleEvent(EVENT_SUMMON_ASSASSINS, 5000);
events.ScheduleEvent(EVENT_BLADE_DANCE, 30000);
events.ScheduleEvent(EVENT_SPELL_CHARGE, 0);
}
void JustSummoned(Creature* summon)
{
if (summon->GetEntry() != NPC_SHATTERED_ASSASSIN)
summon->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0));
summon->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0));
summons.Summon(summon);
summons.Summon(summon);
}
void KilledUnit(Unit* victim)
@@ -102,7 +102,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
return;
me->CastSpell(me, SPELL_BLADE_DANCE, true);
events.ScheduleEvent(EVENT_MOVE_TO_NEXT_POINT, 0);
events.ScheduleEvent(EVENT_MOVE_TO_NEXT_POINT, 0);
}
void UpdateAI(uint32 diff)
@@ -110,57 +110,57 @@ class boss_warchief_kargath_bladefist : public CreatureScript
if (!UpdateVictim())
return;
events.Update(diff);
switch (events.ExecuteEvent())
{
case EVENT_CHECK_ROOM:
if (me->GetPositionX() > 255 || me->GetPositionX() < 205)
{
EnterEvadeMode();
return;
}
events.ScheduleEvent(EVENT_CHECK_ROOM, 5000);
break;
case EVENT_SUMMON_ASSASSINS:
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassEntrance[0], AssassEntrance[1]+8, AssassEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassEntrance[0], AssassEntrance[1]-8, AssassEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]+8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]-8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case EVENT_SUMMON_ADDS:
for (uint8 i = 0; i < 2; ++i)
me->SummonCreature(NPC_HEARTHEN_GUARD+urand(0,2), AddsEntrance[0], AddsEntrance[1], AddsEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
events.Update(diff);
switch (events.ExecuteEvent())
{
case EVENT_CHECK_ROOM:
if (me->GetPositionX() > 255 || me->GetPositionX() < 205)
{
EnterEvadeMode();
return;
}
events.ScheduleEvent(EVENT_CHECK_ROOM, 5000);
break;
case EVENT_SUMMON_ASSASSINS:
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassEntrance[0], AssassEntrance[1]+8, AssassEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassEntrance[0], AssassEntrance[1]-8, AssassEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]+8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]-8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case EVENT_SUMMON_ADDS:
for (uint8 i = 0; i < 2; ++i)
me->SummonCreature(NPC_HEARTHEN_GUARD+urand(0,2), AddsEntrance[0], AddsEntrance[1], AddsEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
events.ScheduleEvent(EVENT_SUMMON_ADDS, 30000);
break;
case EVENT_BLADE_DANCE:
events.DelayEvents(10001);
events.ScheduleEvent(EVENT_BLADE_DANCE, 40000);
events.ScheduleEvent(EVENT_MOVE_TO_NEXT_POINT, 0);
events.ScheduleEvent(EVENT_FINISH_BLADE_DANCE, 10000);
events.SetPhase(1);
me->CastSpell(me, SPELL_SPRINT, true);
break;
case EVENT_MOVE_TO_NEXT_POINT:
{
float x = 210 + frand(0.0f, 35.0f);
float y = -65.0f - frand(0.0f, 35.0f);
events.ScheduleEvent(EVENT_SUMMON_ADDS, 30000);
break;
case EVENT_BLADE_DANCE:
events.DelayEvents(10001);
events.ScheduleEvent(EVENT_BLADE_DANCE, 40000);
events.ScheduleEvent(EVENT_MOVE_TO_NEXT_POINT, 0);
events.ScheduleEvent(EVENT_FINISH_BLADE_DANCE, 10000);
events.SetPhase(1);
me->CastSpell(me, SPELL_SPRINT, true);
break;
case EVENT_MOVE_TO_NEXT_POINT:
{
float x = 210 + frand(0.0f, 35.0f);
float y = -65.0f - frand(0.0f, 35.0f);
me->GetMotionMaster()->MovePoint(1, x, y, me->GetPositionZ());
break;
}
case EVENT_FINISH_BLADE_DANCE:
events.SetPhase(0);
me->GetMotionMaster()->Clear();
break;
}
case EVENT_FINISH_BLADE_DANCE:
events.SetPhase(0);
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveChase(me->GetVictim());
if (IsHeroic())
events.ScheduleEvent(EVENT_SPELL_CHARGE, 3000);
break;
case EVENT_SPELL_CHARGE:
me->CastSpell(me->GetVictim(), SPELL_CHARGE, false);
break;
}
events.ScheduleEvent(EVENT_SPELL_CHARGE, 3000);
break;
case EVENT_SPELL_CHARGE:
me->CastSpell(me->GetVictim(), SPELL_CHARGE, false);
break;
}
if (!events.IsInPhase(1))
if (!events.IsInPhase(1))
DoMeleeAttackIfReady();
}
};

View File

@@ -26,19 +26,19 @@ class instance_shattered_halls : public InstanceMapScript
SetBossNumber(ENCOUNTER_COUNT);
nethekurseDoor1GUID = 0;
nethekurseDoor2GUID = 0;
warchiefKargathGUID = 0;
warchiefKargathGUID = 0;
executionerGUID = 0;
memset(&prisonerGUID, 0, sizeof(prisonerGUID));
TeamIdInInstance = TEAM_NEUTRAL;
RescueTimer = 100*MINUTE*IN_MILLISECONDS;
executionerGUID = 0;
memset(&prisonerGUID, 0, sizeof(prisonerGUID));
TeamIdInInstance = TEAM_NEUTRAL;
RescueTimer = 100*MINUTE*IN_MILLISECONDS;
}
void OnPlayerEnter(Player* player)
void OnPlayerEnter(Player* player)
{
if (TeamIdInInstance == TEAM_NEUTRAL)
TeamIdInInstance = player->GetTeamId();
}
}
void OnGameObjectCreate(GameObject* go)
{
@@ -46,13 +46,13 @@ class instance_shattered_halls : public InstanceMapScript
{
case GO_GRAND_WARLOCK_CHAMBER_DOOR_1:
nethekurseDoor1GUID = go->GetGUID();
if (GetBossState(DATA_NETHEKURSE) == DONE)
HandleGameObject(0, true, go);
if (GetBossState(DATA_NETHEKURSE) == DONE)
HandleGameObject(0, true, go);
break;
case GO_GRAND_WARLOCK_CHAMBER_DOOR_2:
nethekurseDoor2GUID = go->GetGUID();
if (GetBossState(DATA_NETHEKURSE) == DONE)
HandleGameObject(0, true, go);
if (GetBossState(DATA_NETHEKURSE) == DONE)
HandleGameObject(0, true, go);
break;
}
}
@@ -69,29 +69,29 @@ class instance_shattered_halls : public InstanceMapScript
switch (creature->GetEntry())
{
case NPC_WARCHIEF_KARGATH:
warchiefKargathGUID = creature->GetGUID();
break;
case NPC_SHATTERED_EXECUTIONER:
if (RescueTimer > 25*MINUTE*IN_MILLISECONDS)
creature->AddLootMode(2);
executionerGUID = creature->GetGUID();
break;
case NPC_RIFLEMAN_BROWNBEARD:
if (TeamIdInInstance == TEAM_HORDE)
creature->UpdateEntry(NPC_KORAG_PROUDMANE);
prisonerGUID[0] = creature->GetGUID();
break;
case NPC_CAPTAIN_ALINA:
if (TeamIdInInstance == TEAM_HORDE)
creature->UpdateEntry(NPC_CAPTAIN_BONESHATTER);
prisonerGUID[1] = creature->GetGUID();
break;
case NPC_PRIVATE_JACINT:
if (TeamIdInInstance == TEAM_HORDE)
creature->UpdateEntry(NPC_SCOUT_ORGARR);
prisonerGUID[2] = creature->GetGUID();
break;
case NPC_WARCHIEF_KARGATH:
warchiefKargathGUID = creature->GetGUID();
break;
case NPC_SHATTERED_EXECUTIONER:
if (RescueTimer > 25*MINUTE*IN_MILLISECONDS)
creature->AddLootMode(2);
executionerGUID = creature->GetGUID();
break;
case NPC_RIFLEMAN_BROWNBEARD:
if (TeamIdInInstance == TEAM_HORDE)
creature->UpdateEntry(NPC_KORAG_PROUDMANE);
prisonerGUID[0] = creature->GetGUID();
break;
case NPC_CAPTAIN_ALINA:
if (TeamIdInInstance == TEAM_HORDE)
creature->UpdateEntry(NPC_CAPTAIN_BONESHATTER);
prisonerGUID[1] = creature->GetGUID();
break;
case NPC_PRIVATE_JACINT:
if (TeamIdInInstance == TEAM_HORDE)
creature->UpdateEntry(NPC_SCOUT_ORGARR);
prisonerGUID[2] = creature->GetGUID();
break;
}
}
@@ -118,64 +118,64 @@ class instance_shattered_halls : public InstanceMapScript
return true;
}
void SetData(uint32 type, uint32 data)
{
if (type == DATA_ENTERED_ROOM && data == DATA_ENTERED_ROOM && RescueTimer == 100*MINUTE*IN_MILLISECONDS)
{
DoCastSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_1);
instance->LoadGrid(230, -80);
void SetData(uint32 type, uint32 data)
{
if (type == DATA_ENTERED_ROOM && data == DATA_ENTERED_ROOM && RescueTimer == 100*MINUTE*IN_MILLISECONDS)
{
DoCastSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_1);
instance->LoadGrid(230, -80);
if (Creature* kargath = instance->GetCreature(warchiefKargathGUID))
sCreatureTextMgr->SendChat(kargath, TeamIdInInstance == TEAM_ALLIANCE ? 3 : 4, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_MAP);
if (Creature* kargath = instance->GetCreature(warchiefKargathGUID))
sCreatureTextMgr->SendChat(kargath, TeamIdInInstance == TEAM_ALLIANCE ? 3 : 4, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_MAP);
RescueTimer = 80*MINUTE*IN_MILLISECONDS;
}
}
RescueTimer = 80*MINUTE*IN_MILLISECONDS;
}
}
uint64 GetData64(uint32 data) const
{
switch (data)
{
case DATA_PRISONER_1:
case DATA_PRISONER_2:
case DATA_PRISONER_3:
return prisonerGUID[data-DATA_PRISONER_1];
case DATA_EXECUTIONER:
return executionerGUID;
}
switch (data)
{
case DATA_PRISONER_1:
case DATA_PRISONER_2:
case DATA_PRISONER_3:
return prisonerGUID[data-DATA_PRISONER_1];
case DATA_EXECUTIONER:
return executionerGUID;
}
return 0;
}
void Update(uint32 diff)
{
if (RescueTimer && RescueTimer < 100*MINUTE*IN_MILLISECONDS)
{
RescueTimer -= std::min(RescueTimer, diff);
void Update(uint32 diff)
{
if (RescueTimer && RescueTimer < 100*MINUTE*IN_MILLISECONDS)
{
RescueTimer -= std::min(RescueTimer, diff);
if ((RescueTimer / IN_MILLISECONDS) == 25*MINUTE)
{
DoRemoveAurasDueToSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_1);
DoCastSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_2);
if (Creature* prisoner = instance->GetCreature(prisonerGUID[0]))
Unit::Kill(prisoner, prisoner);
if (Creature* executioner = instance->GetCreature(executionerGUID))
executioner->RemoveLootMode(2);
}
else if ((RescueTimer / IN_MILLISECONDS) == 15*MINUTE)
{
DoRemoveAurasDueToSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_2);
DoCastSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_3);
if (Creature* prisoner = instance->GetCreature(prisonerGUID[1]))
Unit::Kill(prisoner, prisoner);
}
else if ((RescueTimer / IN_MILLISECONDS) == 0)
{
DoRemoveAurasDueToSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_3);
if (Creature* prisoner = instance->GetCreature(prisonerGUID[2]))
Unit::Kill(prisoner, prisoner);
}
}
}
if ((RescueTimer / IN_MILLISECONDS) == 25*MINUTE)
{
DoRemoveAurasDueToSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_1);
DoCastSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_2);
if (Creature* prisoner = instance->GetCreature(prisonerGUID[0]))
Unit::Kill(prisoner, prisoner);
if (Creature* executioner = instance->GetCreature(executionerGUID))
executioner->RemoveLootMode(2);
}
else if ((RescueTimer / IN_MILLISECONDS) == 15*MINUTE)
{
DoRemoveAurasDueToSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_2);
DoCastSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_3);
if (Creature* prisoner = instance->GetCreature(prisonerGUID[1]))
Unit::Kill(prisoner, prisoner);
}
else if ((RescueTimer / IN_MILLISECONDS) == 0)
{
DoRemoveAurasDueToSpellOnPlayers(SPELL_KARGATHS_EXECUTIONER_3);
if (Creature* prisoner = instance->GetCreature(prisonerGUID[2]))
Unit::Kill(prisoner, prisoner);
}
}
}
std::string GetSaveData()
{
@@ -214,7 +214,7 @@ class instance_shattered_halls : public InstanceMapScript
SetBossState(i, EncounterState(tmpState));
}
loadStream >> RescueTimer;
loadStream >> RescueTimer;
}
else
OUT_LOAD_INST_DATA_FAIL;
@@ -223,14 +223,14 @@ class instance_shattered_halls : public InstanceMapScript
}
protected:
uint64 warchiefKargathGUID;
uint64 warchiefKargathGUID;
uint64 nethekurseDoor1GUID;
uint64 nethekurseDoor2GUID;
uint64 executionerGUID;
uint64 prisonerGUID[3];
uint32 RescueTimer;
TeamId TeamIdInInstance;
uint64 executionerGUID;
uint64 prisonerGUID[3];
uint32 RescueTimer;
TeamId TeamIdInInstance;
};
};
@@ -245,20 +245,20 @@ class spell_tsh_shoot_flame_arrow : public SpellScriptLoader
void FilterTargets(std::list<WorldObject*>& unitList)
{
Trinity::Containers::RandomResizeList(unitList, 1);
Trinity::Containers::RandomResizeList(unitList, 1);
}
void HandleScriptEffect(SpellEffIndex effIndex)
void HandleScriptEffect(SpellEffIndex effIndex)
{
PreventHitDefaultEffect(effIndex);
if (Unit* target = GetHitUnit())
target->CastSpell(target, 30953, true);
target->CastSpell(target, 30953, true);
}
void Register()
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_tsh_shoot_flame_arrow_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
OnEffectHitTarget += SpellEffectFn(spell_tsh_shoot_flame_arrow_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
OnEffectHitTarget += SpellEffectFn(spell_tsh_shoot_flame_arrow_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
@@ -270,21 +270,21 @@ class spell_tsh_shoot_flame_arrow : public SpellScriptLoader
class at_shattered_halls_execution : public AreaTriggerScript
{
public:
at_shattered_halls_execution() : AreaTriggerScript("at_shattered_halls_execution") { }
public:
at_shattered_halls_execution() : AreaTriggerScript("at_shattered_halls_execution") { }
bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/)
{
if (InstanceScript* instanceScript = player->GetInstanceScript())
instanceScript->SetData(DATA_ENTERED_ROOM, DATA_ENTERED_ROOM);
bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/)
{
if (InstanceScript* instanceScript = player->GetInstanceScript())
instanceScript->SetData(DATA_ENTERED_ROOM, DATA_ENTERED_ROOM);
return true;
}
return true;
}
};
void AddSC_instance_shattered_halls()
{
new instance_shattered_halls();
new spell_tsh_shoot_flame_arrow();
new at_shattered_halls_execution();
new spell_tsh_shoot_flame_arrow();
new at_shattered_halls_execution();
}

View File

@@ -7,45 +7,45 @@ REWRITTEN BY XINEF
enum DataTypes
{
DATA_NETHEKURSE = 0,
DATA_OMROGG = 1,
DATA_KARGATH = 2,
ENCOUNTER_COUNT = 3,
DATA_NETHEKURSE = 0,
DATA_OMROGG = 1,
DATA_KARGATH = 2,
ENCOUNTER_COUNT = 3,
DATA_ENTERED_ROOM = 10,
DATA_PRISONER_1 = 11,
DATA_PRISONER_2 = 12,
DATA_PRISONER_3 = 13,
DATA_EXECUTIONER = 14
DATA_ENTERED_ROOM = 10,
DATA_PRISONER_1 = 11,
DATA_PRISONER_2 = 12,
DATA_PRISONER_3 = 13,
DATA_EXECUTIONER = 14
};
enum CreatureIds
{
NPC_GRAND_WARLOCK_NETHEKURSE = 16807,
NPC_WARCHIEF_KARGATH = 16808,
NPC_FEL_ORC_CONVERT = 17083,
NPC_GRAND_WARLOCK_NETHEKURSE = 16807,
NPC_WARCHIEF_KARGATH = 16808,
NPC_FEL_ORC_CONVERT = 17083,
// Trial of the Naaru: Mercy
NPC_SHATTERED_EXECUTIONER = 17301,
NPC_RIFLEMAN_BROWNBEARD = 17289,
NPC_CAPTAIN_ALINA = 17290,
NPC_PRIVATE_JACINT = 17292,
NPC_KORAG_PROUDMANE = 17295,
NPC_CAPTAIN_BONESHATTER = 17296,
NPC_SCOUT_ORGARR = 17297,
// Trial of the Naaru: Mercy
NPC_SHATTERED_EXECUTIONER = 17301,
NPC_RIFLEMAN_BROWNBEARD = 17289,
NPC_CAPTAIN_ALINA = 17290,
NPC_PRIVATE_JACINT = 17292,
NPC_KORAG_PROUDMANE = 17295,
NPC_CAPTAIN_BONESHATTER = 17296,
NPC_SCOUT_ORGARR = 17297,
};
enum GameobjectIds
{
GO_GRAND_WARLOCK_CHAMBER_DOOR_1 = 182539,
GO_GRAND_WARLOCK_CHAMBER_DOOR_2 = 182540
GO_GRAND_WARLOCK_CHAMBER_DOOR_1 = 182539,
GO_GRAND_WARLOCK_CHAMBER_DOOR_2 = 182540
};
enum SpellIds
{
SPELL_KARGATHS_EXECUTIONER_1 = 39288,
SPELL_KARGATHS_EXECUTIONER_2 = 39289,
SPELL_KARGATHS_EXECUTIONER_3 = 39290
SPELL_KARGATHS_EXECUTIONER_1 = 39288,
SPELL_KARGATHS_EXECUTIONER_2 = 39289,
SPELL_KARGATHS_EXECUTIONER_3 = 39290
};
#endif