mirror of
https://github.com/mangosfour/server.git
synced 2025-12-21 10:37:06 +00:00
[12716m] More 541 changes. Thanks Dramacydal, TC and OpenWow
This commit is contained in:
parent
7bd00e484f
commit
0224c980d2
34 changed files with 1721 additions and 1298 deletions
|
|
@ -34,6 +34,7 @@
|
|||
#include "BattleGround/BattleGroundMgr.h"
|
||||
#include "MapManager.h"
|
||||
#include "Unit.h"
|
||||
#include "DB2Structure.h"
|
||||
|
||||
bool IsPrimaryProfessionSkill(uint32 skill)
|
||||
{
|
||||
|
|
@ -71,7 +72,7 @@ int32 GetSpellDuration(SpellEntry const* spellInfo)
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
SpellDurationEntry const* du = sSpellDurationStore.LookupEntry(spellInfo->DurationIndex);
|
||||
SpellDurationEntry const* du = sSpellDurationStore.LookupEntry(spellInfo->GetDurationIndex());
|
||||
if (!du)
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -85,7 +86,7 @@ int32 GetSpellMaxDuration(SpellEntry const* spellInfo)
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
SpellDurationEntry const* du = sSpellDurationStore.LookupEntry(spellInfo->DurationIndex);
|
||||
SpellDurationEntry const* du = sSpellDurationStore.LookupEntry(spellInfo->GetDurationIndex());
|
||||
if (!du)
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -149,7 +150,7 @@ uint32 GetSpellCastTime(SpellEntry const* spellInfo, Spell const* spell)
|
|||
else
|
||||
castTime = uint32(spellScalingEntry->castTimeMax);
|
||||
}
|
||||
else if (SpellCastTimesEntry const* spellCastTimeEntry = sSpellCastTimesStore.LookupEntry(spellInfo->CastingTimeIndex))
|
||||
else if (SpellCastTimesEntry const* spellCastTimeEntry = sSpellCastTimesStore.LookupEntry(spellInfo->GetCastingTimeIndex()))
|
||||
{
|
||||
if (spell)
|
||||
{
|
||||
|
|
@ -540,7 +541,7 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
|
|||
{
|
||||
// Well Fed buffs (must be exclusive with Food / Drink replenishment effects, or else Well Fed will cause them to be removed)
|
||||
// SpellIcon 2560 is Spell 46687, does not have this flag
|
||||
if (spellInfo->HasAttribute(SPELL_ATTR_EX2_FOOD_BUFF) || spellInfo->SpellIconID == 2560)
|
||||
if (spellInfo->HasAttribute(SPELL_ATTR_EX2_FOOD_BUFF) || spellInfo->GetSpellIconID() == 2560)
|
||||
{
|
||||
return SPELL_WELL_FED;
|
||||
}
|
||||
|
|
@ -599,7 +600,7 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
|
|||
// "Well Fed" buff from Blessed Sunfruit, Blessed Sunfruit Juice, Alterac Spring Water
|
||||
if (spellInfo->HasAttribute(SPELL_ATTR_CASTABLE_WHILE_SITTING) &&
|
||||
(interrupts && interrupts->InterruptFlags & SPELL_INTERRUPT_FLAG_AUTOATTACK) &&
|
||||
(spellInfo->SpellIconID == 52 || spellInfo->SpellIconID == 79))
|
||||
(spellInfo->GetSpellIconID() == 52 || spellInfo->GetSpellIconID() == 79))
|
||||
return SPELL_WELL_FED;
|
||||
break;
|
||||
}
|
||||
|
|
@ -637,7 +638,7 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
|
|||
}
|
||||
|
||||
// skip Heart of the Crusader that have also same spell family mask
|
||||
if (spellInfo->IsFitToFamilyMask(UI64LIT(0x00000820180400)) && spellInfo->HasAttribute(SPELL_ATTR_EX3_UNK9) && (spellInfo->SpellIconID != 237))
|
||||
if (spellInfo->IsFitToFamilyMask(UI64LIT(0x00000820180400)) && spellInfo->HasAttribute(SPELL_ATTR_EX3_UNK9) && (spellInfo->GetSpellIconID() != 237))
|
||||
{
|
||||
return SPELL_JUDGEMENT;
|
||||
}
|
||||
|
|
@ -1181,7 +1182,7 @@ bool IsSingleTargetSpells(SpellEntry const* spellInfo1, SpellEntry const* spellI
|
|||
// TODO - need better check
|
||||
// Equal icon and spellfamily
|
||||
if( spellInfo1->GetSpellFamilyName() == spellInfo2->GetSpellFamilyName() &&
|
||||
spellInfo1->SpellIconID == spellInfo2->SpellIconID )
|
||||
spellInfo1->GetSpellIconID() == spellInfo2->GetSpellIconID() )
|
||||
return true;
|
||||
|
||||
SpellSpecific spec1 = GetSpellSpecific(spellInfo1->Id);
|
||||
|
|
@ -1249,7 +1250,7 @@ SpellCastResult GetErrorAtShapeshiftedCast(SpellEntry const* spellInfo, uint32 f
|
|||
else
|
||||
{
|
||||
// needs shapeshift
|
||||
if(!(spellInfo->AttributesEx2 & SPELL_ATTR_EX2_NOT_NEED_SHAPESHIFT) && shapeShift && shapeShift->Stances != 0)
|
||||
if (!spellInfo->HasAttribute(SPELL_ATTR_EX2_NOT_NEED_SHAPESHIFT) && shapeShift && shapeShift->Stances != 0)
|
||||
{
|
||||
return SPELL_FAILED_ONLY_SHAPESHIFT;
|
||||
}
|
||||
|
|
@ -1532,8 +1533,52 @@ void SpellMgr::LoadSpellProcEvents()
|
|||
{
|
||||
mSpellProcEventMap.clear(); // need for reload case
|
||||
|
||||
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
||||
QueryResult* result = WorldDatabase.Query("SELECT entry, SchoolMask, SpellFamilyName, SpellFamilyMaskA0, SpellFamilyMaskA1, SpellFamilyMaskA2, SpellFamilyMaskB0, SpellFamilyMaskB1, SpellFamilyMaskB2, SpellFamilyMaskC0, SpellFamilyMaskC1, SpellFamilyMaskC2, procFlags, procEx, ppmRate, CustomChance, Cooldown FROM spell_proc_event");
|
||||
// 0 1 2
|
||||
QueryResult* result = WorldDatabase.Query("SELECT entry, SchoolMask, SpellFamilyName, "
|
||||
// 3 4 5
|
||||
"SpellFamilyMaskA0, SpellFamilyMaskA1, SpellFamilyMaskA2, "
|
||||
// 6 7 8
|
||||
"SpellFamilyMaskB0, SpellFamilyMaskB1, SpellFamilyMaskB2, "
|
||||
// 9 10 11
|
||||
"SpellFamilyMaskC0, SpellFamilyMaskC1, SpellFamilyMaskC2, "
|
||||
// 12 13 14
|
||||
"SpellFamilyMaskD0, SpellFamilyMaskD1, SpellFamilyMaskD2, "
|
||||
// 15 16 17
|
||||
"SpellFamilyMaskE0, SpellFamilyMaskE1, SpellFamilyMaskE2, "
|
||||
// 18 19 20
|
||||
"SpellFamilyMaskF0, SpellFamilyMaskF1, SpellFamilyMaskF2, "
|
||||
// 21 22 23
|
||||
"SpellFamilyMaskG0, SpellFamilyMaskG1, SpellFamilyMaskG2, "
|
||||
// 24 25 26
|
||||
"SpellFamilyMaskH0, SpellFamilyMaskH1, SpellFamilyMaskH2, "
|
||||
// 27 28 29
|
||||
"SpellFamilyMaskI0, SpellFamilyMaskI1, SpellFamilyMaskI2, "
|
||||
// 30 31 32
|
||||
"SpellFamilyMaskJ0, SpellFamilyMaskJ1, SpellFamilyMaskJ2, "
|
||||
// 33 34 35
|
||||
"SpellFamilyMaskK0, SpellFamilyMaskK1, SpellFamilyMaskK2, "
|
||||
// 36 37 38
|
||||
"SpellFamilyMaskL0, SpellFamilyMaskL1, SpellFamilyMaskL2, "
|
||||
// 39 40 41
|
||||
"SpellFamilyMaskM0, SpellFamilyMaskM1, SpellFamilyMaskM2, "
|
||||
// 42 43 44
|
||||
"SpellFamilyMaskN0, SpellFamilyMaskN1, SpellFamilyMaskN2, "
|
||||
// 45 46 47
|
||||
"SpellFamilyMaskO0, SpellFamilyMaskO1, SpellFamilyMaskO2, "
|
||||
// 48 49 50
|
||||
"SpellFamilyMaskP0, SpellFamilyMaskP1, SpellFamilyMaskP2, "
|
||||
// 51 52 53
|
||||
"SpellFamilyMaskQ0, SpellFamilyMaskQ1, SpellFamilyMaskQ2, "
|
||||
// 54 55 56
|
||||
"SpellFamilyMaskR0, SpellFamilyMaskR1, SpellFamilyMaskR2, "
|
||||
// 57 58 59
|
||||
"SpellFamilyMaskS0, SpellFamilyMaskS1, SpellFamilyMaskS2, "
|
||||
// 60 61 62
|
||||
"SpellFamilyMaskT0, SpellFamilyMaskT1, SpellFamilyMaskT2, "
|
||||
// 63 64 65
|
||||
"SpellFamilyMaskU0, SpellFamilyMaskU1, SpellFamilyMaskU2, "
|
||||
// 66 67 68 69 70
|
||||
"procFlags, procEx, ppmRate, CustomChance, Cooldown FROM spell_proc_event");
|
||||
if (!result)
|
||||
{
|
||||
BarGoLink bar(1);
|
||||
|
|
@ -1565,11 +1610,11 @@ void SpellMgr::LoadSpellProcEvents()
|
|||
(uint64)fields[i + 3].GetUInt32() | ((uint64)fields[i + 6].GetUInt32() << 32),
|
||||
fields[i + 9].GetUInt32());
|
||||
}
|
||||
spe.procFlags = fields[12].GetUInt32();
|
||||
spe.procEx = fields[13].GetUInt32();
|
||||
spe.ppmRate = fields[14].GetFloat();
|
||||
spe.customChance = fields[15].GetFloat();
|
||||
spe.cooldown = fields[16].GetUInt32();
|
||||
spe.procFlags = fields[66].GetUInt32();
|
||||
spe.procEx = fields[67].GetUInt32();
|
||||
spe.ppmRate = fields[68].GetFloat();
|
||||
spe.customChance = fields[69].GetFloat();
|
||||
spe.cooldown = fields[70].GetUInt32();
|
||||
|
||||
rankHelper.RecordRank(spe, entry);
|
||||
}
|
||||
|
|
@ -1909,7 +1954,7 @@ bool SpellMgr::IsSpellProcEventCanTriggeredBy(SpellProcEventEntry const* spellPr
|
|||
else // For spells need check school/spell family/family mask
|
||||
{
|
||||
// Check (if set) for school
|
||||
if (spellProcEvent->schoolMask && (spellProcEvent->schoolMask & procSpell->SchoolMask) == 0)
|
||||
if (spellProcEvent->schoolMask && (spellProcEvent->schoolMask & procSpell->GetSchoolMask()) == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2120,7 +2165,7 @@ bool SpellMgr::canStackSpellRanksInSpellBook(SpellEntry const* spellInfo) const
|
|||
{
|
||||
return false;
|
||||
}
|
||||
if (spellInfo->powerType != POWER_MANA && spellInfo->powerType != POWER_HEALTH)
|
||||
if (spellInfo->GetPowerType() != POWER_MANA && spellInfo->GetPowerType() != POWER_HEALTH)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2151,7 +2196,7 @@ bool SpellMgr::canStackSpellRanksInSpellBook(SpellEntry const* spellInfo) const
|
|||
}
|
||||
// Seal of Righteousness, 2 version of same rank
|
||||
SpellClassOptionsEntry const* classOptions = spellInfo->GetSpellClassOptions();
|
||||
if (classOptions && (classOptions->SpellFamilyFlags & UI64LIT(0x0000000008000000)) && spellInfo->SpellIconID == 25)
|
||||
if (classOptions && (classOptions->SpellFamilyFlags & UI64LIT(0x0000000008000000)) && spellInfo->GetSpellIconID() == 25)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2186,6 +2231,10 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
|
||||
SpellClassOptionsEntry const* classOptions1 = spellInfo_1->GetSpellClassOptions();
|
||||
SpellClassOptionsEntry const* classOptions2 = spellInfo_2->GetSpellClassOptions();
|
||||
uint32 spellVisual_1 = spellInfo_1->GetSpellVisual();
|
||||
uint32 spellVisual_2 = spellInfo_2->GetSpellVisual();
|
||||
uint32 spellIconID_1 = spellInfo_1->GetSpellIconID();
|
||||
uint32 spellIconID_2 = spellInfo_2->GetSpellIconID();
|
||||
|
||||
// Resurrection sickness
|
||||
if ((spellInfo_1->Id == SPELL_ID_PASSIVE_RESURRECTION_SICKNESS) != (spellInfo_2->Id == SPELL_ID_PASSIVE_RESURRECTION_SICKNESS))
|
||||
|
|
@ -2218,25 +2267,25 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Soulstone Resurrection and Twisting Nether (resurrector)
|
||||
if (spellInfo_1->SpellIconID == 92 && spellInfo_2->SpellIconID == 92 && (
|
||||
(spellInfo_1->SpellVisual[0] == 99 && spellInfo_2->SpellVisual[0] == 0) ||
|
||||
(spellInfo_2->SpellVisual[0] == 99 && spellInfo_1->SpellVisual[0] == 0)))
|
||||
if (spellIconID_1 == 92 && spellIconID_2 == 92 && (
|
||||
(spellVisual_1 == 99 && spellVisual_2 == 0) ||
|
||||
(spellVisual_2 == 99 && spellVisual_1 == 0)))
|
||||
return false;
|
||||
|
||||
// Heart of the Wild, Agility and various Idol Triggers
|
||||
if (spellInfo_1->SpellIconID == 240 && spellInfo_2->SpellIconID == 240)
|
||||
if (spellIconID_1 == 240 && spellIconID_2 == 240)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Personalized Weather (thunder effect should overwrite rainy aura)
|
||||
if (spellInfo_1->SpellIconID == 2606 && spellInfo_2->SpellIconID == 2606)
|
||||
if (spellIconID_1 == 2606 && spellIconID_2 == 2606)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Mirrored Soul (FoS - Devourer) - and other Boss spells
|
||||
if (spellInfo_1->SpellIconID == 3176 && spellInfo_2->SpellIconID == 3176)
|
||||
if (spellIconID_1 == 3176 && spellIconID_2 == 3176)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2277,19 +2326,19 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Blood Fury and Rage of the Unraveller
|
||||
if (spellInfo_1->SpellIconID == 1662 && spellInfo_2->SpellIconID == 1662)
|
||||
if (spellIconID_1 == 1662 && spellIconID_2 == 1662)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Kindred Spirits
|
||||
if (spellInfo_1->SpellIconID == 3559 && spellInfo_2->SpellIconID == 3559)
|
||||
if (spellIconID_1 == 3559 && spellIconID_2 == 3559)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Vigilance and Damage Reduction (Vigilance triggered spell)
|
||||
if (spellInfo_1->SpellIconID == 2834 && spellInfo_2->SpellIconID == 2834)
|
||||
if (spellIconID_1 == 2834 && spellIconID_2 == 2834)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2360,8 +2409,8 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Shard of Flame and Mote of Flame
|
||||
if ((spellInfo_1->SpellIconID == 2302 && spellInfo_1->SpellVisual[0] == 0) ||
|
||||
(spellInfo_2->SpellIconID == 2302 && spellInfo_2->SpellVisual[0] == 0))
|
||||
if ((spellInfo_1->GetSpellIconID() == 2302 && spellInfo_1->GetSpellVisual() == 0) ||
|
||||
(spellInfo_2->GetSpellIconID() == 2302 && spellInfo_2->GetSpellVisual() == 0))
|
||||
return false;
|
||||
|
||||
// Felblaze Visual and Fog of Corruption
|
||||
|
|
@ -2415,7 +2464,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Halls of Reflection Clone
|
||||
if (spellInfo_1->SpellIconID == 692 && spellInfo_2->SpellIconID == 692)
|
||||
if (spellInfo_1->Id == 692 && spellInfo_2->Id == 692)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2423,7 +2472,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
}
|
||||
case SPELLFAMILY_MAGE:
|
||||
// Arcane Intellect and Insight
|
||||
if (spellInfo_2->SpellIconID == 125 && spellInfo_1->Id == 18820)
|
||||
if (spellIconID_2 == 125 && spellInfo_1->Id == 18820)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2431,7 +2480,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
case SPELLFAMILY_WARRIOR:
|
||||
{
|
||||
// Scroll of Protection and Defensive Stance (multi-family check)
|
||||
if (spellInfo_1->SpellIconID == 276 && spellInfo_1->SpellVisual[0] == 196 && spellInfo_2->Id == 71)
|
||||
if (spellIconID_1 == 276 && spellVisual_1 == 196 && spellInfo_2->Id == 71)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2447,7 +2496,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
case SPELLFAMILY_DRUID:
|
||||
{
|
||||
// Scroll of Stamina and Leader of the Pack (multi-family check)
|
||||
if (spellInfo_1->SpellIconID == 312 && spellInfo_1->SpellVisual[0] == 216 && spellInfo_2->Id == 24932)
|
||||
if (spellIconID_1 == 312 && spellVisual_1 == 216 && spellInfo_2->Id == 24932)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2463,7 +2512,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
case SPELLFAMILY_ROGUE:
|
||||
{
|
||||
// Garrote-Silence -> Garrote (multi-family check)
|
||||
if (spellInfo_1->SpellIconID == 498 && spellInfo_1->SpellVisual[0] == 0 && spellInfo_2->SpellIconID == 498)
|
||||
if (spellIconID_1 == 498 && spellVisual_1 == 0 && spellIconID_2 == 498)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2488,13 +2537,13 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
case SPELLFAMILY_PALADIN:
|
||||
{
|
||||
// Unstable Currents and other -> *Sanctity Aura (multi-family check)
|
||||
if (spellInfo_2->SpellIconID == 502 && spellInfo_1->SpellIconID == 502 && spellInfo_1->SpellVisual[0] == 969)
|
||||
if (spellIconID_2 == 502 && spellIconID_1 == 502 && spellVisual_1 == 969)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *Band of Eternal Champion and Seal of Command(multi-family check)
|
||||
if (spellId_1 == 35081 && spellInfo_2->SpellIconID == 561 && spellInfo_2->SpellVisual[0] == 7992)
|
||||
if (spellId_1 == 35081 && spellIconID_2 == 561 && spellVisual_2 == 7992)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2509,7 +2558,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
}
|
||||
}
|
||||
// Dragonmaw Illusion, Blood Elf Illusion, Human Illusion, Illidari Agent Illusion, Scarlet Crusade Disguise
|
||||
if (spellInfo_1->SpellIconID == 1691 && spellInfo_2->SpellIconID == 1691)
|
||||
if (spellIconID_1 == 1691 && spellIconID_2 == 1691)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2523,12 +2572,12 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Blink & Improved Blink
|
||||
if (classOptions1 && (classOptions1->SpellFamilyFlags & UI64LIT(0x0000000000010000)) && (spellInfo_2->SpellVisual[0] == 72 && spellInfo_2->SpellIconID == 1499) ||
|
||||
(classOptions2->SpellFamilyFlags & UI64LIT(0x0000000000010000)) && (spellInfo_1->SpellVisual[0] == 72 && spellInfo_1->SpellIconID == 1499) )
|
||||
if (classOptions1 && (classOptions1->SpellFamilyFlags & UI64LIT(0x0000000000010000)) && (spellVisual_2 == 72 && spellIconID_2 == 1499) ||
|
||||
(classOptions2->SpellFamilyFlags & UI64LIT(0x0000000000010000)) && (spellVisual_1 == 72 && spellIconID_1 == 1499) )
|
||||
return false;
|
||||
|
||||
// Fingers of Frost effects
|
||||
if (spellInfo_1->SpellIconID == 2947 && spellInfo_2->SpellIconID == 2947)
|
||||
if (spellIconID_1 == 2947 && spellIconID_2 == 2947)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2544,19 +2593,19 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
}
|
||||
// Detect Invisibility and Mana Shield (multi-family check)
|
||||
if (spellInfo_2->Id == 132 && spellInfo_1->SpellIconID == 209 && spellInfo_1->SpellVisual[0] == 968)
|
||||
if (spellInfo_2->Id == 132 && spellIconID_1 == 209 && spellVisual_1 == 968)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Combustion and Fire Protection Aura (multi-family check)
|
||||
if (spellInfo_1->Id == 11129 && spellInfo_2->SpellIconID == 33 && spellInfo_2->SpellVisual[0] == 321)
|
||||
if (spellInfo_1->Id == 11129 && spellIconID_2 == 33 && spellVisual_2 == 321)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Arcane Intellect and Insight
|
||||
if (spellInfo_1->SpellIconID == 125 && spellInfo_2->Id == 18820)
|
||||
if (spellIconID_1 == 125 && spellInfo_2->Id == 18820)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2566,44 +2615,44 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
if( classOptions2 && classOptions2->SpellFamilyName == SPELLFAMILY_WARLOCK )
|
||||
{
|
||||
// Siphon Life and Drain Life
|
||||
if ((spellInfo_1->SpellIconID == 152 && spellInfo_2->SpellIconID == 546) ||
|
||||
(spellInfo_2->SpellIconID == 152 && spellInfo_1->SpellIconID == 546))
|
||||
if ((spellIconID_1 == 152 && spellIconID_2 == 546) ||
|
||||
(spellIconID_2 == 152 && spellIconID_1 == 546))
|
||||
return false;
|
||||
|
||||
// Corruption & Seed of corruption
|
||||
if ((spellInfo_1->SpellIconID == 313 && spellInfo_2->SpellIconID == 1932) ||
|
||||
(spellInfo_2->SpellIconID == 313 && spellInfo_1->SpellIconID == 1932))
|
||||
if (spellInfo_1->SpellVisual[0] != 0 && spellInfo_2->SpellVisual[0] != 0)
|
||||
if ((spellIconID_1 == 313 && spellIconID_2 == 1932) ||
|
||||
(spellIconID_2 == 313 && spellIconID_1 == 1932))
|
||||
if (spellVisual_1 != 0 && spellVisual_2 != 0)
|
||||
return true; // can't be stacked
|
||||
|
||||
// Corruption and Unstable Affliction
|
||||
if ((spellInfo_1->SpellIconID == 313 && spellInfo_2->SpellIconID == 2039) ||
|
||||
(spellInfo_2->SpellIconID == 313 && spellInfo_1->SpellIconID == 2039))
|
||||
if ((spellIconID_1 == 313 && spellIconID_2 == 2039) ||
|
||||
(spellIconID_2 == 313 && spellIconID_1 == 2039))
|
||||
return false;
|
||||
|
||||
// (Corruption or Unstable Affliction) and (Curse of Agony or Curse of Doom)
|
||||
if (((spellInfo_1->SpellIconID == 313 || spellInfo_1->SpellIconID == 2039) && (spellInfo_2->SpellIconID == 544 || spellInfo_2->SpellIconID == 91)) ||
|
||||
((spellInfo_2->SpellIconID == 313 || spellInfo_2->SpellIconID == 2039) && (spellInfo_1->SpellIconID == 544 || spellInfo_1->SpellIconID == 91)))
|
||||
if (((spellIconID_1 == 313 || spellIconID_1 == 2039) && (spellIconID_2 == 544 || spellIconID_2 == 91)) ||
|
||||
((spellIconID_2 == 313 || spellIconID_2 == 2039) && (spellIconID_1 == 544 || spellIconID_1 == 91)))
|
||||
return false;
|
||||
|
||||
// Shadowflame and Curse of Agony
|
||||
if ((spellInfo_1->SpellIconID == 544 && spellInfo_2->SpellIconID == 3317) ||
|
||||
(spellInfo_2->SpellIconID == 544 && spellInfo_1->SpellIconID == 3317))
|
||||
if ((spellIconID_1 == 544 && spellIconID_2 == 3317) ||
|
||||
(spellIconID_2 == 544 && spellIconID_1 == 3317))
|
||||
return false;
|
||||
|
||||
// Shadowflame and Curse of Doom
|
||||
if ((spellInfo_1->SpellIconID == 91 && spellInfo_2->SpellIconID == 3317) ||
|
||||
(spellInfo_2->SpellIconID == 91 && spellInfo_1->SpellIconID == 3317))
|
||||
if ((spellIconID_1 == 91 && spellIconID_2 == 3317) ||
|
||||
(spellIconID_2 == 91 && spellIconID_1 == 3317))
|
||||
return false;
|
||||
|
||||
// Metamorphosis, diff effects
|
||||
if (spellInfo_1->SpellIconID == 3314 && spellInfo_2->SpellIconID == 3314)
|
||||
if (spellIconID_1 == 3314 && spellIconID_2 == 3314)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Detect Invisibility and Mana Shield (multi-family check)
|
||||
if (spellInfo_1->Id == 132 && spellInfo_2->SpellIconID == 209 && spellInfo_2->SpellVisual[0] == 968)
|
||||
if (spellInfo_1->Id == 132 && spellIconID_2 == 209 && spellVisual_2 == 968)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2617,13 +2666,13 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Battle Shout and Rampage
|
||||
if ((spellInfo_1->SpellIconID == 456 && spellInfo_2->SpellIconID == 2006) ||
|
||||
(spellInfo_2->SpellIconID == 456 && spellInfo_1->SpellIconID == 2006))
|
||||
if ((spellIconID_1 == 456 && spellIconID_2 == 2006) ||
|
||||
(spellIconID_2 == 456 && spellIconID_1 == 2006))
|
||||
return false;
|
||||
|
||||
// Glyph of Revenge (triggered), and Sword and Board (triggered)
|
||||
if ((spellInfo_1->SpellIconID == 856 && spellInfo_2->SpellIconID == 2780) ||
|
||||
(spellInfo_2->SpellIconID == 856 && spellInfo_1->SpellIconID == 2780))
|
||||
if ((spellIconID_1 == 856 && spellIconID_2 == 2780) ||
|
||||
(spellIconID_2 == 856 && spellIconID_1 == 2780))
|
||||
return false;
|
||||
|
||||
// Defensive/Berserker/Battle stance aura can not stack (needed for dummy auras)
|
||||
|
|
@ -2639,13 +2688,13 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
}
|
||||
|
||||
// Defensive Stance and Scroll of Protection (multi-family check)
|
||||
if (spellInfo_1->Id == 71 && spellInfo_2->SpellIconID == 276 && spellInfo_2->SpellVisual[0] == 196)
|
||||
if (spellInfo_1->Id == 71 && spellIconID_2 == 276 && spellVisual_2 == 196)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Bloodlust and Bloodthirst (multi-family check)
|
||||
if (spellInfo_2->Id == 2825 && spellInfo_1->SpellIconID == 38 && spellInfo_1->SpellVisual[0] == 0)
|
||||
if (spellInfo_2->Id == 2825 && spellIconID_1 == 38 && spellVisual_1 == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2674,8 +2723,8 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
if (classOptions2 && classOptions2->SpellFamilyName == SPELLFAMILY_DRUID )
|
||||
{
|
||||
//Omen of Clarity and Blood Frenzy
|
||||
if ((classOptions1 && (classOptions1->SpellFamilyFlags == UI64LIT(0x0) && spellInfo_1->SpellIconID == 108) && (classOptions2->SpellFamilyFlags & UI64LIT(0x20000000000000))) ||
|
||||
((classOptions2->SpellFamilyFlags == UI64LIT(0x0) && spellInfo_2->SpellIconID == 108) && (classOptions1->SpellFamilyFlags & UI64LIT(0x20000000000000))))
|
||||
if ((classOptions1 && (classOptions1->SpellFamilyFlags == UI64LIT(0x0) && spellIconID_1 == 108) && (classOptions2->SpellFamilyFlags & UI64LIT(0x20000000000000))) ||
|
||||
((classOptions2->SpellFamilyFlags == UI64LIT(0x0) && spellIconID_2 == 108) && (classOptions1->SpellFamilyFlags & UI64LIT(0x20000000000000))))
|
||||
return false;
|
||||
|
||||
// Tree of Life (Shapeshift) and 34123 Tree of Life (Passive)
|
||||
|
|
@ -2684,12 +2733,12 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Lifebloom and Wild Growth
|
||||
if ((spellInfo_1->SpellIconID == 2101 && spellInfo_2->SpellIconID == 2864) ||
|
||||
(spellInfo_2->SpellIconID == 2101 && spellInfo_1->SpellIconID == 2864))
|
||||
if ((spellIconID_1 == 2101 && spellIconID_2 == 2864) ||
|
||||
(spellIconID_2 == 2101 && spellIconID_1 == 2864))
|
||||
return false;
|
||||
|
||||
// Innervate and Glyph of Innervate and some other spells
|
||||
if (spellInfo_1->SpellIconID == 62 && spellInfo_2->SpellIconID == 62)
|
||||
if (spellIconID_1 == 62 && spellIconID_2 == 62)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2715,7 +2764,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Savage Roar and Savage Roar (triggered)
|
||||
if (spellInfo_1->SpellIconID == 2865 && spellInfo_2->SpellIconID == 2865)
|
||||
if (spellIconID_1 == 2865 && spellIconID_2 == 2865)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2727,7 +2776,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
}
|
||||
|
||||
// Leader of the Pack and Scroll of Stamina (multi-family check)
|
||||
if (spellInfo_1->Id == 24932 && spellInfo_2->SpellIconID == 312 && spellInfo_2->SpellVisual[0] == 216)
|
||||
if (spellInfo_1->Id == 24932 && spellIconID_2 == 312 && spellVisual_2 == 216)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2748,20 +2797,20 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Sprint & Sprint (waterwalk)
|
||||
if (spellInfo_1->SpellIconID == 516 && spellInfo_2->SpellIconID == 516 &&
|
||||
if (spellIconID_1 == 516 && spellIconID_2 == 516 &&
|
||||
((spellInfo_1->GetCategory() == 44 && spellInfo_2->GetCategory() == 0) ||
|
||||
(spellInfo_2->GetCategory() == 44 && spellInfo_1->GetCategory() == 0)))
|
||||
return false;
|
||||
}
|
||||
|
||||
// Overkill
|
||||
if (spellInfo_1->SpellIconID == 2285 && spellInfo_2->SpellIconID == 2285)
|
||||
if (spellIconID_1 == 2285 && spellIconID_2 == 2285)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Garrote -> Garrote-Silence (multi-family check)
|
||||
if (spellInfo_1->SpellIconID == 498 && spellInfo_2->SpellIconID == 498 && spellInfo_2->SpellVisual[0] == 0)
|
||||
if (spellIconID_1 == 498 && spellIconID_2 == 498 && spellVisual_2 == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2780,19 +2829,19 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
return false;
|
||||
|
||||
// Deterrence
|
||||
if (spellInfo_1->SpellIconID == 83 && spellInfo_2->SpellIconID == 83)
|
||||
if (spellIconID_1 == 83 && spellIconID_2 == 83)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Bestial Wrath
|
||||
if (spellInfo_1->SpellIconID == 1680 && spellInfo_2->SpellIconID == 1680)
|
||||
if (spellIconID_1 == 1680 && spellIconID_2 == 1680)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Aspect of the Viper & Vicious Viper
|
||||
if (spellInfo_1->SpellIconID == 2227 && spellInfo_2->SpellIconID == 2227)
|
||||
if (spellIconID_1 == 2227 && spellIconID_2 == 2227)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2820,37 +2869,37 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
}
|
||||
|
||||
// Swift Retribution / Improved Devotion Aura (talents) and Paladin Auras
|
||||
if ((spellInfo_1->IsFitToFamilyMask(UI64LIT(0x0), 0x00000020) && (spellInfo_2->SpellIconID == 291 || spellInfo_2->SpellIconID == 3028)) ||
|
||||
(spellInfo_2->IsFitToFamilyMask(UI64LIT(0x0), 0x00000020) && (spellInfo_1->SpellIconID == 291 || spellInfo_1->SpellIconID == 3028)))
|
||||
if ((spellInfo_1->IsFitToFamilyMask(UI64LIT(0x0), 0x00000020) && (spellIconID_2 == 291 || spellIconID_2 == 3028)) ||
|
||||
(spellInfo_2->IsFitToFamilyMask(UI64LIT(0x0), 0x00000020) && (spellIconID_1 == 291 || spellIconID_1 == 3028)))
|
||||
return false;
|
||||
|
||||
// Beacon of Light and Light's Beacon
|
||||
if ((spellInfo_1->SpellIconID == 3032) && (spellInfo_2->SpellIconID == 3032))
|
||||
if ((spellIconID_1 == 3032) && (spellIconID_2 == 3032))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Concentration Aura and Improved Concentration Aura and Aura Mastery
|
||||
if ((spellInfo_1->SpellIconID == 1487) && (spellInfo_2->SpellIconID == 1487))
|
||||
if ((spellIconID_1 == 1487) && (spellIconID_2 == 1487))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Seal of Corruption (caster/target parts stacking allow, other stacking checked by spell specs)
|
||||
if (spellInfo_1->SpellIconID == 2292 && spellInfo_2->SpellIconID == 2292)
|
||||
if (spellIconID_1 == 2292 && spellIconID_2 == 2292)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Divine Sacrifice and Divine Guardian
|
||||
if (spellInfo_1->SpellIconID == 3837 && spellInfo_2->SpellIconID == 3837)
|
||||
if (spellIconID_1 == 3837 && spellIconID_2 == 3837)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Blood Corruption, Holy Vengeance, Righteous Vengeance
|
||||
if ((spellInfo_1->SpellIconID == 2292 && spellInfo_2->SpellIconID == 3025) ||
|
||||
(spellInfo_2->SpellIconID == 2292 && spellInfo_1->SpellIconID == 3025))
|
||||
if ((spellIconID_1 == 2292 && spellIconID_2 == 3025) ||
|
||||
(spellIconID_2 == 2292 && spellIconID_1 == 3025))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -2861,19 +2910,19 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
}
|
||||
|
||||
// Combustion and Fire Protection Aura (multi-family check)
|
||||
if (spellInfo_2->Id == 11129 && spellInfo_1->SpellIconID == 33 && spellInfo_1->SpellVisual[0] == 321)
|
||||
if (spellInfo_2->Id == 11129 && spellIconID_1 == 33 && spellVisual_1 == 321)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *Sanctity Aura -> Unstable Currents and other (multi-family check)
|
||||
if (spellInfo_1->SpellIconID==502 && classOptions2->SpellFamilyName == SPELLFAMILY_GENERIC && spellInfo_2->SpellIconID==502 && spellInfo_2->SpellVisual[0]==969 )
|
||||
if (spellIconID_1==502 && classOptions2->SpellFamilyName == SPELLFAMILY_GENERIC && spellIconID_2==502 && spellVisual_2==969 )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *Seal of Command and Band of Eternal Champion (multi-family check)
|
||||
if (spellInfo_1->SpellIconID == 561 && spellInfo_1->SpellVisual[0] == 7992 && spellId_2 == 35081)
|
||||
if (spellIconID_1 == 561 && spellVisual_1 == 7992 && spellId_2 == 35081)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2882,24 +2931,24 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
if (classOptions2 && classOptions2->SpellFamilyName == SPELLFAMILY_SHAMAN )
|
||||
{
|
||||
// Windfury weapon
|
||||
if (spellInfo_1->SpellIconID==220 && spellInfo_2->SpellIconID==220 &&
|
||||
if (spellIconID_1==220 && spellIconID_2==220 &&
|
||||
!classOptions1->IsFitToFamilyMask(classOptions2->SpellFamilyFlags))
|
||||
return false;
|
||||
|
||||
// Ghost Wolf
|
||||
if (spellInfo_1->SpellIconID == 67 && spellInfo_2->SpellIconID == 67)
|
||||
if (spellIconID_1 == 67 && spellIconID_2 == 67)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Totem of Wrath (positive/negative), ranks checked early
|
||||
if (spellInfo_1->SpellIconID == 2019 && spellInfo_2->SpellIconID == 2019)
|
||||
if (spellIconID_1 == 2019 && spellIconID_2 == 2019)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Bloodlust and Bloodthirst (multi-family check)
|
||||
if (spellInfo_1->Id == 2825 && spellInfo_2->SpellIconID == 38 && spellInfo_2->SpellVisual[0] == 0)
|
||||
if (spellInfo_1->Id == 2825 && spellIconID_2 == 38 && spellVisual_2 == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2908,25 +2957,25 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
if (classOptions2 && classOptions2->SpellFamilyName == SPELLFAMILY_DEATHKNIGHT)
|
||||
{
|
||||
// Lichborne and Lichborne (triggered)
|
||||
if (spellInfo_1->SpellIconID == 61 && spellInfo_2->SpellIconID == 61)
|
||||
if (spellIconID_1 == 61 && spellIconID_2 == 61)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Frost Presence and Frost Presence (triggered)
|
||||
if (spellInfo_1->SpellIconID == 2632 && spellInfo_2->SpellIconID == 2632)
|
||||
if (spellIconID_1 == 2632 && spellIconID_2 == 2632)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Unholy Presence and Unholy Presence (triggered)
|
||||
if (spellInfo_1->SpellIconID == 2633 && spellInfo_2->SpellIconID == 2633)
|
||||
if (spellIconID_1 == 2633 && spellIconID_2 == 2633)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Blood Presence and Blood Presence (triggered)
|
||||
if (spellInfo_1->SpellIconID == 2636 && spellInfo_2->SpellIconID == 2636)
|
||||
if (spellIconID_1 == 2636 && spellIconID_2 == 2636)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2937,8 +2986,8 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
}
|
||||
|
||||
// more generic checks
|
||||
if (spellInfo_1->SpellIconID == spellInfo_2->SpellIconID &&
|
||||
spellInfo_1->SpellIconID != 0 && spellInfo_2->SpellIconID != 0)
|
||||
if (spellIconID_1 == spellIconID_2 &&
|
||||
spellIconID_1 != 0 && spellIconID_2 != 0)
|
||||
{
|
||||
bool isModifier = false;
|
||||
for (int i = 0; i < MAX_EFFECT_INDEX; ++i)
|
||||
|
|
@ -4840,15 +4889,15 @@ void SpellMgr::CheckUsedSpells(char const* table)
|
|||
}
|
||||
}
|
||||
|
||||
if (spellIcon >= 0 && spellEntry->SpellIconID != uint32(spellIcon))
|
||||
if (spellIcon >= 0 && spellEntry->GetSpellIconID() != uint32(spellIcon))
|
||||
{
|
||||
sLog.outError("Spell %u '%s' icon(%u) <> %u but used in %s.", spell, name.c_str(), spellEntry->SpellIconID, spellIcon, code.c_str());
|
||||
sLog.outError("Spell %u '%s' icon(%u) <> %u but used in %s.", spell, name.c_str(), spellEntry->GetSpellIconID(), spellIcon, code.c_str());
|
||||
continue;
|
||||
}
|
||||
|
||||
if (spellVisual >= 0 && spellEntry->SpellVisual[0] != uint32(spellVisual))
|
||||
if (spellVisual >= 0 && spellEntry->GetSpellVisual() != uint32(spellVisual))
|
||||
{
|
||||
sLog.outError("Spell %u '%s' visual(%u) <> %u but used in %s.", spell, name.c_str(), spellEntry->SpellVisual[0], spellVisual, code.c_str());
|
||||
sLog.outError("Spell %u '%s' visual(%u) <> %u but used in %s.", spell, name.c_str(), spellEntry->GetSpellVisual(), spellVisual, code.c_str());
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -4919,10 +4968,10 @@ void SpellMgr::CheckUsedSpells(char const* table)
|
|||
}
|
||||
}
|
||||
|
||||
if (spellIcon >= 0 && spellEntry->SpellIconID != uint32(spellIcon))
|
||||
if (spellIcon >= 0 && spellEntry->GetSpellIconID() != uint32(spellIcon))
|
||||
continue;
|
||||
|
||||
if (spellVisual >= 0 && spellEntry->SpellVisual[0] != uint32(spellVisual))
|
||||
if (spellVisual >= 0 && spellEntry->GetSpellVisual() != uint32(spellVisual))
|
||||
continue;
|
||||
|
||||
if(category >= 0 && spellEntry->GetCategory() != uint32(category))
|
||||
|
|
@ -4987,7 +5036,7 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto
|
|||
break;
|
||||
case SPELLFAMILY_MAGE:
|
||||
// Dragon's Breath
|
||||
if (spellproto->SpellIconID == 1548)
|
||||
if (spellproto->GetSpellIconID() == 1548)
|
||||
{
|
||||
return DIMINISHING_DISORIENT;
|
||||
}
|
||||
|
|
@ -5005,7 +5054,7 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto
|
|||
return DIMINISHING_CHEAPSHOT_POUNCE;
|
||||
}
|
||||
// Crippling poison - Limit to 10 seconds in PvP (No SpellFamilyFlags)
|
||||
else if (spellproto->SpellIconID == 163)
|
||||
else if (spellproto->GetSpellIconID() == 163)
|
||||
{
|
||||
return DIMINISHING_LIMITONLY;
|
||||
}
|
||||
|
|
@ -5014,7 +5063,7 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto
|
|||
case SPELLFAMILY_HUNTER:
|
||||
{
|
||||
// Freezing Trap & Freezing Arrow & Wyvern Sting
|
||||
if (spellproto->SpellIconID == 180 || spellproto->SpellIconID == 1721)
|
||||
if (spellproto->GetSpellIconID() == 180 || spellproto->GetSpellIconID() == 1721)
|
||||
{
|
||||
return DIMINISHING_DISORIENT;
|
||||
}
|
||||
|
|
@ -5070,7 +5119,7 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto
|
|||
case SPELLFAMILY_PRIEST:
|
||||
{
|
||||
// Shackle Undead
|
||||
if (spellproto->SpellIconID == 27)
|
||||
if (spellproto->GetSpellIconID() == 27)
|
||||
{
|
||||
return DIMINISHING_DISORIENT;
|
||||
}
|
||||
|
|
@ -5079,7 +5128,7 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto
|
|||
case SPELLFAMILY_DEATHKNIGHT:
|
||||
{
|
||||
// Hungering Cold (no flags)
|
||||
if (spellproto->SpellIconID == 2797)
|
||||
if (spellproto->GetSpellIconID() == 2797)
|
||||
{
|
||||
return DIMINISHING_DISORIENT;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue