mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 09:44:45 +01:00
Fix diminishing for spells with group DIMINISHING_LIMITONLY, partially reverts b0fe236265
This commit is contained in:
@@ -101,8 +101,11 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto,
|
||||
}
|
||||
case SPELLFAMILY_WARRIOR:
|
||||
{
|
||||
// Hamstring - limit duration to 10s in PvP
|
||||
if (spellproto->SpellFamilyFlags[0] & 0x2)
|
||||
return DIMINISHING_LIMITONLY;
|
||||
// Improved Hamstring
|
||||
if (spellproto->AttributesEx3 & 0x80000 && spellproto->SpellIconID == 23)
|
||||
else if (spellproto->AttributesEx3 & 0x80000 && spellproto->SpellIconID == 23)
|
||||
return DIMINISHING_ROOT;
|
||||
// Charge Stun (own diminishing)
|
||||
else if (spellproto->SpellFamilyFlags[0] & 0x01000000)
|
||||
@@ -114,6 +117,9 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto,
|
||||
// Death Coil
|
||||
if (spellproto->SpellFamilyFlags[0] & 0x80000)
|
||||
return DIMINISHING_HORROR;
|
||||
// Curses/etc
|
||||
else if ((spellproto->SpellFamilyFlags[0] & 0x80000000) || (spellproto->SpellFamilyFlags[1] & 0x200))
|
||||
return DIMINISHING_LIMITONLY;
|
||||
// Seduction
|
||||
else if (spellproto->SpellFamilyFlags[1] & 0x10000000)
|
||||
return DIMINISHING_FEAR;
|
||||
@@ -138,6 +144,9 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto,
|
||||
// Nature's Grasp
|
||||
else if (spellproto->SpellFamilyFlags[0] & 0x00000200)
|
||||
return DIMINISHING_CONTROLLED_ROOT;
|
||||
// Faerie Fire
|
||||
else if (spellproto->SpellFamilyFlags[0] & 0x400)
|
||||
return DIMINISHING_LIMITONLY;
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_ROGUE:
|
||||
@@ -151,12 +160,18 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto,
|
||||
// Cheap Shot
|
||||
else if (spellproto->SpellFamilyFlags[0] & 0x400)
|
||||
return DIMINISHING_OPENING_STUN;
|
||||
// Crippling poison - Limit to 10 seconds in PvP (No SpellFamilyFlags)
|
||||
else if (spellproto->SpellIconID == 163)
|
||||
return DIMINISHING_LIMITONLY;
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_HUNTER:
|
||||
{
|
||||
// Hunter's mark
|
||||
if ((spellproto->SpellFamilyFlags[0] & 0x400) && spellproto->SpellIconID == 538)
|
||||
return DIMINISHING_LIMITONLY;
|
||||
// Scatter Shot (own diminishing)
|
||||
if ((spellproto->SpellFamilyFlags[0] & 0x40000) && spellproto->SpellIconID == 132)
|
||||
else if ((spellproto->SpellFamilyFlags[0] & 0x40000) && spellproto->SpellIconID == 132)
|
||||
return DIMINISHING_SCATTER_SHOT;
|
||||
// Entrapment (own diminishing)
|
||||
else if (spellproto->SpellVisual[0] == 7484 && spellproto->SpellIconID == 20)
|
||||
@@ -171,8 +186,11 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto,
|
||||
}
|
||||
case SPELLFAMILY_PALADIN:
|
||||
{
|
||||
// Judgement of Justice - limit duration to 10s in PvP
|
||||
if (spellproto->SpellFamilyFlags[0] & 0x100000)
|
||||
return DIMINISHING_LIMITONLY;
|
||||
// Turn Evil
|
||||
if ((spellproto->SpellFamilyFlags[1] & 0x804000) && spellproto->SpellIconID == 309)
|
||||
else if ((spellproto->SpellFamilyFlags[1] & 0x804000) && spellproto->SpellIconID == 309)
|
||||
return DIMINISHING_FEAR;
|
||||
break;
|
||||
}
|
||||
@@ -181,6 +199,9 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto,
|
||||
// Hungering Cold (no flags)
|
||||
if (spellproto->SpellIconID == 2797)
|
||||
return DIMINISHING_DISORIENT;
|
||||
// Mark of Blood
|
||||
else if ((spellproto->SpellFamilyFlags[0] & 0x10000000) && spellproto->SpellIconID == 2285)
|
||||
return DIMINISHING_LIMITONLY;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -225,6 +246,9 @@ DiminishingReturnsType GetDiminishingReturnsGroupType(DiminishingGroup group)
|
||||
case DIMINISHING_CYCLONE:
|
||||
case DIMINISHING_CHARGE:
|
||||
return DRTYPE_ALL;
|
||||
case DIMINISHING_LIMITONLY:
|
||||
case DIMINISHING_NONE:
|
||||
return DRTYPE_NONE;
|
||||
default:
|
||||
return DRTYPE_PLAYER;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user