Impossibly high peak crits

Status
Not open for further replies.
S

solefald

Guest
Non-Validated User
First off I'd like to say thanks to Kalia for making such a slick parser :p

Now, I've noticed a probable bug in the program. After a merit pt, the parser was reporting melee crit highs of 708 and 762, respectively, for the 2 wars in my pt. The other 2 melees had more realistic, and presumably correct, peak crits. I loaded the raw chatlog in wordpad and found that the only 708 and 762 dmgs in the log were Sidewinders from the sam/rng.

This showed when I loaded both the .dvss file and .dvsc file (in dvsparse, not wordpad.) So it would seem that weaponskills are being mistaken for criticals some of the time. Or there could be another calculation error causing this.

Just to double check,I loaded up a parse from a previous meleeburn in the program, and saw that it showed me getting a 702 peak crit. Again I searched through the raw chatlog and found the only 702s were from a couple Asuran Fists that I did.

I can upload the raws somewhere if needed.
 
Possibly a critical hit on the ws?
 
Sure go ahead and upload them (you can attach them directly to a post I think, if you go to the advanced text editor). I have a feeling I know why the bug is happening, but the logs will confirm my suspicion.
 
Ok here they are.
 

Attachments

  • Dumps.zip
    298.4 KB · Views: 20
The reason it's happening is not what I thought it was, working on a fix right now. Here's the problem:

27 - 1/7/2007 8:20:13 PM - 6e,61,74,80ff4cff,00002bde,00003369,0021,00,01,02,00,(1E011E01) - Kurokikaze readies Sidewinder.(7F31)
11 - 1/7/2007 8:20:14 PM - 19,00,00,80ff6864,00002bdf,0000336a,0019,00,01,02,00,(1E011E01) - Caelestis uses Rampage.
27 - 1/7/2007 8:20:14 PM - 19,00,00,80ff6864,00002bdf,0000336b,0035,00,01,02,00,(1E011E01) - The Mamool Ja's Wyvern takes 639 points of damage.(7F31)
11 - 1/7/2007 8:20:15 PM - 0d,00,00,8020a4ff,00002be0,0000336c,0012,00,01,01,00,(1E011E01) - (Xal) I saw that
27 - 1/7/2007 8:20:15 PM - 25,00,00,60686840,00002be1,0000336d,002c,00,01,02,00,(1E011E01) - Caelestis defeats the Mamool Ja's Wyvern.(7F31)
11 - 1/7/2007 8:20:15 PM - 83,00,00,80ffe02c,00002be2,0000336e,0011,00,01,02,00,(1E011E01) - Limit chain #8!
27 - 1/7/2007 8:20:15 PM - 83,00,00,80ffe02c,00002be2,0000336f,0022,00,01,02,00,(1E011E01) - Solefald gains 96 limit points.(7F31)

Notice Sidewinder never lands because Rampage kills the mob. Now the parser is sitting in limbo waiting for a message "The such-and-such takes N points of damage." The very next one it sees is because of another Sidewinder, so the first Sidewinder is considered "complete" and then a second Sidewinder starts waiting. Long story short, this starts off a chain of off-by-one errors, and stuff goes to the wrong place. I'm actually a little curious by how much the parse was off O.O I'll know when I finish implementing the fix, and I can see what the difference is
 
Side note - This is a really weird sequence of chat log message:
11 - 1/7/2007 8:16:54 PM - 19,01,bb,80ff6864,000025ab,00002c26,0020,00,01,02,00,(1E011E01) - Mskitty scores a critical hit!
11 - 1/7/2007 8:16:54 PM - 19,c6,b5,80ff6864,000029a6,000030d4,0020,00,01,02,00,(1E011E01) - Mskitty scores a critical hit!
27 - 1/7/2007 8:16:54 PM - 19,c6,b5,80ff6864,000029a6,000030d5,0033,00,01,02,00,(1E011E01) - The Mamool Ja Stabler takes 99 points of damage.(7F31)

Not sure I've ever seen that happen before.




Anyway, here's the parse before and after the fix. You can compare the damage. Luckily they were very close. Combined with the fact that this bug was pretty isolated in that the only way it would ever happen is if a Weaponskill was started but never finished due to a mob dying, at least I feel confident that parse results up until this fix are still about 99% accurate.

Before the fix (Incorrect Parse):
BeforeFix.jpg


After the fix (Correct Parse):
AfterFix.jpg


I'll start working on putting a fixed build together, but it's a little bit of a manual process, so I may not finish before the time I have to go to work :(
 
The reason it's happening is not what I thought it was, working on a fix right now. Here's the problem:

27 - 1/7/2007 8:20:13 PM - 6e,61,74,80ff4cff,00002bde,00003369,0021,00,01,02,00,(1E011E01) - Kurokikaze readies Sidewinder.(7F31)
11 - 1/7/2007 8:20:14 PM - 19,00,00,80ff6864,00002bdf,0000336a,0019,00,01,02,00,(1E011E01) - Caelestis uses Rampage.
27 - 1/7/2007 8:20:14 PM - 19,00,00,80ff6864,00002bdf,0000336b,0035,00,01,02,00,(1E011E01) - The Mamool Ja's Wyvern takes 639 points of damage.(7F31)
11 - 1/7/2007 8:20:15 PM - 0d,00,00,8020a4ff,00002be0,0000336c,0012,00,01,01,00,(1E011E01) - (Xal) I saw that
27 - 1/7/2007 8:20:15 PM - 25,00,00,60686840,00002be1,0000336d,002c,00,01,02,00,(1E011E01) - Caelestis defeats the Mamool Ja's Wyvern.(7F31)
11 - 1/7/2007 8:20:15 PM - 83,00,00,80ffe02c,00002be2,0000336e,0011,00,01,02,00,(1E011E01) - Limit chain #8!
27 - 1/7/2007 8:20:15 PM - 83,00,00,80ffe02c,00002be2,0000336f,0022,00,01,02,00,(1E011E01) - Solefald gains 96 limit points.(7F31)

Notice Sidewinder never lands because Rampage kills the mob. Now the parser is sitting in limbo waiting for a message "The such-and-such takes N points of damage." The very next one it sees is because of another Sidewinder, so the first Sidewinder is considered "complete" and then a second Sidewinder starts waiting. Long story short, this starts off a chain of off-by-one errors, and stuff goes to the wrong place. I'm actually a little curious by how much the parse was off O.O I'll know when I finish implementing the fix, and I can see what the difference is
Look down a few lines, Sidewinder did land, because Kuro was targeting another mob--
83,00,00,80ffe02c,00002be2,0000336f,0022,00,01,02,00,(1E011E01) - Solefald gains 96 limit points.(7F31)
27 - 1/7/2007 8:20:15 PM - 19,f9,c4,80ff6864,00002be3,00003370,0041,00,01,02,00,(1E011E01) - Kurokikaze hits the Mamool Ja Pikeman for 46 points of damage.(7F31)
27 - 1/7/2007 8:20:15 PM - 19,f9,c4,80ff6864,00002be4,00003371,0041,00,01,02,00,(1E011E01) - Kurokikaze hits the Mamool Ja Pikeman for 45 points of damage.(7F31)
27 - 1/7/2007 8:20:16 PM - 15,a5,b6,80707070,00002be5,00003372,0029,00,01,02,00,(1E011E01) - Solefald misses the Mamool Ja Pikeman.(7F31)
11 - 1/7/2007 8:20:17 PM - 19,00,00,80ff6864,00002be6,00003373,001d,00,01,02,00,(1E011E01) - Kurokikaze uses Sidewinder.
27 - 1/7/2007 8:20:17 PM - 19,00,00,80ff6864,00002be6,00003374,0034,00,01,02,00,(1E011E01) - The Mamool Ja Pikeman takes 740 points of damage.(7F31)



Side note - This is a really weird sequence of chat log message:
11 - 1/7/2007 8:16:54 PM - 19,01,bb,80ff6864,000025ab,00002c26,0020,00,01,02, 00,(1E011E01) - Mskitty scores a critical hit!
11 - 1/7/2007 8:16:54 PM - 19,c6,b5,80ff6864,000029a6,000030d4,0020,00,01,02, 00,(1E011E01) - Mskitty scores a critical hit!
27 - 1/7/2007 8:16:54 PM - 19,c6,b5,80ff6864,000029a6,000030d5,0033,00,01,02, 00,(1E011E01) - The Mamool Ja Stabler takes 99 points of damage.(7F31)

Not sure I've ever seen that happen before.
Ridill + lag probably caused that :I
 
That was a totally separate sidewinder though.

Sidewinder 1 (Didn't land)
27 - 1/7/2007 8:20:13 PM - 6e,61,74,80ff4cff,00002bde,00003369,0021,00,01,02, 00,(1E011E01) - Kurokikaze readies Sidewinder.(7F31)

Sidewinder 2 (Landed)
11 - 1/7/2007 8:20:17 PM - 19,00,00,80ff6864,00002be6,00003373,001d,00,01,02, 00,(1E011E01) - Kurokikaze uses Sidewinder.
27 - 1/7/2007 8:20:17 PM - 19,00,00,80ff6864,00002be6,00003374,0034,00,01,02, 00,(1E011E01) - The Mamool Ja Pikeman takes 740 points of damage.(7F31)

The bolded fields are hexadecimal numbers which you can interpret loosely as a "Message ID". Lines with the same "Message ID" are related to each other. In the case of critical hits and weaponskill, both the "So and so uses Weaponskill" and the "so and so takes N points of damage" message will always have the same Message ID if it was a single attack. In the case of the first Sidewinder (that didn't land), there is no line anywhere in the chat log that has a Message ID of 00002bde and also contains text saying "The mamool ja's wyvern takes N points of damage". That proves the message never occured.

In fact, the way I fixed the bug was when processing these multi-line messages, don't consider two lines as being related to each other unless they have the same Message ID.
 
Does your parser even use the "xxx readies ws" messages for anything? Because "readies ws" and "uses ws" are two different types of events. "Readies" indicates that the player or mob is starting to use the ws, but it can be interrupted by stun, death, etc. "Uses" means the ws has landed and done damage, and the following line shows how much damage it did. Weaponskills show up in the chatlog like this:

Xxx readies ws.
<1-2 seconds delay, usually filled by battle spam>
Xxx uses ws.
Mob takes n points of damage.

Kuro readied Sidewinder on the Pikeman, meanwhile in the battle spam portion of the log, Cael killed the Wyvern with Rampage. Sidewinder didn't miss!

And based on a brief review of the chat dump, I don't think "readies" and "uses" ever have the same message ID. I imagine it'd be best to ignore the "readies" messages altogether, if the program doesn't do that already.

Nevertheless I think you did fix the bug, just not for the reasons stated :p
 
Ehh, in that case not sure what fixed it >.> For some reason I didn't even notice the first message said "readies" instead of "uses". Anyway, I knew the message id change would fix it, i guess the actual source of the error is slightly different though.
 
Status
Not open for further replies.
Back
Top