* Remove some old checks in aura stacking and change default stack rule to true
* Add stacking rules for Mark/Gift of the Wild, Power Word/Prayer of Fortitude, Prayer of/Shadow protection NOTE: Although highly unlikely, this *might* cause some stacking problems until we properly define rest of the stacking rules in spell_group, so report any stacking issues * Some missing lads from THANKS file --HG-- branch : trunk
This commit is contained in:
@@ -64,5 +64,5 @@ footman, elron103, make_the_king, destros, MetaphysicalDrama, disassebler,
|
||||
Malcrom, Vladmimír Lipták, retriman, hyriuu, Smakapotatis, PainKiller,
|
||||
bkhorizon, n0n4m3, Chesterfield, Frankir, Wowka321, Morpheux, p0wer,
|
||||
Ouden, toshik, laise, yavi, Splinter, Syntec, Arthas, denyde, unholy,
|
||||
Vaughner, blackmanos, edrinn, Supabad, click, silverice, SupaBad, Xanadu,
|
||||
Socolin, Toni.Shocker, Silinoron, 0xFuture, xK1
|
||||
Vaughner, blackmanos, edrinn, Liberate, Shauren, dr.tenma, click, silverice,
|
||||
SupaBad, Xanadu, Socolin, Shocker, Silinoron, 0xFuture, xK1
|
||||
|
||||
@@ -6008,7 +6008,16 @@ INSERT INTO `spell_group` (`id`, `spell_id`) VALUES
|
||||
-- mage freezing spells
|
||||
(1107, 122), -- Frost Nova
|
||||
(1107, 33395), -- Freeze
|
||||
(1107, 55080); -- Shattered Barrier
|
||||
(1107, 55080), -- Shattered Barrier
|
||||
-- Mark/Gift of the Wild
|
||||
(1108, 1126),
|
||||
(1108, 21849),
|
||||
-- Power Word/Prayer of Fortitude
|
||||
(1109, 1243),
|
||||
(1109, 21562),
|
||||
-- Prayer of/Shadow Protection
|
||||
(1110, 976),
|
||||
(1110, 27683);
|
||||
|
||||
/*!40000 ALTER TABLE `spell_group` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
DELETE FROM `spell_group` WHERE `id` IN (1108, 1109, 1110);
|
||||
INSERT INTO `spell_group` (`id`, `spell_id`) VALUES
|
||||
(1108, 1126), -- Mark of the Wild
|
||||
(1108, 21849), -- Gift of the Wild
|
||||
(1109, 1243), -- Power Word: Fortitude
|
||||
(1109, 21562), -- Prayer of Fortitude
|
||||
(1110, 976), -- Shadow Protection
|
||||
(1110, 27683); -- Prayer of Shadow Protection
|
||||
@@ -0,0 +1,5 @@
|
||||
DELETE FROM `spell_group_stack_rules` WHERE `group_id` IN (1108, 1109, 1110);
|
||||
INSERT INTO `spell_group_stack_rules` (`group_id`, `stack_rule`) VALUES
|
||||
(1108, 1), -- Mark/Gift of the Wild
|
||||
(1109, 1), -- Power Word/Prayer of Fortitude
|
||||
(1110, 1); -- Prayer of/Shadow protection
|
||||
@@ -3168,35 +3168,8 @@ bool SpellMgr::CanAurasStack(SpellEntry const *spellInfo_1, SpellEntry const *sp
|
||||
return false;
|
||||
}
|
||||
|
||||
// use icon to check generic spells
|
||||
if (!spellInfo_1->SpellFamilyName)
|
||||
{
|
||||
if (!spellInfo_1->SpellIconID || spellInfo_1->SpellIconID == 1
|
||||
|| spellInfo_1->SpellIconID != spellInfo_2->SpellIconID)
|
||||
return true;
|
||||
}
|
||||
// use familyflag to check class spells
|
||||
else
|
||||
{
|
||||
if (!spellInfo_1->SpellFamilyFlags
|
||||
|| spellInfo_1->SpellFamilyFlags != spellInfo_2->SpellFamilyFlags)
|
||||
return true;
|
||||
}
|
||||
|
||||
//use data of highest rank spell(needed for spells which ranks have different effects)
|
||||
spellInfo_1 = sSpellStore.LookupEntry(spellId_1);
|
||||
spellInfo_2 = sSpellStore.LookupEntry(spellId_2);
|
||||
|
||||
//if spells do not have the same effect or aura or miscvalue, they will stack
|
||||
for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i)
|
||||
if (spellInfo_1->Effect[i] != spellInfo_2->Effect[i]
|
||||
|| spellInfo_1->EffectApplyAuraName[i] != spellInfo_2->EffectApplyAuraName[i]
|
||||
|| spellInfo_1->EffectMiscValue[i] != spellInfo_2->EffectMiscValue[i]) // paladin resist aura
|
||||
return true; // need itemtype check? need an example to add that check
|
||||
|
||||
// different spells with same effect
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CanSpellDispelAura(SpellEntry const * dispelSpell, SpellEntry const * aura)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user