mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 18:36:31 +01:00
*Merge.
--HG-- branch : trunk
This commit is contained in:
1
sql/updates/3956_world_spell_proc_event.sql
Normal file
1
sql/updates/3956_world_spell_proc_event.sql
Normal file
@@ -0,0 +1 @@
|
||||
DELETE FROM `spell_proc_event` WHERE `entry` IN (49531,49532);
|
||||
@@ -1282,8 +1282,6 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
|
||||
(49504, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Bloody Vengeance (Rank 3)
|
||||
(49529, 0x00, 15, 0x01400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Sudden Doom (Rank 2)
|
||||
(49530, 0x00, 15, 0x01400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Sudden Doom (Rank 3)
|
||||
(49531, 0x00, 15, 0x01400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Sudden Doom (Rank 4)
|
||||
(49532, 0x00, 15, 0x01400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Sudden Doom (Rank 5)
|
||||
(49622, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 60), -- Bonus Mana Regen
|
||||
(49657, 0x00, 15, 0x00000000, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Endless Winter (Rank 2)
|
||||
(50781, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Fate Rune of Primal Energy
|
||||
|
||||
@@ -6731,6 +6731,42 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
||||
CastCustomSpell(this,45470,&heal,NULL,NULL,true);
|
||||
return true;
|
||||
}
|
||||
// Sudden Doom
|
||||
if (dummySpell->SpellIconID == 1939 && GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
SpellChainNode const* chain = NULL;
|
||||
// get highest rank of the Death Coil spell
|
||||
const PlayerSpellMap& sp_list = ((Player*)this)->GetSpellMap();
|
||||
for (PlayerSpellMap::const_iterator itr = sp_list.begin(); itr != sp_list.end(); ++itr)
|
||||
{
|
||||
// check if shown in spell book
|
||||
if(!itr->second->active || itr->second->disabled || itr->second->state == PLAYERSPELL_REMOVED)
|
||||
continue;
|
||||
|
||||
SpellEntry const *spellProto = sSpellStore.LookupEntry(itr->first);
|
||||
if (!spellProto)
|
||||
continue;
|
||||
|
||||
if (spellProto->SpellFamilyName == SPELLFAMILY_DEATHKNIGHT
|
||||
&& spellProto->SpellFamilyFlags[0] & 0x2000)
|
||||
{
|
||||
SpellChainNode const* newChain = spellmgr.GetSpellChainNode(itr->first);
|
||||
|
||||
// No chain entry or entry lower than found entry
|
||||
if (!chain || !newChain || (chain->rank < newChain->rank))
|
||||
{
|
||||
triggered_spell_id = itr->first;
|
||||
chain = newChain;
|
||||
}
|
||||
else
|
||||
continue;
|
||||
// Found spell is last in chain - do not need to look more
|
||||
// Optimisation for most common case
|
||||
if (chain && chain->last == itr->first)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_POTION:
|
||||
|
||||
Reference in New Issue
Block a user