Prefer to destroy non equipped items first.

This commit is contained in:
MobiusDevelopment 2021-08-16 02:00:54 +00:00
parent fea923103c
commit 50ef9c8ce6
23 changed files with 253 additions and 46 deletions

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -617,8 +617,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -617,8 +617,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -617,8 +617,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -608,8 +608,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -608,8 +608,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -664,8 +664,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -664,8 +664,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -664,8 +664,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -664,8 +664,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -664,8 +664,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -664,8 +664,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -616,8 +616,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -624,8 +624,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -624,8 +624,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**

View File

@ -624,8 +624,17 @@ public class PlayerInventory extends Inventory
@Override @Override
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); // Attempt to find non equipped items.
return item == null ? null : destroyItem(process, item, count, actor, reference); ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
} }
/** /**