So I remember from playing on live that I was never able to parse spell damage, but when I started playing on live it worked fine, and I was able to see other people's spell damage. This was just the case of using the wrong StringID and not sending to to the entity_list. I can verify that on live it will send it to everyone, including people out of your group, so this behavior is correct. The range might be too large, but I am not sure what it is, I just used the same range that critical blast messages use.
Code:
Index: EQEmuServer/zone/attack.cpp
===================================================================
--- EQEmuServer/zone/attack.cpp (revision 2145)
+++ EQEmuServer/zone/attack.cpp (working copy)
@@ -3534,7 +3534,7 @@
if (((spell_id != SPELL_UNKNOWN)||(FromDamageShield)) && damage>0) {
//special crap for spell damage, looks hackish to me
char val1[20]={0};
- attacker->Message_StringID(MT_NonMelee,OTHER_HIT_NONMELEE,GetCleanName(),ConvertArray(damage,val1));
+ entity_list.MessageClose_StringID(this, false, 100, MT_NonMelee, HIT_NON_MELEE, attacker->GetCleanName(), GetCleanName(),ConvertArray(damage,val1));
} else {
if(damage > 0) {
if(spell_id != SPELL_UNKNOWN)