msfraish / projecteqemu

Automatically exported from code.google.com/p/projecteqemu
0 stars 0 forks source link

Looting NoDrop items from PVP corpses #42

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Currently, other Clients can loot NoDrop items from PVP corpses. We need to
add some checks in Corpse::LootItem() in zone/PlayerCorpse.cpp to make sure
the looter is the client if a NoDrop item is going to be looted.

Hard(er) part is checking all of the bags to see if there is a NoDrop item
in one, and if so, don't loot anything from the bag, including the bag itself.

Attached is a diff of what I started.

Original issue reported on code.google.com by AndMetal@gmail.com on 14 Jul 2009 at 7:11

Attachments:

GoogleCodeExporter commented 8 years ago
This is an extremely critical bug if wanting to play with PVP loot on. No 
workaround
has been found.

Original comment by maliburo...@gmail.com on 6 Aug 2009 at 7:12

GoogleCodeExporter commented 8 years ago
Here's an overall idea that you may want to try.

Add a method Corpse::LootItem() to discern if the item being looted is a 
container.

If the item is a container, run a method to check the contents of the container 
being NoDrop. 

If Item is NoDrop, add false boolean flag to container. 

When Corpse::LootItem() runs, make sure it won't loot items with false booleans 
on them.

I don't work in C++, so I'm not going to waste your time hacking up code.

Original comment by brs3...@gmail.com on 10 Dec 2010 at 3:00