diff --git a/2006Redone Server/src/redone/game/npcs/Npc.java b/2006Redone Server/src/redone/game/npcs/Npc.java index b8c63ad9..360bb034 100644 --- a/2006Redone Server/src/redone/game/npcs/Npc.java +++ b/2006Redone Server/src/redone/game/npcs/Npc.java @@ -64,19 +64,16 @@ public class Npc { updateRequired = true; } - public void requestTransformTime(Client player, int itemId, int animation, final int currentId, final int newId, int transformTime) { + public boolean requestTransformTime(Client player, int itemId, int animation, final int currentId, final int newId, int transformTime, int npcId) { if (!player.getItemAssistant().playerHasItem(itemId)) { player.getActionSender().sendMessage("You need " + ItemAssistant.getItemName(itemId).toLowerCase() + " to do that."); - return; + return false; } - if (NpcHandler.npcs[currentId].isTransformed == true) { - player.getActionSender().sendMessage("This npc is already transformed."); - return; - } - if (animation > 0) { + if (NpcHandler.npcs[npcId].isTransformed == true) + return false; + if (animation > 0) player.startAnimation(animation); - } - NpcHandler.npcs[currentId].isTransformed = true; + NpcHandler.npcs[npcId].isTransformed = true; requestTransform(newId); CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { @@ -91,6 +88,7 @@ public class Npc { NpcHandler.npcs[currentId].isTransformed = false; } }, transformTime); + return true; } public void appendTransformUpdate(Stream str) { diff --git a/2006Redone Server/src/redone/net/packets/impl/ItemOnNpc.java b/2006Redone Server/src/redone/net/packets/impl/ItemOnNpc.java index 3ff38920..614acccc 100644 --- a/2006Redone Server/src/redone/net/packets/impl/ItemOnNpc.java +++ b/2006Redone Server/src/redone/net/packets/impl/ItemOnNpc.java @@ -28,7 +28,14 @@ public class ItemOnNpc implements PacketType { player.faceNpc(i); switch(npcId) { case 43: - NpcHandler.npcs[i].requestTransformTime(player, 1735, 893, 43, 42, 50); + 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) {