From 2776f55d7a2c5a7298933e21c6c949ee4165da29 Mon Sep 17 00:00:00 2001 From: elecyb Date: Sun, 19 Jun 2011 06:08:00 +0400 Subject: [PATCH] [11652] Diminishing returns for some paladin abilities. Signed-off-by: VladimirMangos --- src/game/SpellMgr.cpp | 23 +++++++++++++++-------- src/shared/revision_nr.h | 2 +- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 7db52d5da..f8965f99a 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -4270,10 +4270,10 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto case SPELLFAMILY_ROGUE: { // Blind - if (spellproto->SpellFamilyFlags & UI64LIT(0x00001000000)) + if (spellproto->IsFitToFamilyMask(UI64LIT(0x00001000000))) return DIMINISHING_FEAR_CHARM_BLIND; // Cheap Shot - else if (spellproto->SpellFamilyFlags & UI64LIT(0x00000000400)) + else if (spellproto->IsFitToFamilyMask(UI64LIT(0x00000000400))) return DIMINISHING_CHEAPSHOT_POUNCE; // Crippling poison - Limit to 10 seconds in PvP (No SpellFamilyFlags) else if (spellproto->SpellIconID == 163) @@ -4290,27 +4290,34 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto case SPELLFAMILY_WARLOCK: { // Curses/etc - if (spellproto->SpellFamilyFlags & UI64LIT(0x00080000000)) + if (spellproto->IsFitToFamilyMask(UI64LIT(0x00080000000))) + return DIMINISHING_LIMITONLY; + break; + } + case SPELLFAMILY_PALADIN: + { + // Judgement of Justice - Limit to 10 seconds in PvP + if (spellproto->IsFitToFamilyMask(UI64LIT(0x00000100000))) return DIMINISHING_LIMITONLY; break; } case SPELLFAMILY_DRUID: { // Cyclone - if (spellproto->SpellFamilyFlags & UI64LIT(0x02000000000)) + if (spellproto->IsFitToFamilyMask(UI64LIT(0x02000000000))) return DIMINISHING_CYCLONE; // Pounce - else if (spellproto->SpellFamilyFlags & UI64LIT(0x00000020000)) + else if (spellproto->IsFitToFamilyMask(UI64LIT(0x00000020000))) return DIMINISHING_CHEAPSHOT_POUNCE; // Faerie Fire - else if (spellproto->SpellFamilyFlags & UI64LIT(0x00000000400)) + else if (spellproto->IsFitToFamilyMask(UI64LIT(0x00000000400))) return DIMINISHING_LIMITONLY; break; } case SPELLFAMILY_WARRIOR: { // Hamstring - limit duration to 10s in PvP - if (spellproto->SpellFamilyFlags & UI64LIT(0x00000000002)) + if (spellproto->IsFitToFamilyMask(UI64LIT(0x00000000002))) return DIMINISHING_LIMITONLY; break; } @@ -4345,7 +4352,7 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto return DIMINISHING_DISORIENT; if (mechanic & (1<<(MECHANIC_ROOT-1))) return triggered ? DIMINISHING_TRIGGER_ROOT : DIMINISHING_CONTROL_ROOT; - if (mechanic & ((1<<(MECHANIC_FEAR-1))|(1<<(MECHANIC_CHARM-1)))) + if (mechanic & ((1<<(MECHANIC_FEAR-1))|(1<<(MECHANIC_CHARM-1))|(1<<(MECHANIC_TURN-1)))) return DIMINISHING_FEAR_CHARM_BLIND; if (mechanic & ((1<<(MECHANIC_SILENCE-1))|(1<<(MECHANIC_INTERRUPT-1)))) return DIMINISHING_SILENCE; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index dbfaf9cab..401b694bd 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 "11651" + #define REVISION_NR "11652" #endif // __REVISION_NR_H__