73#define CLICKERS_COUNT 5
104 me->SetVisible(
false);
112 me->SetDisplayId(11686);
156 me->DespawnOrUnsummon();
243 Cube[cubeGUID] = clickerGUID;
250 if (!clicker || !clicker->
IsAlive())
263 for (CubeMap::iterator i =
Cube.begin(); i !=
Cube.end(); ++i)
325 if (!
me->IsInCombat())
374 if (!
me->IsNonMeleeSpellCasted(
false))
388 target->GetPosition(x, y, z);
403 && !
me->IsNonMeleeSpellCasted(
false)
422 target->GetPosition(x, y, z);
479 me->InterruptNonMeleeSpells(
false);
493 summon->AI()->AttackStart(
me->GetVictim());
498 if (damage >=
me->GetHealth())
576 if (!Magtheridon || !Magtheridon->
IsAlive())
583 player->InterruptNonMeleeSpells(
false);
@ TEMPSUMMON_CORPSE_DESPAWN
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NOT_SELECTABLE
@ UNIT_FIELD_BOUNDING_RADIUS
@ UNIT_FIELD_COMBAT_REACH
@ SPELL_SHADOW_BOLT_VOLLEY
std::map< uint64, uint64 > CubeMap
@ SPELL_SHADOW_BOLT_VOLLEY
@ SPELL_SHADOW_GRASP_VISUAL
void AddSC_boss_magtheridon()
virtual void MoveInLineOfSight(Unit *)
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
CreatureScript(const char *name)
GameObjectScript(const char *name)
void SetFlag(uint16 index, uint32 newFlag)
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)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
static Creature * GetCreature(WorldObject &object, uint64 guid)
static Unit * GetUnit(WorldObject &object, uint64 guid)
InstanceScript * GetInstanceScript()
virtual uint32 GetData(uint32) const
virtual uint64 GetData64(uint32) const
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipHello(Player *player, GameObject *go) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool HealthBelowPct(uint32 pct) const
ScriptedAI(Creature *creature)
void AttackStart(Unit *) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
boss_magtheridonAI(Creature *creature)
void SetClicker(uint64 cubeGUID, uint64 clickerGUID)
void JustReachedHome() OVERRIDE
void JustDied(Unit *) OVERRIDE
void NeedCheckCubeStatus()
void DebuffClicker(Unit *clicker)
void AttackStart(Unit *who) OVERRIDE
void KilledUnit(Unit *) OVERRIDE
void MoveInLineOfSight(Unit *) OVERRIDE
InstanceScript * instance
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void EnterCombat(Unit *) OVERRIDE
void MoveInLineOfSight(Unit *who) OVERRIDE
void SetTrigger(uint32 _trigger)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SpellHit(Unit *, const SpellInfo *spell) OVERRIDE
void AttackStart(Unit *who) OVERRIDE
npc_abyssalAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
void DamageTaken(Unit *, uint32 &damage) OVERRIDE
npc_hellfire_channelerAI(Creature *creature)
InstanceScript * instance
void JustReachedHome() OVERRIDE
void JustSummoned(Creature *summon) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
uint32 ShadowBoltVolley_Timer
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================