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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
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
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
{
final ItemInstance item = getItemByItemId(itemId);
return item == null ? null : destroyItem(process, item, count, actor, reference);
// Attempt to find non equipped items.
ItemInstance destroyItem = null;
for (ItemInstance item : getAllItemsByItemId(itemId))
{
destroyItem = item;
if (!destroyItem.isEquipped())
{
break;
}
}
return destroyItem == null ? null : destroyItem(process, destroyItem, count, actor, reference);
}
/**