feat(Core/Spell): Implement ValidateSpellInfo (#4323)

* feat(Core/Spell): Implement ValidateSpellInfo

* cherry-pick from 2b5d7eef3a & a0a158b5b8

* sLog->outError

* cleanup

* convert to ValidateSpellInfo

* fix error log

* improve sLog->outError

* remove non related spells stuff from Validate

* remove the last

* build

* build x2
This commit is contained in:
Kitzunu
2021-02-01 18:57:25 +01:00
committed by GitHub
parent b68f469c73
commit 0d52b4ca4a
45 changed files with 544 additions and 841 deletions

View File

@@ -110,6 +110,20 @@ public:
// Function called when script is destroyed
// use for: deallocating memory allocated by script
virtual void Unload() {}
// Helpers
static bool ValidateSpellInfo(std::initializer_list<uint32> spellIds)
{
return _ValidateSpellInfo(spellIds.begin(), spellIds.end());
}
template <class T>
static bool ValidateSpellInfo(T const& spellIds)
{
return _ValidateSpellInfo(std::begin(spellIds), std::end(spellIds));
}
private:
static bool _ValidateSpellInfo(uint32 const* begin, uint32 const* end);
};
// SpellScript interface - enum used for runtime checks of script function calls