Przeglądaj źródła

Fix for selling Augmented items to NPC shops, Thx Didldak

Also refactoring of isSalable method to isSellable
GodKratos 16 lat temu
rodzic
commit
dfad5011f8

+ 3 - 3
L2_GameServer/java/net/sf/l2j/gameserver/model/L2ItemInstance.java

@@ -589,12 +589,12 @@ public final class L2ItemInstance extends L2Object
 	}
 	
 	/**
-	 * Returns if item is salable
+	 * Returns if item is sellable
 	 * @return boolean
 	 */
-	public boolean isSalable()
+	public boolean isSellable()
 	{
-		return isAugmented() ? false : _item.isSalable();
+		return isAugmented() ? false : _item.isSellable();
 	}
 	
     /**

+ 2 - 2
L2_GameServer/java/net/sf/l2j/gameserver/model/itemcontainer/PcInventory.java

@@ -96,7 +96,7 @@ public class PcInventory extends Inventory
 					break;
 				}
 			}
-			if (!isDuplicate && (!onlyAvailable || (item.isSalable() && item.isAvailable(getOwner(), false)))) list.add(item);
+			if (!isDuplicate && (!onlyAvailable || (item.isSellable() && item.isAvailable(getOwner(), false)))) list.add(item);
 		}
 
 		return list.toArray(new L2ItemInstance[list.size()]);
@@ -129,7 +129,7 @@ public class PcInventory extends Inventory
 					isDuplicate = true;
 					break;
 				}
-			if (!isDuplicate && (!onlyAvailable || (item.isSalable() && item.isAvailable(getOwner(), false)))) list.add(item);
+			if (!isDuplicate && (!onlyAvailable || (item.isSellable() && item.isAvailable(getOwner(), false)))) list.add(item);
 		}
 
 		return list.toArray(new L2ItemInstance[list.size()]);

+ 1 - 1
L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestSellItem.java

@@ -168,7 +168,7 @@ public final class RequestSellItem extends L2GameClientPacket
 			}
 
 			L2ItemInstance item = player.checkItemManipulation(objectId, count, "sell");
-        	if (item == null || (!item.isSalable())) continue;
+        	if (item == null || (!item.isSellable())) continue;
 
             totalPrice += item.getReferencePrice() * count /2;
             if (totalPrice > Integer.MAX_VALUE)

+ 5 - 4
L2_GameServer/java/net/sf/l2j/gameserver/network/serverpackets/SellList.java

@@ -59,10 +59,11 @@ public class SellList extends L2GameServerPacket
 		{
 			for (L2ItemInstance item : _activeChar.getInventory().getItems())
 			{
-				if (!item.isEquipped() &&                                                      // Not equipped
-                        item.isSalable() &&                                         // Item is sellable
-                        (_activeChar.getPet() == null ||                                             // Pet not summoned or
-                                item.getObjectId() != _activeChar.getPet().getControlItemId()))      // Pet is summoned and not the item that summoned the pet
+				if (!item.isEquipped() &&														// Not equipped
+                        !item.isAugmented() &&													// Not augmented
+                        item.isSellable() &&														// Item is sellable
+                        (_activeChar.getPet() == null ||										// Pet not summoned or
+                        item.getObjectId() != _activeChar.getPet().getControlItemId()))			// Pet is summoned and not the item that summoned the pet
 				{
 					_selllist.add(item);
 					if (Config.DEBUG)

+ 4 - 4
L2_GameServer/java/net/sf/l2j/gameserver/templates/item/L2Item.java

@@ -144,7 +144,7 @@ public abstract class L2Item
 	private final int _bodyPart;
 	private final int _referencePrice;
 	private final int _crystalCount;
-	private final boolean _salable;
+	private final boolean _sellable;
 	private final boolean _dropable;
 	private final boolean _destroyable;
 	private final boolean _tradeable;
@@ -193,7 +193,7 @@ public abstract class L2Item
 		_bodyPart = set.getInteger("bodypart");
 		_referencePrice = set.getInteger("price");
 		_crystalCount = set.getInteger("crystal_count", 0);
-		_salable = set.getBool("sellable", true);
+		_sellable = set.getBool("sellable", true);
 		_dropable = set.getBool("dropable", true);
 		_destroyable = set.getBool("destroyable", true);
 		_tradeable = set.getBool("tradeable", true);
@@ -398,9 +398,9 @@ public abstract class L2Item
 	 * Returns if the item can be sold
 	 * @return boolean
 	 */
-	public final boolean isSalable()
+	public final boolean isSellable()
 	{
-		return _salable;
+		return _sellable;
 	}
 	
 	/**