diff options
author | _manuel_ <none@none> | 2010-01-17 01:53:28 -0300 |
---|---|---|
committer | _manuel_ <none@none> | 2010-01-17 01:53:28 -0300 |
commit | 054db2fa5c405e213769acc86d48d003a0cff30b (patch) | |
tree | 34bf59dc1e1502ccf80b8d48decca8197bf49510 /src | |
parent | 7e183d6b2f9f6b6f0e819d927f5c06a35cf52d93 (diff) |
Blessing of Might and Battle Shout can't be at the same time, fixed by naitsabes.s and me. Thanks to QAston and thenecromancer.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellMgr.cpp | 19 | ||||
-rw-r--r-- | src/game/SpellMgr.h | 4 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 4c84e6fb972..a7cc0d50897 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -550,7 +550,9 @@ SpellSpecific GetSpellSpecific(uint32 spellId) } case SPELLFAMILY_WARRIOR: { - if (spellInfo->SpellFamilyFlags[1] & 0x000080 || spellInfo->SpellFamilyFlags[0] & 0x10000) + if (spellInfo->SpellFamilyFlags[0] & 0x10000) + return SPELL_SPECIFIC_BATTLE_SHOUT; + if (spellInfo->SpellFamilyFlags[1] & 0x000080) return SPELL_SPECIFIC_POSITIVE_SHOUT; if (spellInfo->Id == 12292) // Death Wish return SPELL_SPECIFIC_WARRIOR_ENRAGE; @@ -603,6 +605,9 @@ SpellSpecific GetSpellSpecific(uint32 spellId) if (IsSealSpell(spellInfo)) return SPELL_SPECIFIC_SEAL; + if (spellInfo->SpellFamilyFlags[0] & 0x00000002) + return SPELL_SPECIFIC_BLESSING_OF_MIGHT; + if (spellInfo->SpellFamilyFlags[0] & 0x11010002) return SPELL_SPECIFIC_BLESSING; @@ -670,12 +675,14 @@ bool IsSingleFromSpellSpecificPerCaster(SpellSpecific spellSpec1,SpellSpecific s switch(spellSpec1) { case SPELL_SPECIFIC_SEAL: + case SPELL_SPECIFIC_BLESSING_OF_MIGHT: case SPELL_SPECIFIC_BLESSING: case SPELL_SPECIFIC_HAND: case SPELL_SPECIFIC_AURA: case SPELL_SPECIFIC_STING: case SPELL_SPECIFIC_CURSE: case SPELL_SPECIFIC_ASPECT: + case SPELL_SPECIFIC_BATTLE_SHOUT: case SPELL_SPECIFIC_POSITIVE_SHOUT: case SPELL_SPECIFIC_JUDGEMENT: case SPELL_SPECIFIC_WARLOCK_CORRUPTION: @@ -723,6 +730,16 @@ bool IsSingleFromSpellSpecificPerTarget(SpellSpecific spellSpec1, SpellSpecific return spellSpec2==SPELL_SPECIFIC_BATTLE_ELIXIR || spellSpec2==SPELL_SPECIFIC_GUARDIAN_ELIXIR || spellSpec2==SPELL_SPECIFIC_FLASK_ELIXIR; + case SPELL_SPECIFIC_BLESSING_OF_MIGHT: + return spellSpec2==SPELL_SPECIFIC_BATTLE_SHOUT + || spellSpec2==SPELL_SPECIFIC_BLESSING; + case SPELL_SPECIFIC_BATTLE_SHOUT: + return spellSpec2==SPELL_SPECIFIC_BLESSING_OF_MIGHT + || spellSpec2==SPELL_SPECIFIC_POSITIVE_SHOUT; + case SPELL_SPECIFIC_POSITIVE_SHOUT: + return spellSpec2==SPELL_SPECIFIC_BATTLE_SHOUT; + case SPELL_SPECIFIC_BLESSING: + return spellSpec2==SPELL_SPECIFIC_BLESSING_OF_MIGHT; default: return false; } diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h index 9760f7737a5..82d2a499440 100644 --- a/src/game/SpellMgr.h +++ b/src/game/SpellMgr.h @@ -119,7 +119,7 @@ enum SpellFamilyFlag SPELLFAMILYFLAG2_DRUID_STARFALL = 0x00000100, // Paladin - SPELLFAMILYFLAG1_PALADIN_DIVINESTORM = 0x00020000, + SPELLFAMILYFLAG1_PALADIN_DIVINESTORM = 0x00020000, // Shaman SPELLFAMILYFLAG_SHAMAN_FROST_SHOCK = 0x80000000, @@ -173,6 +173,8 @@ enum SpellSpecific SPELL_SPECIFIC_PRIEST_DIVINE_SPIRIT = 27, SPELL_SPECIFIC_HAND = 28, SPELL_SPECIFIC_PHASE = 29, + SPELL_SPECIFIC_BLESSING_OF_MIGHT = 30, + SPELL_SPECIFIC_BATTLE_SHOUT = 31 }; #define SPELL_LINKED_MAX_SPELLS 200000 |