EOSERV Bug Tracker > Bug #173: NPC drops

Bug #173: NPC drops

NPC drops
ID #173
Submitter Hollows
Product EOSERV
Severity Normal
Status CLOSED, FIXED
Submitted 10th Nov 2012
Updated 17th Nov 2012
Related SVN Revisions
Rev# Date Description
r372 11 Nov 2012 16:02:49 UTC Fix some cases where drops are given no owner (bug #173)
r375 17 Nov 2012 11:24:56 UTC Give the client correct info on who wins a drop (bug #173)
Hollows Submitter 12 years, 5 weeks ago

NPC drops some times seem to freeze. As they can't be picked up by the owner, but they can by other people, once the timer expired.

Comments

Apollo 12 years, 5 weeks ago

There was a fix to one of the FOREACH macros recently, have you applied this?

Hollows Submitter 12 years, 5 weeks ago

I'm pretty sure I did, mind giving me a link of where it was fixed?

Apollo 12 years, 5 weeks ago

Check r366 and r370 fixes or a clean build of r371.

Hollows Submitter 12 years, 5 weeks ago

Hmm, yes I have those. I might as well just replace util.cpp/hpp with the ones from r371. As I never modify those files anyway.

Hollows Submitter 12 years, 5 weeks ago

Patch 366 and 370 didn't fix it.

Sausage Developer 12 years, 5 weeks ago

Since it's "sometimes", it's probably related to the code that picks a drop winner based on the amount of damage they did (ShareMode = 2) being broken by NPC's recovering HP.

There's also a similar bug in ShareMode = 3 which happens due to an off-by-one error.

Updated Status to CONFIRMED

Sausage Developer 12 years, 5 weeks ago

Confirmation that r372 fixes the problem? Also make sure the client isn't screwing up (hitting f12 will kill the client protection and fall back to the server's).

Hollows Submitter 12 years, 5 weeks ago

I'll test it out. Thanks Sausage.

Hollows Submitter 12 years, 5 weeks ago

I´ve tested this on Aureus Online, and many people are still complaining that it doesn´t work.

elevations 12 years, 5 weeks ago

It appears to be a client-sided bug that automatically chucks drop protection on the last hit of the player (sometimes)

Sausage Developer 12 years, 5 weeks ago

I'm definitely leaning towards it just being the good old client bug, since there's not really much room for "sometimes" in EOSERV (except in the case of r372, which I think actually fixed some drops not being protected at all). Usually, for me, it happens with items that people drop on the ground, and I have to hit F12 before it will let me pick them up.

Hollows Submitter 12 years, 5 weeks ago

Yeah ._. Me and ele have been testing those modes for a few hours today, I guess "Last hit takes it all" will do.

Plasmastar 12 years, 5 weeks ago

These items weren't able to be picked up when leaving/entering the map.

elevations 12 years, 5 weeks ago

I believe if found a fix to the bug:

The NPC Drop packet just after the main share 2: share 3: codes etc.

builder.AddShort(from->player->id); // this sets the drop id to the last person that hit the npc rather then the player id that actually got the drop.

builder.AddChar(from->direction); builder.AddShort(this->index);

builder.AddShort(dropuid);

builder.AddShort(dropid);

builder.AddChar(this->x);

builder.AddChar(this->y);

builder.AddInt(dropamount);

builder.AddThree(amount);

Sausage Developer 12 years, 5 weeks ago

Lol, that'd definitely explain why it's always the last person to hit that gets the item. Fortunately that packet is already generated once for every character in range, but unfortunately it's unclear exactly what else that value is used for, which leads to a another problem of EXP sharing, who's shown as leveling up, and if more than one person can...

Fortunately, again, since EOSERV already looks broken here, just putting in the correct drop winner ID isn't really any worse than the current system of always sending off drops to the wrong person.

Hollows Submitter 12 years, 5 weeks ago

We believe this fixed it without any side effects. EXP share also seems just fine.

Sausage Developer 12 years, 4 weeks ago

Fixed... maybe... in r375

Updated Status to CLOSED, FIXED

Add Comment

Please don't post unless you have something relevant to the bug to say.
Do not comment to say "thanks" or "fix this please".

Please log in to add comments. EOSERV Bug Tracker > Bug #173: NPC drops