Core/Spells: Fix damage from Seed of Corruption explosion
This commit is contained in:
@@ -17135,7 +17135,8 @@ INSERT INTO `spell_bonus_data` (`entry`,`direct_bonus`,`dot_bonus`,`ap_bonus`,`a
|
|||||||
(29722, 0.7139, -1, -1, -1, 'Warlock - Incinerate'),
|
(29722, 0.7139, -1, -1, -1, 'Warlock - Incinerate'),
|
||||||
(42223, 0.286, -1, -1, -1, 'Warlock - Rain of Fire Triggered Rank 1'),
|
(42223, 0.286, -1, -1, -1, 'Warlock - Rain of Fire Triggered Rank 1'),
|
||||||
(5676, 0.4293, -1, -1, -1, 'Warlock - Searing Pain'),
|
(5676, 0.4293, -1, -1, -1, 'Warlock - Searing Pain'),
|
||||||
(27243, 0.2129, 0.25, -1, -1, 'Warlock - Seed of Corruption'),
|
(27243, -1, 0.25, -1, -1, 'Warlock - Seed of Corruption'),
|
||||||
|
(27285, 0.2129, -1, -1, -1, 'Seed of Corruption Proc'),
|
||||||
(686, 0.8569, -1, -1, -1, 'Warlock - Shadow Bolt'),
|
(686, 0.8569, -1, -1, -1, 'Warlock - Shadow Bolt'),
|
||||||
(6229, 0.3, -1, -1, -1, 'Warlock - Shadow Ward'),
|
(6229, 0.3, -1, -1, -1, 'Warlock - Shadow Ward'),
|
||||||
(17877, 0.4293, -1, -1, -1, 'Warlock - Shadowburn'),
|
(17877, 0.4293, -1, -1, -1, 'Warlock - Shadowburn'),
|
||||||
@@ -25806,7 +25807,7 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
|
|||||||
-- Safeguard
|
-- Safeguard
|
||||||
(46946, 46946, 1),
|
(46946, 46946, 1),
|
||||||
(46946, 46947, 2),
|
(46946, 46947, 2),
|
||||||
-- Seed of Corruption
|
-- Seed of Corruption Proc
|
||||||
(27285, 27285, 1),
|
(27285, 27285, 1),
|
||||||
(27285, 47833, 2),
|
(27285, 47833, 2),
|
||||||
(27285, 47834, 3),
|
(27285, 47834, 3),
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
UPDATE `spell_bonus_data` SET `direct_bonus` = -1 WHERE `entry` = 27243;
|
||||||
|
DELETE FROM `spell_bonus_data` WHERE `entry` = 27285;
|
||||||
|
INSERT INTO `spell_bonus_data` VALUES (27285, 0.2129, -1, -1, -1,'Warlock - Seed of Corruption Proc');
|
||||||
@@ -5855,7 +5855,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
// Seed of Corruption
|
// Seed of Corruption
|
||||||
if (dummySpell->SpellFamilyFlags[1] & 0x00000010)
|
if (dummySpell->SpellFamilyFlags[1] & 0x00000010)
|
||||||
{
|
{
|
||||||
if (procSpell && procSpell->Id == 27285)
|
if (procSpell && procSpell->SpellFamilyFlags[1] & 0x8000)
|
||||||
return false;
|
return false;
|
||||||
// if damage is more than need or target die from damage deal finish spell
|
// if damage is more than need or target die from damage deal finish spell
|
||||||
if (triggeredByAura->GetAmount() <= int32(damage) || GetHealth() <= damage)
|
if (triggeredByAura->GetAmount() <= int32(damage) || GetHealth() <= damage)
|
||||||
@@ -5866,9 +5866,11 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
// Remove aura (before cast for prevent infinite loop handlers)
|
// Remove aura (before cast for prevent infinite loop handlers)
|
||||||
RemoveAurasDueToSpell(triggeredByAura->GetId());
|
RemoveAurasDueToSpell(triggeredByAura->GetId());
|
||||||
|
|
||||||
|
uint32 spell = sSpellMgr->GetSpellWithRank(27285, sSpellMgr->GetSpellRank(dummySpell->Id));
|
||||||
|
|
||||||
// Cast finish spell (triggeredByAura already not exist!)
|
// Cast finish spell (triggeredByAura already not exist!)
|
||||||
if (Unit* caster = GetUnit(*this, casterGuid))
|
if (Unit* caster = GetUnit(*this, casterGuid))
|
||||||
caster->CastSpell(this, 27285, true, castItem);
|
caster->CastSpell(this, spell, true, castItem);
|
||||||
return true; // no hidden cooldown
|
return true; // no hidden cooldown
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user