80#define ERROR_INST_DATA "SD2 ERROR: Instance Data for Black Temple not set properly; Illidari Council event will not function properly."
119 for (
uint8 i = 0; i < 4; ++i)
215 for (
uint8 i = 0; i < 4; ++i)
238 for (
uint8 i = 0; i < 4; ++i)
256 VoiceTrigger->AI()->EnterEvadeMode();
263 me->SetDisplayId(11686);
276 if (target && target->
IsAlive())
290 for (
uint8 i = 0; i < 4; ++i)
295 if (member->IsAlive())
296 member->AI()->AttackStart(target);
329 if (pMember && pMember->
IsAlive())
340 uint8 EvadeCheck = 0;
341 for (
uint8 i = 0; i < 4; ++i)
348 if (Member->IsAlive() && !Member->GetVictim())
350 else if (!Member->IsAlive())
375 for (
uint8 i = 0; i < 4; ++i)
410 for (
uint8 i = 0; i < 4; ++i)
413 if (unit !=
me && unit->GetVictim())
428 for (
uint8 i = 0; i < 4; ++i)
431 if (unit !=
me && damage < unit->GetHealth())
433 unit->ModifyHealth(-
int32(damage));
434 unit->LowerPlayerDamageReq(damage);
501 member = std::rand() % 3 + 1;
511 switch (std::rand() % 1)
516 for (
uint8 i = 0; i < 4; ++i)
520 unit->
CastSpell(unit, spellid,
true, 0, 0,
me->GetGUID());
533 switch (std::rand() % 1)
558 if (
me->IsInRange(target, 10.0f, 40.0f,
false))
568 switch (std::rand() % 1)
798 me->SetVisible(
true);
838 me->SetVisible(
false);
842 me->AddThreat(target, 500000.0f);
843 me->GetMotionMaster()->MoveChase(target);
853 Unit* target =
me->GetVictim();
857 me->AddThreat(target, 3000.0f);
866 me->GetMotionMaster()->Clear();
867 me->GetMotionMaster()->MoveChase(
me->GetVictim());
868 me->SetVisible(
true);
896 int32 bp = absorbAmount / 2;
#define SF_LOG_ERROR(filterType__,...)
@ SPELL_SCHOOL_MASK_NORMAL
#define AuraEffectAbsorbFn(F, I)
@ UNIT_FLAG_NOT_SELECTABLE
@ DATA_HIGH_NETHERMANCER_ZEREVOR
@ DATA_GATHIOS_THE_SHATTERER
@ DATA_BLOOD_ELF_COUNCIL_VOICE
@ SPELL_HAMMER_OF_JUSTICE
HookList< EffectAbsorbHandler > AfterEffectAbsorb
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
void Respawn(bool force=false)
void RemoveCorpse(bool setSpawnTime=true)
CreatureScript(const char *name)
Unit * GetAttacker() const
static Creature * GetCreature(WorldObject const &u, uint64 guid)
SpellScriptLoader(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)
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)
uint32 DealDamage(Unit *victim, uint32 damage, CleanDamage const *cleanDamage=NULL, DamageEffectType damagetype=DIRECT_DAMAGE, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *spellProto=NULL, bool durabilityLoss=true)
static Creature * GetCreature(WorldObject &object, uint64 guid)
static Unit * GetUnit(WorldObject &object, uint64 guid)
void CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
InstanceScript * GetInstanceScript()
boss_gathios_the_shatterer()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
boss_high_nethermancer_zerevor()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *c) const OVERRIDE
npc_blood_elf_council_voice_trigger()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
PrepareAuraScript(spell_boss_lady_malande_shield_AuraScript)
void Trigger(AuraEffect *aurEff, DamageInfo &dmgInfo, uint32 &absorbAmount)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
spell_boss_lady_malande_shield()
static CouncilYells CouncilEnrage[]
@ SPELL_CIRCLE_OF_HEALING
@ SPELL_HAMMER_OF_JUSTICE
@ SPELL_REFLECTIVE_SHIELD
@ SPELL_REFLECTIVE_SHIELD_T
void AddSC_boss_illidari_council()
static CouncilYells CouncilAggro[]
ScriptedAI(Creature *creature)
void AttackStart(Unit *) OVERRIDE
uint32 HammerOfJusticeTimer
Unit * SelectCouncilMember()
void KilledUnit(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
boss_gathios_the_shattererAI(Creature *creature)
boss_high_nethermancer_zerevorAI(Creature *creature)
void KilledUnit(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
uint32 ArcaneExplosionTimer
InstanceScript * instance
void EnterEvadeMode() OVERRIDE
void DamageTaken(Unit *done_by, uint32 &damage) OVERRIDE
boss_illidari_councilAI(Creature *creature)
void EnterCombat(Unit *who) OVERRIDE
boss_lady_malandeAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
uint32 CircleOfHealingTimer
uint32 EmpoweredSmiteTimer
void KilledUnit(Unit *) OVERRIDE
uint32 ReflectiveShieldTimer
void JustDied(Unit *) OVERRIDE
void JustDied(Unit *) OVERRIDE
void KilledUnit(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
boss_veras_darkshadowAI(Creature *creature)
uint32 AppearEnvenomTimer
void MoveInLineOfSight(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void AttackStart(Unit *) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
npc_blood_elf_council_voice_triggerAI(Creature *creature)
InstanceScript * instance
void AttackStart(Unit *) OVERRIDE
void MoveInLineOfSight(Unit *) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
npc_illidari_councilAI(Creature *creature)
void StartEvent(Unit *target)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================