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