89 for (
uint8 i = 0; i < 3; ++i)
100 return id > 0 &&
id < 4 ? id : 0;
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define AuraCheckProcFn(F)
void PreventDefaultAction()
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void MovePath(uint32 pathId, bool repeatable, Optional< Milliseconds > duration={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< std::pair< Milliseconds, Milliseconds > > waitTimeRangeAtPathEnd={}, Optional< float > wanderDistanceAtPathEnds={}, Optional< bool > followPathBackwardsFromEndToStart={}, bool generatePath=true)
Unit * GetActionTarget() const
SpellInfo const * GetSpellInfo() const
uint64 GetAllEffectsMechanicMask() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
SpellCastResult DoCast(uint32 spellId)
void SetAnimTier(AnimTier animTier, bool notifyClient=true)
MotionMaster * GetMotionMaster()
void SetEmoteState(Emote emote)
bool HasUnitState(const uint32 f) const
GameObject * FindNearestGameObject(uint32 entry, float range, bool spawnedOnly=true) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
float GetDistance2d(WorldObject const *obj) const
float GetDistance(WorldObject const *obj) const
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
virtual void SetData(uint32, uint32)
void HandleScriptEffect(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool CheckProc(ProcEventInfo &eventInfo)
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
InstanceScript * _instance
void JustEngagedWith(Unit *) override
void UpdateAI(uint32) override
npc_dragonflayer_forge_master(Creature *creature)
void JustDied(Unit *) override
uint8 GetForgeMasterType()
void UpdateAI(uint32 diff) override
void SetData(uint32 type, uint32 data) override
void MovementInform(uint32 type, uint32 id) override
npc_enslaved_proto_drake(Creature *creature)
const Position protodrakeCheckPos
void AddSC_utgarde_keep()
@ SPELL_SECOND_WIND_TRIGGER
#define RegisterUtgardeKeepCreatureAI(ai_name)