Jump to content

[Fix] SendHealSpellLog


Auntie Mangos

Recommended Posts

  • 40 years later...

Firstly i thought its blizzard change that heal criticals are not shown anymore however my friend told me its mangos bug so i checked all possible values and found out blizzard changed SMSG_SPELLHEALLOG a bit

They added new uint32 value for Heal Absorbing (for ecounters like Lord Jaraxxus in Trial of the Crusader)

And as of the add, critical bool moved to last field;

After patch critical heals are properly shown, also absorb value must be handled by effect of SPELL_AURA_301 and similar probably.

diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index a98c79f..3814360 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -9295,14 +9295,14 @@ Unit* Unit::SelectMagnetTarget(Unit *victim, SpellEntry const *spellInfo)
void Unit::SendHealSpellLog(Unit *pVictim, uint32 SpellID, uint32 Damage, uint32 OverHeal, bool critical)
{
    // we guess size
-    WorldPacket data(SMSG_SPELLHEALLOG, (8+8+4+4+1));
+    WorldPacket data(SMSG_SPELLHEALLOG, (8+8+4+4+4+4+1));
    data.append(pVictim->GetPackGUID());
    data.append(GetPackGUID());
    data << uint32(SpellID);
    data << uint32(Damage);
    data << uint32(OverHeal);
+    data << uint32(0); // Absorb handled by SPELL_AURA_301
    data << uint8(critical ? 1 : 0);
-    data << uint8(0);                                       // unused in client?
    SendMessageToSet(&data, true);
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use