|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
06-10-2012, 11:52 PM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
non-melee damage messages
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)
|
|
|
|
|
|
|
06-22-2012, 09:20 PM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
Apparently I missed some things or didn't test that change enough
Code:
Index: attack.cpp
===================================================================
--- attack.cpp (revision 2146)
+++ attack.cpp (working copy)
@@ -3392,7 +3392,7 @@
if(attacker && attacker->IsClient() && (spell_id != SPELL_UNKNOWN) && damage>0) {
char val1[20]={0};
- attacker->Message_StringID(4,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));
}
Death(attacker, damage, spell_id, skill_used);
@@ -3534,7 +3534,10 @@
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));
+ if (FromDamageShield)
+ attacker->Message_StringID(MT_NonMelee,OTHER_HIT_NONMELEE,GetCleanName(),ConvertArray(damage,val1));
+ else
+ 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)
|
|
|
|
|
|
|
06-22-2012, 11:12 PM
|
|
Demi-God
|
|
Join Date: May 2007
Location: b
Posts: 1,447
|
|
Quote:
Originally Posted by demonstar55
Apparently I missed some things or didn't test that change enough
Code:
Index: attack.cpp
===================================================================
--- attack.cpp (revision 2146)
+++ attack.cpp (working copy)
@@ -3392,7 +3392,7 @@
if(attacker && attacker->IsClient() && (spell_id != SPELL_UNKNOWN) && damage>0) {
char val1[20]={0};
- attacker->Message_StringID(4,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));
}
Death(attacker, damage, spell_id, skill_used);
@@ -3534,7 +3534,10 @@
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));
+ if (FromDamageShield)
+ attacker->Message_StringID(MT_NonMelee,OTHER_HIT_NONMELEE,GetCleanName(),ConvertArray(damage,val1));
+ else
+ 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)
|
Committed along with another change to DS Filters, r2147.
|
|
|
|
06-22-2012, 11:45 PM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
Thanks! I also noticed that what live reports for DOTs is different (and UF at least). The Titanium client doesn't have the StringID is 13327 //%1 has taken %2 damage from %3 by %4.
(which is mob, damage, caster, spell)
Not too sure how to proceed since it wouldn't work for Titanium
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 12:54 AM.
|
|
|
|
|
|
|
|
|
|
|
|
|