All pastes #750401 Raw Edit

Someone

public text v1 · immutable
#750401 ·published 2007-10-26 14:06 UTC
rendered paste body
Index: java/net/sf/l2j/gameserver/model/actor/instance/L2CastleChamberlainInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2CastleChamberlainInstance.java	(revision 1269)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2CastleChamberlainInstance.java	(working copy)
@@ -21,14 +21,19 @@
 import java.util.StringTokenizer;
 
 import javolution.text.TextBuilder;
+import net.sf.l2j.Config;
 import net.sf.l2j.gameserver.SevenSigns;
+import net.sf.l2j.gameserver.TradeController;
 import net.sf.l2j.gameserver.ai.CtrlIntention;
 import net.sf.l2j.gameserver.datatables.ClanTable;
 import net.sf.l2j.gameserver.instancemanager.CastleManager;
 import net.sf.l2j.gameserver.instancemanager.CastleManorManager;
 import net.sf.l2j.gameserver.model.L2Clan;
+import net.sf.l2j.gameserver.model.L2TradeList;
+import net.sf.l2j.gameserver.model.PcInventory;
 import net.sf.l2j.gameserver.network.SystemMessageId;
 import net.sf.l2j.gameserver.serverpackets.ActionFailed;
+import net.sf.l2j.gameserver.serverpackets.BuyList;
 import net.sf.l2j.gameserver.serverpackets.ExShowCropInfo;
 import net.sf.l2j.gameserver.serverpackets.ExShowCropSetting;
 import net.sf.l2j.gameserver.serverpackets.ExShowManorDefaultInfo;
@@ -215,6 +220,41 @@
 				player.sendPacket(html);
 				return;
 			}
+			else if (actualCommand.equalsIgnoreCase("items"))
+			{
+				if (val == "") return;
+				player.tempInvetoryDisable();
+
+				if (Config.DEBUG) _log.fine("Showing chamberlain buylist");
+
+				int buy;
+				{
+					int castleId = getCastle().getCastleId();
+					int circlet = CastleManager.getInstance().getCircletByCastleId(castleId);
+					PcInventory s = player.getInventory();
+					if (s.getItemByItemId(circlet)==null)
+					{
+						buy = (Integer.parseInt(val)+1);
+					}
+					else
+					{
+						buy = (Integer.parseInt(val)+2);
+					}
+				}
+				L2TradeList list = TradeController.getInstance().getBuyList(buy);
+				if (list != null && list.getNpcId().equals(String.valueOf(getNpcId())))
+				{
+					BuyList bl = new BuyList(list, player.getAdena(), 0);
+					player.sendPacket(bl);
+				}
+				else
+				{
+					_log.warning("player: " + player.getName()
+							+ " attempting to buy from chamberlain that don't have buylist!");
+					_log.warning("buylist id:" + buy);
+				}
+				player.sendPacket(new ActionFailed());
+			}
 			else if (actualCommand.equalsIgnoreCase("manage_siege_defender"))
 			{
                 getCastle().getSiege().listRegisterClan(player);

Index: java/net/sf/l2j/gameserver/instancemanager/CastleManager.java
===================================================================
--- java/net/sf/l2j/gameserver/instancemanager/CastleManager.java	(revision 1269)
+++ java/net/sf/l2j/gameserver/instancemanager/CastleManager.java	(working copy)
@@ -52,8 +52,18 @@
     
     // =========================================================
     // Constructor
+    int _castleCirclets[] = new int[10];
     public CastleManager()
     {
+    	_castleCirclets[1] = 6838;
+        _castleCirclets[2] = 6835;
+        _castleCirclets[3] = 6839;
+        _castleCirclets[4] = 6837;
+        _castleCirclets[5] = 6840;
+        _castleCirclets[6] = 6834;
+        _castleCirclets[7] = 6836;
+        _castleCirclets[8] = 8182;
+        _castleCirclets[9] = 8183;
     }
 
     // =========================================================
@@ -212,4 +222,18 @@
 			if(castle.getTaxPercent() > maxTax)
 				castle.setTaxPercent(maxTax);
 	}
+	
+	int _castleId = 1; // from this castle
+	public int getCirclet()
+	{
+		return getCircletByCastleId(_castleId);
+	}
+        
+	public int getCircletByCastleId(int castleId)
+	{
+		if (castleId > 0 && castleId < 10)
+			return _castleCirclets[castleId];
+		
+		return 0;
+	}
 }
\ No newline at end of file