rendered paste bodyIndex: 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