From 71d0989db3979d65ab5abc5efb4d921e54ca65d6 Mon Sep 17 00:00:00 2001 From: laise Date: Fri, 12 Feb 2010 14:04:29 +0300 Subject: [PATCH] [9364] Update diminishing categories. Signed-off-by: VladimirMangos --- src/game/SharedDefines.h | 12 ++++----- src/game/SpellMgr.cpp | 56 +++++++++++++++++++++------------------- src/shared/revision_nr.h | 2 +- 3 files changed, 36 insertions(+), 34 deletions(-) diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index a6921a86a..2fe16537f 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -2429,14 +2429,12 @@ enum DiminishingGroup DIMINISHING_TRIGGER_STUN, // By aura proced stuns, usualy chance on hit talents DIMINISHING_CONTROL_ROOT, // Immobilizing effects from casted spells DIMINISHING_TRIGGER_ROOT, // Immobilizing effects from triggered spells like Frostbite - DIMINISHING_FEAR_BLIND, // Fears & blind - DIMINISHING_CHARM, - DIMINISHING_POLYMORPH_GOUGE_SAP, - // Warlock Specific - DIMINISHING_DEATHCOIL, // Death Coil Diminish only with another Death Coil - // Druid Specific - DIMINISHING_CYCLONE, // From 2.3.0 // Shared Class Specific + DIMINISHING_FEAR_CHARM_BLIND, // Fears & charm and Blind + DIMINISHING_DISORIENT, + DIMINISHING_HORROR, + // Druid Specific + DIMINISHING_CYCLONE, DIMINISHING_CHEAPSHOT_POUNCE, DIMINISHING_DISARM, // From 2.3.0 DIMINISHING_SILENCE, // From 2.3.0 diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index a0ec9084c..2600d5981 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -3325,11 +3325,16 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto if (spellproto->Mechanic == MECHANIC_TURN) return DIMINISHING_NONE; break; + case SPELLFAMILY_MAGE: + // Dragon's Breath + if (spellproto->SpellIconID == 1548) + return DIMINISHING_DISORIENT; + break; case SPELLFAMILY_ROGUE: { // Blind if (spellproto->SpellFamilyFlags & UI64LIT(0x00001000000)) - return DIMINISHING_FEAR_BLIND; + return DIMINISHING_FEAR_CHARM_BLIND; // Cheap Shot else if (spellproto->SpellFamilyFlags & UI64LIT(0x00000000400)) return DIMINISHING_CHEAPSHOT_POUNCE; @@ -3338,14 +3343,18 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto return DIMINISHING_LIMITONLY; break; } + case SPELLFAMILY_HUNTER: + { + // Freezing Trap & Freezing Arrow & Wyvern Sting + if (spellproto->SpellIconID == 180 || spellproto->SpellIconID == 1721) + return DIMINISHING_DISORIENT; + break; + } case SPELLFAMILY_WARLOCK: { // Curses/etc if (spellproto->SpellFamilyFlags & UI64LIT(0x00080000000)) return DIMINISHING_LIMITONLY; - // Seduction - else if (spellproto->SpellFamilyFlags & UI64LIT(0x00040000000)) - return DIMINISHING_CHARM; break; } case SPELLFAMILY_DRUID: @@ -3373,13 +3382,16 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto // Vampiric Embrace if ((spellproto->SpellFamilyFlags & UI64LIT(0x00000000004)) && spellproto->SpellIconID == 150) return DIMINISHING_LIMITONLY; + // Shackle Undead + else if (spellproto->SpellIconID == 27) + return DIMINISHING_DISORIENT; break; } case SPELLFAMILY_DEATHKNIGHT: { // Hungering Cold (no flags) if (spellproto->SpellIconID == 2797) - return DIMINISHING_POLYMORPH_GOUGE_SAP; + return DIMINISHING_DISORIENT; break; } default: @@ -3393,28 +3405,22 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto if (mechanic & ((1<<(MECHANIC_STUN-1))|(1<<(MECHANIC_SHACKLE-1)))) return triggered ? DIMINISHING_TRIGGER_STUN : DIMINISHING_CONTROL_STUN; - if (mechanic & (1<<(MECHANIC_SLEEP-1))) + if (mechanic & ((1<<(MECHANIC_SLEEP-1))|(1<<(MECHANIC_FREEZE-1)))) return DIMINISHING_FREEZE_SLEEP; - if (mechanic & (1<<(MECHANIC_POLYMORPH-1))) - return DIMINISHING_POLYMORPH_GOUGE_SAP; + if (mechanic & ((1<<(MECHANIC_KNOCKOUT-1))|(1<<(MECHANIC_POLYMORPH-1))|(1<<(MECHANIC_SAPPED-1)))) + 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_TURN-1)))) - return DIMINISHING_FEAR_BLIND; - if (mechanic & (1<<(MECHANIC_CHARM-1))) - return DIMINISHING_CHARM; - if (mechanic & (1<<(MECHANIC_SILENCE-1))) + if (mechanic & ((1<<(MECHANIC_FEAR-1))|(1<<(MECHANIC_CHARM-1)))) + return DIMINISHING_FEAR_CHARM_BLIND; + if (mechanic & ((1<<(MECHANIC_SILENCE-1))|(1<<(MECHANIC_INTERRUPT-1)))) return DIMINISHING_SILENCE; if (mechanic & (1<<(MECHANIC_DISARM-1))) return DIMINISHING_DISARM; - if (mechanic & (1<<(MECHANIC_FREEZE-1))) - return DIMINISHING_FREEZE_SLEEP; - if (mechanic & ((1<<(MECHANIC_KNOCKOUT-1))|(1<<(MECHANIC_SAPPED-1)))) - return DIMINISHING_POLYMORPH_GOUGE_SAP; if (mechanic & (1<<(MECHANIC_BANISH-1))) return DIMINISHING_BANISH; if (mechanic & (1<<(MECHANIC_HORROR-1))) - return DIMINISHING_DEATHCOIL; + return DIMINISHING_HORROR; return DIMINISHING_NONE; } @@ -3470,9 +3476,8 @@ bool IsDiminishingReturnsGroupDurationLimited(DiminishingGroup group) case DIMINISHING_TRIGGER_STUN: case DIMINISHING_CONTROL_ROOT: case DIMINISHING_TRIGGER_ROOT: - case DIMINISHING_FEAR_BLIND: - case DIMINISHING_CHARM: - case DIMINISHING_POLYMORPH_GOUGE_SAP: + case DIMINISHING_FEAR_CHARM_BLIND: + case DIMINISHING_DISORIENT: case DIMINISHING_CHEAPSHOT_POUNCE: case DIMINISHING_FREEZE_SLEEP: case DIMINISHING_CYCLONE: @@ -3492,18 +3497,17 @@ DiminishingReturnsType GetDiminishingReturnsGroupType(DiminishingGroup group) case DIMINISHING_CYCLONE: case DIMINISHING_TRIGGER_STUN: case DIMINISHING_CONTROL_STUN: - case DIMINISHING_CHEAPSHOT_POUNCE: return DRTYPE_ALL; case DIMINISHING_CONTROL_ROOT: case DIMINISHING_TRIGGER_ROOT: - case DIMINISHING_FEAR_BLIND: - case DIMINISHING_CHARM: - case DIMINISHING_POLYMORPH_GOUGE_SAP: + case DIMINISHING_FEAR_CHARM_BLIND: + case DIMINISHING_DISORIENT: case DIMINISHING_SILENCE: case DIMINISHING_DISARM: - case DIMINISHING_DEATHCOIL: + case DIMINISHING_HORROR: case DIMINISHING_FREEZE_SLEEP: case DIMINISHING_BANISH: + case DIMINISHING_CHEAPSHOT_POUNCE: return DRTYPE_PLAYER; default: break; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 2526b99ec..fccfc936a 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 "9363" + #define REVISION_NR "9364" #endif // __REVISION_NR_H__