51 {302.0f, -87.0f, -24.4f, 0.157f},
52 {321.0f, -63.5f, -24.6f, 4.887f},
53 {346.0f, -74.5f, -24.6f, 3.595f},
54 {344.0f, -103.5f, -24.5f, 2.356f},
55 {316.0f, -109.0f, -24.6f, 1.257f}
68 for (
uint8 i=0; i<5; ++i)
101 if (
me->IsNonMeleeSpellCasted(
false))
102 me->InterruptNonMeleeSpells(
true);
123 for (
uint8 i=0; i<5; ++i)
126 if (who && channeler && !channeler->
IsInCombat())
133 for (
uint8 i=0; i<5; ++i)
136 if (channeler && channeler->
IsAlive())
142 me->AI()->AttackStart(killer);
163 for (
uint8 i=0; i<5; ++i)
166 if (!channeler || channeler->
isDead())
193 if (!
me->IsNonMeleeSpellCasted(
false))
234 if (
me->IsNonMeleeSpellCasted(
false))
235 me->InterruptNonMeleeSpells(
true);
242 aura->ApplyForTargets();
296 if (
me->IsNonMeleeSpellCasted(
false))
297 me->InterruptNonMeleeSpells(
true);
304 if (
me->IsNonMeleeSpellCasted(
false))
305 me->InterruptNonMeleeSpells(
true);
321 if (!
me->IsNonMeleeSpellCasted(
false))
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_IMMUNE_TO_NPC
@ TYPE_KELIDAN_THE_BREAKER_EVENT
@ SPELL_SHADOW_BOLT_VOLLEY
@ H_SPELL_SHADOW_BOLT_VOLLEY
const float ShadowmoonChannelers[5][4]
void AddSC_boss_kelidan_the_breaker()
@ SPELL_SHADOW_BOLT_VOLLEY
static Aura * TryRefreshStackOrCreate(SpellInfo const *spellproto, uint32 tryEffMask, WorldObject *owner, Unit *caster, int32 *baseAmount=NULL, Item *castItem=NULL, uint64 casterGUID=0, bool *refresh=NULL)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
CreatureScript(const char *name)
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
void DoCastVictim(uint32 spellId, bool triggered=false)
virtual void AttackStart(Unit *)
static Creature * GetCreature(WorldObject &object, uint64 guid)
static Unit * GetUnit(WorldObject &object, uint64 guid)
InstanceScript * GetInstanceScript()
boss_kelidan_the_breaker()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_shadowmoon_channeler()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
void DoTeleportAll(float x, float y, float z, float o)
ScriptedAI(Creature *creature)
void DoStartMovement(Unit *target, float distance=0.0f, float angle=0.0f)
void ChannelerDied(Unit *killer)
uint64 GetChanneled(Creature *channeler1)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void ChannelerEngaged(Unit *who)
void EnterCombat(Unit *who) OVERRIDE
void KilledUnit(Unit *) OVERRIDE
void JustDied(Unit *) OVERRIDE
uint32 ShadowVolley_Timer
InstanceScript * instance
boss_kelidan_the_breakerAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *killer) OVERRIDE
uint32 MarkOfShadow_Timer
npc_shadowmoon_channelerAI(Creature *creature)
void EnterCombat(Unit *who) OVERRIDE