diff options
author | joschiwald <joschiwald.trinity@gmail.com> | 2017-10-31 18:28:10 +0100 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-10-31 18:28:10 +0100 |
commit | cd6adad7aebf83b55d3569d03b6c15092002d076 (patch) | |
tree | 7f6b56b93d76bd076ff9d0b8916196876321c101 /src | |
parent | 42321babe6017c844dd12df05a76f7c1c64a8c3d (diff) |
Core/Spells: Updated diminishing returns
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 161 |
1 files changed, 112 insertions, 49 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index b71484017b7..9d9dc34d087 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -2479,16 +2479,17 @@ void SpellInfo::_LoadSpellDiminishInfo() switch (Id) { - case 64803: // Entrapment - case 135373: // Entrapment - return DIMINISHING_ROOT; + case 20549: // War Stomp (Racial - Tauren) case 24394: // Intimidation - return DIMINISHING_STUN; case 118345: // Pulverize (Primal Earth Elemental) - return DIMINISHING_STUN; case 118905: // Static Charge (Capacitor Totem) return DIMINISHING_STUN; + case 107079: // Quaking Palm + return DIMINISHING_INCAPACITATE; + case 155145: // Arcane Torrent (Racial - Blood Elf) + return DIMINISHING_SILENCE; case 108199: // Gorefiend's Grasp + case 191244: // Sticky Bomb return DIMINISHING_AOE_KNOCKBACK; default: break; @@ -2501,24 +2502,13 @@ void SpellInfo::_LoadSpellDiminishInfo() break; case SPELLFAMILY_MAGE: { - // Frostjaw -- 102051 - if (SpellFamilyFlags[2] & 0x40000) - return DIMINISHING_SILENCE; - // Frost Nova -- 122 if (SpellFamilyFlags[0] & 0x40) return DIMINISHING_ROOT; - // Ice Ward -- 111340 - if (SpellFamilyFlags[0] & 0x80000 && SpellFamilyFlags[2] & 0x2000) - return DIMINISHING_ROOT; // Freeze (Water Elemental) -- 33395 if (SpellFamilyFlags[2] & 0x200) return DIMINISHING_ROOT; - // Deep Freeze -- 44572 - if (SpellFamilyFlags[1] & 0x100000) - return DIMINISHING_STUN; - // Dragon's Breath -- 31661 if (SpellFamilyFlags[0] & 0x800000) return DIMINISHING_INCAPACITATE; @@ -2545,10 +2535,6 @@ void SpellInfo::_LoadSpellDiminishInfo() // Intimidating Shout -- 5246 if (SpellFamilyFlags[0] & 0x40000) return DIMINISHING_DISORIENT; - - // Hamstring -- 1715, 8 seconds in PvP (6.0) - if (SpellFamilyFlags[0] & 0x2) - return DIMINISHING_LIMITONLY; break; } case SPELLFAMILY_WARLOCK: @@ -2573,6 +2559,10 @@ void SpellInfo::_LoadSpellDiminishInfo() // Summon Infernal -- 22703 if (SpellFamilyFlags[0] & 0x1000) return DIMINISHING_STUN; + + // 170995 -- Cripple + if (Id == 170995) + return DIMINISHING_LIMITONLY; break; } case SPELLFAMILY_WARLOCK_PET: @@ -2612,6 +2602,10 @@ void SpellInfo::_LoadSpellDiminishInfo() if (SpellFamilyFlags[1] & 0x20) return DIMINISHING_DISORIENT; + // Solar Beam -- 81261 + if (Id == 81261) + return DIMINISHING_SILENCE; + // Typhoon -- 61391 if (SpellFamilyFlags[1] & 0x1000000) return DIMINISHING_AOE_KNOCKBACK; @@ -2625,14 +2619,13 @@ void SpellInfo::_LoadSpellDiminishInfo() // Mass Entanglement -- 102359 if (SpellFamilyFlags[2] & 0x4) return DIMINISHING_ROOT; - - // Faerie Fire -- 770, 20 seconds in PvP (6.0) - if (SpellFamilyFlags[0] & 0x400) - return DIMINISHING_LIMITONLY; break; } case SPELLFAMILY_ROGUE: { + // Between the Eyes -- 199804 + if (SpellFamilyFlags[0] & 0x800000) + return DIMINISHING_STUN; // Cheap Shot -- 1833 if (SpellFamilyFlags[0] & 0x400) return DIMINISHING_STUN; @@ -2661,8 +2654,9 @@ void SpellInfo::_LoadSpellDiminishInfo() // Charge (Tenacity pet) -- 53148, no flags if (Id == 53148) return DIMINISHING_ROOT; - // Narrow Escape -- 136634, no flags - if (Id == 136634) + // Ranger's Net -- 200108 + // Tracker's Net -- 212638 + if (Id == 200108 || Id == 212638) return DIMINISHING_ROOT; // Binding Shot -- 117526, no flags @@ -2675,6 +2669,17 @@ void SpellInfo::_LoadSpellDiminishInfo() // Wyvern Sting -- 19386 if (SpellFamilyFlags[1] & 0x1000) return DIMINISHING_INCAPACITATE; + + // Bursting Shot -- 224729 + if (SpellFamilyFlags[2] & 0x40) + return DIMINISHING_DISORIENT; + // Scatter Shot -- 213691 + if (SpellFamilyFlags[2] & 0x8000) + return DIMINISHING_DISORIENT; + + // Spider Sting -- 202933 + if (Id == 202933) + return DIMINISHING_SILENCE; break; } case SPELLFAMILY_PALADIN: @@ -2683,26 +2688,23 @@ void SpellInfo::_LoadSpellDiminishInfo() if (SpellFamilyFlags[0] & 0x4) return DIMINISHING_INCAPACITATE; - // Turn Evil -- 10326 - if (SpellFamilyFlags[1] & 0x800000) + // Blinding Light -- 105421 + if (Id == 105421) return DIMINISHING_DISORIENT; // Avenger's Shield -- 31935 if (SpellFamilyFlags[0] & 0x4000) return DIMINISHING_SILENCE; - // Fist of Justice -- 105593 // Hammer of Justice -- 853 if (SpellFamilyFlags[0] & 0x800) return DIMINISHING_STUN; - // Holy Wrath -- 119072 - if (SpellFamilyFlags[1] & 0x200000) - return DIMINISHING_STUN; break; } case SPELLFAMILY_SHAMAN: { // Hex -- 51514 + // Hex -- 196942 (Voodoo Totem) if (SpellFamilyFlags[1] & 0x8000) return DIMINISHING_INCAPACITATE; @@ -2713,10 +2715,22 @@ void SpellInfo::_LoadSpellDiminishInfo() // Earthgrab Totem -- 64695 if (SpellFamilyFlags[2] & 0x4000) return DIMINISHING_ROOT; + + // Lightning Lasso -- 204437 + if (SpellFamilyFlags[3] & 0x2000000) + return DIMINISHING_STUN; break; } case SPELLFAMILY_DEATHKNIGHT: { + // Chains of Ice -- 96294 + if (Id == 96294) + return DIMINISHING_ROOT; + + // Blinding Sleet -- 207167 + if (Id == 207167) + return DIMINISHING_DISORIENT; + // Strangulate -- 47476 if (SpellFamilyFlags[0] & 0x200) return DIMINISHING_SILENCE; @@ -2730,18 +2744,25 @@ void SpellInfo::_LoadSpellDiminishInfo() // Monstrous Blow (Ghoul w/ Dark Transformation active) -- 91797 if (Id == 91797) return DIMINISHING_STUN; + // Winter is Coming -- 207171 + if (Id == 207171) + return DIMINISHING_STUN; break; } case SPELLFAMILY_PRIEST: { - // Dominate Mind -- 605 + // Holy Word: Chastise -- 200200 + if (SpellFamilyFlags[2] & 0x20 && GetSpellVisual() == 52021) + return DIMINISHING_STUN; + // Mind Bomb -- 226943 + if (Id == 226943) + return DIMINISHING_STUN; + + // Mind Control -- 605 if (SpellFamilyFlags[0] & 0x20000 && GetSpellVisual() == 39068) return DIMINISHING_INCAPACITATE; - // Holy Word: Chastise -- 88625 - if (SpellFamilyFlags[2] & 0x20) - return DIMINISHING_INCAPACITATE; - // Psychic Horror -- 64044 - if (SpellFamilyFlags[2] & 0x2000) + // Holy Word: Chastise -- 200196 + if (SpellFamilyFlags[2] & 0x20 && GetSpellVisual() == 52019) return DIMINISHING_INCAPACITATE; // Psychic Scream -- 8122 @@ -2749,8 +2770,12 @@ void SpellInfo::_LoadSpellDiminishInfo() return DIMINISHING_DISORIENT; // Silence -- 15487 - if (SpellFamilyFlags[1] & 0x200000 && SchoolMask == SPELL_SCHOOL_MASK_SHADOW) + if (SpellFamilyFlags[1] & 0x200000 && GetSpellVisual() == 39025) return DIMINISHING_SILENCE; + + // Shining Force -- 204263 + if (Id == 204263) + return DIMINISHING_AOE_KNOCKBACK; break; } case SPELLFAMILY_MONK: @@ -2759,9 +2784,6 @@ void SpellInfo::_LoadSpellDiminishInfo() if (Id == 116706) return DIMINISHING_ROOT; - // Charging Ox Wave -- 119392 - if (SpellFamilyFlags[1] & 0x10000) - return DIMINISHING_STUN; // Fists of Fury -- 120086 if (SpellFamilyFlags[1] & 0x800000 && !(SpellFamilyFlags[2] & 0x8)) return DIMINISHING_STUN; @@ -2775,6 +2797,27 @@ void SpellInfo::_LoadSpellDiminishInfo() // Paralysis -- 115078 if (SpellFamilyFlags[2] & 0x800000) return DIMINISHING_INCAPACITATE; + + // Song of Chi-Ji -- 198909 + if (Id == 198909) + return DIMINISHING_DISORIENT; + break; + } + case SPELLFAMILY_DEMON_HUNTER: + { + switch (Id) + { + case 179057: // Chaos Nova + case 211881: // Fel Eruption + case 200166: // Metamorphosis + case 205630: // Illidan's Grasp + return DIMINISHING_STUN; + case 217832: // Imprison + case 221527: // Imprison + return DIMINISHING_INCAPACITATE; + default: + break; + } break; } default: @@ -2817,30 +2860,50 @@ void SpellInfo::_LoadSpellDiminishInfo() // Explicit diminishing duration switch (SpellFamilyName) { - case SPELLFAMILY_DRUID: + case SPELLFAMILY_MAGE: { - // Faerie Fire - 20 seconds in PvP (6.0) - if (SpellFamilyFlags[0] & 0x400) - return 20 * IN_MILLISECONDS; + // Dragon's Breath - 3 seconds in PvP + if (SpellFamilyFlags[0] & 0x800000) + return 3 * IN_MILLISECONDS; + break; + } + case SPELLFAMILY_WARLOCK: + { + // Cripple - 4 seconds in PvP + if (Id == 170995) + return 4 * IN_MILLISECONDS; break; } case SPELLFAMILY_HUNTER: { - // Binding Shot - 3 seconds in PvP (6.0) + // Binding Shot - 3 seconds in PvP if (Id == 117526) return 3 * IN_MILLISECONDS; - // Wyvern Sting - 6 seconds in PvP (6.0) + + // Wyvern Sting - 6 seconds in PvP if (SpellFamilyFlags[1] & 0x1000) return 6 * IN_MILLISECONDS; break; } case SPELLFAMILY_MONK: { - // Paralysis - 4 seconds in PvP regardless of if they are facing you (6.0) + // Paralysis - 4 seconds in PvP regardless of if they are facing you if (SpellFamilyFlags[2] & 0x800000) return 4 * IN_MILLISECONDS; break; } + case SPELLFAMILY_DEMON_HUNTER: + { + switch (Id) + { + case 217832: // Imprison + case 221527: // Imprison + return 4 * IN_MILLISECONDS; + default: + break; + } + break; + } default: break; } |