637 | | enum SpellExtraInfoType |
638 | | { |
639 | | SPELL_EXTRA_INFO_MAX_TARGETS, |
640 | | SPELL_EXTRA_INFO_CONE_TYPE, |
641 | | SPELL_EXTRA_INFO_SHARE_DAMAGE |
642 | | }; |
643 | | |
644 | | struct SpellExtraInfo |
645 | | { |
646 | | uint32 info[3]; |
647 | | }; |
648 | | |
649 | | typedef std::map<uint32, SpellExtraInfo> SpellExtraInfoMap; |
| 637 | enum SpellExtraAttributeType |
| 638 | { |
| 639 | SPELL_EXTRA_ATTR_MAX_TARGETS, |
| 640 | SPELL_EXTRA_ATTR_CONE_TYPE, |
| 641 | SPELL_EXTRA_ATTR_SHARE_DAMAGE |
| 642 | }; |
| 643 | |
| 644 | struct SpellExtraAttribute |
| 645 | { |
| 646 | uint32 attr[3]; |
| 647 | }; |
| 648 | |
| 649 | typedef std::map<uint32, SpellExtraAttribute> SpellExtraAttrMap; |
| 650 | |
| 651 | typedef std::map<int32, int32> SpellLinkedMap; |
849 | | uint32 GetSpellExtraInfo(uint32 spell_id, uint32 type) const |
850 | | { |
851 | | SpellExtraInfoMap::const_iterator itr = mSpellExtraInfoMap.find(spell_id); |
852 | | if(itr != mSpellExtraInfoMap.end()) |
853 | | return itr->second.info[type]; |
| 851 | uint32 GetSpellExtraAttr(uint32 spell_id, uint32 type) const |
| 852 | { |
| 853 | SpellExtraAttrMap::const_iterator itr = mSpellExtraAttrMap.find(spell_id); |
| 854 | if(itr != mSpellExtraAttrMap.end()) |
| 855 | return itr->second.attr[type]; |
| 856 | else |
| 857 | return 0; |
| 858 | } |
| 859 | |
| 860 | int32 GetSpellLinked(int32 spell_id) const |
| 861 | { |
| 862 | SpellLinkedMap::const_iterator itr = mSpellLinkedMap.find(spell_id); |
| 863 | if(itr != mSpellLinkedMap.end()) |
| 864 | return itr->second; |