#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
@ TARGET_DEST_NEARBY_ENTRY
@ EMOTE_ONESHOT_BATTLE_ROAR
#define SpellEffectFn(F, I, N)
#define SpellDestinationTargetSelectFn(F, I, N)
constexpr Position UlgraxStartCombatPosition
UlgraxTheDevourerConversations
@ CONVERSATION_ULGRAX_INTRO
void AddSC_boss_ulgrax_the_devourer()
@ SPELL_SWALLOWING_DARKNESS_TELEPORT
@ SPELL_SWALLOWING_DARKNESS_DAMAGE
@ SPELL_SWALLOWING_DARKNESS
constexpr Position UlgraxStartTeleportPosition
static Conversation * CreateConversation(uint32 conversationEntry, Unit *creator, Position const &pos, ObjectGuid privateObjectOwner, SpellInfo const *spellInfo=nullptr, bool autoStart=true)
void SetHomePosition(float x, float y, float z, float o)
void SetImmuneToAll(bool apply) override
Creature * GetCreature(uint32 type)
static ObjectGuid const Empty
bool IsGameMaster() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< HitHandler > AfterHit
HookList< DestinationTargetSelectHandler > OnDestinationTargetSelect
HookList< EffectHandler > OnEffectHitTarget
TaskContext & Schedule(TaskScheduler::duration_t time, TaskScheduler::task_handler_t task)
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool Validate(SpellInfo const *) override
void HandleHit(SpellEffIndex)
void SetDest(SpellDestination &dest)
bool Validate(SpellInfo const *) override
@ DATA_ULGRAX_THE_DEVOURER
#define RegisterNerubarPalaceCreatureAI(ai_name)
void Relocate(Position const &pos)
void OnUnitEnter(Unit *unit) override
at_ulgrax_intro(AreaTrigger *areatrigger)
void UpdateAI(uint32 diff) override
void MovementInform(uint32, uint32 id) override
boss_ulgrax_the_devourer(Creature *creature)