135#define ORIENT 1.5696f
136#define POS_Y 921.2795f
137#define POS_Z 33.8883f
139static float Pos_X[4] = {112.8827f, 107.8827f, 122.8827f, 127.8827f};
296 for (
uint8 i = 0; i < 4; ++i)
299 if (creature && creature->
IsAlive())
327 for (
uint8 i = 0; i < 4; ++i)
341 for (
auto itr = addList.begin(); itr != addList.end(); ++itr, ++i)
347 for (
uint8 i = 0; i < 4; ++i)
350 if (!creature || !creature->
IsAlive())
386 for (
uint8 i = 0; i < 4; ++i)
388 if (temp->IsAlive() && !temp->GetVictim())
425 if (!target || !trigger)
474 Unit* target =
nullptr;
493 if (!templist.empty())
494 target = *(templist.begin());
505 return GetZulAmanAI<boss_hex_lord_malacrassAI>(creature);
545 if (!templist.empty())
547 if (
Unit* target = *(templist.begin()))
569 return GetZulAmanAI<boss_thurgAI>(creature);
674 return GetZulAmanAI<boss_alyson_antilleAI>(creature);
728 return GetZulAmanAI<boss_gazakrothAI>(creature);
787 return GetZulAmanAI<boss_lord_raadanAI>(creature);
834 return GetZulAmanAI<boss_darkheartAI>(creature);
898 return GetZulAmanAI<boss_slitherAI>(creature);
948 return GetZulAmanAI<boss_fenstalkerAI>(creature);
1002 return GetZulAmanAI<boss_koraggAI>(creature);
@ TEMPSUMMON_DEAD_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN
uint32 urand(uint32 min, uint32 max)
@ UNIT_FLAG_UNINTERACTIBLE
static PlayerAbilityStruct PlayerAbility[][3]
static uint32 const AddEntryList[AddCount]
static uint8 const AddCount
@ SPELL_PR_PSYCHIC_SCREAM
@ SPELL_WL_UNSTABLE_AFFL_DISPEL
@ SPELL_HU_EXPLOSIVE_TRAP
@ SPELL_PA_AVENGING_WRATH
@ SPELL_VOLATILE_INFECTION
void AddSC_boss_hex_lord_malacrass()
AuraEffect * GetEffect(uint8 effIndex) const
HookList< AuraDispelHandler > AfterDispel
void JustEngagedWith(Unit *who) override
void DoZoneInCombat(Creature *creature=nullptr)
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
void setDeathState(DeathState s) override
WorldObject * GetDispeller() const
EncounterState GetBossState(uint32 id) const
void MoveChase(Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={})
static ObjectGuid GetGUID(Object const *o)
void AttackStartCaster(Unit *victim, float dist)
void DoMeleeAttackIfReady()
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)
virtual void AttackStart(Unit *)
SpellCastResult DoCast(uint32 spellId)
bool isTargetableForAttack(bool checkFakeDeath=true) const
void KillSelf(bool durabilityLoss=true)
void StopMoving(bool force=false)
MotionMaster * GetMotionMaster()
virtual bool HasSpell(uint32) const
Unit * EnsureVictim() const
virtual bool UpdatePosition(float x, float y, float z, float ang, bool teleport=false)
bool Attack(Unit *victim, bool meleeAttack)
virtual void SetDisplayId(uint32 modelId)
void SetUnitFlag(UnitFlags flags)
bool IsWithinDist3d(float x, float y, float z, float dist) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
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
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
void HandleDispel(DispelInfo *dispelInfo)
PrepareAuraScript(spell_hexlord_unstable_affliction_AuraScript)
bool Validate(SpellInfo const *) override
AuraScript * GetAuraScript() const override
spell_hexlord_unstable_affliction()
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void RandomResize(C &container, std::size_t requestedSize)
Unit * DoSelectLowestHpFriendly(float range, uint32 minHPDiff=1)
Creature * DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
std::list< Creature * > DoFindFriendlyMissingBuff(float range, uint32 spellId)
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void UpdateAI(uint32 diff) override
boss_alyson_antilleAI(Creature *creature)
void AttackStart(Unit *who) override
void UpdateAI(uint32 diff) override
boss_darkheartAI(Creature *creature)
void UpdateAI(uint32 diff) override
boss_fenstalkerAI(Creature *creature)
void UpdateAI(uint32 diff) override
boss_gazakrothAI(Creature *creature)
void AttackStart(Unit *who) override
InstanceScript * instance
void UpdateAI(uint32) override
void JustEngagedWith(Unit *) override
boss_hexlord_addAI(Creature *creature)
void JustEngagedWith(Unit *who) override
void JustDied(Unit *) override
void KilledUnit(Unit *) override
boss_hex_lord_malacrassAI(Creature *creature)
uint32 CheckAddState_Timer
uint32 PlayerAbility_Timer
void UpdateAI(uint32 diff) override
boss_koraggAI(Creature *creature)
void UpdateAI(uint32 diff) override
void UpdateAI(uint32 diff) override
boss_lord_raadanAI(Creature *creature)
boss_slitherAI(Creature *creature)
void AttackStart(Unit *who) override
void UpdateAI(uint32 diff) override
void UpdateAI(uint32 diff) override
boss_thurgAI(Creature *creature)