aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellMgr.cpp')
-rw-r--r--src/game/SpellMgr.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index efb83aa0fe2..b0db27a0b16 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1968,6 +1968,70 @@ void SpellMgr::LoadSpellPetAuras()
sLog.outString( ">> Loaded %u spell pet auras", count );
}
+// set data in core for now
+void SpellMgr::LoadSpellExtraInfo()
+{
+ SpellExtraInfo info;
+ info.info[SPELL_EXTRA_INFO_CONE_TYPE] = 0;
+ info.info[SPELL_EXTRA_INFO_MAX_TARGETS] = 0;
+ info.info[SPELL_EXTRA_INFO_SHARE_DAMAGE] = 0;
+
+ info.info[SPELL_EXTRA_INFO_CONE_TYPE] = 1;
+ SpellEntry const* tempSpell;
+ for(uint32 i = 0; i < GetSpellStore()->GetNumRows(); ++i)
+ {
+ tempSpell = GetSpellStore()->LookupEntry(i);
+ if(tempSpell && tempSpell->SpellVisual == 3879)
+ mSpellExtraInfoMap[tempSpell->Id] = info;
+ }
+ info.info[SPELL_EXTRA_INFO_CONE_TYPE] = 2;
+ mSpellExtraInfoMap[26029] = info; // dark glare
+ mSpellExtraInfoMap[37433] = info; // spout
+ mSpellExtraInfoMap[43140] = info; // flame breath
+ mSpellExtraInfoMap[43215] = info; // flame breath
+ info.info[SPELL_EXTRA_INFO_CONE_TYPE] = 0;
+
+ info.info[SPELL_EXTRA_INFO_SHARE_DAMAGE] = 1;
+ for(uint32 i = 0; i < 46000; ++i)
+ {
+ switch(i)
+ {
+ case 24340: case 26558: case 28884: // Meteor
+ case 36837: case 38903: case 41276: // Meteor
+ case 26789: // Shard of the Fallen Star
+ case 31436: // Malevolent Cleave
+ case 35181: // Dive Bomb
+ case 40810: case 43267: case 43268: // Saber Lash
+ case 42384: // Brutal Swipe
+ case 45150: // Meteor Slash
+ mSpellExtraInfoMap[i] = info;
+ break;
+ default:
+ break;
+ }
+ }
+ info.info[SPELL_EXTRA_INFO_SHARE_DAMAGE] = 0;
+
+ info.info[SPELL_EXTRA_INFO_MAX_TARGETS] = 1;
+ for(uint32 i = 0; i < 46000; ++i)
+ {
+ switch(i)
+ {
+ case 44978: case 45001: case 45002: // Wild Magic
+ case 45004: case 45006: case 45010: // Wild Magic
+ case 31347: // Doom
+ case 41635: // Prayer of Mending
+ mSpellExtraInfoMap[i] = info;
+ break;
+ default:
+ break;
+ }
+ }
+ info.info[SPELL_EXTRA_INFO_MAX_TARGETS] = 3;
+ mSpellExtraInfoMap[41376] = info; //Spite
+ info.info[SPELL_EXTRA_INFO_MAX_TARGETS] = 0;
+}
+
/// Some checks for spells, to prevent adding depricated/broken spells for trainers, spell book, etc
bool SpellMgr::IsSpellValid(SpellEntry const* spellInfo, Player* pl, bool msg)
{