Use count for level for equips

This commit is contained in:
memetrollsXD 2022-04-22 23:19:58 +02:00
parent 12c6020b71
commit a52eaf9bbc
2 changed files with 7 additions and 8 deletions

View File

@ -91,17 +91,16 @@ public final class GiveCommand implements CommandHandler {
this.item(targetPlayer, itemData, amount);
CommandHandler.sendMessage(sender, String.format("Given %s of %s to %s.", amount, item, target));
if (!itemData.isEquip()) CommandHandler.sendMessage(sender, String.format("Given %s of %s to %s.", amount, item, target));
else CommandHandler.sendMessage(sender, String.format("Given %s with level %s to %s", item, amount, target));
}
private void item(GenshinPlayer player, ItemData itemData, int amount) {
if (itemData.isEquip()) {
List<GenshinItem> items = new LinkedList<>();
for (int i = 0; i < amount; i++) {
items.add(new GenshinItem(itemData));
}
player.getInventory().addItems(items);
player.sendPacket(new PacketItemAddHintNotify(items, ActionReason.SubfieldDrop));
GenshinItem item = new GenshinItem(itemData);
item.setLevel(amount);
player.getInventory().addItem(item);
player.sendPacket(new PacketItemAddHintNotify(item, ActionReason.SubfieldDrop));
} else {
GenshinItem genshinItem = new GenshinItem(itemData);
genshinItem.setCount(amount);

View File

@ -90,7 +90,7 @@ public class GenshinItem {
// Equip data
if (getItemType() == ItemType.ITEM_WEAPON) {
this.level = 1;
this.level = this.count > 1 ? this.count : 1;
this.affixes = new ArrayList<>(2);
if (getItemData().getSkillAffix() != null) {
for (int skillAffix : getItemData().getSkillAffix()) {