mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
62 lines
2.5 KiB
Java
62 lines
2.5 KiB
Java
package redone.net.packets.impl;
|
|
|
|
import redone.game.content.skills.SkillHandler;
|
|
import redone.game.items.UseItem;
|
|
import redone.game.npcs.NpcHandler;
|
|
import redone.game.players.Client;
|
|
import redone.net.packets.PacketType;
|
|
|
|
public class ItemOnNpc implements PacketType {
|
|
|
|
@Override
|
|
public void processPacket(final Client player, int packetType, int packetSize) {
|
|
final int itemId = player.getInStream().readSignedWordA();
|
|
final int i = player.getInStream().readSignedWordA();
|
|
final int slot = player.getInStream().readSignedWordBigEndian();
|
|
final int npcId = NpcHandler.npcs[i].npcType;
|
|
SkillHandler.resetItemOnNpc(player);
|
|
player.endCurrentTask();
|
|
if (player.playerRights == 3) {
|
|
player.getActionSender().sendMessage("Item id: " + itemId + " slot: " + slot + " i: " + i);
|
|
}
|
|
if (player.getItemAssistant().freeSlots() < 1) {
|
|
player.getActionSender().sendMessage("Your inventory is full.");
|
|
return;
|
|
}
|
|
if (player == null || player.disconnected == true || !player.getItemAssistant().playerHasItem(itemId, 1, slot) || NpcHandler.npcs[i] == null || NpcHandler.npcs[i].isDead || player.isDead || player.isTeleporting) {
|
|
return;
|
|
}
|
|
player.faceNpc(i);
|
|
switch(npcId) {
|
|
case 43:
|
|
if (NpcHandler.npcs[i].requestTransformTime(player, 1735, 893, 43, 42, 50, i))
|
|
{
|
|
player.getItemAssistant().addItem(1737, 1);
|
|
}
|
|
else
|
|
{
|
|
player.getActionSender().sendMessage("You need to wait for this sheep's wool to regrow!");
|
|
}
|
|
break;
|
|
}
|
|
if (player.getItemAssistant().playerHasItem(995, 1) && npcId == 736) {
|
|
player.getItemAssistant().deleteItem(995, 1);
|
|
player.getDialogueHandler().sendNpcChat1("Thanks!", player.npcType, "Emily");
|
|
}
|
|
if (player.getItemAssistant().playerHasItem(1927, 1) && player.gertCat == 2 && npcId == 2997) {
|
|
player.getDialogueHandler().sendDialogues(319, npcId);
|
|
player.getItemAssistant().deleteItem(1927, 1);
|
|
player.getItemAssistant().addItem(1925, 1);
|
|
player.gertCat = 3;
|
|
} else if (player.getItemAssistant().playerHasItem(1552, 1) && player.gertCat == 3 && npcId == 2997) {
|
|
player.getDialogueHandler().sendDialogues(323, npcId);
|
|
player.getItemAssistant().deleteItem(1552, 1);
|
|
player.gertCat = 4;
|
|
} else if (player.getItemAssistant().playerHasItem(1554, 1) && player.gertCat == 5 && npcId == 2997) {
|
|
player.getItemAssistant().deleteItem(1554, 1);
|
|
player.getDialogueHandler().sendDialogues(326, npcId);
|
|
}
|
|
UseItem.ItemonNpc(player, itemId, slot, i);
|
|
}
|
|
}
|