From 2352fc7cdfff0e677f6516c0ab2b91d3efc9ab70 Mon Sep 17 00:00:00 2001 From: QAston Date: Sat, 24 Jul 2010 22:41:42 +0200 Subject: *Add base scripting interfce for spells - thanks to Brian for help in making it compile with GCC. *Add hook for handling spell effects in new scripting system. --HG-- branch : trunk --- src/server/game/Scripting/ScriptMgr.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/server/game/Scripting/ScriptMgr.cpp') diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 70b1ff6be64..5f6cce4917d 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -544,3 +544,25 @@ InstanceData* ScriptMgr::CreateInstanceData(Map *map) return tmpscript->GetInstanceData(map); } +void ScriptMgr::CreateSpellScripts(uint32 spell_id, std::list & script_vector) +{ + SpellScriptsBounds bounds = objmgr.GetSpellScriptsBounds(spell_id); + for (SpellScriptsMap::iterator itr = bounds.first; itr != bounds.second; ++itr) + { + Script *tmpscript = m_scripts[itr->second]; + if (!tmpscript || !tmpscript->GetSpellScript) continue; + script_vector.push_back(tmpscript->GetSpellScript()); + } +} + +void ScriptMgr::CreateSpellScripts(uint32 spell_id, std::vector > & script_vector) +{ + SpellScriptsBounds bounds = objmgr.GetSpellScriptsBounds(spell_id); + script_vector.reserve(std::distance(bounds.first, bounds.second)); + for (SpellScriptsMap::iterator itr = bounds.first; itr != bounds.second; ++itr) + { + Script *tmpscript = m_scripts[itr->second]; + if (!tmpscript || !tmpscript->GetSpellScript) continue; + script_vector.push_back(std::make_pair(tmpscript->GetSpellScript(), itr)); + } +} -- cgit v1.2.3