Core/Scripts: fix Healing Stream Totem coefficient and animation

This commit is contained in:
ariel-
2018-02-14 22:07:06 -03:00
parent 63c436f5fb
commit 1edd81f9d5
3 changed files with 19 additions and 10 deletions

View File

@@ -0,0 +1 @@
DELETE FROM `spell_bonus_data` WHERE `entry`=52042;

View File

@@ -3047,6 +3047,11 @@ void SpellMgr::LoadSpellInfoCorrections()
ApplySpellFix({
379, // Earth Shield
33778, // Lifebloom Final Bloom
52042, // Healing Stream Totem
// this one is here because we have no SP bonus for dmgclass none spell
// but this one should since it's DBC data, it won't crit because it already has can't crit attr
64844, // Divine Hymn
71607, // Item - Bauble of True Blood 10m
71646, // Item - Bauble of True Blood 25m

View File

@@ -990,19 +990,22 @@ class spell_sha_healing_stream_totem : public SpellScriptLoader
if (Unit* target = GetHitUnit())
{
Unit* caster = GetCaster();
if (caster->GetTypeId() == TYPEID_UNIT && caster->IsTotem())
if (Unit* owner = caster->GetOwner())
caster = owner;
ObjectGuid originalCasterGuid = caster->GetGUID();
// Restorative Totems
if (AuraEffect const* aurEff = caster->GetAuraEffect(SPELL_AURA_DUMMY, SPELLFAMILY_SHAMAN, SHAMAN_ICON_ID_RESTORATIVE_TOTEMS, EFFECT_1))
AddPct(damage, aurEff->GetAmount());
if (Player* player = caster->GetAffectingPlayer())
{
originalCasterGuid = player->GetGUID();
// Glyph of Healing Stream Totem
if (AuraEffect const* aurEff = caster->GetAuraEffect(SPELL_SHAMAN_GLYPH_OF_HEALING_STREAM_TOTEM, EFFECT_0))
AddPct(damage, aurEff->GetAmount());
// Restorative Totems
if (AuraEffect const* aurEff = player->GetAuraEffect(SPELL_AURA_DUMMY, SPELLFAMILY_SHAMAN, SHAMAN_ICON_ID_RESTORATIVE_TOTEMS, EFFECT_1))
AddPct(damage, aurEff->GetAmount());
CastSpellExtraArgs args(GetOriginalCaster()->GetGUID());
// Glyph of Healing Stream Totem
if (AuraEffect const* aurEff = player->GetAuraEffect(SPELL_SHAMAN_GLYPH_OF_HEALING_STREAM_TOTEM, EFFECT_0))
AddPct(damage, aurEff->GetAmount());
}
CastSpellExtraArgs args(originalCasterGuid);
args.AddSpellBP0(damage);
caster->CastSpell(target, SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL, args);
}