From bb273d51ad6eeb9c1a5afb9f04b45e80604844fc Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Tue, 4 Aug 2009 19:59:36 +0400 Subject: [PATCH] [8306] Implement single-per-caster limitation for paladin "hand of" spells. --- src/game/SpellMgr.cpp | 5 +++++ src/game/SpellMgr.h | 3 ++- src/shared/revision_nr.h | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index ed8b02634..ee8034992 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -188,6 +188,9 @@ SpellSpecific GetSpellSpecific(uint32 spellId) if (spellInfo->SpellFamilyFlags & UI64LIT(0x0000000011010002)) return SPELL_BLESSING; + if (spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000002190)) + return SPELL_HAND; + if ((spellInfo->SpellFamilyFlags & UI64LIT(0x00000820180400)) && (spellInfo->AttributesEx3 & 0x200)) return SPELL_JUDGEMENT; @@ -238,6 +241,7 @@ bool IsSingleFromSpellSpecificPerCaster(SpellSpecific spellSpec1,SpellSpecific s case SPELL_POSITIVE_SHOUT: case SPELL_JUDGEMENT: case SPELL_PRESENCE: + case SPELL_HAND: return spellSpec1==spellSpec2; case SPELL_BATTLE_ELIXIR: return spellSpec2==SPELL_BATTLE_ELIXIR @@ -261,6 +265,7 @@ bool IsSingleFromSpellSpecificRanksPerTarget(SpellSpecific spellId_spec, SpellSp case SPELL_BLESSING: case SPELL_AURA: case SPELL_CURSE: + case SPELL_HAND: return spellId_spec==i_spellId_spec; default: return false; diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h index 05ec8dae9..722400d3d 100644 --- a/src/game/SpellMgr.h +++ b/src/game/SpellMgr.h @@ -96,7 +96,8 @@ enum SpellSpecific SPELL_BATTLE_ELIXIR = 14, SPELL_GUARDIAN_ELIXIR = 15, SPELL_FLASK_ELIXIR = 16, - SPELL_PRESENCE = 17 + SPELL_PRESENCE = 17, + SPELL_HAND = 18, }; SpellSpecific GetSpellSpecific(uint32 spellId); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b77bdb4ad..3331d8517 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8305" + #define REVISION_NR "8306" #endif // __REVISION_NR_H__