30#include <G3D/Vector3.h>
303 return GetStonecoreAI<boss_high_priestess_azilAI>(creature);
326 target->SetInCombatWith(
me);
337 return GetStonecoreAI<npc_devout_followerAI>(creature);
395 return GetStonecoreAI<npc_gravity_wellAI>(creature);
431 if (
Vehicle* vehicle = highPriestAzil->GetVehicleKit())
432 me->
EnterVehicle(highPriestAzil, vehicle->GetNextEmptySeat(0,
false)->first);
451 path.push_back(point);
454 path.push_back(point);
457 path.push_back(point);
459 path.push_back(point);
468 return GetStonecoreAI<npc_seismic_shardAI>(creature);
488 for (
int i = 0; i < 3; i++)
520 for (
int i = 0; i < 10; i++)
@ TARGET_UNIT_SRC_AREA_ENEMY
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_SCHOOL_DAMAGE
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
void AddSC_boss_high_priestess_azil()
@ SPELL_SEISMIC_SHARD_VISUAL
@ SPELL_SEISMIC_SHARD_LAUNCH
@ SPELL_GRAVITY_WELL_AURA_DAMAGE
@ SPELL_GRAVITY_WELL_DAMAGE
@ SPELL_GRAVITY_WELL_AURA_PULL
@ SPELL_SEISMIC_SHARD_TARGETING
@ SPELL_GRAVITY_WELL_PULL
@ SPELL_SEISMIC_SHARD_SUMMON_3
@ SPELL_EARTH_FURY_ENERGY_SHIELD
@ SPELL_SEISMIC_SHARD_SUMMON_2
@ SPELL_EARTH_FURY_CASTING_VISUAL
@ SPELL_SEISMIC_SHARD_SUMMON_1
@ SPELL_EJECT_ALL_PASSENGERS
@ SPELL_SEISMIC_SHARD_MISSLE
@ SPELL_GRAVITY_WELL_VISUAL
@ SPELL_SEISMIC_SHARD_PREPARE
@ SPELL_SUMMON_GRAVITY_WELL
@ SPELL_SUMMON_WAVE_SOUTH
Position const AbovePlatformPos
@ EVENT_GRAVITY_WELL_AURA_PULL
@ EVENT_SEISMIC_SHARD_MOUNT
@ EVENT_SUMMON_GRAVITY_WELL
@ EVENT_EARTH_FURY_PREPARE_SHARD
@ EVENT_EARTH_FURY_FLY_DOWN
@ EVENT_GRAVITY_WELL_AURA_DAMAGE
@ EVENT_EARTH_FURY_FLY_ABOVE_PLATFORM
@ EVENT_EARTH_FURY_LAUNCH_SHARD
@ EVENT_SUMMON_WAVE_SOUTH
@ EVENT_EARTH_FURY_FLY_UP
void JustEngagedWith(Unit *who) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetObjectScale(float scale) override
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ExitVehicle(Position const *exitPosition=nullptr) override
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
virtual ObjectGuid GetGuidData(uint32 type) const override
void MoveJump(Position const &pos, float speedXY, float speedZ, uint32 id=EVENT_JUMP, bool hasOrientation=false, JumpArrivalCastArgs const *arrivalCast=nullptr, Movement::SpellEffectExtraData const *spellEffectExtraData=nullptr)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static Creature * ToCreature(Object *o)
float GetObjectScale() const
bool operator()(WorldObject *object) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< CastHandler > BeforeCast
void SetHitDamage(int32 damage)
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
void SetSpellValue(SpellValueMod mod, int32 value)
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 EnterVehicle(Unit *base, int8 seatId=-1)
float GetSpeed(UnitMoveType mtype) const
void SetInCombatWith(Unit *enemy, bool addSecondUnitSuppressed=false)
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject const *object, bool force=true)
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
bool Attack(Unit *victim, bool meleeAttack)
bool SetCanFly(bool enable)
void SetFacingTo(float const ori, bool force=true)
bool HasUnitState(const uint32 f) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
virtual void ExitVehicle(Position const *exitPosition=nullptr)
Player * SelectNearestPlayer(float range) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
float GetDistance2d(WorldObject const *obj) const
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
void UpdateGroundPositionZ(float x, float y, float &z) const
boss_high_priestess_azil()
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 CalculateDamage(SpellEffIndex)
void HandleScript(SpellEffIndex)
void FilterTargets(std::list< WorldObject * > &unitList)
SpellScript * GetSpellScript() const override
spell_gravity_well_damage_nearby()
spell_gravity_well_damage()
SpellScript * GetSpellScript() const override
SpellScript * GetSpellScript() const override
spell_gravity_well_pull()
void HandleScript(SpellEffIndex)
spell_seismic_shard_change_seat()
SpellScript * GetSpellScript() const override
SpellScript * GetSpellScript() const override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
SpellScript * GetSpellScript() const override
spell_summon_wave_south()
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
SpellScript * GetSpellScript() const override
std::vector< Vector3 > PointsArray
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
@ DATA_HIGH_PRIESTESS_AZIL
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr void GetPosition(float &x, float &y) const
constexpr float GetPositionZ() const
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void DoStartMovement(Unit *target, float distance=0.0f, float angle=0.0f)
void MovementInform(uint32 type, uint32 id) override
void JustEngagedWith(Unit *who) override
boss_high_priestess_azilAI(Creature *creature)
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void IsSummonedBy(WorldObject *summoner) override
npc_devout_followerAI(Creature *creature)
npc_gravity_wellAI(Creature *creature)
void KilledUnit(Unit *victim) override
void UpdateAI(uint32 diff) override
void UpdateAI(uint32 diff) override
InstanceScript * instance
void FillPath(Position const &pos, Movement::PointsArray &path)
npc_seismic_shardAI(Creature *creature)