aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <none@none>2010-07-28 12:57:00 +0200
committerShauren <none@none>2010-07-28 12:57:00 +0200
commit045bf5163b33599429f91290ff2edb702f186efb (patch)
tree00f84950bcdb1a7fd9c164e23ce692b2ce2e7be7
parent0137a8c1932cfc2c9378fa7536b32806fec31b21 (diff)
Fixed spellpower coef for Lifebloom final heal
--HG-- branch : trunk
-rw-r--r--sql/base/world_database.sql2
-rw-r--r--sql/updates/9063_world_spell_bonus_data.sql3
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp24
-rw-r--r--src/server/game/Spells/SpellEffects.cpp3
4 files changed, 18 insertions, 14 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql
index fbe88688b22..760a451980e 100644
--- a/sql/base/world_database.sql
+++ b/sql/base/world_database.sql
@@ -5005,7 +5005,7 @@ INSERT INTO `spell_bonus_data` (`entry`,`direct_bonus`,`dot_bonus`,`ap_bonus`,`a
(42231, 0.12898, -1, -1, -1, 'Druid - Hurricane Triggered'),
(5570, -1, 0.2, -1, -1, 'Druid - Insect Swarm'),
(33745, -1, -1, -1, 0.01, 'Druid - Lacerate($AP*0.05 / number of ticks)'),
-(33778, 0.516, 0, 0, 0, 'Druid - Lifebloom final heal'),
+(33778, 0.589714, 0, 0, 0, 'Druid - Lifebloom final heal'),
(33763, 0, 0.09518, 0, 0, 'Druid - Lifebloom HoT(rank 1)'),
(48450, 0, 0.09518, 0, 0, 'Druid - Lifebloom HoT(rank 2)'),
(48451, 0, 0.09518, 0, 0, 'Druid - Lifebloom HoT(rank 3)'),
diff --git a/sql/updates/9063_world_spell_bonus_data.sql b/sql/updates/9063_world_spell_bonus_data.sql
new file mode 100644
index 00000000000..78b87493041
--- /dev/null
+++ b/sql/updates/9063_world_spell_bonus_data.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_bonus_data` WHERE `entry`=33778;
+INSERT INTO `spell_bonus_data` (`entry`,`direct_bonus`,`dot_bonus`,`ap_bonus`,`ap_dot_bonus`,`comments`) VALUES
+(33778,0.589714,0,0,0, 'Druid - Lifebloom final heal');
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 7da5559c4c5..b9da2fffb80 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -5726,21 +5726,19 @@ void AuraEffect::HandleAuraDummy(AuraApplication const * aurApp, uint8 mode, boo
// Lifebloom
if (GetSpellProto()->SpellFamilyFlags[1] & 0x10)
{
- if (!apply)
- {
- // Final heal only on dispelled or duration end
- if (aurApp->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE && aurApp->GetRemoveMode() != AURA_REMOVE_BY_ENEMY_SPELL)
- return;
+ // Final heal only on dispelled or duration end
+ if (aurApp->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE && aurApp->GetRemoveMode() != AURA_REMOVE_BY_ENEMY_SPELL)
+ return;
- // final heal
- target->CastCustomSpell(target,33778,&m_amount,NULL,NULL,true,NULL,this,GetCasterGUID());
+ // final heal
+ uint32 stack = GetBase()->GetStackAmount();
+ target->CastCustomSpell(target, 33778, &m_amount, &stack, NULL, true, NULL, this, GetCasterGUID());
- // restore mana
- if (caster)
- {
- int32 returnmana = (GetSpellProto()->ManaCostPercentage * caster->GetCreateMana() / 100) * GetBase()->GetStackAmount() / 2;
- caster->CastCustomSpell(caster, 64372, &returnmana, NULL, NULL, true, NULL, this, GetCasterGUID());
- }
+ // restore mana
+ if (caster)
+ {
+ int32 returnmana = (GetSpellProto()->ManaCostPercentage * caster->GetCreateMana() / 100) * stack / 2;
+ caster->CastCustomSpell(caster, 64372, &returnmana, NULL, NULL, true, NULL, this, GetCasterGUID());
}
}
break;
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index f5c590f891a..5a33026bdb9 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -2776,6 +2776,9 @@ void Spell::SpellDamageHeal(uint32 /*i*/)
}
}
}
+ // Lifebloom - final heal coef multiplied by original DoT stack
+ else if (m_spellInfo->Id == 33778)
+ addhealth = caster->SpellHealingBonus(unitTarget, m_spellInfo, addhealth, HEAL, m_spellValue->EffectBasePoints[1]);
// Riptide - increase healing done by Chain Heal
else if (m_spellInfo->SpellFamilyName == SPELLFAMILY_SHAMAN && m_spellInfo->SpellFamilyFlags[0] & 0x100)
{