diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-08-24 17:24:20 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-08-24 17:24:20 +0200 |
| commit | 10e00f32fdf5464b11db325aa518b7db0574643b (patch) | |
| tree | 85ef01411bd8a16ce59c003c0887f0cfd97f806b /src/server/scripts/Spells | |
| parent | 772c293b24fd1837966dbe2fb541f4dbc8b82c71 (diff) | |
| parent | d088a368f164721a5c8fbb89c51593ba042d3646 (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Diffstat (limited to 'src/server/scripts/Spells')
| -rw-r--r-- | src/server/scripts/Spells/spell_shaman.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index 486eec6f4df..a8b9e5f8e8e 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -290,6 +290,13 @@ class spell_sha_earth_shield : public SpellScriptLoader amount = caster->SpellHealingBonusDone(GetUnitOwner(), GetSpellInfo(), amount, HEAL); amount = GetUnitOwner()->SpellHealingBonusTaken(caster, GetSpellInfo(), amount, HEAL); + //! WORKAROUND + // If target is affected by healing reduction, modifier is guaranteed to be negative + // value (e.g. -50). To revert the effect, multiply amount with reciprocal of relative value: + // (100 / ((-1) * modifier)) * 100 = (-1) * 100 * 100 / modifier = -10000 / modifier + if (int32 modifier = GetUnitOwner()->GetMaxNegativeAuraModifier(SPELL_AURA_MOD_HEALING_PCT)) + ApplyPct(amount, -10000.0f / float(modifier)); + // Glyph of Earth Shield //! WORKAROUND //! this glyph is a proc |
