aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2017-10-31 18:28:10 +0100
committerjoschiwald <joschiwald.trinity@gmail.com>2017-10-31 18:28:10 +0100
commitcd6adad7aebf83b55d3569d03b6c15092002d076 (patch)
tree7f6b56b93d76bd076ff9d0b8916196876321c101
parent42321babe6017c844dd12df05a76f7c1c64a8c3d (diff)
Core/Spells: Updated diminishing returns
-rw-r--r--src/server/game/Spells/SpellInfo.cpp161
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;
}