122 else if (temp->GetVictim())
170 switch (spellInfo->
Id)
216 if (Temp && Temp->
isDead())
274 Unit* target =
nullptr;
276 for (
uint8 i = 0; i<3; ++i)
319 return GetSunwellPlateauAI<boss_sacrolashAI>(creature);
376 else if (temp->GetVictim())
448 switch (spellInfo->
Id)
546 if (Temp && Temp->
isDead())
643 return GetSunwellPlateauAI<boss_alythessAI>(creature);
654 return GetSunwellPlateauAI<npc_shadow_imageAI>(creature);
688 switch (spellInfo->
Id)
#define CREATURE_Z_ATTACK_RANGE
@ TEMPSUMMON_CORPSE_DESPAWN
@ YELL_SISTER_SACROLASH_DEAD
@ YELL_SISTER_ALYTHESS_DEAD
void AddSC_boss_eredar_twins()
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void AttackStart(Unit *victim) override
== Triggered Actions Requested ==================
float GetAttackDistance(Unit const *player) const
bool CanCreatureAttack(Unit const *victim, bool force=true) const
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
static Unit * ToUnit(Object *o)
void RemoveDynamicFlag(uint32 flag)
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
bool IsWithinMeleeRange(Unit const *obj) const
bool IsNonMeleeSpellCast(bool withDelayed, bool skipChanneled=false, bool skipAutorepeat=false, bool isAutoshoot=false, bool skipInstant=true) const
bool Attack(Unit *victim, bool meleeAttack)
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
bool isAttackReady(WeaponAttackType type=BASE_ATTACK) const
void KillSelf(bool durabilityLoss=true, bool skipSettingDeathState=false)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void InterruptSpell(CurrentSpellTypes spellType, bool withDelayed=true, bool withInstant=true)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool IsWithinLOSInMap(WorldObject const *obj, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing) const
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
float GetDistanceZ(WorldObject const *obj) const
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
void DoStartNoMovement(Unit *target)
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
void SetCombatMovement(bool allowMovement)
Creature * DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void JustDied(Unit *) override
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
boss_alythessAI(Creature *creature)
void KilledUnit(Unit *) override
void HandleTouchedSpells(Unit *target, uint32 TouchedType)
InstanceScript * instance
void JustEngagedWith(Unit *who) override
void MoveInLineOfSight(Unit *who) override
uint32 IntroStep(uint32 step)
void UpdateAI(uint32 diff) override
void AttackStart(Unit *who) override
== Triggered Actions Requested ==================
uint32 ConflagrationTimer
uint32 ConflagrationTimer
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
boss_sacrolashAI(Creature *creature)
void JustDied(Unit *) override
InstanceScript * instance
void KilledUnit(Unit *) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
uint32 ConfoundingblowTimer
void HandleTouchedSpells(Unit *target, uint32 TouchedType)
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
npc_shadow_imageAI(Creature *creature)