[8306] Implement single-per-caster limitation for paladin "hand of" spells.

This commit is contained in:
VladimirMangos 2009-08-04 19:59:36 +04:00
parent ba6494162f
commit bb273d51ad
3 changed files with 8 additions and 2 deletions

View file

@ -188,6 +188,9 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
if (spellInfo->SpellFamilyFlags & UI64LIT(0x0000000011010002)) if (spellInfo->SpellFamilyFlags & UI64LIT(0x0000000011010002))
return SPELL_BLESSING; return SPELL_BLESSING;
if (spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000002190))
return SPELL_HAND;
if ((spellInfo->SpellFamilyFlags & UI64LIT(0x00000820180400)) && (spellInfo->AttributesEx3 & 0x200)) if ((spellInfo->SpellFamilyFlags & UI64LIT(0x00000820180400)) && (spellInfo->AttributesEx3 & 0x200))
return SPELL_JUDGEMENT; return SPELL_JUDGEMENT;
@ -238,6 +241,7 @@ bool IsSingleFromSpellSpecificPerCaster(SpellSpecific spellSpec1,SpellSpecific s
case SPELL_POSITIVE_SHOUT: case SPELL_POSITIVE_SHOUT:
case SPELL_JUDGEMENT: case SPELL_JUDGEMENT:
case SPELL_PRESENCE: case SPELL_PRESENCE:
case SPELL_HAND:
return spellSpec1==spellSpec2; return spellSpec1==spellSpec2;
case SPELL_BATTLE_ELIXIR: case SPELL_BATTLE_ELIXIR:
return spellSpec2==SPELL_BATTLE_ELIXIR return spellSpec2==SPELL_BATTLE_ELIXIR
@ -261,6 +265,7 @@ bool IsSingleFromSpellSpecificRanksPerTarget(SpellSpecific spellId_spec, SpellSp
case SPELL_BLESSING: case SPELL_BLESSING:
case SPELL_AURA: case SPELL_AURA:
case SPELL_CURSE: case SPELL_CURSE:
case SPELL_HAND:
return spellId_spec==i_spellId_spec; return spellId_spec==i_spellId_spec;
default: default:
return false; return false;

View file

@ -96,7 +96,8 @@ enum SpellSpecific
SPELL_BATTLE_ELIXIR = 14, SPELL_BATTLE_ELIXIR = 14,
SPELL_GUARDIAN_ELIXIR = 15, SPELL_GUARDIAN_ELIXIR = 15,
SPELL_FLASK_ELIXIR = 16, SPELL_FLASK_ELIXIR = 16,
SPELL_PRESENCE = 17 SPELL_PRESENCE = 17,
SPELL_HAND = 18,
}; };
SpellSpecific GetSpellSpecific(uint32 spellId); SpellSpecific GetSpellSpecific(uint32 spellId);

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "8305" #define REVISION_NR "8306"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__