#define RegisterSpellScript(spell_script)
void CloseGossipMenuFor(Player *player)
@ AURA_EFFECT_HANDLE_REAL
#define AuraEffectRemoveFn(F, I, N, M)
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
void RemoveNpcFlag(NPCFlags flags)
void SetNpcFlag(NPCFlags flags)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void HandleStun(AuraEffect const *aurEff, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void AddSC_forge_of_souls()
#define RegisterForgeOfSoulsCreatureAI(ai_name)
bool OnGossipSelect(Player *player, uint32 menuId, uint32 gossipListId) override
npc_jaina_fos(Creature *creature)
void UpdateAI(uint32 diff) override
InstanceScript * instance
InstanceScript * instance
npc_sylvanas_fos(Creature *creature)
void UpdateAI(uint32 diff) override
bool OnGossipSelect(Player *player, uint32 menuId, uint32 gossipListId) override