270 return GetStonecoreAI<npc_sc_millhouse_manastormAI>(creature);
@ TARGET_UNIT_SRC_AREA_ENEMY
@ EMOTE_ONESHOT_KNOCKDOWN
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetCanMelee(bool canMelee, bool fleeFromMelee=false)
void SetReactState(ReactStates st)
ReactStates GetReactState() const
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
uint8 GetPhaseMask() const
void SetPhase(uint8 phase)
bool operator()(WorldObject *object) const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static Player * ToPlayer(Object *o)
WorldLocation * GetHitDest() const
HookList< EffectHandler > OnEffectHit
HookList< EffectHandler > OnEffectLaunch
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
bool DoSpellAttackIfReady(uint32 spellId)
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
void CombatStop(bool includingCast=false, bool mutualPvP=true, bool(*unitFilter)(Unit const *otherUnit)=nullptr)
Spell * FindCurrentSpellBySpellId(uint32 spell_id) const
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject const *object, bool force=true)
void SetFacingTo(float const ori, bool force=true)
bool HasUnitState(const uint32 f) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
void SetUnitFlag(UnitFlags flags)
virtual void SetDisplayId(uint32 displayId, bool setNative=false)
void RemoveUnitFlag(UnitFlags flags)
InstanceScript * GetInstanceScript() const
GameObject * SummonGameObject(uint32 entry, Position const &pos, QuaternionData const &rot, Seconds respawnTime, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
npc_sc_millhouse_manastorm()
CreatureAI * GetAI(Creature *creature) const override
void DummyEffect(SpellEffIndex)
SpellScript * GetSpellScript() const override
void FilterTargets(std::list< WorldObject * > &unitList)
SpellScript * GetSpellScript() const override
bool Validate(SpellInfo const *) override
void SpawnGameObject(SpellEffIndex)
SpellScript * GetSpellScript() const override
spell_sc_twilight_documents()
Position const MillhousePointGroup4
@ SPELL_CLEAR_ALL_DEBUFFS
@ SPELL_TIGULE_AND_FORORS_SPECIAL_BLEND
@ SPELL_IMPENDING_DOOM_CHANNEL
Position const MillhousePointGroup3
@ POINT_MILLHOUSE_GROUP_4
@ POINT_MILLHOUSE_GROUP_3
@ POINT_MILLHOUSE_GROUP_2
Position const MillhousePointGroup2
@ PHASE_MASK_MILLHOUSE_GROUP_2
@ PHASE_MILLHOUSE_GROUP_2
@ PHASE_MILLHOUSE_GROUP_1
@ PHASE_MASK_MILLHOUSE_GROUP_4
@ PHASE_MILLHOUSE_GROUP_3
@ PHASE_MILLHOUSE_GROUP_4
@ PHASE_MASK_MILLHOUSE_GROUP_1
@ PHASE_MASK_MILLHOUSE_GROUP_3
@ EVENT_CAST_IMPENDING_DOOM
@ EVENT_INTERRUPT_IMPENDING_DOOM
@ GAMEOBJECT_TWILIGHT_DOCUMENTS
static QuaternionData fromEulerAnglesZYX(float Z, float Y, float X)
bool HealthBelowPct(uint32 pct) const
void UpdateAI(uint32 diff) override
npc_sc_millhouse_manastormAI(Creature *creature)
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
InstanceScript * _instance
void MovementInform(uint32 type, uint32 pointId) override