Inventory related cleanup and improvements.
This commit is contained in:
parent
11411164f7
commit
a1f198218a
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -462,7 +462,7 @@ public class PrimevalIsle extends AbstractNpcAI
|
|||||||
if ((npc.getId() == SAILREN) || (getRandom(100) < 3))
|
if ((npc.getId() == SAILREN) || (getRandom(100) < 3))
|
||||||
{
|
{
|
||||||
final PlayerInstance player = npc.getId() == SAILREN ? getRandomPartyMember(killer) : killer;
|
final PlayerInstance player = npc.getId() == SAILREN ? getRandomPartyMember(killer) : killer;
|
||||||
if (player.getInventory().getSize(false) <= (player.getInventoryLimit() * 0.8))
|
if (player.isInventoryUnder80(false))
|
||||||
{
|
{
|
||||||
giveItems(player, DEINONYCHUS, 1);
|
giveItems(player, DEINONYCHUS, 1);
|
||||||
final ItemInstance summonItem = player.getInventory().getItemByItemId(DEINONYCHUS);
|
final ItemInstance summonItem = player.getInventory().getItemByItemId(DEINONYCHUS);
|
||||||
|
@ -292,9 +292,8 @@ public class Q00350_EnhanceYourWeapon extends Quest
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ItemInstance[] inv = player.getInventory().getItems();
|
|
||||||
SoulCrystal ret = null;
|
SoulCrystal ret = null;
|
||||||
for (ItemInstance item : inv)
|
for (ItemInstance item : player.getInventory().getItems())
|
||||||
{
|
{
|
||||||
final int itemId = item.getId();
|
final int itemId = item.getId();
|
||||||
if (!SOUL_CRYSTALS.containsKey(itemId))
|
if (!SOUL_CRYSTALS.containsKey(itemId))
|
||||||
|
@ -937,6 +937,7 @@
|
|||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="material" val="GOLD" />
|
<set name="material" val="GOLD" />
|
||||||
<set name="price" val="1" />
|
<set name="price" val="1" />
|
||||||
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
</item>
|
</item>
|
||||||
<item id="58" type="Armor" name="Mithril Breastplate">
|
<item id="58" type="Armor" name="Mithril Breastplate">
|
||||||
|
@ -14042,13 +14042,23 @@ public class PlayerInstance extends Playable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test if player inventory is under 90% capaity
|
* Test if player inventory is under 90% capacity
|
||||||
* @param includeQuestInv check also quest inventory
|
* @param includeQuestInv check also quest inventory
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean isInventoryUnder90(boolean includeQuestInv)
|
public boolean isInventoryUnder90(boolean includeQuestInv)
|
||||||
{
|
{
|
||||||
return _inventory.getSize(includeQuestInv) <= (getInventoryLimit() * 0.9);
|
return (_inventory.getSize(item -> !item.isQuestItem() || includeQuestInv) <= (getInventoryLimit() * 0.9));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test if player inventory is under 80% capacity
|
||||||
|
* @param includeQuestInv check also quest inventory
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean isInventoryUnder80(boolean includeQuestInv)
|
||||||
|
{
|
||||||
|
return (_inventory.getSize(item -> !item.isQuestItem() || includeQuestInv) <= (getInventoryLimit() * 0.8));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean havePetInvItems()
|
public boolean havePetInvItems()
|
||||||
|
@ -40,6 +40,10 @@ public class ConditionPlayerInvSize extends Condition
|
|||||||
@Override
|
@Override
|
||||||
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
||||||
{
|
{
|
||||||
return (effector.getActingPlayer() == null) || (effector.getActingPlayer().getInventory().getSize(false) <= (effector.getActingPlayer().getInventoryLimit() - _size));
|
if (effector.getActingPlayer() != null)
|
||||||
|
{
|
||||||
|
return effector.getActingPlayer().getInventory().getSize(i -> !i.isQuestItem()) <= (effector.getActingPlayer().getInventoryLimit() - _size);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,11 +41,11 @@ public class ConditionTargetInvSize extends Condition
|
|||||||
@Override
|
@Override
|
||||||
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
||||||
{
|
{
|
||||||
if ((effected == null) || !effected.isPlayer())
|
if ((effected != null) && effected.isPlayer())
|
||||||
{
|
{
|
||||||
return false;
|
final PlayerInstance target = effected.getActingPlayer();
|
||||||
|
return target.getInventory().getSize(i -> !i.isQuestItem()) <= (target.getInventoryLimit() - _size);
|
||||||
}
|
}
|
||||||
final PlayerInstance target = effected.getActingPlayer();
|
return false;
|
||||||
return target.getInventory().getSize(false) <= (target.getInventoryLimit() - _size);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,8 @@ import java.sql.PreparedStatement;
|
|||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@ -107,7 +109,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
private static final class ChangeRecorder implements PaperdollListener
|
private static final class ChangeRecorder implements PaperdollListener
|
||||||
{
|
{
|
||||||
private final Inventory _inventory;
|
private final Inventory _inventory;
|
||||||
private final List<ItemInstance> _changed;
|
private final Set<ItemInstance> _changed = ConcurrentHashMap.newKeySet();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor of the ChangeRecorder
|
* Constructor of the ChangeRecorder
|
||||||
@ -116,7 +118,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
ChangeRecorder(Inventory inventory)
|
ChangeRecorder(Inventory inventory)
|
||||||
{
|
{
|
||||||
_inventory = inventory;
|
_inventory = inventory;
|
||||||
_changed = new ArrayList<>();
|
|
||||||
_inventory.addPaperdollListener(this);
|
_inventory.addPaperdollListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -129,10 +130,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
@Override
|
@Override
|
||||||
public void notifyEquiped(int slot, ItemInstance item, Inventory inventory)
|
public void notifyEquiped(int slot, ItemInstance item, Inventory inventory)
|
||||||
{
|
{
|
||||||
if (!_changed.contains(item))
|
_changed.add(item);
|
||||||
{
|
|
||||||
_changed.add(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -144,10 +142,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
@Override
|
@Override
|
||||||
public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory)
|
public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory)
|
||||||
{
|
{
|
||||||
if (!_changed.contains(item))
|
_changed.add(item);
|
||||||
{
|
|
||||||
_changed.add(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -180,7 +175,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item.getItemType() == WeaponType.BOW)
|
if (item.getItemType() == WeaponType.BOW)
|
||||||
{
|
{
|
||||||
final ItemInstance arrow = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
final ItemInstance arrow = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||||
|
|
||||||
if (arrow != null)
|
if (arrow != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||||
@ -189,7 +183,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
else if (item.getItemType() == WeaponType.CROSSBOW)
|
else if (item.getItemType() == WeaponType.CROSSBOW)
|
||||||
{
|
{
|
||||||
final ItemInstance bolts = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
final ItemInstance bolts = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||||
|
|
||||||
if (bolts != null)
|
if (bolts != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||||
@ -198,7 +191,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
else if (item.getItemType() == WeaponType.FISHINGROD)
|
else if (item.getItemType() == WeaponType.FISHINGROD)
|
||||||
{
|
{
|
||||||
final ItemInstance lure = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
final ItemInstance lure = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||||
|
|
||||||
if (lure != null)
|
if (lure != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||||
@ -217,7 +209,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item.getItemType() == WeaponType.BOW)
|
if (item.getItemType() == WeaponType.BOW)
|
||||||
{
|
{
|
||||||
final ItemInstance arrow = inventory.findArrowForBow(item.getItem());
|
final ItemInstance arrow = inventory.findArrowForBow(item.getItem());
|
||||||
|
|
||||||
if (arrow != null)
|
if (arrow != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow);
|
||||||
@ -226,7 +217,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
else if (item.getItemType() == WeaponType.CROSSBOW)
|
else if (item.getItemType() == WeaponType.CROSSBOW)
|
||||||
{
|
{
|
||||||
final ItemInstance bolts = inventory.findBoltForCrossBow(item.getItem());
|
final ItemInstance bolts = inventory.findBoltForCrossBow(item.getItem());
|
||||||
|
|
||||||
if (bolts != null)
|
if (bolts != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
|
||||||
@ -273,8 +263,8 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final PlayerInstance player = (PlayerInstance) inventory.getOwner();
|
|
||||||
|
|
||||||
|
final PlayerInstance player = (PlayerInstance) inventory.getOwner();
|
||||||
Skill enchant4Skill;
|
Skill enchant4Skill;
|
||||||
Skill itemSkill;
|
Skill itemSkill;
|
||||||
final Item it = item.getItem();
|
final Item it = item.getItem();
|
||||||
|
@ -19,9 +19,11 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
import java.util.function.Predicate;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@ -45,8 +47,6 @@ public abstract class ItemContainer
|
|||||||
|
|
||||||
protected final List<ItemInstance> _items = new CopyOnWriteArrayList<>();
|
protected final List<ItemInstance> _items = new CopyOnWriteArrayList<>();
|
||||||
|
|
||||||
int _ownerId = 0;
|
|
||||||
|
|
||||||
protected ItemContainer()
|
protected ItemContainer()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -65,12 +65,7 @@ public abstract class ItemContainer
|
|||||||
*/
|
*/
|
||||||
public int getOwnerId()
|
public int getOwnerId()
|
||||||
{
|
{
|
||||||
return getOwner() == null ? _ownerId : getOwner().getObjectId();
|
return getOwner() == null ? 0 : getOwner().getObjectId();
|
||||||
}
|
|
||||||
|
|
||||||
public void setOwnerId(int id)
|
|
||||||
{
|
|
||||||
_ownerId = id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -82,11 +77,27 @@ public abstract class ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the items in inventory
|
* @param filter
|
||||||
|
* @param filters
|
||||||
|
* @return the quantity of items in the inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getItems()
|
@SafeVarargs
|
||||||
|
public final int getSize(Predicate<ItemInstance> filter, Predicate<ItemInstance>... filters)
|
||||||
{
|
{
|
||||||
return _items.toArray(new ItemInstance[_items.size()]);
|
for (Predicate<ItemInstance> additionalFilter : filters)
|
||||||
|
{
|
||||||
|
filter = filter.and(additionalFilter);
|
||||||
|
}
|
||||||
|
return (int) _items.stream().filter(filter).count();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the items in inventory.
|
||||||
|
* @return the items in inventory.
|
||||||
|
*/
|
||||||
|
public Collection<ItemInstance> getItems()
|
||||||
|
{
|
||||||
|
return _items;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +19,8 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.LinkedList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
@ -54,9 +55,6 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
private int[] _blockItems = null;
|
private int[] _blockItems = null;
|
||||||
|
|
||||||
private int _questSlots;
|
|
||||||
|
|
||||||
private final Object _lock;
|
|
||||||
/**
|
/**
|
||||||
* Block modes:
|
* Block modes:
|
||||||
* <UL>
|
* <UL>
|
||||||
@ -70,7 +68,6 @@ public class PlayerInventory extends Inventory
|
|||||||
public PlayerInventory(PlayerInstance owner)
|
public PlayerInventory(PlayerInstance owner)
|
||||||
{
|
{
|
||||||
_owner = owner;
|
_owner = owner;
|
||||||
_lock = new Object();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -118,14 +115,14 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param allowAncientAdena
|
* @param allowAncientAdena
|
||||||
* @return ItemInstance : items in inventory
|
* @return ItemInstance : items in inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena)
|
||||||
{
|
{
|
||||||
return getUniqueItems(allowAdena, allowAncientAdena, true);
|
return getUniqueItems(allowAdena, allowAncientAdena, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
||||||
@ -146,7 +143,7 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -155,14 +152,14 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param allowAncientAdena
|
* @param allowAncientAdena
|
||||||
* @return ItemInstance : items in inventory
|
* @return ItemInstance : items in inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena)
|
public Collection<ItemInstance> getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena)
|
||||||
{
|
{
|
||||||
return getUniqueItemsByEnchantLevel(allowAdena, allowAncientAdena, true);
|
return getUniqueItemsByEnchantLevel(allowAdena, allowAncientAdena, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
||||||
@ -185,14 +182,14 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAllItemsByItemId(int itemId)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId)
|
||||||
{
|
{
|
||||||
return getAllItemsByItemId(itemId, true);
|
return getAllItemsByItemId(itemId, true);
|
||||||
}
|
}
|
||||||
@ -201,11 +198,11 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return List<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public List<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if (item == null)
|
if (item == null)
|
||||||
@ -218,7 +215,7 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -226,7 +223,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param enchantment
|
* @param enchantment
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAllItemsByItemId(int itemId, int enchantment)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment)
|
||||||
{
|
{
|
||||||
return getAllItemsByItemId(itemId, enchantment, true);
|
return getAllItemsByItemId(itemId, enchantment, true);
|
||||||
}
|
}
|
||||||
@ -236,11 +233,11 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return List<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public List<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if (item == null)
|
if (item == null)
|
||||||
@ -253,7 +250,7 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -262,9 +259,9 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param feightable
|
* @param feightable
|
||||||
* @return the list of items in inventory available for transaction
|
* @return the list of items in inventory available for transaction
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable)
|
public Collection<ItemInstance> getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item == null) || !item.isAvailable(_owner, allowAdena, allowNonTradeable) || !canManipulateWithItemId(item.getId()))
|
if ((item == null) || !item.isAvailable(_owner, allowAdena, allowNonTradeable) || !canManipulateWithItemId(item.getId()))
|
||||||
@ -283,16 +280,16 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all augmented items
|
* Get all augmented items
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAugmentedItems()
|
public Collection<ItemInstance> getAugmentedItems()
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item != null) && item.isAugmented())
|
if ((item != null) && item.isAugmented())
|
||||||
@ -300,16 +297,16 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all element items
|
* Get all element items
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getElementItems()
|
public Collection<ItemInstance> getElementItems()
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item != null) && (item.getElementals() != null))
|
if ((item != null) && (item.getElementals() != null))
|
||||||
@ -317,7 +314,7 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -325,9 +322,9 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param tradeList
|
* @param tradeList
|
||||||
* @return ItemInstance : items in inventory
|
* @return ItemInstance : items in inventory
|
||||||
*/
|
*/
|
||||||
public TradeItem[] getAvailableItems(TradeList tradeList)
|
public Collection<TradeItem> getAvailableItems(TradeList tradeList)
|
||||||
{
|
{
|
||||||
final List<TradeItem> list = new LinkedList<>();
|
final List<TradeItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item != null) && item.isAvailable(_owner, false, false))
|
if ((item != null) && item.isAvailable(_owner, false, false))
|
||||||
@ -339,7 +336,7 @@ public class PlayerInventory extends Inventory
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new TradeItem[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -714,18 +711,6 @@ public class PlayerInventory extends Inventory
|
|||||||
_ancientAdena = null;
|
_ancientAdena = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.isQuestItem())
|
|
||||||
{
|
|
||||||
synchronized (_lock)
|
|
||||||
{
|
|
||||||
_questSlots--;
|
|
||||||
if (_questSlots < 0)
|
|
||||||
{
|
|
||||||
_questSlots = 0;
|
|
||||||
LOGGER.warning(this + ": QuestInventory size < 0!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return super.removeItem(item);
|
return super.removeItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -852,7 +837,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public boolean validateCapacity(long slots, boolean questItem)
|
public boolean validateCapacity(long slots, boolean questItem)
|
||||||
{
|
{
|
||||||
return ((slots == 0) && !Config.AUTO_LOOT_SLOT_LIMIT) || questItem ? (_questSlots + slots) <= _owner.getQuestInventoryLimit() : ((_items.size() - _questSlots) + slots) <= _owner.getInventoryLimit();
|
return ((slots == 0) && !Config.AUTO_LOOT_SLOT_LIMIT) || questItem ? (getSize(item -> item.isQuestItem()) + slots) <= _owner.getQuestInventoryLimit() : (getSize(item -> !item.isQuestItem()) + slots) <= _owner.getInventoryLimit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -936,24 +921,6 @@ public class PlayerInventory extends Inventory
|
|||||||
return ((_blockMode != 0) || !CommonUtil.contains(_blockItems, itemId)) && ((_blockMode != 1) || CommonUtil.contains(_blockItems, itemId));
|
return ((_blockMode != 0) || !CommonUtil.contains(_blockItems, itemId)) && ((_blockMode != 1) || CommonUtil.contains(_blockItems, itemId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void addItem(ItemInstance item)
|
|
||||||
{
|
|
||||||
if (item.isQuestItem())
|
|
||||||
{
|
|
||||||
synchronized (_lock)
|
|
||||||
{
|
|
||||||
_questSlots++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
super.addItem(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getSize(boolean quest)
|
|
||||||
{
|
|
||||||
return quest ? _questSlots : getSize() - _questSlots;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.model.multisell;
|
package org.l2jmobius.gameserver.model.multisell;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
@ -50,7 +51,7 @@ public class PreparedListContainer extends ListContainer
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ItemInstance[] items;
|
final Collection<ItemInstance> items;
|
||||||
if (getMaintainEnchantment())
|
if (getMaintainEnchantment())
|
||||||
{
|
{
|
||||||
items = player.getInventory().getUniqueItemsByEnchantLevel(false, false, false);
|
items = player.getInventory().getUniqueItemsByEnchantLevel(false, false, false);
|
||||||
|
@ -300,18 +300,18 @@ public class MultiSellChoose implements IClientIncomingPacket
|
|||||||
if (list.getMaintainEnchantment() || (e.getEnchantLevel() > 0))
|
if (list.getMaintainEnchantment() || (e.getEnchantLevel() > 0))
|
||||||
{
|
{
|
||||||
// loop through this list and remove (one by one) each item until the required amount is taken.
|
// loop through this list and remove (one by one) each item until the required amount is taken.
|
||||||
final ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
|
final List<ItemInstance> inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
|
||||||
for (int i = 0; i < (e.getItemCount() * _amount); i++)
|
for (int i = 0; i < (e.getItemCount() * _amount); i++)
|
||||||
{
|
{
|
||||||
if (inventoryContents[i].isAugmented())
|
if (inventoryContents.get(i).isAugmented())
|
||||||
{
|
{
|
||||||
augmentation.add(inventoryContents[i].getAugmentation());
|
augmentation.add(inventoryContents.get(i).getAugmentation());
|
||||||
}
|
}
|
||||||
if (inventoryContents[i].getElementals() != null)
|
if (inventoryContents.get(i).getElementals() != null)
|
||||||
{
|
{
|
||||||
elemental = inventoryContents[i].getElementals();
|
elemental = inventoryContents.get(i).getElementals();
|
||||||
}
|
}
|
||||||
if (!player.destroyItem("Multisell", inventoryContents[i].getObjectId(), 1, player.getTarget(), true))
|
if (!player.destroyItem("Multisell", inventoryContents.get(i).getObjectId(), 1, player.getTarget(), true))
|
||||||
{
|
{
|
||||||
player.setMultiSell(null);
|
player.setMultiSell(null);
|
||||||
return;
|
return;
|
||||||
@ -358,9 +358,9 @@ public class MultiSellChoose implements IClientIncomingPacket
|
|||||||
// choice 1. Small number of items exchanged. No sorting.
|
// choice 1. Small number of items exchanged. No sorting.
|
||||||
for (int i = 1; i <= (e.getItemCount() * _amount); i++)
|
for (int i = 1; i <= (e.getItemCount() * _amount); i++)
|
||||||
{
|
{
|
||||||
final ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
|
final List<ItemInstance> inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
|
||||||
|
|
||||||
itemToTake = inventoryContents[0];
|
itemToTake = inventoryContents.get(0);
|
||||||
// get item with the LOWEST enchantment level from the inventory...
|
// get item with the LOWEST enchantment level from the inventory...
|
||||||
// +0 is lowest by default...
|
// +0 is lowest by default...
|
||||||
if (itemToTake.getEnchantLevel() > 0)
|
if (itemToTake.getEnchantLevel() > 0)
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.clientpackets;
|
package org.l2jmobius.gameserver.network.clientpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@ -39,7 +41,7 @@ public class RequestPackageSendableItemList implements IClientIncomingPacket
|
|||||||
@Override
|
@Override
|
||||||
public void run(GameClient client)
|
public void run(GameClient client)
|
||||||
{
|
{
|
||||||
final ItemInstance[] items = client.getPlayer().getInventory().getAvailableItems(true, true, true);
|
final Collection<ItemInstance> items = client.getPlayer().getInventory().getAvailableItems(true, true, true);
|
||||||
client.sendPacket(new PackageSendableList(items, _objectID, client.getPlayer().getAdena()));
|
client.sendPacket(new PackageSendableList(items, _objectID, client.getPlayer().getAdena()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,13 +79,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_items == null)
|
if ((_items == null) || !player.hasRefund())
|
||||||
{
|
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!player.hasRefund())
|
|
||||||
{
|
{
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
@ -126,7 +120,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
|||||||
long adena = 0;
|
long adena = 0;
|
||||||
long slots = 0;
|
long slots = 0;
|
||||||
|
|
||||||
final ItemInstance[] refund = player.getRefund().getItems();
|
final ItemInstance[] refund = player.getRefund().getItems().toArray(new ItemInstance[0]);
|
||||||
final int[] objectIds = new int[_items.length];
|
final int[] objectIds = new int[_items.length];
|
||||||
|
|
||||||
for (int i = 0; i < _items.length; i++)
|
for (int i = 0; i < _items.length; i++)
|
||||||
@ -177,21 +171,21 @@ public class RequestRefundItem implements IClientIncomingPacket
|
|||||||
|
|
||||||
if ((weight > Integer.MAX_VALUE) || (weight < 0) || !player.getInventory().validateWeight((int) weight))
|
if ((weight > Integer.MAX_VALUE) || (weight < 0) || !player.getInventory().validateWeight((int) weight))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
|
client.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((slots > Integer.MAX_VALUE) || (slots < 0) || !player.getInventory().validateCapacity((int) slots))
|
if ((slots > Integer.MAX_VALUE) || (slots < 0) || !player.getInventory().validateCapacity((int) slots))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.YOUR_INVENTORY_IS_FULL);
|
client.sendPacket(SystemMessageId.YOUR_INVENTORY_IS_FULL);
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((adena < 0) || !player.reduceAdena("Refund", adena, player.getLastFolkNPC(), false))
|
if ((adena < 0) || !player.reduceAdena("Refund", adena, player.getLastFolkNPC(), false))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
|
client.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -209,7 +203,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
|||||||
// Update current load status on player
|
// Update current load status on player
|
||||||
final StatusUpdate su = new StatusUpdate(player);
|
final StatusUpdate su = new StatusUpdate(player);
|
||||||
su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
|
su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
|
||||||
player.sendPacket(su);
|
client.sendPacket(su);
|
||||||
player.sendPacket(new ExBuySellList(player, buyList, true));
|
client.sendPacket(new ExBuySellList(player, buyList, true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
@ -37,8 +38,8 @@ public class ExBuySellList implements IClientOutgoingPacket
|
|||||||
private final List<Product> _buyList = new ArrayList<>();
|
private final List<Product> _buyList = new ArrayList<>();
|
||||||
private final long _money;
|
private final long _money;
|
||||||
private double _taxRate = 0;
|
private double _taxRate = 0;
|
||||||
private ItemInstance[] _sellList = null;
|
private Collection<ItemInstance> _sellList = null;
|
||||||
private ItemInstance[] _refundList = null;
|
private Collection<ItemInstance> _refundList = null;
|
||||||
private final boolean _done;
|
private final boolean _done;
|
||||||
|
|
||||||
public ExBuySellList(PlayerInstance player, BuyListHolder list, boolean done)
|
public ExBuySellList(PlayerInstance player, BuyListHolder list, boolean done)
|
||||||
@ -53,7 +54,7 @@ public class ExBuySellList implements IClientOutgoingPacket
|
|||||||
}
|
}
|
||||||
_buyList.add(item);
|
_buyList.add(item);
|
||||||
}
|
}
|
||||||
_sellList = player.getInventory().getAvailableItems(true, false, false);
|
_sellList = player.getInventory().getAvailableItems(false, false, false);
|
||||||
if (player.hasRefund())
|
if (player.hasRefund())
|
||||||
{
|
{
|
||||||
_refundList = player.getRefund().getItems();
|
_refundList = player.getRefund().getItems();
|
||||||
@ -132,9 +133,9 @@ public class ExBuySellList implements IClientOutgoingPacket
|
|||||||
packet.writeH(0x00); // Enchant effect 3
|
packet.writeH(0x00); // Enchant effect 3
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((_sellList != null) && (_sellList.length > 0))
|
if ((_sellList != null) && !_sellList.isEmpty())
|
||||||
{
|
{
|
||||||
packet.writeH(_sellList.length);
|
packet.writeH(_sellList.size());
|
||||||
for (ItemInstance item : _sellList)
|
for (ItemInstance item : _sellList)
|
||||||
{
|
{
|
||||||
packet.writeH(item.getItem().getType1());
|
packet.writeH(item.getItem().getType1());
|
||||||
@ -166,9 +167,9 @@ public class ExBuySellList implements IClientOutgoingPacket
|
|||||||
packet.writeH(0x00);
|
packet.writeH(0x00);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((_refundList != null) && (_refundList.length > 0))
|
if ((_refundList != null) && !_refundList.isEmpty())
|
||||||
{
|
{
|
||||||
packet.writeH(_refundList.length);
|
packet.writeH(_refundList.size());
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
for (ItemInstance item : _refundList)
|
for (ItemInstance item : _refundList)
|
||||||
{
|
{
|
||||||
@ -199,6 +200,7 @@ public class ExBuySellList implements IClientOutgoingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
packet.writeC(_done ? 0x01 : 0x00);
|
packet.writeC(_done ? 0x01 : 0x00);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class ExReplyPostItemList implements IClientOutgoingPacket
|
public class ExReplyPostItemList implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
PlayerInstance _player;
|
PlayerInstance _player;
|
||||||
private final ItemInstance[] _itemList;
|
private final Collection<ItemInstance> _itemList;
|
||||||
|
|
||||||
public ExReplyPostItemList(PlayerInstance player)
|
public ExReplyPostItemList(PlayerInstance player)
|
||||||
{
|
{
|
||||||
@ -40,7 +42,7 @@ public class ExReplyPostItemList implements IClientOutgoingPacket
|
|||||||
public boolean write(PacketWriter packet)
|
public boolean write(PacketWriter packet)
|
||||||
{
|
{
|
||||||
OutgoingPackets.EX_REPLY_POST_ITEM_LIST.writeId(packet);
|
OutgoingPackets.EX_REPLY_POST_ITEM_LIST.writeId(packet);
|
||||||
packet.writeD(_itemList.length);
|
packet.writeD(_itemList.size());
|
||||||
for (ItemInstance item : _itemList)
|
for (ItemInstance item : _itemList)
|
||||||
{
|
{
|
||||||
packet.writeD(item.getObjectId());
|
packet.writeD(item.getObjectId());
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.entity.Message;
|
import org.l2jmobius.gameserver.model.entity.Message;
|
||||||
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
||||||
@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class ExReplyReceivedPost implements IClientOutgoingPacket
|
public class ExReplyReceivedPost implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private final Message _msg;
|
private final Message _msg;
|
||||||
private ItemInstance[] _items = null;
|
private Collection<ItemInstance> _items = null;
|
||||||
|
|
||||||
public ExReplyReceivedPost(Message msg)
|
public ExReplyReceivedPost(Message msg)
|
||||||
{
|
{
|
||||||
@ -58,9 +60,9 @@ public class ExReplyReceivedPost implements IClientOutgoingPacket
|
|||||||
packet.writeS(_msg.getSubject());
|
packet.writeS(_msg.getSubject());
|
||||||
packet.writeS(_msg.getContent());
|
packet.writeS(_msg.getContent());
|
||||||
|
|
||||||
if ((_items != null) && (_items.length > 0))
|
if ((_items != null) && !_items.isEmpty())
|
||||||
{
|
{
|
||||||
packet.writeD(_items.length);
|
packet.writeD(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
packet.writeH(item.getItem().getType2());
|
packet.writeH(item.getItem().getType2());
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.entity.Message;
|
import org.l2jmobius.gameserver.model.entity.Message;
|
||||||
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
||||||
@ -29,7 +31,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class ExReplySentPost implements IClientOutgoingPacket
|
public class ExReplySentPost implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private final Message _msg;
|
private final Message _msg;
|
||||||
private ItemInstance[] _items = null;
|
private Collection<ItemInstance> _items = null;
|
||||||
|
|
||||||
public ExReplySentPost(Message msg)
|
public ExReplySentPost(Message msg)
|
||||||
{
|
{
|
||||||
@ -58,9 +60,9 @@ public class ExReplySentPost implements IClientOutgoingPacket
|
|||||||
packet.writeS(_msg.getSubject());
|
packet.writeS(_msg.getSubject());
|
||||||
packet.writeS(_msg.getContent());
|
packet.writeS(_msg.getContent());
|
||||||
|
|
||||||
if ((_items != null) && (_items.length > 0))
|
if ((_items != null) && !_items.isEmpty())
|
||||||
{
|
{
|
||||||
packet.writeD(_items.length);
|
packet.writeD(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
packet.writeH(item.getItem().getType2());
|
packet.writeH(item.getItem().getType2());
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.Weapon;
|
import org.l2jmobius.gameserver.model.items.Weapon;
|
||||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
|
|
||||||
public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
private long _price;
|
private long _price;
|
||||||
|
|
||||||
public ExShowBaseAttributeCancelWindow(PlayerInstance player)
|
public ExShowBaseAttributeCancelWindow(PlayerInstance player)
|
||||||
@ -36,7 +38,7 @@ public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
|||||||
public boolean write(PacketWriter packet)
|
public boolean write(PacketWriter packet)
|
||||||
{
|
{
|
||||||
OutgoingPackets.EX_SHOW_BASE_ATTRIBUTE_CANCEL_WINDOW.writeId(packet);
|
OutgoingPackets.EX_SHOW_BASE_ATTRIBUTE_CANCEL_WINDOW.writeId(packet);
|
||||||
packet.writeD(_items.length);
|
packet.writeD(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
packet.writeD(item.getObjectId());
|
packet.writeD(item.getObjectId());
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
|
|
||||||
public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
private final String _playerName;
|
private final String _playerName;
|
||||||
private final long _money;
|
private final long _money;
|
||||||
|
|
||||||
@ -48,7 +50,7 @@ public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
|||||||
OutgoingPackets.GM_VIEW_WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
OutgoingPackets.GM_VIEW_WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
||||||
packet.writeS(_playerName);
|
packet.writeS(_playerName);
|
||||||
packet.writeQ(_money);
|
packet.writeQ(_money);
|
||||||
packet.writeH(_items.length);
|
packet.writeH(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class ItemList extends AbstractItemPacket
|
public class ItemList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final PlayerInstance _player;
|
private final PlayerInstance _player;
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
private final boolean _showWindow;
|
private final boolean _showWindow;
|
||||||
|
|
||||||
public ItemList(PlayerInstance player, boolean showWindow)
|
public ItemList(PlayerInstance player, boolean showWindow)
|
||||||
@ -39,7 +41,7 @@ public class ItemList extends AbstractItemPacket
|
|||||||
{
|
{
|
||||||
OutgoingPackets.ITEM_LIST.writeId(packet);
|
OutgoingPackets.ITEM_LIST.writeId(packet);
|
||||||
packet.writeH(_showWindow ? 0x01 : 0x00);
|
packet.writeH(_showWindow ? 0x01 : 0x00);
|
||||||
packet.writeH(_items.length);
|
packet.writeH(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
@ -26,11 +28,11 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
*/
|
*/
|
||||||
public class PackageSendableList extends AbstractItemPacket
|
public class PackageSendableList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
private final int _playerObjId;
|
private final int _playerObjId;
|
||||||
private final long _adena;
|
private final long _adena;
|
||||||
|
|
||||||
public PackageSendableList(ItemInstance[] items, int playerObjId, long adena)
|
public PackageSendableList(Collection<ItemInstance> items, int playerObjId, long adena)
|
||||||
{
|
{
|
||||||
_items = items;
|
_items = items;
|
||||||
_playerObjId = playerObjId;
|
_playerObjId = playerObjId;
|
||||||
@ -43,7 +45,7 @@ public class PackageSendableList extends AbstractItemPacket
|
|||||||
OutgoingPackets.PACKAGE_SENDABLE_LIST.writeId(packet);
|
OutgoingPackets.PACKAGE_SENDABLE_LIST.writeId(packet);
|
||||||
packet.writeD(_playerObjId);
|
packet.writeD(_playerObjId);
|
||||||
packet.writeQ(_adena);
|
packet.writeQ(_adena);
|
||||||
packet.writeD(_items.length);
|
packet.writeD(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,24 +16,26 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
|
|
||||||
public class PetItemList extends AbstractItemPacket
|
public class PetItemList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
|
|
||||||
public PetItemList(ItemInstance[] items)
|
public PetItemList(Collection<ItemInstance> collection)
|
||||||
{
|
{
|
||||||
_items = items;
|
_items = collection;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean write(PacketWriter packet)
|
public boolean write(PacketWriter packet)
|
||||||
{
|
{
|
||||||
OutgoingPackets.PET_ITEM_LIST.writeId(packet);
|
OutgoingPackets.PET_ITEM_LIST.writeId(packet);
|
||||||
packet.writeH(_items.length);
|
packet.writeH(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.TradeItem;
|
import org.l2jmobius.gameserver.model.TradeItem;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
@ -26,7 +28,7 @@ public class PrivateStoreManageListBuy implements IClientOutgoingPacket
|
|||||||
{
|
{
|
||||||
private final int _objId;
|
private final int _objId;
|
||||||
private final long _playerAdena;
|
private final long _playerAdena;
|
||||||
private final ItemInstance[] _itemList;
|
private final Collection<ItemInstance> _itemList;
|
||||||
private final TradeItem[] _buyList;
|
private final TradeItem[] _buyList;
|
||||||
|
|
||||||
public PrivateStoreManageListBuy(PlayerInstance player)
|
public PrivateStoreManageListBuy(PlayerInstance player)
|
||||||
@ -46,7 +48,7 @@ public class PrivateStoreManageListBuy implements IClientOutgoingPacket
|
|||||||
packet.writeQ(_playerAdena);
|
packet.writeQ(_playerAdena);
|
||||||
|
|
||||||
// section2
|
// section2
|
||||||
packet.writeD(_itemList.length); // inventory items for potential buy
|
packet.writeD(_itemList.size()); // inventory items for potential buy
|
||||||
for (ItemInstance item : _itemList)
|
for (ItemInstance item : _itemList)
|
||||||
{
|
{
|
||||||
packet.writeD(item.getId());
|
packet.writeD(item.getId());
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.TradeItem;
|
import org.l2jmobius.gameserver.model.TradeItem;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
@ -26,7 +28,7 @@ public class PrivateStoreManageListSell implements IClientOutgoingPacket
|
|||||||
private final int _objId;
|
private final int _objId;
|
||||||
private final long _playerAdena;
|
private final long _playerAdena;
|
||||||
private final boolean _packageSale;
|
private final boolean _packageSale;
|
||||||
private final TradeItem[] _itemList;
|
private final Collection<TradeItem> _itemList;
|
||||||
private final TradeItem[] _sellList;
|
private final TradeItem[] _sellList;
|
||||||
|
|
||||||
public PrivateStoreManageListSell(PlayerInstance player, boolean isPackageSale)
|
public PrivateStoreManageListSell(PlayerInstance player, boolean isPackageSale)
|
||||||
@ -49,7 +51,7 @@ public class PrivateStoreManageListSell implements IClientOutgoingPacket
|
|||||||
packet.writeQ(_playerAdena);
|
packet.writeQ(_playerAdena);
|
||||||
|
|
||||||
// section2
|
// section2
|
||||||
packet.writeD(_itemList.length); // for potential sells
|
packet.writeD(_itemList.size()); // for potential sells
|
||||||
for (TradeItem item : _itemList)
|
for (TradeItem item : _itemList)
|
||||||
{
|
{
|
||||||
packet.writeD(item.getItem().getType2());
|
packet.writeD(item.getItem().getType2());
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -452,13 +453,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* <li>Weapon</li>
|
* <li>Weapon</li>
|
||||||
* <li>Arrow</li>
|
* <li>Arrow</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createWeaponList(ItemInstance[] _items)
|
private List<WarehouseItem> createWeaponList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if (item.isWeapon() || (item.getItem().getType2() == Item.TYPE2_WEAPON) || (item.isEtcItem() && (item.getItemType() == EtcItemType.ARROW)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if (item.isWeapon() || (item.getItem().getType2() == Item.TYPE2_WEAPON) || (item.isEtcItem() && (item.getItemType() == EtcItemType.ARROW)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -479,13 +480,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Armor</li>
|
* <li>Armor</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createArmorList(ItemInstance[] _items)
|
private List<WarehouseItem> createArmorList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if (item.isArmor() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if (item.isArmor() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -506,13 +507,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Everything which is no Weapon/Armor</li>
|
* <li>Everything which is no Weapon/Armor</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createEtcItemList(ItemInstance[] _items)
|
private List<WarehouseItem> createEtcItemList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if (item.isEtcItem() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if (item.isEtcItem() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -533,13 +534,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Materials</li>
|
* <li>Materials</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createMatList(ItemInstance[] _items)
|
private List<WarehouseItem> createMatList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.MATERIAL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.MATERIAL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -560,13 +561,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Recipes</li>
|
* <li>Recipes</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createRecipeList(ItemInstance[] _items)
|
private List<WarehouseItem> createRecipeList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.RECIPE)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.RECIPE)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -587,13 +588,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Amulett</li>
|
* <li>Amulett</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createAmulettList(ItemInstance[] _items)
|
private List<WarehouseItem> createAmulettList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -614,13 +615,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Spellbook & Dwarven Drafts</li>
|
* <li>Spellbook & Dwarven Drafts</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createSpellbookList(ItemInstance[] _items)
|
private List<WarehouseItem> createSpellbookList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (!item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (!item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -641,13 +642,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Consumables (Potions, Shots, ...)</li>
|
* <li>Consumables (Potions, Shots, ...)</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createConsumableList(ItemInstance[] _items)
|
private List<WarehouseItem> createConsumableList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() == EtcItemType.SCROLL) || (item.getEtcItem().getItemType() == EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() == EtcItemType.SCROLL) || (item.getEtcItem().getItemType() == EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -668,13 +669,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Shots</li>
|
* <li>Shots</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createShotList(ItemInstance[] _items)
|
private List<WarehouseItem> createShotList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SHOT)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SHOT)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -695,13 +696,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Scrolls/Potions</li>
|
* <li>Scrolls/Potions</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createScrollList(ItemInstance[] _items)
|
private List<WarehouseItem> createScrollList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SCROLL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SCROLL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -722,13 +723,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Seeds</li>
|
* <li>Seeds</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createSeedList(ItemInstance[] _items)
|
private List<WarehouseItem> createSeedList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SEED)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SEED)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -749,13 +750,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Everything which is no Weapon/Armor, Material, Recipe, Spellbook, Scroll or Shot</li>
|
* <li>Everything which is no Weapon/Armor, Material, Recipe, Spellbook, Scroll or Shot</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createOtherList(ItemInstance[] _items)
|
private List<WarehouseItem> createOtherList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() != EtcItemType.MATERIAL) && (item.getEtcItem().getItemType() != EtcItemType.RECIPE) && (item.getEtcItem().getItemType() != EtcItemType.SCROLL) && (item.getEtcItem().getItemType() != EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() != EtcItemType.MATERIAL) && (item.getEtcItem().getItemType() != EtcItemType.RECIPE) && (item.getEtcItem().getItemType() != EtcItemType.SCROLL) && (item.getEtcItem().getItemType() != EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -775,13 +776,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
/**
|
/**
|
||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>no limit</li> This may sound strange but we return the given Array as a List<L2WarehouseItem>
|
* <li>no limit</li> This may sound strange but we return the given Array as a List<L2WarehouseItem>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createAllList(ItemInstance[] _items)
|
private List<WarehouseItem> createAllList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if (list.size() < MAX_SORT_LIST_ITEMS)
|
if (list.size() < MAX_SORT_LIST_ITEMS)
|
||||||
{
|
{
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.PlayerCondOverride;
|
import org.l2jmobius.gameserver.model.PlayerCondOverride;
|
||||||
@ -26,7 +28,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class TradeStart implements IClientOutgoingPacket
|
public class TradeStart implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private final PlayerInstance _player;
|
private final PlayerInstance _player;
|
||||||
private final ItemInstance[] _itemList;
|
private final Collection<ItemInstance> _itemList;
|
||||||
|
|
||||||
public TradeStart(PlayerInstance player)
|
public TradeStart(PlayerInstance player)
|
||||||
{
|
{
|
||||||
@ -44,7 +46,7 @@ public class TradeStart implements IClientOutgoingPacket
|
|||||||
|
|
||||||
OutgoingPackets.TRADE_START.writeId(packet);
|
OutgoingPackets.TRADE_START.writeId(packet);
|
||||||
packet.writeD(_player.getActiveTradeList().getPartner().getObjectId());
|
packet.writeD(_player.getActiveTradeList().getPartner().getObjectId());
|
||||||
packet.writeH(_itemList.length);
|
packet.writeH(_itemList.size());
|
||||||
for (ItemInstance item : _itemList)
|
for (ItemInstance item : _itemList)
|
||||||
{
|
{
|
||||||
packet.writeH(item.getItem().getType1()); // item type1
|
packet.writeH(item.getItem().getType1()); // item type1
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
@ -28,7 +30,7 @@ public class WareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
public static final int CASTLE = 3; // not sure
|
public static final int CASTLE = 3; // not sure
|
||||||
public static final int FREIGHT = 1;
|
public static final int FREIGHT = 1;
|
||||||
private long _playerAdena;
|
private long _playerAdena;
|
||||||
private ItemInstance[] _items;
|
private Collection<ItemInstance> _items;
|
||||||
/**
|
/**
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>0x01-Private Warehouse</li>
|
* <li>0x01-Private Warehouse</li>
|
||||||
@ -58,7 +60,7 @@ public class WareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
OutgoingPackets.WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
OutgoingPackets.WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
||||||
packet.writeH(_whType);
|
packet.writeH(_whType);
|
||||||
packet.writeQ(_playerAdena);
|
packet.writeQ(_playerAdena);
|
||||||
packet.writeH(_items.length);
|
packet.writeH(_items.size());
|
||||||
|
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
|
@ -462,7 +462,7 @@ public class PrimevalIsle extends AbstractNpcAI
|
|||||||
if ((npc.getId() == SAILREN) || (getRandom(100) < 3))
|
if ((npc.getId() == SAILREN) || (getRandom(100) < 3))
|
||||||
{
|
{
|
||||||
final PlayerInstance player = npc.getId() == SAILREN ? getRandomPartyMember(killer) : killer;
|
final PlayerInstance player = npc.getId() == SAILREN ? getRandomPartyMember(killer) : killer;
|
||||||
if (player.getInventory().getSize(false) <= (player.getInventoryLimit() * 0.8))
|
if (player.isInventoryUnder80(false))
|
||||||
{
|
{
|
||||||
giveItems(player, DEINONYCHUS, 1);
|
giveItems(player, DEINONYCHUS, 1);
|
||||||
final ItemInstance summonItem = player.getInventory().getItemByItemId(DEINONYCHUS);
|
final ItemInstance summonItem = player.getInventory().getItemByItemId(DEINONYCHUS);
|
||||||
|
@ -292,9 +292,8 @@ public class Q00350_EnhanceYourWeapon extends Quest
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ItemInstance[] inv = player.getInventory().getItems();
|
|
||||||
SoulCrystal ret = null;
|
SoulCrystal ret = null;
|
||||||
for (ItemInstance item : inv)
|
for (ItemInstance item : player.getInventory().getItems())
|
||||||
{
|
{
|
||||||
final int itemId = item.getId();
|
final int itemId = item.getId();
|
||||||
if (!SOUL_CRYSTALS.containsKey(itemId))
|
if (!SOUL_CRYSTALS.containsKey(itemId))
|
||||||
|
@ -937,6 +937,7 @@
|
|||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="material" val="GOLD" />
|
<set name="material" val="GOLD" />
|
||||||
<set name="price" val="1" />
|
<set name="price" val="1" />
|
||||||
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
</item>
|
</item>
|
||||||
<item id="58" type="Armor" name="Mithril Breastplate">
|
<item id="58" type="Armor" name="Mithril Breastplate">
|
||||||
|
@ -13930,13 +13930,23 @@ public class PlayerInstance extends Playable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test if player inventory is under 90% capaity
|
* Test if player inventory is under 90% capacity
|
||||||
* @param includeQuestInv check also quest inventory
|
* @param includeQuestInv check also quest inventory
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean isInventoryUnder90(boolean includeQuestInv)
|
public boolean isInventoryUnder90(boolean includeQuestInv)
|
||||||
{
|
{
|
||||||
return _inventory.getSize(includeQuestInv) <= (getInventoryLimit() * 0.9);
|
return (_inventory.getSize(item -> !item.isQuestItem() || includeQuestInv) <= (getInventoryLimit() * 0.9));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test if player inventory is under 80% capacity
|
||||||
|
* @param includeQuestInv check also quest inventory
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean isInventoryUnder80(boolean includeQuestInv)
|
||||||
|
{
|
||||||
|
return (_inventory.getSize(item -> !item.isQuestItem() || includeQuestInv) <= (getInventoryLimit() * 0.8));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean havePetInvItems()
|
public boolean havePetInvItems()
|
||||||
|
@ -40,6 +40,10 @@ public class ConditionPlayerInvSize extends Condition
|
|||||||
@Override
|
@Override
|
||||||
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
||||||
{
|
{
|
||||||
return (effector.getActingPlayer() == null) || (effector.getActingPlayer().getInventory().getSize(false) <= (effector.getActingPlayer().getInventoryLimit() - _size));
|
if (effector.getActingPlayer() != null)
|
||||||
|
{
|
||||||
|
return effector.getActingPlayer().getInventory().getSize(i -> !i.isQuestItem()) <= (effector.getActingPlayer().getInventoryLimit() - _size);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,11 +41,11 @@ public class ConditionTargetInvSize extends Condition
|
|||||||
@Override
|
@Override
|
||||||
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
||||||
{
|
{
|
||||||
if ((effected == null) || !effected.isPlayer())
|
if ((effected != null) && effected.isPlayer())
|
||||||
{
|
{
|
||||||
return false;
|
final PlayerInstance target = effected.getActingPlayer();
|
||||||
|
return target.getInventory().getSize(i -> !i.isQuestItem()) <= (target.getInventoryLimit() - _size);
|
||||||
}
|
}
|
||||||
final PlayerInstance target = effected.getActingPlayer();
|
return false;
|
||||||
return target.getInventory().getSize(false) <= (target.getInventoryLimit() - _size);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,8 @@ import java.sql.PreparedStatement;
|
|||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@ -107,7 +109,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
private static final class ChangeRecorder implements PaperdollListener
|
private static final class ChangeRecorder implements PaperdollListener
|
||||||
{
|
{
|
||||||
private final Inventory _inventory;
|
private final Inventory _inventory;
|
||||||
private final List<ItemInstance> _changed;
|
private final Set<ItemInstance> _changed = ConcurrentHashMap.newKeySet();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor of the ChangeRecorder
|
* Constructor of the ChangeRecorder
|
||||||
@ -116,7 +118,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
ChangeRecorder(Inventory inventory)
|
ChangeRecorder(Inventory inventory)
|
||||||
{
|
{
|
||||||
_inventory = inventory;
|
_inventory = inventory;
|
||||||
_changed = new ArrayList<>();
|
|
||||||
_inventory.addPaperdollListener(this);
|
_inventory.addPaperdollListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -129,10 +130,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
@Override
|
@Override
|
||||||
public void notifyEquiped(int slot, ItemInstance item, Inventory inventory)
|
public void notifyEquiped(int slot, ItemInstance item, Inventory inventory)
|
||||||
{
|
{
|
||||||
if (!_changed.contains(item))
|
_changed.add(item);
|
||||||
{
|
|
||||||
_changed.add(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -144,10 +142,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
@Override
|
@Override
|
||||||
public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory)
|
public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory)
|
||||||
{
|
{
|
||||||
if (!_changed.contains(item))
|
_changed.add(item);
|
||||||
{
|
|
||||||
_changed.add(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -180,7 +175,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item.getItemType() == WeaponType.BOW)
|
if (item.getItemType() == WeaponType.BOW)
|
||||||
{
|
{
|
||||||
final ItemInstance arrow = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
final ItemInstance arrow = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||||
|
|
||||||
if (arrow != null)
|
if (arrow != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||||
@ -189,7 +183,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
else if (item.getItemType() == WeaponType.CROSSBOW)
|
else if (item.getItemType() == WeaponType.CROSSBOW)
|
||||||
{
|
{
|
||||||
final ItemInstance bolts = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
final ItemInstance bolts = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||||
|
|
||||||
if (bolts != null)
|
if (bolts != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||||
@ -198,7 +191,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
else if (item.getItemType() == WeaponType.FISHINGROD)
|
else if (item.getItemType() == WeaponType.FISHINGROD)
|
||||||
{
|
{
|
||||||
final ItemInstance lure = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
final ItemInstance lure = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||||
|
|
||||||
if (lure != null)
|
if (lure != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||||
@ -217,7 +209,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item.getItemType() == WeaponType.BOW)
|
if (item.getItemType() == WeaponType.BOW)
|
||||||
{
|
{
|
||||||
final ItemInstance arrow = inventory.findArrowForBow(item.getItem());
|
final ItemInstance arrow = inventory.findArrowForBow(item.getItem());
|
||||||
|
|
||||||
if (arrow != null)
|
if (arrow != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow);
|
||||||
@ -226,7 +217,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
else if (item.getItemType() == WeaponType.CROSSBOW)
|
else if (item.getItemType() == WeaponType.CROSSBOW)
|
||||||
{
|
{
|
||||||
final ItemInstance bolts = inventory.findBoltForCrossBow(item.getItem());
|
final ItemInstance bolts = inventory.findBoltForCrossBow(item.getItem());
|
||||||
|
|
||||||
if (bolts != null)
|
if (bolts != null)
|
||||||
{
|
{
|
||||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
|
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
|
||||||
@ -273,8 +263,8 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final PlayerInstance player = (PlayerInstance) inventory.getOwner();
|
|
||||||
|
|
||||||
|
final PlayerInstance player = (PlayerInstance) inventory.getOwner();
|
||||||
Skill enchant4Skill;
|
Skill enchant4Skill;
|
||||||
Skill itemSkill;
|
Skill itemSkill;
|
||||||
final Item it = item.getItem();
|
final Item it = item.getItem();
|
||||||
|
@ -19,9 +19,11 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
import java.util.function.Predicate;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@ -45,8 +47,6 @@ public abstract class ItemContainer
|
|||||||
|
|
||||||
protected final List<ItemInstance> _items = new CopyOnWriteArrayList<>();
|
protected final List<ItemInstance> _items = new CopyOnWriteArrayList<>();
|
||||||
|
|
||||||
int _ownerId = 0;
|
|
||||||
|
|
||||||
protected ItemContainer()
|
protected ItemContainer()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -65,12 +65,7 @@ public abstract class ItemContainer
|
|||||||
*/
|
*/
|
||||||
public int getOwnerId()
|
public int getOwnerId()
|
||||||
{
|
{
|
||||||
return getOwner() == null ? _ownerId : getOwner().getObjectId();
|
return getOwner() == null ? 0 : getOwner().getObjectId();
|
||||||
}
|
|
||||||
|
|
||||||
public void setOwnerId(int id)
|
|
||||||
{
|
|
||||||
_ownerId = id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -82,11 +77,27 @@ public abstract class ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the items in inventory
|
* @param filter
|
||||||
|
* @param filters
|
||||||
|
* @return the quantity of items in the inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getItems()
|
@SafeVarargs
|
||||||
|
public final int getSize(Predicate<ItemInstance> filter, Predicate<ItemInstance>... filters)
|
||||||
{
|
{
|
||||||
return _items.toArray(new ItemInstance[_items.size()]);
|
for (Predicate<ItemInstance> additionalFilter : filters)
|
||||||
|
{
|
||||||
|
filter = filter.and(additionalFilter);
|
||||||
|
}
|
||||||
|
return (int) _items.stream().filter(filter).count();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the items in inventory.
|
||||||
|
* @return the items in inventory.
|
||||||
|
*/
|
||||||
|
public Collection<ItemInstance> getItems()
|
||||||
|
{
|
||||||
|
return _items;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +19,8 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.LinkedList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
@ -54,9 +55,6 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
private int[] _blockItems = null;
|
private int[] _blockItems = null;
|
||||||
|
|
||||||
private int _questSlots;
|
|
||||||
|
|
||||||
private final Object _lock;
|
|
||||||
/**
|
/**
|
||||||
* Block modes:
|
* Block modes:
|
||||||
* <UL>
|
* <UL>
|
||||||
@ -70,7 +68,6 @@ public class PlayerInventory extends Inventory
|
|||||||
public PlayerInventory(PlayerInstance owner)
|
public PlayerInventory(PlayerInstance owner)
|
||||||
{
|
{
|
||||||
_owner = owner;
|
_owner = owner;
|
||||||
_lock = new Object();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -118,14 +115,14 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param allowAncientAdena
|
* @param allowAncientAdena
|
||||||
* @return ItemInstance : items in inventory
|
* @return ItemInstance : items in inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena)
|
||||||
{
|
{
|
||||||
return getUniqueItems(allowAdena, allowAncientAdena, true);
|
return getUniqueItems(allowAdena, allowAncientAdena, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
||||||
@ -146,7 +143,7 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -155,14 +152,14 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param allowAncientAdena
|
* @param allowAncientAdena
|
||||||
* @return ItemInstance : items in inventory
|
* @return ItemInstance : items in inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena)
|
public Collection<ItemInstance> getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena)
|
||||||
{
|
{
|
||||||
return getUniqueItemsByEnchantLevel(allowAdena, allowAncientAdena, true);
|
return getUniqueItemsByEnchantLevel(allowAdena, allowAncientAdena, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
||||||
@ -185,14 +182,14 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAllItemsByItemId(int itemId)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId)
|
||||||
{
|
{
|
||||||
return getAllItemsByItemId(itemId, true);
|
return getAllItemsByItemId(itemId, true);
|
||||||
}
|
}
|
||||||
@ -201,11 +198,11 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return List<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public List<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if (item == null)
|
if (item == null)
|
||||||
@ -218,7 +215,7 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -226,7 +223,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param enchantment
|
* @param enchantment
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAllItemsByItemId(int itemId, int enchantment)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment)
|
||||||
{
|
{
|
||||||
return getAllItemsByItemId(itemId, enchantment, true);
|
return getAllItemsByItemId(itemId, enchantment, true);
|
||||||
}
|
}
|
||||||
@ -236,11 +233,11 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return List<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public List<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if (item == null)
|
if (item == null)
|
||||||
@ -253,7 +250,7 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -262,9 +259,9 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param feightable
|
* @param feightable
|
||||||
* @return the list of items in inventory available for transaction
|
* @return the list of items in inventory available for transaction
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable)
|
public Collection<ItemInstance> getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable)
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item == null) || !item.isAvailable(_owner, allowAdena, allowNonTradeable) || !canManipulateWithItemId(item.getId()))
|
if ((item == null) || !item.isAvailable(_owner, allowAdena, allowNonTradeable) || !canManipulateWithItemId(item.getId()))
|
||||||
@ -283,16 +280,16 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all augmented items
|
* Get all augmented items
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getAugmentedItems()
|
public Collection<ItemInstance> getAugmentedItems()
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item != null) && item.isAugmented())
|
if ((item != null) && item.isAugmented())
|
||||||
@ -300,16 +297,16 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all element items
|
* Get all element items
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ItemInstance[] getElementItems()
|
public Collection<ItemInstance> getElementItems()
|
||||||
{
|
{
|
||||||
final List<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item != null) && (item.getElementals() != null))
|
if ((item != null) && (item.getElementals() != null))
|
||||||
@ -317,7 +314,7 @@ public class PlayerInventory extends Inventory
|
|||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new ItemInstance[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -325,9 +322,9 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param tradeList
|
* @param tradeList
|
||||||
* @return ItemInstance : items in inventory
|
* @return ItemInstance : items in inventory
|
||||||
*/
|
*/
|
||||||
public TradeItem[] getAvailableItems(TradeList tradeList)
|
public Collection<TradeItem> getAvailableItems(TradeList tradeList)
|
||||||
{
|
{
|
||||||
final List<TradeItem> list = new LinkedList<>();
|
final List<TradeItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
if ((item != null) && item.isAvailable(_owner, false, false))
|
if ((item != null) && item.isAvailable(_owner, false, false))
|
||||||
@ -339,7 +336,7 @@ public class PlayerInventory extends Inventory
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return list.toArray(new TradeItem[list.size()]);
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -714,18 +711,6 @@ public class PlayerInventory extends Inventory
|
|||||||
_ancientAdena = null;
|
_ancientAdena = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.isQuestItem())
|
|
||||||
{
|
|
||||||
synchronized (_lock)
|
|
||||||
{
|
|
||||||
_questSlots--;
|
|
||||||
if (_questSlots < 0)
|
|
||||||
{
|
|
||||||
_questSlots = 0;
|
|
||||||
LOGGER.warning(this + ": QuestInventory size < 0!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return super.removeItem(item);
|
return super.removeItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -852,7 +837,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public boolean validateCapacity(long slots, boolean questItem)
|
public boolean validateCapacity(long slots, boolean questItem)
|
||||||
{
|
{
|
||||||
return ((slots == 0) && !Config.AUTO_LOOT_SLOT_LIMIT) || questItem ? (_questSlots + slots) <= _owner.getQuestInventoryLimit() : ((_items.size() - _questSlots) + slots) <= _owner.getInventoryLimit();
|
return ((slots == 0) && !Config.AUTO_LOOT_SLOT_LIMIT) || questItem ? (getSize(item -> item.isQuestItem()) + slots) <= _owner.getQuestInventoryLimit() : (getSize(item -> !item.isQuestItem()) + slots) <= _owner.getInventoryLimit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -936,24 +921,6 @@ public class PlayerInventory extends Inventory
|
|||||||
return ((_blockMode != 0) || !CommonUtil.contains(_blockItems, itemId)) && ((_blockMode != 1) || CommonUtil.contains(_blockItems, itemId));
|
return ((_blockMode != 0) || !CommonUtil.contains(_blockItems, itemId)) && ((_blockMode != 1) || CommonUtil.contains(_blockItems, itemId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void addItem(ItemInstance item)
|
|
||||||
{
|
|
||||||
if (item.isQuestItem())
|
|
||||||
{
|
|
||||||
synchronized (_lock)
|
|
||||||
{
|
|
||||||
_questSlots++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
super.addItem(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getSize(boolean quest)
|
|
||||||
{
|
|
||||||
return quest ? _questSlots : getSize() - _questSlots;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.model.multisell;
|
package org.l2jmobius.gameserver.model.multisell;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
@ -50,7 +51,7 @@ public class PreparedListContainer extends ListContainer
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ItemInstance[] items;
|
final Collection<ItemInstance> items;
|
||||||
if (getMaintainEnchantment())
|
if (getMaintainEnchantment())
|
||||||
{
|
{
|
||||||
items = player.getInventory().getUniqueItemsByEnchantLevel(false, false, false);
|
items = player.getInventory().getUniqueItemsByEnchantLevel(false, false, false);
|
||||||
|
@ -300,18 +300,18 @@ public class MultiSellChoose implements IClientIncomingPacket
|
|||||||
if (list.getMaintainEnchantment() || (e.getEnchantLevel() > 0))
|
if (list.getMaintainEnchantment() || (e.getEnchantLevel() > 0))
|
||||||
{
|
{
|
||||||
// loop through this list and remove (one by one) each item until the required amount is taken.
|
// loop through this list and remove (one by one) each item until the required amount is taken.
|
||||||
final ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
|
final List<ItemInstance> inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
|
||||||
for (int i = 0; i < (e.getItemCount() * _amount); i++)
|
for (int i = 0; i < (e.getItemCount() * _amount); i++)
|
||||||
{
|
{
|
||||||
if (inventoryContents[i].isAugmented())
|
if (inventoryContents.get(i).isAugmented())
|
||||||
{
|
{
|
||||||
augmentation.add(inventoryContents[i].getAugmentation());
|
augmentation.add(inventoryContents.get(i).getAugmentation());
|
||||||
}
|
}
|
||||||
if (inventoryContents[i].getElementals() != null)
|
if (inventoryContents.get(i).getElementals() != null)
|
||||||
{
|
{
|
||||||
elemental = inventoryContents[i].getElementals();
|
elemental = inventoryContents.get(i).getElementals();
|
||||||
}
|
}
|
||||||
if (!player.destroyItem("Multisell", inventoryContents[i].getObjectId(), 1, player.getTarget(), true))
|
if (!player.destroyItem("Multisell", inventoryContents.get(i).getObjectId(), 1, player.getTarget(), true))
|
||||||
{
|
{
|
||||||
player.setMultiSell(null);
|
player.setMultiSell(null);
|
||||||
return;
|
return;
|
||||||
@ -358,9 +358,9 @@ public class MultiSellChoose implements IClientIncomingPacket
|
|||||||
// choice 1. Small number of items exchanged. No sorting.
|
// choice 1. Small number of items exchanged. No sorting.
|
||||||
for (int i = 1; i <= (e.getItemCount() * _amount); i++)
|
for (int i = 1; i <= (e.getItemCount() * _amount); i++)
|
||||||
{
|
{
|
||||||
final ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
|
final List<ItemInstance> inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
|
||||||
|
|
||||||
itemToTake = inventoryContents[0];
|
itemToTake = inventoryContents.get(0);
|
||||||
// get item with the LOWEST enchantment level from the inventory...
|
// get item with the LOWEST enchantment level from the inventory...
|
||||||
// +0 is lowest by default...
|
// +0 is lowest by default...
|
||||||
if (itemToTake.getEnchantLevel() > 0)
|
if (itemToTake.getEnchantLevel() > 0)
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.clientpackets;
|
package org.l2jmobius.gameserver.network.clientpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@ -39,7 +41,7 @@ public class RequestPackageSendableItemList implements IClientIncomingPacket
|
|||||||
@Override
|
@Override
|
||||||
public void run(GameClient client)
|
public void run(GameClient client)
|
||||||
{
|
{
|
||||||
final ItemInstance[] items = client.getPlayer().getInventory().getAvailableItems(true, true, true);
|
final Collection<ItemInstance> items = client.getPlayer().getInventory().getAvailableItems(true, true, true);
|
||||||
client.sendPacket(new PackageSendableList(items, _objectID, client.getPlayer().getAdena()));
|
client.sendPacket(new PackageSendableList(items, _objectID, client.getPlayer().getAdena()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,13 +79,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_items == null)
|
if ((_items == null) || !player.hasRefund())
|
||||||
{
|
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!player.hasRefund())
|
|
||||||
{
|
{
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
@ -126,7 +120,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
|||||||
long adena = 0;
|
long adena = 0;
|
||||||
long slots = 0;
|
long slots = 0;
|
||||||
|
|
||||||
final ItemInstance[] refund = player.getRefund().getItems();
|
final ItemInstance[] refund = player.getRefund().getItems().toArray(new ItemInstance[0]);
|
||||||
final int[] objectIds = new int[_items.length];
|
final int[] objectIds = new int[_items.length];
|
||||||
|
|
||||||
for (int i = 0; i < _items.length; i++)
|
for (int i = 0; i < _items.length; i++)
|
||||||
@ -177,21 +171,21 @@ public class RequestRefundItem implements IClientIncomingPacket
|
|||||||
|
|
||||||
if ((weight > Integer.MAX_VALUE) || (weight < 0) || !player.getInventory().validateWeight((int) weight))
|
if ((weight > Integer.MAX_VALUE) || (weight < 0) || !player.getInventory().validateWeight((int) weight))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
|
client.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((slots > Integer.MAX_VALUE) || (slots < 0) || !player.getInventory().validateCapacity((int) slots))
|
if ((slots > Integer.MAX_VALUE) || (slots < 0) || !player.getInventory().validateCapacity((int) slots))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.YOUR_INVENTORY_IS_FULL);
|
client.sendPacket(SystemMessageId.YOUR_INVENTORY_IS_FULL);
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((adena < 0) || !player.reduceAdena("Refund", adena, player.getLastFolkNPC(), false))
|
if ((adena < 0) || !player.reduceAdena("Refund", adena, player.getLastFolkNPC(), false))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
|
client.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
|
||||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -209,7 +203,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
|||||||
// Update current load status on player
|
// Update current load status on player
|
||||||
final StatusUpdate su = new StatusUpdate(player);
|
final StatusUpdate su = new StatusUpdate(player);
|
||||||
su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
|
su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
|
||||||
player.sendPacket(su);
|
client.sendPacket(su);
|
||||||
player.sendPacket(new ExBuySellList(player, true));
|
client.sendPacket(new ExBuySellList(player, true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
@ -26,8 +28,8 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
*/
|
*/
|
||||||
public class ExBuySellList extends AbstractItemPacket
|
public class ExBuySellList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private ItemInstance[] _sellList = null;
|
private Collection<ItemInstance> _sellList = null;
|
||||||
private ItemInstance[] _refundList = null;
|
private Collection<ItemInstance> _refundList = null;
|
||||||
private final boolean _done;
|
private final boolean _done;
|
||||||
|
|
||||||
public ExBuySellList(PlayerInstance player, boolean done)
|
public ExBuySellList(PlayerInstance player, boolean done)
|
||||||
@ -48,7 +50,7 @@ public class ExBuySellList extends AbstractItemPacket
|
|||||||
|
|
||||||
if ((_sellList != null))
|
if ((_sellList != null))
|
||||||
{
|
{
|
||||||
packet.writeH(_sellList.length);
|
packet.writeH(_sellList.size());
|
||||||
for (ItemInstance item : _sellList)
|
for (ItemInstance item : _sellList)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
@ -60,9 +62,9 @@ public class ExBuySellList extends AbstractItemPacket
|
|||||||
packet.writeH(0x00);
|
packet.writeH(0x00);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((_refundList != null) && (_refundList.length > 0))
|
if ((_refundList != null) && (!_refundList.isEmpty()))
|
||||||
{
|
{
|
||||||
packet.writeH(_refundList.length);
|
packet.writeH(_refundList.size());
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (ItemInstance item : _refundList)
|
for (ItemInstance item : _refundList)
|
||||||
{
|
{
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class ExReplyPostItemList extends AbstractItemPacket
|
public class ExReplyPostItemList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
PlayerInstance _player;
|
PlayerInstance _player;
|
||||||
private final ItemInstance[] _itemList;
|
private final Collection<ItemInstance> _itemList;
|
||||||
|
|
||||||
public ExReplyPostItemList(PlayerInstance player)
|
public ExReplyPostItemList(PlayerInstance player)
|
||||||
{
|
{
|
||||||
@ -40,7 +42,7 @@ public class ExReplyPostItemList extends AbstractItemPacket
|
|||||||
public boolean write(PacketWriter packet)
|
public boolean write(PacketWriter packet)
|
||||||
{
|
{
|
||||||
OutgoingPackets.EX_REPLY_POST_ITEM_LIST.writeId(packet);
|
OutgoingPackets.EX_REPLY_POST_ITEM_LIST.writeId(packet);
|
||||||
packet.writeD(_itemList.length);
|
packet.writeD(_itemList.size());
|
||||||
for (ItemInstance item : _itemList)
|
for (ItemInstance item : _itemList)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.entity.Message;
|
import org.l2jmobius.gameserver.model.entity.Message;
|
||||||
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
||||||
@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class ExReplyReceivedPost extends AbstractItemPacket
|
public class ExReplyReceivedPost extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final Message _msg;
|
private final Message _msg;
|
||||||
private ItemInstance[] _items = null;
|
private Collection<ItemInstance> _items = null;
|
||||||
|
|
||||||
public ExReplyReceivedPost(Message msg)
|
public ExReplyReceivedPost(Message msg)
|
||||||
{
|
{
|
||||||
@ -58,9 +60,9 @@ public class ExReplyReceivedPost extends AbstractItemPacket
|
|||||||
packet.writeS(_msg.getSubject());
|
packet.writeS(_msg.getSubject());
|
||||||
packet.writeS(_msg.getContent());
|
packet.writeS(_msg.getContent());
|
||||||
|
|
||||||
if ((_items != null) && (_items.length > 0))
|
if ((_items != null) && !_items.isEmpty())
|
||||||
{
|
{
|
||||||
packet.writeD(_items.length);
|
packet.writeD(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.entity.Message;
|
import org.l2jmobius.gameserver.model.entity.Message;
|
||||||
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
||||||
@ -29,7 +31,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class ExReplySentPost extends AbstractItemPacket
|
public class ExReplySentPost extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final Message _msg;
|
private final Message _msg;
|
||||||
private ItemInstance[] _items = null;
|
private Collection<ItemInstance> _items = null;
|
||||||
|
|
||||||
public ExReplySentPost(Message msg)
|
public ExReplySentPost(Message msg)
|
||||||
{
|
{
|
||||||
@ -58,9 +60,9 @@ public class ExReplySentPost extends AbstractItemPacket
|
|||||||
packet.writeS(_msg.getSubject());
|
packet.writeS(_msg.getSubject());
|
||||||
packet.writeS(_msg.getContent());
|
packet.writeS(_msg.getContent());
|
||||||
|
|
||||||
if ((_items != null) && (_items.length > 0))
|
if ((_items != null) && !_items.isEmpty())
|
||||||
{
|
{
|
||||||
packet.writeD(_items.length);
|
packet.writeD(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.Weapon;
|
import org.l2jmobius.gameserver.model.items.Weapon;
|
||||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
|
|
||||||
public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
private long _price;
|
private long _price;
|
||||||
|
|
||||||
public ExShowBaseAttributeCancelWindow(PlayerInstance player)
|
public ExShowBaseAttributeCancelWindow(PlayerInstance player)
|
||||||
@ -36,7 +38,7 @@ public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
|||||||
public boolean write(PacketWriter packet)
|
public boolean write(PacketWriter packet)
|
||||||
{
|
{
|
||||||
OutgoingPackets.EX_SHOW_BASE_ATTRIBUTE_CANCEL_WINDOW.writeId(packet);
|
OutgoingPackets.EX_SHOW_BASE_ATTRIBUTE_CANCEL_WINDOW.writeId(packet);
|
||||||
packet.writeD(_items.length);
|
packet.writeD(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
packet.writeD(item.getObjectId());
|
packet.writeD(item.getObjectId());
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
|
|
||||||
public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
private final String _playerName;
|
private final String _playerName;
|
||||||
private final long _money;
|
private final long _money;
|
||||||
|
|
||||||
@ -48,7 +50,7 @@ public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
|||||||
OutgoingPackets.GM_VIEW_WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
OutgoingPackets.GM_VIEW_WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
||||||
packet.writeS(_playerName);
|
packet.writeS(_playerName);
|
||||||
packet.writeQ(_money);
|
packet.writeQ(_money);
|
||||||
packet.writeH(_items.length);
|
packet.writeH(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
@ -26,11 +28,11 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
*/
|
*/
|
||||||
public class PackageSendableList extends AbstractItemPacket
|
public class PackageSendableList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
private final int _playerObjId;
|
private final int _playerObjId;
|
||||||
private final long _adena;
|
private final long _adena;
|
||||||
|
|
||||||
public PackageSendableList(ItemInstance[] items, int playerObjId, long adena)
|
public PackageSendableList(Collection<ItemInstance> items, int playerObjId, long adena)
|
||||||
{
|
{
|
||||||
_items = items;
|
_items = items;
|
||||||
_playerObjId = playerObjId;
|
_playerObjId = playerObjId;
|
||||||
@ -43,7 +45,7 @@ public class PackageSendableList extends AbstractItemPacket
|
|||||||
OutgoingPackets.PACKAGE_SENDABLE_LIST.writeId(packet);
|
OutgoingPackets.PACKAGE_SENDABLE_LIST.writeId(packet);
|
||||||
packet.writeD(_playerObjId);
|
packet.writeD(_playerObjId);
|
||||||
packet.writeQ(_adena);
|
packet.writeQ(_adena);
|
||||||
packet.writeD(_items.length);
|
packet.writeD(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,24 +16,26 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
|
|
||||||
public class PetItemList extends AbstractItemPacket
|
public class PetItemList extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final ItemInstance[] _items;
|
private final Collection<ItemInstance> _items;
|
||||||
|
|
||||||
public PetItemList(ItemInstance[] items)
|
public PetItemList(Collection<ItemInstance> collection)
|
||||||
{
|
{
|
||||||
_items = items;
|
_items = collection;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean write(PacketWriter packet)
|
public boolean write(PacketWriter packet)
|
||||||
{
|
{
|
||||||
OutgoingPackets.PET_ITEM_LIST.writeId(packet);
|
OutgoingPackets.PET_ITEM_LIST.writeId(packet);
|
||||||
packet.writeH(_items.length);
|
packet.writeH(_items.size());
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.TradeItem;
|
import org.l2jmobius.gameserver.model.TradeItem;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
@ -26,7 +28,7 @@ public class PrivateStoreManageListBuy extends AbstractItemPacket
|
|||||||
{
|
{
|
||||||
private final int _objId;
|
private final int _objId;
|
||||||
private final long _playerAdena;
|
private final long _playerAdena;
|
||||||
private final ItemInstance[] _itemList;
|
private final Collection<ItemInstance> _itemList;
|
||||||
private final TradeItem[] _buyList;
|
private final TradeItem[] _buyList;
|
||||||
|
|
||||||
public PrivateStoreManageListBuy(PlayerInstance player)
|
public PrivateStoreManageListBuy(PlayerInstance player)
|
||||||
@ -46,7 +48,7 @@ public class PrivateStoreManageListBuy extends AbstractItemPacket
|
|||||||
packet.writeQ(_playerAdena);
|
packet.writeQ(_playerAdena);
|
||||||
|
|
||||||
// section2
|
// section2
|
||||||
packet.writeD(_itemList.length); // inventory items for potential buy
|
packet.writeD(_itemList.size()); // inventory items for potential buy
|
||||||
for (ItemInstance item : _itemList)
|
for (ItemInstance item : _itemList)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.TradeItem;
|
import org.l2jmobius.gameserver.model.TradeItem;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
@ -26,7 +28,7 @@ public class PrivateStoreManageListSell extends AbstractItemPacket
|
|||||||
private final int _objId;
|
private final int _objId;
|
||||||
private final long _playerAdena;
|
private final long _playerAdena;
|
||||||
private final boolean _packageSale;
|
private final boolean _packageSale;
|
||||||
private final TradeItem[] _itemList;
|
private final Collection<TradeItem> _itemList;
|
||||||
private final TradeItem[] _sellList;
|
private final TradeItem[] _sellList;
|
||||||
|
|
||||||
public PrivateStoreManageListSell(PlayerInstance player, boolean isPackageSale)
|
public PrivateStoreManageListSell(PlayerInstance player, boolean isPackageSale)
|
||||||
@ -49,7 +51,7 @@ public class PrivateStoreManageListSell extends AbstractItemPacket
|
|||||||
packet.writeQ(_playerAdena);
|
packet.writeQ(_playerAdena);
|
||||||
|
|
||||||
// section2
|
// section2
|
||||||
packet.writeD(_itemList.length); // for potential sells
|
packet.writeD(_itemList.size()); // for potential sells
|
||||||
for (TradeItem item : _itemList)
|
for (TradeItem item : _itemList)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -452,13 +453,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* <li>Weapon</li>
|
* <li>Weapon</li>
|
||||||
* <li>Arrow</li>
|
* <li>Arrow</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createWeaponList(ItemInstance[] _items)
|
private List<WarehouseItem> createWeaponList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if (item.isWeapon() || (item.getItem().getType2() == Item.TYPE2_WEAPON) || (item.isEtcItem() && (item.getItemType() == EtcItemType.ARROW)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if (item.isWeapon() || (item.getItem().getType2() == Item.TYPE2_WEAPON) || (item.isEtcItem() && (item.getItemType() == EtcItemType.ARROW)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -479,13 +480,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Armor</li>
|
* <li>Armor</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createArmorList(ItemInstance[] _items)
|
private List<WarehouseItem> createArmorList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if (item.isArmor() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if (item.isArmor() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -506,13 +507,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Everything which is no Weapon/Armor</li>
|
* <li>Everything which is no Weapon/Armor</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createEtcItemList(ItemInstance[] _items)
|
private List<WarehouseItem> createEtcItemList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if (item.isEtcItem() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if (item.isEtcItem() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -533,13 +534,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Materials</li>
|
* <li>Materials</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createMatList(ItemInstance[] _items)
|
private List<WarehouseItem> createMatList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.MATERIAL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.MATERIAL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -560,13 +561,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Recipes</li>
|
* <li>Recipes</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createRecipeList(ItemInstance[] _items)
|
private List<WarehouseItem> createRecipeList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.RECIPE)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.RECIPE)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -587,13 +588,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Amulett</li>
|
* <li>Amulett</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createAmulettList(ItemInstance[] _items)
|
private List<WarehouseItem> createAmulettList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -614,13 +615,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Spellbook & Dwarven Drafts</li>
|
* <li>Spellbook & Dwarven Drafts</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createSpellbookList(ItemInstance[] _items)
|
private List<WarehouseItem> createSpellbookList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (!item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (!item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -641,13 +642,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Consumables (Potions, Shots, ...)</li>
|
* <li>Consumables (Potions, Shots, ...)</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createConsumableList(ItemInstance[] _items)
|
private List<WarehouseItem> createConsumableList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() == EtcItemType.SCROLL) || (item.getEtcItem().getItemType() == EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() == EtcItemType.SCROLL) || (item.getEtcItem().getItemType() == EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -668,13 +669,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Shots</li>
|
* <li>Shots</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createShotList(ItemInstance[] _items)
|
private List<WarehouseItem> createShotList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SHOT)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SHOT)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -695,13 +696,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Scrolls/Potions</li>
|
* <li>Scrolls/Potions</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createScrollList(ItemInstance[] _items)
|
private List<WarehouseItem> createScrollList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SCROLL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SCROLL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -722,13 +723,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Seeds</li>
|
* <li>Seeds</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createSeedList(ItemInstance[] _items)
|
private List<WarehouseItem> createSeedList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SEED)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SEED)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -749,13 +750,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>Everything which is no Weapon/Armor, Material, Recipe, Spellbook, Scroll or Shot</li>
|
* <li>Everything which is no Weapon/Armor, Material, Recipe, Spellbook, Scroll or Shot</li>
|
||||||
* <li>Money</li>
|
* <li>Money</li>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createOtherList(ItemInstance[] _items)
|
private List<WarehouseItem> createOtherList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() != EtcItemType.MATERIAL) && (item.getEtcItem().getItemType() != EtcItemType.RECIPE) && (item.getEtcItem().getItemType() != EtcItemType.SCROLL) && (item.getEtcItem().getItemType() != EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() != EtcItemType.MATERIAL) && (item.getEtcItem().getItemType() != EtcItemType.RECIPE) && (item.getEtcItem().getItemType() != EtcItemType.SCROLL) && (item.getEtcItem().getItemType() != EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||||
{
|
{
|
||||||
@ -775,13 +776,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
|||||||
/**
|
/**
|
||||||
* This method is used to limit the given Warehouse List to:
|
* This method is used to limit the given Warehouse List to:
|
||||||
* <li>no limit</li> This may sound strange but we return the given Array as a List<L2WarehouseItem>
|
* <li>no limit</li> This may sound strange but we return the given Array as a List<L2WarehouseItem>
|
||||||
* @param _items complete Warehouse List
|
* @param items complete Warehouse List
|
||||||
* @return limited Item List
|
* @return limited Item List
|
||||||
*/
|
*/
|
||||||
private List<WarehouseItem> createAllList(ItemInstance[] _items)
|
private List<WarehouseItem> createAllList(Collection<ItemInstance> items)
|
||||||
{
|
{
|
||||||
final List<WarehouseItem> list = new ArrayList<>();
|
final List<WarehouseItem> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : items)
|
||||||
{
|
{
|
||||||
if (list.size() < MAX_SORT_LIST_ITEMS)
|
if (list.size() < MAX_SORT_LIST_ITEMS)
|
||||||
{
|
{
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.PlayerCondOverride;
|
import org.l2jmobius.gameserver.model.PlayerCondOverride;
|
||||||
@ -26,7 +28,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
|||||||
public class TradeStart extends AbstractItemPacket
|
public class TradeStart extends AbstractItemPacket
|
||||||
{
|
{
|
||||||
private final PlayerInstance _player;
|
private final PlayerInstance _player;
|
||||||
private final ItemInstance[] _itemList;
|
private final Collection<ItemInstance> _itemList;
|
||||||
|
|
||||||
public TradeStart(PlayerInstance player)
|
public TradeStart(PlayerInstance player)
|
||||||
{
|
{
|
||||||
@ -44,7 +46,7 @@ public class TradeStart extends AbstractItemPacket
|
|||||||
|
|
||||||
OutgoingPackets.TRADE_START.writeId(packet);
|
OutgoingPackets.TRADE_START.writeId(packet);
|
||||||
packet.writeD(_player.getActiveTradeList().getPartner().getObjectId());
|
packet.writeD(_player.getActiveTradeList().getPartner().getObjectId());
|
||||||
packet.writeH(_itemList.length);
|
packet.writeH(_itemList.size());
|
||||||
for (ItemInstance item : _itemList)
|
for (ItemInstance item : _itemList)
|
||||||
{
|
{
|
||||||
writeItem(packet, item);
|
writeItem(packet, item);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
@ -28,7 +30,7 @@ public class WareHouseWithdrawalList extends AbstractItemPacket
|
|||||||
public static final int CASTLE = 3; // not sure
|
public static final int CASTLE = 3; // not sure
|
||||||
public static final int FREIGHT = 1;
|
public static final int FREIGHT = 1;
|
||||||
private long _playerAdena;
|
private long _playerAdena;
|
||||||
private ItemInstance[] _items;
|
private Collection<ItemInstance> _items;
|
||||||
/**
|
/**
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>0x01-Private Warehouse</li>
|
* <li>0x01-Private Warehouse</li>
|
||||||
@ -58,7 +60,7 @@ public class WareHouseWithdrawalList extends AbstractItemPacket
|
|||||||
OutgoingPackets.WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
OutgoingPackets.WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
||||||
packet.writeH(_whType);
|
packet.writeH(_whType);
|
||||||
packet.writeQ(_playerAdena);
|
packet.writeQ(_playerAdena);
|
||||||
packet.writeH(_items.length);
|
packet.writeH(_items.size());
|
||||||
|
|
||||||
for (ItemInstance item : _items)
|
for (ItemInstance item : _items)
|
||||||
{
|
{
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
*/
|
*/
|
||||||
public class ConditionPlayerInvSize extends Condition
|
public class ConditionPlayerInvSize extends Condition
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _size;
|
private final int _size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||||
{
|
{
|
||||||
final Collection<ItemInstance> list = new LinkedList<>();
|
final List<ItemInstance> list = new ArrayList<>();
|
||||||
for (ItemInstance item : _items.values())
|
for (ItemInstance item : _items.values())
|
||||||
{
|
{
|
||||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* Returns the list of all items in inventory that have a given item id.
|
* Returns the list of all items in inventory that have a given item id.
|
||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
|||||||
* @param itemId : ID of item
|
* @param itemId : ID of item
|
||||||
* @param enchantment : enchant level of item
|
* @param enchantment : enchant level of item
|
||||||
* @param includeEquipped : include equipped items
|
* @param includeEquipped : include equipped items
|
||||||
* @return ItemInstance[] : matching items from inventory
|
* @return Collection<ItemInstance> : matching items from inventory
|
||||||
*/
|
*/
|
||||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
|||||||
.filter(i -> i.isAvailable(_owner, false, false))
|
.filter(i -> i.isAvailable(_owner, false, false))
|
||||||
.map(tradeList::adjustAvailableItem)
|
.map(tradeList::adjustAvailableItem)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedList::new));
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
|||||||
*/
|
*/
|
||||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
if (count > 0)
|
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||||
{
|
|
||||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByObjectId(objectId);
|
final ItemInstance item = getItemByObjectId(objectId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
|||||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||||
{
|
{
|
||||||
final ItemInstance item = getItemByItemId(itemId);
|
final ItemInstance item = getItemByItemId(itemId);
|
||||||
if (item == null)
|
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return destroyItem(process, item, count, actor, reference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user