*Send to client periodic heal absorbtion.
*Heal over time spells are updating healing achievement progress now. --HG-- branch : trunk
This commit is contained in:
@@ -1480,7 +1480,7 @@ void AuraEffect::PeriodicTick(Unit * target, Unit * caster) const
|
||||
|
||||
uint32 heal = uint32(caster->SpellHealingBonus(caster, GetSpellProto(), uint32(new_damage * gainMultiplier), DOT, GetBase()->GetStackAmount()));
|
||||
|
||||
int32 gain = caster->DealHeal(caster, heal, GetSpellProto());
|
||||
int32 gain = caster->HealBySpell(caster, GetSpellProto(), heal);
|
||||
caster->getHostileRefManager().threatAssist(caster, gain * 0.5f, GetSpellProto());
|
||||
break;
|
||||
}
|
||||
@@ -1504,7 +1504,7 @@ void AuraEffect::PeriodicTick(Unit * target, Unit * caster) const
|
||||
|
||||
damage = int32(damage * gainMultiplier);
|
||||
|
||||
caster->DealHeal(target, damage, GetSpellProto());
|
||||
caster->HealBySpell(target, GetSpellProto(), damage);
|
||||
break;
|
||||
}
|
||||
case SPELL_AURA_PERIODIC_HEAL:
|
||||
@@ -1573,16 +1573,14 @@ void AuraEffect::PeriodicTick(Unit * target, Unit * caster) const
|
||||
sLog.outDetail("PeriodicTick: %u (TypeId: %u) heal of %u (TypeId: %u) for %u health inflicted by %u",
|
||||
GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), damage, GetId());
|
||||
|
||||
int32 gain = target->ModifyHealth(damage);
|
||||
uint32 absorb = 0;
|
||||
uint32 heal = uint32(damage);
|
||||
caster->CalcHealAbsorb(target, GetSpellProto(), heal, absorb);
|
||||
int32 gain = caster->DealHeal(target, heal);
|
||||
|
||||
SpellPeriodicAuraLogInfo pInfo(this, damage, damage - gain, 0, 0, 0.0f, crit);
|
||||
SpellPeriodicAuraLogInfo pInfo(this, damage, damage - gain, absorb, 0, 0.0f, crit);
|
||||
target->SendPeriodicAuraLog(&pInfo);
|
||||
|
||||
// add HoTs to amount healed in bgs
|
||||
if (caster->GetTypeId() == TYPEID_PLAYER)
|
||||
if (Battleground *bg = caster->ToPlayer()->GetBattleground())
|
||||
bg->UpdatePlayerScore(caster->ToPlayer(), SCORE_HEALING_DONE, gain);
|
||||
|
||||
target->getHostileRefManager().threatAssist(caster, float(gain) * 0.5f, GetSpellProto());
|
||||
|
||||
bool haveCastItem = GetBase()->GetCastItemGUID() != 0;
|
||||
@@ -1666,7 +1664,7 @@ void AuraEffect::PeriodicTick(Unit * target, Unit * caster) const
|
||||
SpellPeriodicAuraLogInfo pInfo(this, drain_amount, 0, 0, 0, gain_multiplier, false);
|
||||
target->SendPeriodicAuraLog(&pInfo);
|
||||
|
||||
int32 gain_amount = int32(drain_amount*gain_multiplier);
|
||||
int32 gain_amount = int32(drain_amount * gain_multiplier);
|
||||
|
||||
if (gain_amount)
|
||||
{
|
||||
@@ -2143,7 +2141,7 @@ void AuraEffect::TriggerSpell(Unit * target, Unit * caster) const
|
||||
case 23493:
|
||||
{
|
||||
int32 heal = caster->CountPctFromMaxHealth(10);
|
||||
caster->DealHeal(target, heal, auraSpellInfo);
|
||||
caster->HealBySpell(target, auraSpellInfo, heal);
|
||||
|
||||
int32 mana = caster->GetMaxPower(POWER_MANA);
|
||||
if (mana)
|
||||
|
||||
Reference in New Issue
Block a user