EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   zone crashing (https://www.eqemulator.org/forums/showthread.php?t=34371)

sorvani 10-23-2011 03:22 AM

Melee crits not filtering would likely be my fault I've been fixing various other filters that were not working, and did not think i touched that one but i guess i did. I'll go poke at the code and see what I did. I made a lot of message changes in rev 2011 and 2012.
edit: hmm i did add in some changes to use string id's, but it is still a MT_CritMelee.
edit 2: Here is the change. I do not know why it would cause it not to filter unless there is a problem with MessageClose_StringID or something, but I used the same code when I changed pet flurry and enrage and those work.
Code:

===================================================================
--- C:/SVN Files/eqemu/trunk/EQEmuServer/zone/attack.cpp        (revision 2011)
+++ C:/SVN Files/eqemu/trunk/EQEmuServer/zone/attack.cpp        (revision 2012)
@@ -3866,7 +3866,7 @@
                if (MakeRandomInt(0, 99) < critChance) {
                        critMod += GetCritDmgMob(skill) * 2; // To account for base crit mod being 200 not 100
                        damage = (damage * critMod) / 100;
-            entity_list.MessageClose(this, false, 200, MT_CritMelee, "%s scores a critical hit!(%d)", GetCleanName(), damage);
+            entity_list.MessageClose_StringID(this, false, 200, MT_CritMelee, CRITICAL_HIT, GetCleanName(), itoa(damage));
                }
        }
 }


lerxst2112 10-23-2011 04:13 AM

If you look at the top of Client::Message it appears there may be some extra filtering needed that EntityList::QueueCloseClients doesn't do.

sorvani 10-23-2011 04:28 AM

See they way I read that was that it was not filtering to another window properly which would have nothing to do with the filter being set to completely hide it.

Heading home now so I'll be able to tinker with it tomorrow afternoon/evening sometime.

thepoetwarrior 10-23-2011 09:26 AM

Yes, the trade off is worth it. I'm sure the users will figure out how to deal with the crit melee spam (put it in another window), cause not crashing is just so awsome! Thanks again!

sorvani 10-23-2011 11:08 AM

ok just did a quick test to confirm the issue. Criticals do filter correctly to another window, it is simply the filtering to not show at all that fails.

Loooking closer at the code in EntityList::QueueCloseClients it is attempting to use the filters, so must be a problem in that logic someplace.

sorvani 10-23-2011 01:14 PM

should be fixed in r2042

thepoetwarrior 10-24-2011 11:39 PM

Awsome! Downloading and Compiling new source code now. Best stuff ever for EQEMU!


All times are GMT -4. The time now is 09:00 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.