Buff targeting should be resolved _BEFORE_ the network transaction is initiated.
Currently guy gets blue halo, I press X, there is a delay, sometimes guy is gone and I end up getting attached to a different guy or to a command post.
More commonly, there is a guy on the ground and I am trying to pass him a tube of wake-up-juice, and some other entity steps in front of me and gets a health boost from 99% healthy to 100% healthy.
I understand that there are race conditions in the code, but Cummon!
If the game has given me the blue halo and the button prompt, it _knows_ what I am aiming at already. It doesn't have to consult with the far end _before_ initiating the transaction. If anything it should look _back_ in time about .25 seconds to pick the target of a buff. That's about the human decision, press button, and wireless remote signaling delay.
_After_ the action is resolved 100% locally in the console, and enqueued, _then_ the game should check the validity of the selection and target on the net and execute the action.
Preferably without spinning my character around if its, say "pass ammo" instead of buff health. (Buffing health will animate you stabbing empty air with an injector right after your target runs past you, which is _FAR_ better than refilling ammo, which will spin you around to face the person who ran past you and leave you getting shot from behind while you decorate a wall with Splash Damage?...