aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author_manuel_ <none@none>2010-01-17 01:53:28 -0300
committer_manuel_ <none@none>2010-01-17 01:53:28 -0300
commit054db2fa5c405e213769acc86d48d003a0cff30b (patch)
tree34bf59dc1e1502ccf80b8d48decca8197bf49510 /src
parent7e183d6b2f9f6b6f0e819d927f5c06a35cf52d93 (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.cpp19
-rw-r--r--src/game/SpellMgr.h4
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