Files
2006Scape/2006Redone Server/src/com/rebotted/game/items/UseItem.java
T
Mr Extremez 6ad9d1f7e9 Random fixes (#273)
- Cant open nest if you do not have space
- Added working yo yo
- Added monks robe spawns
- Added ability to make god pages
- Removed a few warnings

closes #265
closes #262
closes #259
closes #243
2019-12-12 04:32:56 -05:00

380 lines
14 KiB
Java

package com.rebotted.game.items;
import com.rebotted.game.content.skills.cooking.Cooking;
import com.rebotted.game.content.skills.crafting.GemCutting;
import com.rebotted.game.content.skills.crafting.JewelryMaking;
import com.rebotted.game.content.skills.crafting.LeatherMaking;
import com.rebotted.game.content.skills.crafting.SoftClay;
import com.rebotted.game.content.skills.firemaking.Firemaking;
import com.rebotted.game.content.skills.fletching.ArrowMaking;
import com.rebotted.game.content.skills.fletching.LogCutting;
import com.rebotted.game.content.skills.fletching.LogCuttingInterface;
import com.rebotted.game.content.skills.fletching.Stringing;
import com.rebotted.game.content.skills.herblore.GrindingAction;
import com.rebotted.game.content.skills.herblore.Herblore;
import com.rebotted.game.items.impl.CapeDye;
import com.rebotted.game.items.impl.GodPages;
import com.rebotted.game.items.impl.WeaponPoison;
import com.rebotted.game.npcs.impl.MilkCow;
import com.rebotted.game.objects.impl.CrystalChest;
import com.rebotted.game.objects.impl.FlourMill;
import com.rebotted.game.objects.impl.Webs;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
/**
* @author Ryan / Lmctruck30
*/
public class UseItem {
public static void itemOnObject(Player c, int objectID, int objectX, int objectY, int itemId) {
final int goodPosXType1 = objectX - 5;
final int goodPosXType2 = objectX + 5;
final int goodPosYType1 = objectY - 5;
final int goodPosYType2 = objectY + 5;
if (c.absX >= goodPosXType1 && c.absX <= goodPosXType2 && c.absY >= goodPosYType1 && c.absY <= goodPosYType2) {
c.turnPlayerTo(objectX, objectY);
} else {
c.getPlayerAssistant().playerWalk(objectX, objectY);
}
if (!c.getItemAssistant().playerHasItem(itemId, 1)) {
return;
}
switch (objectID) {
case 733:
if (itemId == 946) {
Webs.slashWeb(c, objectID, objectX, objectY);
}
break;
case 8689:
if (c.milking == false) {
MilkCow.milk(c);
}
break;
case 2783:
c.getSmithingInt().showSmithInterface(itemId);
break;
case 2782:
if (c.doricQuest >= 3) {
c.getSmithingInt().showSmithInterface(itemId);
} else {
c.getPacketSender().sendMessage(
"You need to beat dorics quest to use his anvils");
}
break;
case 879:
case 12279:
case 14868:
if (itemId == SoftClay.CLAY) {
SoftClay.makeClay(c);
}
break;
case 2714:
FlourMill.grainOnHopper(c, objectID, itemId);
break;
case 172:
if (itemId == CrystalChest.KEY) {
CrystalChest.searchChest(c, objectID, objectX, objectY);
}
break;
case 364:
if (itemId == 1919) {
c.getItemAssistant().deleteItem(1919, 1);
c.getItemAssistant().addItem(1917, 1);
c.getPacketSender().sendMessage(
"You refill your beer glass.");
}
break;
default:
if (c.playerRights == 3) {
Misc.println("Player At Object id: " + objectID + " objectX: "
+ objectX + " objectY: " + objectY + " with Item id: "
+ itemId);
}
break;
}
}
public static void itemOnItem(Player player, int itemUsed, int useWith) {
LogCuttingInterface.handleItemOnItem(player, itemUsed, useWith);
ArrowMaking.makeArrow(player, itemUsed, useWith);
Stringing.StringBow(player, itemUsed, useWith);
WeaponPoison.execute(player, itemUsed, useWith);
player.getGlassBlowing().ItemOnItem(itemUsed, useWith);
//CapeDye.execute(c, itemUsed, useWith);
if (ItemAssistant.getItemName(itemUsed).contains("(")
&& ItemAssistant.getItemName(useWith).contains("(")) {
player.getPotMixing().mixPotion2(itemUsed, useWith);
}
GrindingAction.init(player, itemUsed, useWith);
CapeDye.dyeItem(player, itemUsed, useWith);
GodPages.itemOnItemHandle(player, useWith, itemUsed);
if (Herblore.isIngredient(itemUsed) || Herblore.isIngredient(useWith)) {
Herblore.setupPotion(player, itemUsed, useWith);
}
if (itemUsed == 6703 || useWith == 6703) {
player.getPTS().handlePotato(itemUsed, useWith);
}
if (itemUsed == 1755 || useWith == 1755) {
GemCutting.cutGem(player, itemUsed, useWith);
}
if (itemUsed == 1759 || useWith == 1759) {
JewelryMaking.stringAmulet(player, itemUsed, useWith);
}
if (itemUsed == 946 || useWith == 2862) {
LogCutting.makeShafts(player);
}
if (itemUsed == 2862 || useWith == 946) {
LogCutting.makeShafts(player);
}
if (itemUsed == 314 || useWith == 2864) {
LogCutting.flightedArrow(player);
}
if (itemUsed == 2864 || useWith == 314) {
LogCutting.flightedArrow(player);
}
if (itemUsed == 2861 || useWith == 2865) {
LogCutting.ogreArrow(player);
}
if (itemUsed == 2865 || useWith == 2861) {
LogCutting.ogreArrow(player);
}
if (itemUsed == 2859 || useWith == 1755) {
LogCutting.wolfBoneArrow(player);
}
if (itemUsed == 1755 || useWith == 2859) {
LogCutting.wolfBoneArrow(player);
}
if (itemUsed == 771 && useWith == 946
&& player.playerLevel[player.playerCrafting] > 30) {
player.getItemAssistant().deleteItem(771, 1);
player.getItemAssistant().addItem(772, 1);
} else if (player.playerLevel[player.playerCrafting] < 31 && itemUsed == 771
&& useWith == 946) {
player.getPacketSender().sendMessage(
"You need 31 crafting to make this.");
}
if (itemUsed == 946 && useWith == 771
&& player.playerLevel[player.playerCrafting] > 30) {
player.getItemAssistant().deleteItem(771, 1);
player.getItemAssistant().addItem(772, 1);
} else if (player.playerLevel[player.playerCrafting] < 31 && itemUsed == 946
&& useWith == 771) {
player.getPacketSender().sendMessage(
"You need 31 crafting to make this.");
}
if (useWith == 7051 && itemUsed == 590 || itemUsed == 590
&& useWith == 7051) {
player.getItemAssistant().deleteItem(7051, 1);
player.getItemAssistant().addItem(7053, 1);
}
int firemakingItems[] = {590, 7329, 7330, 7331};
for (int i = 0; i < firemakingItems.length; i++) {
if (itemUsed == firemakingItems[i] || useWith == firemakingItems[i] && player.isFiremaking == false) {
Firemaking.attemptFire(player, itemUsed, useWith, player.absX, player.absY, false);
} else if (itemUsed == firemakingItems[i] || useWith == firemakingItems[i] && player.isFiremaking == true) {
player.getPacketSender().sendMessage("You can't do that, you are already firemaking.");
}
}
if (itemUsed == 1733 || useWith == 1733) {
LeatherMaking.craftLeatherDialogue(player, itemUsed, useWith);
}
if (itemUsed == 1573 && useWith == 327 || itemUsed == 327 && useWith == 1573) {
player.getItemAssistant().deleteItem(1573, 1);
player.getItemAssistant().deleteItem(327, 1);
player.getItemAssistant().addItem(1552, 1);
}
if (itemUsed == 38 && useWith == 590 || useWith == 38
&& itemUsed == 590) {//
player.getItemAssistant().addItem(32, 1);
player.getItemAssistant().deleteItem(38, 1);
}
if (itemUsed == 36 && useWith == 590 || useWith == 36
&& itemUsed == 590) {
player.getItemAssistant().addItem(33, 1);
player.getItemAssistant().deleteItem(36, 1);
}
if (itemUsed == 596 && useWith == 590 || useWith == 596
&& itemUsed == 590) {
player.getItemAssistant().addItem(594, 1);
player.getItemAssistant().deleteItem(596, 1);
}
if (itemUsed == 4537 && useWith == 590 || useWith == 4537
&& itemUsed == 590) {
player.getItemAssistant().addItem(4539, 1);
player.getItemAssistant().deleteItem(4537, 1);
}
if (itemUsed == 4548 && useWith == 590 || useWith == 4548
&& itemUsed == 590) {
player.getItemAssistant().addItem(4550, 1);
player.getItemAssistant().deleteItem(4548, 1);
}
if (itemUsed == 1095 && useWith == 2370 || itemUsed == 2370
&& useWith == 1095 && player.playerLevel[player.playerCrafting] > 43) {// chaps
player.getItemAssistant().deleteItem(2370, 1);
player.getItemAssistant().deleteItem(1095, 1);
player.getItemAssistant().addItem(1097, 1);
player.getPlayerAssistant().addSkillXP(42, player.playerCrafting);
} else if (itemUsed == 1095 && useWith == 2370 || itemUsed == 2370 && useWith == 1095 && player.playerLevel[player.playerCrafting] < 44) {
player.getPacketSender().sendMessage("You need 44 crafting to make this.");
}
if (itemUsed == 946 && useWith == 1963 || itemUsed == 1963 && useWith == 946) {
player.getItemAssistant().deleteItem(1963, 1);
player.getItemAssistant().addItem(3162, 1);
player.getPacketSender().sendMessage("You slice your banana.");
}
if (itemUsed == 946 && useWith == 1973 || itemUsed == 1973 && useWith == 946) {
player.getItemAssistant().deleteItem(1973, 1);
player.getItemAssistant().addItem(1975, 1);
player.getPacketSender().sendMessage("You slice your chocolate bar.");
}
if (itemUsed == 1129 && useWith == 2370 || itemUsed == 2370 && useWith == 1129 && player.playerLevel[player.playerCrafting] > 40) {// body
player.getItemAssistant().deleteItem(2370, 1);
player.getItemAssistant().deleteItem(1129, 1);
player.getItemAssistant().addItem(1133, 1);
player.getPlayerAssistant().addSkillXP(40, player.playerCrafting);
} else if (itemUsed == 1129 && useWith == 2370 || itemUsed == 2370 && useWith == 1129 && player.playerLevel[player.playerCrafting] < 41) {
player.getPacketSender().sendMessage("You need 41 crafting to make this.");
}
if (itemUsed == 4593 && useWith == 4591 || useWith == 4591 && itemUsed == 4593) {
player.getItemAssistant().deleteItem(4591, 1);
player.getItemAssistant().deleteItem(4593, 1);
player.getItemAssistant().addItem(4611, 1);
}
if (itemUsed == 985 && useWith == 987 || itemUsed == 987 && useWith == 985) {
player.getItemAssistant().deleteItem(985, 1);
player.getItemAssistant().deleteItem(987, 1);
player.getItemAssistant().addItem(989, 1);
}
if (itemUsed == 2313 && useWith == 1953 || itemUsed == 1953 && useWith == 2313) {
player.getItemAssistant().deleteItem(2313, 1);
player.getItemAssistant().deleteItem(1953, 1);
player.getItemAssistant().addItem(2315, 1);
}
/**
* Pizza Creation
*/
if (itemUsed == 1982 && useWith == 2283 || itemUsed == 2283
&& useWith == 1982) {
Cooking.pastryCreation(player, 1982, 2283, 2285, "");
}
if (itemUsed == 2285 && useWith == 1985 || itemUsed == 1985
&& useWith == 2285) {
Cooking.pastryCreation(player, 2285, 1985, 2287, "");
}
if (itemUsed == 2140 && useWith == 2289 || itemUsed == 2289
&& useWith == 2140) {
Cooking.cookingAddon(player, 2140, 2289, 2293, 45, 26);
}
if (itemUsed == 319 && useWith == 2289 || itemUsed == 2289
&& useWith == 319) {
Cooking.cookingAddon(player, 319, 2289, 2297, 55, 39);
}
if (itemUsed == 2116 && useWith == 2289 || itemUsed == 2289
&& useWith == 2116) {
Cooking.cookingAddon(player, 2116, 2289, 2301, 65, 45);
}
/**
* Pie Making
*/
if (itemUsed == 2313 && useWith == 1953 || itemUsed == 1953
&& useWith == 2313) {
Cooking.pastryCreation(player, 2313, 1953, 2315,
"You put the pastry dough into the pie dish to make a pie shell.");
}
if (itemUsed == 2315 && useWith == 1955 || itemUsed == 1955
&& useWith == 2315) {
Cooking.pastryCreation(player, 2315, 1955, 2317,
"You fill the pie with cooking apple.");
}
if (itemUsed == 2315 && useWith == 5504 || itemUsed == 5504
&& useWith == 2315) {
Cooking.pastryCreation(player, 2315, 5504, 7212, "");
}
if (itemUsed == 7212 && useWith == 5982 || itemUsed == 5982
&& useWith == 7212) {
Cooking.pastryCreation(player, 7212, 5982, 7214, "");
}
if (itemUsed == 1955 && useWith == 7214 || itemUsed == 7214
&& useWith == 1955) {
Cooking.pastryCreation(player, 1955, 7214, 7216, "");
}
if (itemUsed == 2315 && useWith == 1951 || itemUsed == 1951 && useWith == 2315) {
Cooking.pastryCreation(player, 1951, 2315, 2321, "");
}
/**
* Pitta/ Ugthanki Kebab
*/
if (itemUsed == 1865 && useWith == 1881 || itemUsed == 1881
&& useWith == 1865) {
Cooking.cookingAddon(player, 1865, 1881, 1883, 0, 40);
}
if (player.tutorialProgress < 36) {
if (itemUsed == 1929 && useWith == 1933 || itemUsed == 1933 && useWith == 1929) {
player.getItemAssistant().deleteItem(1929, 1);
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().addItem(2307, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1931, 1);
if (player.tutorialProgress == 8) {
player.getDialogueHandler().sendDialogues(3026, -1);
}
}
}
if (player.tutorialProgress > 35) {
if (itemUsed == 1929 && useWith == 1933 || itemUsed == 1933 && useWith == 1929) {
player.getDialogueHandler().sendDialogues(3204, -1);
}
}
if (player.tutorialProgress > 35) {
if (itemUsed == 1933 && useWith == 1937 || itemUsed == 1937 && useWith == 1933) {
player.getDialogueHandler().sendDialogues(3205, -1);
}
}
if (itemUsed == 1987 && useWith == 1937 || itemUsed == 1937
&& useWith == 1987) {
if (player.playerLevel[player.playerCooking] >= 35) {
player.getItemAssistant().addItem(1993, 1);
player.getItemAssistant().deleteItem(1937, 1);
player.getItemAssistant().deleteItem(1987, 1);
player.getPlayerAssistant().addSkillXP(200, player.playerCooking);
} else {
player.getPacketSender().sendMessage(
"You need grapes and a jug of water to make wine.");
}
}
switch (itemUsed) {
default:
if (player.playerRights == 3) {
Misc.println("Player used Item id: " + itemUsed
+ " with Item id: " + useWith);
}
break;
}
}
public static void itemOnNpc(final Player c, final int itemId, final int npcId, final int slot) {
switch (itemId) {
default:
if (c.playerRights == 3) {
Misc.println("Player used Item id: " + itemId
+ " with Npc id: " + npcId + " With Slot : " + slot);
}
break;
}
}
}