1. the packet itself was never being sent.
2. the packet needs to be sent with the value of the spell, not what was actually healed.
Code
Index: Services/WCell.RealmServer/Entities/Unit.cs
===================================================================
--- Services/WCell.RealmServer/Entities/Unit.cs (revision 918)
+++ Services/WCell.RealmServer/Entities/Unit.cs (working copy)
@@ -802,6 +802,7 @@
{
healer = this;
}
+
if (healer is Unit)
{
// TODO: Add Healing boni
@@ -809,13 +810,14 @@
if (value > 0)
{
+ CombatLogHandler.SendHealLog(healer, this, effect != null ? effect.Spell.Id : 0, value, true);
+
if (Health + value > MaxHealth)
{
value = (MaxHealth - Health);
}
Health += value;
- CombatLogHandler.SendHealLog(healer, this, effect != null ? effect.Spell.Id : 0, value, true);
}
OnHeal(healer, effect, value);
Index: Services/WCell.RealmServer/Handlers/CombatLogHandler.cs
===================================================================
--- Services/WCell.RealmServer/Handlers/CombatLogHandler.cs (revision 918)
+++ Services/WCell.RealmServer/Handlers/CombatLogHandler.cs (working copy)
@@ -262,18 +262,17 @@
{
target.EntityId.WritePacked(packet);
caster.EntityId.WritePacked(packet);
+
packet.Write(spellId);
packet.Write(value);
- packet.Write(0); // overheal
+ packet.Write((uint)0); // overheal
packet.Write(critical);
- packet.Write((byte)0);// unused
+ packet.Write((byte)0); // unused
- }
- //target.PushPacketToSurroundingArea(SendSpellLogExecute(caster, spellId, Spells.SpellEffectType.Heal, target, value), true, true);
- }
+ target.SendPacketToArea(packet, true);
+ }
+ }
-
-
/// <summary>
/// Usually caused by jumping too high, diving too long, standing too close to fire etc
/// </summary>