diff options
author | joschiwald <joschiwald.trinity@gmail.com> | 2017-01-12 23:03:08 +0100 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-01-13 01:05:46 +0100 |
commit | 9edc62f2850469f2a800ad0d3f4faef1b6915d38 (patch) | |
tree | 2194dad6a383a7fb49c9ee68d924a746e939354f | |
parent | a6acd8885a2e0ccb7337e16dd4d7ab10890953c0 (diff) |
Core/SpellScripts: Added helper method to validate spells
(cherry picked from commit 2b5d7eef3a091e67c27e853d43ac0bebbfa67531)
-rw-r--r-- | src/server/game/Spells/SpellScript.cpp | 12 | ||||
-rw-r--r-- | src/server/game/Spells/SpellScript.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellScript.cpp b/src/server/game/Spells/SpellScript.cpp index 28d2b81a44f..c56fb6ce0ef 100644 --- a/src/server/game/Spells/SpellScript.cpp +++ b/src/server/game/Spells/SpellScript.cpp @@ -18,6 +18,7 @@ #include "Spell.h" #include "ScriptMgr.h" #include "SpellAuras.h" +#include "SpellMgr.h" #include "SpellScript.h" #include "SpellMgr.h" #include <string> @@ -32,6 +33,17 @@ bool _SpellScript::_Validate(SpellInfo const* entry) return true; } +bool _SpellScript::ValidateSpellInfo(std::vector<uint32> spellIds) +{ + for (uint32 spellId : spellIds) + if (!sSpellMgr->GetSpellInfo(spellId)) + { + TC_LOG_ERROR("scripts.spells", "_SpellScript::ValidateSpellInfo: Spell %u does not exist.", spellId); + return false; + } + return true; +} + void _SpellScript::_Register() { m_currentScriptState = SPELL_SCRIPT_STATE_REGISTRATION; diff --git a/src/server/game/Spells/SpellScript.h b/src/server/game/Spells/SpellScript.h index 4dc39370b1e..51d3c2a85ab 100644 --- a/src/server/game/Spells/SpellScript.h +++ b/src/server/game/Spells/SpellScript.h @@ -132,6 +132,8 @@ class TC_GAME_API _SpellScript // Function called when script is destroyed // use for: deallocating memory allocated by script virtual void Unload() { } + // Helpers + static bool ValidateSpellInfo(std::vector<uint32> spellIds); }; // SpellScript interface - enum used for runtime checks of script function calls |