57 private static final int INTERFACE = 0;
58 private static final int NPC = 1;
59 private static final int ITEM = 2;
60 private static final int OBJECT = 3;
64 final int type = packet.readByte(
false);
67 handleInterfaceExamine(player, packet);
71 int npcId = packet.readShort(
false);
72 player.getEvents().interact(player,
new NpcExamineEvent(npcId));
76 int itemId = packet.readShort(
false);
77 player.getEvents().interact(player,
new ItemExamineEvent(itemId));
81 int objectId = packet.readShort(
false);
82 player.getEvents().interact(player,
new ObjectExamineEvent(objectId));
88 private static void handleInterfaceExamine(
Player player,
GamePacket packet) {
89 int slot = packet.readShort();
90 int interfaceId = packet.readShort();
91 int itemId = packet.readShort();
94 player.send(
new SendMessage(
"[Examine] - slot: " + slot +
" -- interfaceId: " + interfaceId +
" -- itemId: " + itemId,
MessageColor.DEVELOPER));
98 player.settings.clientWidth = interfaceId;
99 player.settings.clientHeight = itemId;
103 switch (interfaceId) {
104 case Inventory.INVENTORY_DISPLAY_ID: {
105 Item item = player.inventory.
get(slot);
106 if (item ==
null || item.getId() != itemId)
return;
107 final ItemDef itemDef = ItemDefLoader.map.get(itemId);
108 if (itemDef !=
null) {
109 String examine = itemDef.getExamine();
110 if (!
"null".equals(examine))
111 player.send(
new SendMessage(examine));
113 if (item.isTradeable()) {
115 message +=
"Item: <col=A52929>" + item.getName() +
"</col> ";
116 message +=
"Value: <col=A52929>" + Utility.formatDigits(item.getValue(PriceType.VALUE)) +
" (" + Utility.formatDigits(item.getValue(PriceType.VALUE) * item.getAmount()) +
")</col> ";
117 message +=
"High alch: <col=A52929>" + Utility.formatDigits(item.getValue(PriceType.HIGH_ALCH_VALUE)) +
"</col> ";
118 player.send(
new SendMessage(message));
123 if (!player.attributes.has(
"DROP_SIMULATOR_SORTED_LIST"))
return;
124 Item[] items = player.attributes.get(
"DROP_SIMULATOR_SORTED_LIST");
125 if (slot < 0 || slot >= items.length)
return;
126 Item item = items[slot];
127 if (item.isTradeable()) {
129 message +=
"Item: <col=A52929>" + item.getName() +
"</col> ";
130 message +=
"Value: <col=A52929>" + Utility.formatDigits(item.getValue(PriceType.VALUE)) +
" (" + Utility.formatDigits(item.getValue(PriceType.VALUE) * item.getAmount()) +
")</col> ";
131 message +=
"High alch: <col=A52929>" + Utility.formatDigits(item.getValue(PriceType.HIGH_ALCH_VALUE));
132 player.send(
new SendMessage(message));