T GetEntry(std::unordered_map< uint32, T > const &map, CriteriaTreeEntry const *tree)
#define RegisterSpellScript(spell_script)
#define SpellEffectFn(F, I, N)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void HandleHit(SpellEffIndex)
bool Validate(SpellInfo const *) override
@ SPELL_SPEAK_TO_FALLEN_SPIRIT_MALE
@ SPELL_SPEAK_TO_FALLEN_SPIRIT_FEMALE
@ NPC_SLAIN_CREW_MEMBER_MALE