142 creature->KillSelf();
144 creature->KillSelf();
382 _hp =
object->GetMaxHealth() -
object->GetHealth();
453 Unit* target =
nullptr;
@ UNIT_FLAG_IMMUNE_TO_NPC
@ UNIT_MOD_DAMAGE_MAINHAND
@ SPELL_PERMANENT_FEIGN_DEATH
float const DamageIncrease
float const DamageDecrease
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
bool _EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
void SetImmuneToPC(bool apply) override
void SetImmuneToNPC(bool apply) override
void DelayEvents(Milliseconds delay)
bool IsInPhase(PhaseIndex phase) const
void SetPhase(PhaseIndex phase)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
LorKhanSelectTargetToHeal(Unit const *reference, float range)
bool operator()(Unit *object)
static Creature * ToCreature(Object *o)
void DoMeleeAttackIfReady()
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
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)
void SetControlled(bool apply, UnitState state)
void ApplyStatPctModifier(UnitMods unitMod, UnitModifierPctType modifierType, float amount)
MotionMaster * GetMotionMaster()
uint32 GetMaxHealth() const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
void AddUnitState(uint32 f)
bool HealthBelowPct(int32 pct) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasUnitState(const uint32 f) const
void RemoveUnitFlag(UnitFlags flags)
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
static void VisitAllObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
void AttackStart(Unit *) override
float GetThreat(Unit const *victim, Unit const *who=nullptr)
void ModifyThreatByPercent(Unit *victim, int32 pct, Unit *who=nullptr)
void ResetThreatList(Unit *who=nullptr)
void EnterEvadeMode(EvadeReason why) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustDied(Unit *) override
bool _isResurrectTimerActive
boss_thekal(Creature *creature)
void SetData(uint32 type, uint32 data) override
void UpdateAI(uint32 diff) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustEngagedWith(Unit *) override
npc_zealot_lorkhan(Creature *creature)
InstanceScript * _instance
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
InstanceScript * _instance
npc_zealot_zath(Creature *creature)
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
#define RegisterZulGurubCreatureAI(ai_name)