Sync with L2jServer HighFive Apr 21st 2015.

This commit is contained in:
MobiusDev
2015-04-22 09:59:28 +00:00
parent c896c6cd51
commit 1a6970e30d
37 changed files with 1518 additions and 1298 deletions

View File

@@ -25,6 +25,7 @@ import java.util.logging.Level;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.enums.ItemLocation;
import com.l2jserver.gameserver.idfactory.IdFactory;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
@@ -108,19 +109,10 @@ public class Mail extends ItemContainer
item.setItemLocation(getBaseLocation(), _messageId);
}
/*
* Allow saving of the items without owner
*/
@Override
public void updateDatabase()
{
for (L2ItemInstance item : _items)
{
if (item != null)
{
item.updateDatabase(true);
}
}
_items.forEach(i -> i.updateDatabase(true));
}
@Override
@@ -168,4 +160,17 @@ public class Mail extends ItemContainer
{
return _ownerId;
}
@Override
public void deleteMe()
{
_items.forEach(i ->
{
i.updateDatabase(true);
i.deleteMe();
L2World.getInstance().removeObject(i);
IdFactory.getInstance().releaseId(i.getObjectId());
});
_items.clear();
}
}