Def cleanup (#585)

* Object definition cleanup

* Update ShopAssistant.java

* stackables

* notables

* unused files

* more junk

* almost done

* working

* moving old methods to deprecated

* update

* fixed pickpocket typos

* Update Pickpocket.java

* Remove redundant method. Fix stall stealing

* Documentation for deprecated methods

* WIP commit partial removal. Has test and dump classes

* Final cleanup

* Move definitions from data folder to cfg

* Temporarily moving definition loaders to GameEngine

This is until loading can be done asynchronously.

* Correct indentation.
This commit is contained in:
MatthewBishop
2023-02-05 17:30:29 -05:00
committed by GitHub
parent b2212d357e
commit eab153ee3f
98 changed files with 21771 additions and 285672 deletions
@@ -7,6 +7,7 @@ import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.file.Paths;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -14,6 +15,12 @@ import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import com.rs2.gui.ControlPanel;
import org.apollo.cache.IndexedFileSystem;
import org.apollo.cache.decoder.ItemDefinitionDecoder;
import org.apollo.cache.decoder.ObjectDefinitionDecoder;
import org.apollo.cache.def.ObjectDefinition;
import org.apollo.jagcached.Constants;
import org.apollo.jagcached.FileServer;
import com.rs2.game.bots.BotHandler;
@@ -27,7 +34,7 @@ import com.rs2.game.content.minigames.magetrainingarena.MageTrainingArena;
import com.rs2.game.content.minigames.trawler.Trawler;
import com.rs2.game.globalworldobjects.Doors;
import com.rs2.game.globalworldobjects.DoubleDoors;
import com.rs2.game.items.ItemDefinition;
import com.rs2.game.items.ItemDefinitions;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.players.Client;
import com.rs2.game.players.Player;
@@ -43,7 +50,6 @@ import com.rs2.world.GlobalDropsHandler;
import com.rs2.world.ItemHandler;
import com.rs2.world.ObjectHandler;
import com.rs2.world.ObjectManager;
import com.rs2.world.clip.ObjectDefinition;
import com.rs2.world.clip.RegionFactory;
import io.netty.util.ResourceLeakDetector;
@@ -181,13 +187,17 @@ public class GameEngine {
System.exit(1);
}
IndexedFileSystem cache = new IndexedFileSystem(Paths.get(Constants.FILE_SYSTEM_DIR), true);
new ObjectDefinitionDecoder(cache).run();
new ItemDefinitionDecoder(cache).run();
/**
* Initialise Handlers
*/
RegionFactory.load();
RegionFactory.load(cache);
Doors.getSingleton().load();
DoubleDoors.getSingleton().load();
ItemDefinition.read();
ItemDefinitions.load();
GlobalDropsHandler.initialize();
Connection.initialize();
HostBlacklist.loadBlacklist();
@@ -7,7 +7,7 @@ import java.util.*;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Client;
import com.rs2.util.Misc;
import com.rs2.util.Stream;
@@ -70,7 +70,7 @@ public class Bot {
}
if (items.size() <= 0) return;
int item_id = Misc.randomArrayListItem(items);
String item_name = ItemAssistant.getItemName(item_id).toLowerCase();
String item_name = DeprecatedItems.getItemName(item_id).toLowerCase();
int value = BotHandler.getItemPrice(botClient.shopId, item_id);
if (value <= 0) return;
@@ -20,7 +20,7 @@ import com.rs2.game.content.minigames.castlewars.CastleWars;
import com.rs2.game.content.music.sound.CombatSounds;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.skills.slayer.SlayerRequirements;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.npcs.Npc;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.players.Client;
@@ -582,7 +582,7 @@ public class CombatAssistant {
if (RangeData.correctBowAndArrows(player) < player.playerEquipment[player.playerArrows] && CombatConstants.CORRECT_ARROWS && player.usingBow && !RangeData.usingCrystalBow(player) && player.playerEquipment[player.playerWeapon] != 9185) {
player.getItemAssistant();
player.getItemAssistant();
player.getPacketSender().sendMessage("You can't use " + ItemAssistant.getItemName(player.playerEquipment[player.playerArrows]).toLowerCase() + "s with a " + ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase() + ".");
player.getPacketSender().sendMessage("You can't use " + DeprecatedItems.getItemName(player.playerEquipment[player.playerArrows]).toLowerCase() + "s with a " + DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase() + ".");
player.stopMovement();
player.npcIndex = 0;
return;
@@ -884,7 +884,7 @@ public class CombatAssistant {
&& !player.usingMagic) {
player.getItemAssistant();
player.getItemAssistant();
player.getPacketSender().sendMessage("You can't use " + ItemAssistant.getItemName(player.playerEquipment[player.playerArrows]).toLowerCase() + "s with a " + ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase() + ".");
player.getPacketSender().sendMessage("You can't use " + DeprecatedItems.getItemName(player.playerEquipment[player.playerArrows]).toLowerCase() + "s with a " + DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase() + ".");
player.stopMovement();
resetPlayerAttack();
return;
@@ -1,7 +1,7 @@
package com.rs2.game.content.combat.magic;
import com.rs2.GameConstants;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
@@ -87,7 +87,7 @@ public class MagicRequirements {
c.getPacketSender()
.sendMessage(
"You need a "
+ ItemAssistant.getItemName(
+ DeprecatedItems.getItemName(
staffRequired).toLowerCase()
+ " to cast this spell.");
return false;
@@ -2,7 +2,7 @@ package com.rs2.game.content.combat.melee;
import com.rs2.GameConstants;
import com.rs2.game.content.combat.magic.MagicData;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.ItemConstants;
import com.rs2.game.items.impl.Greegree.MonkeyData;
import com.rs2.game.players.Player;
@@ -95,7 +95,7 @@ public class MeleeData {
**/
public static int getAttackDelay(Player c) {
String s = ItemAssistant.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
String s = DeprecatedItems.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
if (c.usingMagic) {
switch (MagicData.MAGIC_SPELLS[c.spellId][0]) {
case 12871: // ice blitz
@@ -216,7 +216,7 @@ public class MeleeData {
**/
public static void getPlayerAnimIndex(Player c) {
String weaponName = ItemAssistant.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
String weaponName = DeprecatedItems.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
c.playerStandIndex = 0x328;
c.playerTurnIndex = 0x337;
c.playerWalkIndex = 0x333;
@@ -310,7 +310,7 @@ public class MeleeData {
**/
public static int getWeaponAnimation(Player c) {
String weaponName = ItemAssistant.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
String weaponName = DeprecatedItems.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
MonkeyData data = MonkeyData.forId(c.playerEquipment[ItemConstants.WEAPON]);
if (data != null)
return data.getAttackAnim();
@@ -403,8 +403,8 @@ public class MeleeData {
MonkeyData data = MonkeyData.forId(c.playerEquipment[ItemConstants.WEAPON]);
if (data != null)
return data.getBlockAnim();
String weaponName = ItemAssistant.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
String shieldName = ItemAssistant.getItemName(c.playerEquipment[ItemConstants.SHIELD]).toLowerCase();
String weaponName = DeprecatedItems.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
String shieldName = DeprecatedItems.getItemName(c.playerEquipment[ItemConstants.SHIELD]).toLowerCase();
if (c.playerEquipment[c.playerShield] >= 8844
&& c.playerEquipment[c.playerShield] <= 8850) {
return 4177;
@@ -443,7 +443,7 @@ public class MeleeData {
* How long it takes to hit your enemy
**/
public static int getHitDelay(Player c) {
String weaponName = ItemAssistant.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
String weaponName = DeprecatedItems.getItemName(c.playerEquipment[ItemConstants.WEAPON]).toLowerCase();
if (c.usingMagic) {
switch (MagicData.MAGIC_SPELLS[c.spellId][0]) {
case 12891:
@@ -1,11 +1,12 @@
package com.rs2.game.content.consumables;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemData;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class Potions {
@@ -31,9 +32,9 @@ public class Potions {
c.getCombatAssistant().resetPlayerAttack();
c.attackTimer++;
c.getPacketSender().sendMessage(
"You drink some of your " + ItemData.getItemName(itemId) + ".");
"You drink some of your " + ItemDefinition.lookup(itemId).getName() + ".");
c.startAnimation(829);
final String item = ItemData.getItemName(itemId);
final String item = ItemDefinition.lookup(itemId).getName();
String m = "";
if (item.endsWith("(4)")) {
m = "You have 3 doses of potion left.";
@@ -460,13 +461,13 @@ public class Potions {
}
public boolean isPotion(int itemId) {
String name = ItemAssistant.getItemName(itemId);
String name = DeprecatedItems.getItemName(itemId);
return name.contains("(4)") || name.contains("(3)")
|| name.contains("(2)") || name.contains("(1)");
}
public boolean potionNames(int itemId) {
String name = ItemAssistant.getItemName(itemId);
String name = DeprecatedItems.getItemName(itemId);
return name.endsWith("potion(4)") || name.endsWith("potion(3)")
|| name.endsWith("potion(2)") || name.endsWith("potion(1)")
|| name.contains("saradomin brew")
@@ -1,13 +1,16 @@
package com.rs2.game.content.minigames;
import java.util.concurrent.CopyOnWriteArrayList;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.game.content.combat.prayer.PrayerDrain;
import com.rs2.game.content.minigames.castlewars.CastleWars;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.GameItem;
import com.rs2.game.items.ItemData;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.ItemConstants;
import com.rs2.game.items.impl.RareProtection;
import com.rs2.game.players.Client;
@@ -242,7 +245,7 @@ public class Dueling {
return false;
}
changeDuelStuff();
if (!ItemData.itemStackable[itemID]) {
if (!ItemDefinition.lookup(itemID).isStackable()) {
for (int a = 0; a < amount; a++) {
if (player.getItemAssistant().playerHasItem(itemID, 1)) {
stakedItems.add(new GameItem(itemID, 1));
@@ -259,7 +262,7 @@ public class Dueling {
player.getPacketSender().sendString("", 6684);
o.getPacketSender().sendString("", 6684);
}
if (ItemData.itemStackable[itemID] || ItemData.itemIsNote[itemID]) {
if (ItemDefinition.lookup(itemID).isStackable() || ItemDefinition.lookup(itemID).isNote()) {
boolean found = false;
for (GameItem item : stakedItems) {
if (item.id == itemID) {
@@ -313,7 +316,7 @@ public class Dueling {
o.getDueling().declineDuel();
return false;
}
if (ItemData.itemStackable[itemID]) {
if (ItemDefinition.lookup(itemID).isStackable()) {
if (player.getItemAssistant().freeSlots() - 1 < player.duelSpaceReq) {
player.getPacketSender().sendMessage(
"You have too many rules set to remove that item.");
@@ -323,7 +326,7 @@ public class Dueling {
changeDuelStuff();
boolean goodSpace = true;
if (!ItemData.itemStackable[itemID]) {
if (!ItemDefinition.lookup(itemID).isStackable()) {
for (int a = 0; a < amount; a++) {
for (GameItem item : stakedItems) {
if (item.id == itemID) {
@@ -422,21 +425,21 @@ public class Dueling {
}
String itemId = "";
for (GameItem item : stakedItems) {
if (ItemData.itemStackable[item.id] || ItemData.itemIsNote[item.id]) {
itemId += ItemAssistant.getItemName(item.id) + " x "
if (ItemDefinition.lookup(item.id).isStackable() || ItemDefinition.lookup(item.id).isNote()) {
itemId += DeprecatedItems.getItemName(item.id) + " x "
+ Misc.format(item.amount) + "\\n";
} else {
itemId += ItemAssistant.getItemName(item.id) + "\\n";
itemId += DeprecatedItems.getItemName(item.id) + "\\n";
}
}
player.getPacketSender().sendString(itemId, 6516);
itemId = "";
for (GameItem item : o.getDueling().stakedItems) {
if (ItemData.itemStackable[item.id] || ItemData.itemIsNote[item.id]) {
itemId += ItemAssistant.getItemName(item.id) + " x "
if (ItemDefinition.lookup(item.id).isStackable() || ItemDefinition.lookup(item.id).isNote()) {
itemId += DeprecatedItems.getItemName(item.id) + " x "
+ Misc.format(item.amount) + "\\n";
} else {
itemId += ItemAssistant.getItemName(item.id) + "\\n";
itemId += DeprecatedItems.getItemName(item.id) + "\\n";
}
}
player.getPacketSender().sendString(itemId, 6517);
@@ -650,7 +653,7 @@ public class Dueling {
public void claimStakedItems() {
for (GameItem item : otherStakedItems) {
if (item.id > 0 && item.amount > 0) {
if (ItemData.itemStackable[item.id]) {
if (ItemDefinition.lookup(item.id).isStackable()) {
if (!player.getItemAssistant().addItem(item.id, item.amount)) {
GameEngine.itemHandler.createGroundItem(player, item.id,
player.getX(), player.getY(), item.amount, player.getId());
@@ -668,7 +671,7 @@ public class Dueling {
}
for (GameItem item : stakedItems) {
if (item.id > 0 && item.amount > 0) {
if (ItemData.itemStackable[item.id]) {
if (ItemDefinition.lookup(item.id).isStackable()) {
if (!player.getItemAssistant().addItem(item.id, item.amount)) {
GameEngine.itemHandler.createGroundItem(player, item.id,
player.getX(), player.getY(), item.amount, player.getId());
@@ -712,7 +715,7 @@ public class Dueling {
if (item.amount < 1) {
continue;
}
if (ItemData.itemStackable[item.id] || ItemData.itemIsNote[item.id]) {
if (ItemDefinition.lookup(item.id).isStackable() || ItemDefinition.lookup(item.id).isNote()) {
player.getItemAssistant().addItem(item.id, item.amount);
} else {
player.getItemAssistant().addItem(item.id, 1);
@@ -793,8 +796,8 @@ public class Dueling {
}
}
}
if (i == 16 && (player.getItemAssistant().is2handed(ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase(), player.playerEquipment[player.playerWeapon])
&& player.getItemAssistant().freeSlots() == 0) || (o.getItemAssistant().is2handed(ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase(), player.playerEquipment[player.playerWeapon])
if (i == 16 && (player.getItemAssistant().is2handed(DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase(), player.playerEquipment[player.playerWeapon])
&& player.getItemAssistant().freeSlots() == 0) || (o.getItemAssistant().is2handed(DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase(), player.playerEquipment[player.playerWeapon])
&& o.getItemAssistant().freeSlots() == 0)) {
player.getPacketSender().sendMessage("You or your opponent don't have the required space to set this rule.");
return;
@@ -4,7 +4,7 @@ import java.util.HashMap;
import java.util.Iterator;
import com.rs2.GameConstants;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -72,7 +72,7 @@ public class CastleWars {
int amount = c.getItemAssistant().getItemAmount(item);
if (itemId == item && !isInCw(c)) {
c.getItemAssistant().deleteItem(item, amount);
c.getPacketSender().sendMessage("You shouldn't have " + ItemAssistant.getItemName(itemId) + " outside of castlewars!");
c.getPacketSender().sendMessage("You shouldn't have " + DeprecatedItems.getItemName(itemId) + " outside of castlewars!");
return false;
}
}
@@ -5,7 +5,7 @@ import java.util.Random;
import com.rs2.GameConstants;
import com.rs2.game.content.combat.magic.CastRequirements;
import com.rs2.game.content.combat.magic.Enchanting.EnchantSpell;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
@@ -69,7 +69,7 @@ public class Enchanting {
orbsDeposited -= 20;
int reward = random.nextInt(rewards.length);
player.getItemAssistant().addOrDropItem(rewards[reward], 3);
player.getPacketSender().sendMessage("You are rewarded with 3 " + ItemAssistant.getItemName(rewards[reward]) + "s.");
player.getPacketSender().sendMessage("You are rewarded with 3 " + DeprecatedItems.getItemName(rewards[reward]) + "s.");
}
player.getPacketSender().sendMessage((20 - orbsDeposited) + " more Orbs until your next reward.");
}
@@ -5,7 +5,7 @@
package com.rs2.game.content.minigames.magetrainingarena;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -244,7 +244,7 @@ public class MageTrainingArena {
public void sendItemValue(int itemId) {
player.getPacketSender().sendMessage(
ItemAssistant.getItemName(itemId) + " costs "
DeprecatedItems.getItemName(itemId) + " costs "
+ getTelekineticPointValue(itemId) + " Telekinetic points, "
+ getGraveyardPointValue(itemId) + " Graveyard points,");
player.getPacketSender().sendMessage(
@@ -1,6 +1,7 @@
package com.rs2.game.content.music.sound;
import com.rs2.GameEngine;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.game.content.combat.magic.MagicData;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.players.Player;
@@ -173,10 +174,6 @@ public class CombatSounds {
return "";
}
public static String getItemName(int ItemID) {
return GameEngine.itemHandler.itemList[ItemID].itemName;
}
public static int getMagicSound(Player c, int spellId) {
return MagicData.MAGIC_SPELLS[spellId][16];
}
@@ -254,8 +251,7 @@ public class CombatSounds {
return 417;
}
if (c.playerEquipment[c.playerWeapon] >= 1) {
String wep = getItemName(c.playerEquipment[c.playerWeapon])
.toLowerCase();
String wep = ItemDefinition.lookup(c.playerEquipment[c.playerWeapon]).getName().toLowerCase();
if (c.playerEquipment[c.playerWeapon] == 4718) {// Dharok's
@@ -3,10 +3,12 @@ package com.rs2.game.content.random;
import java.awt.Point;
import java.util.ArrayList;
import java.util.Random;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.game.items.ItemConstants;
import com.rs2.game.items.ItemData;
import com.rs2.game.objects.Objects;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
@@ -109,7 +111,7 @@ public class PartyRoom {
public static int arraySlot(int[] array, int itemID) {
int spare = -1;
for (int x = 0; x < array.length; x++) {
if (array[x] == itemID && ItemData.itemStackable[itemID]) {
if (array[x] == itemID && ItemDefinition.lookup(itemID).isStackable()) {
return x;
} else if (spare == -1 && array[x] <= 0) {
spare = x;
@@ -132,7 +134,7 @@ public class PartyRoom {
public static void accept(Player c) {
for (int x = 0; x < c.party.length; x++) {
if (c.partyN[x] > 0) {
if (ItemData.itemStackable[c.party[x]]) {
if (ItemDefinition.lookup(c.party[x]).isStackable()) {
int slot = arraySlot(roomItems, c.party[x]);
if (slot < 0) {
c.getPacketSender().sendMessage("Theres not enough space left in the chest.");
@@ -208,7 +210,7 @@ public class PartyRoom {
return;
}
if (player.getItemAssistant().isStackable(id)) {
if (ItemDefinition.lookup(id).isStackable()) {
int slot = arraySlot(player.party, id);
if (slot == -1) {
player.getPacketSender().sendMessage("You can only deposit up to 8 items at once.");
@@ -10,7 +10,7 @@ import com.rs2.game.content.skills.core.Mining;
import com.rs2.game.content.skills.herblore.Herblore;
import com.rs2.game.content.skills.smithing.Smelting;
import com.rs2.game.content.skills.woodcutting.Woodcutting;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -139,7 +139,7 @@ public class SkillHandler {
public static void send1Item(Player c, int itemId) {
c.getPacketSender().sendFrame246(1746, view190 ? 190 : 150, itemId);
c.getPacketSender().sendString(
getLine(c) + "" + ItemAssistant.getItemName(itemId) + "", 2799);
getLine(c) + "" + DeprecatedItems.getItemName(itemId) + "", 2799);
c.getPacketSender().sendChatInterface(4429);
}
@@ -9,7 +9,7 @@ import com.rs2.game.content.StaticObjectList;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.randomevents.RandomEventHandler;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.ItemConstants;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -109,7 +109,7 @@ public class Cooking extends SkillHandler {
c.getItemAssistant().addItem(StaticItemList.BUCKET, 1);
c.getItemAssistant().addItem(StaticItemList.POT, 1);
c.getItemAssistant().addItem(item, 1);
c.getPacketSender().sendMessage("You mix the water and flour to make some " + ItemAssistant.getItemName(item) + ".");
c.getPacketSender().sendMessage("You mix the water and flour to make some " + DeprecatedItems.getItemName(item) + ".");
}
c.getPacketSender().closeAllWindows();
}
@@ -120,7 +120,7 @@ public class Cooking extends SkillHandler {
c.getItemAssistant().deleteItem(itemID2, 1);
c.getItemAssistant().addItem(giveItem, 1);
if (message.equalsIgnoreCase("")) {
c.getPacketSender().sendMessage("You mix the two ingredients and get an " + ItemAssistant.getItemName(giveItem) + ".");
c.getPacketSender().sendMessage("You mix the two ingredients and get an " + DeprecatedItems.getItemName(giveItem) + ".");
} else {
c.getPacketSender().sendMessage(message);
}
@@ -134,10 +134,10 @@ public class Cooking extends SkillHandler {
c.getItemAssistant().deleteItem(itemID2, 1);
c.getItemAssistant().addItem(giveItem, 1);
c.getPlayerAssistant().addSkillXP(expGained, 7);
c.getPacketSender().sendMessage("You create a " + ItemAssistant.getItemName(giveItem) + ".");
c.getPacketSender().sendMessage("You create a " + DeprecatedItems.getItemName(giveItem) + ".");
}
} else {
c.getPacketSender().sendMessage("You don't have the required level to make an " + ItemAssistant.getItemName(giveItem));
c.getPacketSender().sendMessage("You don't have the required level to make an " + DeprecatedItems.getItemName(giveItem));
}
}
@@ -149,7 +149,7 @@ public class Cooking extends SkillHandler {
private static void viewCookInterface(Player c, int item) {
c.getPacketSender().sendChatInterface(1743);
c.getPacketSender().sendFrame246(13716, view190 ? 190 : 170, item);
c.getPacketSender().sendString(getLine(c) + "" + ItemAssistant.getItemName(item) + "", 13717);
c.getPacketSender().sendString(getLine(c) + "" + DeprecatedItems.getItemName(item) + "", 13717);
}
public static boolean startCooking(Player c, int itemId, int objectId) {
@@ -8,7 +8,7 @@ import com.rs2.game.content.StaticItemList;
import com.rs2.game.content.StaticObjectList;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -80,7 +80,7 @@ public class CookingTutorialIsland extends SkillHandler {
c.getPacketSender().sendChatInterface(1743);
c.getPacketSender().sendFrame246(13716, 190, item);
c.getPacketSender().sendString(
"" + ItemAssistant.getItemName(item) + "", 13717);
"" + DeprecatedItems.getItemName(item) + "", 13717);
}
private static void cookTutFish(final Player c) {
@@ -5,7 +5,7 @@ import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.StaticItemList;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import java.util.HashMap;
@@ -100,7 +100,7 @@ public class DairyChurn {
}
container.setTick(5);
player.startAnimation(CHURN_ANIMATION);
player.getPacketSender().sendMessage("You make a " + ItemAssistant.getItemName(churnData.getResult()).toLowerCase() + ".");
player.getPacketSender().sendMessage("You make a " + DeprecatedItems.getItemName(churnData.getResult()).toLowerCase() + ".");
for (int i = 0; i < churnData.getUsed().length; i++)
player.getItemAssistant().deleteItem(churnData.getUsed()[i], 1);
player.getItemAssistant().addItem(churnData.getResult(), 1);
@@ -7,7 +7,7 @@ import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.randomevents.RandomEventHandler;
import com.rs2.game.content.randomevents.RiverTroll;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -82,7 +82,7 @@ public class Fishing extends SkillHandler {
if (!c.getItemAssistant().playerHasItem(data[i][3])) {
c.getDialogueHandler().sendStatement(
"You need more "
+ ItemAssistant.getItemName(data[i][3])
+ DeprecatedItems.getItemName(data[i][3])
.toLowerCase().toLowerCase()
+ " in order to fish at this spot.");
return;
@@ -206,13 +206,13 @@ public class Fishing extends SkillHandler {
c.getPacketSender()
.sendMessage(
"You don't have any "
+ ItemAssistant
+ DeprecatedItems
.getItemName(c.playerSkillProp[GameConstants.FISHING][3])
+ " left!");
c.getPacketSender()
.sendMessage(
"You need "
+ ItemAssistant
+ DeprecatedItems
.getItemName(c.playerSkillProp[GameConstants.FISHING][3])
+ " to fish here.");
resetFishing(c);
@@ -272,7 +272,7 @@ public class Fishing extends SkillHandler {
|| c.playerSkillProp[GameConstants.FISHING][1] == RAW_SHRIMPS
|| c.playerSkillProp[GameConstants.FISHING][1] == RAW_MONKFISH ? "some "
: "a ")
+ ItemAssistant
+ DeprecatedItems
.getItemName(
c.playerSkillProp[GameConstants.FISHING][1])
.toLowerCase()
@@ -305,7 +305,7 @@ public class Fishing extends SkillHandler {
c.getDialogueHandler()
.sendStatement(
"You have run out of "
+ ItemAssistant
+ DeprecatedItems
.getItemName(
c.playerSkillProp[GameConstants.FISHING][3])
.toLowerCase()
@@ -352,7 +352,7 @@ public class Fishing extends SkillHandler {
if (!c.getItemAssistant().playerHasItem(HARPOON)) {
c.getPacketSender().sendMessage(
"You need a "
+ ItemAssistant.getItemName(equipment)
+ DeprecatedItems.getItemName(equipment)
.toLowerCase() + " to fish here.");
resetFishing(c);
return false;
@@ -360,7 +360,7 @@ public class Fishing extends SkillHandler {
} else {
resetFishing(c);
c.getPacketSender().sendMessage(
"You need a " + ItemAssistant.getItemName(equipment)
"You need a " + DeprecatedItems.getItemName(equipment)
+ " to fish here.");
return false;
}
@@ -6,7 +6,7 @@ import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.StaticItemList;
import com.rs2.game.content.StaticObjectList;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.objects.Object;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
@@ -34,7 +34,7 @@ public class Mining {
public void obtainGem(Player player) {
int reward = RANDOM_GEMS[(int) (RANDOM_GEMS.length * Math.random())];
player.getItemAssistant().addItem(reward, 1);
player.getPacketSender().sendMessage("You found an " + ItemAssistant.getItemName(reward) + ".");
player.getPacketSender().sendMessage("You found an " + DeprecatedItems.getItemName(reward) + ".");
}
public final int[][] Pick_Settings = {
@@ -237,7 +237,7 @@ public class Mining {
if (!giveGem(player)) {
player.getItemAssistant().addItem(oreID, 1);
player.getPlayerAssistant().addSkillXP(rock.getXp(), GameConstants.MINING);
player.getPacketSender().sendMessage("You manage to mine some " + ItemAssistant.getItemName(oreID).toLowerCase() + ".");
player.getPacketSender().sendMessage("You manage to mine some " + DeprecatedItems.getItemName(oreID).toLowerCase() + ".");
} else {
obtainGem(player);
}
@@ -5,7 +5,7 @@ import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -51,7 +51,7 @@ public class GemCutting extends CraftingData {
player.getItemAssistant();
player.getPacketSender().sendMessage(
"You cut the "
+ ItemAssistant.getItemName(
+ DeprecatedItems.getItemName(
itemId).toLowerCase()
+ ".");
player.startAnimation(g.getAnimation());
@@ -2,7 +2,7 @@ package com.rs2.game.content.skills.crafting;
import com.rs2.GameConstants;
import com.rs2.event.*;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -83,7 +83,7 @@ public class GlassBlowing {
public void makeItem(final int id, final int amount, final int slot) {
if(c.playerLevel[GameConstants.CRAFTING] < data[slot][2]) {
c.getPacketSender().sendMessage("You need a crafting level of "+data[slot][2]+" make a "+ItemAssistant.getItemName(id)+"");
c.getPacketSender().sendMessage("You need a crafting level of "+data[slot][2]+" make a "+DeprecatedItems.getItemName(id)+"");
return;
}
if(!started) {
@@ -1,7 +1,7 @@
package com.rs2.game.content.skills.crafting;
import com.rs2.GameConstants;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class JewelryMaking {
@@ -137,19 +137,19 @@ public class JewelryMaking {
return;
}
if (player.playerLevel[GameConstants.CRAFTING] >= lvl) {
if (ItemAssistant.getItemName(itemAdd).toLowerCase().contains("gold")
if (DeprecatedItems.getItemName(itemAdd).toLowerCase().contains("gold")
&& !player.getItemAssistant().playerHasItem(GOLD_BAR, 1)
|| !player.getItemAssistant().playerHasItem(GOLD_BAR, 1)) {
player.getPacketSender().sendMessage("You need a Gold bar to make this.");
return;
} else if (!player.getItemAssistant().playerHasItem(gem, 1)
&& player.getItemAssistant().playerHasItem(GOLD_BAR, 1)) {
player.getPacketSender().sendMessage(getRequiredMessage(ItemAssistant.getItemName(gem)));
player.getPacketSender().sendMessage(getRequiredMessage(DeprecatedItems.getItemName(gem)));
return;
}
player.getPacketSender().closeAllWindows();
while (done < amount
&& (ItemAssistant.getItemName(gem).toLowerCase()
&& (DeprecatedItems.getItemName(gem).toLowerCase()
.contains("unarmed")
&& player.getItemAssistant().playerHasItem(GOLD_BAR, 1) || player
.getItemAssistant().playerHasItem(gem, 1)
@@ -162,11 +162,11 @@ public class JewelryMaking {
done++;
}
if (done == 1) {
player.getPacketSender().sendMessage("You craft the gold to form a " + ItemAssistant.getItemName(itemAdd) + ".");
player.getPacketSender().sendMessage("You craft the gold to form a " + DeprecatedItems.getItemName(itemAdd) + ".");
} else if (done > 1) {
player.getPacketSender().sendMessage(
"You craft the gold to form " + done
+ " " + ItemAssistant.getItemName(itemAdd)
+ " " + DeprecatedItems.getItemName(itemAdd)
+ "'s.");
}
} else {
@@ -4,7 +4,7 @@ import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class LeatherMaking extends CraftingData {
@@ -24,7 +24,7 @@ public class LeatherMaking extends CraftingData {
c.getPacketSender().sendChatInterface(4429);
c.getPacketSender().sendFrame246(1746, 200, 1131);
c.getPacketSender().sendString(
ItemAssistant.getItemName(1131), 2799);
DeprecatedItems.getItemName(1131), 2799);
c.leatherType = leather;
}
if (l.getLeather() == 6289) {
@@ -88,10 +88,10 @@ public class LeatherMaking extends CraftingData {
"You need "
+ l.getHideAmount()
+ " "
+ ItemAssistant.getItemName(
+ DeprecatedItems.getItemName(
player.leatherType).toLowerCase()
+ " to make "
+ ItemAssistant.getItemName(
+ DeprecatedItems.getItemName(
l.getProduct()).toLowerCase()
+ ".");
player.getPacketSender().closeAllWindows();
@@ -141,14 +141,14 @@ public class LeatherMaking extends CraftingData {
player.getPacketSender()
.sendMessage(
"You make "
+ (ItemAssistant
+ (DeprecatedItems
.getItemName(
l.getProduct())
.contains(
"body") ? "a"
: "some")
+ " "
+ ItemAssistant
+ DeprecatedItems
.getItemName(l
.getProduct())
+ ".");
@@ -3,7 +3,7 @@ package com.rs2.game.content.skills.crafting;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class OrbCharging {
@@ -16,8 +16,8 @@ public class OrbCharging {
if (objectId == l.getObjectId(objectId)) {
if (l.getSpell() == spellId) {
if (!player.getItemAssistant().playerHasItem(567, 1)) {
player.getPacketSender().sendMessage("You need 1 " + ItemAssistant.getItemName(567).toLowerCase() + " to make "
+ ItemAssistant.getItemName(l.getProduct()).toLowerCase() + ".");
player.getPacketSender().sendMessage("You need 1 " + DeprecatedItems.getItemName(567).toLowerCase() + " to make "
+ DeprecatedItems.getItemName(l.getProduct()).toLowerCase() + ".");
player.getPacketSender().closeAllWindows();
return;
}
@@ -4,7 +4,7 @@ import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -61,7 +61,7 @@ public class Pottery {
c.getItemAssistant().addItem(id, 1);
c.getPacketSender().sendMessage(
"You make the soft clay into a "
+ ItemAssistant.getItemName(id) + ".");
+ DeprecatedItems.getItemName(id) + ".");
c.getPlayerAssistant().addSkillXP(xp, GameConstants.CRAFTING);
c.doAmount--;
}
@@ -75,7 +75,7 @@ public class Pottery {
c.startAnimation(unFire);
c.getItemAssistant().deleteItem(softClay, 1);
c.getItemAssistant().addItem(id, 1);
c.getPacketSender().sendMessage("You make the soft clay into a " + ItemAssistant.getItemName(id) + ".");
c.getPacketSender().sendMessage("You make the soft clay into a " + DeprecatedItems.getItemName(id) + ".");
c.getPlayerAssistant().addSkillXP(xp, GameConstants.CRAFTING);
c.doAmount--;
}
@@ -119,8 +119,8 @@ public class Pottery {
player.getItemAssistant().addItem(finishId, 1);
player.startAnimation(Fire);
player.getPacketSender().sendSound(469, 100, 0);
player.getPacketSender().sendMessage("You put a " + ItemAssistant.getItemName(startId) + " into the oven.");
player.getPacketSender().sendMessage("You retrieve the " + ItemAssistant.getItemName(finishId) + " from the oven.");
player.getPacketSender().sendMessage("You put a " + DeprecatedItems.getItemName(startId) + " into the oven.");
player.getPacketSender().sendMessage("You retrieve the " + DeprecatedItems.getItemName(finishId) + " from the oven.");
player.getPlayerAssistant().addSkillXP(xp, GameConstants.CRAFTING);
player.doAmount--;
}
@@ -130,7 +130,7 @@ public class Pottery {
}
if (!player.getItemAssistant().playerHasItem(startId) && player.playerLevel[GameConstants.CRAFTING] >= level) {
player.getPacketSender().sendMessage("You need an " + ItemAssistant.getItemName(startId) + " to do this.");
player.getPacketSender().sendMessage("You need an " + DeprecatedItems.getItemName(startId) + " to do this.");
}
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@@ -142,8 +142,8 @@ public class Pottery {
player.getItemAssistant().addItem(finishId, 1);
player.startAnimation(Fire);
player.getPacketSender().sendSound(469, 100, 0);
player.getPacketSender().sendMessage("You put a " + ItemAssistant.getItemName(startId) + " into the oven.");
player.getPacketSender().sendMessage("You retrieve the " + ItemAssistant.getItemName(finishId) + " from the oven.");
player.getPacketSender().sendMessage("You put a " + DeprecatedItems.getItemName(startId) + " into the oven.");
player.getPacketSender().sendMessage("You retrieve the " + DeprecatedItems.getItemName(finishId) + " from the oven.");
player.getPlayerAssistant().addSkillXP(xp, GameConstants.CRAFTING);
player.doAmount--;
}
@@ -4,7 +4,7 @@ import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class Spinning extends CraftingData {
@@ -51,7 +51,7 @@ public class Spinning extends CraftingData {
player.getItemAssistant().deleteItem(before, 1);
player.getItemAssistant().addItem(after, 1);
player.getPlayerAssistant().addSkillXP(exp, GameConstants.CRAFTING);
player.getPacketSender().sendMessage("You spin the " + ItemAssistant.getItemName(before) + " into a " + ItemAssistant.getItemName(after) + ".");
player.getPacketSender().sendMessage("You spin the " + DeprecatedItems.getItemName(before) + " into a " + DeprecatedItems.getItemName(after) + ".");
player.doAmount--;
}
@@ -5,7 +5,7 @@ import java.util.Map;
import com.rs2.GameEngine;
import com.rs2.game.dialogues.ChatEmotes;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
/**
@@ -115,7 +115,7 @@ public class Farmers {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.ANNOYED, "I am sorry but you have no crops growing in this patch.");
player.getDialogueHandler().endDialogue();
} else {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED, "If you like, but I want " + payment[1] + " " + getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED, "If you like, but I want " + payment[1] + " " + getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.nextChat = 3544;
player.setTempInteger(indexArray);
}
@@ -128,7 +128,7 @@ public class Farmers {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.ANNOYED, "I am sorry but you have no crops growing in this patch.");
player.getDialogueHandler().endDialogue();
} else {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED, "If you like, but I want " + payment[1] + " " + getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED, "If you like, but I want " + payment[1] + " " + getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.nextChat = 3544;
player.setTempInteger(indexArray);
}
@@ -141,7 +141,7 @@ public class Farmers {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.ANNOYED, "I am sorry but you have no crops growing in this patch.");
player.getDialogueHandler().endDialogue();
} else {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED,"If you like, but I want " + payment[1] + " " + getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED,"If you like, but I want " + payment[1] + " " + getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.nextChat = 3544;
player.setTempInteger(indexArray);
}
@@ -155,7 +155,7 @@ public class Farmers {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.ANNOYED, "I am sorry but you have no crops growing in this patch.");
player.getDialogueHandler().endDialogue();
} else {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED, "If you like, but I want " + payment[1] + " " + getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED, "If you like, but I want " + payment[1] + " " + getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.nextChat = 3544;
player.setTempInteger(indexArray);
}
@@ -169,7 +169,7 @@ public class Farmers {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.ANNOYED, "I am sorry but you have no crops growing in this patch.");
player.getDialogueHandler().endDialogue();
} else {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED, "If you like, but I want " + payment[1] + " " + getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(ItemAssistant.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.NOT_INTERESTED, "If you like, but I want " + payment[1] + " " + getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()) + (getFinalPaymentString(DeprecatedItems.getItemName(payment[0]).toLowerCase()).endsWith("s") ? "" : "s") + " for that.");
player.nextChat = 3544;
player.setTempInteger(indexArray);
}
@@ -7,8 +7,8 @@ package com.rs2.game.content.skills.farming;
import java.util.HashMap;
import java.util.Map;
import com.rs2.game.content.skills.SkillConstants;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.Item;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.players.Player;
/**
@@ -108,8 +108,8 @@ public class Seedling {
if (seedlingData == null)
seedlingData = SeedlingData.getUnwatered(usedWith);
if (seedlingData == null
|| (!ItemAssistant.getItemName(itemUsed).toLowerCase()
.contains("watering") && !ItemAssistant.getItemName(usedWith)
|| (!DeprecatedItems.getItemName(itemUsed).toLowerCase()
.contains("watering") && !DeprecatedItems.getItemName(usedWith)
.toLowerCase()
.contains("watering")))
return false;
@@ -121,7 +121,7 @@ public class Seedling {
player.getPacketSender().sendMessage(
"You water the "
+ ItemAssistant.getItemName(seedlingData.getSeedId()).toLowerCase() + ".");
+ DeprecatedItems.getItemName(seedlingData.getSeedId()).toLowerCase() + ".");
player.getItemAssistant().deleteItem(seedlingData.getUnwateredSeedlingId(), 1);
player.getItemAssistant().addItem(seedlingData.getWateredSeedlingId(), 1);
return true;
@@ -18,7 +18,7 @@ import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.skills.SkillConstants;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
/**
@@ -640,7 +640,7 @@ public class SpecialPlantOne {
}
player.getPacketSender().sendMessage(
"You harvest the crop, and pick some "
+ ItemAssistant.getItemName(specialPlantData.getHarvestId()).toLowerCase() + ".");
+ DeprecatedItems.getItemName(specialPlantData.getHarvestId()).toLowerCase() + ".");
player.getItemAssistant().addItem(
specialPlantData.getHarvestId(), 1);
player.getPlayerAssistant().addSkillXP(specialPlantData.getHarvestXp(), SkillConstants.FARMING.ordinal());
@@ -12,6 +12,8 @@ package com.rs2.game.content.skills.farming;
import java.util.HashMap;
import java.util.Map;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.game.dialogues.ChatEmotes;
import com.rs2.game.items.Item;
import com.rs2.game.items.ItemData;
@@ -355,7 +357,7 @@ public class ToolLeprechaun {
public boolean noteItem(int itemId) {
if (ItemData.itemIsNote[itemId]) {
if (ItemDefinition.lookup(itemId).isNote()) {
player.getDialogueHandler().sendNpcChat(3021, ChatEmotes.DEFAULT, "That is a banknote!");
return true;
}
@@ -20,7 +20,7 @@ import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.skills.SkillConstants;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.content.skills.farming.ChopTree.Tree;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -901,7 +901,7 @@ public class WoodTrees {
player.getItemAssistant().addItem(ChopTree.getTree(object).getLog(), 1);
player.getPacketSender().sendMessage(
"You get some "
+ ItemAssistant
+ DeprecatedItems
.getItemName(ChopTree.getTree(object)
.getLog())
.toLowerCase() + ".");
@@ -8,7 +8,7 @@ import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.content.skills.cooking.Cooking;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.objects.Object;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -44,7 +44,7 @@ public class Firemaking {
final int logId = usedWith == firemakingItems[i] ? itemUsed : usedWith;
if (logId == l.getLogId()) {
if (c.playerLevel[GameConstants.FIREMAKING] < l.getLevel()) {
c.getPacketSender().sendMessage("You need a firemaking level of " + l.getLevel() + " to light " + ItemAssistant.getItemName(logId));
c.getPacketSender().sendMessage("You need a firemaking level of " + l.getLevel() + " to light " + DeprecatedItems.getItemName(logId));
return;
}
if (Boundary.isIn(c, Boundary.BANK_AREA) || Boundary.isIn(c, Boundary.LUMB_BUILDING) || Boundary.isIn(c, Boundary.DRAYNOR_BUILDING)) {
@@ -4,7 +4,7 @@ import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -104,9 +104,9 @@ public class ArrowMaking {
|| !player.getItemAssistant().playerHasItem(arrowData.getItem2())) {
player.getDialogueHandler().sendStatement(
"You need 15 "
+ ItemAssistant.getItemName(arrowData.getItem1())
+ DeprecatedItems.getItemName(arrowData.getItem1())
+ " and 15 "
+ ItemAssistant.getItemName(arrowData.getItem2())
+ DeprecatedItems.getItemName(arrowData.getItem2())
+ " to make this.");
player.nextChat = 0;
return false;
@@ -142,13 +142,13 @@ public class ArrowMaking {
count / multiplier);
player.getPacketSender().sendMessage(
"You attach the "
+ ItemAssistant.getItemName(arrowData
+ DeprecatedItems.getItemName(arrowData
.getItem1())
+ " to "
+ count
/ multiplier
+ " "
+ ItemAssistant.getItemName(arrowData
+ DeprecatedItems.getItemName(arrowData
.getItem2()) + "s.");
player.getPlayerAssistant().addSkillXP(
count / multiplier * arrowData.getXp(), 9);
@@ -4,7 +4,7 @@ import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -48,11 +48,11 @@ public class LogCutting {
player.getItemAssistant().deleteItem(player.getFletching().log, 1);
if (product == 52) {
player.getItemAssistant().addItem(product, 15);
player.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(player.getFletching().log) + " into 15 " + ItemAssistant.getItemName(product) + "s.");
player.getPacketSender().sendMessage("You carefully cut the " + DeprecatedItems.getItemName(player.getFletching().log) + " into 15 " + DeprecatedItems.getItemName(product) + "s.");
} else {
player.getItemAssistant().addItem(product, 1);
player.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(player.getFletching().log) + " into a " + ItemAssistant.getItemName(product) + ".");
player.getPacketSender().sendMessage("You carefully cut the " + DeprecatedItems.getItemName(player.getFletching().log) + " into a " + DeprecatedItems.getItemName(product) + ".");
}
player.getPlayerAssistant().addSkillXP(xp, GameConstants.FLETCHING);
@@ -298,7 +298,7 @@ public class LogCutting {
c.getItemAssistant().deleteItem(2859, amount);
c.getItemAssistant().addItem(2861, makeAmount);
c.getPlayerAssistant().addSkillXP(3 * amount, GameConstants.FLETCHING);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2859) + " into " + ItemAssistant.getItemName(2861) + ".");
c.getPacketSender().sendMessage("You turn your " + DeprecatedItems.getItemName(2859) + " into " + DeprecatedItems.getItemName(2861) + ".");
}
}
@@ -320,7 +320,7 @@ public class LogCutting {
c.getItemAssistant().deleteItem(314, feather * 4);
c.getItemAssistant().deleteItem(2864, arrowShaft);
c.getItemAssistant().addItem(2865, arrowShaft);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2864) + " into " + ItemAssistant.getItemName(2865) + "(s).");
c.getPacketSender().sendMessage("You turn your " + DeprecatedItems.getItemName(2864) + " into " + DeprecatedItems.getItemName(2865) + "(s).");
} else {
c.getPacketSender().sendMessage("You need 4 times the amount of feathers as arrow shafts to do this.");
}
@@ -346,21 +346,21 @@ public class LogCutting {
c.getPlayerAssistant().addSkillXP(1 * wolfBoneArrow, GameConstants.FLETCHING);
c.getItemAssistant().deleteItem(2861, wolfBoneArrow);
c.getItemAssistant().deleteItem(2865, wolfBoneArrow);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2865) + " (s) into " + ItemAssistant.getItemName(2866) + "(s).");
c.getPacketSender().sendMessage("You turn your " + DeprecatedItems.getItemName(2865) + " (s) into " + DeprecatedItems.getItemName(2866) + "(s).");
} else if (wolfBoneArrow > flightedArrow) {
c.startAnimation(1248);
c.getItemAssistant().addItem(2866, flightedArrow);
c.getPlayerAssistant().addSkillXP(1 * flightedArrow, GameConstants.FLETCHING);
c.getItemAssistant().deleteItem(2861, flightedArrow);
c.getItemAssistant().deleteItem(2865, flightedArrow);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2865) + " (s) into " + ItemAssistant.getItemName(2866) + "(s).");
c.getPacketSender().sendMessage("You turn your " + DeprecatedItems.getItemName(2865) + " (s) into " + DeprecatedItems.getItemName(2866) + "(s).");
} else if (wolfBoneArrow < flightedArrow) {
c.startAnimation(1248);
c.getItemAssistant().addItem(2866, wolfBoneArrow);
c.getPlayerAssistant().addSkillXP(1 * wolfBoneArrow, GameConstants.FLETCHING);
c.getItemAssistant().deleteItem(2861, wolfBoneArrow);
c.getItemAssistant().deleteItem(2865, wolfBoneArrow);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2865) + " (s) into " + ItemAssistant.getItemName(2866) + "(s).");
c.getPacketSender().sendMessage("You turn your " + DeprecatedItems.getItemName(2865) + " (s) into " + DeprecatedItems.getItemName(2866) + "(s).");
}
}
}
@@ -378,7 +378,7 @@ public class LogCutting {
c.getItemAssistant().deleteItem(2862, amount);
c.getItemAssistant().addItem(2864, makeAmount);
c.getPlayerAssistant().addSkillXP(2 * amount, GameConstants.FLETCHING);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2862) + " (s) into " + ItemAssistant.getItemName(2864) + "(s).");
c.getPacketSender().sendMessage("You turn your " + DeprecatedItems.getItemName(2862) + " (s) into " + DeprecatedItems.getItemName(2864) + "(s).");
}
}
}
@@ -1,6 +1,6 @@
package com.rs2.game.content.skills.fletching;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -36,44 +36,44 @@ public class LogCuttingInterface {
c.getPacketSender().sendFrame246(8883, 180, 52); // left
c.getPacketSender().sendFrame246(8884, 180, 50); // middle
c.getPacketSender().sendFrame246(8885, 180, 48); // right
c.getPacketSender().sendString(ItemAssistant.getItemName(52), 8889);
c.getPacketSender().sendString(ItemAssistant.getItemName(50), 8893);
c.getPacketSender().sendString(ItemAssistant.getItemName(48), 8897);
c.getPacketSender().sendString(DeprecatedItems.getItemName(52), 8889);
c.getPacketSender().sendString(DeprecatedItems.getItemName(50), 8893);
c.getPacketSender().sendString(DeprecatedItems.getItemName(48), 8897);
} else if (item == 1521) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendString("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 54); // left
c.getPacketSender().sendFrame246(8870, 180, 56); // right
c.getPacketSender().sendString(ItemAssistant.getItemName(54), 8874);
c.getPacketSender().sendString(ItemAssistant.getItemName(56), 8878);
c.getPacketSender().sendString(DeprecatedItems.getItemName(54), 8874);
c.getPacketSender().sendString(DeprecatedItems.getItemName(56), 8878);
} else if (item == 1519) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendString("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 60); // left
c.getPacketSender().sendFrame246(8870, 180, 58); // right
c.getPacketSender().sendString(ItemAssistant.getItemName(60), 8874);
c.getPacketSender().sendString(ItemAssistant.getItemName(58), 8878);
c.getPacketSender().sendString(DeprecatedItems.getItemName(60), 8874);
c.getPacketSender().sendString(DeprecatedItems.getItemName(58), 8878);
} else if (item == 1517) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendString("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 64); // left
c.getPacketSender().sendFrame246(8870, 180, 62); // right
c.getPacketSender().sendString(ItemAssistant.getItemName(64), 8874);
c.getPacketSender().sendString(ItemAssistant.getItemName(62), 8878);
c.getPacketSender().sendString(DeprecatedItems.getItemName(64), 8874);
c.getPacketSender().sendString(DeprecatedItems.getItemName(62), 8878);
} else if (item == 1515) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendString("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 68); // left
c.getPacketSender().sendFrame246(8870, 180, 66); // right
c.getPacketSender().sendString(ItemAssistant.getItemName(68), 8874);
c.getPacketSender().sendString(ItemAssistant.getItemName(66), 8878);
c.getPacketSender().sendString(DeprecatedItems.getItemName(68), 8874);
c.getPacketSender().sendString(DeprecatedItems.getItemName(66), 8878);
} else if (item == 1513) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendString("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 72); // left
c.getPacketSender().sendFrame246(8870, 180, 70); // right
c.getPacketSender().sendString(ItemAssistant.getItemName(72), 8874);
c.getPacketSender().sendString(ItemAssistant.getItemName(70), 8878);
c.getPacketSender().sendString(DeprecatedItems.getItemName(72), 8874);
c.getPacketSender().sendString(DeprecatedItems.getItemName(70), 8878);
}
}
@@ -4,7 +4,7 @@ import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -79,7 +79,7 @@ public class Stringing {
return false;
}
if (!player.getItemAssistant().playerHasItem(loadData.getItem1()) || !player.getItemAssistant().playerHasItem(loadData.getItem2())) {
player.getDialogueHandler().sendStatement("You need a " + ItemAssistant.getItemName(loadData.getItem1()) + " and a " + ItemAssistant.getItemName(loadData.getItem2()) + " to make this.");
player.getDialogueHandler().sendStatement("You need a " + DeprecatedItems.getItemName(loadData.getItem1()) + " and a " + DeprecatedItems.getItemName(loadData.getItem2()) + " to make this.");
return false;
}
player.playerIsFletching = true;
@@ -5,7 +5,7 @@ import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -82,9 +82,9 @@ public class TipMaking {
|| !player.getItemAssistant().playerHasItem(itemData.getItem2())) {
player.getDialogueHandler().sendStatement(
"You need "
+ ItemAssistant.getItemName(itemData.getItem1())
+ DeprecatedItems.getItemName(itemData.getItem1())
+ " and "
+ ItemAssistant.getItemName(itemData.getItem2())
+ DeprecatedItems.getItemName(itemData.getItem2())
+ " to make this.");
player.nextChat = 0;
return false;
@@ -108,11 +108,11 @@ public class TipMaking {
player.getItemAssistant().addItem(itemData.getProduct(), itemData.getQuantity());
player.getPacketSender().sendMessage(
"You cut the "
+ ItemAssistant.getItemName(itemData.getItem2())
+ DeprecatedItems.getItemName(itemData.getItem2())
+ " in to "
+ itemData.getQuantity()
+ " "
+ ItemAssistant.getItemName(itemData.getProduct()) + ".");
+ DeprecatedItems.getItemName(itemData.getProduct()) + ".");
player.getPlayerAssistant().addSkillXP(itemData.getQuantity() * itemData.getXp(), GameConstants.FLETCHING);
}
@@ -2,7 +2,7 @@ package com.rs2.game.content.skills.herblore;
import com.rs2.GameConstants;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class GrindingAction {
@@ -39,7 +39,7 @@ public class GrindingAction {
player.getPacketSender().sendSound(SoundList.PESTLE_MOTAR, 100, 0);
player.getItemAssistant().deleteItem(d.getId(), 1);
player.getItemAssistant().addItem(d.getEnd(), 1);
player.getPacketSender().sendMessage("You carefully grind the " + ItemAssistant.getItemName(d.getId()) + ".");
player.getPacketSender().sendMessage("You carefully grind the " + DeprecatedItems.getItemName(d.getId()) + ".");
player.getPlayerAssistant().addSkillXP(1, GameConstants.HERBLORE);
}
}
@@ -5,7 +5,7 @@ import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class Herblore extends SkillHandler {
@@ -34,7 +34,7 @@ public class Herblore extends SkillHandler {
}
c.getItemAssistant().deleteItem(itemId, itemSlot, 1);
c.getItemAssistant().addItem(element[1], 1);
c.getPacketSender().sendMessage("The herb is a " + ItemAssistant.getItemName(element[1]) + ".");
c.getPacketSender().sendMessage("The herb is a " + DeprecatedItems.getItemName(element[1]) + ".");
c.getPlayerAssistant().addSkillXP(element[3], 15);
}
}
@@ -98,7 +98,7 @@ public class Herblore extends SkillHandler {
c.getItemAssistant().deleteItem(itemToDelete, c.getItemAssistant().getItemSlot(itemToDelete), 1);
c.getItemAssistant().deleteItem(itemToDelete2, c.getItemAssistant().getItemSlot(itemToDelete2), 1);
c.getItemAssistant().addItem(itemToAdd, 1);
c.getPacketSender().sendMessage("You make a " + ItemAssistant.getItemName(itemToAdd).toLowerCase() + ".");
c.getPacketSender().sendMessage("You make a " + DeprecatedItems.getItemName(itemToAdd).toLowerCase() + ".");
c.getPlayerAssistant().addSkillXP(potExp, GameConstants.HERBLORE);
deleteTime(c);
if (!c.getItemAssistant().playerHasItem(itemToDelete2, 1) || !c.getItemAssistant().playerHasItem(itemToDelete, 1) || c.doAmount <= 0) {
@@ -4,7 +4,7 @@ import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -88,7 +88,7 @@ public class Ectofuntus {
player.getItemAssistant().deleteItem(ectofuntus.getBoneId(), 1);
player.ectofuntusBoneCrusherState = "Loaded";
player.ectofuntusBoneUsed = ectofuntus.getBoneId();
player.getPacketSender().sendMessage("You load the " + ItemAssistant.getItemName(ectofuntus.getBoneId()) + " into the loader.");
player.getPacketSender().sendMessage("You load the " + DeprecatedItems.getItemName(ectofuntus.getBoneId()) + " into the loader.");
container.stop();
}
@@ -7,7 +7,7 @@ import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.randomevents.Shade;
import com.rs2.game.content.randomevents.Zombie;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -78,7 +78,7 @@ public class Prayer {
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
c.getPacketSender().sendMessage("You bury the " + ItemAssistant.getItemName(element[0]).toLowerCase() + ".");
c.getPacketSender().sendMessage("You bury the " + DeprecatedItems.getItemName(element[0]).toLowerCase() + ".");
container.stop();
}
@Override
@@ -7,7 +7,7 @@ import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class SilverCrafting {
@@ -123,7 +123,7 @@ public class SilverCrafting {
player.startAnimation(SILVER_ANIMATION);
player.getPacketSender().sendMessage(
"You make the silver bar into "
+ ItemAssistant
+ DeprecatedItems
.getItemName(
silverCraft.getResult())
.toLowerCase().toLowerCase() + ".");
@@ -5,7 +5,7 @@ import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -83,13 +83,13 @@ public class Smelting extends SkillHandler {
// Check the player has all required items
if (data[i][4] <= 0) { // Bars with only a primary requirement
if (!c.getItemAssistant().playerHasItem(data[i][3])) {
c.getPacketSender().sendMessage("You need " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " to make this bar.");
c.getPacketSender().sendMessage("You need " + DeprecatedItems.getItemName(data[i][3]).toLowerCase() + " to make this bar.");
c.getPacketSender().closeAllWindows();
return;
}
} else { // Bars with a secondary requirement
if (!c.getItemAssistant().playerHasItem(data[i][3]) || !c.getItemAssistant().playerHasItem(data[i][4], data[i][5])) {
c.getPacketSender().sendMessage("You need 1 " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " and " + data[i][5] + " " + ItemAssistant.getItemName(data[i][4]).toLowerCase() + " to make this bar.");
c.getPacketSender().sendMessage("You need 1 " + DeprecatedItems.getItemName(data[i][3]).toLowerCase() + " and " + data[i][5] + " " + DeprecatedItems.getItemName(data[i][4]).toLowerCase() + " to make this bar.");
c.getPacketSender().closeAllWindows();
return;
}
@@ -128,13 +128,13 @@ public class Smelting extends SkillHandler {
if (c.playerSkillProp[GameConstants.SMITHING][3] == IRON && c.playerSkillProp[GameConstants.SMITHING][4] == -1 && c.isSmelting) {
// Ring of forging
if (c.playerEquipment[c.playerRing] == 2568) {
c.getPacketSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[GameConstants.SMITHING][6]).toLowerCase() + ".");
c.getPacketSender().sendMessage("You receive an " + DeprecatedItems.getItemName(c.playerSkillProp[GameConstants.SMITHING][6]).toLowerCase() + ".");
c.getItemAssistant().addItem(c.playerSkillProp[GameConstants.SMITHING][6], 1);// item
c.getPlayerAssistant().addSkillXP(c.playerSkillProp[GameConstants.SMITHING][2], GameConstants.SMITHING);
} else {
if (Misc.random(100) >= 50) {
c.getPacketSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[GameConstants.SMITHING][6]).toLowerCase() + ".");
c.getPacketSender().sendMessage("You receive an " + DeprecatedItems.getItemName(c.playerSkillProp[GameConstants.SMITHING][6]).toLowerCase() + ".");
c.getItemAssistant().addItem(c.playerSkillProp[GameConstants.SMITHING][6], 1);// item
c.getPlayerAssistant().addSkillXP(c.playerSkillProp[GameConstants.SMITHING][2], GameConstants.SMITHING);
} else {
@@ -142,11 +142,11 @@ public class Smelting extends SkillHandler {
}
}
} else if (c.playerSkillProp[GameConstants.SMITHING][3] == GOLD && c.playerEquipment[c.playerHands] == 776 && c.isSmelting) {
c.getPacketSender().sendMessage("You receive a " + ItemAssistant.getItemName(c.playerSkillProp[GameConstants.SMITHING][6]).toLowerCase() + ".");
c.getPacketSender().sendMessage("You receive a " + DeprecatedItems.getItemName(c.playerSkillProp[GameConstants.SMITHING][6]).toLowerCase() + ".");
c.getItemAssistant().addItem(c.playerSkillProp[GameConstants.SMITHING][6], 1);// item
c.getPlayerAssistant().addSkillXP(56.2, GameConstants.SMITHING);
} else if (c.isSmelting){
c.getPacketSender().sendMessage("You receive a " + ItemAssistant.getItemName(c.playerSkillProp[GameConstants.SMITHING][6]).toLowerCase() + ".");
c.getPacketSender().sendMessage("You receive a " + DeprecatedItems.getItemName(c.playerSkillProp[GameConstants.SMITHING][6]).toLowerCase() + ".");
c.getItemAssistant().addItem(c.playerSkillProp[GameConstants.SMITHING][6], 1);// item
c.getPlayerAssistant().addSkillXP(c.playerSkillProp[GameConstants.SMITHING][2], GameConstants.SMITHING);
}
@@ -4,7 +4,7 @@ import com.rs2.GameConstants;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
public class Smithing {
@@ -12,7 +12,7 @@ public class Smithing {
private int addItem, xp, removeItem, removeAmount, makeTimes;
private boolean hasItem(Player player, int type, String string) {
return (ItemAssistant.getItemName(type).contains(string));
return (DeprecatedItems.getItemName(type).contains(string));
}
public void readInput(Player player, int levelReq, int type, int amountToMake) {
@@ -52,7 +52,7 @@ public class Smithing {
public static void smithItem(Player player, int addItem, int removeItem, int removeItem2, int timesToMake, int XP) {
player.doAmount = timesToMake;
player.getPacketSender().closeAllWindows();
String name = ItemAssistant.getItemName(addItem);
String name = DeprecatedItems.getItemName(addItem);
if (player.getItemAssistant().playerHasItem(removeItem, removeItem2)) {
if (!player.isSmithing) {
player.isSmithing = true;
@@ -3,7 +3,7 @@ package com.rs2.game.content.skills.smithing;
import com.rs2.GameConstants;
import com.rs2.game.content.combat.magic.CastRequirements;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -31,7 +31,7 @@ public class Superheat {
if (itemID == 440 && smelt[2] == 453) {
continue;
} else {
player.getPacketSender().sendMessage("You haven't got enough " + ItemAssistant.getItemName(smelt[2]).toLowerCase() + " to cast this spell!");
player.getPacketSender().sendMessage("You haven't got enough " + DeprecatedItems.getItemName(smelt[2]).toLowerCase() + " to cast this spell!");
return false;
}
}
@@ -1,14 +1,12 @@
package com.rs2.game.content.skills.thieving;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.randomevents.RandomEventHandler;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemList;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -64,48 +62,48 @@ public class Pickpocket extends SkillHandler {
{1944, 1},
}),
MASTER_FARMER(new int[] { 2234, 2235 }, 38, 43.0, 2, 5, new int[][] {
{i("potato seed"), 1, 2},
{i("onion seed"), 1, 2},
{i("cabbage seed"), 1, 2},
{i("tomato seed"), 1, 1},
{i("sweetcorn seedseed"), 1, 1},
{i("strawberry seed"), 1},
{i("watermelon seed"), 1},
{i("barely seed"), 1, 3},
{i("hammerstone seed"), 1, 2},
{i("asgarnian seed"), 1, 1},
{i("jute seed"), 1, 2},
{i("yanillian seed"), 1, 1},
{i("krandorian seed"), 1},
{i("wildblood seed"), 1},
{i("redberry seed"), 1},
{i("cadavaberry seed"), 1},
{i("dwellberry seed"), 1},
{i("jangerberry seed"), 1},
{i("whiteberry seed"), 1},
{i("poison ivy seed"), 1},
{i("marigold seed"), 1},
{i("rosemarry seed"), 1},
{i("nasturtium seed"), 1},
{i("woad seed"), 1},
{i("limpwurt seed"), 1},
{i("guam seed"), 1},
{i("marentill seed"), 1},
{i("tarromin seed"), 1},
{i("harralander seed"), 1},
{i("ranarr seed"), 1},
{i("toadflax seed"), 1},
{i("irit seed"), 1},
{i("avantoe seed"), 1},
{i("kwuarm seed"), 1},
{i("snapdragon seed"), 1},
{i("cadantine seed"), 1},
{i("lantadyme seed"), 1},
{i("dwarf weed seed"), 1},
{i("torstol seed"), 1},
{i("bittercap mushroom spore"), 1},
{i("belladonna seed"), 1},
{i("cactus seed"), 1},
{5318, 1, 2},
{5319, 1, 2},
{5324, 1, 2},
{5322, 1, 1},
{5320, 1, 1},
{5323, 1},
{5321, 1},
{5305, 1, 3},
{5307, 1, 2},
{5308, 1, 1},
{5306, 1, 2},
{5309, 1, 1},
{5310, 1},
{5311, 1},
{5101, 1},
{5102, 1},
{5103, 1},
{5104, 1},
{5105, 1},
{5106, 1},
{5096, 1},
{5097, 1},
{5098, 1},
{5099, 1},
{5100, 1},
{5291, 1},
{5292, 1},
{5293, 1},
{5294, 1},
{5295, 1},
{5296, 1},
{5297, 1},
{5298, 1},
{5299, 1},
{5300, 1},
{5301, 1},
{5302, 1},
{5303, 1},
{5304, 1},
{5282, 1},
{5281, 1},
{5280, 1},
}),
GUARD(new int[] { 9, 32 }, 40, 46.8, 2, 5, new int[][] {
{995, 30},
@@ -191,21 +189,6 @@ public class Pickpocket extends SkillHandler {
return Misc.random(random);
}
public static int i(String ItemName) {
return getItemId(ItemName);
}
public static int getItemId(String itemName) {
for (ItemList i : GameEngine.itemHandler.itemList) {
if (i != null) {
if (i.itemName.equalsIgnoreCase(itemName)) {
return i.itemId;
}
}
}
return -1;
}
public static boolean isNPC(Player c, int npc) {
for (final npcData n : npcData.values()) {
if (npc == n.getNpc(npc)) {
@@ -1,5 +1,7 @@
package com.rs2.game.content.skills.thieving;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.event.CycleEvent;
@@ -7,8 +9,6 @@ import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.randomevents.RandomEventHandler;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.ItemList;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -21,12 +21,30 @@ public class Stalls {
BAKER_STALL(2561, 5, 16, 3, new int[] { 2309, 1 }, new int[] { 1891, 1 }, new int[] { 1895, 1 }),
TEA_STALL(635, 5, 16, 0, new int[] {712, 1 }),
SILK_STALL(2560, 20, 24, 2, new int[] { 950, 1 }),
WINE_STALL(14011, 22, 27, 0, new int[] { 1935, 1 }, new int[] {i("jug of water"), 1 }, new int[] { i("jug of wine"), 1 },
new int[] { i("grapes"), 1 }), SEED_STALL(7053, 27, 10, 0, new int[] { i("potato seed"), 1 }, new int[] {i("onion seed"), 1 },
new int[] { i("cabbage seed"), 1 }, new int[] {i("tomato seed"), 1 }, new int[] { i("sweetcorn seed"), 1 }, new int[] { i("strawberry seed"), 1 },
new int[] {i("watermelon seed"), 1 }, new int[] {i("barley seed"), 1 }, new int[] { i("jute seed"), 1 }, new int[] { i("marigold seed"), 1 },
new int[] {i("rosemary seed"), 1 }, new int[] {i("hammerstone seed"), 1 }, new int[] {i("asgarnain seed"), 1 }, new int[] {i("yanillian seed"), 1 },
new int[] {i("krandorian seed"), 1 }, new int[] {i("wildblood seed"), 1 }),
WINE_STALL(14011, 22, 27, 0,
new int[] { 1935, 1 },
new int[] { 1937, 1 },
new int[] { 1993, 1 },
new int[] { 1987, 1 }),
SEED_STALL(7053, 27, 10, 0,
new int[] { 5318, 1 },
new int[] { 5319, 1 },
new int[] { 5324, 1 },
new int[] { 5322, 1 },
new int[] { 5320, 1 },
new int[] { 5323, 1 },
new int[] { 5321, 1 },
new int[] { 5305, 1 },
new int[] { 5306, 1 },
new int[] { 5096, 1 },
new int[] { 5097, 1 },
new int[] { 5307, 1 },
new int[] { 5308, 1 },
new int[] { 5309, 1 },
new int[] { 5310, 1 },
new int[] { 5311, 1 }),
FUR_STALL(2563, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }),
FUR_STALL2(4278, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }),
FISH_STALL(4705, 42, 42, 0, new int[] { 359, 1 }),
@@ -35,8 +53,14 @@ public class Stalls {
SPICE_STALL(2564, 65, 81.3, 0, new int[] { 2007, 1 }, new int[] { 946, 1 }, new int[] { 1550, 1 }),
GEM_STALL(2562, 75, 160, 3,
new int[] { 1617, 1 }, new int[] { 1619, 1 }, new int[] { 1621, 1 }, new int[] { 1623, 1 }),
MAGIC_STALL(4877, 65, 100, 0, new int[] {i("air rune"), 1}, new int[] {i("water rune"), 1}, new int[] {i("fire rune"), 1}, new int[] {i("law rune"), 1}),
SCIMITAR_STALL(4878, 65, 100, 0, new int[] {i("iron scimitar"), 1}, new int[] {i("steel scimitar"), 1});
MAGIC_STALL(4877, 65, 100, 0,
new int[] { 556, 1 },
new int[] { 555, 1 },
new int[] { 554, 1 },
new int[] { 563, 1 }),
SCIMITAR_STALL(4878, 65, 100, 0,
new int[] { 1323, 1 },
new int[] { 1325, 1 });
private int objectId, levelReq, face;
private int[][] stalls;
@@ -78,21 +102,6 @@ public class Stalls {
return Misc.random(random);
}
public static int i(String ItemName) {
return getItemId(ItemName);
}
public static int getItemId(String itemName) {
for (ItemList i : GameEngine.itemHandler.itemList) {
if (i != null) {
if (i.itemName.equalsIgnoreCase(itemName)) {
return i.itemId;
}
}
}
return -1;
}
public static boolean isObject(int object) {
for (final stallData s : stallData.values()) {
if(object == s.getObject()) {
@@ -147,7 +156,7 @@ public class Stalls {
p.getPlayerAssistant().addSkillXP((int) s.getXp(), GameConstants.THIEVING);
int[] random = s.getStalls()[Misc.random(s.getStalls().length-1)];
s.respawnTime = System.currentTimeMillis() + (respawnTime * GameConstants.CYCLE_TIME);
p.getPacketSender().sendMessage("You steal a " + ItemAssistant.getItemName(random[0]) + " from the stall.");
p.getPacketSender().sendMessage("You steal a " + ItemDefinition.lookup(random[0]).getName() + " from the stall.");
p.getItemAssistant().addItem(random[0], random[1]);
p.setHasThievedStall(true);
CycleEventHandler.getSingleton().addEvent(p, new CycleEvent() {
@@ -1,7 +1,7 @@
package com.rs2.game.content.skills.woodcutting;
import com.rs2.GameEngine;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
@@ -48,7 +48,7 @@ public class BirdNest {
for (int i = 0; i < TREE_CHANCE.length; i++) {
if (randomTree >= TREE_CHANCE[i][1] && randomTree <= TREE_CHANCE[i][2]) {
player.getItemAssistant().addItem(TREE_CHANCE[i][0], 1);
player.getPacketSender().sendMessage("You find a " + ItemAssistant.getItemName(TREE_CHANCE[i][0]) + ".");
player.getPacketSender().sendMessage("You find a " + DeprecatedItems.getItemName(TREE_CHANCE[i][0]) + ".");
}
}
break;
@@ -57,7 +57,7 @@ public class BirdNest {
for (int i = 0; i < RING_CHANCE.length; i++) {
if (randomRing >= RING_CHANCE[i][1] && randomRing <= RING_CHANCE[i][2]) {
player.getItemAssistant().addItem(RING_CHANCE[i][0], 1);
player.getPacketSender().sendMessage("You find a " + ItemAssistant.getItemName(RING_CHANCE[i][0]) + ".");
player.getPacketSender().sendMessage("You find a " + DeprecatedItems.getItemName(RING_CHANCE[i][0]) + ".");
}
}
break;
@@ -66,7 +66,7 @@ public class BirdNest {
for (int i = 0; i < WYSON_CHANCE.length; i++) {
if (randomWyson >= WYSON_CHANCE[i][2] && randomWyson <= WYSON_CHANCE[i][3]) {
player.getItemAssistant().addItem(WYSON_CHANCE[i][0], WYSON_CHANCE[i][1]);
player.getPacketSender().sendMessage("You find a " + ItemAssistant.getItemName(WYSON_CHANCE[i][0]) + ".");
player.getPacketSender().sendMessage("You find a " + DeprecatedItems.getItemName(WYSON_CHANCE[i][0]) + ".");
}
}
break;
@@ -8,7 +8,7 @@ import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.randomevents.RandomEventHandler;
import com.rs2.game.content.randomevents.TreeSpirit;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.objects.Object;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
@@ -314,7 +314,7 @@ public class Woodcutting {
if (p.isWoodcutting) {
p.getItemAssistant().addItem(tree.getLogRecieved(), 1);
p.getPlayerAssistant().addSkillXP(XP, 8);
p.getPacketSender().sendMessage("You manage to get some " + ItemAssistant.getItemName(tree.getLogRecieved()).toLowerCase() + " from the tree.");
p.getPacketSender().sendMessage("You manage to get some " + DeprecatedItems.getItemName(tree.getLogRecieved()).toLowerCase() + " from the tree.");
}
if (p.tutorialProgress == 3) {
p.getDialogueHandler().sendDialogues(3014, 0);
@@ -1,9 +1,10 @@
package com.rs2.game.globalworldobjects;
import org.apollo.cache.def.ObjectDefinition;
import com.rs2.game.objects.Object;
import com.rs2.game.objects.ObjectDefaults;
import com.rs2.game.players.Player;
import com.rs2.world.clip.ObjectDefinition;
import com.rs2.world.clip.Region;
public class ClimbOther {
@@ -40,7 +41,7 @@ public class ClimbOther {
}
public static void useOther(Player player, int objectType) {
final String objectName = ObjectDefinition.getObjectDef(objectType).name;
final String objectName = ObjectDefinition.lookup(objectType).getName();
if (System.currentTimeMillis() - player.climbDelay < 1800) {
return;
}
@@ -1,11 +1,12 @@
package com.rs2.game.globalworldobjects;
import org.apollo.cache.def.ObjectDefinition;
import com.rs2.GameEngine;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.objects.Objects;
import com.rs2.game.players.Player;
import com.rs2.world.ObjectManager;
import com.rs2.world.clip.ObjectDefinition;
import com.rs2.world.clip.Region;
/**
@@ -19,7 +20,7 @@ public class GateHandler {
CLOSED = 0, PARTIAL_OPEN = 1, OPEN = 2;
public boolean isGate(int objectId) {
String objectName = ObjectDefinition.getObjectDef(objectId).name;
String objectName = ObjectDefinition.lookup(objectId).getName();
try {
return objectName.equalsIgnoreCase("gate") || objectName.equalsIgnoreCase("Gate");
} catch (Exception e) {
@@ -0,0 +1,46 @@
package com.rs2.game.items;
/**
* Methods which are set to be phased out but exist to maintain compatibility with the existing source code.
*
* @author Advocatus
*
*/
public class DeprecatedItems {
/**
* Gets the item id for a specific name. This is inefficient and is used for potion mixing. That code needs to be reworked.
* Tagging as {@link java.lang.Deprecated} until the rest of the code can be untangled. It is worth noting that it will only return
* the first matching item id which can cause unintended behavior and should be avoided.
*
* @param name The item name
* @return The item id or -1.
*/
@java.lang.Deprecated
public static int getItemId(String name) {
for (int i = 0; i < org.apollo.cache.def.ItemDefinition.count(); i++) {
org.apollo.cache.def.ItemDefinition def = org.apollo.cache.def.ItemDefinition.lookup(i);
if (def != null && def.getName() != null) {
if (def.getName().equalsIgnoreCase(name)) {
return def.getId();
}
}
}
return -1;
}
/**
* Temporary method which wraps around the ItemDefinition.lookup(id).getName(); This is utilized due to source specific behaviors.
* This should be phased out with discretion.
*
* @param id The id.
* @return The items name or "Unarmed"
*/
@java.lang.Deprecated
public static String getItemName(int id) {
if(org.apollo.cache.def.ItemDefinition.lookup(id) == null || org.apollo.cache.def.ItemDefinition.lookup(id).getName() == null)
return "Unarmed";
return org.apollo.cache.def.ItemDefinition.lookup(id).getName();
}
}
@@ -1,12 +1,14 @@
package com.rs2.game.items;
import org.apollo.cache.def.ItemDefinition;
public class GameItem {
public int id, amount;
public boolean stackable = false;
public GameItem(int id, int amount) {
if (ItemData.itemStackable[id]) {
if (ItemDefinition.lookup(id).isStackable()) {
stackable = true;
}
this.id = id;
@@ -1,5 +1,7 @@
package com.rs2.game.items;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.game.players.Player;
@@ -88,7 +90,7 @@ public class Inventory {
}
public boolean add(int id, int amount) {
if (player.getItemAssistant().isStackable(id)) {
if (ItemDefinition.lookup(id).isStackable()) {
int allAmount = getStackedGroundAmount(id, amount, getCount(id));
if (allAmount > 0) {
GameEngine.itemHandler.createGroundItem(player, id, player.getX(), player
@@ -126,18 +128,6 @@ public class Inventory {
}
}
public boolean ownsItem(String itemName) {
for (int i = 0; i < GameConstants.ITEM_LIMIT; i++) {
if (GameEngine.itemHandler.itemList[i] != null) {
if (GameEngine.itemHandler.itemList[i].itemName
.equalsIgnoreCase(itemName)) {
return true;
}
}
}
return false;
}
public boolean playerHasItem(int item) {
return player.getItemAssistant().playerHasItem(item);
}
@@ -1,7 +1,5 @@
package com.rs2.game.items;
import com.rs2.GameEngine;
/**
* Represents a single item.
*
@@ -98,8 +96,4 @@ public class Item {
public boolean equals(Item item) {
return item.getId() == id && count == item.getCount();
}
public ItemList getDefinition() {
return GameEngine.itemHandler.itemList[id];
}
}
@@ -1,5 +1,7 @@
package com.rs2.game.items;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.game.content.minigames.castlewars.CastleWars;
@@ -42,7 +44,7 @@ public class ItemAssistant {
deleteItem(itemId, 1);
clickTimer = System.currentTimeMillis();
player.getPacketSender().sendMessage(
"You find " + amount + " " + getItemName(item) + ".");
"You find " + amount + " " + DeprecatedItems.getItemName(item) + ".");
} else {
if (System.currentTimeMillis() - clickTimer > 1800) {
addItem(995, 100);
@@ -60,7 +62,7 @@ public class ItemAssistant {
public void destroyInterface(int itemId) {
itemId = player.droppedItem;
String itemName = getItemName(player.droppedItem);
String itemName = DeprecatedItems.getItemName(player.droppedItem);
String[][] info = {
{ "Are you sure you want to destroy this item?", "14174" },
{ "Yes.", "14175" }, { "No.", "14176" }, { "", "14177" },
@@ -74,7 +76,7 @@ public class ItemAssistant {
public void destroyItem(int itemId) {
itemId = player.droppedItem;
String itemName = getItemName(itemId);
String itemName = DeprecatedItems.getItemName(itemId);
deleteItem(itemId,getItemSlot(itemId), player.playerItemsN[getItemSlot(itemId)]);
player.getPacketSender().sendMessage("Your " + itemName + " vanishes as you destroy it.");
player.getPacketSender().closeAllWindows();
@@ -88,12 +90,12 @@ public class ItemAssistant {
}
public void addOrDropItem(int item, int amount) {
if (isStackable(item) && hasFreeSlots(1)) {
if (ItemDefinition.lookup(item).isStackable() && hasFreeSlots(1)) {
addItem(item, amount);
} else if (!hasFreeSlots(amount) && !isStackable(item)) {
} else if (!hasFreeSlots(amount) && !ItemDefinition.lookup(item).isStackable()) {
GameEngine.itemHandler.createGroundItem(player, item, player.getX(), player.getY(), amount, player.playerId);
player.getPacketSender().sendMessage("You have no inventory space, so the item(s) appear beneath you.");
} else if (isStackable(item) && !hasFreeSlots(1) && !playerHasItem(item)) {
} else if (ItemDefinition.lookup(item).isStackable() && !hasFreeSlots(1) && !playerHasItem(item)) {
GameEngine.itemHandler.createGroundItem(player, item, player.getX(), player.getY(), amount, player.playerId);
player.getPacketSender().sendMessage("You have no inventory space, so the item(s) appear beneath you.");
} else {
@@ -261,12 +263,12 @@ public class ItemAssistant {
public int getTotalCount(int itemID) {
int count = 0;
for (int j = 0; j < player.playerItems.length; j++) {
if (ItemData.itemIsNote[itemID + 1]) {
if (ItemDefinition.lookup(itemID + 1).isNote()) {
if (itemID + 2 == player.playerItems[j]) {
count += player.playerItemsN[j];
}
}
if (!ItemData.itemIsNote[itemID + 1]) {
if (!ItemDefinition.lookup(itemID + 1).isNote()) {
if (itemID + 1 == player.playerItems[j]) {
count += player.playerItemsN[j];
}
@@ -486,10 +488,10 @@ public class ItemAssistant {
return false;
}
if ((freeSlots() >= 1 || playerHasItem(item, 1))
&& ItemData.itemStackable[item] || freeSlots() > 0
&& !ItemData.itemStackable[item]) {
&& ItemDefinition.lookup(item).isStackable() || freeSlots() > 0
&& !ItemDefinition.lookup(item).isStackable()) {
for (int i = 0; i < player.playerItems.length; i++) {
if (player.playerItems[i] == item + 1 && ItemData.itemStackable[item]
if (player.playerItems[i] == item + 1 && ItemDefinition.lookup(item).isStackable()
&& player.playerItems[i] > 0) {
player.playerItems[i] = item + 1;
if (player.playerItemsN[i] + amount < GameConstants.MAXITEM_AMOUNT
@@ -559,17 +561,9 @@ public class ItemAssistant {
public void getBonus() {
for (int element : player.playerEquipment) {
if (element > -1) {
for (int j = 0; j < GameConstants.ITEM_LIMIT; j++) {
if (GameEngine.itemHandler.itemList[j] != null) {
if (GameEngine.itemHandler.itemList[j].itemId == element) {
for (int k = 0; k < player.playerBonus.length; k++) {
player.playerBonus[k] += GameEngine.itemHandler.itemList[j].Bonuses[k];
}
break;
}
}
}
int[] bonuses = ItemDefinitions.getBonus(element);
for (int k = 0; k < player.playerBonus.length; k++) {
player.playerBonus[k] += bonuses[k];
}
}
}
@@ -1201,7 +1195,7 @@ public class ItemAssistant {
player.getPacketSender().sendFrame70(specAmount >= 2 ? 500 : 0, 0, --barId);
player.getPacketSender().sendFrame70(specAmount >= 1 ? 500 : 0, 0, --barId);
updateSpecialBar();
sendWeapon(weapon, getItemName(weapon));
sendWeapon(weapon, DeprecatedItems.getItemName(weapon));
}
/**
@@ -1298,7 +1292,7 @@ public class ItemAssistant {
int targetSlot = ItemConstants.HAT;
boolean canWearItem = true;
if (player.playerItems[slot] == wearID + 1) {
getRequirements(getItemName(wearID).toLowerCase(), wearID);
getRequirements(DeprecatedItems.getItemName(wearID).toLowerCase(), wearID);
targetSlot = ItemData.targetSlots[wearID];
if (player.duelRule[11] && targetSlot == 0) {
@@ -1321,7 +1315,7 @@ public class ItemAssistant {
player.getPacketSender().sendMessage("Wearing bodies has been disabled in this duel!");
return false;
}
if (player.duelRule[16] && targetSlot == 5 || player.duelRule[16] && is2handed(getItemName(wearID).toLowerCase(), wearID)) {
if (player.duelRule[16] && targetSlot == 5 || player.duelRule[16] && is2handed(DeprecatedItems.getItemName(wearID).toLowerCase(), wearID)) {
player.getPacketSender().sendMessage("Wearing shield has been disabled in this duel!");
return false;
}
@@ -1448,7 +1442,7 @@ public class ItemAssistant {
int toEquipN = player.playerItemsN[slot];
int toRemove = player.playerEquipment[targetSlot];
int toRemoveN = player.playerEquipmentN[targetSlot];
if (toEquip == toRemove + 1 && ItemData.itemStackable[toRemove]) {
if (toEquip == toRemove + 1 && ItemDefinition.lookup(toRemove).isStackable()) {
deleteItem(toRemove, getItemSlot(toRemove), toEquipN);
player.playerEquipmentN[targetSlot] += toEquipN;
} else if (targetSlot != ItemConstants.SHIELD && targetSlot != ItemConstants.WEAPON) {
@@ -1457,7 +1451,7 @@ public class ItemAssistant {
player.playerEquipment[targetSlot] = toEquip - 1;
player.playerEquipmentN[targetSlot] = toEquipN;
} else if (targetSlot == ItemConstants.SHIELD) {
boolean wearing2h = is2handed(getItemName(player.playerEquipment[ItemConstants.WEAPON]).toLowerCase(), player.playerEquipment[ItemConstants.WEAPON]);
boolean wearing2h = is2handed(DeprecatedItems.getItemName(player.playerEquipment[ItemConstants.WEAPON]).toLowerCase(), player.playerEquipment[ItemConstants.WEAPON]);
if (wearing2h) {
// remove the weapon, add to inventory
toRemove = player.playerEquipment[player.playerWeapon];
@@ -1477,7 +1471,7 @@ public class ItemAssistant {
toRemove = -1;
toRemoveN = 0;
}
boolean is2h = is2handed(getItemName(wearID).toLowerCase(), wearID);
boolean is2h = is2handed(DeprecatedItems.getItemName(wearID).toLowerCase(), wearID);
boolean wearingShield = player.playerEquipment[ItemConstants.SHIELD] > 0;
boolean wearingWeapon = player.playerEquipment[ItemConstants.WEAPON] > 0;
if (is2h) {
@@ -1535,7 +1529,7 @@ public class ItemAssistant {
player.getOutStream().endFrameVarSizeWord();
player.flushOutStream();
}
sendWeapon(player.playerEquipment[player.playerWeapon], getItemName(player.playerEquipment[player.playerWeapon]));
sendWeapon(player.playerEquipment[player.playerWeapon], DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]));
resetBonus();
getBonus();
writeBonus();
@@ -1571,7 +1565,7 @@ public class ItemAssistant {
player.getItemAssistant()
.sendWeapon(
player.playerEquipment[player.playerWeapon],
ItemAssistant
DeprecatedItems
.getItemName(player.playerEquipment[player.playerWeapon]));
resetBonus();
getBonus();
@@ -1607,7 +1601,7 @@ public class ItemAssistant {
player.playerEquipment[slot] = -1;
player.playerEquipmentN[slot] = 0;
sendWeapon(player.playerEquipment[ItemConstants.WEAPON],
getItemName(player.playerEquipment[ItemConstants.WEAPON]));
DeprecatedItems.getItemName(player.playerEquipment[ItemConstants.WEAPON]));
resetBonus();
getBonus();
writeBonus();
@@ -1648,7 +1642,7 @@ public class ItemAssistant {
player.playerEquipment[slot] = -1;
player.playerEquipmentN[slot] = 0;
sendWeapon(player.playerEquipment[player.playerWeapon],
getItemName(player.playerEquipment[player.playerWeapon]));
DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]));
resetBonus();
getBonus();
writeBonus();
@@ -1815,11 +1809,11 @@ public class ItemAssistant {
if (player.playerItemsN[fromSlot] <= 0) {
return false;
}
if (!ItemData.itemIsNote[player.playerItems[fromSlot] - 1]) {
if (!ItemDefinition.lookup(player.playerItems[fromSlot] - 1).isNote()) {
if (player.playerItems[fromSlot] <= 0) {
return false;
}
if (ItemData.itemStackable[player.playerItems[fromSlot] - 1] || player.playerItemsN[fromSlot] > 1) {
if (ItemDefinition.lookup(player.playerItems[fromSlot] - 1).isStackable() || player.playerItemsN[fromSlot] > 1) {
int toBankSlot = 0;
boolean alreadyInBank = false;
for (int i = 0; i < ItemConstants.BANK_SIZE; i++) {
@@ -1942,11 +1936,11 @@ public class ItemAssistant {
return false;
}
}
} else if (ItemData.itemIsNote[player.playerItems[fromSlot] - 1] && !ItemData.itemIsNote[player.playerItems[fromSlot] - 2]) {
} else if (ItemDefinition.lookup(player.playerItems[fromSlot] - 1).isNote() && !ItemDefinition.lookup(player.playerItems[fromSlot] - 2).isNote()) {
if (player.playerItems[fromSlot] <= 0) {
return false;
}
if (ItemData.itemStackable[player.playerItems[fromSlot] - 1] || player.playerItemsN[fromSlot] > 1) {
if (ItemDefinition.lookup(player.playerItems[fromSlot] - 1).isStackable() || player.playerItemsN[fromSlot] > 1) {
int toBankSlot = 0;
boolean alreadyInBank = false;
for (int i = 0; i < ItemConstants.BANK_SIZE; i++) {
@@ -2112,7 +2106,7 @@ public class ItemAssistant {
}
if (!cantWithdrawCuzMaxStack) {
if (!player.takeAsNote) {
if (ItemData.itemStackable[player.bankItems[fromSlot] - 1]) {
if (ItemDefinition.lookup(player.bankItems[fromSlot] - 1).isStackable()) {
if (player.bankItemsN[fromSlot] > amount) {
if (addItem(player.bankItems[fromSlot] - 1, amount)) {
player.bankItemsN[fromSlot] -= amount;
@@ -2143,7 +2137,7 @@ public class ItemAssistant {
resetBank();
resetItems(5064);
}
} else if (player.takeAsNote && ItemData.itemIsNote[player.bankItems[fromSlot]]) {
} else if (player.takeAsNote && ItemDefinition.lookup(player.bankItems[fromSlot]).isNote()) {
if (player.bankItemsN[fromSlot] > amount) {
if (addItem(player.bankItems[fromSlot], amount)) {
player.bankItemsN[fromSlot] -= amount;
@@ -2160,7 +2154,7 @@ public class ItemAssistant {
}
} else {
player.getPacketSender().sendMessage("This item can't be withdrawn as a note.");
if (ItemData.itemStackable[player.bankItems[fromSlot] - 1]) {
if (ItemDefinition.lookup(player.bankItems[fromSlot] - 1).isStackable()) {
if (player.bankItemsN[fromSlot] > amount) {
if (addItem(player.bankItems[fromSlot] - 1, amount)) {
player.bankItemsN[fromSlot] -= amount;
@@ -2199,10 +2193,6 @@ public class ItemAssistant {
}
}
public boolean isStackable(int itemID) {
return ItemData.itemStackable[itemID];
}
/**
* Update Equip tab
**/
@@ -2500,7 +2490,7 @@ public class ItemAssistant {
for (int i = 0; i < player.playerItems.length; i ++) {
int _id = player.playerItems[i];
int _amt = player.playerItemsN[i];
if (_id <= 0 || (_id == itemID && isStackable(_id) && _amt + amount <= Integer.MAX_VALUE)) {
if (_id <= 0 || (_id == itemID && ItemDefinition.lookup(_id).isStackable() && _amt + amount <= Integer.MAX_VALUE)) {
freeS++;
}
}
@@ -2516,29 +2506,6 @@ public class ItemAssistant {
return -1;
}
public static String getItemName(int ItemID) {
for (int i = 0; i < GameConstants.ITEM_LIMIT; i++) {
if (GameEngine.itemHandler.itemList[i] != null) {
if (GameEngine.itemHandler.itemList[i].itemId == ItemID) {
return GameEngine.itemHandler.itemList[i].itemName;
}
}
}
return "Unarmed";
}
public int getItemId(String itemName) {
for (int i = 0; i < GameConstants.ITEM_LIMIT; i++) {
if (GameEngine.itemHandler.itemList[i] != null) {
if (GameEngine.itemHandler.itemList[i].itemName
.equalsIgnoreCase(itemName)) {
return GameEngine.itemHandler.itemList[i].itemId;
}
}
}
return -1;
}
public int getItemSlot(int ItemID) {
for (int i = 0; i < player.playerItems.length; i++) {
if (player.playerItems[i] - 1 == ItemID) {
@@ -2597,27 +2564,4 @@ public class ItemAssistant {
return false;
}
public int getUnnotedItem(int ItemID) {
int newId = ItemID - 1;
String NotedName = "";
for (int i = 0; i < GameConstants.ITEM_LIMIT; i++) {
if (GameEngine.itemHandler.itemList[i] != null) {
if (GameEngine.itemHandler.itemList[i].itemId == ItemID) {
NotedName = GameEngine.itemHandler.itemList[i].itemName;
}
}
}
for (int i = 0; i < GameConstants.ITEM_LIMIT; i++) {
if (GameEngine.itemHandler.itemList[i] != null) {
if (GameEngine.itemHandler.itemList[i].itemName == NotedName) {
if (GameEngine.itemHandler.itemList[i].itemDescription.startsWith("Swap this note at any bank for a") == false) {
newId = GameEngine.itemHandler.itemList[i].itemId;
break;
}
}
}
}
return newId;
}
}
@@ -4,8 +4,9 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
public class ItemData {
@@ -148,7 +149,7 @@ public class ItemData {
"sallet", "Facemask", "Bearhead"};
public static boolean isFullBody(int itemId) {
String weapon = getItemName(itemId);
String weapon = ItemDefinition.lookup(itemId).getName();
if (weapon == null) {
return false;
}
@@ -161,7 +162,7 @@ public class ItemData {
}
public static boolean isFullHelm(int itemId) {
String weapon = getItemName(itemId);
String weapon = ItemDefinition.lookup(itemId).getName();
if (weapon == null) {
return false;
}
@@ -174,7 +175,7 @@ public class ItemData {
}
public static boolean isFullMask(int itemId) {
String weapon = getItemName(itemId);
String weapon = ItemDefinition.lookup(itemId).getName();
if (weapon == null) {
return false;
}
@@ -186,54 +187,11 @@ public class ItemData {
return false;
}
public static String getItemName(int id) {
for (ItemList element : GameEngine.itemHandler.itemList) {
if (element != null) {
if (element.itemId == id) {
return element.itemName;
}
}
}
return null;
}
public static boolean[] itemStackable = new boolean[GameConstants.ITEM_LIMIT];
public static boolean[] itemIsNote = new boolean[GameConstants.ITEM_LIMIT];
public static int[] targetSlots = new int[GameConstants.ITEM_LIMIT];
static {
int counter = 0;
int c;
try {
FileInputStream dataIn = new FileInputStream(new File("./data/data/stackable.dat"));
while ((c = dataIn.read()) != -1) {
if (c == 0) {
itemStackable[counter] = false;
itemStackable[291] = true;
} else {
itemStackable[counter] = true;
}
counter++;
}
dataIn.close();
} catch (IOException e) {
System.out.println("Critical error while loading stackabledata! Trace:");
e.printStackTrace();
}
counter = 0;
try {
FileInputStream dataIn = new FileInputStream(new File("./data/data/notes.dat"));
while ((c = dataIn.read()) != -1) {
itemIsNote[counter] = c == 0;
counter++;
}
dataIn.close();
} catch (IOException e) {
System.out.println("Critical error while loading notedata! Trace:");
e.printStackTrace();
}
counter = 0;
try {
FileInputStream dataIn = new FileInputStream(new File("./data/data/equipment.dat"));
@@ -1,351 +0,0 @@
package com.rs2.game.items;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;
import org.json.JSONObject;
public class ItemDefinition {
public static ItemDefinition getDefs()[] {
return definitions;
}
public ItemDefinition() {
name = null;
itemDescription = null;
shopValue = 0;
lowAlch = 0;
highAlch = 0;
isStackable = false;
isNoteable = false;
weight = 0;
bonuses = null;
stand = -1;
walk = -1;
run = -1;
turn90left = -1;
turn90right = -1;
turn180 = -1;
attack = -1;
block = -1;
id = -1;
}
public ItemDefinition(String iname, String idescription, int ishopvalue, int ilowalch, int ihighalch, boolean iisstackable, boolean iisnoteable,
int iweight, double[] ibonuses, int istand, int iwalk, int irun, int iturn90left, int iturn90right, int iturn180,
int iattack, int iblock, int iid) {
this.name = iname;
this.itemDescription = idescription;
this.shopValue = ishopvalue;
this.lowAlch = ilowalch;
this.highAlch = ihighalch;
this.isStackable = iisstackable;
this.isNoteable = iisnoteable;
this.weight = iweight;
this.bonuses = ibonuses;
this.stand = istand;
this.walk = iwalk;
this.run = irun;
this.turn90left = iturn90left;
this.turn90right = iturn90right;
this.turn180 = iturn180;
this.attack = iattack;
this.block = iblock;
this.id = iid;
}
private int id;
public int getId() {
return id;
}
/**
* Reads the definitions from the file.
*/
public static void read() {
ArrayList<ItemDefinition> definitionsAL = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader("./data/data/itemdef.json"))) {
String line;
while ((line = br.readLine()) != null) {
definitionsAL.add(fromString(line));
}
} catch (Exception e) {
e.printStackTrace();
}
definitions = Arrays.copyOf(definitionsAL.toArray(), definitionsAL.size(), ItemDefinition[].class);
}
/**
* The item definition cache.
*/
public static ItemDefinition[] definitions;
/**
* The total items read from the definitions.
*/
public static int total;
/**
* The item name.
*/
public String name;
/**
* Returns the name of the item.
* @return
*/
public static String getName(int id) {
return definitions[id].name;
}
/**
* The item description.
*/
public String itemDescription;
/**
* Returns the description of an item.
*/
public static String getDescription(int id) {
return definitions[id].itemDescription;
}
/**
* The item price.
*/
public int shopValue;
/**
* Returns the price of an item.
*/
public static int getPrice(int id) {
return definitions[id].shopValue;
}
/**
* The low alch value.
*/
public int lowAlch;
/**
* Returns the low alch value of an item.
*/
public static int getLow(int id) {
return definitions[id].lowAlch;
}
/**
* The high alch value.
*/
public int highAlch;
/**
* Returns the high alch value of an item.
*/
public static int getHigh(int id) {
return definitions[id].highAlch;
}
/**
* Can the item be stacked?
*/
public boolean isStackable;
/**
* Returns whether or not the item can be stacked.
*/
public static boolean canStack(int id) {
return definitions[id].isStackable;
}
/**
* Can the item be noted?
*/
public boolean isNoteable;
/**
* Returns whether or not the item can be noted.
*/
public static boolean canNote(int id) {
return definitions[id].isNoteable;
}
/**
* The weight of an item.
*/
public double weight;
/**
* Returns the weight of an item.
*/
public static double getWeight(int id) {
if (id >= 0 && id < definitions.length)
return definitions[id].weight;
System.out.println("WARNING: id " + id + " doesn't have a definition! 2.147kg is used as weight.");
return 2.147;
}
/**
* The bonuses of an item.
*/
public double[] bonuses;
/**
* Returns the array of bonuses for an item.
*/
public double[] getBonuses(int id) {
return definitions[id].bonuses;
}
/**
* The stand animation of an item.
*/
public int stand;
/**
* Returns the stand animation of an item.
*/
public static int getStand(int id) {
return definitions[id].stand;
}
/**
* The walk animation of an item.
*/
public int walk;
/**
* Returns the walk animation of an item.
*/
public static int getWalk(int id) {
return definitions[id].walk;
}
/**
* The run animation of an item.
*/
public int run;
/**
* Returns the run animation of an item.
*/
public static int getRun(int id) {
return definitions[id].run;
}
/**
* The 90-degree left turn animation of an item.
*/
public int turn90left;
/**
* Returns the 90-degree left turn animation of an item.
*/
public static int get90left(int id) {
return definitions[id].turn90left;
}
/**
* The 90-degree right turn animation of an item.
*/
public int turn90right;
/**
* Returns the 90-degree right turn animation of an item.
*/
public static int get90right(int id) {
return definitions[id].turn90right;
}
/**
* The 180-degree turn animation of an item.
*/
public int turn180;
/**
* Returns the 180-degree turn animation of an item.
*/
public static int get180(int id) {
return definitions[id].turn180;
}
/**
* The attack animation of an item.
*/
public int attack;
/**
* Returns the attack animation of an item
*/
public static int getAttack(int id) {
return definitions[id].attack;
}
/**
* The block animation of an item.
*/
public int block;
/**
* Returns the block animation of an item
*/
public static int getBlock(int id) {
return definitions[id].block;
}
public static ItemDefinition fromString(String idString) {
JSONObject jobj = new JSONObject(idString);
Object[] bonusObjArr = jobj.getJSONArray("bonuses").toList().toArray();
double[] pbonuses = ArrayUtils.toPrimitive(Arrays.copyOf(bonusObjArr, bonusObjArr.length, Double[].class));
return new ItemDefinition(jobj.getString("name"),
jobj.getString("itemDescription"),
jobj.getInt("shopValue"),
jobj.getInt("lowAlch"),
jobj.getInt("highAlch"),
jobj.getBoolean("isStackable"),
jobj.getBoolean("isNoteable"),
jobj.getInt("weight"),
pbonuses,
jobj.getInt("stand"),
jobj.getInt("walk"),
jobj.getInt("run"),
jobj.getInt("turn90left"),
jobj.getInt("turn90right"),
jobj.getInt("turn180"),
jobj.getInt("attack"),
jobj.getInt("block"),
jobj.getInt("id"));
}
@Override
public String toString() {
return "{" +
"name:\"" + name + '\"' +
", itemDescription:\"" + itemDescription + '\"' +
", shopValue:" + shopValue +
", lowAlch:" + lowAlch +
", highAlch:" + highAlch +
", isStackable:" + isStackable +
", isNoteable:" + isNoteable +
", weight:" + weight +
", bonuses:" + Arrays.toString(bonuses) +
", stand:" + stand +
", walk:" + walk +
", run:" + run +
", turn90left:" + turn90left +
", turn90right:" + turn90right +
", turn180:" + turn180 +
", attack:" + attack +
", block:" + block +
", id:" + id +
'}';
}
}
@@ -0,0 +1,112 @@
package com.rs2.game.items;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.rs2.util.Misc;
/**
* Loads the bonuses and weights from a json file.
*
* @author Advocatus
*
*/
public class ItemDefinitions {
private static Map<Integer, Definition> defintions = new HashMap<>();
private static final int[] EMPTY_BONUSES = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
/**
* Gets the array of bonuses associated with this item id.
*
* @param id The item id.
* @return The bonuses or an empty array.
*/
public static int[] getBonus(int id) {
Definition def = defintions.get(id);
return def != null && def.bonuses != null ? def.bonuses : EMPTY_BONUSES;
}
/**
* Gets the weight of the item.
*
* @param id The item id.
* @return The weight or 0.0 by default.
*/
public static double getWeight(int id) {
Definition def = defintions.get(id);
return def != null ? def.weight : 0.0;
}
public static void load() {
Gson gson = new Gson();
try {
Type collectionType = new TypeToken<ItemData[]>() {
}.getType();
ItemData[] data = gson.fromJson(new FileReader("./data/cfg/ItemDefinitions.json"), collectionType);
for (ItemData item : data) {
defintions.put(item.id, new Definition(item));
}
} catch (FileNotFoundException fileex) {
Misc.println("items.json: file not found.");
}
}
private static class Definition {
private double weight;
private int[] bonuses;
private Definition(ItemData item) {
this.weight = item.weight;
this.bonuses = item.bonuses != null ? item.bonuses.getBonuses() : null;
}
}
private static class ItemData {
private int id;
private double weight = 0.0;
private Bonuses bonuses;
}
private static class Bonuses {
int attackStab;
int attackSlash;
int attackCrush;
int attackMagic;
int attackRange;
int defenceStab;
int defenceSlash;
int defenceCrush;
int defenceMagic;
int defenceRange;
int strengthBonus;
int prayerBonus;
public int[] getBonuses() {
int[] bonuses = new int[12];
bonuses[0] = this.attackStab;
bonuses[1] = this.attackSlash;
bonuses[2] = this.attackCrush;
bonuses[3] = this.attackMagic;
bonuses[4] = this.attackRange;
bonuses[5] = this.defenceStab;
bonuses[6] = this.defenceSlash;
bonuses[7] = this.defenceCrush;
bonuses[8] = this.defenceMagic;
bonuses[9] = this.defenceRange;
bonuses[10] = this.strengthBonus;
bonuses[11] = this.prayerBonus;
return bonuses;
}
}
}
@@ -1,16 +0,0 @@
package com.rs2.game.items;
public class ItemList {
public int itemId;
public String itemName;
public String itemDescription;
public double ShopValue;
public double LowAlch;
public double HighAlch;
public int[] Bonuses = new int[100];
public ItemList(int _itemId) {
itemId = _itemId;
}
}
@@ -131,8 +131,8 @@ public class UseItem {
WeaponPoison.execute(player, itemUsed, useWith);
player.getGlassBlowing().ItemOnItem(itemUsed, useWith);
//CapeDye.execute(c, itemUsed, useWith);
if (ItemAssistant.getItemName(itemUsed).contains("(")
&& ItemAssistant.getItemName(useWith).contains("(")) {
if (DeprecatedItems.getItemName(itemUsed).contains("(")
&& DeprecatedItems.getItemName(useWith).contains("(")) {
player.getPotMixing().mixPotion2(itemUsed, useWith);
}
BattleStaffs.makeBattleStaff(player, itemUsed, useWith);
@@ -5,7 +5,7 @@ import com.rs2.game.players.Player;
/**
* @author somedude, credits to Galkon for item weights
*/
public class Weight extends ItemDefinition {
public class Weight {
/**
* Calculates the weight when doing actions
@@ -16,27 +16,28 @@ public class Weight extends ItemDefinition {
* - deleteitem, additem, equip, unequip.
*/
public static void calcWeight(Player c, int item, String action) {
double weight = ItemDefinitions.getWeight(item);
if (action.equalsIgnoreCase("deleteitem")) {
if (getWeight(item) > 99.20) {
c.weight -= getWeight(item) / 100;
if (weight > 99.20) {
c.weight -= weight / 100;
if (c.weight < 0) {
c.weight = 0.0;
}
c.getPacketSender().writeWeight((int) c.weight);
return;
}
c.weight -= getWeight(item) / 10;
c.weight -= weight / 10;
if (c.weight < 0) {
c.weight = 0.0;
}
c.getPacketSender().writeWeight((int) c.weight);
} else if (action.equalsIgnoreCase("additem")) {
if (getWeight(item) > 99.20) {
c.weight += getWeight(item) / 100;
if (weight > 99.20) {
c.weight += weight / 100;
c.getPacketSender().writeWeight((int) c.weight);
return;
}
c.weight += getWeight(item) / 10;
c.weight += weight / 10;
c.getPacketSender().writeWeight((int) c.weight);
}
}
@@ -1,12 +1,13 @@
package com.rs2.game.items.impl;
import com.rs2.GameConstants;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.ItemData;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import static com.rs2.game.content.StaticItemList.*;
import org.apollo.cache.def.ItemDefinition;
/**
* Dye.java
*
@@ -51,13 +52,13 @@ public enum Dye {
};
public static boolean blockDye(Player player, Dye dye, int itemUsed, int useWith) {
if (itemUsed == dye.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && ItemData.itemIsNote[useWith]) {
if (itemUsed == dye.getItemUsed() && DeprecatedItems.getItemName(useWith).equalsIgnoreCase("Cape") && ItemDefinition.lookup(useWith).isNote()) {
player.getPacketSender().sendMessage("You can't dye a noted cape.");
return true;
} else if (itemUsed == dye.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && useWith == dye.getReward() && !ItemData.itemIsNote[useWith]) {
} else if (itemUsed == dye.getItemUsed() && DeprecatedItems.getItemName(useWith).equalsIgnoreCase("Cape") && useWith == dye.getReward() && !ItemDefinition.lookup(useWith).isNote()) {
player.getPacketSender().sendMessage("That cape is already that color.");
return true;
} else if (itemUsed == dye.getItemUsed() && !ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape")) {
} else if (itemUsed == dye.getItemUsed() && !DeprecatedItems.getItemName(useWith).equalsIgnoreCase("Cape")) {
return true;
}
return false;
@@ -68,7 +69,7 @@ public enum Dye {
if (blockDye(player, cape, itemUsed, useWith)) {
return;
}
if (itemUsed == cape.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && !ItemData.itemIsNote[useWith] && useWith != cape.getReward()) {
if (itemUsed == cape.getItemUsed() && DeprecatedItems.getItemName(useWith).equalsIgnoreCase("Cape") && !ItemDefinition.lookup(useWith).isNote() && useWith != cape.getReward()) {
player.getItemAssistant().deleteItem(itemUsed, 1);
player.getItemAssistant().deleteItem(useWith, 1);
player.getItemAssistant().addItem(cape.getReward(), 1);
@@ -1,7 +1,7 @@
package com.rs2.game.items.impl;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -15,7 +15,7 @@ public class HandleEmpty {
}
public static int filledToEmpty(Player c, int id) {
String itemName = ItemAssistant.getItemName(id);
String itemName = DeprecatedItems.getItemName(id);
if (!itemName.contains("Ring") && !itemName.contains("necklace")) {
if (itemName.contains("(3)") || itemName.contains("(4)") || itemName.contains("(2)") || itemName.contains("(1)") || itemName.contains("Weapon poison")) {
if (id != 1712 && id != 1710 && id != 1708 && id != 1706) {
@@ -51,7 +51,7 @@ public class HandleEmpty {
}
public static void handleEmptyItem(Player c, int itemId, int giveItem) {
final String name = ItemAssistant.getItemName(itemId);
final String name = DeprecatedItems.getItemName(itemId);
c.getPacketSender().sendMessage("You empty your " + name + ".");
c.getItemAssistant().deleteItem(itemId, 1);
c.getItemAssistant().addItem(giveItem, 1);
@@ -1,6 +1,6 @@
package com.rs2.game.items.impl;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -16,8 +16,8 @@ public class PotionMixing {
}
public void mixPotion2(int id, int id2) {
String id11 = ItemAssistant.getItemName(id);
String id22 = ItemAssistant.getItemName(id2);
String id11 = DeprecatedItems.getItemName(id);
String id22 = DeprecatedItems.getItemName(id2);
if (id11.substring(0, id11.indexOf("(")).equalsIgnoreCase(
id22.substring(0, id22.indexOf("(")))) {
try {
@@ -38,9 +38,9 @@ public class PotionMixing {
c.getItemAssistant().deleteItem(id2,
c.getItemAssistant().getItemSlot(id2), 1);
c.getItemAssistant().addItem(
c.getItemAssistant().getItemId(item1), 1);
DeprecatedItems.getItemId(item1), 1);
c.getItemAssistant().addItem(
c.getItemAssistant().getItemId(item2), 1);
DeprecatedItems.getItemId(item2), 1);
} else {
amount1 = totalAmount;
String item1 = id11.substring(0, id11.indexOf("(") + 1)
@@ -50,7 +50,7 @@ public class PotionMixing {
c.getItemAssistant().deleteItem(id2,
c.getItemAssistant().getItemSlot(id2), 1);
c.getItemAssistant().addItem(
c.getItemAssistant().getItemId(item1), 1);
DeprecatedItems.getItemId(item1), 1);
c.getItemAssistant().addItem(229, 1);
}
} catch (Exception e) {
@@ -1,7 +1,8 @@
package com.rs2.game.items.impl;
import java.util.HashMap;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
/**
@@ -135,7 +136,7 @@ public class WeaponPoison {
if (weapon != null) {
for (int element[] : weapon.getNewItemId()) {
if (itemUse == element[0]) {
player.getPacketSender().sendMessage("You make a " + ItemAssistant.getItemName(element[1]) + ".");
player.getPacketSender().sendMessage("You make a " + DeprecatedItems.getItemName(element[1]) + ".");
player.getItemAssistant().deleteItem(element[0], player.getItemAssistant().getItemSlot(element[0]), 1);
player.getItemAssistant().deleteItem(weapon.getItemId(), player.getItemAssistant().getItemSlot(weapon.getItemId()), 1);
player.getItemAssistant().addItem(VIAL, 1);
@@ -3,7 +3,7 @@ package com.rs2.game.npcs;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
import com.rs2.util.Misc;
@@ -66,7 +66,7 @@ public class Npc {
public void shearSheep(Player player, int itemNeeded, int itemGiven, int animation, final int currentId, final int newId, int transformTime) {
if (!player.getItemAssistant().playerHasItem(itemNeeded)) {
player.getPacketSender().sendMessage("You need " + ItemAssistant.getItemName(itemNeeded).toLowerCase() + " to do that.");
player.getPacketSender().sendMessage("You need " + DeprecatedItems.getItemName(itemNeeded).toLowerCase() + " to do that.");
return;
}
if (transformId == newId) {
@@ -81,7 +81,7 @@ public class Npc {
}
requestTransform(newId);
player.getItemAssistant().addItem(itemGiven, 1);
player.getPacketSender().sendMessage("You get some " + ItemAssistant.getItemName(itemGiven).toLowerCase() + ".");
player.getPacketSender().sendMessage("You get some " + DeprecatedItems.getItemName(itemGiven).toLowerCase() + ".");
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
@@ -1,8 +1,6 @@
package com.rs2.game.npcs.drops;
import com.google.gson.Gson;
import com.rs2.GameEngine;
import com.rs2.game.items.ItemList;
import com.rs2.util.Misc;
import com.rs2.util.NpcDrop;
@@ -49,40 +47,11 @@ public class NPCDropsHandler {
}
return new ItemDrop[]{
new ItemDrop(i("bones"), 1, 0),
new ItemDrop(526, 1, 0),
new ItemDrop(995, new int[]{ 1, 10 }, 3),
new ItemDrop(2677, 1, 512) };
}
/**
* short version of getItemId
*
* @param itemName name of the item
*
* @return itemId
*/
public static int i(String itemName) {
return getItemId(itemName);
}
/**
* Item id main method
*
* @param itemName name of the item
*
* @return itemId
*/
public static int getItemId(String itemName) {
for (ItemList i : GameEngine.itemHandler.itemList) {
if (i != null) {
if (i.itemName.equalsIgnoreCase(itemName)) {
return i.itemId;
}
}
}
return -1;
}
/**
* Misc.random in shorter form
*
@@ -1,7 +1,8 @@
package com.rs2.game.objects;
import org.apollo.cache.def.ObjectDefinition;
import com.rs2.game.players.Player;
import com.rs2.world.clip.ObjectDefinition;
/**
* ObjectDefaults
@@ -17,7 +18,7 @@ public class ObjectDefaults {
WEST = 3;
public static int getObjectType(Player player, int objectType) {
String objectName = ObjectDefinition.getObjectDef(objectType).name;
String objectName = ObjectDefinition.lookup(objectType).getName();
if (objectName.contains("Wardrobe") || objectName.contains("chest") || objectName.contains("Cupboard") || objectName.contains("Coffin")) {
return 10;
} else if (objectName.contains("Curtain")) {
@@ -1,6 +1,6 @@
package com.rs2.game.objects;
import com.rs2.world.clip.ObjectDefinition;
import org.apollo.cache.def.ObjectDefinition;
public class Objects {
@@ -39,7 +39,7 @@ public class Objects {
}
public int[] getObjectSize() {
ObjectDefinition def = ObjectDefinition.getObjectDef(objectId);
ObjectDefinition def = ObjectDefinition.lookup(objectId);
if (def == null) {
return new int[] {1, 1};
}
@@ -49,11 +49,11 @@ public class Objects {
int xLength;
int yLength;
if (objectFace != 1 && objectFace != 3) {
xLength = def.xLength();
yLength = def.yLength();
xLength = def.getWidth();
yLength = def.getLength();
} else {
xLength = def.yLength();
yLength = def.xLength();
xLength = def.getLength();
yLength = def.getWidth();
}
return new int[] {xLength, yLength};
@@ -30,7 +30,7 @@ import com.rs2.game.content.traveling.DesertCactus;
import com.rs2.game.globalworldobjects.ClimbOther;
import com.rs2.game.globalworldobjects.ClimbOther.ClimbData;
import com.rs2.game.globalworldobjects.PassDoor;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.impl.LightSources;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.npcs.impl.MilkCow;
@@ -2884,7 +2884,7 @@ public class ObjectsActions {
if (player.ectofuntusBoneCrusherState.equals("Empty")) {
player.getPacketSender().sendMessage("You need to load some bones.");
} else if (player.ectofuntusBoneCrusherState.equals("Loaded")) {
player.getPacketSender().sendMessage(ItemAssistant.getItemName(player.ectofuntusBoneUsed) + " loaded and ready to be grinded.");
player.getPacketSender().sendMessage(DeprecatedItems.getItemName(player.ectofuntusBoneUsed) + " loaded and ready to be grinded.");
} else if (player.ectofuntusBoneCrusherState.equals("Bin")) {
player.getPacketSender().sendMessage("Bonemeal is ready to be collected from the bin.");
} else {
@@ -1,10 +1,11 @@
package com.rs2.game.objects.impl;
import org.apollo.cache.def.ObjectDefinition;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.players.Player;
import com.rs2.world.clip.ObjectDefinition;
/**
* Levers
@@ -22,7 +23,7 @@ public class Levers {
};
public static void pullLever(final Player player, int objectType) {
String objectName = ObjectDefinition.getObjectDef(objectType).name;
String objectName = ObjectDefinition.lookup(objectType).getName();
for (final int[] element : LEVERS) {
if (player.objectX == element[0] && player.objectY == element[1] && objectName.equalsIgnoreCase("Lever")) {
if (System.currentTimeMillis() - player.leverDelay > 3750) {
@@ -1,5 +1,7 @@
package com.rs2.game.objects.impl;
import org.apollo.cache.def.ObjectDefinition;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.event.CycleEvent;
@@ -9,7 +11,6 @@ import com.rs2.game.content.traveling.DesertHeat;
import com.rs2.game.objects.ObjectDefaults;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
import com.rs2.world.clip.ObjectDefinition;
import com.rs2.world.clip.Region;
public class OtherObjects {
@@ -118,7 +119,7 @@ public class OtherObjects {
}
private static void handleSpecialObject(final Player player, final int objectType) {
String objectName = ObjectDefinition.getObjectDef(objectType).name;
String objectName = ObjectDefinition.lookup(objectType).getName();
if (objectType == 160 && player.getX() == 3096) {
player.getPlayerAssistant().walkTo(0, 1);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@@ -42,6 +42,7 @@ import com.rs2.game.globalworldobjects.DoubleGates;
import com.rs2.game.globalworldobjects.GateHandler;
import com.rs2.game.globalworldobjects.SingleGates;
import com.rs2.game.items.*;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.impl.Greegree.MonkeyData;
import com.rs2.game.items.impl.PotionMixing;
import com.rs2.game.items.impl.Teles;
@@ -2638,7 +2639,7 @@ public abstract class Player {
public boolean wearing2h() {
Client c = (Client) this;
String s = ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon]);
String s = DeprecatedItems.getItemName(c.playerEquipment[c.playerWeapon]);
if (s.contains("2h")) {
return true;
}
@@ -17,8 +17,8 @@ import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.randomevents.RandomEventHandler;
import com.rs2.game.content.skills.SkillData;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.GameItem;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.ItemConstants;
import com.rs2.game.items.impl.LightSources;
import com.rs2.game.items.impl.Greegree.MonkeyData;
@@ -1143,7 +1143,7 @@ public class PlayerAssistant {
if (player.getItemAssistant().playerHasItem(itemId, 1, itemSlot)) {
player.getPacketSender().sendMessage(
"You drink the "
+ ItemAssistant.getItemName(itemId)
+ DeprecatedItems.getItemName(itemId)
.toLowerCase() + ".");
player.foodDelay = System.currentTimeMillis();
// Actions
@@ -1197,7 +1197,7 @@ public class PlayerAssistant {
}
if (canAlch) {
int value = (int) Math.floor(player.getShopAssistant().getItemShopValue(itemId) * 0.4);
String itemName = ItemAssistant.getItemName(itemId).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemId).toLowerCase();
if (player.getPlayerAssistant().isPlayer()) {
GameLogger.writeLog(player.playerName, "alchemy", player.playerName + " cast Low Alchemy on " + itemName + " for " + GameLogger.formatCurrency(value) + " coins");
}
@@ -1266,7 +1266,7 @@ public class PlayerAssistant {
}
if (canAlch) {
int value = (int) Math.floor(player.getShopAssistant().getItemShopValue(itemId) * 0.75);
String itemName = ItemAssistant.getItemName(itemId).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemId).toLowerCase();
if (player.getPlayerAssistant().isPlayer()) {
GameLogger.writeLog(player.playerName, "alchemy", player.playerName + " cast High Alchemy on " + itemName + " for" + GameLogger.formatCurrency(value) + " coins");
}
@@ -2283,7 +2283,7 @@ public class PlayerAssistant {
public void unMorphPlayer() {
sendSidebars();
player.getItemAssistant().sendWeapon(player.playerEquipment[player.playerWeapon], ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]));
player.getItemAssistant().sendWeapon(player.playerEquipment[player.playerWeapon], DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]));
if (player.playerEquipment[player.playerRing] == 6583 || player.playerEquipment[player.playerRing] == 7927) {
int ring = player.playerEquipment[player.playerRing];
player.getItemAssistant().deleteEquipment(ring, player.playerRing);
@@ -2,13 +2,16 @@ package com.rs2.game.players;
import java.time.temporal.ValueRange;
import java.util.concurrent.CopyOnWriteArrayList;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.minigames.castlewars.CastleWars;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.GameItem;
import com.rs2.game.items.ItemData;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.ItemConstants;
import com.rs2.util.GameLogger;
import com.rs2.util.Misc;
@@ -148,7 +151,7 @@ public class Trading {
}
player.tradeConfirmed = false;
o.tradeConfirmed = false;
if (!ItemData.itemStackable[itemID]) {
if (!ItemDefinition.lookup(itemID).isStackable()) {
for (int a = 0; a < amount; a++) {
for (GameItem item : offeredItems) {
if (item.id == itemID) {
@@ -272,7 +275,7 @@ public class Trading {
}
player.tradeConfirmed = false;
o.tradeConfirmed = false;
if (!ItemData.itemStackable[itemID] && !ItemData.itemIsNote[itemID]) {
if (!ItemDefinition.lookup(itemID).isStackable() && !ItemDefinition.lookup(itemID).isNote()) {
for (int a = 0; a < amount && a < 28; a++) {
if (player.getItemAssistant().playerHasItem(itemID, 1)) {
offeredItems.add(new GameItem(itemID, 1));
@@ -304,7 +307,7 @@ public class Trading {
declineTrade();
return false;
}
if (ItemData.itemStackable[itemID] || ItemData.itemIsNote[itemID]) {
if (ItemDefinition.lookup(itemID).isStackable() || ItemDefinition.lookup(itemID).isNote()) {
boolean inTrade = false;
for (GameItem item : offeredItems) {
if (item.id == itemID) {
@@ -447,10 +450,10 @@ public class Trading {
}
if (Count == 0) {
SendTrade = ItemAssistant.getItemName(item.id);
SendTrade = DeprecatedItems.getItemName(item.id);
} else {
SendTrade = SendTrade + "\\n"
+ ItemAssistant.getItemName(item.id);
+ DeprecatedItems.getItemName(item.id);
}
if (item.stackable) {
@@ -479,10 +482,10 @@ public class Trading {
}
if (Count == 0) {
SendTrade = ItemAssistant.getItemName(item.id);
SendTrade = DeprecatedItems.getItemName(item.id);
} else {
SendTrade = SendTrade + "\\n"
+ ItemAssistant.getItemName(item.id);
+ DeprecatedItems.getItemName(item.id);
}
if (item.stackable) {
SendTrade = SendTrade + " x " + SendAmount;
@@ -502,7 +505,7 @@ public class Trading {
}
try {
for (GameItem item : o.getTrading().offeredItems) {
String itemName = ItemAssistant.getItemName(item.id);
String itemName = DeprecatedItems.getItemName(item.id);
if (item.id > 0) {
player.getItemAssistant().addItem(item.id, item.amount);
if (player.getPlayerAssistant().isPlayer()) {
@@ -1,11 +1,12 @@
package com.rs2.game.shops;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.GameConstants;
import com.rs2.game.bots.BotHandler;
import com.rs2.game.items.ItemData;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.ItemConstants;
import com.rs2.game.items.ItemDefinition;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
import com.rs2.util.GameLogger;
@@ -101,8 +102,8 @@ public class ShopAssistant {
double ShopValue = 1;
double TotPrice = 0;
double sellingRatio = isSelling ? 0.85 : 1;
if (ItemDefinition.getDefs()[ItemID] != null) {
ShopValue = ItemDefinition.getDefs()[ItemID].highAlch / 3.0 * 5.0 * sellingRatio;
if (ItemDefinition.lookup(ItemID) != null) {
ShopValue = ItemDefinition.lookup(ItemID).getValue() * sellingRatio;
}
TotPrice = ShopValue;
@@ -133,19 +134,19 @@ public class ShopAssistant {
ShopValue = BotHandler.getItemPrice(player.shopId, itemID);
}
if (player.shopId == 138 || player.shopId == 139 || player.shopId == 58) {
player.getPacketSender().sendMessage(ItemAssistant.getItemName(itemID) + ": currently costs " + SpecialValue + " tokkul.");
player.getPacketSender().sendMessage(DeprecatedItems.getItemName(itemID) + ": currently costs " + SpecialValue + " tokkul.");
return;
}
if (player.shopId == PEST_SHOP) {
player.getPacketSender().sendMessage(ItemAssistant.getItemName(itemID)+": currently costs " + getPestItemValue(itemID) + " pest control points.");
player.getPacketSender().sendMessage(DeprecatedItems.getItemName(itemID)+": currently costs " + getPestItemValue(itemID) + " pest control points.");
return;
}
if (player.shopId == CASTLE_SHOP) {
player.getPacketSender().sendMessage(ItemAssistant.getItemName(itemID)+": currently costs " + getCastleItemValue(itemID) + " castle wars tickets.");
player.getPacketSender().sendMessage(DeprecatedItems.getItemName(itemID)+": currently costs " + getCastleItemValue(itemID) + " castle wars tickets.");
return;
}
if (player.shopId == RANGE_SHOP) {
player.getPacketSender().sendMessage(ItemAssistant.getItemName(itemID)+": currently costs " + getRGItemValue(itemID) + " archery tickets.");
player.getPacketSender().sendMessage(DeprecatedItems.getItemName(itemID)+": currently costs " + getRGItemValue(itemID) + " archery tickets.");
return;
}
if (ShopValue >= 1000 && ShopValue < 1000000) {
@@ -153,7 +154,7 @@ public class ShopAssistant {
} else if (ShopValue >= 1000000) {
ShopAdd = " (" + ShopValue / 1000000 + " million)";
}
player.getPacketSender().sendMessage(ItemAssistant.getItemName(itemID) + ": currently costs " + ShopValue + " coins" + ShopAdd);
player.getPacketSender().sendMessage(DeprecatedItems.getItemName(itemID) + ": currently costs " + ShopValue + " coins" + ShopAdd);
}
public int getCastleItemValue(int id) {
@@ -274,7 +275,7 @@ public class ShopAssistant {
**/
public void sellToShopPrice(int removeId, int removeSlot) {
int unNotedItemID = getUnNoted(removeId);
String itemName = ItemAssistant.getItemName(unNotedItemID);
String itemName = DeprecatedItems.getItemName(unNotedItemID);
for (int i : ItemConstants.ITEM_SELLABLE) {
if (unNotedItemID == i) {
player.getPacketSender().sendMessage("You can't sell " + itemName + ".");
@@ -303,7 +304,7 @@ public class ShopAssistant {
}
if (canSellItem == false) {
player.getPacketSender().sendMessage("You can't sell " + ItemAssistant.getItemName(removeId).toLowerCase() + " to this store.");
player.getPacketSender().sendMessage("You can't sell " + DeprecatedItems.getItemName(removeId).toLowerCase() + " to this store.");
} else {
int ShopValue = (int) Math.floor(getItemShopValue(unNotedItemID, 1, true));
int tokkulValue = (int) Math.floor(getTokkulValue(unNotedItemID) *.85);
@@ -334,7 +335,7 @@ public class ShopAssistant {
public boolean sellItem(int itemID, int fromSlot, int amount) {
int unNotedItemID = getUnNoted(itemID);
String itemName = ItemAssistant.getItemName(itemID).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemID).toLowerCase();
for (int i : ItemConstants.ITEM_SELLABLE) {
if (i == unNotedItemID) {
player.getPacketSender().sendMessage("You can't sell " + itemName + ".");
@@ -410,7 +411,7 @@ public class ShopAssistant {
currency = 995;
}
boolean isStackable = ItemDefinition.getDefs()[itemID].isStackable;
boolean isStackable = ItemDefinition.lookup(itemID).isStackable();
if (!player.getItemAssistant().playerHasItem(currency) && isStackable && amount < inventoryAmount && player.getItemAssistant().freeSlots() <= 0) {
player.getPacketSender().sendMessage("You don't have enough space in your inventory.");
@@ -426,7 +427,7 @@ public class ShopAssistant {
// Add currency to players inventory
int totalValue = value * amount;
player.getItemAssistant().addItem(currency, totalValue);
player.getPacketSender().sendMessage("You sold " + amount + " " + itemName + " for " + totalValue + " " + ItemAssistant.getItemName(currency).toLowerCase() + ".");
player.getPacketSender().sendMessage("You sold " + amount + " " + itemName + " for " + totalValue + " " + DeprecatedItems.getItemName(currency).toLowerCase() + ".");
}
// Add item to the shop
@@ -444,8 +445,8 @@ public class ShopAssistant {
if (amount <= 0) {
return false;
}
if (ItemData.itemIsNote[itemID]) {
itemID = player.getItemAssistant().getUnnotedItem(itemID);
if (ItemDefinition.lookup(itemID).isNote()) {
itemID = ItemDefinition.noteToItem(itemID);
}
for (int i = 0; i < ShopHandler.shopItems[player.shopId].length; i++) {
if (ShopHandler.shopItems[player.shopId][i] - 1 == itemID) {
@@ -467,8 +468,8 @@ public class ShopAssistant {
}
private static int getUnNoted(int itemID){
String itemName = ItemAssistant.getItemName(itemID).toLowerCase();
String ItemNameUnNotedItem = ItemAssistant.getItemName(itemID - 1).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemID).toLowerCase();
String ItemNameUnNotedItem = DeprecatedItems.getItemName(itemID - 1).toLowerCase();
if (itemName.equalsIgnoreCase(ItemNameUnNotedItem)) {
itemID--; //Replace the noted item by it's un-noted version.
}
@@ -476,8 +477,8 @@ public class ShopAssistant {
}
private static int getNoted(int itemID){
String itemName = ItemAssistant.getItemName(itemID).toLowerCase();
String ItemNameUnNotedItem = ItemAssistant.getItemName(itemID + 1).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemID).toLowerCase();
String ItemNameUnNotedItem = DeprecatedItems.getItemName(itemID + 1).toLowerCase();
if (itemName.equalsIgnoreCase(ItemNameUnNotedItem)) {
itemID++; //Replace the item by it's noted version.
}
@@ -491,7 +492,7 @@ public class ShopAssistant {
int notedItemID = getNoted(itemID);
boolean isPlayerShop = ShopHandler.shopBModifier[player.shopId] == 0;
// Items are stackable if from a player owned shop and notable
boolean isStackable = ItemDefinition.getDefs()[itemID].isStackable || (isPlayerShop && getNoted(itemID) != itemID);
boolean isStackable = ItemDefinition.lookup(itemID).isStackable() || (isPlayerShop && getNoted(itemID) != itemID);
int freeSlots = player.getItemAssistant().freeSlots();
int storeQty = ShopHandler.getStock(shopID, itemID);
if (amount > 0) {
@@ -550,7 +551,7 @@ public class ShopAssistant {
currency = 995; //gp
}
int currencySlot = player.getItemAssistant().getItemSlot(currency);
String currencyName = ItemAssistant.getItemName(currency).toLowerCase();
String currencyName = DeprecatedItems.getItemName(currency).toLowerCase();
// player has none of the required currency
if (currencySlot == -1) {
@@ -572,7 +573,7 @@ public class ShopAssistant {
}
}
String itemName = ItemAssistant.getItemName(itemID).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemID).toLowerCase();
if (!shopIsOwnedByThisPlayer) {
player.getItemAssistant().deleteItem(currency, totalValue);
player.getPacketSender().sendMessage("You bought " + amount + " " + itemName + " for " + totalValue + " " + currencyName + "." );
@@ -3,6 +3,7 @@ package com.rs2.gui;
import com.rs2.Connection;
import com.rs2.GameConstants;
import com.rs2.GameEngine;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.npcs.Npc;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.players.Client;
@@ -407,7 +408,7 @@ public class PanelSettings {
int amount = getInt(cmd, "Enter the amount");
if (item <= 160000 && item > 0) {
c.getItemAssistant().addItem(item, amount);
p.displayMessage("You give " + c.playerName + " " + amount + " " + c.getItemAssistant().getItemName(item) + "s!", cmd, 1);
p.displayMessage("You give " + c.playerName + " " + amount + " " + DeprecatedItems.getItemName(item) + "s!", cmd, 1);
}
return;
}
@@ -8,8 +8,8 @@ import com.rs2.game.content.combat.magic.MagicTeleports;
import com.rs2.game.content.quests.QuestAssistant;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.content.skills.runecrafting.Tiaras;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.Item;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.ItemConstants;
import com.rs2.game.items.Weight;
import com.rs2.game.items.impl.LightSources;
@@ -129,7 +129,7 @@ public class PacketSender {
}*/
}
player.getPlayerAssistant().firstTimeTutorial();
player.getItemAssistant().sendWeapon(player.playerEquipment[player.playerWeapon], ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]));
player.getItemAssistant().sendWeapon(player.playerEquipment[player.playerWeapon], DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]));
for (int i = 0; i < 25; i++) {
player.getPacketSender().setSkillLevel(i, player.playerLevel[i], player.playerXP[i]);
player.getPlayerAssistant().refreshSkill(i);
@@ -5,7 +5,7 @@ import com.rs2.game.content.combat.CombatConstants;
import com.rs2.game.content.combat.magic.CastOnOther;
import com.rs2.game.content.combat.magic.MagicData;
import com.rs2.game.content.combat.range.RangeData;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
import com.rs2.net.Packet;
@@ -121,7 +121,7 @@ public class AttackPlayer implements PacketType {
&& usingBow
&& !RangeData.usingCrystalBow(player)
&& player.playerEquipment[player.playerWeapon] != 9185) {
player.getPacketSender().sendMessage("You can't use " + ItemAssistant.getItemName(player.playerEquipment[player.playerArrows]).toLowerCase() + "s with a " + ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase() + ".");
player.getPacketSender().sendMessage("You can't use " + DeprecatedItems.getItemName(player.playerEquipment[player.playerArrows]).toLowerCase() + "s with a " + DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]).toLowerCase() + ".");
player.stopMovement();
player.getCombatAssistant().resetPlayerAttack();
return;
@@ -1,5 +1,7 @@
package com.rs2.net.packets.impl;
import org.apollo.cache.def.ItemDefinition;
import com.rs2.game.content.random.PartyRoom;
import com.rs2.game.items.GameItem;
import com.rs2.game.items.ItemData;
@@ -67,7 +69,7 @@ public class BankAll implements PacketType {
player.getPacketSender().sendMessage("You can't store items while trading!");
return;
}
if (ItemData.itemStackable[removeId]) {
if (ItemDefinition.lookup(removeId).isStackable()) {
player.getItemAssistant().bankItem(player.playerItems[removeSlot], removeSlot, player.playerItemsN[removeSlot]);
} else {
player.getItemAssistant().bankItem(player.playerItems[removeSlot], removeSlot, player.getItemAssistant().itemAmount(player.playerItems[removeSlot]));
@@ -98,14 +100,14 @@ public class BankAll implements PacketType {
case 3322:
if (player.duelStatus <= 0) {
if (ItemData.itemStackable[removeId]) {
if (ItemDefinition.lookup(removeId).isStackable()) {
player.getTrading().tradeItem(removeId, removeSlot,
player.playerItemsN[removeSlot]);
} else {
player.getTrading().tradeItem(removeId, removeSlot, 28);
}
} else {
if (ItemData.itemStackable[removeId] || ItemData.itemIsNote[removeId]) {
if (ItemDefinition.lookup(removeId).isStackable() || ItemDefinition.lookup(removeId).isNote()) {
player.getDueling().stakeItem(removeId, removeSlot,
player.playerItemsN[removeSlot]);
} else {
@@ -116,7 +118,7 @@ public class BankAll implements PacketType {
case 3415:
if (player.duelStatus <= 0) {
if (ItemData.itemStackable[removeId]) {
if (ItemDefinition.lookup(removeId).isStackable()) {
for (GameItem item : player.getTrading().offeredItems) {
if (item.id == removeId) {
player.getTrading()
@@ -138,7 +140,7 @@ public class BankAll implements PacketType {
break;
case 6669:
if (ItemData.itemStackable[removeId] || ItemData.itemIsNote[removeId]) {
if (ItemDefinition.lookup(removeId).isStackable() || ItemDefinition.lookup(removeId).isNote()) {
for (GameItem item : player.getDueling().stakedItems) {
if (item.id == removeId) {
player.getDueling()
@@ -12,7 +12,7 @@ import com.rs2.game.content.minigames.castlewars.CastleWars;
import com.rs2.game.content.skills.herblore.Herblore;
import com.rs2.game.content.skills.prayer.Prayer;
import com.rs2.game.content.skills.woodcutting.BirdNest;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.impl.ExperienceLamp;
import com.rs2.game.items.impl.Flowers;
import com.rs2.game.items.impl.GodBooks;
@@ -44,7 +44,7 @@ public class ClickItem implements PacketType {
if (itemId == 6) {
player.getCannon().placeCannon();
}
String itemName = ItemAssistant.getItemName(itemId).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemId).toLowerCase();
if (player.getPlayerAssistant().isPlayer()) {
GameLogger.writeLog(player.playerName, "clickitem", player.playerName + " clicked item " + itemName + "");
}
@@ -9,7 +9,7 @@ import com.rs2.event.impl.NpcThirdClickEvent;
import com.rs2.game.content.combat.CombatConstants;
import com.rs2.game.content.combat.magic.MagicData;
import com.rs2.game.content.combat.range.RangeData;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.npcs.NpcHandler;
import com.rs2.game.players.Player;
import com.rs2.net.Packet;
@@ -132,11 +132,11 @@ public class ClickNPC implements PacketType {
&& player.playerEquipment[player.playerWeapon] != 9185) {
player.getPacketSender().sendMessage(
"You can't use "
+ ItemAssistant.getItemName(
+ DeprecatedItems.getItemName(
player.playerEquipment[player.playerArrows])
.toLowerCase()
+ "s with a "
+ ItemAssistant.getItemName(
+ DeprecatedItems.getItemName(
player.playerEquipment[player.playerWeapon])
.toLowerCase() + ".");
player.stopMovement();
@@ -1,6 +1,6 @@
package com.rs2.net.packets.impl;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.players.Player;
import com.rs2.net.Packet;
import com.rs2.net.packets.PacketType;
@@ -101,7 +101,7 @@ public class ClickTab implements PacketType {
player.getItemAssistant()
.sendWeapon(
player.playerEquipment[player.playerWeapon],
ItemAssistant
DeprecatedItems
.getItemName(player.playerEquipment[player.playerWeapon]));
player.getPacketSender().createArrow(3111, 9518, player.getH(), 2);
} else if (player.tutorialProgress == 29) { // Prayer
@@ -25,8 +25,8 @@ import com.rs2.game.content.skills.smithing.SilverCrafting;
import com.rs2.game.content.skills.smithing.Smelting;
import com.rs2.game.content.traveling.GnomeGlider;
import com.rs2.game.dialogues.DialogueOptions;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.GameItem;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.impl.EnchantStaff;
import com.rs2.game.items.impl.ExperienceLamp;
import com.rs2.game.items.impl.LightSources;
@@ -1533,7 +1533,7 @@ public class ClickingButtons implements PacketType {
case 24017:
player.getPlayerAssistant().resetAutocast();
player.getItemAssistant().sendWeapon(player.playerEquipment[player.playerWeapon], ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]));
player.getItemAssistant().sendWeapon(player.playerEquipment[player.playerWeapon], DeprecatedItems.getItemName(player.playerEquipment[player.playerWeapon]));
break;
}
@@ -8,7 +8,7 @@ import com.rs2.game.content.minigames.castlewars.CastleWars;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.content.skills.SkillHandler;
import com.rs2.game.content.skills.firemaking.LogData;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.impl.RareProtection;
import com.rs2.game.players.Player;
import com.rs2.net.Packet;
@@ -52,7 +52,7 @@ public class PickupItem implements PacketType {
if (player.stopPlayerPacket) {
return;
}
String itemName = ItemAssistant.getItemName(player.pItemId).toLowerCase();
String itemName = DeprecatedItems.getItemName(player.pItemId).toLowerCase();
if (player.getPlayerAssistant().isPlayer()) {
GameLogger.writeLog(player.playerName, "pickupitem", player.playerName + " picked up " + itemName + " itemX: " + player.pItemX + ", itemY: " + player.pItemY + "");
}
@@ -1,137 +0,0 @@
package com.rs2.util;
public class ItemData {
private final int id;
private final String name;
private final String examine;
private final Values[] values;
private final Bonuses[] bonuses;
public ItemData(int id, String name, String examine, Values[] values, Bonuses[] bonuses) {
this.id = id;
this.name = name;
this.examine = examine;
this.values = values;
this.bonuses = bonuses;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getExamine() {
return examine;
}
public Values getValues() {
return values[0];
}
public Bonuses getBonuses() {
return bonuses[0];
}
public static class Values {
int shopValue;
int lowAlch;
int highAlch;
public int getShopValue() {
return shopValue;
}
public int getLowAlch() {
return lowAlch;
}
public int getHighAlch() {
return highAlch;
}
}
public static class Bonuses {
int attackStab;
int attackSlash;
int attackCrush;
int attackMagic;
int attackRange;
int defenceStab;
int defenceSlash;
int defenceCrush;
int defenceMagic;
int defenceRange;
int strengthBonus;
int prayerBonus;
public int getAttackStab() {
return attackStab;
}
public int getAttackSlash() {
return attackSlash;
}
public int getAttackCrush() {
return attackCrush;
}
public int getAttackMagic() {
return attackMagic;
}
public int getAttackRange() {
return attackRange;
}
public int getDefenceStab() {
return defenceStab;
}
public int getDefenceSlash() {
return defenceSlash;
}
public int getDefenceCrush() {
return defenceCrush;
}
public int getDefenceMagic() {
return defenceMagic;
}
public int getDefenceRange() {
return defenceRange;
}
public int getStrengthBonus() {
return strengthBonus;
}
public int getPrayerBonus() {
return prayerBonus;
}
public int[] getBonuses() {
int[] bonuses = new int[12];
bonuses[0] = this.getAttackStab();
bonuses[1] = this.getAttackSlash();
bonuses[2] = this.getAttackCrush();
bonuses[3] = this.getAttackMagic();
bonuses[4] = this.getAttackRange();
bonuses[5] = this.getDefenceStab();
bonuses[6] = this.getDefenceSlash();
bonuses[7] = this.getDefenceCrush();
bonuses[8] = this.getDefenceMagic();
bonuses[9] = this.getDefenceRange();
bonuses[10] = this.getStrengthBonus();
bonuses[11] = this.getPrayerBonus();
return bonuses;
}
}
}
@@ -11,6 +11,8 @@ import com.rs2.game.players.PlayerHandler;
import com.rs2.util.GlobalDropData;
import com.rs2.util.Misc;
import com.rs2.util.ShopData;
import org.apollo.cache.def.ItemDefinition;
import org.json.JSONArray;
import org.json.JSONObject;
@@ -172,7 +174,7 @@ public class GlobalDropsHandler {
return;
}
if (player.getItemAssistant().freeSlots() < 1) {
if (!(player.getItemAssistant().playerHasItem(player.pItemId) && player.getItemAssistant().isStackable(player.pItemId))) {
if (!(player.getItemAssistant().playerHasItem(player.pItemId) && ItemDefinition.lookup(player.pItemId).isStackable())) {
player.getPacketSender().sendMessage("Not enough space in your inventory.");
return;
}
@@ -1,25 +1,14 @@
package com.rs2.world;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.rs2.GameConstants;
import com.rs2.game.items.DeprecatedItems;
import com.rs2.game.items.GroundItem;
import com.rs2.game.items.ItemAssistant;
import com.rs2.game.items.ItemList;
import com.rs2.game.items.ItemDefinitions;
import com.rs2.game.players.Client;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
import com.rs2.util.GameLogger;
import com.rs2.util.ItemData;
import com.rs2.util.Misc;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.*;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* Handles ground items
@@ -31,11 +20,6 @@ public class ItemHandler {
public static final int HIDE_TICKS = 100;
public ItemHandler() {
for (int i = 0; i < GameConstants.ITEM_LIMIT; i++) {
itemList[i] = null;
}
//loadItemList("item.cfg");
loadItemListJson();
}
/**
@@ -189,11 +173,11 @@ public class ItemHandler {
}
}
}
if (!com.rs2.game.items.ItemData.itemStackable[itemId] && itemAmount > 0) {
if (!org.apollo.cache.def.ItemDefinition.lookup(itemId).isStackable() && itemAmount > 0) {
for (int j = 0; j < itemAmount; j++) {
GroundItem item = new GroundItem(itemId, itemX, itemY, c.getH(), 1, c.playerId, HIDE_TICKS, PlayerHandler.players[playerId].playerName);
addItem(item);
String itemName = ItemAssistant.getItemName(itemId).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemId).toLowerCase();
if (c.isDead == false && itemId != 526) {
if (c.getPlayerAssistant().isPlayer()) {
GameLogger.writeLog(c.playerName, "dropitem", c.playerName + " dropped " + itemAmount + " " + itemName + " absX: " + c.absX + " absY: " + c.absY + "");
@@ -203,7 +187,7 @@ public class ItemHandler {
} else {
GroundItem item = new GroundItem(itemId, itemX, itemY, c.getH(), itemAmount, c.playerId, HIDE_TICKS, PlayerHandler.players[playerId].playerName);
addItem(item);
String itemName = ItemAssistant.getItemName(itemId).toLowerCase();
String itemName = DeprecatedItems.getItemName(itemId).toLowerCase();
if (c.isDead == false && itemId != 526) {
if (c.getPlayerAssistant().isPlayer()) {
GameLogger.writeLog(c.playerName, "dropitem", c.playerName + " dropped " + itemAmount + " " + itemName + " absX: " + c.absX + " absY: " + c.absY + "");
@@ -318,182 +302,4 @@ public class ItemHandler {
}
removeItem(i);
}
/**
* Item List
**/
public ItemList itemList[] = new ItemList[GameConstants.ITEM_LIMIT];
public void newItemList(int ItemId, String ItemName, String ItemDescription, double ShopValue, double LowAlch, double HighAlch, int Bonuses[]) {
// first, search for a free slot
int slot = -1;
for (int i = 0; i < 11740; i++) {
if (itemList[i] == null) {
slot = i;
break;
}
}
if (slot == -1) {
return; // no free slot found
}
ItemList newItemList = new ItemList(ItemId);
newItemList.itemName = ItemName;
newItemList.itemDescription = ItemDescription;
newItemList.ShopValue = ShopValue;
newItemList.LowAlch = LowAlch;
newItemList.HighAlch = HighAlch;
newItemList.Bonuses = Bonuses;
itemList[slot] = newItemList;
}
public void loadItemPrices(String filename) {
try {
@SuppressWarnings("resource")
Scanner s = new Scanner(new File("./data/cfg/" + filename));
while (s.hasNextLine()) {
String[] line = s.nextLine().split(" ");
ItemList temp = getItemList(Integer.parseInt(line[0]));
if (temp != null) {
temp.ShopValue = Integer.parseInt(line[1]);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
public ItemList getItemList(int i) {
for (com.rs2.game.items.ItemList element : itemList) {
if (element != null) {
if (element.itemId == i) {
return element;
}
}
}
return null;
}
public void loadItemListJson() {
Gson gson = new Gson();
try {
Type collectionType = new TypeToken<ItemData[]>() {
}.getType();
ItemData[] data = gson.fromJson(new FileReader("./data/cfg/items.json"), collectionType);
for (ItemData item : data) {
newItemList(item.getId(),
item.getName(),
item.getExamine(),
item.getValues().getShopValue(),
item.getValues().getLowAlch(),
item.getValues().getHighAlch(),
item.getBonuses().getBonuses());
}
} catch (FileNotFoundException fileex) {
Misc.println("items.json: file not found.");
}
}
public boolean readCfgWriteJson(String FileName) {
String line = "";
String token = "";
String token2 = "";
String token2_2 = "";
String[] token3 = new String[10];
boolean EndOfFile = false;
BufferedReader characterfile = null;
JSONArray array = new JSONArray();
try {
characterfile = new BufferedReader(new FileReader("./data/cfg/"
+ FileName));
} catch (FileNotFoundException fileex) {
Misc.println(FileName + ": file not found.");
return false;
}
try {
line = characterfile.readLine();
} catch (IOException ioexception) {
Misc.println(FileName + ": error loading file.");
// return false;
}
while (EndOfFile == false && line != null) {
line = line.trim();
int spot = line.indexOf("=");
if (spot > -1) {
token = line.substring(0, spot);
token = token.trim();
token2 = line.substring(spot + 1);
token2 = token2.trim();
token2_2 = token2.replaceAll("\t+", "\t");
token3 = token2_2.split("\t");
if (token.equals("item")) {
int[] Bonuses = new int[12];
for (int i = 0; i < 12; i++) {
if (token3[6 + i] != null) {
Bonuses[i] = Integer.parseInt(token3[6 + i]);
} else {
break;
}
}
JSONObject object = new JSONObject();
object.put("id", token3[0]);
object.put("name", token3[1].replaceAll("_", " "));
object.put("examine", token3[2].replaceAll("_", " "));
JSONArray array1 = new JSONArray();
JSONObject object1 = new JSONObject();
object1.put("shopValue", token3[4]);
object1.put("lowAlch", token3[5]);
object1.put("highAlch", token3[6]);
array1.put(0, object1);
object.put("values", array1);
JSONArray array2 = new JSONArray();
JSONObject object2 = new JSONObject();
object2.put("attackStab", Bonuses[0]);
object2.put("attackSlash", Bonuses[1]);
object2.put("attackCrush", Bonuses[2]);
object2.put("attackMagic", Bonuses[3]);
object2.put("attackRange", Bonuses[4]);
object2.put("defenceStab", Bonuses[5]);
object2.put("defenceSlash", Bonuses[6]);
object2.put("defenceCrush", Bonuses[7]);
object2.put("defenceMagic", Bonuses[8]);
object2.put("defenceRange", Bonuses[9]);
object2.put("strengthBonus", Bonuses[10]);
object2.put("prayerBonus", Bonuses[11]);
array2.put(0, object2);
object.put("bonuses", array2);
array.put(object);
}
} else {
if (line.equals("[ENDOFITEMLIST]")) {
try {
FileWriter fileWriter = new FileWriter("item-dump.json");
fileWriter.write(array.toString());
fileWriter.close();
characterfile.close();
} catch (IOException e) {
}
//return true;
}
}
try {
line = characterfile.readLine();
} catch (IOException ioexception1) {
EndOfFile = true;
}
}
try {
characterfile.close();
} catch (IOException ioexception) {
}
return false;
}
}
@@ -1,226 +0,0 @@
package com.rs2.world.clip;
import java.io.IOException;
import java.nio.ByteBuffer;
import org.apollo.cache.IndexedFileSystem;
import org.apollo.cache.archive.Archive;
public final class ObjectDefinition {
private static ObjectDefinition[] definitions;
public static ObjectDefinition getObjectDef(int i) {
return definitions[i];
}
public static void loadConfig(IndexedFileSystem fs) throws IOException {
Archive config = Archive.decode(fs.getFile(0, 2));
ByteBuffer data = config.getEntry("loc.dat").getBuffer();
ByteBuffer idx = config.getEntry("loc.idx").getBuffer();
int count = idx.getShort(), index = 2;
int[] indices = new int[count];
for (int i = 0; i < count; i++) {
indices[i] = index;
index += idx.getShort();
}
definitions = new ObjectDefinition[count];
for (int i = 0; i < count; i++) {
data.position(indices[i]);
definitions[i] = readValues(i, data);
}
System.out.println("[ObjectDef] DONE LOADING OBJECT CONFIGURATION");
}
private static ObjectDefinition readValues(int id, ByteBuffer data) {
ObjectDefinition def = new ObjectDefinition();
def.type = id;
int[] modelId = null;
int[] modelType = null;
int flag = -1;
boolean actions = false;
do {
int type = data.get() & 0xFF;
if (type == 0) {
break;
}
if (type == 1) {
int len = data.get() & 0xFF;
if (len > 0) {
if (modelId == null) {
modelType = new int[len];
modelId = new int[len];
for (int k1 = 0; k1 < len; k1++) {
modelId[k1] = data.getShort() & 0xFFFF;
modelType[k1] = data.get() & 0xFF;
}
} else {
for (int i = 0; i < len; i++) {
data.getShort();
data.get();
}
}
}
} else if (type == 2) {
def.name = readString(data);
} else if (type == 3) {
readString(data);
} else if (type == 5) {
int len = data.get() & 0xFF;
if (len > 0) {
if (modelId == null) {
modelType = null;
modelId = new int[len];
for (int l1 = 0; l1 < len; l1++) {
modelId[l1] = data.getShort() & 0xFFFF;
}
} else {
for (int i = 0; i < len; i++) {
data.getShort();
}
}
}
} else if (type == 14) {
def.width = data.get() & 0xFF;
} else if (type == 15) {
def.length = data.get() & 0xFF;
} else if (type == 17) {
def.solid = false;
} else if (type == 18) {
def.impenetrable = false;
} else if (type == 19) {
flag = data.get() & 0xFF;
def.hasActions = flag == 1;
} else if (type == 21) {
// aBoolean762 = true;
} else if (type == 22) {
} else if (type == 23) {
// aBoolean764 = true;
} else if (type == 24) {
data.getShort();
} else if (type == 27) {
continue;
} else if (type == 28) {
data.get();
} else if (type == 29) {
data.get();
} else if (type == 39) {
data.get();
} else if (type >= 30 && type < 39) {
actions = true;
readString(data);
def.hasActions = true;
} else if (type == 40) {
int amount = data.get() & 0xFF;
for (int i = 0; i < amount; i++) {
data.getShort();
data.getShort();
}
} else if (type == 60) {
data.getShort();
} else if (type == 62) {
} else if (type == 64) {
def.clipped = false;
} else if (type == 65) {
data.getShort();
} else if (type == 66) {
data.getShort();
} else if (type == 67) {
data.getShort();
} else if (type == 68) {
data.getShort();
} else if (type == 69) {
data.get();
} else if (type == 70) {
data.getShort();
} else if (type == 71) {
data.getShort();
} else if (type == 72) {
data.getShort();
} else if (type == 73) {
// #TODO obstructive = true;
} else if (type == 74) {
} else if (type == 75) {
data.get();
} else if (type == 77) {
data.getShort();
data.getShort();
int count = data.get() & 0xFF;
for (int i = 0; i <= count; i++) {
data.getShort();
}
} else {
System.out.println("Unknown config: " + type);
System.exit(0);
}
} while (true);
if (flag == -1) {
def.hasActions = modelId != null && (modelType == null || modelType[0] == 10);
if (actions) {
def.hasActions = true;
}
}
return def;
}
/**
* Reads a string from the specified {@link ByteBuffer}.
*
* @param buffer The buffer.
* @return The string.
*/
public static String readString(ByteBuffer buffer) {
StringBuilder bldr = new StringBuilder();
char character;
while ((character = (char) buffer.get()) != 10) {
bldr.append(character);
}
return bldr.toString();
}
private ObjectDefinition() {
type = -1;
}
/*
* TODO is this needed? Only called by type 22 objects (ground decorations/map signs).
*/
public boolean hasActions() {
return hasActions;
}
public boolean hasName() {
return name != null && name.length() > 1;
}
public boolean solid() {
return clipped;
}
public int xLength() {
return width;
}
public int yLength() {
return length;
}
public boolean aBoolean767() {
return solid;
}
public boolean isUnshootable() {
return impenetrable;
}
public String name = null;
private int width = 1;
@SuppressWarnings("unused")
private int type;
private boolean impenetrable = true;
private int length = 1;
private boolean solid = true;
private boolean hasActions = false;
private boolean clipped = true;
}
@@ -2,6 +2,8 @@ package com.rs2.world.clip;
import java.util.ArrayList;
import org.apollo.cache.def.ObjectDefinition;
import com.rs2.game.objects.Objects;
public class Region {
@@ -601,40 +603,40 @@ public class Region {
* @param startUp
*/
public static void addObject(int objectId, int x, int y, int height, int type, int direction, boolean startUp) {
if (ObjectDefinition.getObjectDef(objectId) == null) {
if (ObjectDefinition.lookup(objectId) == null) {
}
int xLength;
int yLength;
if (direction != 1 && direction != 3) {
xLength = ObjectDefinition.getObjectDef(objectId).xLength();
yLength = ObjectDefinition.getObjectDef(objectId).yLength();
xLength = ObjectDefinition.lookup(objectId).getWidth();
yLength = ObjectDefinition.lookup(objectId).getLength();
} else {
xLength = ObjectDefinition.getObjectDef(objectId).yLength();
yLength = ObjectDefinition.getObjectDef(objectId).xLength();
xLength = ObjectDefinition.lookup(objectId).getLength();
yLength = ObjectDefinition.lookup(objectId).getWidth();
}
if (type == 22) {
if (ObjectDefinition.getObjectDef(objectId).hasActions()
&& ObjectDefinition.getObjectDef(objectId).aBoolean767()) {
if (ObjectDefinition.lookup(objectId).isInteractive()
&& ObjectDefinition.lookup(objectId).isSolid()) {
addClipping(x, y, height, 0x200000);
if (ObjectDefinition.getObjectDef(objectId).isUnshootable()) {
if (ObjectDefinition.lookup(objectId).isImpenetrable()) {
addProjectileClipping(x, y, height, 0x200000);
}
}
} else if (type >= 9) {
if (ObjectDefinition.getObjectDef(objectId).aBoolean767()) {
if (ObjectDefinition.lookup(objectId).isSolid()) {
addClippingForSolidObject(x, y, height, xLength, yLength,
ObjectDefinition.getObjectDef(objectId).solid());
if (ObjectDefinition.getObjectDef(objectId).isUnshootable()) {
ObjectDefinition.lookup(objectId).isClipped());
if (ObjectDefinition.lookup(objectId).isImpenetrable()) {
addProjectileClippingForSolidObject(x, y, height, xLength, yLength,
ObjectDefinition.getObjectDef(objectId).solid());
ObjectDefinition.lookup(objectId).isClipped());
}
}
} else if (type >= 0 && type <= 3) {
if (ObjectDefinition.getObjectDef(objectId).aBoolean767()) {
if (ObjectDefinition.lookup(objectId).isSolid()) {
addClippingForVariableObject(x, y, height, type, direction,
ObjectDefinition.getObjectDef(objectId).solid());
if (ObjectDefinition.getObjectDef(objectId).isUnshootable()) {
addProjectileClippingForVariableObject(x, y, height, type, direction, ObjectDefinition.getObjectDef(objectId).solid());
ObjectDefinition.lookup(objectId).isClipped());
if (ObjectDefinition.lookup(objectId).isImpenetrable()) {
addProjectileClippingForVariableObject(x, y, height, type, direction, ObjectDefinition.lookup(objectId).isClipped());
}
}
}
@@ -1,12 +1,11 @@
package com.rs2.world.clip;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.file.Paths;
import org.apollo.cache.IndexedFileSystem;
import org.apollo.cache.archive.Archive;
import org.apollo.cache.archive.ArchiveEntry;
import org.apollo.jagcached.Constants;
import org.apollo.util.CompressionUtil;
public class RegionFactory {
@@ -17,60 +16,53 @@ public class RegionFactory {
return regions;
}
public static void load() {
public static void load(IndexedFileSystem fs) throws IOException {
//GameEngine.getLogger(Region.class).info("Loading region configurations...");
try {
IndexedFileSystem fs = new IndexedFileSystem(Paths.get(Constants.FILE_SYSTEM_DIR), true);
ObjectDefinition.loadConfig(fs);
Archive archive = Archive.decode(fs.getFile(0, 5));
ArchiveEntry entry = archive.getEntry("map_index");
ByteBuffer buffer = entry.getBuffer();
Archive archive = Archive.decode(fs.getFile(0, 5));
ArchiveEntry entry = archive.getEntry("map_index");
ByteBuffer buffer = entry.getBuffer();
int size = buffer.capacity() / 7;
regions = new Region[size];
int[] regionIds = new int[size];
int[] mapGroundFileIds = new int[size];
int[] mapObjectsFileIds = new int[size];
boolean[] isMembers = new boolean[size];
/**
* Seems to be that regions consist of
* regionIds (16 bits)
* groundFileIds (16 bits)
* objectsFileIds (16 bits)
* isMembers (8 bits)
*/
for (int i = 0; i < size; i++) {
regionIds[i] = buffer.getShort() & 0xFFFF;
mapGroundFileIds[i] = buffer.getShort() & 0xFFFF;
mapObjectsFileIds[i] = buffer.getShort() & 0xFFFF;
isMembers[i] = buffer.get() == 0;
}
for (int i = 0; i < size; i++) {
regions[i] = new Region(regionIds[i], isMembers[i]);
}
//GameEngine.getLogger(Region.class).info(size + " Regions created.");
//GameEngine.getLogger(Region.class).info("Populating regions...");
for (int i = 0; i < size; i++) {
//GameEngine.getLogger(Region.class).info("Region: " + i + " RegionId: " + regionIds[i] + " ObjectsId: " + mapObjectsFileIds[i]
// + " ClippingsId: " + mapGroundFileIds[i]);
byte[] file1 = CompressionUtil.degzip(fs.getFile(4, mapObjectsFileIds[i]));
byte[] file2 = CompressionUtil.degzip(fs.getFile(4, mapGroundFileIds[i]));
if (file1 == null || file2 == null) {
continue;
}
try {
loadMaps(regionIds[i], new ByteStream(file1),
new ByteStream(file2));
} catch (Exception e) {
System.out.println("Error loading map region: "
+ regionIds[i]);
}
}
//GameEngine.getLogger(Region.class).info("Region configuration done.");
} catch (Exception e) {
e.printStackTrace();
int size = buffer.capacity() / 7;
regions = new Region[size];
int[] regionIds = new int[size];
int[] mapGroundFileIds = new int[size];
int[] mapObjectsFileIds = new int[size];
boolean[] isMembers = new boolean[size];
/**
* Seems to be that regions consist of
* regionIds (16 bits)
* groundFileIds (16 bits)
* objectsFileIds (16 bits)
* isMembers (8 bits)
*/
for (int i = 0; i < size; i++) {
regionIds[i] = buffer.getShort() & 0xFFFF;
mapGroundFileIds[i] = buffer.getShort() & 0xFFFF;
mapObjectsFileIds[i] = buffer.getShort() & 0xFFFF;
isMembers[i] = buffer.get() == 0;
}
for (int i = 0; i < size; i++) {
regions[i] = new Region(regionIds[i], isMembers[i]);
}
//GameEngine.getLogger(Region.class).info(size + " Regions created.");
//GameEngine.getLogger(Region.class).info("Populating regions...");
for (int i = 0; i < size; i++) {
//GameEngine.getLogger(Region.class).info("Region: " + i + " RegionId: " + regionIds[i] + " ObjectsId: " + mapObjectsFileIds[i]
// + " ClippingsId: " + mapGroundFileIds[i]);
byte[] file1 = CompressionUtil.degzip(fs.getFile(4, mapObjectsFileIds[i]));
byte[] file2 = CompressionUtil.degzip(fs.getFile(4, mapGroundFileIds[i]));
if (file1 == null || file2 == null) {
continue;
}
try {
loadMaps(regionIds[i], new ByteStream(file1),
new ByteStream(file2));
} catch (Exception e) {
System.out.println("Error loading map region: "
+ regionIds[i]);
}
}
//GameEngine.getLogger(Region.class).info("Region configuration done.");
}
/**
@@ -12,8 +12,9 @@ import org.apollo.util.BufferUtil;
/**
* Decodes object data from the {@code loc.dat} file into {@link ObjectDefinition}s.
*
*
* @author Major
* @author Advocatus
*/
public final class ObjectDefinitionDecoder implements Runnable {
@@ -65,17 +66,35 @@ public final class ObjectDefinitionDecoder implements Runnable {
* @return The object definition.
*/
private ObjectDefinition decode(int id, ByteBuffer data) {
boolean actions = false;
int[] modelId = null;
int[] modelType = null;
ObjectDefinition definition = new ObjectDefinition(id);
while (true) {
int opcode = data.get() & 0xFF;
if (opcode == 0) {
definition.setInteractive(modelId != null && (modelType == null || modelType[0] == 10));
if (actions) {
definition.setInteractive(true);
}
return definition;
} else if (opcode == 1) {
int amount = data.get() & 0xFF;
for (int i = 0; i < amount; i++) {
data.getShort();
data.get();
if (amount > 0) {
if (modelId == null) {
modelType = new int[amount];
modelId = new int[amount];
for (int i = 0; i < amount; i++) {
modelId[i] = data.getShort() & 0xFFFF;
modelType[i] = data.get() & 0xFF;
}
} else {
for (int i = 0; i < amount; i++) {
data.getShort();
data.get();
}
}
}
} else if (opcode == 2) {
definition.setName(BufferUtil.readString(data));
@@ -83,8 +102,18 @@ public final class ObjectDefinitionDecoder implements Runnable {
definition.setDescription(BufferUtil.readString(data));
} else if (opcode == 5) {
int amount = data.get() & 0xFF;
for (int i = 0; i < amount; i++) {
data.getShort();
if (amount > 0) {
if (modelId == null) {
modelType = null;
modelId = new int[amount];
for (int i = 0; i < amount; i++) {
modelId[i] = data.getShort() & 0xFFFF;
}
} else {
for (int i = 0; i < amount; i++) {
data.getShort();
}
}
}
} else if (opcode == 14) {
definition.setWidth(data.get() & 0xFF);
@@ -101,13 +130,15 @@ public final class ObjectDefinitionDecoder implements Runnable {
} else if (opcode == 28 || opcode == 29) {
data.get();
} else if (opcode >= 30 && opcode < 39) {
String[] actions = definition.getMenuActions();
if (actions == null) {
actions = new String[10];
actions = true;
String[] strings = definition.getMenuActions();
if (strings == null) {
strings = new String[10];
}
String action = BufferUtil.readString(data);
actions[opcode - 30] = action;
definition.setMenuActions(actions);
strings[opcode - 30] = action;
definition.setMenuActions(strings);
definition.setInteractive(true);
} else if (opcode == 39) {
data.get();
} else if (opcode == 40) {
@@ -116,6 +147,8 @@ public final class ObjectDefinitionDecoder implements Runnable {
data.getShort();
data.getShort();
}
} else if (opcode == 64) {
definition.setClipped(false);
} else if (opcode == 60 || opcode >= 65 && opcode <= 68) {
data.getShort();
} else if (opcode == 69) {
@@ -6,6 +6,7 @@ import com.google.common.base.Preconditions;
* Represents a type of GameObject.
*
* @author Major
* @author Advocatus
*/
public final class ObjectDefinition {
@@ -60,6 +61,11 @@ public final class ObjectDefinition {
return definitions[id];
}
/**
* Represents whether or not this object is clipped. By default, they are.
*/
private boolean clipped = true;
/**
* The object's description.
*/
@@ -173,6 +179,15 @@ public final class ObjectDefinition {
return width;
}
/**
* Indicates whether or not this object is clipped.
*
* @return {@code true} if this object is clipped.
*/
public boolean isClipped() {
return clipped;
}
/**
* Indicates the impenetrability of this object.
*
@@ -209,6 +224,15 @@ public final class ObjectDefinition {
return solid;
}
/**
* Sets whether or not this this object is clipped.
*
* @param clipped Whether it is clipped.
*/
public void setClipped(boolean clipped) {
this.clipped = clipped;
}
/**
* Sets the description of this object.
*