diff options
-rw-r--r-- | sql/updates/4234_world_spell_bonus_data_TDB.sql | 4 | ||||
-rw-r--r-- | sql/world.sql | 3 | ||||
-rw-r--r-- | src/game/SpellEffects.cpp | 12 |
3 files changed, 13 insertions, 6 deletions
diff --git a/sql/updates/4234_world_spell_bonus_data_TDB.sql b/sql/updates/4234_world_spell_bonus_data_TDB.sql new file mode 100644 index 00000000000..96673ed3a7c --- /dev/null +++ b/sql/updates/4234_world_spell_bonus_data_TDB.sql @@ -0,0 +1,4 @@ +DELETE FROM `spell_bonus_data` WHERE `entry`='17962'; + +INSERT INTO `spell_bonus_data` (`entry`, `direct_bonus`, `dot_bonus`, `ap_bonus`, `comments`) VALUES +('17962', '0', '0', '0', 'Warlock - Conflagrate'); diff --git a/sql/world.sql b/sql/world.sql index f96d43b66d9..8c5dfb46eff 100644 --- a/sql/world.sql +++ b/sql/world.sql @@ -13991,7 +13991,8 @@ INSERT INTO `spell_bonus_data` VALUES (61295,0.4,0.18,0,'Shaman - Riptide'), (61391,0.193,0,0,'Druid - Typhoon'), (61651,0.2142,0,0,'Shaman - Fire Nova Totem Casted by Totem Rank 8'), -(61660,0.2142,0,0,'Shaman - Fire Nova Totem Casted by Totem Rank 9'); +(61660,0.2142,0,0,'Shaman - Fire Nova Totem Casted by Totem Rank 9'), +('17962', '0', '0', '0', 'Warlock - Conflagrate'); /*!40000 ALTER TABLE `spell_bonus_data` ENABLE KEYS */; UNLOCK TABLES; diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index ca7bb75dff6..e9a358a05c2 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -473,12 +473,9 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx) if(unitTarget->HasAuraState(AURA_STATE_IMMOLATE, m_spellInfo, m_caster)) damage += int32(damage*0.25f); } - // Conflagrate - consumes immolate + // Conflagrate - consumes immolate or shadowflame else if (m_spellInfo->TargetAuraState == AURA_STATE_IMMOLATE) { - // Glyph of Conflagrate - if (m_caster->HasAura(56235)) - break; // for caster applied auras only Unit::AuraEffectList const &mPeriodic = unitTarget->GetAurasByType(SPELL_AURA_PERIODIC_DAMAGE); for(Unit::AuraEffectList::const_iterator i = mPeriodic.begin(); i != mPeriodic.end(); ++i) @@ -486,7 +483,12 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx) if( (*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_WARLOCK && ((*i)->GetSpellProto()->SpellFamilyFlags[0] & 4 || (*i)->GetSpellProto()->SpellFamilyFlags[2] & 2) && (*i)->GetCasterGUID()==m_caster->GetGUID() ) { - unitTarget->RemoveAurasDueToSpell((*i)->GetId(), m_caster->GetGUID()); + uint32 pdamage = (*i)->GetAmount() > 0 ? (*i)->GetAmount() : 0; + pdamage = m_caster->SpellDamageBonus(unitTarget, (*i)->GetSpellProto(), pdamage, DOT, (*i)->GetParentAura()->GetStackAmount()); + damage += pdamage * 4; // 4 ticks of 3 seconds = 12 secs + // Glyph of Conflagrate + if (!m_caster->HasAura(56235)) + unitTarget->RemoveAurasDueToSpell((*i)->GetId(), m_caster->GetGUID()); break; } } |