From a4630cae9b489f69bd8a6a4160ac03e4e31e9aa7 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 15 Nov 2015 19:15:59 +0000 Subject: [PATCH] Support for is_auctionable item option. --- trunk/dist/game/data/xsd/items.xsd | 1 + .../l2jserver/gameserver/model/items/L2Item.java | 10 ++++++++++ .../RequestCommissionRegistrableItemList.java | 14 ++++++++++++-- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/trunk/dist/game/data/xsd/items.xsd b/trunk/dist/game/data/xsd/items.xsd index a00b9ec99d..cf8c67a416 100644 --- a/trunk/dist/game/data/xsd/items.xsd +++ b/trunk/dist/game/data/xsd/items.xsd @@ -29,6 +29,7 @@ + diff --git a/trunk/java/com/l2jserver/gameserver/model/items/L2Item.java b/trunk/java/com/l2jserver/gameserver/model/items/L2Item.java index a391d03b3b..f99c622964 100644 --- a/trunk/java/com/l2jserver/gameserver/model/items/L2Item.java +++ b/trunk/java/com/l2jserver/gameserver/model/items/L2Item.java @@ -134,6 +134,7 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable private final boolean _destroyable; private final boolean _tradeable; private final boolean _depositable; + private final boolean _auctionable; private final int _enchantable; private final boolean _elementable; private final boolean _questItem; @@ -194,6 +195,7 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable _destroyable = set.getBoolean("is_destroyable", true); _tradeable = set.getBoolean("is_tradable", true); _depositable = set.getBoolean("is_depositable", true); + _auctionable = set.getBoolean("is_auctionable", true); _elementable = set.getBoolean("element_enabled", false); _enchantable = set.getInt("enchant_enabled", 0); _questItem = set.getBoolean("is_questitem", false); @@ -648,6 +650,14 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable return _depositable; } + /** + * @return {@code true} if the item can be put into auctionhouse, {@code false} otherwise. + */ + public final boolean isAuctionable() + { + return _auctionable; + } + /** * This method also check the enchant blacklist. * @return {@code true} if the item can be enchanted, {@code false} otherwise. diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/commission/RequestCommissionRegistrableItemList.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/commission/RequestCommissionRegistrableItemList.java index 1c5e98562c..b6b00e5909 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/commission/RequestCommissionRegistrableItemList.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/commission/RequestCommissionRegistrableItemList.java @@ -18,10 +18,11 @@ */ package com.l2jserver.gameserver.network.clientpackets.commission; -import java.util.Arrays; +import java.util.ArrayList; import com.l2jserver.gameserver.instancemanager.CommissionManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket; import com.l2jserver.gameserver.network.serverpackets.commission.ExCloseCommission; import com.l2jserver.gameserver.network.serverpackets.commission.ExResponseCommissionItemList; @@ -51,7 +52,16 @@ public class RequestCommissionRegistrableItemList extends L2GameClientPacket return; } - player.sendPacket(new ExResponseCommissionItemList(Arrays.asList(player.getInventory().getAvailableItems(false, false, false)))); + ArrayList auctionableItemList = new ArrayList<>(); + for (L2ItemInstance item : player.getInventory().getAvailableItems(false, false, false)) + { + if (item.getItem().isAuctionable()) + { + auctionableItemList.add(item); + } + } + + player.sendPacket(new ExResponseCommissionItemList(auctionableItemList)); } @Override