aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellMgr.h
diff options
context:
space:
mode:
authormegamage <none@none>2009-07-30 11:33:28 +0800
committermegamage <none@none>2009-07-30 11:33:28 +0800
commit7121d98480d58a4214abcc2e22f678bad76cdecf (patch)
treea2abe6c11df8264a0f96e090770583c8ea9b0d18 /src/game/SpellMgr.h
parent61162312231f1722cbb3f1464704bfa74ed30369 (diff)
[8249] Implement support `spell_proc_item_enchant` table for ppm item enchantments triggering at hit.
* Added a new SQL table, spell_proc_item_enchant, for "custom" ppmRates on Item Enchants that do not use auras. With table data this must fix ppm for effect from 8033 and ranks enchanting, and item 6947/10918 and ranks enchanting. * Implemented SPELLMOD_FREQUENCY_OF_SUCCESS (26). That must fix work talent 14113, spell 32645 with ranks, glyph 41094 and item set effect 64917 in frequency part. Thanks to MaS0n as author alternative patch that partly used in this patch. Thanks to Thenecromancer as author alternative patch that ideas inspire MaS0n's patch writing and then this patch also. Author: nos4r2zod *Note: has been implemented before. Only use part of the patch. --HG-- branch : trunk
Diffstat (limited to 'src/game/SpellMgr.h')
-rw-r--r--src/game/SpellMgr.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h
index db1473bcb3b..ca83be4a560 100644
--- a/src/game/SpellMgr.h
+++ b/src/game/SpellMgr.h
@@ -526,6 +526,7 @@ typedef UNORDERED_MAP<uint32, SpellBonusEntry> SpellBonusMap;
#define ELIXIR_SHATTRATH_MASK 0x8
typedef std::map<uint32, uint8> SpellElixirMap;
+typedef std::map<uint32, float> SpellProcItemEnchantMap;
// Spell script target related declarations (accessed using SpellMgr functions)
enum SpellScriptTargetType
@@ -772,8 +773,6 @@ class SpellMgr
return NULL;
}
- bool IsSpellProcEventCanTriggeredBy( SpellProcEventEntry const * spellProcEvent, uint32 EventProcFlag, SpellEntry const * procSpell, uint32 procFlags, uint32 procExtra, bool active);
-
SpellEnchantProcEntry const* GetSpellEnchantProcEvent(uint32 enchId) const
{
SpellEnchantProcEventMap::const_iterator itr = mSpellEnchantProcEventMap.find(enchId);
@@ -782,6 +781,8 @@ class SpellMgr
return NULL;
}
+ bool IsSpellProcEventCanTriggeredBy( SpellProcEventEntry const * spellProcEvent, uint32 EventProcFlag, SpellEntry const * procSpell, uint32 procFlags, uint32 procExtra, bool active);
+
// Spell bonus data
SpellBonusEntry const* GetSpellBonusData(uint32 spellId) const
{
@@ -1056,6 +1057,7 @@ class SpellMgr
void LoadSpellScriptTarget();
void LoadSpellElixirs();
void LoadSpellProcEvents();
+ void LoadSpellProcItemEnchant();
void LoadSpellBonusess();
void LoadSpellTargetPositions();
void LoadSpellThreats();
@@ -1063,7 +1065,6 @@ class SpellMgr
void LoadSpellPetAuras();
void LoadSpellCustomAttr();
void LoadEnchantCustomAttr();
- void LoadSpellEnchantProcData();
void LoadSpellLinked();
void LoadPetLevelupSpellMap();
void LoadPetDefaultSpells();
@@ -1081,6 +1082,7 @@ class SpellMgr
SpellTargetPositionMap mSpellTargetPositions;
SpellElixirMap mSpellElixirs;
SpellProcEventMap mSpellProcEventMap;
+ SpellProcItemEnchantMap mSpellProcItemEnchantMap;
SpellBonusMap mSpellBonusMap;
SkillLineAbilityMap mSkillLineAbilityMap;
SpellPetAuraMap mSpellPetAuraMap;