diff options
| -rw-r--r-- | THANKS | 4 | ||||
| -rw-r--r-- | sql/base/world_database.sql | 11 | ||||
| -rw-r--r-- | sql/updates/9570_world_spell_group.sql | 8 | ||||
| -rw-r--r-- | sql/updates/9570_world_spell_group_stack_rules.sql | 5 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 29 |
5 files changed, 26 insertions, 31 deletions
@@ -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 diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index 4e1bbe4e3c2..bd35af3ea96 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -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; diff --git a/sql/updates/9570_world_spell_group.sql b/sql/updates/9570_world_spell_group.sql new file mode 100644 index 00000000000..e5dc9084f6b --- /dev/null +++ b/sql/updates/9570_world_spell_group.sql @@ -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
\ No newline at end of file diff --git a/sql/updates/9570_world_spell_group_stack_rules.sql b/sql/updates/9570_world_spell_group_stack_rules.sql new file mode 100644 index 00000000000..51fc1dc1b79 --- /dev/null +++ b/sql/updates/9570_world_spell_group_stack_rules.sql @@ -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
\ No newline at end of file diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 804d939eeb1..c45af051af5 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3168,34 +3168,7 @@ 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; + return true; } bool CanSpellDispelAura(SpellEntry const * dispelSpell, SpellEntry const * aura) |
