Bertram25/mana — comment on commit a2f74e7663d8a2a5687de5e1af87108ebed0282a
File: src/net/manaserv/playerhandler.cpp line 354
By Bertram25:

Manaserv is indeed checking for the range, then checking all the floor objects and checking the position requested before picking up.

Sending the item public id could be a good solution as it would increase the code efficiency for both the client and the server (Yet, I don't know whether floor items have got a public id known by the client atm.)

There are also two ways of thinking about this feature:
1. Use the item id as you suggested, and make the server check the rest. The main drawback I can see is that you can pickup only one item at a time, and cannot, depending on how the client is handling it, pick up items which are below a drop steal protected one, even if the case is not that common.
If we adapt the client to try every items id found on the location when there are more than one, I guess that drawback part is gone.

2. Use the position where to pickup and make the server do the job for everything that's pick-able for you, as I think it was implemented atm.
This is a little heavier for the server maybe, but a little bit less messages are sent when picking up several items at a time.

Even if my will is to quick-fix the pickup feature for manaserv, I'm in favour of the first option, with the client modification proposed. What do you think about it?