115 return GetMagistersTerraceAI<boss_priestess_delrissaAI>(creature);
172 if (!pAdd->IsEngaged())
273 if (pAdd->IsAlive() && pAdd->GetHealth() < health)
310 Unit* target =
nullptr;
381 if (!delrissa->IsAlive())
393 if (!pAdd->IsEngaged() && pAdd !=
me)
397 if (delrissa->IsAlive() && !delrissa->IsEngaged())
415 ++uiLackeyDeathCount;
432 delrissa->AI()->KilledUnit(victim);
477 return GetMagistersTerraceAI<boss_kagani_nightstrikeAI>(creature);
589 return GetMagistersTerraceAI<boss_ellris_duskhallowAI>(creature);
686 return GetMagistersTerraceAI<boss_eramas_brightblazeAI>(creature);
753 return GetMagistersTerraceAI<boss_yazzaiAI>(creature);
849 if (pair.second->GetOther(
me)->IsWithinMeleeRange(
me))
884 return GetMagistersTerraceAI<boss_warlord_salarisAI>(creature);
936 if (pair.second->GetOther(
me)->IsWithinMeleeRange(
me))
1005 return GetMagistersTerraceAI<boss_garaxxasAI>(creature);
1119 return GetMagistersTerraceAI<boss_apokoAI>(creature);
1214 return GetMagistersTerraceAI<boss_zelfanAI>(creature);
1278 if (pAdd->IsPolymorphed())
First const & RAND(First const &first, Second const &second, Rest const &... rest)
@ TEMPSUMMON_CORPSE_DESPAWN
uint32 urand(uint32 min, uint32 max)
float LackeyLocations[4][2]
const uint32 m_auiAddEntries[]
@ SPELL_HIGH_EXPLOSIVE_SHEEP
@ SPELL_GOBLIN_DRAGON_GUN
void AddSC_boss_priestess_delrissa()
static Speech LackeyDeath[]
@ SPELL_SEED_OF_CORRUPTION
@ SPELL_FRIGHTENING_SHOUT
@ SPELL_LESSER_HEALING_WAVE
static Speech PlayerDeath[]
std::unordered_map< ObjectGuid, CombatReference * > const & GetPvECombatRefs() const
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetCanMelee(bool canMelee, bool fleeFromMelee=false)
void GetHomePosition(float &x, float &y, float &z, float &ori) const
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
void SetDynamicFlag(uint32 flag)
void RemoveDynamicFlag(uint32 flag)
static ObjectGuid GetGUID(Object const *o)
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)
GameObject * GetGameObject(uint32 spellId) const
CombatManager & GetCombatManager()
InstanceScript * GetInstanceScript() const
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
virtual uint32 GetData(uint32) const
virtual void SetData(uint32, uint32)
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
boss_eramas_brightblaze()
CreatureAI * GetAI(Creature *creature) const override
boss_kagani_nightstrike()
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
boss_priestess_delrissa()
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
@ DATA_DELRISSA_DEATH_COUNT
@ DATA_PRIESTESS_DELRISSA
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
constexpr float GetPositionZ() const
bool HealthBelowPct(uint32 pct) const
void ResetThreatList(Unit *who=nullptr)
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
uint32 Healing_Wave_Timer
void UpdateAI(uint32 diff) override
boss_apokoAI(Creature *creature)
boss_ellris_duskhallowAI(Creature *creature)
uint32 Curse_of_Agony_Timer
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
uint32 Seed_of_Corruption_Timer
void UpdateAI(uint32 diff) override
boss_eramas_brightblazeAI(Creature *creature)
boss_garaxxasAI(Creature *creature)
uint32 Freezing_Trap_Timer
void JustSummoned(Creature *summoned) override
uint32 Concussive_Shot_Timer
void UpdateAI(uint32 diff) override
boss_kagani_nightstrikeAI(Creature *creature)
void UpdateAI(uint32 diff) override
boss_priestess_delrissaAI(Creature *creature)
void JustEngagedWith(Unit *who) override
ObjectGuid m_auiLackeyGUID[MAX_ACTIVE_LACKEY]
void JustReachedHome() override
void UpdateAI(uint32 diff) override
InstanceScript * instance
void KilledUnit(Unit *victim) override
void JustDied(Unit *) override
std::vector< uint32 > LackeyEntryList
void KilledUnit(Unit *victim) override
void JustEngagedWith(Unit *who) override
ObjectGuid m_auiLackeyGUIDs[MAX_ACTIVE_LACKEY]
void JustDied(Unit *) override
InstanceScript * instance
boss_priestess_lackey_commonAI(Creature *creature)
void UpdateAI(uint32 diff) override
uint32 Intercept_Stun_Timer
boss_warlord_salarisAI(Creature *creature)
uint32 Mortal_Strike_Timer
void UpdateAI(uint32 diff) override
uint32 Frightening_Shout_Timer
void JustEngagedWith(Unit *) override
uint32 Piercing_Howl_Timer
void UpdateAI(uint32 diff) override
boss_yazzaiAI(Creature *creature)
uint32 Cone_of_Cold_Timer
uint32 Goblin_Dragon_Gun_Timer
uint32 High_Explosive_Sheep_Timer
void UpdateAI(uint32 diff) override
uint32 Recombobulate_Timer
uint32 Rocket_Launch_Timer
boss_zelfanAI(Creature *creature)
uint32 Fel_Iron_Bomb_Timer