diff --git a/runelite-api/src/main/java/net/runelite/api/SpriteID.java b/runelite-api/src/main/java/net/runelite/api/SpriteID.java index d085bb0674..cb7cd1b560 100644 --- a/runelite-api/src/main/java/net/runelite/api/SpriteID.java +++ b/runelite-api/src/main/java/net/runelite/api/SpriteID.java @@ -1209,17 +1209,52 @@ public final class SpriteID public static final int KOUREND_FAVOUR_LOVAKENGJ_ICON = 1244; public static final int KOUREND_FAVOUR_PISCARILIUS_ICON = 1245; public static final int KOUREND_FAVOUR_SHAYZIEN_ICON = 1246; - /* Unmapped: 1247~1296 */ + public static final int SPELL_BASIC_REANIMATION = 1247; + public static final int SPELL_ADEPT_REANIMATION = 1248; + public static final int SPELL_EXPERT_REANIMATION = 1249; + public static final int SPELL_MASTER_REANIMATION = 1250; + /* Unmapped: 1251 */ + public static final int SPELL_ARCEUUS_LIBRARY_TELEPORT = 1252; + public static final int SPELL_DRAYNOR_MANOR_TELEPORT = 1253; + public static final int SPELL_SALVE_GRAVEYARD_TELEPORT = 1254; + /* Unmapped: 1255 */ + public static final int SPELL_MIND_ALTAR_TELEPORT = 1256; + public static final int SPELL_RESPAWN_TELEPORT = 1257; + /* Unmapped 1258 */ + public static final int SPELL_FENKENSTRAINS_CASTLE_TELEPORT = 1259; + public static final int SPELL_WEST_ARDOUGNE_TELEPORT = 1260; + public static final int SPELL_HARMONY_ISLAND_TELEPORT = 1261; + public static final int SPELL_BARROWS_TELEPORT = 1262; + public static final int SPELL_APE_ATOLL_TELEPORT = 1263; + public static final int SPELL_CEMETERY_TELEPORT = 1264; + /* Unmapped: 1265 */ + public static final int SPELL_RESURRECT_CROPS = 1266; + public static final int SPELL_GHOSTLY_GRASP = 1267; + public static final int SPELL_SKELETAL_GRASP = 1268; + public static final int SPELL_UNDEAD_GRASP = 1269; + public static final int SPELL_RESURRECT_LESSER_GHOST = 1270; + /* Unmapped: 1271~1296 */ public static final int QUESTS_PAGE_ICON_PURPLE_KOUREND = 1297; public static final int UNUSED_TAB_QUESTS_GREEN_ACHIEVEMENT_DIARIES = 1298; public static final int TAB_QUESTS_GREEN_ACHIEVEMENT_DIARIES = 1299; - /* Unmapped: 1300~1305 */ + /* Unmapped: 1300~1301 */ + public static final int SPELL_INFERIOR_DEMONBANE = 1302; + public static final int SPELL_SUPERIOR_DEMONBANE = 1303; + public static final int SPELL_DARK_DEMONBANE = 1304; + public static final int SPELL_MARK_OF_DARKNESS = 1305; public static final int SPELL_WARD_OF_ARCEUUS = 1306; - /* Unmapped: 1307~1309 */ + public static final int SPELL_LESSER_CORRUPTION = 1307; + public static final int SPELL_GREATER_CORRUPTION = 1308; + /* Unmapped: 1309 */ public static final int SPELL_DEATH_CHARGE = 1310; - /* Unmapped: 1311~1314 */ + public static final int SPELL_DEMONIC_OFFERING = 1311; + public static final int SPELL_SINISTER_OFFERING = 1312; + /* Unmapped: 1313~1314 */ public static final int SPELL_SHADOW_VEIL = 1315; - /* Unmapped: 1316~1324 */ + public static final int SPELL_DARK_LURE = 1316; + public static final int SPELL_VILE_VIGOUR = 1317; + public static final int SPELL_DEGRIME = 1318; + /* Unmapped: 1319~1324 */ public static final int SPELL_WARD_OF_ARCEUUS_DISABLED = 1325; /* Unmapped: 1326 */ public static final int SPELL_GREATER_CORRUPTION_DISABLED = 1327; @@ -1615,6 +1650,8 @@ public final class SpriteID public static final int HEALTHBAR_YELLOW_BACK_70PX = 2978; /* Unmapped: 2979, 2980 */ public static final int SPELL_RESURRECT_SUPERIOR_SKELETON = 2981; - /* Unmapped: 2982~2986 */ + /* Unmapped: 2982~2983 */ + public static final int SPELL_RESURRECT_GREATER_ZOMBIE = 2984; + /* Unmapped: 2985~2986 */ public static final int SPELL_RESURRECT_SUPERIOR_SKELETON_DISABLED = 2987; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CalculatorType.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CalculatorType.java index e102988f50..8c27d8a509 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CalculatorType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CalculatorType.java @@ -24,32 +24,36 @@ */ package net.runelite.client.plugins.skillcalculator; +import javax.annotation.Nullable; import lombok.AllArgsConstructor; import lombok.Getter; import net.runelite.api.Skill; +import net.runelite.client.plugins.skillcalculator.skills.*; @AllArgsConstructor @Getter enum CalculatorType { - MINING(Skill.MINING, "skill_mining.json"), - AGILITY(Skill.AGILITY, "skill_agility.json"), - SMITHING(Skill.SMITHING, "skill_smithing.json"), - HERBLORE(Skill.HERBLORE, "skill_herblore.json"), - FISHING(Skill.FISHING, "skill_fishing.json"), - THIEVING(Skill.THIEVING, "skill_thieving.json"), - COOKING(Skill.COOKING, "skill_cooking.json"), - PRAYER(Skill.PRAYER, "skill_prayer.json"), - CRAFTING(Skill.CRAFTING, "skill_crafting.json"), - FIREMAKING(Skill.FIREMAKING, "skill_firemaking.json"), - MAGIC(Skill.MAGIC, "skill_magic.json"), - FLETCHING(Skill.FLETCHING, "skill_fletching.json"), - WOODCUTTING(Skill.WOODCUTTING, "skill_woodcutting.json"), - RUNECRAFT(Skill.RUNECRAFT, "skill_runecraft.json"), - FARMING(Skill.FARMING, "skill_farming.json"), - CONSTRUCTION(Skill.CONSTRUCTION, "skill_construction.json"), - HUNTER(Skill.HUNTER, "skill_hunter.json"); + MINING(Skill.MINING, MiningBonus.values(), MiningAction.values()), + AGILITY(Skill.AGILITY, null, AgilityAction.values()), + SMITHING(Skill.SMITHING, null, SmithingAction.values()), + HERBLORE(Skill.HERBLORE, null, HerbloreAction.values()), + FISHING(Skill.FISHING, FishingBonus.values(), FishingAction.values()), + THIEVING(Skill.THIEVING, null, ThievingAction.values()), + COOKING(Skill.COOKING, null, CookingAction.values()), + PRAYER(Skill.PRAYER, PrayerBonus.values(), PrayerAction.values()), + CRAFTING(Skill.CRAFTING, null, CraftingAction.values()), + FIREMAKING(Skill.FIREMAKING, FiremakingBonus.values(), FiremakingAction.values()), + MAGIC(Skill.MAGIC, null, MagicAction.values()), + FLETCHING(Skill.FLETCHING, null, FletchingAction.values()), + WOODCUTTING(Skill.WOODCUTTING, WoodcuttingBonus.values(), WoodcuttingAction.values()), + RUNECRAFT(Skill.RUNECRAFT, RunecraftBonus.values(), RunecraftAction.values()), + FARMING(Skill.FARMING, FarmingBonus.values(), FarmingAction.values()), + CONSTRUCTION(Skill.CONSTRUCTION, ConstructionBonus.values(), ConstructionAction.values()), + HUNTER(Skill.HUNTER, null, HunterAction.values()); private final Skill skill; - private final String dataFile; -} \ No newline at end of file + @Nullable + private final SkillBonus[] skillBonuses; + private final SkillAction[] skillActions; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java index 6a756431d4..736d7b3fab 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java @@ -50,9 +50,8 @@ import net.runelite.api.Skill; import net.runelite.api.VarPlayer; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; -import net.runelite.client.plugins.skillcalculator.beans.SkillData; -import net.runelite.client.plugins.skillcalculator.beans.SkillDataBonus; -import net.runelite.client.plugins.skillcalculator.beans.SkillDataEntry; +import net.runelite.client.plugins.skillcalculator.skills.SkillAction; +import net.runelite.client.plugins.skillcalculator.skills.SkillBonus; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.DynamicGridLayout; import net.runelite.client.ui.FontManager; @@ -69,14 +68,12 @@ class SkillCalculator extends JPanel private final SpriteManager spriteManager; private final ItemManager itemManager; private final List uiActionSlots = new ArrayList<>(); - private final CacheSkillData cacheSkillData = new CacheSkillData(); private final UICombinedActionSlot combinedActionSlot; private final ArrayList combinedActionSlots = new ArrayList<>(); private final List bonusCheckBoxes = new ArrayList<>(); private final IconTextField searchBar = new IconTextField(); - private SkillData skillData; - private Skill currentSkill; + private CalculatorType currentCalculator; private int currentLevel = 1; private int currentXP = Experience.getXpForLevel(currentLevel); private int targetLevel = currentLevel + 1; @@ -137,12 +134,9 @@ class SkillCalculator extends JPanel currentXP = client.getSkillExperience(calculatorType.getSkill()); currentLevel = Experience.getLevelForXp(currentXP); - if (currentSkill != calculatorType.getSkill()) + if (currentCalculator != calculatorType) { - currentSkill = calculatorType.getSkill(); - - // Load the skill data. - skillData = cacheSkillData.getSkillData(calculatorType.getDataFile()); + currentCalculator = calculatorType; // Reset the XP factor, removing bonuses. xpFactor = 1; @@ -234,12 +228,13 @@ class SkillCalculator extends JPanel private void renderBonusOptions() { - if (skillData.getBonuses() == null) + final SkillBonus[] skillBonuses = currentCalculator.getSkillBonuses(); + if (skillBonuses == null) { return; } - for (SkillDataBonus bonus : skillData.getBonuses()) + for (SkillBonus bonus : skillBonuses) { JPanel checkboxPanel = buildCheckboxPanel(bonus); @@ -248,7 +243,7 @@ class SkillCalculator extends JPanel } } - private JPanel buildCheckboxPanel(SkillDataBonus bonus) + private JPanel buildCheckboxPanel(SkillBonus bonus) { JPanel uiOption = new JPanel(new BorderLayout()); JLabel uiLabel = new JLabel(bonus.getName()); @@ -272,7 +267,7 @@ class SkillCalculator extends JPanel return uiOption; } - private void adjustCheckboxes(JCheckBox target, SkillDataBonus bonus) + private void adjustCheckboxes(JCheckBox target, SkillBonus bonus) { adjustXPBonus(0); bonusCheckBoxes.forEach(otherSelectedCheckbox -> @@ -295,15 +290,15 @@ class SkillCalculator extends JPanel uiActionSlots.clear(); // Create new components for the action slots. - for (SkillDataEntry action : skillData.getActions()) + for (SkillAction action : currentCalculator.getSkillActions()) { JLabel uiIcon = new JLabel(); - if (action.getIcon() != null) + if (action.getIcon() != -1) { itemManager.getImage(action.getIcon()).addTo(uiIcon); } - else if (action.getSprite() != null) + else if (action.getSprite() != -1) { spriteManager.addSpriteTo(uiIcon, action.getSprite(), 0); } @@ -348,7 +343,7 @@ class SkillCalculator extends JPanel { int actionCount = 0; int neededXP = targetXP - currentXP; - SkillDataEntry action = slot.getAction(); + SkillAction action = slot.getAction(); double xp = (action.isIgnoreBonus()) ? action.getXp() : action.getXp() * xpFactor; if (neededXP > 0) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UIActionSlot.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UIActionSlot.java index 3d9124136a..c005d42f90 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UIActionSlot.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UIActionSlot.java @@ -41,7 +41,7 @@ import javax.swing.border.EmptyBorder; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; -import net.runelite.client.plugins.skillcalculator.beans.SkillDataEntry; +import net.runelite.client.plugins.skillcalculator.skills.SkillAction; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.components.shadowlabel.JShadowedLabel; @@ -63,7 +63,7 @@ class UIActionSlot extends JPanel private static final Dimension ICON_SIZE = new Dimension(32, 32); @Getter(AccessLevel.PACKAGE) - private final SkillDataEntry action; + private final SkillAction action; private final JShadowedLabel uiLabelActions; private final JPanel uiInfo; @@ -81,7 +81,7 @@ class UIActionSlot extends JPanel @Setter(AccessLevel.PACKAGE) private double value; - UIActionSlot(SkillDataEntry action, JLabel uiIcon) + UIActionSlot(SkillAction action, JLabel uiIcon) { this.action = action; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/AgilityAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/AgilityAction.java new file mode 100644 index 0000000000..d62285d548 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/AgilityAction.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum AgilityAction implements SkillAction +{ + GNOME_STRONGHOLD_COURSE("Gnome Stronghold", 1, 86.5f, ItemID.SWAMP_TOAD), + SHAYZIEN_BASIC_COURSE("Shayzien Basic Course", 5, 133.2f, ItemID.SHAYZIEN_HELM_1), + DRAYNOR_VILLAGE_ROOFTOP("Draynor Village Rooftop", 10, 120, ItemID.MARK_OF_GRACE), + LEAPING_TROUT("Leaping trout", 15, 5, ItemID.LEAPING_TROUT), + AL_KHARID_ROOFTOP("Al Kharid Rooftop", 20, 180, ItemID.MARK_OF_GRACE), + VARROCK_ROOFTOP("Varrock Rooftop", 30, 238, ItemID.MARK_OF_GRACE), + PENGUIN_AGILITY_COURSE("Penguin Agility Course", 30, 540, ItemID.CLOCKWORK_SUIT), + LEAPING_SALMON("Leaping salmon", 30, 6, ItemID.LEAPING_SALMON), + BARBARIAN_OUTPOST("Barbarian Outpost", 35, 152.5f, ItemID.STEEL_BATTLEAXE), + CANIFIS_ROOFTOP("Canifis Rooftop", 40, 240, ItemID.MARK_OF_GRACE), + LEAPING_STURGEON("Leaping sturgeon", 45, 7, ItemID.LEAPING_STURGEON), + APE_ATOLL_COURSE("Ape Atoll", 48, 580, ItemID.GORILLA_GREEGREE), + SHAYZIEN_ADVANCED_COURSE("Shayzien Advanced Course", 48, 474.3f, ItemID.SHAYZIEN_HELM_5), + FALADOR_ROOFTOP("Falador Rooftop", 50, 440, ItemID.MARK_OF_GRACE), + WILDERNESS_AGILITY_COURSE("Wilderness Agility Course", 52, 571, ItemID.SKULL), + HALLOWED_SEPULCHRE_FLOOR_1("Hallowed Sepulchre Floor 1", 52, 575, ItemID.RING_OF_ENDURANCE), + SEERS_VILLAGE_ROOFTOP("Seers' Village Rooftop", 60, 570, ItemID.MARK_OF_GRACE), + WEREWOLF_AGILITY_COURSE("Werewolf Agility Course", 60, 730, ItemID.STICK), + HALLOWED_SEPULCHRE_FLOOR_2("Hallowed Sepulchre Floor 2", 62, 925, ItemID.RING_OF_ENDURANCE), + POLLNIVNEACH_ROOFTOP("Pollnivneach Rooftop", 70, 890, ItemID.MARK_OF_GRACE), + HALLOWED_SEPULCHRE_FLOOR_3("Hallowed Sepulchre Floor 3", 72, 1500, ItemID.RING_OF_ENDURANCE), + PRIFDDINAS_AGILITY_COURSE("Prifddinas Agility Course", 75, 1337, ItemID.CRYSTAL_SHARD), + RELLEKKA_ROOFTOP("Rellekka Rooftop", 80, 780, ItemID.MARK_OF_GRACE), + HALLOWED_SEPULCHRE_FLOOR_4("Hallowed Sepulchre Floor 4", 82, 2700, ItemID.RING_OF_ENDURANCE), + ARDOUGNE_ROOFTOP("Ardougne Rooftop", 90, 793, ItemID.MARK_OF_GRACE), + HALLOWED_SEPULCHRE_FLOOR_5("Hallowed Sepulchre Floor 5", 92, 6000, ItemID.RING_OF_ENDURANCE), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionAction.java new file mode 100644 index 0000000000..01b1148909 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionAction.java @@ -0,0 +1,209 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum ConstructionAction implements SkillAction +{ + EXIT_PORTAL("Exit Portal", 1, 100, ItemID.EXIT_PORTAL), + PLANK("Plank", 1, 29, ItemID.PLANK), + OAK_PLANK("Oak Plank", 1, 60, ItemID.OAK_PLANK), + TEAK_PLANK("Teak Plank", 1, 90, ItemID.TEAK_PLANK), + MAHOGANY_PLANK("Mahogany Plank", 1, 140, ItemID.MAHOGANY_PLANK), + PLANT("Plant", 1, 31, ItemID.PLANT), + FERN_BIG_PLANT("Fern (big plant)", 1, 31, ItemID.FERN_8186), + SHORT_PLANT("Short Plant", 1, 31, ItemID.SHORT_PLANT), + DOCK_LEAF("Dock Leaf", 1, 31, ItemID.DOCK_LEAF), + CRUDE_WOODEN_CHAIR("Crude Wooden Chair", 1, 58, ItemID.CRUDE_WOODEN_CHAIR), + BROWN_RUG("Brown Rug", 2, 30, ItemID.BROWN_RUG), + TORN_CURTAINS("Torn Curtains", 2, 132, ItemID.TORN_CURTAINS), + CLAY_FIREPLACE("Clay Fireplace", 3, 30, ItemID.CLAY_FIREPLACE), + WOODEN_BOOKCASE("Wooden Bookcase", 4, 115, ItemID.WOODEN_BOOKCASE), + FIREPIT("Firepit", 5, 40, ItemID.FIREPIT), + CAT_BLANKET("Cat Blanket", 5, 15, ItemID.CAT_BLANKET), + DECORATIVE_ROCK("Decorative Rock", 5, 100, ItemID.DECORATIVE_ROCK), + TREE("Tree", 5, 31, ItemID.TREE), + SMALL_FERN("Small Fern", 6, 70, ItemID.SMALL_FERN), + THISTLE("Thistle", 6, 70, ItemID.THISTLE), + BUSH("Bush", 6, 70, ItemID.BUSH), + LARGE_LEAF_BUSH("Large Leaf Bush", 6, 70, ItemID.LARGELEAF_PLANT), + WOODEN_SHELVES_1("Wooden Shelves 1", 6, 87, ItemID.WOODEN_SHELVES_1), + PUMP_AND_DRAIN("Pump and Drain", 7, 100, ItemID.PUMP_AND_DRAIN), + BEER_BARREL("Beer Barrel", 7, 87, ItemID.BEER_BARREL), + WOODEN_CHAIR("Wooden Chair", 8, 87, ItemID.WOODEN_CHAIR), + WOODEN_LARDER("Wooden Larder", 9, 228, ItemID.WOODEN_LARDER), + WOOD_DINING_TABLE("Wood Dining Table", 10, 115, ItemID.WOOD_DINING_TABLE), + POND("Pond", 10, 100, ItemID.POND), + NICE_TREE("Nice Tree", 10, 44, ItemID.NICE_TREE), + WOODEN_BENCH("Wooden Bench", 10, 115, ItemID.WOODEN_BENCH), + FIREPIT_WITH_HOOK("Firepit with Hook", 11, 60, ItemID.FIREPIT_WITH_HOOK), + REEDS("Reeds", 12, 100, ItemID.REEDS), + FERN_SMALL_PLANT("Fern (small plant)", 12, 100, ItemID.FERN), + CIDER_BARREL("Cider Barrel", 12, 91, ItemID.CIDER_BARREL), + WOODEN_SHELVES_2("Wooden Shelves 2", 12, 147, ItemID.WOODEN_SHELVES_2), + WOOD_TABLE("Wood Table", 12, 87, ItemID.WOOD_DINING_TABLE), + HUGE_PLANT("Huge Plant", 12, 100, ItemID.HUGE_PLANT), + TALL_PLANT("Tall Plant", 12, 100, ItemID.TALL_PLANT), + RUG("Rug", 13, 60, ItemID.RUG), + ROCKING_CHAIR("Rocking Chair", 14, 87, ItemID.ROCKING_CHAIR), + IMP_STATUE("Imp Statue", 15, 150, ItemID.IMP_STATUE), + OAK_TREE("Oak Tree", 15, 70, ItemID.OAK_TREE), + OAK_DECORATION("Oak Decoration", 16, 120, ItemID.OAK_DECORATION), + FIREPIT_WITH_POT("Firepit with Pot", 17, 80, ItemID.FIREPIT_WITH_POT), + CURTAINS("Curtains", 18, 225, ItemID.CURTAINS), + ASGARNIAN_ALE("Asgarnian Ale", 18, 184, ItemID.ASGARNIAN_ALE), + CAT_BASKET("Cat Basket", 19, 58, ItemID.CAT_BASKET), + OAK_CHAIR("Oak Chair", 19, 120, ItemID.OAK_CHAIR), + WOODEN_BED("Wooden Bed", 20, 117, ItemID.WOODEN_BED), + SHOE_BOX("Shoe Box", 20, 58, ItemID.SHOE_BOX), + SHAVING_STAND("Shaving Stand", 21, 30, ItemID.SHAVING_STAND), + OAK_DINING_TABLE("Oak Dining Table", 22, 240, ItemID.OAK_DINING_TABLE), + OAK_BENCH("Oak Bench", 22, 240, ItemID.OAK_BENCH), + WOODEN_SHELVES_3("Wooden Shelves 3", 23, 147, ItemID.WOODEN_SHELVES_3), + SMALL_OVEN("Small Oven", 24, 80, ItemID.SMALL_OVEN), + OAK_CLOCK("Oak Clock", 25, 142, ItemID.OAK_CLOCK), + GREENMANS_ALE("Greenman's Ale", 26, 184, ItemID.GREENMANS_ALE), + OAK_ARMCHAIR("Oak Armchair", 26, 180, ItemID.OAK_ARMCHAIR), + ROPE_BELL_PULL("Rope Bell-Pull", 26, 64, ItemID.ROPE_BELLPULL), + PUMP_AND_TUB("Pump and Tub", 27, 200, ItemID.PUMP_AND_TUB), + OAK_DRAWERS("Oak Drawers", 27, 120, ItemID.OAK_DRAWERS), + OAK_BOOKCASE("Oak Bookcase", 29, 180, ItemID.OAK_BOOKCASE), + LARGE_OVEN("Large Oven", 29, 100, ItemID.LARGE_OVEN), + OAK_SHAVING_STAND("Oak Shaving Stand", 29, 61, ItemID.OAK_SHAVING_STAND), + WILLOW_TREE("Willow Tree", 30, 100, ItemID.WILLOW_TREE), + OAK_BED("Oak Bed", 30, 210, ItemID.OAK_BED), + LONG_BONE("Long Bone", 30, 4500, ItemID.LONG_BONE), + CURVED_BONE("Curved Bone", 30, 6750, ItemID.CURVED_BONE), + CARVED_OAK_BENCH("Carved Oak Bench", 31, 240, ItemID.CARVED_OAK_BENCH), + CARVED_OAK_TABLE("Carved Oak Table", 31, 360, ItemID.CARVED_OAK_TABLE), + OAK_KITCHEN_TABLE("Oak Kitchen Table", 32, 180, ItemID.TEAK_TABLE), + BOXING_RING("Boxing Ring", 32, 420, ItemID.BOXING_RING), + OAK_LARDER("Oak Larder", 33, 480, ItemID.OAK_LARDER), + CUSHIONED_BASKET("Cushioned Basket", 33, 58, ItemID.CUSHIONED_BASKET), + STONE_FIREPLACE("Stone Fireplace", 33, 40, ItemID.STONE_FIREPLACE), + STEEL_RANGE("Steel Range", 34, 120, ItemID.STEEL_RANGE), + OAK_SHELVES_1("Oak Shelves 1", 34, 240, ItemID.OAK_SHELVES_1), + GLOVE_RACK("Glove Rack", 34, 120, ItemID.GLOVE_RACK), + LARGE_OAK_BED("Large Oak Bed", 34, 330, ItemID.LARGE_OAK_BED), + TEAK_ARMCHAIR("Teak Armchair", 35, 180, ItemID.TEAK_ARMCHAIR), + DRAGON_BITTER("Dragon Bitter", 36, 224, ItemID.DRAGON_BITTER), + TEAK_DECORATION("Teak Decoration", 36, 180, ItemID.TEAK_DECORATION), + BELL_PULL("Bell-Pull", 37, 120, ItemID.BELLPULL), + OAK_DRESSER("Oak Dresser", 37, 121, ItemID.OAK_DRESSER), + TEAK_BENCH("Teak Bench", 38, 360, ItemID.CARVED_TEAK_BENCH), + TEAK_TABLE("Teak Table", 38, 360, ItemID.TEAK_TABLE), + OAK_WARDROBE("Oak Wardrobe", 39, 180, ItemID.OAK_WARDROBE), + TEAK_BED("Teak Bed", 40, 300, ItemID.TEAK_BED), + MAHOGANY_BOOKCASE("Mahogany Bookcase", 40, 420, ItemID.MAHOGANY_BOOKCASE), + OAK_LECTERN("Oak Lectern", 40, 60, ItemID.OAK_LECTERN), + OPULENT_CURTAINS("Opulent Curtains", 40, 315, ItemID.OPULENT_CURTAINS), + FENCING_RING("Fencing Ring", 41, 570, ItemID.FENCING_RING), + GLOBE("Globe", 41, 180, ItemID.GLOBE), + FANCY_RANGE("Fancy Range", 42, 160, ItemID.FANCY_RANGE), + CRYSTAL_BALL("Crystal Ball", 42, 280, ItemID.CRYSTAL_BALL), + ALCHEMICAL_CHART("Alchemical Chart", 43, 30, ItemID.ALCHEMICAL_CHART), + TEAK_LARDER("Teak larder", 43, 750, ItemID.TEAK_LARDER), + WOODEN_TELESCOPE("Wooden Telescope", 44, 121, ItemID.OAK_TELESCOPE), + WEAPONS_RACK("Weapons Rack", 44, 180, ItemID.WEAPONS_RACK), + CARVED_TEAK_BENCH("Carved Teak Bench", 44, 360, ItemID.CARVED_TEAK_BENCH), + OAK_SHELVES_2("Oak Shelves 2", 45, 240, ItemID.OAK_SHELVES_2), + CARVED_TEAK_TABLE("Carved Teak Table", 45, 600, ItemID.CARVED_TEAK_TABLE), + LARGE_TEAK_BED("Large Teak Bed", 45, 480, ItemID.LARGE_TEAK_BED), + MAPLE_TREE("Maple Tree", 45, 122, ItemID.MAPLE_TREE), + TEAK_DRESSER("Teak Dresser", 46, 181, ItemID.TEAK_DRESSER), + SINK("Sink", 47, 300, ItemID.SINK), + EAGLE_LECTERN("Eagle Lectern", 47, 120, ItemID.EAGLE_LECTERN), + DEMON_LECTERN("Demon Lectern", 47, 120, ItemID.DEMON_LECTERN), + MOUNTED_MYTHICAL_CAPE("Mounted Mythical Cape", 47, 370, ItemID.MYTHICAL_CAPE), + CHEFS_DELIGHT("Chef's Delight", 48, 224, ItemID.CHEFS_DELIGHT), + TEAK_PORTAL("Teak Portal", 50, 270, ItemID.TEAK_PORTAL), + MAHOGANY_ARMCHAIR("Mahogany Armchair", 50, 280, ItemID.MAHOGANY_ARMCHAIR), + ORNAMENTAL_GLOBE("Ornamental Globe", 50, 270, ItemID.ORNAMENTAL_GLOBE), + TELEPORT_FOCUS("Teleport Focus", 50, 40, ItemID.TELEPORT_FOCUS), + TEAK_DRAWERS("Teak Drawers", 51, 180, ItemID.TEAK_DRAWERS), + COMBAT_RING("Combat Ring", 51, 630, ItemID.COMBAT_RING), + TEAK_KITCHEN_TABLE("Teak Kitchen Table", 52, 270, ItemID.TEAK_TABLE), + MAHOGANY_BENCH("Mahogany Bench", 52, 560, ItemID.MAHOGANY_BENCH), + MAHOGANY_TABLE("Mahogany Table", 52, 840, ItemID.MAHOGANY_TABLE), + FOUR_POSTER_BED("4-Poster Bed", 53, 450, ItemID._4POSTER), + EXTRA_WEAPONS_RACK("Extra Weapons Rack", 54, 440, ItemID.EXTRA_WEAPONS_RACK), + ELEMENTAL_SPHERE("Elemental Sphere", 54, 580, ItemID.ELEMENTAL_SPHERE), + TEAK_CLOCK("Teak Clock", 55, 202, ItemID.TEAK_CLOCK), + GILDED_DECORATION("Gilded Decoration", 56, 1020, ItemID.GILDED_DECORATION), + FANCY_TEAK_DRESSER("Fancy Teak Dresser", 56, 182, ItemID.FANCY_TEAK_DRESSER), + TEAK_SHELVES_1("Teak Shelves 1", 56, 330, ItemID.TEAK_SHELVES_1), + TEAK_EAGLE_LECTERN("Teak Eagle Lectern", 57, 180, ItemID.TEAK_EAGLE_LECTERN), + TEAK_DEMON_LECTERN("Teak Demon Lectern", 57, 180, ItemID.TEAK_DEMON_LECTERN), + LIMESTONE_ATTACK_STONE("Limestone attack stone", 59, 200, ItemID.ATTACK_STONE), + LUNAR_GLOBE("Lunar Globe", 59, 570, ItemID.LUNAR_GLOBE), + GILDED_FOUR_POSTER_BED("Gilded 4-Poster Bed", 60, 1330, ItemID.GILDED_4POSTER), + POSH_BELL_PULL("Posh Bell-Pull", 60, 420, ItemID.POSH_BELLPULL), + SPICE_RACK("Spice Rack", 60, 374, ItemID.SPICE_RACK), + YEW_TREE("Yew Tree", 60, 141, ItemID.YEW_TREE), + GILDED_BENCH("Gilded Bench", 61, 1760, ItemID.GILDED_BENCH), + TEAK_WARDROBE("Teak Wardrobe", 63, 270, ItemID.TEAK_WARDROBE), + MARBLE_FIREPLACE("Marble Fireplace", 63, 500, ItemID.MARBLE_FIREPLACE), + ASTRONOMICAL_CHART("Astronomical Chart", 63, 45, ItemID.ASTRONOMICAL_CHART), + TEAK_TELESCOPE("Teak Telescope", 64, 181, ItemID.TEAK_TELESCOPE), + MAHOGANY_DRESSER("Mahogany Dresser", 64, 281, ItemID.MAHOGANY_DRESSER), + MAHOGANY_PORTAL("Mahogany Portal", 65, 420, ItemID.MAHOGANY_PORTAL), + GREATER_FOCUS("Greater Focus", 65, 500, ItemID.GREATER_FOCUS), + OPULENT_RUG("Opulent Rug", 65, 360, ItemID.OPULENT_RUG), + TEAK_GARDEN_BENCH("Teak Garden Bench", 66, 540, ItemID.TEAK_GARDEN_BENCH), + CRYSTAL_OF_POWER("Crystal of Power", 66, 890, ItemID.CRYSTAL_OF_POWER), + TEAK_SHELVES_2("Teak Shelves 2", 67, 930, ItemID.TEAK_SHELVES_2), + MAHOGANY_DEMON_LECTERN("Mahogany Demon Lectern", 67, 580, ItemID.TEAK_DEMON_LECTERN), + MAHOGANY_EAGLE_LECTERN("Mahogany Eagle Lectern", 67, 580, ItemID.TEAK_DEMON_LECTERN), + CELESTIAL_GLOBE("Celestial Globe", 68, 570, ItemID.CELESTIAL_GLOBE), + DUNGEON_ENTRANCE("Dungeon Entrance", 70, 500, ItemID.DUNGEON_ENTRANCE), + RANGING_PEDESTALS("Ranging Pedestals", 71, 720, ItemID.RANGING_PEDESTALS), + OPULENT_TABLE("Opulent Table", 72, 3100, ItemID.OPULENT_TABLE), + OAK_DOOR("Oak Door", 74, 600, ItemID.OAK_DOOR), + GILDED_DRESSER("Gilded Dresser", 74, 582, ItemID.GILDED_DRESSER), + MAHOGANY_WARDROBE("Mahogany Wardrobe", 75, 420, ItemID.MAHOGANY_WARDROBE), + MAGIC_TREE("Magic Tree", 75, 223, ItemID.MAGIC_TREE), + ARMILLARY_GLOBE("Armillary Globe", 77, 960, ItemID.GLOBE), + GNOME_BENCH("Gnome Bench", 77, 840, ItemID.GNOME_BENCH), + MARBLE_PORTAL("Marble Portal", 80, 1500, ItemID.MARBLE_PORTAL), + SCRYING_POOL("Scrying Pool", 80, 2000, ItemID.SCRYING_POOL), + BALANCE_BEAM("Balance Beam", 81, 1000, ItemID.BALANCE_BEAM), + INFERNAL_CHART("Infernal Chart", 83, 60, ItemID.INFERNAL_CHART), + MAHOGANY_TELESCOPE("Mahogany Telescope", 84, 281, ItemID.MAHOGANY_TELESCOPE), + GILDED_CLOCK("Gilded Clock", 85, 602, ItemID.GILDED_CLOCK), + SMALL_ORRERY("Small Orrery", 86, 1320, ItemID.SMALL_ORRERY), + GILDED_WARDROBE("Gilded Wardrobe", 87, 720, ItemID.GILDED_WARDROBE), + LARGE_ORRERY("Large Orrery", 95, 1420, ItemID.LARGE_ORRERY), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionBonus.java new file mode 100644 index 0000000000..d398ea2786 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionBonus.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum ConstructionBonus implements SkillBonus +{ + CARPENTERS_OUTFIT("Carpenter's Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CookingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CookingAction.java new file mode 100644 index 0000000000..3a9b2a208f --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CookingAction.java @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum CookingAction implements SkillAction +{ + SINEW("Sinew", 1, 3, ItemID.SINEW), + SHRIMPS("Shrimps", 1, 30, ItemID.SHRIMPS), + COOKED_CHICKEN("Cooked chicken", 1, 30, ItemID.COOKED_CHICKEN), + COOKED_MEAT("Cooked meat", 1, 30, ItemID.COOKED_MEAT), + COOKED_RABBIT("Cooked rabbit", 1, 30, ItemID.COOKED_RABBIT), + ANCHOVIES("Anchovies", 1, 30, ItemID.ANCHOVIES), + SARDINE("Sardine", 1, 40, ItemID.SARDINE), + POISON_KARAMBWAN("Poison karambwan", 1, 80, ItemID.POISON_KARAMBWAN), + UGTHANKI_MEAT("Ugthanki meat", 1, 40, ItemID.UGTHANKI_MEAT), + BREAD("Bread", 1, 40, ItemID.BREAD), + HERRING("Herring", 5, 50, ItemID.HERRING), + FRUIT_BLAST("Fruit blast", 6, 50, ItemID.FRUIT_BLAST), + BAKED_POTATO("Baked potato", 7, 15, ItemID.BAKED_POTATO), + GUPPY("Guppy", 7, 12, ItemID.GUPPY), + PINEAPPLE_PUNCH("Pineapple punch", 8, 70, ItemID.PINEAPPLE_PUNCH), + SPICY_SAUCE("Spicy sauce", 9, 25, ItemID.SPICY_SAUCE), + MACKEREL("Mackerel", 10, 60, ItemID.MACKEREL), + REDBERRY_PIE("Redberry pie", 10, 78, ItemID.REDBERRY_PIE), + TOAD_CRUNCHIES("Toad crunchies", 10, 100, ItemID.TOAD_CRUNCHIES), + CHILLI_CON_CARNE("Chilli con carne", 11, 55, ItemID.CHILLI_CON_CARNE), + ROAST_BIRD_MEAT("Roast bird meat", 11, 62.5f, ItemID.ROAST_BIRD_MEAT), + THIN_SNAIL_MEAT("Thin snail meat", 12, 70, ItemID.THIN_SNAIL_MEAT), + SPICY_CRUNCHIES("Spicy crunchies", 12, 100, ItemID.SPICY_CRUNCHIES), + SCRAMBLED_EGG("Scrambled egg", 13, 50, ItemID.SCRAMBLED_EGG), + CIDER("Cider", 14, 182, ItemID.CIDER), + WORM_CRUNCHIES("Worm crunchies", 14, 104, ItemID.WORM_CRUNCHIES), + TROUT("Trout", 15, 70, ItemID.TROUT), + SPIDER_ON_STICK("Spider on stick", 16, 80, ItemID.SPIDER_ON_STICK), + SPIDER_ON_SHAFT("Spider on shaft", 16, 80, ItemID.SPIDER_ON_SHAFT), + ROAST_RABBIT("Roast rabbit", 16, 72.5f, ItemID.ROAST_RABBIT), + CHOCCHIP_CRUNCHIES("Chocchip crunchies", 16, 100, ItemID.CHOCCHIP_CRUNCHIES), + LEAN_SNAIL_MEAT("Lean snail meat", 17, 80, ItemID.LEAN_SNAIL_MEAT), + COD("Cod", 18, 75, ItemID.COD), + WIZARD_BLIZZARD("Wizard blizzard", 18, 110, ItemID.WIZARD_BLIZZARD), + DWARVEN_STOUT("Dwarven stout", 19, 215, ItemID.DWARVEN_STOUT), + SHORT_GREEN_GUY("Short green guy", 20, 120, ItemID.SHORT_GREEN_GUY), + MEAT_PIE("Meat pie", 20, 110, ItemID.MEAT_PIE), + PIKE("Pike", 20, 80, ItemID.PIKE), + CUP_OF_TEA("Cup of tea", 20, 52, ItemID.CUP_OF_TEA), + CAVEFISH("Cavefish", 20, 23, ItemID.CAVEFISH), + ROAST_BEAST_MEAT("Roast beast meat", 21, 82.5f, ItemID.ROAST_BEAST_MEAT), + COOKED_CRAB_MEAT("Cooked crab meat", 21, 100, ItemID.COOKED_CRAB_MEAT), + POT_OF_CREAM("Pot of cream", 21, 18, ItemID.POT_OF_CREAM), + FAT_SNAIL_MEAT("Fat snail meat", 22, 95, ItemID.FAT_SNAIL_MEAT), + EGG_AND_TOMATO("Egg and tomato", 23, 50, ItemID.EGG_AND_TOMATO), + ASGARNIAN_ALE("Asgarnian ale", 24, 248, ItemID.ASGARNIAN_ALE), + SALMON("Salmon", 25, 90, ItemID.SALMON), + STEW("Stew", 25, 117, ItemID.STEW), + FRUIT_BATTA("Fruit batta", 25, 150, ItemID.FRUIT_BATTA), + TOAD_BATTA("Toad batta", 26, 152, ItemID.TOAD_BATTA), + WORM_BATTA("Worm batta", 27, 154, ItemID.WORM_BATTA), + VEGETABLE_BATTA("Vegetable batta", 28, 156, ItemID.VEGETABLE_BATTA), + SWEETCORN("Sweetcorn", 28, 104, ItemID.COOKED_SWEETCORN), + COOKED_SLIMY_EEL("Cooked slimy eel", 28, 95, ItemID.COOKED_SLIMY_EEL), + MUD_PIE("Mud pie", 29, 128, ItemID.MUD_PIE), + GREENMANS_ALE("Greenman's ale", 29, 281, ItemID.GREENMANS_ALE), + CHEESE_AND_TOMATO_BATTA("Cheese and tomato Batta", 29, 158, ItemID.CHEESETOM_BATTA), + TUNA("Tuna", 30, 100, ItemID.TUNA), + APPLE_PIE("Apple pie", 30, 130, ItemID.APPLE_PIE), + WORM_HOLE("Worm hole", 30, 170, ItemID.WORM_HOLE), + COOKED_KARAMBWAN("Cooked karambwan", 30, 190, ItemID.COOKED_KARAMBWAN), + ROASTED_CHOMPY("Roasted chompy", 30, 100, ItemID.COOKED_CHOMPY), + FISHCAKE("Fishcake", 31, 100, ItemID.COOKED_FISHCAKE), + DRUNK_DRAGON("Drunk dragon", 32, 160, ItemID.DRUNK_DRAGON), + CHOC_SATURDAY("Choc saturday", 33, 170, ItemID.CHOC_SATURDAY), + TETRA("Tetra", 33, 31, ItemID.TETRA), + GARDEN_PIE("Garden pie", 34, 138, ItemID.GARDEN_PIE), + WIZARDS_MIND_BOMB("Wizard's mind bomb", 34, 314, ItemID.WIZARDS_MIND_BOMB), + JUG_OF_WINE("Jug of wine", 35, 200, ItemID.JUG_OF_WINE), + PLAIN_PIZZA("Plain pizza", 35, 143, ItemID.PLAIN_PIZZA), + RAINBOW_FISH("Rainbow fish", 35, 110, ItemID.RAINBOW_FISH), + VEG_BALL("Veg ball", 35, 175, ItemID.VEG_BALL), + BLURBERRY_SPECIAL("Blurberry special", 37, 180, ItemID.BLURBERRY_SPECIAL), + CAVE_EEL("Cave eel", 38, 115, ItemID.CAVE_EEL), + PAT_OF_BUTTER("Pat of butter", 38, 40.5f, ItemID.PAT_OF_BUTTER), + DRAGON_BITTER("Dragon bitter", 39, 347, ItemID.DRAGON_BITTER), + POTATO_WITH_BUTTER("Potato with butter", 39, 40, ItemID.POTATO_WITH_BUTTER), + LOBSTER("Lobster", 40, 120, ItemID.LOBSTER), + CAKE("Cake", 40, 180, ItemID.CAKE), + TANGLED_TOADS_LEGS("Tangled toad's legs", 40, 185, ItemID.TANGLED_TOADS_LEGS), + CHILLI_POTATO("Chilli potato", 41, 165.5f, ItemID.CHILLI_POTATO), + COOKED_JUBBLY("Cooked jubbly", 41, 160, ItemID.COOKED_JUBBLY), + CHOCOLATE_BOMB("Chocolate bomb", 42, 190, ItemID.CHOCOLATE_BOMB), + FRIED_ONIONS("Fried onions", 42, 60, ItemID.FRIED_ONIONS), + BASS("Bass", 43, 130, ItemID.BASS), + MOONLIGHT_MEAD("Moonlight mead", 44, 380, ItemID.MOONLIGHT_MEAD), + SWORDFISH("Swordfish", 45, 140, ItemID.SWORDFISH), + MEAT_PIZZA("Meat pizza", 45, 169, ItemID.MEAT_PIZZA), + FRIED_MUSHROOMS("Fried mushrooms", 46, 60, ItemID.FRIED_MUSHROOMS), + CATFISH("Catfish", 46, 43, ItemID.CATFISH), + FISH_PIE("Fish pie", 47, 164, ItemID.FISH_PIE), + POTATO_WITH_CHEESE("Potato with cheese", 47, 40, ItemID.POTATO_WITH_CHEESE), + CHEESE("Cheese", 48, 64, ItemID.CHEESE), + AXEMANS_FOLLY("Axeman's folly", 49, 413, ItemID.AXEMANS_FOLLY), + COOKED_OOMLIE_WRAP("Cooked oomlie wrap", 50, 30, ItemID.COOKED_OOMLIE_WRAP), + CHOCOLATE_CAKE("Chocolate cake", 50, 210, ItemID.CHOCOLATE_CAKE), + EGG_POTATO("Egg potato", 51, 195.5f, ItemID.EGG_POTATO), + BOTANICAL_PIE("Botanical pie", 52, 180, ItemID.BOTANICAL_PIE), + LAVA_EEL("Lava eel", 53, 30, ItemID.LAVA_EEL), + CHEFS_DELIGHT("Chef's Delight", 54, 446, ItemID.CHEFS_DELIGHT), + ANCHOVY_PIZZA("Anchovy pizza", 55, 182, ItemID.ANCHOVY_PIZZA), + MUSHROOM_AND_ONION("Mushroom & onion", 57, 120, ItemID.MUSHROOM__ONION), + UGTHANKI_KEBAB_FRESH("Ugthanki kebab (Fresh)", 58, 80, ItemID.UGTHANKI_KEBAB), + PITTA_BREAD("Pitta bread", 58, 40, ItemID.PITTA_BREAD), + SLAYERS_RESPITE("Slayer's respite", 59, 479, ItemID.SLAYERS_RESPITE), + CURRY("Curry", 60, 280, ItemID.CURRY), + MUSHROOM_PIE("Mushroom pie", 60, 200, ItemID.MUSHROOM_PIE), + MONKFISH("Monkfish", 62, 150, ItemID.MONKFISH), + MUSHROOM_POTATO("Mushroom potato", 64, 270.5f, ItemID.MUSHROOM_POTATO), + PINEAPPLE_PIZZA("Pineapple pizza", 65, 188, ItemID.PINEAPPLE_PIZZA), + WINE_OF_ZAMORAK("Wine of zamorak", 65, 200, ItemID.WINE_OF_ZAMORAK), + TUNA_AND_CORN("Tuna and corn", 67, 204, ItemID.TUNA_AND_CORN), + TUNA_POTATO("Tuna potato", 68, 309.5f, ItemID.TUNA_POTATO), + ADMIRAL_PIE("Admiral pie", 70, 210, ItemID.ADMIRAL_PIE), + SACRED_EEL("Sacred eel", 72, 109, ItemID.SACRED_EEL), + DRAGONFRUIT_PIE("Dragonfruit pie", 73, 220, ItemID.DRAGONFRUIT_PIE), + SHARK("Shark", 80, 210, ItemID.SHARK), + SEA_TURTLE("Sea turtle", 82, 211.3f, ItemID.SEA_TURTLE), + ANGLERFISH("Anglerfish", 84, 230, ItemID.ANGLERFISH), + WILD_PIE("Wild pie", 85, 240, ItemID.WILD_PIE), + DARK_CRAB("Dark crab", 90, 215, ItemID.DARK_CRAB), + MANTA_RAY("Manta ray", 91, 216.3f, ItemID.MANTA_RAY), + SUMMER_PIE("Summer pie", 95, 260, ItemID.SUMMER_PIE), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CraftingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CraftingAction.java new file mode 100644 index 0000000000..26d5ecf040 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CraftingAction.java @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum CraftingAction implements SkillAction +{ + BALL_OF_WOOL("Ball of wool", 1, 2.5f, ItemID.BALL_OF_WOOL), + UNFIRED_POT("Unfired pot", 1, 6.3f, ItemID.UNFIRED_POT), + POT("Pot", 1, 6.3f, ItemID.POT), + LEATHER_GLOVES("Leather gloves", 1, 13.8f, ItemID.LEATHER_GLOVES), + OPAL("Opal", 1, 15, ItemID.OPAL), + OPAL_RING("Opal ring", 1, 10, ItemID.OPAL_RING), + MOLTEN_GLASS("Molten glass", 1, 20, ItemID.MOLTEN_GLASS), + BEER_GLASS("Beer glass", 1, 17.5f, ItemID.BEER_GLASS), + EMPTY_CANDLE_LANTERN("Empty candle lantern", 4, 19, ItemID.EMPTY_CANDLE_LANTERN), + GOLD_RING("Gold ring", 5, 15, ItemID.GOLD_RING), + BIRD_HOUSE("Bird house", 5, 15, ItemID.BIRD_HOUSE), + GOLD_NECKLACE("Gold necklace", 6, 20, ItemID.GOLD_NECKLACE), + LEATHER_BOOTS("Leather boots", 7, 16.3f, ItemID.LEATHER_BOOTS), + UNFIRED_PIE_DISH("Unfired pie dish", 7, 15, ItemID.UNFIRED_PIE_DISH), + PIE_DISH("Pie dish", 7, 10, ItemID.PIE_DISH), + GOLD_BRACELET("Gold bracelet", 7, 25, ItemID.GOLD_BRACELET), + UNFIRED_BOWL("Unfired bowl", 8, 18, ItemID.UNFIRED_BOWL), + BOWL("Bowl", 8, 15, ItemID.BOWL), + GOLD_AMULET_U("Gold amulet (u)", 8, 30, ItemID.GOLD_AMULET_U), + COWL("Cowl", 9, 18.5f, ItemID.LEATHER_COWL), + CROSSBOW_STRING("Crossbow string", 10, 15, ItemID.CROSSBOW_STRING), + BOW_STRING("Bow string", 10, 15, ItemID.BOW_STRING), + LEATHER_VAMBRACES("Leather vambraces", 11, 22, ItemID.LEATHER_VAMBRACES), + EMPTY_OIL_LAMP("Empty oil lamp", 12, 25, ItemID.EMPTY_OIL_LAMP), + JADE("Jade", 13, 20, ItemID.JADE), + JADE_RING("Jade ring", 13, 32, ItemID.JADE_RING), + LEATHER_BODY("Leather body", 14, 25, ItemID.LEATHER_BODY), + OAK_BIRD_HOUSE("Oak bird house", 15, 20, ItemID.OAK_BIRD_HOUSE), + RED_TOPAZ("Red topaz", 16, 25, ItemID.RED_TOPAZ), + TOPAZ_RING("Topaz ring", 16, 35, ItemID.TOPAZ_RING), + HOLY_SYMBOL("Holy symbol", 16, 50, ItemID.HOLY_SYMBOL), + OPAL_NECKLACE("Opal necklace", 16, 35, ItemID.OPAL_NECKLACE), + UNHOLY_SYMBOL("Unholy symbol", 17, 50, ItemID.UNHOLY_SYMBOL), + LEATHER_CHAPS("Leather chaps", 18, 27, ItemID.LEATHER_CHAPS), + UNFIRED_PLANT_POT("Unfired plant pot", 19, 20, ItemID.UNFIRED_PLANT_POT), + EMPTY_PLANT_POT("Empty plant pot", 19, 17.5f, ItemID.EMPTY_PLANT_POT), + MAGIC_STRING("Magic string", 19, 30, ItemID.MAGIC_STRING), + SAPPHIRE("Sapphire", 20, 50, ItemID.SAPPHIRE), + SAPPHIRE_RING("Sapphire ring", 20, 40, ItemID.SAPPHIRE_RING), + EMPTY_SACK("Empty sack", 21, 38, ItemID.EMPTY_SACK), + SAPPHIRE_NECKLACE("Sapphire necklace", 22, 55, ItemID.SAPPHIRE_NECKLACE), + OPAL_BRACELET("Opal bracelet", 22, 45, ItemID.OPAL_BRACELET), + SAPPHIRE_BRACELET("Sapphire bracelet", 23, 60, ItemID.SAPPHIRE_BRACELET), + TIARA("Tiara", 23, 52.5f, ItemID.TIARA), + SAPPHIRE_AMULET_U("Sapphire amulet (u)", 24, 65, ItemID.SAPPHIRE_AMULET_U), + UNFIRED_POT_LID("Unfired pot lid", 25, 20, ItemID.UNFIRED_POT_LID), + POT_LID("Pot lid", 25, 20, ItemID.POT_LID), + JADE_NECKLACE("Jade necklace", 25, 54, ItemID.JADE_NECKLACE), + WILLOW_BIRD_HOUSE("Willow bird house", 25, 25, ItemID.WILLOW_BIRD_HOUSE), + DRIFT_NET("Drift net", 26, 55, ItemID.SMALL_FISHING_NET_6209), + EMERALD("Emerald", 27, 67.5f, ItemID.EMERALD), + EMERALD_RING("Emerald ring", 27, 55, ItemID.EMERALD_RING), + OPAL_AMULET_U("Opal amulet (u)", 27, 55, ItemID.OPAL_AMULET_U), + HARDLEATHER_BODY("Hardleather body", 28, 35, ItemID.HARDLEATHER_BODY), + EMERALD_NECKLACE("Emerald necklace", 29, 60, ItemID.EMERALD_NECKLACE), + JADE_BRACELET("Jade bracelet", 29, 60, ItemID.JADE_BRACELET), + EMERALD_BRACELET("Emerald bracelet", 30, 65, ItemID.EMERALD_BRACELET), + ROPE("Rope", 30, 25, ItemID.ROPE), + EMERALD_AMULET_U("Emerald amulet (u)", 31, 70, ItemID.EMERALD_AMULET_U), + SPIKY_VAMBRACES("Spiky vambraces", 32, 6, ItemID.SPIKY_VAMBRACES), + TOPAZ_NECKLACE("Topaz necklace", 32, 70, ItemID.TOPAZ_NECKLACE), + VIAL("Vial", 33, 35, ItemID.VIAL), + RUBY("Ruby", 34, 85, ItemID.RUBY), + RUBY_RING("Ruby ring", 34, 70, ItemID.RUBY_RING), + JADE_AMULET_U("Jade amulet (u)", 34, 70, ItemID.JADE_AMULET_U), + BROODOO_SHIELD("Broodoo shield", 35, 100, ItemID.BROODOO_SHIELD), + TEAK_BIRD_HOUSE("Teak bird house", 35, 30, ItemID.TEAK_BIRD_HOUSE), + BASKET("Basket", 36, 56, ItemID.BASKET), + COIF("Coif", 38, 37, ItemID.COIF), + TOPAZ_BRACELET("Topaz bracelet", 38, 75, ItemID.TOPAZ_BRACELET), + RUBY_NECKLACE("Ruby necklace", 40, 75, ItemID.RUBY_NECKLACE), + HARD_LEATHER_SHIELD("Hard leather shield", 41, 70, ItemID.HARD_LEATHER_SHIELD), + RUBY_BRACELET("Ruby bracelet", 42, 80, ItemID.RUBY_BRACELET), + FISHBOWL("Fishbowl", 42, 42.5f, ItemID.FISHBOWL), + DIAMOND("Diamond", 43, 107.5f, ItemID.DIAMOND), + DIAMOND_RING("Diamond ring", 43, 85, ItemID.DIAMOND_RING), + TOPAZ_AMULET_U("Topaz amulet (u)", 45, 80, ItemID.TOPAZ_AMULET_U), + SNAKESKIN_BOOTS("Snakeskin boots", 45, 30, ItemID.SNAKESKIN_BOOTS), + MAPLE_BIRD_HOUSE("Maple bird house", 45, 35, ItemID.MAPLE_BIRD_HOUSE), + UNPOWERED_ORB("Unpowered orb", 46, 52.5f, ItemID.UNPOWERED_ORB), + SNAKESKIN_VAMBRACES("Snakeskin vambraces", 47, 35, ItemID.SNAKESKIN_VAMBRACES), + SNAKESKIN_BANDANA("Snakeskin bandana", 48, 45, ItemID.SNAKESKIN_BANDANA), + LANTERN_LENS("Lantern lens", 49, 55, ItemID.LANTERN_LENS), + RUBY_AMULET_U("Ruby amulet (u)", 50, 85, ItemID.RUBY_AMULET_U), + MAHOGANY_BIRD_HOUSE("Mahogany bird house", 50, 40, ItemID.MAHOGANY_BIRD_HOUSE), + SNAKESKIN_CHAPS("Snakeskin chaps", 51, 50, ItemID.SNAKESKIN_CHAPS), + SNAKESKIN_BODY("Snakeskin body", 53, 55, ItemID.SNAKESKIN_BODY), + WATER_BATTLESTAFF("Water battlestaff", 54, 100, ItemID.WATER_BATTLESTAFF), + DRAGONSTONE("Dragonstone", 55, 137.5f, ItemID.DRAGONSTONE), + DRAGONSTONE_RING("Dragonstone ring", 55, 100, ItemID.DRAGONSTONE_RING), + DIAMOND_NECKLACE("Diamond necklace", 56, 90, ItemID.DIAMOND_NECKLACE), + SNAKESKIN_SHIELD("Snakeskin shield", 56, 100, ItemID.SNAKESKIN_SHIELD), + GREEN_DHIDE_VAMB("Green D'hide vamb", 57, 62, ItemID.GREEN_DHIDE_VAMBRACES), + DIAMOND_BRACELET("Diamond bracelet", 58, 95, ItemID.DIAMOND_BRACELET), + EARTH_BATTLESTAFF("Earth battlestaff", 58, 112.5f, ItemID.EARTH_BATTLESTAFF), + GREEN_DHIDE_CHAPS("Green D'hide chaps", 60, 124, ItemID.GREEN_DHIDE_CHAPS), + YEW_BIRD_HOUSE("Yew bird house", 60, 45, ItemID.YEW_BIRD_HOUSE), + FIRE_BATTLESTAFF("Fire battlestaff", 62, 125, ItemID.FIRE_BATTLESTAFF), + GREEN_DHIDE_SHIELD("Green D'hide shield", 62, 124, ItemID.GREEN_DHIDE_SHIELD), + GREEN_DHIDE_BODY("Green D'hide body", 63, 186, ItemID.GREEN_DHIDE_BODY), + AIR_BATTLESTAFF("Air battlestaff", 66, 137.5f, ItemID.AIR_BATTLESTAFF), + BLUE_DHIDE_VAMB("Blue D'hide vamb", 66, 70, ItemID.BLUE_DHIDE_VAMBRACES), + ONYX_RING("Onyx ring", 67, 115, ItemID.ONYX_RING), + ONYX("Onyx", 67, 167.5f, ItemID.ONYX), + BLUE_DHIDE_CHAPS("Blue D'hide chaps", 68, 140, ItemID.BLUE_DHIDE_CHAPS), + BLUE_DHIDE_SHIELD("Blue D'hide shield", 69, 140, ItemID.BLUE_DHIDE_SHIELD), + DIAMOND_AMULET_U("Diamond amulet (u)", 70, 100, ItemID.DIAMOND_AMULET_U), + BLUE_DHIDE_BODY("Blue D'hide body", 71, 210, ItemID.BLUE_DHIDE_BODY), + DRAGONSTONE_NECKLACE("Dragonstone necklace", 72, 105, ItemID.DRAGON_NECKLACE), + RED_DHIDE_VAMB("Red D'hide vamb", 73, 78, ItemID.RED_DHIDE_VAMBRACES), + DRAGONSTONE_BRACELET("Dragonstone bracelet", 74, 110, ItemID.DRAGONSTONE_BRACELET), + RED_DHIDE_CHAPS("Red D'hide chaps", 75, 156, ItemID.RED_DHIDE_CHAPS), + MAGIC_BIRD_HOUSE("Magic bird house", 75, 50, ItemID.MAGIC_BIRD_HOUSE), + RED_DHIDE_SHIELD("Red D'hide shield", 76, 156, ItemID.RED_DHIDE_SHIELD), + RED_DHIDE_BODY("Red D'hide body", 77, 234, ItemID.RED_DHIDE_BODY), + BLACK_DHIDE_VAMB("Black D'hide vamb", 79, 86, ItemID.BLACK_DHIDE_VAMBRACES), + DRAGONSTONE_AMULET_U("Dragonstone amulet (u)", 80, 150, ItemID.DRAGONSTONE_AMULET_U), + BLACK_DHIDE_CHAPS("Black D'hide chaps", 82, 172, ItemID.BLACK_DHIDE_CHAPS), + ONYX_NECKLACE("Onyx necklace", 82, 120, ItemID.ONYX_NECKLACE), + AMETHYST_BOLT_TIPS("Amethyst bolt tips", 83, 4, ItemID.AMETHYST_BOLT_TIPS), + BLACK_DHIDE_SHIELD("Black D'hide shield", 83, 172, ItemID.BLACK_DHIDE_SHIELD), + BLACK_DHIDE_BODY("Black D'hide body", 84, 258, ItemID.BLACK_DHIDE_BODY), + ONYX_BRACELET("Onyx bracelet", 84, 125, ItemID.ONYX_BRACELET), + AMETHYST_ARROWTIPS("Amethyst arrowtips", 85, 4, ItemID.AMETHYST_ARROWTIPS), + AMETHYST_JAVELIN_HEADS("Amethyst javelin heads", 87, 12, ItemID.AMETHYST_JAVELIN_HEADS), + LIGHT_ORB("Light orb", 87, 70, ItemID.LIGHT_ORB), + AMETHYST_DART_TIP("Amethyst dart tip", 89, 7.5f, ItemID.AMETHYST_DART_TIP), + ZENYTE("Zenyte", 89, 200, ItemID.ZENYTE), + ZENYTE_RING("Zenyte ring", 89, 150, ItemID.ZENYTE_RING), + ONYX_AMULET_U("Onyx amulet (u)", 90, 165, ItemID.ONYX_AMULET_U), + REDWOOD_BIRD_HOUSE("Redwood bird house", 90, 55, ItemID.REDWOOD_BIRD_HOUSE), + ZENYTE_NECKLACE("Zenyte necklace", 92, 165, ItemID.ZENYTE_NECKLACE), + ZENYTE_BRACELET("Zenyte bracelet", 95, 180, ItemID.ZENYTE_BRACELET), + ZENYTE_AMULET_U("Zenyte amulet (u)", 98, 200, ItemID.ZENYTE_AMULET_U), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingAction.java new file mode 100644 index 0000000000..bcf06f1668 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingAction.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum FarmingAction implements SkillAction +{ + PLANT("Plant", 1, 31, ItemID.PLANT), + FERN_BIG_PLANT("Fern (big plant)", 1, 31, ItemID.FERN_8186), + SHORT_PLANT("Short Plant", 1, 31, ItemID.SHORT_PLANT), + DOCK_LEAF("Dock Leaf", 1, 31, ItemID.DOCK_LEAF), + SMALL_FERN("Small Fern", 1, 70, ItemID.SMALL_FERN), + THISTLE("Thistle", 1, 70, ItemID.THISTLE), + BUSH("Bush", 1, 70, ItemID.BUSH), + LARGE_LEAF_BUSH("Large Leaf Bush", 1, 70, ItemID.LARGELEAF_PLANT), + HUGE_PLANT("Huge Plant", 1, 100, ItemID.HUGE_PLANT), + TALL_PLANT("Tall Plant", 1, 100, ItemID.TALL_PLANT), + REEDS("Reeds", 1, 100, ItemID.REEDS), + FERN_SMALL_PLANT("Fern (small plant)", 1, 100, ItemID.FERN), + WINTER_SQIRK("Winter Sq'irk", 1, 30, ItemID.WINTER_SQIRK), + SPRING_SQIRK("Spring Sq'irk", 1, 40, ItemID.SPRING_SQIRK), + AUTUMN_SQIRK("Autumn Sq'irk", 1, 50, ItemID.AUTUMN_SQIRK), + SUMMER_SQIRK("Summer Sq'irk", 1, 60, ItemID.SUMMER_SQIRK), + POTATOES("Potatoes", 1, 8, ItemID.POTATO), + ONIONS("Onions", 5, 10, ItemID.ONION), + CABBAGES("Cabbages", 7, 10, ItemID.CABBAGE), + GUAM_LEAF("Guam Leaf", 9, 11, ItemID.GUAM_LEAF), + TOMATOES("Tomatoes", 12, 12.5f, ItemID.TOMATO), + MARRENTILL("Marrentill", 14, 13.5f, ItemID.MARRENTILL), + OAK_TREE("Oak Tree", 15, 481.3f, ItemID.OAK_LOGS), + TARROMIN("Tarromin", 19, 16, ItemID.TARROMIN), + SWEETCORN("Sweetcorn", 20, 17, ItemID.SWEETCORN), + GIANT_SEAWEED("Giant seaweed", 23, 21, ItemID.GIANT_SEAWEED), + HARRALANDER("Harralander", 26, 21.5f, ItemID.HARRALANDER), + LIMPWURT_PLANT("Limpwurt Plant", 26, 40, ItemID.LIMPWURT_ROOT), + APPLE_TREE("Apple Tree", 27, 1221.5f, ItemID.COOKING_APPLE), + GOUTWEED("Goutweed", 29, 105, ItemID.GOUTWEED), + WILLOW_TREE("Willow Tree", 30, 1481.5f, ItemID.WILLOW_LOGS), + STRAWBERRIES("Strawberries", 31, 26, ItemID.STRAWBERRY), + RANARR_WEED("Ranarr Weed", 32, 27, ItemID.RANARR_WEED), + BANANA_TREE("Banana Tree", 33, 1778.5f, ItemID.BANANA), + TEAK_TREE("Teak Tree", 35, 7315, ItemID.TEAK_LOGS), + TOADFLAX("Toadflax", 38, 34, ItemID.TOADFLAX), + ORANGE_TREE("Orange Tree", 39, 2505.7f, ItemID.ORANGE), + CURRY_TREE("Curry Tree", 42, 2946.9f, ItemID.CURRY_LEAF), + IRIT_LEAF("Irit Leaf", 44, 43, ItemID.IRIT_LEAF), + MAPLE_TREE("Maple Tree", 45, 3448.4f, ItemID.MAPLE_LOGS), + WATERMELONS("Watermelons", 47, 49, ItemID.WATERMELON), + AVANTOE("Avantoe", 50, 54.5f, ItemID.AVANTOE), + PINEAPPLE_PLANT("Pineapple Plant", 51, 4662.7f, ItemID.PINEAPPLE), + MAHOGANY_TREE("Mahogany Tree", 55, 15783, ItemID.MAHOGANY_LOGS), + KWUARM("Kwuarm", 56, 69, ItemID.KWUARM), + PAPAYA_TREE("Papaya Tree", 57, 6218.4f, ItemID.PAPAYA_FRUIT), + WHITE_LILY("White lily", 58, 292, ItemID.WHITE_LILY), + YEW_TREE("Yew Tree", 60, 7150.9f, ItemID.YEW_LOGS), + SNAPE_GRASS("Snape grass", 61, 82, ItemID.SNAPE_GRASS), + SNAPDRAGON("Snapdragon", 62, 87.5f, ItemID.SNAPDRAGON), + HESPORI("Hespori", 65, 12662, ItemID.CLAN_WARS_CAPE_12662), + CADANTINE("Cadantine", 67, 106.5f, ItemID.CADANTINE), + PALM_TREE("Palm Tree", 68, 10260.6f, ItemID.COCONUT), + CALQUAT_TREE("Calquat Tree", 72, 12225.5f, ItemID.CALQUAT_FRUIT), + LANTADYME("Lantadyme", 73, 134.5f, ItemID.LANTADYME), + CRYSTAL_TREE("Crystal Tree", 74, 13366, ItemID.CRYSTAL_SHARD), + MAGIC_TREE("Magic Tree", 75, 13913.8f, ItemID.MAGIC_LOGS), + DWARF_WEED("Dwarf Weed", 79, 170.5f, ItemID.DWARF_WEED), + DRAGONFRUIT_TREE("Dragonfruit Tree", 81, 17895, ItemID.DRAGONFRUIT), + SPIRIT_TREE("Spirit Tree", 83, 19501.3f, ItemID.SPIRIT_TREE), + CELASTRUS_TREE("Celastrus Tree", 85, 14334, ItemID.CELASTRUS_BARK), + TORSTOL("Torstol", 85, 199.5f, ItemID.TORSTOL), + REDWOOD_TREE("Redwood Tree", 90, 22680, ItemID.REDWOOD_LOGS), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingBonus.java similarity index 78% rename from runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataBonus.java rename to runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingBonus.java index 675fcb51db..bef0a0bf2c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataBonus.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingBonus.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Kruithne + * Copyright (c) 2021, Jordan Atwood * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,13 +22,18 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.skillcalculator.beans; +package net.runelite.client.plugins.skillcalculator.skills; +import lombok.AllArgsConstructor; import lombok.Getter; -@Getter -public class SkillDataBonus +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum FarmingBonus implements SkillBonus { - private String name; - private float value; -} \ No newline at end of file + FARMERS_OUTFIT("Farmer's Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingAction.java new file mode 100644 index 0000000000..57d1b92e7e --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingAction.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum FiremakingAction implements SkillAction +{ + LOGS("Logs", 1, 40, ItemID.LOGS), + ACHEY_TREE_LOGS("Achey tree logs", 1, 40, ItemID.ACHEY_TREE_LOGS), + OAK_LOGS("Oak logs", 15, 60, ItemID.OAK_LOGS), + WILLOW_LOGS("Willow logs", 30, 90, ItemID.WILLOW_LOGS), + TEAK_LOGS("Teak logs", 35, 105, ItemID.TEAK_LOGS), + ARCTIC_PINE_LOGS("Arctic pine logs", 42, 125, ItemID.ARCTIC_PINE_LOGS), + MAPLE_LOGS("Maple logs", 45, 135, ItemID.MAPLE_LOGS), + MAHOGANY_LOGS("Mahogany logs", 50, 157.5f, ItemID.MAHOGANY_LOGS), + YEW_LOGS("Yew logs", 60, 202.5f, ItemID.YEW_LOGS), + BLISTERWOOD_LOGS("Blisterwood logs", 62, 96, ItemID.BLISTERWOOD_LOGS), + MAGIC_LOGS("Magic logs", 75, 303.8f, ItemID.MAGIC_LOGS), + REDWOOD_LOGS("Redwood logs", 90, 350, ItemID.REDWOOD_LOGS), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingBonus.java new file mode 100644 index 0000000000..6f4cd5a720 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingBonus.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum FiremakingBonus implements SkillBonus +{ + PYROMANCER_OUTFIT("Pyromancer Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingAction.java new file mode 100644 index 0000000000..c414ac2d77 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingAction.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum FishingAction implements SkillAction +{ + RAW_SHRIMPS("Raw shrimps", 1, 10, ItemID.RAW_SHRIMPS), + RAW_SARDINE("Raw sardine", 5, 20, ItemID.RAW_SARDINE), + RAW_KARAMBWANJI("Raw karambwanji", 5, 5, ItemID.RAW_KARAMBWANJI), + RAW_GUPPY("Raw guppy", 7, 8, ItemID.RAW_GUPPY), + RAW_HERRING("Raw herring", 10, 30, ItemID.RAW_HERRING), + RAW_ANCHOVIES("Raw anchovies", 15, 40, ItemID.RAW_ANCHOVIES), + RAW_MACKEREL("Raw mackerel", 16, 20, ItemID.RAW_MACKEREL), + RAW_TROUT("Raw trout", 20, 50, ItemID.RAW_TROUT), + RAW_CAVEFISH("Raw cavefish", 20, 16, ItemID.RAW_CAVEFISH), + RAW_COD("Raw cod", 23, 45, ItemID.RAW_COD), + RAW_PIKE("Raw pike", 25, 60, ItemID.RAW_PIKE), + RAW_SLIMY_EEL("Raw slimy eel", 28, 65, ItemID.RAW_SLIMY_EEL), + RAW_SALMON("Raw salmon", 30, 70, ItemID.RAW_SALMON), + RAW_TETRA("Raw tetra", 33, 24, ItemID.RAW_TETRA), + RAW_TUNA("Raw tuna", 35, 80, ItemID.RAW_TUNA), + RAW_RAINBOW_FISH("Raw rainbow fish", 38, 80, ItemID.RAW_RAINBOW_FISH), + RAW_CAVE_EEL("Raw cave eel", 38, 80, ItemID.RAW_CAVE_EEL), + RAW_LOBSTER("Raw lobster", 40, 90, ItemID.RAW_LOBSTER), + RAW_BASS("Raw bass", 46, 100, ItemID.RAW_BASS), + RAW_CATFISH("Raw catfish", 46, 33, ItemID.RAW_CATFISH), + LEAPING_TROUT("Leaping trout", 48, 50, ItemID.LEAPING_TROUT), + RAW_SWORDFISH("Raw swordfish", 50, 100, ItemID.RAW_SWORDFISH), + LEAPING_SALMON("Leaping salmon", 58, 70, ItemID.LEAPING_SALMON), + RAW_MONKFISH("Raw monkfish", 62, 120, ItemID.RAW_MONKFISH), + RAW_KARAMBWAN("Raw karambwan", 65, 50, ItemID.RAW_KARAMBWAN), + LEAPING_STURGEON("Leaping sturgeon", 70, 80, ItemID.LEAPING_STURGEON), + RAW_SHARK("Raw shark", 76, 110, ItemID.RAW_SHARK), + RAW_SEA_TURTLE("Raw sea turtle", 79, 38, ItemID.RAW_SEA_TURTLE), + INFERNAL_EEL("Infernal eel", 80, 95, ItemID.INFERNAL_EEL), + RAW_MANTA_RAY("Raw manta ray", 81, 46, ItemID.RAW_MANTA_RAY), + RAW_ANGLERFISH("Raw anglerfish", 82, 120, ItemID.RAW_ANGLERFISH), + MINNOW("Minnow", 82, 26.5f, ItemID.MINNOW), + RAW_DARK_CRAB("Raw dark crab", 85, 130, ItemID.RAW_DARK_CRAB), + SACRED_EEL("Sacred eel", 87, 105, ItemID.SACRED_EEL), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataEntry.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingBonus.java similarity index 78% rename from runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataEntry.java rename to runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingBonus.java index b21188d913..422d22968e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataEntry.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingBonus.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Kruithne + * Copyright (c) 2021, Jordan Atwood * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,17 +22,18 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.skillcalculator.beans; +package net.runelite.client.plugins.skillcalculator.skills; +import lombok.AllArgsConstructor; import lombok.Getter; -@Getter -public class SkillDataEntry +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum FishingBonus implements SkillBonus { - private String name; - private int level; - private double xp; - private Integer icon; - private Integer sprite; - private boolean ignoreBonus; -} \ No newline at end of file + ANGLERS_OUTFIT("Angler's Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FletchingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FletchingAction.java new file mode 100644 index 0000000000..7da07f6817 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FletchingAction.java @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum FletchingAction implements SkillAction +{ + ARROW_SHAFT("Arrow shaft", 1, 0.33f, ItemID.ARROW_SHAFT), + HEADLESS_ARROW("Headless arrow", 1, 1, ItemID.HEADLESS_ARROW), + BRONZE_ARROW("Bronze arrow", 1, 1.3f, ItemID.BRONZE_ARROW), + OGRE_ARROW("Ogre arrow", 5, 1, ItemID.OGRE_ARROW), + SHORTBOW_U("Shortbow (u)", 5, 5, ItemID.SHORTBOW_U), + SHORTBOW("Shortbow", 5, 5, ItemID.SHORTBOW), + BRONZE_BOLTS("Bronze bolts", 9, 0.5f, ItemID.BRONZE_BOLTS), + WOODEN_STOCK("Wooden stock", 9, 6, ItemID.WOODEN_STOCK), + BRONZE_CROSSBOW_U("Bronze crossbow (u)", 9, 12, ItemID.BRONZE_CROSSBOW_U), + BRONZE_CROSSBOW("Bronze crossbow", 9, 6, ItemID.BRONZE_CROSSBOW), + BRONZE_DART("Bronze dart", 10, 1.8f, ItemID.BRONZE_DART), + LONGBOW("Longbow", 10, 10, ItemID.LONGBOW), + LONGBOW_U("Longbow (u)", 10, 10, ItemID.LONGBOW_U), + OPAL_BOLTS("Opal bolts", 11, 1.6f, ItemID.OPAL_BOLTS), + IRON_ARROW("Iron arrow", 15, 2.5f, ItemID.IRON_ARROW), + OAK_SHORTBOW_U("Oak shortbow (u)", 20, 16.5f, ItemID.OAK_SHORTBOW_U), + OAK_SHORTBOW("Oak shortbow", 20, 16.5f, ItemID.OAK_SHORTBOW), + IRON_DART("Iron dart", 22, 3.8f, ItemID.IRON_DART), + OAK_STOCK("Oak stock", 24, 16, ItemID.OAK_STOCK), + BLURITE_CROSSBOW_U("Blurite crossbow (u)", 24, 32, ItemID.BLURITE_CROSSBOW_U), + BLURITE_CROSSBOW("Blurite crossbow", 24, 16, ItemID.BLURITE_CROSSBOW), + OAK_LONGBOW_U("Oak longbow (u)", 25, 25, ItemID.OAK_LONGBOW_U), + OAK_LONGBOW("Oak longbow", 25, 25, ItemID.OAK_LONGBOW), + OAK_SHIELD("Oak shield", 27, 50, ItemID.OAK_SHIELD), + STEEL_ARROW("Steel arrow", 30, 5, ItemID.STEEL_ARROW), + KEBBIT_BOLTS("Kebbit bolts", 32, 1, ItemID.KEBBIT_BOLTS), + WILLOW_SHORTBOW_U("Willow shortbow (u)", 35, 33.3f, ItemID.WILLOW_SHORTBOW_U), + WILLOW_SHORTBOW("Willow shortbow", 35, 33.3f, ItemID.WILLOW_SHORTBOW), + STEEL_DART("Steel dart", 37, 7.5f, ItemID.STEEL_DART), + IRON_BOLTS("Iron bolts", 39, 1.5f, ItemID.IRON_BOLTS), + WILLOW_STOCK("Willow stock", 39, 22, ItemID.WILLOW_STOCK), + IRON_CROSSBOW_U("Iron crossbow (u)", 39, 44, ItemID.IRON_CROSSBOW_U), + IRON_CROSSBOW("Iron crossbow", 39, 22, ItemID.IRON_CROSSBOW), + WILLOW_LONGBOW_U("Willow longbow (u)", 40, 41.5f, ItemID.WILLOW_LONGBOW_U), + WILLOW_LONGBOW("Willow longbow", 40, 41.5f, ItemID.WILLOW_LONGBOW), + BATTLESTAFF("Battlestaff", 40, 80, ItemID.BATTLESTAFF), + PEARL_BOLTS("Pearl bolts", 41, 3.2f, ItemID.PEARL_BOLTS), + WILLOW_SHIELD("Willow shield", 42, 83, ItemID.WILLOW_SHIELD), + LONG_KEBBIT_BOLTS("Long kebbit bolts", 42, 1.3f, ItemID.LONG_KEBBIT_BOLTS), + SILVER_BOLTS("Silver bolts", 43, 2.5f, ItemID.SILVER_BOLTS), + MITHRIL_ARROW("Mithril arrow", 45, 7.5f, ItemID.MITHRIL_ARROW), + STEEL_BOLTS("Steel bolts", 46, 3.5f, ItemID.STEEL_BOLTS), + TEAK_STOCK("Teak stock", 46, 27, ItemID.TEAK_STOCK), + STEEL_CROSSBOW_U("Steel crossbow (u)", 46, 54, ItemID.STEEL_CROSSBOW_U), + STEEL_CROSSBOW("Steel crossbow", 46, 27, ItemID.STEEL_CROSSBOW), + MAPLE_SHORTBOW_U("Maple shortbow (u)", 50, 50, ItemID.MAPLE_SHORTBOW_U), + MAPLE_SHORTBOW("Maple shortbow", 50, 50, ItemID.MAPLE_SHORTBOW), + BARBED_BOLTS("Barbed bolts", 51, 9.5f, ItemID.BARBED_BOLTS), + MITHRIL_DART("Mithril dart", 52, 11.2f, ItemID.MITHRIL_DART), + BROAD_ARROWS("Broad arrows", 52, 10, ItemID.BROAD_ARROWS), + TOXIC_BLOWPIPE("Toxic blowpipe", 53, 120, ItemID.TOXIC_BLOWPIPE), + MITH_CROSSBOW("Mith crossbow", 54, 32, ItemID.MITHRIL_CROSSBOW), + MAPLE_STOCK("Maple stock", 54, 32, ItemID.MAPLE_STOCK), + MITHRIL_BOLTS("Mithril bolts", 54, 5, ItemID.MITHRIL_BOLTS), + MITHRIL_CROSSBOW_U("Mithril crossbow (u)", 54, 64f, ItemID.MITHRIL_CROSSBOW_U), + MAPLE_LONGBOW_U("Maple longbow (u)", 55, 58.3f, ItemID.MAPLE_LONGBOW_U), + BROAD_BOLTS("Broad bolts", 55, 3, ItemID.BROAD_BOLTS), + MAPLE_LONGBOW("Maple longbow", 55, 58, ItemID.MAPLE_LONGBOW), + SAPPHIRE_BOLTS("Sapphire bolts", 56, 4.7f, ItemID.SAPPHIRE_BOLTS), + MAPLE_SHIELD("Maple shield", 57, 116.5f, ItemID.MAPLE_SHIELD), + EMERALD_BOLTS("Emerald bolts", 58, 5.5f, ItemID.EMERALD_BOLTS), + ADAMANT_ARROW("Adamant arrow", 60, 10, ItemID.ADAMANT_ARROW), + ADAMANT_BOLTS("Adamant bolts", 61, 7, ItemID.ADAMANT_BOLTS), + MAHOGANY_STOCK("Mahogany stock", 61, 41, ItemID.MAHOGANY_STOCK), + ADAMANT_CROSSBOW_U("Adamant crossbow (u)", 61, 82, ItemID.ADAMANT_CROSSBOW_U), + ADAMANT_CROSSBOW("Adamant crossbow", 61, 41, ItemID.ADAMANT_CROSSBOW), + RUBY_BOLTS("Ruby bolts", 63, 6.3f, ItemID.RUBY_BOLTS), + DIAMOND_BOLTS("Diamond bolts", 65, 7, ItemID.DIAMOND_BOLTS), + YEW_SHORTBOW("Yew shortbow", 65, 67.5f, ItemID.YEW_SHORTBOW), + YEW_SHORTBOW_U("Yew shortbow (u)", 65, 67.5f, ItemID.YEW_SHORTBOW_U), + ADAMANT_DART("Adamant dart", 67, 15, ItemID.ADAMANT_DART), + RUNITE_CROSSBOW_U("Runite crossbow (u)", 69, 100, ItemID.RUNITE_CROSSBOW_U), + RUNE_CROSSBOW("Rune crossbow", 69, 50, ItemID.RUNE_CROSSBOW), + YEW_STOCK("Yew stock", 69, 50, ItemID.YEW_STOCK), + RUNITE_BOLTS("Runite bolts", 69, 10, ItemID.RUNITE_BOLTS), + YEW_LONGBOW("Yew longbow", 70, 75, ItemID.YEW_LONGBOW), + YEW_LONGBOW_U("Yew longbow (u)", 70, 75, ItemID.YEW_LONGBOW_U), + DRAGONSTONE_BOLTS("Dragonstone bolts", 71, 8.2f, ItemID.DRAGONSTONE_BOLTS), + YEW_SHIELD("Yew shield", 72, 150, ItemID.YEW_SHIELD), + ONYX_BOLTS("Onyx bolts", 73, 9.4f, ItemID.ONYX_BOLTS), + RUNE_ARROW("Rune arrow", 75, 12.5f, ItemID.RUNE_ARROW), + AMETHYST_BROAD_BOLTS("Amethyst broad bolts", 76, 10.6f, ItemID.AMETHYST_BROAD_BOLTS), + MAGIC_STOCK("Magic stock", 78, 70, ItemID.MAGIC_STOCK), + DRAGON_CROSSBOW_U("Dragon crossbow (u)", 78, 135, ItemID.DRAGON_CROSSBOW_U), + DRAGON_CROSSBOW("Dragon crossbow", 78, 70, ItemID.DRAGON_CROSSBOW), + MAGIC_SHORTBOW("Magic shortbow", 80, 83.3f, ItemID.MAGIC_SHORTBOW), + MAGIC_SHORTBOW_U("Magic shortbow (u)", 80, 83.3f, ItemID.MAGIC_SHORTBOW_U), + RUNE_DART("Rune dart", 81, 18.8f, ItemID.RUNE_DART), + AMETHYST_ARROW("Amethyst arrow", 82, 13.5f, ItemID.AMETHYST_ARROW), + DRAGON_BOLTS("Dragon bolts", 84, 12, ItemID.DRAGON_BOLTS_UNF), + AMETHYST_JAVELIN("Amethyst javelin", 84, 13.5f, ItemID.AMETHYST_JAVELIN), + MAGIC_LONGBOW("Magic longbow", 85, 91.5f, ItemID.MAGIC_LONGBOW), + MAGIC_LONGBOW_U("Magic longbow (u)", 85, 91.5f, ItemID.MAGIC_LONGBOW_U), + MAGIC_SHIELD("Magic shield", 87, 183, ItemID.MAGIC_SHIELD), + AMETHYST_DART("Amethyst dart", 90, 21, ItemID.AMETHYST_DART), + DRAGON_ARROW("Dragon arrow", 90, 15, ItemID.DRAGON_ARROW), + REDWOOD_SHIELD("Redwood shield", 92, 216, ItemID.REDWOOD_SHIELD), + DRAGON_DART("Dragon dart", 95, 25, ItemID.DRAGON_DART), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HerbloreAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HerbloreAction.java new file mode 100644 index 0000000000..fc2d5b6c65 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HerbloreAction.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum HerbloreAction implements SkillAction +{ + ATTACK_POTION_3("Attack potion (3)", 3, 25, ItemID.ATTACK_POTION3), + GUAM_LEAF("Guam leaf", 3, 2.5f, ItemID.GUAM_LEAF), + MARRENTILL("Marrentill", 5, 3.8f, ItemID.MARRENTILL), + ANTIPOISON_3("Antipoison (3)", 5, 37.5f, ItemID.ANTIPOISON3), + RELICYMS_BALM_3("Relicym's balm (3)", 8, 40, ItemID.RELICYMS_BALM3), + TARROMIN("Tarromin", 11, 5, ItemID.TARROMIN), + STRENGTH_POTION_3("Strength potion (3)", 12, 50, ItemID.STRENGTH_POTION3), + SERUM_207_3("Serum 207 (3)", 15, 50, ItemID.SERUM_207_3), + GUTHIX_REST_3("Guthix rest (3)", 18, 59, ItemID.GUTHIX_REST3), + GUAM_TAR("Guam tar", 19, 30, ItemID.GUAM_TAR), + HARRALANDER("Harralander", 20, 6.3f, ItemID.HARRALANDER), + COMPOST_POTION_3("Compost potion (3)", 22, 60, ItemID.COMPOST_POTION3), + RESTORE_POTION_3("Restore potion (3)", 22, 62.5f, ItemID.RESTORE_POTION3), + RANARR_WEED("Ranarr weed", 25, 7.5f, ItemID.RANARR_WEED), + ENERGY_POTION_3("Energy potion (3)", 26, 67.5f, ItemID.ENERGY_POTION3), + TOADFLAX("Toadflax", 30, 8, ItemID.TOADFLAX), + DEFENCE_POTION_3("Defence potion (3)", 30, 75, ItemID.DEFENCE_POTION3), + MARRENTILL_TAR("Marrentill tar", 31, 42.5f, ItemID.MARRENTILL_TAR), + AGILITY_POTION_3("Agility potion (3)", 34, 80, ItemID.AGILITY_POTION3), + COMBAT_POTION_3("Combat potion (3)", 36, 84, ItemID.COMBAT_POTION3), + PRAYER_POTION_3("Prayer potion (3)", 38, 87.5f, ItemID.PRAYER_POTION3), + TARROMIN_TAR("Tarromin tar", 39, 55, ItemID.TARROMIN_TAR), + IRIT_LEAF("Irit leaf", 40, 8.8f, ItemID.IRIT_LEAF), + HARRALANDER_TAR("Harralander tar", 44, 72.5f, ItemID.HARRALANDER_TAR), + SUPER_ATTACK_3("Super attack (3)", 45, 100, ItemID.SUPER_ATTACK3), + SUPERANTIPOISON_3("Superantipoison (3)", 48, 106.3f, ItemID.SUPERANTIPOISON3), + AVANTOE("Avantoe", 48, 10, ItemID.AVANTOE), + FISHING_POTION_3("Fishing potion (3)", 50, 112.5f, ItemID.FISHING_POTION3), + SUPER_ENERGY_3("Super energy (3)", 52, 117.5f, ItemID.SUPER_ENERGY3), + HUNTER_POTION_3("Hunter potion (3)", 53, 120, ItemID.HUNTER_POTION3), + KWUARM("Kwuarm", 54, 11.3f, ItemID.KWUARM), + SUPER_STRENGTH_3("Super strength (3)", 55, 125, ItemID.SUPER_STRENGTH3), + MAGIC_ESSENCE_POTION_3("Magic essence potion (3)", 57, 130, ItemID.MAGIC_ESSENCE3), + SNAPDRAGON("Snapdragon", 59, 11.8f, ItemID.SNAPDRAGON), + WEAPON_POISON("Weapon poison", 60, 137.5f, ItemID.WEAPON_POISON), + SUPER_RESTORE_3("Super restore (3)", 63, 142.5f, ItemID.SUPER_RESTORE3), + CADANTINE("Cadantine", 65, 12.5f, ItemID.CADANTINE), + SANFEW_SERUM_3("Sanfew serum (3)", 65, 160, ItemID.SANFEW_SERUM3), + SUPER_DEFENCE_3("Super defence (3)", 66, 150, ItemID.SUPER_DEFENCE3), + LANTADYME("Lantadyme", 67, 13.1f, ItemID.LANTADYME), + ANTIDOTE_PLUS_3("Antidote+ (3)", 68, 155, ItemID.ANTIDOTE3), + ANTIFIRE_POTION_3("Antifire potion (3)", 69, 157.5f, ItemID.ANTIFIRE_POTION3), + DIVINE_SUPER_ATTACK_POTION_4("Divine super attack potion(4)", 70, 2, ItemID.DIVINE_SUPER_ATTACK_POTION4), + DIVINE_SUPER_DEFENCE_POTION_4("Divine super defence potion(4)", 70, 2, ItemID.DIVINE_SUPER_DEFENCE_POTION4), + DIVINE_SUPER_STRENGTH_POTION_4("Divine super strength potion(4)", 70, 2, ItemID.DIVINE_SUPER_STRENGTH_POTION4), + DWARF_WEED("Dwarf weed", 70, 13.8f, ItemID.DWARF_WEED), + RANGING_POTION_3("Ranging potion (3)", 72, 162.5f, ItemID.RANGING_POTION3), + WEAPON_POISON_PLUS("Weapon poison (+)", 73, 165, ItemID.WEAPON_POISON_5937), + DIVINE_RANGING_POTION_4("Divine ranging potion(4)", 74, 2, ItemID.DIVINE_RANGING_POTION4), + TORSTOL("Torstol", 75, 15, ItemID.TORSTOL), + MAGIC_POTION_3("Magic potion (3)", 76, 172.5f, ItemID.MAGIC_POTION3), + STAMINA_POTION_3("Stamina potion (3)", 77, 76.5f, ItemID.STAMINA_POTION3), + STAMINA_POTION_4("Stamina potion (4)", 77, 102, ItemID.STAMINA_POTION4), + DIVINE_MAGIC_POTION_4("Divine magic potion(4)", 78, 2, ItemID.DIVINE_MAGIC_POTION4), + ZAMORAK_BREW_3("Zamorak brew (3)", 78, 175, ItemID.ZAMORAK_BREW3), + ANTIDOTE_PLUS_PLUS_3("Antidote++ (3)", 79, 177.5f, ItemID.ANTIDOTE3_5954), + BASTION_POTION_3("Bastion potion (3)", 80, 155, ItemID.BASTION_POTION3), + BATTLEMAGE_POTION_3("Battlemage potion (3)", 80, 155, ItemID.BATTLEMAGE_POTION3), + SARADOMIN_BREW_3("Saradomin brew (3)", 81, 180, ItemID.SARADOMIN_BREW3), + WEAPON_POISON_PLUS_PLUS("Weapon poison (++)", 82, 190, ItemID.WEAPON_POISON_5940), + EXTENDED_ANTIFIRE_3("Extended antifire (3)", 84, 82.5f, ItemID.EXTENDED_ANTIFIRE3), + EXTENDED_ANTIFIRE_4("Extended antifire (4)", 84, 110, ItemID.EXTENDED_ANTIFIRE4), + DIVINE_BASTION_POTION_4("Divine bastion potion(4)", 86, 2, ItemID.DIVINE_BASTION_POTION4), + DIVINE_BATTLEMAGE_POTION_4("Divine battlemage potion(4)", 86, 2, ItemID.DIVINE_BATTLEMAGE_POTION4), + ANTIVENOM_3("Anti-venom(3)", 87, 90, ItemID.ANTIVENOM3), + ANTIVENOM_4("Anti-venom(4)", 87, 120, ItemID.ANTIVENOM4), + SUPER_COMBAT_POTION_4("Super combat potion(4)", 90, 150, ItemID.SUPER_COMBAT_POTION4), + SUPER_ANTIFIRE_4("Super antifire (4)", 92, 130, ItemID.SUPER_ANTIFIRE_POTION4), + ANTIVENOM_PLUS_4("Anti-venom+(4)", 94, 125, ItemID.ANTIVENOM4_12913), + DIVINE_SUPER_COMBAT_POTION_4("Divine super combat potion(4)", 97, 2, ItemID.DIVINE_SUPER_COMBAT_POTION4), + EXTENDED_SUPER_ANTIFIRE_3("Extended super antifire (3)", 98, 120, ItemID.SUPER_ANTIFIRE_POTION3), + EXTENDED_SUPER_ANTIFIRE_4("Extended super antifire (4)", 98, 160, ItemID.SUPER_ANTIFIRE_POTION4), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HunterAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HunterAction.java new file mode 100644 index 0000000000..01ed388c80 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HunterAction.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum HunterAction implements SkillAction +{ + CRIMSON_SWIFT("Crimson Swift", 1, 34, ItemID.CRIMSON_SWIFT), + POLAR_KEBBIT("Polar Kebbit", 1, 30, ItemID.KEBBIT), + COMMON_KEBBIT("Common Kebbit", 3, 36, ItemID.KEBBIT_9954), + GOLDEN_WARBLER("Golden Warbler", 5, 47, ItemID.GOLDEN_WARBLER), + REGULAR_BIRD_HOUSE("Regular Bird House", 5, 280, ItemID.BIRD_HOUSE), + FELDIP_WEASEL("Feldip Weasel", 7, 48, ItemID.KEBBIT_9955), + COPPER_LONGTAIL("Copper Longtail", 9, 61, ItemID.COPPER_LONGTAIL), + CERULEAN_TWITCH("Cerulean Twitch", 11, 64.5f, ItemID.CERULEAN_TWITCH), + DESERT_DEVIL("Desert Devil", 13, 66, ItemID.KEBBIT_9956), + OAK_BIRD_HOUSE("Oak Bird House", 14, 420, ItemID.OAK_BIRD_HOUSE), + RUBY_HARVEST("Ruby Harvest", 15, 24, ItemID.BUTTERFLY), + BABY_IMPLING("Baby Impling", 17, 18, ItemID.BABY_IMPLING_JAR), + TROPICAL_WAGTAIL("Tropical Wagtail", 19, 95, ItemID.TROPICAL_WAGTAIL), + YOUNG_IMPLING("Young Impling", 22, 20, ItemID.YOUNG_IMPLING_JAR), + WILD_KEBBIT("Wild Kebbit", 23, 128, ItemID.KEBBIT), + WILLOW_BIRD_HOUSE("Willow Bird House", 24, 560, ItemID.WILLOW_BIRD_HOUSE), + SAPPHIRE_GLACIALIS("Sapphire Glacialis", 25, 34, ItemID.BUTTERFLY_9971), + FERRET("Ferret", 27, 115, ItemID.FERRET), + WHITE_RABBIT("White Rabbit", 27, 144, ItemID.RABBIT), + GOURMET_IMPLING("Gourmet Impling", 28, 22, ItemID.GOURMET_IMPLING_JAR), + SWAMP_LIZARD("Swamp Lizard", 29, 152, ItemID.SWAMP_LIZARD), + SPINED_LARUPIA("Spined Larupia", 31, 180, ItemID.LARUPIA_HAT), + BARB_TAILED_KEBBIT("Barb-tailed Kebbit", 33, 168, ItemID.KEBBIT_9958), + TEAK_BIRD_HOUSE("Teak Bird House", 34, 700, ItemID.TEAK_BIRD_HOUSE), + SNOWY_KNIGHT("Snowy Knight", 35, 44, ItemID.BUTTERFLY_9972), + EARTH_IMPLING("Earth Impling", 36, 25, ItemID.EARTH_IMPLING_JAR), + PRICKLY_KEBBIT("Prickly Kebbit", 37, 204, ItemID.KEBBIT_9957), + HORNED_GRAAHK("Horned Graahk", 41, 240, ItemID.GRAAHK_HEADDRESS), + ESSENCE_IMPLING("Essence Impling", 42, 27, ItemID.ESSENCE_IMPLING_JAR), + SPOTTED_KEBBIT("Spotted Kebbit", 43, 104, ItemID.KEBBIT_9960), + MAPLE_BIRD_HOUSE("Maple Bird House", 44, 820, ItemID.MAPLE_BIRD_HOUSE), + BLACK_WARLOCK("Black Warlock", 45, 54, ItemID.BUTTERFLY_9973), + ORANGE_SALAMANDER("Orange Salamander", 47, 224, ItemID.ORANGE_SALAMANDER), + RAZOR_BACKED_KEBBIT("Razor-backed Kebbit", 49, 348, ItemID.KEBBIT_9961), + MAHOGANY_BIRD_HOUSE("Mahogany Bird House", 49, 960, ItemID.MAHOGANY_BIRD_HOUSE), + ECLECTIC_IMPLING("Eclectic Impling", 50, 32, ItemID.ECLECTIC_IMPLING_JAR), + SABRE_TOOTHED_KEBBIT("Sabre-toothed Kebbit", 51, 200, ItemID.KEBBIT_9959), + CHINCHOMPA("Chinchompa", 53, 198.3f, ItemID.CHINCHOMPA), + SABRE_TOOTHED_KYATT("Sabre-toothed Kyatt", 55, 300, ItemID.KYATT_HAT), + DARK_KEBBIT("Dark Kebbit", 57, 132, ItemID.KEBBIT_9963), + NATURE_IMPLING("Nature Impling", 58, 34, ItemID.NATURE_IMPLING_JAR), + RED_SALAMANDER("Red Salamander", 59, 272, ItemID.RED_SALAMANDER), + YEW_BIRD_HOUSE("Yew Bird House", 59, 1020, ItemID.YEW_BIRD_HOUSE), + MANIACAL_MONKEY("Maniacal Monkey", 60, 1000, ItemID.MONKEY_19556), + CARNIVOROUS_CHINCHOMPA("Carnivorous Chinchompa", 63, 265, ItemID.RED_CHINCHOMPA), + MAGPIE_IMPLING("Magpie Impling", 65, 44, ItemID.MAGPIE_IMPLING_JAR), + MAGPIE_IMPLING_GIELINOR("Magpie Impling (Gielinor)", 65, 216, ItemID.MAGPIE_IMPLING_JAR), + BLACK_SALAMANDER("Black Salamander", 67, 319.5f, ItemID.BLACK_SALAMANDER), + DASHING_KEBBIT("Dashing Kebbit", 69, 156, ItemID.KEBBIT_9964), + BLACK_CHINCHOMPA("Black Chinchompa", 73, 315, ItemID.BLACK_CHINCHOMPA), + MAGIC_BIRD_HOUSE("Magic Bird House", 74, 1140, ItemID.MAGIC_BIRD_HOUSE), + NINJA_IMPLING("Ninja Impling", 74, 52, ItemID.NINJA_IMPLING_JAR), + NINJA_IMPLING_GIELINOR("Ninja Impling (Gielinor)", 74, 240, ItemID.NINJA_IMPLING_JAR), + CRYSTAL_IMPLING("Crystal Impling", 80, 280, ItemID.CRYSTAL_IMPLING_JAR), + DRAGON_IMPLING("Dragon Impling", 83, 65, ItemID.DRAGON_IMPLING_JAR), + DRAGON_IMPLING_GIELINOR("Dragon Impling (Gielinor)", 83, 300, ItemID.DRAGON_IMPLING_JAR), + REDWOOD_BIRD_HOUSE("Redwood Bird House", 89, 1200, ItemID.REDWOOD_BIRD_HOUSE), + LUCKY_IMPLING("Lucky Impling", 89, 380, ItemID.LUCKY_IMPLING_JAR), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MagicAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MagicAction.java new file mode 100644 index 0000000000..bb3b5a20ff --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MagicAction.java @@ -0,0 +1,221 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.SpriteID; + +@AllArgsConstructor +@Getter +public enum MagicAction implements SkillAction +{ + WIND_STRIKE("Wind Strike", 1, 5.5f, SpriteID.SPELL_WIND_STRIKE), + CONFUSE("Confuse", 3, 13, SpriteID.SPELL_CONFUSE), + ENCHANT_OPAL_BOLT("Enchant Opal Bolt", 4, 9, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + WATER_STRIKE("Water Strike", 5, 7.5f, SpriteID.SPELL_WATER_STRIKE), + ARCEUUS_LIBRARY_TELEPORT("Arceuus Library Teleport", 6, 10, SpriteID.SPELL_ARCEUUS_LIBRARY_TELEPORT), + ENCHANT_SAPPHIRE_JEWELLERY("Enchant Sapphire Jewellery", 7, 17.5f, SpriteID.SPELL_LVL_1_ENCHANT), + ENCHANT_SAPPHIRE_BOLT("Enchant Sapphire Bolt", 7, 17.5f, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + EARTH_STRIKE("Earth Strike", 9, 9.5f, SpriteID.SPELL_EARTH_STRIKE), + WEAKEN("Weaken", 11, 21, SpriteID.SPELL_WEAKEN), + FIRE_STRIKE("Fire Strike", 13, 11.5f, SpriteID.SPELL_FIRE_STRIKE), + ENCHANT_JADE_BOLT("Enchant Jade Bolt", 14, 19, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + BONES_TO_BANANAS("Bones To Bananas", 15, 25, SpriteID.SPELL_BONES_TO_BANANAS), + BASIC_REANIMATION("Basic Reanimation", 16, 32, SpriteID.SPELL_BASIC_REANIMATION), + DRAYNOR_MANOR_TELEPORT("Draynor Manor Teleport", 17, 16, SpriteID.SPELL_DRAYNOR_MANOR_TELEPORT), + WIND_BOLT("Wind Bolt", 17, 13.5f, SpriteID.SPELL_WIND_BOLT), + CURSE("Curse", 19, 29, SpriteID.SPELL_CURSE), + BIND("Bind", 20, 30, SpriteID.SPELL_BIND), + LOW_LEVEL_ALCHEMY("Low Level Alchemy", 21, 31, SpriteID.SPELL_LOW_LEVEL_ALCHEMY), + WATER_BOLT("Water Bolt", 23, 16.5f, SpriteID.SPELL_WATER_BOLT), + ENCHANT_PEARL_BOLT("Enchant Pearl Bolt", 24, 29, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + VARROCK_TELEPORT("Varrock Teleport", 25, 35, SpriteID.SPELL_VARROCK_TELEPORT), + ENCHANT_EMERALD_JEWELLERY("Enchant Emerald Jewellery", 27, 37, SpriteID.SPELL_LVL_2_ENCHANT), + ENCHANT_EMERALD_BOLT("Enchant Emerald Bolt", 27, 37, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + MIND_ALTAR_TELEPORT("Mind Altar Teleport", 28, 22, SpriteID.SPELL_MIND_ALTAR_TELEPORT), + ENCHANT_TOPAZ_BOLT("Enchant Topaz Bolt", 29, 33, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + EARTH_BOLT("Earth Bolt", 29, 19.5f, SpriteID.SPELL_EARTH_BOLT), + LUMBRIDGE_TELEPORT("Lumbridge Teleport", 31, 41, SpriteID.SPELL_LUMBRIDGE_TELEPORT), + TELEKINETIC_GRAB("Telekinetic Grab", 33, 43, SpriteID.SPELL_TELEKINETIC_GRAB), + RESPAWN_TELEPORT("Respawn Teleport", 34, 27, SpriteID.SPELL_RESPAWN_TELEPORT), + FIRE_BOLT("Fire Bolt", 35, 22.5f, SpriteID.SPELL_FIRE_BOLT), + GHOSTLY_GRASP("Ghostly Grasp", 35, 22.5f, SpriteID.SPELL_GHOSTLY_GRASP), + FALADOR_TELEPORT("Falador Teleport", 37, 48, SpriteID.SPELL_FALADOR_TELEPORT), + RESURRECT_LESSER_THRALL("Resurrect Lesser Thrall", 38, 55, SpriteID.SPELL_RESURRECT_LESSER_GHOST), + CRUMBLE_UNDEAD("Crumble Undead", 39, 24.5f, SpriteID.SPELL_CRUMBLE_UNDEAD), + SALVE_GRAVEYARD_TELEPORT("Salve Graveyard Teleport", 40, 30, SpriteID.SPELL_SALVE_GRAVEYARD_TELEPORT), + TELEPORT_TO_HOUSE("Teleport To House", 40, 30, SpriteID.SPELL_TELEPORT_TO_HOUSE), + ADEPT_REANIMATION("Adept Reanimation", 41, 80, SpriteID.SPELL_ADEPT_REANIMATION), + WIND_BLAST("Wind Blast", 41, 25.5f, SpriteID.SPELL_WIND_BLAST), + SUPERHEAT_ITEM("Superheat Item", 43, 53, SpriteID.SPELL_SUPERHEAT_ITEM), + INFERIOR_DEMONBANE("Inferior Demonbane", 44, 27, SpriteID.SPELL_INFERIOR_DEMONBANE), + CAMELOT_TELEPORT("Camelot Teleport", 45, 55.5f, SpriteID.SPELL_CAMELOT_TELEPORT), + WATER_BLAST("Water Blast", 47, 28.5f, SpriteID.SPELL_WATER_BLAST), + SHADOW_VEIL("Shadow Veil", 47, 58, SpriteID.SPELL_SHADOW_VEIL), + FENKENSTRAINS_CASTLE_TELEPORT("Fenkenstrain's Castle Teleport", 48, 50, SpriteID.SPELL_FENKENSTRAINS_CASTLE_TELEPORT), + ENCHANT_RUBY_JEWELLERY("Enchant Ruby Jewellery", 49, 59, SpriteID.SPELL_LVL_3_ENCHANT), + ENCHANT_RUBY_BOLT("Enchant Ruby Bolt", 49, 59, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + IBAN_BLAST("Iban Blast", 50, 30, SpriteID.SPELL_IBAN_BLAST), + SMOKE_RUSH("Smoke Rush", 50, 30, SpriteID.SPELL_SMOKE_RUSH), + MAGIC_DART("Magic Dart", 50, 30, SpriteID.SPELL_MAGIC_DART), + SNARE("Snare", 50, 60, SpriteID.SPELL_SNARE), + DARK_LURE("Dark Lure", 50, 60, SpriteID.SPELL_DARK_LURE), + ARDOUGNE_TELEPORT("Ardougne Teleport", 51, 61, SpriteID.SPELL_ARDOUGNE_TELEPORT), + SHADOW_RUSH("Shadow Rush", 52, 31, SpriteID.SPELL_SHADOW_RUSH), + EARTH_BLAST("Earth Blast", 53, 31.5f, SpriteID.SPELL_EARTH_BLAST), + PADDEWWA_TELEPORT("Paddewwa Teleport", 54, 64, SpriteID.SPELL_PADDEWWA_TELEPORT), + HIGH_LEVEL_ALCHEMY("High Level Alchemy", 55, 65, SpriteID.SPELL_HIGH_LEVEL_ALCHEMY), + CHARGE_WATER_ORB("Charge Water Orb", 56, 66, SpriteID.SPELL_CHARGE_WATER_ORB), + BLOOD_RUSH("Blood Rush", 56, 33, SpriteID.SPELL_BLOOD_RUSH), + SKELETAL_GRASP("Skeletal Grasp", 56, 33, SpriteID.SPELL_SKELETAL_GRASP), + ENCHANT_DIAMOND_BOLT("Enchant Diamond Bolt", 57, 67, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + ENCHANT_DIAMOND_JEWELLERY("Enchant Diamond Jewellery", 57, 67, SpriteID.SPELL_LVL_4_ENCHANT), + RESURRECT_SUPERIOR_THRALL("Resurrect Superior Thrall", 57, 70, SpriteID.SPELL_RESURRECT_SUPERIOR_SKELETON), + WATCHTOWER_TELEPORT("Watchtower Teleport", 58, 68, SpriteID.SPELL_WATCHTOWER_TELEPORT), + ICE_RUSH("Ice Rush", 58, 34, SpriteID.SPELL_ICE_RUSH), + FIRE_BLAST("Fire Blast", 59, 34.5f, SpriteID.SPELL_FIRE_BLAST), + MARK_OF_DARKNESS("Mark of Darkness", 59, 70, SpriteID.SPELL_MARK_OF_DARKNESS), + SENNTISTEN_TELEPORT("Senntisten Teleport", 60, 70, SpriteID.SPELL_SENNTISTEN_TELEPORT), + CLAWS_OF_GUTHIX("Claws Of Guthix", 60, 35, SpriteID.SPELL_CLAWS_OF_GUTHIC), + FLAMES_OF_ZAMORAK("Flames Of Zamorak", 60, 35, SpriteID.SPELL_FLAMES_OF_ZAMORAK), + SARADOMIN_STRIKE("Saradomin Strike", 60, 35, SpriteID.SPELL_SARADOMIN_STRIKE), + CHARGE_EARTH_ORB("Charge Earth Orb", 60, 70, SpriteID.SPELL_CHARGE_EARTH_ORB), + BONES_TO_PEACHES("Bones To Peaches", 60, 35.5f, SpriteID.SPELL_BONES_TO_PEACHES), + WEST_ARDOUGNE_TELEPORT("West Ardougne Teleport", 61, 68, SpriteID.SPELL_WEST_ARDOUGNE_TELEPORT), + TROLLHEIM_TELEPORT("Trollheim Teleport", 61, 68, SpriteID.SPELL_TROLLHEIM_TELEPORT), + SMOKE_BURST("Smoke Burst", 62, 36, SpriteID.SPELL_SMOKE_BURST), + WIND_WAVE("Wind Wave", 62, 36, SpriteID.SPELL_WIND_WAVE), + SUPERIOR_DEMONBANE("Superior Demonbane", 62, 36, SpriteID.SPELL_SUPERIOR_DEMONBANE), + CHARGE_FIRE_ORB("Charge Fire Orb", 63, 73, SpriteID.SPELL_CHARGE_FIRE_ORB), + SHADOW_BURST("Shadow Burst", 64, 37, SpriteID.SPELL_SHADOW_BURST), + TELEPORT_APE_ATOLL("Teleport Ape Atoll", 64, 74, SpriteID.SPELL_TELEPORT_TO_APE_ATOLL), + LESSER_CORRUPTION("Lesser Corruption", 64, 75, SpriteID.SPELL_LESSER_CORRUPTION), + BAKE_PIE("Bake Pie", 65, 60, SpriteID.SPELL_BAKE_PIE), + HARMONY_ISLAND_TELEPORT("Harmony Island Teleport", 65, 74, SpriteID.SPELL_HARMONY_ISLAND_TELEPORT), + GEOMANCY("Geomancy", 65, 60, SpriteID.SPELL_GEOMANCY), + WATER_WAVE("Water Wave", 65, 37.5f, SpriteID.SPELL_WATER_WAVE), + CHARGE_AIR_ORB("Charge Air Orb", 66, 76, SpriteID.SPELL_CHARGE_AIR_ORB), + CURE_PLANT("Cure Plant", 66, 60, SpriteID.SPELL_CURE_PLANT), + KHARYRLL_TELEPORT("Kharyrll Teleport", 66, 76, SpriteID.SPELL_KHARYRLL_TELEPORT), + VULNERABILITY("Vulnerability", 66, 76, SpriteID.SPELL_VULNERABILITY), + MONSTER_EXAMINE("Monster Examine", 66, 61, SpriteID.SPELL_MONSTER_EXAMINE), + VILE_VIGOUR("Vile Vigour", 66, 76, SpriteID.SPELL_VILE_VIGOUR), + NPC_CONTACT("Npc Contact", 67, 63, SpriteID.SPELL_NPC_CONTACT), + BLOOD_BURST("Blood Burst", 68, 39, SpriteID.SPELL_BLOOD_BURST), + CURE_OTHER("Cure Other", 68, 65, SpriteID.SPELL_CURE_OTHER), + ENCHANT_DRAGONSTONE_JEWELLERY("Enchant Dragonstone Jewellery", 68, 78, SpriteID.SPELL_LVL_5_ENCHANT), + ENCHANT_DRAGONSTONE_BOLT("Enchant Dragonstone Bolt", 68, 78, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + HUMIDIFY("Humidify", 68, 65, SpriteID.SPELL_HUMIDIFY), + MOONCLAN_TELEPORT("Moonclan Teleport", 69, 66, SpriteID.SPELL_MOONCLAN_TELEPORT), + EARTH_WAVE("Earth Wave", 70, 40, SpriteID.SPELL_EARTH_WAVE), + ICE_BURST("Ice Burst", 70, 40, SpriteID.SPELL_ICE_BURST), + TELE_GROUP_MOONCLAN("Tele Group Moonclan", 70, 67, SpriteID.SPELL_TELE_GROUP_MOONCLAN), + DEGRIME("Degrime", 70, 83, SpriteID.SPELL_DEGRIME), + OURANIA_TELEPORT("Ourania Teleport", 71, 69, SpriteID.SPELL_OURANIA_TELEPORT), + CEMETERY_TELEPORT("Cemetery Teleport", 71, 82, SpriteID.SPELL_CEMETERY_TELEPORT), + CURE_ME("Cure Me", 71, 69, SpriteID.SPELL_CURE_ME), + HUNTER_KIT("Hunter Kit", 71, 70, SpriteID.SPELL_HUNTER_KIT), + EXPERT_REANIMATION("Expert Reanimation", 72, 138, SpriteID.SPELL_EXPERT_REANIMATION), + LASSAR_TELEPORT("Lassar Teleport", 72, 82, SpriteID.SPELL_LASSAR_TELEPORT), + WATERBIRTH_TELEPORT("Waterbirth Teleport", 72, 71, SpriteID.SPELL_WATERBIRTH_TELEPORT), + TELE_GROUP_WATERBIRTH("Tele Group Waterbirth", 73, 72, SpriteID.SPELL_TELE_GROUP_WATERBIRTH), + ENFEEBLE("Enfeeble", 73, 83, SpriteID.SPELL_ENFEEBLE), + WARD_OF_ARCEUUS("Ward of Arceuus", 73, 83, SpriteID.SPELL_WARD_OF_ARCEUUS), + TELEOTHER_LUMBRIDGE("Teleother Lumbridge", 74, 84, SpriteID.SPELL_TELEOTHER_LUMBRIDGE), + SMOKE_BLITZ("Smoke Blitz", 74, 42, SpriteID.SPELL_SMOKE_BLITZ), + CURE_GROUP("Cure Group", 74, 74, SpriteID.SPELL_CURE_GROUP), + STAT_SPY("Stat Spy", 75, 76, SpriteID.SPELL_STAT_SPY), + BARBARIAN_TELEPORT("Barbarian Teleport", 75, 76, SpriteID.SPELL_BARBARIAN_TELEPORT), + FIRE_WAVE("Fire Wave", 75, 42.5f, SpriteID.SPELL_FIRE_WAVE), + TELE_GROUP_BARBARIAN("Tele Group Barbarian", 76, 77, SpriteID.SPELL_TELE_GROUP_ICE_PLATEAU), + SHADOW_BLITZ("Shadow Blitz", 76, 43, SpriteID.SPELL_SHADOW_BLITZ), + SPIN_FLAX("Spin Flax", 76, 75, SpriteID.SPELL_SPIN_FLAX), + RESURRECT_GREATER_THRALL("Resurrect Greater Thrall", 76, 88, SpriteID.SPELL_RESURRECT_GREATER_ZOMBIE), + SUPERGLASS_MAKE("Superglass Make", 77, 78, SpriteID.SPELL_SUPERGLASS_MAKE), + TAN_LEATHER("Tan Leather", 78, 81, SpriteID.SPELL_TAN_LEATHER), + KHAZARD_TELEPORT("Khazard Teleport", 78, 80, SpriteID.SPELL_KHAZARD_TELEPORT), + DAREEYAK_TELEPORT("Dareeyak Teleport", 78, 88, SpriteID.SPELL_DAREEYAK_TELEPORT), + RESURRECT_CROPS("Resurrect Crops", 78, 90, SpriteID.SPELL_RESURRECT_CROPS), + ENTANGLE("Entangle", 79, 89, SpriteID.SPELL_ENTANGLE), + TELE_GROUP_KHAZARD("Tele Group Khazard", 79, 81, SpriteID.SPELL_TELE_GROUP_KHAZARD), + DREAM("Dream", 79, 82, SpriteID.SPELL_DREAM), + UNDEAD_GRASP("Undead Grasp", 79, 46.5f, SpriteID.SPELL_UNDEAD_GRASP), + CHARGE("Charge", 80, 180, SpriteID.SPELL_CHARGE), + BLOOD_BLITZ("Blood Blitz", 80, 45, SpriteID.SPELL_BLOOD_BLITZ), + STUN("Stun", 80, 90, SpriteID.SPELL_STUN), + STRING_JEWELLERY("String Jewellery", 80, 83, SpriteID.SPELL_STRING_JEWELLERY), + DEATH_CHARGE("Death Charge", 80, 90, SpriteID.SPELL_DEATH_CHARGE), + STAT_RESTORE_POT_SHARE("Stat Restore Pot Share", 81, 84, SpriteID.SPELL_STAT_RESTORE_POT_SHARE), + WIND_SURGE("Wind Surge", 81, 44, SpriteID.SPELL_WIND_SURGE), + TELEOTHER_FALADOR("Teleother Falador", 82, 92, SpriteID.SPELL_TELEOTHER_FALADOR), + MAGIC_IMBUE("Magic Imbue", 82, 86, SpriteID.SPELL_MAGIC_IMBUE), + ICE_BLITZ("Ice Blitz", 82, 46, SpriteID.SPELL_ICE_BLITZ), + DARK_DEMONBANE("Dark Demonbane", 82, 43.5f, SpriteID.SPELL_DARK_DEMONBANE), + FERTILE_SOIL("Fertile Soil", 83, 87, SpriteID.SPELL_FERTILE_SOIL), + BARROWS_TELEPORT("Barrows Teleport", 83, 90, SpriteID.SPELL_BARROWS_TELEPORT), + CARRALLANGAR_TELEPORT("Carrallangar Teleport", 84, 82, SpriteID.SPELL_CARRALLANGAR_TELEPORT), + BOOST_POTION_SHARE("Boost Potion Share", 84, 88, SpriteID.SPELL_BOOST_POTION_SHARE), + DEMONIC_OFFERING("Demonic Offering", 84, 175, SpriteID.SPELL_DEMONIC_OFFERING), + WATER_SURGE("Water Surge", 85, 46, SpriteID.SPELL_WATER_SURGE), + FISHING_GUILD_TELEPORT("Fishing Guild Teleport", 85, 89, SpriteID.SPELL_FISHING_GUILD_TELEPORT), + TELE_BLOCK("Tele Block", 85, 80, SpriteID.SPELL_TELE_BLOCK), + TELEPORT_TO_TARGET("Teleport To Target", 85, 45, SpriteID.SPELL_TELEPORT_TO_BOUNTY_TARGET), + GREATER_CORRUPTION("Greater Corruption", 85, 95, SpriteID.SPELL_GREATER_CORRUPTION), + SMOKE_BARRAGE("Smoke Barrage", 86, 48, SpriteID.SPELL_SMOKE_BARRAGE), + TELE_GROUP_FISHING_GUILD("Tele Group Fishing Guild", 86, 90, SpriteID.SPELL_TELE_GROUP_FISHING_GUILD), + PLANK_MAKE("Plank Make", 86, 90, SpriteID.SPELL_PLANK_MAKE), + CATHERBY_TELEPORT("Catherby Teleport", 87, 92, SpriteID.SPELL_CATHERBY_TELEPORT), + ENCHANT_ONYX_JEWELLERY("Enchant Onyx Jewellery", 87, 97, SpriteID.SPELL_LVL_6_ENCHANT), + ENCHANT_ONYX_BOLT("Enchant Onyx Bolt", 87, 97, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + SHADOW_BARRAGE("Shadow Barrage", 88, 48, SpriteID.SPELL_SHADOW_BARRAGE), + TELE_GROUP_CATHERBY("Tele Group Catherby", 88, 93, SpriteID.SPELL_TELE_GROUP_CATHERBY), + ICE_PLATEAU_TELEPORT("Ice Plateau Teleport", 89, 96, SpriteID.SPELL_ICE_PLATEAU_TELEPORT), + RECHARGE_DRAGONSTONE("Recharge Dragonstone", 89, 97.5f, SpriteID.SPELL_RECHARGE_DRAGONSTONE), + ANNAKARL_TELEPORT("Annakarl Teleport", 90, 100, SpriteID.SPELL_ANNAKARL_TELEPORT), + EARTH_SURGE("Earth Surge", 90, 48, SpriteID.SPELL_EARTH_SURGE), + MASTER_REANIMATION("Master Reanimation", 90, 170, SpriteID.SPELL_MASTER_REANIMATION), + TELE_GROUP_ICE_PLATEAU("Tele Group Ice Plateau", 90, 99, SpriteID.SPELL_TELE_GROUP_ICE_PLATEAU), + TELEOTHER_CAMELOT("Teleother Camelot", 90, 100, SpriteID.SPELL_TELEOTHER_CAMELOT), + APE_ATOLL_TELEPORT("Ape Atoll Teleport", 90, 100, SpriteID.SPELL_APE_ATOLL_TELEPORT), + ENERGY_TRANSFER("Energy Transfer", 91, 100, SpriteID.SPELL_ENERGY_TRANSFER), + BLOOD_BARRAGE("Blood Barrage", 92, 51, SpriteID.SPELL_BLOOD_BARRAGE), + HEAL_OTHER("Heal Other", 92, 101, SpriteID.SPELL_HEAL_OTHER), + SINISTER_OFFERING("Sinister Offering", 92, 180, SpriteID.SPELL_SINISTER_OFFERING), + VENGEANCE_OTHER("Vengeance Other", 93, 108, SpriteID.SPELL_VENGEANCE_OTHER), + ENCHANT_ZENYTE_JEWELLERY("Enchant Zenyte Jewellery", 93, 110, SpriteID.SPELL_LVL_7_ENCHANT), + ICE_BARRAGE("Ice Barrage", 94, 52, SpriteID.SPELL_ICE_BARRAGE), + VENGEANCE("Vengeance", 94, 112, SpriteID.SPELL_VENGEANCE), + HEAL_GROUP("Heal Group", 95, 124, SpriteID.SPELL_HEAL_GROUP), + FIRE_SURGE("Fire Surge", 95, 51, SpriteID.SPELL_FIRE_SURGE), + GHORROCK_TELEPORT("Ghorrock Teleport", 96, 106, SpriteID.SPELL_GHORROCK_TELEPORT), + SPELLBOOK_SWAP("Spellbook Swap", 96, 130, SpriteID.SPELL_SPELLBOOK_SWAP), + ; + + private final String name; + private final int level; + private final float xp; + private final int sprite; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningAction.java new file mode 100644 index 0000000000..cdbcdb74cf --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningAction.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; +import net.runelite.api.NullItemID; + +@AllArgsConstructor +@Getter +public enum MiningAction implements SkillAction +{ + CLAY("Clay", 1, 5, ItemID.CLAY), + RUNE_ESSENCE("Rune essence", 1, 5, ItemID.RUNE_ESSENCE), + COPPER_ORE("Copper ore", 1, 17.5f, ItemID.COPPER_ORE), + TIN_ORE("Tin ore", 1, 17.5f, ItemID.TIN_ORE), + LIMESTONE("Limestone", 10, 26.5f, ItemID.LIMESTONE), + BARRONITE_SHARDS("Barronite shards", 14, 16, NullItemID.NULL_25683), + BARRONITE_DEPOSIT("Barronite deposit", 14, 32, ItemID.BARRONITE_DEPOSIT), + IRON_ORE("Iron ore", 15, 35, ItemID.IRON_ORE), + SILVER_ORE("Silver ore", 20, 40, ItemID.SILVER_ORE), + PURE_ESSENCE("Pure essence", 30, 5, ItemID.PURE_ESSENCE), + COAL("Coal", 30, 50, ItemID.COAL), + SANDSTONE_1KG("Sandstone (1kg)", 35, 30, ItemID.SANDSTONE_1KG), + SANDSTONE_2KG("Sandstone (2kg)", 35, 40, ItemID.SANDSTONE_2KG), + SANDSTONE_5KG("Sandstone (5kg)", 35, 50, ItemID.SANDSTONE_5KG), + SANDSTONE_10KG("Sandstone (10kg)", 35, 60, ItemID.SANDSTONE_10KG), + DENSE_ESSENCE_BLOCK("Dense essence block", 38, 12, ItemID.DENSE_ESSENCE_BLOCK), + GOLD_ORE("Gold ore", 40, 65, ItemID.GOLD_ORE), + GEM_ROCKS("Gem rocks", 40, 65, ItemID.UNCUT_RED_TOPAZ), + GRANITE_500G("Granite (500g)", 45, 50, ItemID.GRANITE_500G), + GRANITE_2KG("Granite (2kg)", 45, 60, ItemID.GRANITE_2KG), + GRANITE_5KG("Granite (5kg)", 45, 75, ItemID.GRANITE_5KG), + MITHRIL_ORE("Mithril ore", 55, 80, ItemID.MITHRIL_ORE), + SOFT_CLAY("Soft clay", 70, 5, ItemID.SOFT_CLAY), + ADAMANTITE_ORE("Adamantite ore", 70, 95, ItemID.ADAMANTITE_ORE), + RUNITE_ORE("Runite ore", 85, 125, ItemID.RUNITE_ORE), + AMETHYST("Amethyst", 92, 240, ItemID.AMETHYST), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillData.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningBonus.java similarity index 78% rename from runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillData.java rename to runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningBonus.java index 4c2d36aa68..aba67a316d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillData.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningBonus.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Kruithne + * Copyright (c) 2021, Jordan Atwood * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,13 +22,18 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.skillcalculator.beans; +package net.runelite.client.plugins.skillcalculator.skills; +import lombok.AllArgsConstructor; import lombok.Getter; -@Getter -public class SkillData +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum MiningBonus implements SkillBonus { - private SkillDataEntry[] actions; - private SkillDataBonus[] bonuses; -} \ No newline at end of file + PROSPECTOR_KIT("Prospector Kit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerAction.java new file mode 100644 index 0000000000..0995027103 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerAction.java @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum PrayerAction implements SkillAction +{ + ENSOULED_GOBLIN_HEAD("Ensouled goblin head", 1, 130, ItemID.ENSOULED_GOBLIN_HEAD, true), + ENSOULED_MONKEY_HEAD("Ensouled monkey head", 1, 182, ItemID.ENSOULED_MONKEY_HEAD, true), + ENSOULED_IMP_HEAD("Ensouled imp head", 1, 286, ItemID.ENSOULED_IMP_HEAD, true), + ENSOULED_MINOTAUR_HEAD("Ensouled minotaur head", 1, 364, ItemID.ENSOULED_MINOTAUR_HEAD, true), + ENSOULED_SCORPION_HEAD("Ensouled scorpion head", 1, 454, ItemID.ENSOULED_SCORPION_HEAD, true), + ENSOULED_BEAR_HEAD("Ensouled bear head", 1, 480, ItemID.ENSOULED_BEAR_HEAD, true), + ENSOULED_UNICORN_HEAD("Ensouled unicorn head", 1, 494, ItemID.ENSOULED_UNICORN_HEAD, true), + ENSOULED_DOG_HEAD("Ensouled dog head", 1, 520, ItemID.ENSOULED_DOG_HEAD, true), + ENSOULED_CHAOS_DRUID_HEAD("Ensouled chaos druid head", 1, 584, ItemID.ENSOULED_CHAOS_DRUID_HEAD, true), + ENSOULED_GIANT_HEAD("Ensouled giant head", 1, 650, ItemID.ENSOULED_GIANT_HEAD, true), + ENSOULED_OGRE_HEAD("Ensouled ogre head", 1, 716, ItemID.ENSOULED_OGRE_HEAD, true), + ENSOULED_ELF_HEAD("Ensouled elf head", 1, 754, ItemID.ENSOULED_ELF_HEAD, true), + ENSOULED_TROLL_HEAD("Ensouled troll head", 1, 780, ItemID.ENSOULED_TROLL_HEAD, true), + ENSOULED_HORROR_HEAD("Ensouled horror head", 1, 832, ItemID.ENSOULED_HORROR_HEAD, true), + ENSOULED_KALPHITE_HEAD("Ensouled kalphite head", 1, 884, ItemID.ENSOULED_KALPHITE_HEAD, true), + ENSOULED_DAGANNOTH_HEAD("Ensouled dagannoth head", 1, 936, ItemID.ENSOULED_DAGANNOTH_HEAD, true), + ENSOULED_BLOODVELD_HEAD("Ensouled bloodveld head", 1, 1040, ItemID.ENSOULED_BLOODVELD_HEAD, true), + ENSOULED_TZHAAR_HEAD("Ensouled tzhaar head", 1, 1104, ItemID.ENSOULED_TZHAAR_HEAD, true), + ENSOULED_DEMON_HEAD("Ensouled demon head", 1, 1170, ItemID.ENSOULED_DEMON_HEAD, true), + ENSOULED_AVIANSIE_HEAD("Ensouled aviansie head", 1, 1234, ItemID.ENSOULED_AVIANSIE_HEAD, true), + ENSOULED_ABYSSAL_HEAD("Ensouled abyssal head", 1, 1300, ItemID.ENSOULED_ABYSSAL_HEAD, true), + ENSOULED_DRAGON_HEAD("Ensouled dragon head", 1, 1560, ItemID.ENSOULED_DRAGON_HEAD, true), + FIENDISH_ASHES("Fiendish ashes", 1, 10, ItemID.FIENDISH_ASHES, true), + VILE_ASHES("Vile ashes", 1, 25, ItemID.VILE_ASHES, true), + MALICIOUS_ASHES("Malicious ashes", 1, 65, ItemID.MALICIOUS_ASHES, true), + ABYSSAL_ASHES("Abyssal ashes", 1, 85, ItemID.ABYSSAL_ASHES, true), + INFERNAL_ASHES("Infernal ashes", 1, 110, ItemID.INFERNAL_ASHES, true), + BONES("Bones", 1, 4.5f, ItemID.BONES, false), + WOLF_BONES("Wolf bones", 1, 4.5f, ItemID.WOLF_BONES, false), + LOAR_REMAINS("Loar remains", 1, 33, ItemID.LOAR_REMAINS, false), + BURNT_BONES("Burnt bones", 1, 4.5f, ItemID.BURNT_BONES, false), + MONKEY_BONES("Monkey bones", 1, 5, ItemID.MONKEY_BONES, false), + BAT_BONES("Bat bones", 1, 5.3f, ItemID.BAT_BONES, false), + JOGRE_BONES("Jogre bones", 1, 15, ItemID.JOGRE_BONES, false), + BIG_BONES("Big bones", 1, 15, ItemID.BIG_BONES, false), + ZOGRE_BONES("Zogre bones", 1, 22.5f, ItemID.ZOGRE_BONES, false), + SHAIKAHAN_BONES("Shaikahan bones", 1, 25, ItemID.SHAIKAHAN_BONES, false), + BABYDRAGON_BONES("Babydragon bones", 1, 30, ItemID.BABYDRAGON_BONES, false), + PHRIN_REMAINS("Phrin remains", 1, 46.5f, ItemID.PHRIN_REMAINS, false), + WYRM_BONES("Wyrm bones", 1, 50, ItemID.WYRM_BONES, false), + RIYL_REMAINS("Riyl remains", 1, 59.5f, ItemID.RIYL_REMAINS, false), + WYVERN_BONES("Wyvern bones", 1, 72, ItemID.WYVERN_BONES, false), + DRAGON_BONES("Dragon bones", 1, 72, ItemID.DRAGON_BONES, false), + DRAKE_BONES("Drake bones", 1, 80, ItemID.DRAKE_BONES, false), + ASYN_REMAINS("Asyn remains", 1, 82.5f, ItemID.ASYN_REMAINS, false), + FAYRG_BONES("Fayrg bones", 1, 84, ItemID.FAYRG_BONES, false), + FIYR_REMAINS("Fiyr remains", 1, 84, ItemID.FIYR_REMAINS, false), + LAVA_DRAGON_BONES("Lava dragon bones", 1, 85, ItemID.LAVA_DRAGON_BONES, false), + RAURG_BONES("Raurg bones", 1, 96, ItemID.RAURG_BONES, false), + HYDRA_BONES("Hydra bones", 1, 110, ItemID.HYDRA_BONES, false), + DAGANNOTH_BONES("Dagannoth bones", 1, 125, ItemID.DAGANNOTH_BONES, false), + OURG_BONES("Ourg bones", 1, 140, ItemID.OURG_BONES, false), + URIUM_REMAINS("Urium remains", 1, 120, ItemID.URIUM_REMAINS, false), + GUPPY("Guppy", 1, 4, ItemID.GUPPY, false), + CAVEFISH("Cavefish", 1, 7, ItemID.CAVEFISH, false), + TETRA("Tetra", 1, 10, ItemID.TETRA, false), + CATFISH("Catfish", 1, 16, ItemID.CATFISH, false), + SUPERIOR_DRAGON_BONES("Superior dragon bones", 70, 150, ItemID.SUPERIOR_DRAGON_BONES, false), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; + private final boolean ignoreBonus; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerBonus.java new file mode 100644 index 0000000000..872d52e8d3 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerBonus.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum PrayerBonus implements SkillBonus +{ + LIT_GILDED_ALTAR("Lit Gilded Altar (350%)", 2.5f), + ECTOFUNTUS("Ectofuntus (400%)", 3), + CHAOS_ALTAR("Chaos Altar (700%)", 6), + MORYTANIA_DIARY_3_SHADES("Morytania Diary 3 Shades(150%)", 0.5f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftAction.java new file mode 100644 index 0000000000..d6eda355db --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftAction.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum RunecraftAction implements SkillAction +{ + AIR_TIARA("Air tiara", 1, 25, ItemID.AIR_TIARA, true), + MIND_TIARA("Mind tiara", 1, 27.5f, ItemID.MIND_TIARA, true), + WATER_TIARA("Water tiara", 1, 30, ItemID.WATER_TIARA, true), + EARTH_TIARA("Earth tiara", 1, 32.5f, ItemID.EARTH_TIARA, true), + FIRE_TIARA("Fire tiara", 1, 35, ItemID.FIRE_TIARA, true), + BODY_TIARA("Body tiara", 1, 37.5f, ItemID.BODY_TIARA, true), + COSMIC_TIARA("Cosmic tiara", 1, 40, ItemID.COSMIC_TIARA, true), + CHAOS_TIARA("Chaos tiara", 1, 42.5f, ItemID.CHAOS_TIARA, true), + NATURE_TIARA("Nature tiara", 1, 45, ItemID.NATURE_TIARA, true), + LAW_TIARA("Law tiara", 1, 47.5f, ItemID.LAW_TIARA, true), + DEATH_TIARA("Death tiara", 1, 50, ItemID.DEATH_TIARA, true), + WRATH_TIARA("Wrath tiara", 1, 52.5f, ItemID.WRATH_TIARA, true), + AIR_RUNE("Air rune", 1, 5, ItemID.AIR_RUNE, false), + MIND_RUNE("Mind rune", 2, 5.5f, ItemID.MIND_RUNE, false), + MIND_CORE("Mind core", 2, 55, ItemID.MIND_CORE, false), + WATER_RUNE("Water rune", 5, 6, ItemID.WATER_RUNE, false), + MIST_RUNE("Mist rune", 6, 8.5f, ItemID.MIST_RUNE, false), + EARTH_RUNE("Earth rune", 9, 6.5f, ItemID.EARTH_RUNE, false), + DUST_RUNE("Dust rune", 10, 9, ItemID.DUST_RUNE, false), + MUD_RUNE("Mud rune", 13, 9.5f, ItemID.MUD_RUNE, false), + FIRE_RUNE("Fire rune", 14, 7, ItemID.FIRE_RUNE, false), + SMOKE_RUNE("Smoke rune", 15, 9.5f, ItemID.SMOKE_RUNE, false), + STEAM_RUNE("Steam rune", 19, 10, ItemID.STEAM_RUNE, false), + BODY_RUNE("Body rune", 20, 7.5f, ItemID.BODY_RUNE, false), + BODY_CORE("Body core", 20, 75, ItemID.BODY_CORE, false), + LAVA_RUNE("Lava rune", 23, 10.5f, ItemID.LAVA_RUNE, false), + COSMIC_RUNE("Cosmic rune", 27, 8, ItemID.COSMIC_RUNE, false), + CHAOS_RUNE("Chaos rune", 35, 8.5f, ItemID.CHAOS_RUNE, false), + CHAOS_CORE("Chaos core", 35, 85, ItemID.CHAOS_CORE, false), + ASTRAL_RUNE("Astral rune", 40, 8.7f, ItemID.ASTRAL_RUNE, false), + NATURE_RUNE("Nature rune", 44, 9, ItemID.NATURE_RUNE, false), + LAW_RUNE("Law rune", 54, 9.5f, ItemID.LAW_RUNE, false), + DEATH_RUNE("Death rune", 65, 10, ItemID.DEATH_RUNE, false), + BLOOD_RUNE("Blood rune", 77, 24.425f, ItemID.BLOOD_RUNE, true), + SOUL_RUNE("Soul rune", 90, 30.325f, ItemID.SOUL_RUNE, true), + WRATH_RUNE("Wrath rune", 95, 8, ItemID.WRATH_RUNE, false), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; + private final boolean ignoreBonus; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftBonus.java new file mode 100644 index 0000000000..0fa8a7477b --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftBonus.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum RunecraftBonus implements SkillBonus +{ + DAEYALT_ESSENCE("Daeyalt essence (+50%)", 0.5f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillAction.java new file mode 100644 index 0000000000..9f6153678a --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillAction.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +/** + * An object representing a single skill action which grants some xp. + */ +public interface SkillAction +{ + /** + * Gets the name of this skill action, usually the item or object created, or the spell cast. + * + * @return The name of this skill action. + */ + String getName(); + + /** + * Gets the level required to perform this skill action. + * + * @return The level required to perform this skill action. + */ + int getLevel(); + + /** + * Gets the amount of xp granted for performing this skill action. + * + * @return The amount of xp granted for performing this skill action. + */ + float getXp(); + + /** + * Gets the item icon ID for this skill action, if applicable. + *

+ * Note: Either this method or {@link #getSprite()} will always return {@code -1}, and the other will return some + * value {@code 0} or greater. + * + * @return The item icon ID of this skill action, or {@code -1} if its icon should be represented using a sprite. + * @see net.runelite.api.ItemID + * @see #getSprite() + */ + default int getIcon() + { + return -1; + } + + /** + * Gets the sprite ID for this skill action, if applicable. + *

+ * Note: Either this method or {@link #getIcon()} will always return {@code -1}, and the other will return some + * value {@code 0} or greater. + * + * @return The sprite ID of this skill action, or {@code -1} if its icon should be represented using an item icon. + * @see net.runelite.api.SpriteID + * @see #getIcon() + */ + default int getSprite() + { + return -1; + } + + /** + * Returns {@code true} if this skill action is not boosted by any {@link SkillBonus skill bonuses}, {@code false} + * otherwise. + * + * @return {@code true} if this skill action is unaffected by skill bonuses, {@code false} otherwise. + */ + default boolean isIgnoreBonus() + { + return false; + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillBonus.java new file mode 100644 index 0000000000..cf7d1d8dcf --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillBonus.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +/** + * An object representing a skill bonus, such as from a skilling outfit or activity granting boosted xp. + */ +public interface SkillBonus +{ + /** + * Gets the name of this skill bonus. + * + * @return The name of this skill bonus. + */ + String getName(); + + /** + * Gets the multiplier for this skill bonus. When multiplied with the skill action XP value, it yields the amount of + * additional xp granted for that action. (eg. {@code {@link SkillAction#getXp()} * (1 + {@link #getValue()}} yields + * the full amount of xp gained) + * + * @return The skill bonus multiplier. + */ + float getValue(); +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SmithingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SmithingAction.java new file mode 100644 index 0000000000..8e32705cd1 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SmithingAction.java @@ -0,0 +1,222 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum SmithingAction implements SkillAction +{ + BRONZE_BAR("Bronze bar", 1, 6.3f, ItemID.BRONZE_BAR), + BRONZE_AXE("Bronze axe", 1, 12.5f, ItemID.BRONZE_AXE), + BRONZE_DAGGER("Bronze dagger", 1, 12.5f, ItemID.BRONZE_DAGGER), + BRONZE_MACE("Bronze mace", 2, 12.5f, ItemID.BRONZE_MACE), + BRONZE_MED_HELM("Bronze med helm", 3, 12.5f, ItemID.BRONZE_MED_HELM), + BRONZE_BOLTS_UNF("Bronze bolts (unf)", 3, 12.5f, ItemID.BRONZE_BOLTS_UNF), + BRONZE_NAILS("Bronze nails", 4, 12.5f, ItemID.BRONZE_NAILS), + BRONZE_SWORD("Bronze sword", 4, 12.5f, ItemID.BRONZE_SWORD), + BRONZE_WIRE("Bronze wire", 4, 12.5f, ItemID.BRONZE_WIRE), + BRONZE_DART_TIP("Bronze dart tip", 4, 12.5f, ItemID.BRONZE_DART_TIP), + BRONZE_ARROWTIPS("Bronze arrowtips", 5, 12.5f, ItemID.BRONZE_ARROWTIPS), + BRONZE_SCIMITAR("Bronze scimitar", 5, 25, ItemID.BRONZE_SCIMITAR), + BRONZE_HASTA("Bronze hasta", 5, 25, ItemID.BRONZE_HASTA), + BRONZE_SPEAR("Bronze spear", 5, 25, ItemID.BRONZE_SPEAR), + BRONZE_JAVELIN_HEADS("Bronze javelin heads", 6, 12.5f, ItemID.BRONZE_JAVELIN_HEADS), + BRONZE_LONGSWORD("Bronze longsword", 6, 25, ItemID.BRONZE_LONGSWORD), + BRONZE_LIMBS("Bronze limbs", 6, 12.5f, ItemID.BRONZE_LIMBS), + BRONZE_KNIFE("Bronze knife", 7, 12.5f, ItemID.BRONZE_KNIFE), + BRONZE_FULL_HELM("Bronze full helm", 7, 25, ItemID.BRONZE_FULL_HELM), + BRONZE_SQ_SHIELD("Bronze sq shield", 8, 25, ItemID.BRONZE_SQ_SHIELD), + BRONZE_WARHAMMER("Bronze warhammer", 9, 37.5f, ItemID.BRONZE_WARHAMMER), + BRONZE_BATTLEAXE("Bronze battleaxe", 10, 37.5f, ItemID.BRONZE_BATTLEAXE), + BRONZE_CHAINBODY("Bronze chainbody", 11, 37.5f, ItemID.BRONZE_CHAINBODY), + BRONZE_KITESHIELD("Bronze kiteshield", 12, 37.5f, ItemID.BRONZE_KITESHIELD), + BRONZE_CLAWS("Bronze claws", 13, 25, ItemID.BRONZE_CLAWS), + BRONZE_2H_SWORD("Bronze 2h sword", 14, 37.5f, ItemID.BRONZE_2H_SWORD), + BARRONITE_DEPOSITS("Barronite deposits", 14, 30, ItemID.BARRONITE_DEPOSIT), + IRON_BAR("Iron bar", 15, 12.5f, ItemID.IRON_BAR), + IRON_DAGGER("Iron dagger", 15, 25, ItemID.IRON_DAGGER), + IRON_AXE("Iron axe", 16, 25, ItemID.IRON_AXE), + BRONZE_PLATELEGS("Bronze platelegs", 16, 37.5f, ItemID.BRONZE_PLATELEGS), + BRONZE_PLATESKIRT("Bronze plateskirt", 16, 37.5f, ItemID.BRONZE_PLATESKIRT), + IRON_SPIT("Iron spit", 17, 25, ItemID.IRON_SPIT), + IRON_MACE("Iron mace", 17, 25, ItemID.IRON_MACE), + IRON_BOLTS_UNF("Iron bolts (unf)", 18, 25, ItemID.IRON_BOLTS_UNF), + BRONZE_PLATEBODY("Bronze platebody", 18, 62.5f, ItemID.BRONZE_PLATEBODY), + IRON_MED_HELM("Iron med helm", 18, 25, ItemID.IRON_MED_HELM), + IRON_NAILS("Iron nails", 19, 25, ItemID.IRON_NAILS), + IRON_DART_TIP("Iron dart tip", 19, 25, ItemID.IRON_DART_TIP), + IRON_SWORD("Iron sword", 19, 25, ItemID.IRON_SWORD), + SILVER_BAR("Silver bar", 20, 13.7f, ItemID.SILVER_BAR), + IRON_ARROWTIPS("Iron arrowtips", 20, 25, ItemID.IRON_ARROWTIPS), + IRON_SCIMITAR("Iron scimitar", 20, 50, ItemID.IRON_SCIMITAR), + IRON_HASTA("Iron hasta", 20, 50, ItemID.IRON_HASTA), + IRON_SPEAR("Iron spear", 20, 50, ItemID.IRON_SPEAR), + IRON_LONGSWORD("Iron longsword", 21, 50, ItemID.IRON_LONGSWORD), + IRON_JAVELIN_HEADS("Iron javelin heads", 21, 25, ItemID.IRON_JAVELIN_HEADS), + IRON_FULL_HELM("Iron full helm", 22, 50, ItemID.IRON_FULL_HELM), + IRON_KNIFE("Iron knife", 22, 25, ItemID.IRON_KNIFE), + IRON_LIMBS("Iron limbs", 23, 25, ItemID.IRON_LIMBS), + IRON_SQ_SHIELD("Iron sq shield", 23, 50, ItemID.IRON_SQ_SHIELD), + IRON_WARHAMMER("Iron warhammer", 24, 75, ItemID.IRON_WARHAMMER), + IRON_BATTLEAXE("Iron battleaxe", 25, 75, ItemID.IRON_BATTLEAXE), + OIL_LANTERN_FRAME("Oil lantern frame", 26, 25, ItemID.OIL_LANTERN_FRAME), + IRON_CHAINBODY("Iron chainbody", 26, 75, ItemID.IRON_CHAINBODY), + IRON_KITESHIELD("Iron kiteshield", 27, 75, ItemID.IRON_KITESHIELD), + IRON_CLAWS("Iron claws", 28, 50, ItemID.IRON_CLAWS), + IRON_2H_SWORD("Iron 2h sword", 29, 75, ItemID.IRON_2H_SWORD), + STEEL_DAGGER("Steel dagger", 30, 37.5f, ItemID.STEEL_DAGGER), + STEEL_BAR("Steel bar", 30, 17.5f, ItemID.STEEL_BAR), + IRON_PLATESKIRT("Iron plateskirt", 31, 75, ItemID.IRON_PLATESKIRT), + IRON_PLATELEGS("Iron platelegs", 31, 75, ItemID.IRON_PLATELEGS), + STEEL_AXE("Steel axe", 31, 37.5f, ItemID.STEEL_AXE), + STEEL_MACE("Steel mace", 32, 37.5f, ItemID.STEEL_MACE), + IRON_PLATEBODY("Iron platebody", 33, 125, ItemID.IRON_PLATEBODY), + STEEL_MED_HELM("Steel med helm", 33, 37.5f, ItemID.STEEL_MED_HELM), + STEEL_BOLTS_UNF("Steel bolts (unf)", 33, 37.5f, ItemID.STEEL_BOLTS_UNF), + STEEL_DART_TIP("Steel dart tip", 34, 37.5f, ItemID.STEEL_DART_TIP), + STEEL_NAILS("Steel nails", 34, 37.5f, ItemID.STEEL_NAILS), + STEEL_SWORD("Steel sword", 34, 37.5f, ItemID.STEEL_SWORD), + CANNONBALL("Cannonball", 35, 25.6f, ItemID.CANNONBALL), + STEEL_SCIMITAR("Steel scimitar", 35, 75, ItemID.STEEL_SCIMITAR), + STEEL_ARROWTIPS("Steel arrowtips", 35, 37.5f, ItemID.STEEL_ARROWTIPS), + STEEL_HASTA("Steel hasta", 35, 75, ItemID.STEEL_HASTA), + STEEL_SPEAR("Steel spear", 35, 75, ItemID.STEEL_SPEAR), + STEEL_LIMBS("Steel limbs", 36, 37.5f, ItemID.STEEL_LIMBS), + STEEL_STUDS("Steel studs", 36, 37.5f, ItemID.STEEL_STUDS), + STEEL_LONGSWORD("Steel longsword", 36, 75, ItemID.STEEL_LONGSWORD), + STEEL_JAVELIN_HEADS("Steel javelin heads", 36, 37.5f, ItemID.STEEL_JAVELIN_HEADS), + STEEL_KNIFE("Steel knife", 37, 37.5f, ItemID.STEEL_KNIFE), + STEEL_FULL_HELM("Steel full helm", 37, 75, ItemID.STEEL_FULL_HELM), + STEEL_SQ_SHIELD("Steel sq shield", 38, 75, ItemID.STEEL_SQ_SHIELD), + STEEL_WARHAMMER("Steel warhammer", 39, 112.5f, ItemID.STEEL_WARHAMMER), + STEEL_BATTLEAXE("Steel battleaxe", 40, 112.5f, ItemID.STEEL_BATTLEAXE), + GOLD_BAR_GOLDSMITH_GAUNTLETS("Gold bar (Goldsmith gauntlets)", 40, 56.2f, ItemID.GOLD_BAR), + GOLD_BAR("Gold bar", 40, 22.5f, ItemID.GOLD_BAR), + STEEL_CHAINBODY("Steel chainbody", 41, 112.5f, ItemID.STEEL_CHAINBODY), + STEEL_KITESHIELD("Steel kiteshield", 42, 112.5f, ItemID.STEEL_KITESHIELD), + STEEL_CLAWS("Steel claws", 43, 75, ItemID.STEEL_CLAWS), + STEEL_2H_SWORD("Steel 2h sword", 44, 112.5f, ItemID.STEEL_2H_SWORD), + STEEL_PLATELEGS("Steel platelegs", 46, 112.5f, ItemID.STEEL_PLATELEGS), + STEEL_PLATESKIRT("Steel plateskirt", 46, 112.5f, ItemID.STEEL_PLATESKIRT), + STEEL_PLATEBODY("Steel platebody", 48, 187.5f, ItemID.STEEL_PLATEBODY), + BULLSEYE_LANTERN_UNF("Bullseye lantern (unf)", 49, 37, ItemID.BULLSEYE_LANTERN_UNF), + MITHRIL_DAGGER("Mithril dagger", 50, 50, ItemID.MITHRIL_DAGGER), + MITHRIL_BAR("Mithril bar", 50, 30, ItemID.MITHRIL_BAR), + MITHRIL_AXE("Mithril axe", 51, 50, ItemID.MITHRIL_AXE), + MITHRIL_MACE("Mithril mace", 52, 50, ItemID.MITHRIL_MACE), + MITHRIL_MED_HELM("Mithril med helm", 53, 50, ItemID.MITHRIL_MED_HELM), + MITHRIL_BOLTS_UNF("Mithril bolts (unf)", 53, 50, ItemID.MITHRIL_BOLTS_UNF), + MITHRIL_SWORD("Mithril sword", 54, 50, ItemID.MITHRIL_SWORD), + MITHRIL_DART_TIP("Mithril dart tip", 54, 50, ItemID.MITHRIL_DART_TIP), + MITHRIL_NAILS("Mithril nails", 54, 50, ItemID.MITHRIL_NAILS), + MITHRIL_ARROWTIPS("Mithril arrowtips", 55, 50, ItemID.MITHRIL_ARROWTIPS), + MITHRIL_SCIMITAR("Mithril scimitar", 55, 100, ItemID.MITHRIL_SCIMITAR), + MITHRIL_HASTA("Mithril hasta", 55, 100, ItemID.MITHRIL_HASTA), + MITHRIL_SPEAR("Mithril spear", 55, 100, ItemID.MITHRIL_SPEAR), + MITHRIL_LONGSWORD("Mithril longsword", 56, 100, ItemID.MITHRIL_LONGSWORD), + MITHRIL_JAVELIN_HEADS("Mithril javelin heads", 56, 50, ItemID.MITHRIL_JAVELIN_HEADS), + MITHRIL_LIMBS("Mithril limbs", 56, 50, ItemID.MITHRIL_LIMBS), + MITHRIL_FULL_HELM("Mithril full helm", 57, 100, ItemID.MITHRIL_FULL_HELM), + MITHRIL_KNIFE("Mithril knife", 57, 50, ItemID.MITHRIL_KNIFE), + MITHRIL_SQ_SHIELD("Mithril sq shield", 58, 100, ItemID.MITHRIL_SQ_SHIELD), + MITH_GRAPPLE_TIP("Mith grapple tip", 59, 50, ItemID.MITH_GRAPPLE_TIP), + MITHRIL_WARHAMMER("Mithril warhammer", 59, 150, ItemID.MITHRIL_WARHAMMER), + DRAGON_SQ_SHIELD("Dragon sq shield", 60, 75, ItemID.DRAGON_SQ_SHIELD), + MITHRIL_BATTLEAXE("Mithril battleaxe", 60, 150, ItemID.MITHRIL_BATTLEAXE), + MITHRIL_CHAINBODY("Mithril chainbody", 61, 150, ItemID.MITHRIL_CHAINBODY), + MITHRIL_KITESHIELD("Mithril kiteshield", 62, 150, ItemID.MITHRIL_KITESHIELD), + MITHRIL_CLAWS("Mithril claws", 63, 100, ItemID.MITHRIL_CLAWS), + MITHRIL_2H_SWORD("Mithril 2h sword", 64, 150, ItemID.MITHRIL_2H_SWORD), + MITHRIL_PLATESKIRT("Mithril plateskirt", 66, 150, ItemID.MITHRIL_PLATESKIRT), + MITHRIL_PLATELEGS("Mithril platelegs", 66, 150, ItemID.MITHRIL_PLATELEGS), + MITHRIL_PLATEBODY("Mithril platebody", 68, 250, ItemID.MITHRIL_PLATEBODY), + ADAMANT_DAGGER("Adamant dagger", 70, 62.5f, ItemID.ADAMANT_DAGGER), + ADAMANTITE_BAR("Adamantite bar", 70, 37.5f, ItemID.ADAMANTITE_BAR), + ADAMANT_AXE("Adamant axe", 71, 62.5f, ItemID.ADAMANT_AXE), + ADAMANT_MACE("Adamant mace", 72, 62.5f, ItemID.ADAMANT_MACE), + ADAMANT_BOLTS_UNF("Adamant bolts (unf)", 73, 62.5f, ItemID.ADAMANT_BOLTSUNF), + ADAMANT_MED_HELM("Adamant med helm", 73, 62.5f, ItemID.ADAMANT_MED_HELM), + ADAMANT_DART_TIP("Adamant dart tip", 74, 62.5f, ItemID.ADAMANT_DART_TIP), + ADAMANT_SWORD("Adamant sword", 74, 62.5f, ItemID.ADAMANT_SWORD), + ADAMANTITE_NAILS("Adamantite nails", 74, 62.5f, ItemID.ADAMANTITE_NAILS), + ADAMANT_ARROWTIPS("Adamant arrowtips", 75, 62.5f, ItemID.ADAMANT_ARROWTIPS), + ADAMANT_SCIMITAR("Adamant scimitar", 75, 125, ItemID.ADAMANT_SCIMITAR), + ADAMANT_HASTA("Adamant hasta", 75, 125, ItemID.ADAMANT_HASTA), + ADAMANT_SPEAR("Adamant spear", 75, 125, ItemID.ADAMANT_SPEAR), + ADAMANTITE_LIMBS("Adamantite limbs", 76, 62.5f, ItemID.ADAMANTITE_LIMBS), + ADAMANT_LONGSWORD("Adamant longsword", 76, 125, ItemID.ADAMANT_LONGSWORD), + ADAMANT_JAVELIN_HEADS("Adamant javelin heads", 76, 62.5f, ItemID.ADAMANT_JAVELIN_HEADS), + ADAMANT_FULL_HELM("Adamant full helm", 77, 125, ItemID.ADAMANT_FULL_HELM), + ADAMANT_KNIFE("Adamant knife", 77, 62.5f, ItemID.ADAMANT_KNIFE), + ADAMANT_SQ_SHIELD("Adamant sq shield", 78, 125, ItemID.ADAMANT_SQ_SHIELD), + ADAMANT_WARHAMMER("Adamant warhammer", 79, 187.5f, ItemID.ADAMANT_WARHAMMER), + ADAMANT_BATTLEAXE("Adamant battleaxe", 80, 187.5f, ItemID.ADAMANT_BATTLEAXE), + ADAMANT_CHAINBODY("Adamant chainbody", 81, 187.5f, ItemID.ADAMANT_CHAINBODY), + ADAMANT_KITESHIELD("Adamant kiteshield", 82, 187.5f, ItemID.ADAMANT_KITESHIELD), + ADAMANT_CLAWS("Adamant claws", 83, 125, ItemID.ADAMANT_CLAWS), + ADAMANT_2H_SWORD("Adamant 2h sword", 84, 187.5f, ItemID.ADAMANT_2H_SWORD), + RUNITE_BAR("Runite bar", 85, 50, ItemID.RUNITE_BAR), + RUNE_DAGGER("Rune dagger", 85, 75, ItemID.RUNE_DAGGER), + RUNE_AXE("Rune axe", 86, 75, ItemID.RUNE_AXE), + ADAMANT_PLATESKIRT("Adamant plateskirt", 86, 187.5f, ItemID.ADAMANT_PLATESKIRT), + ADAMANT_PLATELEGS("Adamant platelegs", 86, 187.5f, ItemID.ADAMANT_PLATELEGS), + RUNE_MACE("Rune mace", 87, 75, ItemID.RUNE_MACE), + RUNITE_BOLTS_UNF("Runite bolts (unf)", 88, 75, ItemID.RUNITE_BOLTS_UNF), + RUNE_MED_HELM("Rune med helm", 88, 75, ItemID.RUNE_MED_HELM), + ADAMANT_PLATEBODY("Adamant platebody", 88, 312.5f, ItemID.ADAMANT_PLATEBODY), + RUNE_SWORD("Rune sword", 89, 75, ItemID.RUNE_SWORD), + RUNE_NAILS("Rune nails", 89, 75, ItemID.RUNE_NAILS), + RUNE_DART_TIP("Rune dart tip", 89, 75, ItemID.RUNE_DART_TIP), + RUNE_ARROWTIPS("Rune arrowtips", 90, 75, ItemID.RUNE_ARROWTIPS), + RUNE_SCIMITAR("Rune scimitar", 90, 150, ItemID.RUNE_SCIMITAR), + RUNE_HASTA("Rune hasta", 90, 150, ItemID.RUNE_HASTA), + RUNE_SPEAR("Rune spear", 90, 150, ItemID.RUNE_SPEAR), + DRAGONFIRE_SHIELD("Dragonfire shield", 90, 2000, ItemID.DRAGONFIRE_SHIELD), + RUNE_LONGSWORD("Rune longsword", 91, 150, ItemID.RUNE_LONGSWORD), + RUNE_JAVELIN_HEADS("Rune javelin heads", 91, 75, ItemID.RUNE_JAVELIN_HEADS), + RUNITE_LIMBS("Runite limbs", 91, 75, ItemID.RUNITE_LIMBS), + RUNE_KNIFE("Rune knife", 92, 75, ItemID.RUNE_KNIFE), + RUNE_FULL_HELM("Rune full helm", 92, 150, ItemID.RUNE_FULL_HELM), + RUNE_SQ_SHIELD("Rune sq shield", 93, 150, ItemID.RUNE_SQ_SHIELD), + RUNE_WARHAMMER("Rune warhammer", 94, 225, ItemID.RUNE_WARHAMMER), + RUNE_BATTLEAXE("Rune battleaxe", 95, 225, ItemID.RUNE_BATTLEAXE), + RUNE_CHAINBODY("Rune chainbody", 96, 225, ItemID.RUNE_CHAINBODY), + RUNE_KITESHIELD("Rune kiteshield", 97, 225, ItemID.RUNE_KITESHIELD), + RUNE_CLAWS("Rune claws", 98, 150, ItemID.RUNE_CLAWS), + RUNE_PLATEBODY("Rune platebody", 99, 375, ItemID.RUNE_PLATEBODY), + RUNE_PLATESKIRT("Rune plateskirt", 99, 225, ItemID.RUNE_PLATESKIRT), + RUNE_PLATELEGS("Rune platelegs", 99, 225, ItemID.RUNE_PLATELEGS), + RUNE_2H_SWORD("Rune 2h sword", 99, 225, ItemID.RUNE_2H_SWORD), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ThievingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ThievingAction.java new file mode 100644 index 0000000000..1f168e6dba --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ThievingAction.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum ThievingAction implements SkillAction +{ + MAN_OR_WOMAN("Man / Woman", 1, 8, ItemID.MAN), + WINTER_SQIRKJUICE("Winter Sq'irkjuice", 1, 350, ItemID.WINTER_SQIRKJUICE), + VEGETABLE_STALL("Vegetable Stall", 2, 10, ItemID.CABBAGE), + CAKE_STALL("Cake Stall", 5, 16, ItemID.CAKE), + TEA_STALL("Tea Stall", 5, 16, ItemID.CUP_OF_TEA_4242), + CRAFTING_STALL("Crafting Stall", 5, 16, ItemID.CHISEL_5601), + MONKEY_FOOD_STALL("Monkey Food Stall", 5, 16, ItemID.BANANA), + FARMER("Farmer", 10, 14.5f, ItemID.FARMER), + FEMALE_HAM_MEMBER("Female H.A.M. Member", 15, 18.5f, ItemID.FEMALE_HAM), + SILK_STALL("Silk Stall", 20, 24, ItemID.SILK), + MALE_HAM_MEMBER("Male H.A.M. Member", 20, 22.5f, ItemID.MALE_HAM), + WINE_STALL("Wine Stall", 22, 27, ItemID.BOTTLE_OF_WINE), + WARRIOR_WOMEN_OR_AL_KHARID_WARRIOR("Warrior Women / Al-Kharid Warrior", 25, 26, ItemID.WARRIOR_WOMAN), + FRUIT_STALL("Fruit Stall", 25, 28, ItemID.STRANGE_FRUIT), + SPRING_SQIRKJUICE("Spring Sq'irkjuice", 25, 1350, ItemID.SPRING_SQIRKJUICE), + SEED_STALL("Seed Stall", 27, 10, ItemID.POTATO_SEED), + ROGUE("Rogue", 32, 35.5f, ItemID.ROGUE), + FUR_STALL("Fur Stall", 35, 36, ItemID.GREY_WOLF_FUR), + CAVE_GOBLIN("Cave Goblin", 36, 40, ItemID.CAVE_GOBLIN), + MASTER_FARMER("Master Farmer", 38, 43, ItemID.MASTER_FARMER), + GUARD("Guard", 40, 46.8f, ItemID.GUARD), + FISH_STALL("Fish Stall", 42, 42, ItemID.RAW_SALMON), + BEARDED_POLLNIVNIAN_BANDIT("Bearded Pollnivnian Bandit", 45, 65, ItemID.BANDIT_6782), + FREMENNIK_CITIZEN("Fremennik Citizen", 45, 65, ItemID.FREMENNIK), + AUTUMN_SQIRKJUICE("Autumn Sq'irkjuice", 45, 2350, ItemID.AUTUMN_SQIRKJUICE), + CROSSBOW_STALL("Crossbow Stall", 49, 52, ItemID.CROSSBOW), + SILVER_STALL("Silver Stall", 50, 54, ItemID.SILVER_BAR), + WALL_SAFE("Wall Safe", 50, 70, ItemID.STETHOSCOPE), + DESERT_BANDIT("Desert Bandit", 53, 79.5f, ItemID.BANDIT), + KNIGHT("Knight", 55, 84.3f, ItemID.KNIGHT_OF_ARDOUGNE), + POLLNIVNIAN_BANDIT("Pollnivnian Bandit", 55, 84.3f, ItemID.BANDIT_6781), + MAGIC_STALL("Magic Stall", 65, 100, ItemID.AIR_RUNE_6422), + SCIMITAR_STALL("Scimitar Stall", 65, 100, ItemID.STEEL_SCIMITAR), + MENAPHITE_THUG("Menaphite Thug", 65, 137.5f, ItemID.MENAPHITE_THUG), + SPICES_STALL("Spices Stall", 65, 81, ItemID.SPICE), + YANILLE_WATCHMAN("Yanille Watchman", 65, 137.5f, ItemID.WATCHMAN), + SUMMER_SQIRKJUICE("Summer Sq'irkjuice", 65, 3000, ItemID.SUMMER_SQIRKJUICE), + PALADIN("Paladin", 70, 151.8f, ItemID.PALADIN), + GNOME("Gnome", 75, 198.5f, ItemID.GNOME), + GEMS_STALL("Gems Stall", 75, 160, ItemID.SAPPHIRE), + HERO("Hero", 80, 275, ItemID.HERO), + VYRE("Vyre", 82, 306.9f, ItemID.VYRE), + ELF("Elf", 85, 353, ItemID.ELF), + TZHAAR_HUR("TzHaar-Hur", 90, 103.4f, ItemID.TZHAARHUR), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingAction.java new file mode 100644 index 0000000000..6bb90b5ea1 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingAction.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum WoodcuttingAction implements SkillAction +{ + LOGS("Logs", 1, 25, ItemID.LOGS), + ACHEY_TREE_LOGS("Achey tree logs", 1, 25, ItemID.ACHEY_TREE_LOGS), + OAK_LOGS("Oak logs", 15, 37.5f, ItemID.OAK_LOGS), + WILLOW_LOGS("Willow logs", 30, 67.5f, ItemID.WILLOW_LOGS), + TEAK_LOGS("Teak logs", 35, 85, ItemID.TEAK_LOGS), + BARK("Bark", 45, 82.5f, ItemID.BARK), + MAPLE_LOGS("Maple logs", 45, 100, ItemID.MAPLE_LOGS), + MAHOGANY_LOGS("Mahogany logs", 50, 125, ItemID.MAHOGANY_LOGS), + ARCTIC_PINE_LOGS("Arctic pine logs", 54, 40, ItemID.ARCTIC_PINE_LOGS), + YEW_LOGS("Yew logs", 60, 175, ItemID.YEW_LOGS), + BLISTERWOOD_LOGS("Blisterwood logs", 62, 76, ItemID.BLISTERWOOD_LOGS), + SULLIUSCEPS("Sulliusceps", 65, 127, ItemID.SULLIUSCEP_CAP), + MAGIC_LOGS("Magic logs", 75, 250, ItemID.MAGIC_LOGS), + REDWOOD_LOGS("Redwood logs", 90, 380, ItemID.REDWOOD_LOGS), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingBonus.java new file mode 100644 index 0000000000..14ee9a4c21 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingBonus.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum WoodcuttingBonus implements SkillBonus +{ + LUMBERJACK_OUTFIT("Lumberjack Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_agility.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_agility.json deleted file mode 100644 index e26954adde..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_agility.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 2150, - "name": "Gnome Stronghold", - "xp": 86.5 - }, - { - "level": 5, - "icon": 13359, - "name": "Shayzien Basic Course", - "xp": 133.2 - }, - { - "level": 10, - "icon": 11849, - "name": "Draynor Village Rooftop", - "xp": 120 - }, - { - "level":15, - "icon": 11328, - "name": "Leaping trout", - "xp": 5 - }, - { - "level": 20, - "icon": 11849, - "name": "Al Kharid Rooftop", - "xp": 180 - }, - { - "level": 30, - "icon": 11849, - "name": "Varrock Rooftop", - "xp": 238 - }, - { - "level": 30, - "icon": 10595, - "name": "Penguin Agility Course", - "xp": 540 - }, - { - "level":30, - "icon": 11330, - "name": "Leaping salmon", - "xp": 6 - }, - { - "level": 35, - "icon": 1365, - "name": "Barbarian Outpost", - "xp": 152.5 - }, - { - "level": 40, - "icon": 11849, - "name": "Canifis Rooftop", - "xp": 240 - }, - { - "level":45, - "icon": 11332, - "name": "Leaping sturgeon", - "xp": 7 - }, - { - "level": 48, - "icon": 4026, - "name": "Ape Atoll", - "xp": 580 - }, - { - "level": 48, - "icon": 13379, - "name": "Shayzien Advanced Course", - "xp": 474.3 - }, - { - "level": 50, - "icon": 11849, - "name": "Falador Rooftop", - "xp": 440 - }, - { - "level": 52, - "icon": 964, - "name": "Wilderness Agility Course", - "xp": 571 - }, - { - "level": 52, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 1", - "xp": 575 - }, - { - "level": 60, - "icon": 11849, - "name": "Seers' Village Rooftop", - "xp": 570 - }, - { - "level": 60, - "icon": 4179, - "name": "Werewolf Agility Course", - "xp": 730 - }, - { - "level": 62, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 2", - "xp": 925 - }, - { - "level": 70, - "icon": 11849, - "name": "Pollnivneach Rooftop", - "xp": 890 - }, - { - "level": 72, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 3", - "xp": 1500 - }, - { - "level": 75, - "icon": 23962, - "name": "Prifddinas Agility Course", - "xp": 1337 - }, - { - "level": 80, - "icon": 11849, - "name": "Rellekka Rooftop", - "xp": 780 - }, - { - "level": 82, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 4", - "xp": 2700 - }, - { - "level": 90, - "icon": 11849, - "name": "Ardougne Rooftop", - "xp": 793 - }, - { - "level": 92, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 5", - "xp": 6000 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_construction.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_construction.json deleted file mode 100644 index 32897151de..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_construction.json +++ /dev/null @@ -1,1018 +0,0 @@ -{ - "bonuses": [ - { - "name": "Carpenter's Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 8168, - "name": "Exit Portal", - "xp": 100 - }, - { - "level": 1, - "icon": 960, - "name": "Plank", - "xp": 29 - }, - { - "level": 1, - "icon": 8778, - "name": "Oak Plank", - "xp": 60 - }, - { - "level": 1, - "icon": 8780, - "name": "Teak Plank", - "xp": 90 - }, - { - "level": 1, - "icon": 8782, - "name": "Mahogany Plank", - "xp": 140 - }, - { - "level": 1, - "icon": 8180, - "name": "Plant", - "xp": 31 - }, - { - "level": 1, - "icon": 8186, - "name": "Fern (big plant)", - "xp": 31 - }, - { - "level": 1, - "icon": 8189, - "name": "Short Plant", - "xp": 31 - }, - { - "level": 1, - "icon": 8183, - "name": "Dock Leaf", - "xp": 31 - }, - { - "level": 1, - "icon": 8309, - "name": "Crude Wooden Chair", - "xp": 58 - }, - { - "level": 2, - "icon": 8316, - "name": "Brown Rug", - "xp": 30 - }, - { - "level": 2, - "icon": 8322, - "name": "Torn Curtains", - "xp": 132 - }, - { - "level": 3, - "icon": 8325, - "name": "Clay Fireplace", - "xp": 30 - }, - { - "level": 4, - "icon": 8319, - "name": "Wooden Bookcase", - "xp": 115 - }, - { - "level": 5, - "icon": 8216, - "name": "Firepit", - "xp": 40 - }, - { - "level": 5, - "icon": 8236, - "name": "Cat Blanket", - "xp": 15 - }, - { - "level": 5, - "icon": 8169, - "name": "Decorative Rock", - "xp": 100 - }, - { - "level": 5, - "icon": 8173, - "name": "Tree", - "xp": 31 - }, - { - "level": 6, - "icon": 8181, - "name": "Small Fern", - "xp": 70 - }, - { - "level": 6, - "icon": 8184, - "name": "Thistle", - "xp": 70 - }, - { - "level": 6, - "icon": 8187, - "name": "Bush", - "xp": 70 - }, - { - "level": 6, - "icon": 8190, - "name": "Large Leaf Bush", - "xp": 70 - }, - { - "level": 6, - "icon": 8223, - "name": "Wooden Shelves 1", - "xp": 87 - }, - { - "level": 7, - "icon": 8230, - "name": "Pump and Drain", - "xp": 100 - }, - { - "level": 7, - "icon": 8239, - "name": "Beer Barrel", - "xp": 87 - }, - { - "level": 8, - "icon": 8310, - "name": "Wooden Chair", - "xp": 87 - }, - { - "level": 9, - "icon": 8233, - "name": "Wooden Larder", - "xp": 228 - }, - { - "level": 10, - "icon": 8115, - "name": "Wood Dining Table", - "xp": 115 - }, - { - "level": 10, - "icon": 8170, - "name": "Pond", - "xp": 100 - }, - { - "level": 10, - "icon": 8174, - "name": "Nice Tree", - "xp": 44 - }, - { - "level": 10, - "icon": 8108, - "name": "Wooden Bench", - "xp": 115 - }, - { - "level": 11, - "icon": 8217, - "name": "Firepit with Hook", - "xp": 60 - }, - { - "level": 12, - "icon": 8185, - "name": "Reeds", - "xp": 100 - }, - { - "level": 12, - "icon": 8182, - "name": "Fern (small plant)", - "xp": 100 - }, - { - "level": 12, - "icon": 8240, - "name": "Cider Barrel", - "xp": 91 - }, - { - "level": 12, - "icon": 8224, - "name": "Wooden Shelves 2", - "xp": 147 - }, - { - "level": 12, - "icon": 8115, - "name": "Wood Table", - "xp": 87 - }, - { - "level": 12, - "icon": 8191, - "name": "Huge Plant", - "xp": 100 - }, - { - "level": 12, - "icon": 8188, - "name": "Tall Plant", - "xp": 100 - }, - { - "level": 13, - "icon": 8317, - "name": "Rug", - "xp": 60 - }, - { - "level": 14, - "icon": 8311, - "name": "Rocking Chair", - "xp": 87 - }, - { - "level": 15, - "icon": 8171, - "name": "Imp Statue", - "xp": 150 - }, - { - "level": 15, - "icon": 8175, - "name": "Oak Tree", - "xp": 70 - }, - { - "level": 16, - "icon": 8102, - "name": "Oak Decoration", - "xp": 120 - }, - { - "level": 17, - "icon": 8218, - "name": "Firepit with Pot", - "xp": 80 - }, - { - "level": 18, - "icon": 8323, - "name": "Curtains", - "xp": 225 - }, - { - "level": 18, - "icon": 1905, - "name": "Asgarnian Ale", - "xp": 184 - }, - { - "level": 19, - "icon": 8237, - "name": "Cat Basket", - "xp": 58 - }, - { - "level": 19, - "icon": 8312, - "name": "Oak Chair", - "xp": 120 - }, - { - "level": 20, - "icon": 8031, - "name": "Wooden Bed", - "xp": 117 - }, - { - "level": 20, - "icon": 8038, - "name": "Shoe Box", - "xp": 58 - }, - { - "level": 21, - "icon": 8045, - "name": "Shaving Stand", - "xp": 30 - }, - { - "level": 22, - "icon": 8116, - "name": "Oak Table", - "xp": 240 - }, - { - "level": 22, - "icon": 8109, - "name": "Oak Bench", - "xp": 240 - }, - { - "level": 23, - "icon": 8225, - "name": "Wooden Shelves 3", - "xp": 147 - }, - { - "level": 24, - "icon": 8219, - "name": "Small Oven", - "xp": 80 - }, - { - "level": 25, - "icon": 8052, - "name": "Oak Clock", - "xp": 142 - }, - { - "level": 26, - "icon": 1909, - "name": "Greenman's Ale", - "xp": 184 - }, - { - "level": 26, - "icon": 8313, - "name": "Oak Armchair", - "xp": 180 - }, - { - "level": 26, - "icon": 8099, - "name": "Rope Bell-Pull", - "xp": 64 - }, - { - "level": 27, - "icon": 8231, - "name": "Pump and Tub", - "xp": 200 - }, - { - "level": 27, - "icon": 8039, - "name": "Oak Drawers", - "xp": 120 - }, - { - "level": 29, - "icon": 8320, - "name": "Oak Bookcase", - "xp": 180 - }, - { - "level": 29, - "icon": 8220, - "name": "Large Oven", - "xp": 100 - }, - { - "level": 29, - "icon": 8046, - "name": "Oak Shaving Stand", - "xp": 61 - }, - { - "level": 30, - "icon": 8176, - "name": "Willow Tree", - "xp": 100 - }, - { - "level": 30, - "icon": 8032, - "name": "Oak Bed", - "xp": 210 - }, - { - "level": 30, - "icon": 10976, - "name": "Long Bone", - "xp": 4500 - }, - { - "level": 30, - "icon": 10977, - "name": "Curved Bone", - "xp": 6750 - }, - { - "level": 31, - "icon": 8110, - "name": "Carved Oak Bench", - "xp": 240 - }, - { - "level": 31, - "icon": 8117, - "name": "Carved Oak Table", - "xp": 360 - }, - { - "level": 32, - "icon": 8118, - "name": "Oak Table", - "xp": 180 - }, - { - "level": 32, - "icon": 8023, - "name": "Boxing Ring", - "xp": 420 - }, - { - "level": 33, - "icon": 8234, - "name": "Oak Larder", - "xp": 480 - }, - { - "level": 33, - "icon": 8238, - "name": "Cushioned Basket", - "xp": 58 - }, - { - "level": 33, - "icon": 8326, - "name": "Stone Fireplace", - "xp": 40 - }, - { - "level": 34, - "icon": 8221, - "name": "Steel Range", - "xp": 120 - }, - { - "level": 34, - "icon": 8226, - "name": "Oak Shelves 1", - "xp": 240 - }, - { - "level": 34, - "icon": 8028, - "name": "Glove Rack", - "xp": 120 - }, - { - "level": 34, - "icon": 8033, - "name": "Large Oak Bed", - "xp": 330 - }, - { - "level": 35, - "icon": 8314, - "name": "Teak Armchair", - "xp": 180 - }, - { - "level": 36, - "icon": 1911, - "name": "Dragon Bitter", - "xp": 224 - }, - { - "level": 36, - "icon": 8103, - "name": "Teak Decoration", - "xp": 180 - }, - { - "level": 37, - "icon": 8100, - "name": "Bell-Pull", - "xp": 120 - }, - { - "level": 37, - "icon": 8047, - "name": "Oak Dresser", - "xp": 121 - }, - { - "level": 38, - "icon": 8112, - "name": "Teak Bench", - "xp": 360 - }, - { - "level": 38, - "icon": 8118, - "name": "Teak Table", - "xp": 360 - }, - { - "level": 39, - "icon": 8040, - "name": "Oak Wardrobe", - "xp": 180 - }, - { - "level": 40, - "icon": 8034, - "name": "Teak Bed", - "xp": 300 - }, - { - "level": 40, - "icon": 8321, - "name": "Mahogany Bookcase", - "xp": 420 - }, - { - "level": 40, - "icon": 8334, - "name": "Oak Lectern", - "xp": 60 - }, - { - "level": 40, - "icon": 8324, - "name": "Opulent Curtains", - "xp": 315 - }, - { - "level": 41, - "icon": 8024, - "name": "Fencing Ring", - "xp": 570 - }, - { - "level": 41, - "icon": 8341, - "name": "Globe", - "xp": 180 - }, - { - "level": 42, - "icon": 8222, - "name": "Fancy Range", - "xp": 160 - }, - { - "level": 42, - "icon": 8351, - "name": "Crystal Ball", - "xp": 280 - }, - { - "level": 43, - "icon": 8354, - "name": "Alchemical Chart", - "xp": 30 - }, - { - "level": 43, - "icon": 8235, - "name": "Teak larder", - "xp": 750 - }, - { - "level": 44, - "icon": 8348, - "name": "Wooden Telescope", - "xp": 121 - }, - { - "level": 44, - "icon": 8029, - "name": "Weapons Rack", - "xp": 180 - }, - { - "level": 44, - "icon": 8112, - "name": "Carved Teak Bench", - "xp": 360 - }, - { - "level": 45, - "icon": 8227, - "name": "Oak Shelves 2", - "xp": 240 - }, - { - "level": 45, - "icon": 8119, - "name": "Carved Teak Table", - "xp": 600 - }, - { - "level": 45, - "icon": 8035, - "name": "Large Teak Bed", - "xp": 480 - }, - { - "level": 45, - "icon": 8177, - "name": "Maple Tree", - "xp": 122 - }, - { - "level": 46, - "icon": 8048, - "name": "Teak Dresser", - "xp": 181 - }, - { - "level": 47, - "icon": 8232, - "name": "Sink", - "xp": 300 - }, - { - "level": 47, - "icon": 8335, - "name": "Eagle Lectern", - "xp": 120 - }, - { - "level": 47, - "icon": 8336, - "name": "Demon Lectern", - "xp": 120 - }, - { - "level": 47, - "icon": 21913, - "name": "Mounted Mythical Cape", - "xp": 370 - }, - { - "level": 48, - "icon": 5755, - "name": "Chef's Delight", - "xp": 224 - }, - { - "level": 50, - "icon": 8328, - "name": "Teak Portal", - "xp": 270 - }, - { - "level": 50, - "icon": 8315, - "name": "Mahogany Armchair", - "xp": 280 - }, - { - "level": 50, - "icon": 8342, - "name": "Ornamental Globe", - "xp": 270 - }, - { - "level": 50, - "icon": 8331, - "name": "Teleport Focus", - "xp": 40 - }, - { - "level": 51, - "icon": 8041, - "name": "Teak Drawers", - "xp": 180 - }, - { - "level": 51, - "icon": 8025, - "name": "Combat Ring", - "xp": 630 - }, - { - "level": 52, - "icon": 8118, - "name": "Teak Kitchen Table", - "xp": 270 - }, - { - "level": 52, - "icon": 8113, - "name": "Mahogany Bench", - "xp": 560 - }, - { - "level": 52, - "icon": 8120, - "name": "Mahogany Table", - "xp": 840 - }, - { - "level": 53, - "icon": 8036, - "name": "4-Poster Bed", - "xp": 450 - }, - { - "level": 54, - "icon": 8030, - "name": "Extra Weapons Rack", - "xp": 440 - }, - { - "level": 54, - "icon": 8352, - "name": "Elemental Sphere", - "xp": 580 - }, - { - "level": 55, - "icon": 8053, - "name": "Teak Clock", - "xp": 202 - }, - { - "level": 56, - "icon": 8104, - "name": "Gilded Decoration", - "xp": 1020 - }, - { - "level": 56, - "icon": 8049, - "name": "Fancy Teak Dresser", - "xp": 182 - }, - { - "level": 56, - "icon": 8228, - "name": "Teak Shelves 1", - "xp": 330 - }, - { - "level": 57, - "icon": 8337, - "name": "Teak Eagle Lectern", - "xp": 180 - }, - { - "level": 57, - "icon": 8338, - "name": "Teak Demon Lectern", - "xp": 180 - }, - { - "level": 59, - "icon": 8154, - "name": "Limestone attack stone", - "xp": 200 - }, - { - "level": 59, - "icon": 8343, - "name": "Lunar Globe", - "xp": 570 - }, - { - "level": 60, - "icon": 8037, - "name": "Gilded 4-Poster Bed", - "xp": 1330 - }, - { - "level": 60, - "icon": 8101, - "name": "Posh Bell-Pull", - "xp": 420 - }, - { - "level": 60, - "icon": 24479, - "name": "Spice Rack", - "xp": 374 - }, - { - "level": 60, - "icon": 8178, - "name": "Yew Tree", - "xp": 141 - }, - { - "level": 61, - "icon": 8114, - "name": "Gilded Bench", - "xp": 1760 - }, - { - "level": 63, - "icon": 8042, - "name": "Teak Wardrobe", - "xp": 270 - }, - { - "level": 63, - "icon": 8327, - "name": "Marble Fireplace", - "xp": 500 - }, - { - "level": 63, - "icon": 8355, - "name": "Astronomical Chart", - "xp": 45 - }, - { - "level": 64, - "icon": 8349, - "name": "Teak Telescope", - "xp": 181 - }, - { - "level": 64, - "icon": 8050, - "name": "Mahogany Dresser", - "xp": 281 - }, - { - "level": 65, - "icon": 8329, - "name": "Mahogany Portal", - "xp": 420 - }, - { - "level": 65, - "icon": 8332, - "name": "Greater Focus", - "xp": 500 - }, - { - "level": 65, - "icon": 8318, - "name": "Opulent Rug", - "xp": 360 - }, - { - "level": 66, - "icon": 20649, - "name": "Teak Garden Bench", - "xp": 540 - }, - { - "level": 66, - "icon": 8353, - "name": "Crystal of Power", - "xp": 890 - }, - { - "level": 67, - "icon": 8229, - "name": "Teak Shelves 2", - "xp": 930 - }, - { - "level": 67, - "icon": 8338, - "name": "Mahogany Demon Lectern", - "xp": 580 - }, - { - "level": 67, - "icon": 8338, - "name": "Mahogany Eagle Lectern", - "xp": 580 - }, - { - "level": 68, - "icon": 8344, - "name": "Celestial Globe", - "xp": 570 - }, - { - "level": 70, - "icon": 8172, - "name": "Dungeon Entrance", - "xp": 500 - }, - { - "level": 71, - "icon": 8026, - "name": "Ranging Pedestals", - "xp": 720 - }, - { - "level": 72, - "icon": 8121, - "name": "Opulent Table", - "xp": 3100 - }, - { - "level": 74, - "icon": 8122, - "name": "Oak Door", - "xp": 600 - }, - { - "level": 74, - "icon": 8051, - "name": "Gilded Dresser", - "xp": 582 - }, - { - "level": 75, - "icon": 8043, - "name": "Mahogany Wardrobe", - "xp": 420 - }, - { - "level": 75, - "icon": 8179, - "name": "Magic Tree", - "xp": 223 - }, - { - "level": 77, - "icon": 8341, - "name": "Armillary Globe", - "xp": 960 - }, - { - "level": 77, - "icon": 20650, - "name": "Gnome Bench", - "xp": 840 - }, - { - "level": 80, - "icon": 8330, - "name": "Marble Portal", - "xp": 1500 - }, - { - "level": 80, - "icon": 8333, - "name": "Scrying Pool", - "xp": 2000 - }, - { - "level": 81, - "icon": 8027, - "name": "Balance Beam", - "xp": 1000 - }, - { - "level": 83, - "icon": 8356, - "name": "Infernal Chart", - "xp": 60 - }, - { - "level": 84, - "icon": 8350, - "name": "Mahogany Telescope", - "xp": 281 - }, - { - "level": 85, - "icon": 8054, - "name": "Gilded Clock", - "xp": 602 - }, - { - "level": 86, - "icon": 8346, - "name": "Small Orrery", - "xp": 1320 - }, - { - "level": 87, - "icon": 8044, - "name": "Gilded Wardrobe", - "xp": 720 - }, - { - "level": 95, - "icon": 8347, - "name": "Large Orrery", - "xp": 1420 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_cooking.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_cooking.json deleted file mode 100644 index 8e86a25a65..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_cooking.json +++ /dev/null @@ -1,742 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 9436, - "name": "Sinew", - "xp": 3 - }, - { - "level": 1, - "icon": 315, - "name": "Shrimps", - "xp": 30 - }, - { - "level": 1, - "icon": 2140, - "name": "Cooked Chicken", - "xp": 30 - }, - { - "level": 1, - "icon": 2142, - "name": "Cooked Meat", - "xp": 30 - }, - { - "level": 1, - "icon": 3228, - "name": "Cooked Rabbit", - "xp": 30 - }, - { - "level": 1, - "icon": 319, - "name": "Anchovies", - "xp": 30 - }, - { - "level": 1, - "icon": 325, - "name": "Sardine", - "xp": 40 - }, - { - "level": 1, - "icon": 3146, - "name": "Poison Karambwan", - "xp": 80 - }, - { - "level": 1, - "icon": 1861, - "name": "Ugthanki Meat", - "xp": 40 - }, - { - "level": 1, - "icon": 2309, - "name": "Bread", - "xp": 40 - }, - { - "level": 5, - "icon": 347, - "name": "Herring", - "xp": 50 - }, - { - "level": 6, - "icon": 2084, - "name": "Fruit Blast", - "xp": 50 - }, - { - "level": 7, - "icon": 6701, - "name": "Baked Potato", - "xp": 15 - }, - { - "level": 7, - "icon": 25654, - "name": "Guppy", - "xp": 12 - }, - { - "level": 8, - "icon": 2048, - "name": "Pineapple Punch", - "xp": 70 - }, - { - "level": 9, - "icon": 7072, - "name": "Spicy Sauce", - "xp": 25 - }, - { - "level": 10, - "icon": 355, - "name": "Mackerel", - "xp": 60 - }, - { - "level": 10, - "icon": 2325, - "name": "Redberry Pie", - "xp": 78 - }, - { - "level": 10, - "icon": 2217, - "name": "Toad Crunchies", - "xp": 100 - }, - { - "level": 11, - "icon": 7062, - "name": "Chilli Con Carne", - "xp": 55 - }, - { - "level": 11, - "icon": 9980, - "name": "Roast Bird Meat", - "xp": 62.5 - }, - { - "level": 12, - "icon": 3369, - "name": "Thin Snail Meat", - "xp": 70 - }, - { - "level": 12, - "icon": 2213, - "name": "Spicy Crunchies", - "xp": 100 - }, - { - "level": 13, - "icon": 7078, - "name": "Scrambled Egg", - "xp": 50 - }, - { - "level": 14, - "icon": 5763, - "name": "Cider", - "xp": 182 - }, - { - "level": 14, - "icon": 2205, - "name": "Worm Crunchies", - "xp": 104 - }, - { - "level": 15, - "icon": 333, - "name": "Trout", - "xp": 70 - }, - { - "level": 16, - "icon": 6293, - "name": "Spider on stick", - "xp": 80 - }, - { - "level": 16, - "icon": 6295, - "name": "Spider on shaft", - "xp": 80 - }, - { - "level": 16, - "icon": 7223, - "name": "Roast Rabbit", - "xp": 72.5 - }, - { - "level": 16, - "icon": 2209, - "name": "Chocchip crunchies", - "xp": 100 - }, - { - "level": 17, - "icon": 3371, - "name": "Lean Snail Meat", - "xp": 80 - }, - { - "level": 18, - "icon": 339, - "name": "Cod", - "xp": 75 - }, - { - "level": 18, - "icon": 2054, - "name": "Wizard Blizzard", - "xp": 110 - }, - { - "level": 19, - "icon": 1913, - "name": "Dwarven Stout", - "xp": 215 - }, - { - "level": 20, - "icon": 2080, - "name": "Short Green Guy", - "xp": 120 - }, - { - "level": 20, - "icon": 2327, - "name": "Meat Pie", - "xp": 110 - }, - { - "level": 20, - "icon": 351, - "name": "Pike", - "xp": 80 - }, - { - "level": 20, - "icon": 712, - "name": "Cup of tea", - "xp": 52 - }, - { - "level": 20, - "icon": 25660, - "name": "Cavefish", - "xp": 23 - }, - { - "level": 21, - "icon": 9988, - "name": "Roast Beast Meat", - "xp": 82.5 - }, - { - "level": 21, - "icon": 7521, - "name": "Cooked Crab Meat", - "xp": 100 - }, - { - "level": 21, - "icon": 2130, - "name": "Pot of cream", - "xp": 18 - }, - { - "level": 22, - "icon": 3373, - "name": "Fat Snail Meat", - "xp": 95 - }, - { - "level": 23, - "icon": 7064, - "name": "Egg And Tomato", - "xp": 50 - }, - { - "level": 24, - "icon": 1905, - "name": "Asgarnian Ale", - "xp": 248 - }, - { - "level": 25, - "icon": 329, - "name": "Salmon", - "xp": 90 - }, - { - "level": 25, - "icon": 2003, - "name": "Stew", - "xp": 117 - }, - { - "level": 25, - "icon": 2277, - "name": "Fruit Batta", - "xp": 150 - }, - { - "level": 26, - "icon": 2255, - "name": "Toad Batta", - "xp": 152 - }, - { - "level": 27, - "icon": 2253, - "name": "Worm Batta", - "xp": 154 - }, - { - "level": 28, - "icon": 2281, - "name": "Vegetable Batta", - "xp": 156 - }, - { - "level": 28, - "icon": 5988, - "name": "Sweetcorn", - "xp": 104 - }, - { - "level": 28, - "icon": 3381, - "name": "Cooked Slimy Eel", - "xp": 95 - }, - { - "level": 29, - "icon": 7170, - "name": "Mud Pie", - "xp": 128 - }, - { - "level": 29, - "icon": 1909, - "name": "Greenman's ale", - "xp": 281 - }, - { - "level": 29, - "icon": 2259, - "name": "Cheese and Tomato Batta", - "xp": 158 - }, - { - "level": 30, - "icon": 361, - "name": "Tuna", - "xp": 100 - }, - { - "level": 30, - "icon": 2323, - "name": "Apple Pie", - "xp": 130 - }, - { - "level": 30, - "icon": 2191, - "name": "Worm Hole", - "xp": 170 - }, - { - "level": 30, - "icon": 3144, - "name": "Cooked Karambwan", - "xp": 190 - }, - { - "level": 30, - "icon": 2878, - "name": "Roasted Chompy", - "xp": 100 - }, - { - "level": 31, - "icon": 7530, - "name": "Fishcake", - "xp": 100 - }, - { - "level": 32, - "icon": 2092, - "name": "Drunk Dragon", - "xp": 160 - }, - { - "level": 33, - "icon": 2074, - "name": "Choc Saturday", - "xp": 170 - }, - { - "level": 33, - "icon": 25666, - "name": "Tetra", - "xp": 31 - }, - { - "level": 34, - "icon": 7178, - "name": "Garden Pie", - "xp": 138 - }, - { - "level": 34, - "icon": 1907, - "name": "Wizard's mind bomb", - "xp": 314 - }, - { - "level": 35, - "icon": 1993, - "name": "Jug Of Wine", - "xp": 200 - }, - { - "level": 35, - "icon": 2289, - "name": "Plain Pizza", - "xp": 143 - }, - { - "level": 35, - "icon": 10136, - "name": "Rainbow Fish", - "xp": 110 - }, - { - "level": 35, - "icon": 2195, - "name": "Veg ball", - "xp": 175 - }, - { - "level": 37, - "icon": 2064, - "name": "Blurberry Special", - "xp": 180 - }, - { - "level": 38, - "icon": 5003, - "name": "Cave Eel", - "xp": 115 - }, - { - "level": 38, - "icon": 6697, - "name": "Pat of butter", - "xp": 40.5 - }, - { - "level": 39, - "icon": 1911, - "name": "Dragon Bitter", - "xp": 347 - }, - { - "level": 39, - "icon": 6703, - "name": "Potato with butter", - "xp": 40 - }, - { - "level": 40, - "icon": 379, - "name": "Lobster", - "xp": 120 - }, - { - "level": 40, - "icon": 1891, - "name": "Cake", - "xp": 180 - }, - { - "level": 40, - "icon": 2187, - "name": "Tangled toad's legs", - "xp": 185 - }, - { - "level": 41, - "icon": 7054, - "name": "Chilli Potato", - "xp": 165.5 - }, - { - "level": 41, - "icon": 7568, - "name": "Cooked Jubbly", - "xp": 160 - }, - { - "level": 42, - "icon": 2185, - "name": "Chocolate Bomb", - "xp": 190 - }, - { - "level": 42, - "icon": 7084, - "name": "Fried Onions", - "xp": 60 - }, - { - "level": 43, - "icon": 365, - "name": "Bass", - "xp": 130 - }, - { - "level": 44, - "icon": 2955, - "name": "Moonlight Mead", - "xp": 380 - }, - { - "level": 45, - "icon": 373, - "name": "Swordfish", - "xp": 140 - }, - { - "level": 45, - "icon": 2293, - "name": "Meat Pizza", - "xp": 169 - }, - { - "level": 46, - "icon": 7082, - "name": "Fried Mushrooms", - "xp": 60 - }, - { - "level": 46, - "icon": 25672, - "name": "Catfish", - "xp": 43 - }, - { - "level": 47, - "icon": 7188, - "name": "Fish Pie", - "xp": 164 - }, - { - "level": 47, - "icon": 6705, - "name": "Potato with cheese", - "xp": 40 - }, - { - "level": 48, - "icon": 1985, - "name": "Cheese", - "xp": 64 - }, - { - "level": 49, - "icon": 5751, - "name": "Axeman's folly", - "xp": 413 - }, - { - "level": 50, - "icon": 2343, - "name": "Cooked Oomlie Wrap", - "xp": 30 - }, - { - "level": 50, - "icon": 1897, - "name": "Chocolate Cake", - "xp": 210 - }, - { - "level": 51, - "icon": 7056, - "name": "Egg Potato", - "xp": 195.5 - }, - { - "level": 52, - "icon": 19662, - "name": "Botanical Pie", - "xp": 180 - }, - { - "level": 53, - "icon": 2149, - "name": "Lava Eel", - "xp": 30 - }, - { - "level": 54, - "icon": 5755, - "name": "Chef's Delight", - "xp": 446 - }, - { - "level": 55, - "icon": 2297, - "name": "Anchovy Pizza", - "xp": 182 - }, - { - "level": 57, - "icon": 7066, - "name": "Mushroom & onion", - "xp": 120 - }, - { - "level": 58, - "icon": 1883, - "name": "Ugthanki Kebab (Fresh)", - "xp": 80 - }, - { - "level": 58, - "icon": 1865, - "name": "Pitta Bread", - "xp": 40 - }, - { - "level": 59, - "icon": 5759, - "name": "Slayer's respite", - "xp": 479 - }, - { - "level": 60, - "icon": 2011, - "name": "Curry", - "xp": 280 - }, - { - "level": 60, - "icon": 21690, - "name": "Mushroom Pie", - "xp": 200 - }, - { - "level": 62, - "icon": 7946, - "name": "Monkfish", - "xp": 150 - }, - { - "level": 64, - "icon": 7058, - "name": "Mushroom Potato", - "xp": 270.5 - }, - { - "level": 65, - "icon": 2301, - "name": "Pineapple Pizza", - "xp": 188 - }, - { - "level": 65, - "icon": 245, - "name": "Wine of Zamorak", - "xp": 200 - }, - { - "level": 67, - "icon": 7068, - "name": "Tuna And Corn", - "xp": 204 - }, - { - "level": 68, - "icon": 7060, - "name": "Tuna Potato", - "xp": 309.5 - }, - { - "level": 70, - "icon": 7198, - "name": "Admiral Pie", - "xp": 210 - }, - { - "level": 72, - "icon": 13339, - "name": "Sacred Eel", - "xp": 109 - }, - { - "level": 73, - "icon": 22795, - "name": "Dragonfruit Pie", - "xp": 220 - }, - { - "level": 80, - "icon": 385, - "name": "Shark", - "xp": 210 - }, - { - "level": 82, - "icon": 397, - "name": "Sea Turtle", - "xp": 211.3 - }, - { - "level": 84, - "icon": 13441, - "name": "Anglerfish", - "xp": 230 - }, - { - "level": 85, - "icon": 7208, - "name": "Wild Pie", - "xp": 240 - }, - { - "level": 90, - "icon": 11936, - "name": "Dark Crab", - "xp": 215 - }, - { - "level": 91, - "icon": 391, - "name": "Manta Ray", - "xp": 216.3 - }, - { - "level": 95, - "icon": 7218, - "name": "Summer Pie", - "xp": 260 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json deleted file mode 100644 index d8e6c6e9d2..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json +++ /dev/null @@ -1,809 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 1759, - "name": "Ball Of Wool", - "xp": 2.5 - }, - { - "level": 1, - "icon": 1787, - "name": "Unfired pot", - "xp": 6.3 - }, - { - "level": 1, - "icon": 1931, - "name": "Pot", - "xp": 6.3 - }, - { - "level": 1, - "icon": 1059, - "name": "Leather Gloves", - "xp": 13.8 - }, - { - "level": 1, - "icon": 1609, - "name": "Opal", - "xp": 15 - }, - { - "level": 1, - "icon": 21081, - "name": "Opal Ring", - "xp": 10 - }, - { - "level": 1, - "icon": 1775, - "name": "Molten Glass", - "xp": 20 - }, - { - "level": 1, - "icon": 1919, - "name": "Beer Glass", - "xp": 17.5 - }, - { - "level": 4, - "icon": 4527, - "name": "Empty Candle Lantern", - "xp": 19 - }, - { - "level": 5, - "icon": 1635, - "name": "Gold Ring", - "xp": 15 - }, - { - "level": 5, - "icon": 21512, - "name": "Bird House", - "xp": 15 - }, - { - "level": 6, - "icon": 1654, - "name": "Gold Necklace", - "xp": 20 - }, - { - "level": 7, - "icon": 1061, - "name": "Leather Boots", - "xp": 16.3 - }, - { - "level": 7, - "icon": 1789, - "name": "Unfired pie dish", - "xp": 15 - }, - { - "level": 7, - "icon": 2313, - "name": "Pie dish", - "xp": 10 - }, - { - "level": 7, - "icon": 11068, - "name": "Gold Bracelet", - "xp": 25 - }, - { - "level": 8, - "icon": 1791, - "name": "Unfired bowl", - "xp": 18 - }, - { - "level": 8, - "icon": 1923, - "name": "Bowl", - "xp": 15 - }, - { - "level": 8, - "icon": 1673, - "name": "Gold Amulet (U)", - "xp": 30 - }, - { - "level": 9, - "icon": 1167, - "name": "Cowl", - "xp": 18.5 - }, - { - "level": 10, - "icon": 9438, - "name": "Crossbow String", - "xp": 15 - }, - { - "level": 10, - "icon": 1777, - "name": "Bow String", - "xp": 15 - }, - { - "level": 11, - "icon": 1063, - "name": "Leather Vambraces", - "xp": 22 - }, - { - "level": 12, - "icon": 4525, - "name": "Empty Oil Lamp", - "xp": 25 - }, - { - "level": 13, - "icon": 1611, - "name": "Jade", - "xp": 20 - }, - { - "level": 13, - "icon": 21084, - "name": "Jade Ring", - "xp": 32 - }, - { - "level": 14, - "icon": 1129, - "name": "Leather Body", - "xp": 25 - }, - { - "level": 15, - "icon": 21515, - "name": "Oak Bird House", - "xp": 20 - }, - { - "level": 16, - "icon": 1613, - "name": "Red Topaz", - "xp": 25 - }, - { - "level": 16, - "icon": 21087, - "name": "Topaz Ring", - "xp": 35 - }, - { - "level": 16, - "icon": 1718, - "name": "Holy Symbol", - "xp": 50 - }, - { - "level": 16, - "icon": 21090, - "name": "Opal Necklace", - "xp": 35 - }, - - { - "level": 17, - "icon": 1724, - "name": "Unholy Symbol", - "xp": 50 - }, - { - "level": 18, - "icon": 1095, - "name": "Leather Chaps", - "xp": 27 - }, - { - "level": 19, - "icon": 5352, - "name": "Unfired plant pot", - "xp": 20 - }, - { - "level": 19, - "icon": 5350, - "name": "Empty plant pot", - "xp": 17.5 - }, - { - "level": 19, - "icon": 6038, - "name": "Magic String", - "xp": 30 - }, - { - "level": 20, - "icon": 1637, - "name": "Sapphire Ring", - "xp": 40 - }, - { - "level": 20, - "icon": 1607, - "name": "Sapphire", - "xp": 50 - }, - { - "level": 21, - "icon": 5418, - "name": "Empty Sack", - "xp": 38 - }, - { - "level": 22, - "icon": 1656, - "name": "Sapphire Necklace", - "xp": 55 - }, - { - "level": 22, - "icon": 21117, - "name": "Opal Bracelet", - "xp": 45 - }, - { - "level": 23, - "icon": 11071, - "name": "Sapphire Bracelet", - "xp": 60 - }, - { - "level": 23, - "icon": 5525, - "name": "Tiara", - "xp": 52.5 - }, - { - "level": 24, - "icon": 1675, - "name": "Sapphire Amulet (U)", - "xp": 65 - }, - { - "level": 25, - "icon": 4438, - "name": "Unfired pot lid", - "xp": 20 - }, - { - "level": 25, - "icon": 4440, - "name": "Pot lid", - "xp": 20 - }, - { - "level": 25, - "icon": 21093, - "name": "Jade Necklace", - "xp": 54 - }, - { - "level": 25, - "icon": 21518, - "name": "Willow Bird House", - "xp": 25 - }, - { - "level": 26, - "icon": 6209, - "name": "Drift Net", - "xp": 55 - }, - { - "level": 27, - "icon": 1605, - "name": "Emerald", - "xp": 67.5 - }, - { - "level": 27, - "icon": 1639, - "name": "Emerald Ring", - "xp": 55 - }, - { - "level": 27, - "icon": 21099, - "name": "Opal Amulet (U)", - "xp": 55 - }, - { - "level": 28, - "icon": 1131, - "name": "Hardleather Body", - "xp": 35 - }, - { - "level": 29, - "icon": 1658, - "name": "Emerald Necklace", - "xp": 60 - }, - { - "level": 29, - "icon": 21120, - "name": "Jade Bracelet", - "xp": 60 - }, - { - "level": 30, - "icon": 11076, - "name": "Emerald Bracelet", - "xp": 65 - }, - { - "level": 30, - "icon": 954, - "name": "Rope", - "xp": 25 - }, - { - "level": 31, - "icon": 1677, - "name": "Emerald Amulet (U)", - "xp": 70 - }, - { - "level": 32, - "icon": 10077, - "name": "Spiky Vambraces", - "xp": 6 - }, - { - "level": 32, - "icon": 21096, - "name": "Topaz Necklace", - "xp": 70 - }, - { - "level": 33, - "icon": 229, - "name": "Vial", - "xp": 35 - }, - { - "level": 34, - "icon": 1603, - "name": "Ruby", - "xp": 85 - }, - { - "level": 34, - "icon": 1641, - "name": "Ruby Ring", - "xp": 70 - }, - { - "level": 34, - "icon": 21102, - "name": "Jade Amulet (U)", - "xp": 70 - }, - { - "level": 35, - "icon": 6235, - "name": "Broodoo shield", - "xp": 100 - }, - { - "level": 35, - "icon": 21521, - "name": "Teak Bird House", - "xp": 30 - }, - { - "level": 36, - "icon": 5376, - "name": "Basket", - "xp": 56 - }, - { - "level": 38, - "icon": 1169, - "name": "Coif", - "xp": 37 - }, - { - "level": 38, - "icon": 21123, - "name": "Topaz Bracelet", - "xp": 75 - }, - { - "level": 40, - "icon": 1660, - "name": "Ruby Necklace", - "xp": 75 - }, - { - "level": 41, - "icon": 22269, - "name": "Hard leather shield", - "xp": 70 - }, - { - "level": 42, - "icon": 11085, - "name": "Ruby Bracelet", - "xp": 80 - }, - { - "level": 42, - "icon": 6668, - "name": "Fishbowl", - "xp": 42.5 - }, - { - "level": 43, - "icon": 1601, - "name": "Diamond", - "xp": 107.5 - }, - { - "level": 43, - "icon": 1643, - "name": "Diamond Ring", - "xp": 85 - }, - { - "level": 45, - "icon": 21105, - "name": "Topaz Amulet (U)", - "xp": 80 - }, - { - "level": 45, - "icon": 6328, - "name": "Snakeskin boots", - "xp": 30 - }, - { - "level": 45, - "icon": 22192, - "name": "Maple Bird House", - "xp": 35 - }, - { - "level": 46, - "icon": 567, - "name": "Unpowered Orb", - "xp": 52.5 - }, - { - "level": 47, - "icon": 6330, - "name": "Snakeskin vambraces", - "xp": 35 - }, - { - "level": 48, - "icon": 6326, - "name": "Snakeskin bandana", - "xp": 45 - }, - { - "level": 49, - "icon": 4542, - "name": "Lantern Lens", - "xp": 55 - }, - { - "level": 50, - "icon": 1679, - "name": "Ruby Amulet (U)", - "xp": 85 - }, - { - "level": 50, - "icon": 22195, - "name": "Mahogany Bird House", - "xp": 40 - }, - { - "level": 51, - "icon": 6324, - "name": "Snakeskin chaps", - "xp": 50 - }, - { - "level": 53, - "icon": 6322, - "name": "Snakeskin body", - "xp": 55 - }, - { - "level": 54, - "icon": 1395, - "name": "Water Battlestaff", - "xp": 100 - }, - { - "level": 55, - "icon": 1645, - "name": "Dragonstone Ring", - "xp": 100 - }, - { - "level": 55, - "icon": 1615, - "name": "Dragonstone", - "xp": 137.5 - }, - { - "level": 56, - "icon": 1662, - "name": "Diamond Necklace", - "xp": 90 - }, - { - "level": 56, - "icon": 22272, - "name": "Snakeskin shield", - "xp": 100 - }, - { - "level": 57, - "icon": 1065, - "name": "Green D'hide Vamb", - "xp": 62 - }, - { - "level": 58, - "icon": 11092, - "name": "Diamond Bracelet", - "xp": 95 - }, - { - "level": 58, - "icon": 1399, - "name": "Earth Battlestaff", - "xp": 112.5 - }, - { - "level": 60, - "icon": 1099, - "name": "Green D'hide Chaps", - "xp": 124 - }, - { - "level": 60, - "icon": 22198, - "name": "Yew Bird House", - "xp": 45 - }, - { - "level": 62, - "icon": 1393, - "name": "Fire Battlestaff", - "xp": 125 - }, - { - "level": 62, - "icon": 22275, - "name": "Green D'hide Shield", - "xp": 124 - }, - { - "level": 63, - "icon": 1135, - "name": "Green D'hide Body", - "xp": 186 - }, - { - "level": 66, - "icon": 1397, - "name": "Air Battlestaff", - "xp": 137.5 - }, - { - "level": 66, - "icon": 2487, - "name": "Blue D'hide Vamb", - "xp": 70 - }, - { - "level": 67, - "icon": 6575, - "name": "Onyx Ring", - "xp": 115 - }, - { - "level": 67, - "icon": 6573, - "name": "Onyx", - "xp": 167.5 - }, - { - "level": 68, - "icon": 2493, - "name": "Blue D'hide Chaps", - "xp": 140 - }, - { - "level": 69, - "icon": 22278, - "name": "Blue D'hide Shield", - "xp": 140 - }, - { - "level": 70, - "icon": 1681, - "name": "Diamond Amulet (U)", - "xp": 100 - }, - { - "level": 71, - "icon": 2499, - "name": "Blue D'hide Body", - "xp": 210 - }, - { - "level": 72, - "icon": 1664, - "name": "Dragonstone Necklace", - "xp": 105 - }, - { - "level": 73, - "icon": 2489, - "name": "Red D'hide Vamb", - "xp": 78 - }, - { - "level": 74, - "icon": 11115, - "name": "Dragonstone Bracelet", - "xp": 110 - }, - { - "level": 75, - "icon": 2495, - "name": "Red D'hide Chaps", - "xp": 156 - }, - { - "level": 75, - "icon": 22201, - "name": "Magic Bird House", - "xp": 50 - }, - { - "level": 76, - "icon": 22281, - "name": "Red D'hide Shield", - "xp": 156 - }, - { - "level": 77, - "icon": 2501, - "name": "Red D'hide Body", - "xp": 234 - }, - { - "level": 79, - "icon": 2491, - "name": "Black D'hide Vamb", - "xp": 86 - }, - { - "level": 80, - "icon": 1683, - "name": "Dragonstone Amulet (U)", - "xp": 150 - }, - { - "level": 82, - "icon": 2497, - "name": "Black D'hide Chaps", - "xp": 172 - }, - { - "level": 82, - "icon": 6577, - "name": "Onyx Necklace", - "xp": 120 - }, - { - "level": 83, - "icon": 21338, - "name": "Amethyst Bolt Tips", - "xp": 4 - }, - { - "level": 83, - "icon": 22284, - "name": "Black D'hide Shield", - "xp": 172 - }, - { - "level": 84, - "icon": 2503, - "name": "Black D'hide Body", - "xp": 258 - }, - { - "level": 84, - "icon": 11130, - "name": "Onyx Bracelet", - "xp": 125 - }, - { - "level": 85, - "icon": 21350, - "name": "Amethyst Arrowtips", - "xp": 4 - }, - { - "level": 87, - "icon": 21352, - "name": "Amethyst Javelin Heads", - "xp": 12 - }, - { - "level": 87, - "icon": 10973, - "name": "Light Orb", - "xp": 70 - }, - { - "level": 89, - "icon": 25853, - "name": "Amethyst Dart Tip", - "xp": 7.5 - }, - { - "level": 89, - "icon": 19538, - "name": "Zenyte Ring", - "xp": 150 - }, - { - "level": 89, - "icon": 19493, - "name": "Zenyte", - "xp": 200 - }, - { - "level": 90, - "icon": 6579, - "name": "Onyx Amulet (U)", - "xp": 165 - }, - { - "level": 90, - "icon": 22204, - "name": "Redwood Bird House", - "xp": 55 - }, - { - "level": 92, - "icon": 19535, - "name": "Zenyte Necklace", - "xp": 165 - }, - { - "level": 95, - "icon": 19492, - "name": "Zenyte Bracelet", - "xp": 180 - }, - { - "level": 98, - "icon": 19501, - "name": "Zenyte Amulet (U)", - "xp": 200 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_farming.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_farming.json deleted file mode 100644 index 70ac3b3444..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_farming.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "bonuses": [ - { - "name": "Farmer's Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 8180, - "name": "Plant", - "xp": 31 - }, - { - "level": 1, - "icon": 8186, - "name": "Fern (big plant)", - "xp": 31 - }, - { - "level": 1, - "icon": 8189, - "name": "Short Plant", - "xp": 31 - }, - { - "level": 1, - "icon": 8183, - "name": "Dock Leaf", - "xp": 31 - }, - { - "level": 1, - "icon": 8181, - "name": "Small Fern", - "xp": 70 - }, - { - "level": 1, - "icon": 8184, - "name": "Thistle", - "xp": 70 - }, - { - "level": 1, - "icon": 8187, - "name": "Bush", - "xp": 70 - }, - { - "level": 1, - "icon": 8190, - "name": "Large Leaf Bush", - "xp": 70 - }, - { - "level": 1, - "icon": 8191, - "name": "Huge Plant", - "xp": 100 - }, - { - "level": 1, - "icon": 8188, - "name": "Tall Plant", - "xp": 100 - }, - { - "level": 1, - "icon": 8185, - "name": "Reeds", - "xp": 100 - }, - { - "level": 1, - "icon": 8182, - "name": "Fern (small plant)", - "xp": 100 - }, - { - "level": 1, - "icon": 10847, - "name": "Winter Sq'irk", - "xp": 30 - }, - { - "level": 1, - "icon": 10844, - "name": "Spring Sq'irk", - "xp": 40 - }, - { - "level": 1, - "icon": 10846, - "name": "Autumn Sq'irk", - "xp": 50 - }, - { - "level": 1, - "icon": 10845, - "name": "Summer Sq'irk", - "xp": 60 - }, - { - "level": 1, - "icon": 1942, - "name": "Potatoes", - "xp": 8 - }, - { - "level": 5, - "icon": 1957, - "name": "Onions", - "xp": 10 - }, - { - "level": 7, - "icon": 1965, - "name": "Cabbages", - "xp": 10 - }, - { - "level": 9, - "icon": 249, - "name": "Guam Leaf", - "xp": 11 - }, - { - "level": 12, - "icon": 1982, - "name": "Tomatoes", - "xp": 12.5 - }, - { - "level": 14, - "icon": 251, - "name": "Marrentill", - "xp": 13.5 - }, - { - "level": 15, - "icon": 1521, - "name": "Oak Tree", - "xp": 481.3 - }, - { - "level": 19, - "icon": 253, - "name": "Tarromin", - "xp": 16 - }, - { - "level": 20, - "icon": 5986, - "name": "Sweetcorn", - "xp": 17 - }, - { - "level": 23, - "icon": 21504, - "name": "Giant seaweed", - "xp": 21 - }, - { - "level": 26, - "icon": 255, - "name": "Harralander", - "xp": 21.5 - }, - { - "level": 26, - "icon": 225, - "name": "Limpwurt Plant", - "xp": 40 - }, - { - "level": 27, - "icon": 1955, - "name": "Apple Tree", - "xp": 1221.5 - }, - { - "level": 29, - "icon": 3261, - "name": "Goutweed", - "xp": 105 - }, - { - "level": 30, - "icon": 1519, - "name": "Willow Tree", - "xp": 1481.5 - }, - { - "level": 31, - "icon": 5504, - "name": "Strawberries", - "xp": 26 - }, - { - "level": 32, - "icon": 257, - "name": "Ranarr Weed", - "xp": 27 - }, - { - "level": 33, - "icon": 1963, - "name": "Banana Tree", - "xp": 1778.5 - }, - { - "level": 35, - "icon": 6333, - "name": "Teak Tree", - "xp": 7315 - }, - { - "level": 38, - "icon": 2998, - "name": "Toadflax", - "xp": 34 - }, - { - "level": 39, - "icon": 2108, - "name": "Orange Tree", - "xp": 2505.7 - }, - { - "level": 42, - "icon": 5970, - "name": "Curry Tree", - "xp": 2946.9 - }, - { - "level": 44, - "icon": 259, - "name": "Irit Leaf", - "xp": 43 - }, - { - "level": 45, - "icon": 1517, - "name": "Maple Tree", - "xp": 3448.4 - }, - { - "level": 47, - "icon": 5982, - "name": "Watermelons", - "xp": 49 - }, - { - "level": 50, - "icon": 261, - "name": "Avantoe", - "xp": 54.5 - }, - { - "level": 51, - "icon": 2114, - "name": "Pineapple Plant", - "xp": 4662.7 - }, - { - "level": 55, - "icon": 6332, - "name": "Mahogany Tree", - "xp": 15783 - }, - { - "level": 56, - "icon": 263, - "name": "Kwuarm", - "xp": 69 - }, - { - "level": 57, - "icon": 5972, - "name": "Papaya Tree", - "xp": 6218.4 - }, - { - "level": 58, - "icon": 22932, - "name": "White lily", - "xp": 292 - }, - { - "level": 60, - "icon": 1515, - "name": "Yew Tree", - "xp": 7150.9 - }, - { - "level": 61, - "icon": 231, - "name": "Snape grass", - "xp": 82 - }, - { - "level": 62, - "icon": 3000, - "name": "Snapdragon", - "xp": 87.5 - }, - { - "level": 65, - "icon": 23044, - "name": "Hespori", - "xp": 12662 - }, - { - "level": 67, - "icon": 265, - "name": "Cadantine", - "xp": 106.5 - }, - { - "level": 68, - "icon": 5974, - "name": "Palm Tree", - "xp": 10260.6 - }, - { - "level": 72, - "icon": 5980, - "name": "Calquat Tree", - "xp": 12225.5 - }, - { - "level": 73, - "icon": 2481, - "name": "Lantadyme", - "xp": 134.5 - }, - { - "level": 74, - "icon": 23962, - "name": "Crystal Tree", - "xp": 13366 - }, - { - "level": 75, - "icon": 1513, - "name": "Magic Tree", - "xp": 13913.8 - }, - { - "level": 79, - "icon": 267, - "name": "Dwarf Weed", - "xp": 170.5 - }, - { - "level": 81, - "icon": 22929, - "name": "Dragonfruit Tree", - "xp": 17895 - }, - { - "level": 83, - "icon": 6063, - "name": "Spirit Tree", - "xp": 19501.3 - }, - { - "level": 85, - "icon": 22935, - "name": "Celastrus Tree", - "xp": 14334 - }, - { - "level": 85, - "icon": 269, - "name": "Torstol", - "xp": 199.5 - }, - { - "level": 90, - "icon": 19669, - "name": "Redwood Tree", - "xp": 22680 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_firemaking.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_firemaking.json deleted file mode 100644 index 37fe236443..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_firemaking.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "bonuses": [ - { - "name": "Pyromancer Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 1511, - "name": "Logs", - "xp": 40 - }, - { - "level": 1, - "icon": 2862, - "name": "Achey Tree Logs", - "xp": 40 - }, - { - "level": 15, - "icon": 1521, - "name": "Oak Logs", - "xp": 60 - }, - { - "level": 30, - "icon": 1519, - "name": "Willow Logs", - "xp": 90 - }, - { - "level": 35, - "icon": 6333, - "name": "Teak Logs", - "xp": 105 - }, - { - "level": 42, - "icon": 10810, - "name": "Arctic Pine Logs", - "xp": 125 - }, - { - "level": 45, - "icon": 1517, - "name": "Maple Logs", - "xp": 135 - }, - { - "level": 50, - "icon": 6332, - "name": "Mahogany Logs", - "xp": 157.5 - }, - { - "level": 60, - "icon": 1515, - "name": "Yew Logs", - "xp": 202.5 - }, - { - "level": 62, - "icon": 24691, - "name": "Blisterwood Logs", - "xp": 96 - }, - { - "level": 75, - "icon": 1513, - "name": "Magic Logs", - "xp": 303.8 - }, - { - "level": 90, - "icon": 19669, - "name": "Redwood Logs", - "xp": 350 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fishing.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fishing.json deleted file mode 100644 index 730be09d00..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fishing.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "bonuses": [ - { - "name": "Anglers Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 317, - "name": "Raw Shrimps", - "xp": 10 - }, - { - "level": 5, - "icon": 327, - "name": "Raw Sardine", - "xp": 20 - }, - { - "level": 5, - "icon": 3150, - "name": "Raw Karambwanji", - "xp": 5 - }, - { - "level": 7, - "icon": 25652, - "name": "Raw Guppy", - "xp": 8 - }, - { - "level": 10, - "icon": 345, - "name": "Raw Herring", - "xp": 30 - }, - { - "level": 15, - "icon": 321, - "name": "Raw Anchovies", - "xp": 40 - }, - { - "level": 16, - "icon": 353, - "name": "Raw Mackerel", - "xp": 20 - }, - { - "level": 20, - "icon": 335, - "name": "Raw Trout", - "xp": 50 - }, - { - "level": 20, - "icon": 25658, - "name": "Raw Cavefish", - "xp": 16 - }, - { - "level": 23, - "icon": 341, - "name": "Raw Cod", - "xp": 45 - }, - { - "level": 25, - "icon": 349, - "name": "Raw Pike", - "xp": 60 - }, - { - "level": 28, - "icon": 3379, - "name": "Raw Slimy Eel", - "xp": 65 - }, - { - "level": 30, - "icon": 331, - "name": "Raw Salmon", - "xp": 70 - }, - { - "level": 33, - "icon": 25664, - "name": "Raw Tetra", - "xp": 24 - }, - { - "level": 35, - "icon": 359, - "name": "Raw Tuna", - "xp": 80 - }, - { - "level": 38, - "icon": 10138, - "name": "Raw Rainbow Fish", - "xp": 80 - }, - { - "level": 38, - "icon": 5001, - "name": "Raw Cave Eel", - "xp": 80 - }, - { - "level": 40, - "icon": 377, - "name": "Raw Lobster", - "xp": 90 - }, - { - "level": 46, - "icon": 363, - "name": "Raw Bass", - "xp": 100 - }, - { - "level": 46, - "icon": 25670, - "name": "Raw Catfish", - "xp": 33 - }, - { - "level": 48, - "icon": 11328, - "name": "Leaping Trout", - "xp": 50 - }, - { - "level": 50, - "icon": 371, - "name": "Raw Swordfish", - "xp": 100 - }, - { - "level": 58, - "icon": 11330, - "name": "Leaping Salmon", - "xp": 70 - }, - { - "level": 62, - "icon": 7944, - "name": "Raw Monkfish", - "xp": 120 - }, - { - "level": 65, - "icon": 3142, - "name": "Raw Karambwan", - "xp": 50 - }, - { - "level": 70, - "icon": 11332, - "name": "Leaping Sturgeon", - "xp": 80 - }, - { - "level": 76, - "icon": 383, - "name": "Raw Shark", - "xp": 110 - }, - { - "level": 79, - "icon": 395, - "name": "Raw Sea Turtle", - "xp": 38 - }, - { - "level": 80, - "icon": 21293, - "name": "Infernal Eel", - "xp": 95 - }, - { - "level": 81, - "icon": 389, - "name": "Raw Manta Ray", - "xp": 46 - }, - { - "level": 82, - "icon": 13439, - "name": "Raw Anglerfish", - "xp": 120 - }, - { - "level": 82, - "icon": 21356, - "name": "Minnow", - "xp": 26.5 - }, - { - "level": 85, - "icon": 11934, - "name": "Raw Dark Crab", - "xp": 130 - }, - { - "level": 87, - "icon": 13339, - "name": "Sacred Eel", - "xp": 105 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json deleted file mode 100644 index 53e3042478..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json +++ /dev/null @@ -1,592 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 52, - "name": "Arrow Shaft", - "xp": 0.33 - }, - { - "level": 1, - "icon": 53, - "name": "Headless Arrow", - "xp": 1 - }, - { - "level": 1, - "icon": 882, - "name": "Bronze Arrow", - "xp": 1.3 - }, - { - "level": 5, - "icon": 2866, - "name": "Ogre Arrow", - "xp": 1 - }, - { - "level": 5, - "icon": 50, - "name": "Shortbow (U)", - "xp": 5 - }, - { - "level": 5, - "icon": 841, - "name": "Shortbow", - "xp": 5 - }, - { - "level": 9, - "icon": 877, - "name": "Bronze Bolts", - "xp": 0.5 - }, - { - "level": 9, - "icon": 9440, - "name": "Wooden Stock", - "xp": 6 - }, - { - "level": 9, - "icon": 9454, - "name": "Bronze Crossbow (U)", - "xp": 12 - }, - { - "level": 9, - "icon": 9174, - "name": "Bronze Crossbow", - "xp": 6 - }, - { - "level": 10, - "icon": 806, - "name": "Bronze Dart", - "xp": 1.8 - }, - { - "level": 10, - "icon": 839, - "name": "Longbow", - "xp": 10 - }, - { - "level": 10, - "icon": 48, - "name": "Longbow (U)", - "xp": 10 - }, - { - "level": 11, - "icon": 879, - "name": "Opal Bolts", - "xp": 1.6 - }, - { - "level": 15, - "icon": 884, - "name": "Iron Arrow", - "xp": 2.5 - }, - { - "level": 20, - "icon": 54, - "name": "Oak Shortbow (U)", - "xp": 16.5 - }, - { - "level": 20, - "icon": 843, - "name": "Oak Shortbow", - "xp": 16.5 - }, - { - "level": 22, - "icon": 807, - "name": "Iron Dart", - "xp": 3.8 - }, - { - "level": 24, - "icon": 9442, - "name": "Oak Stock", - "xp": 16 - }, - { - "level": 24, - "icon": 9456, - "name": "Blurite Crossbow (U)", - "xp": 32 - }, - { - "level": 24, - "icon": 9176, - "name": "Blurite Crossbow", - "xp": 16 - }, - { - "level": 25, - "icon": 56, - "name": "Oak Longbow (U)", - "xp": 25 - }, - { - "level": 25, - "icon": 845, - "name": "Oak Longbow", - "xp": 25 - }, - { - "level": 27, - "icon": 22251, - "name": "Oak Shield", - "xp": 50 - }, - { - "level": 30, - "icon": 886, - "name": "Steel Arrow", - "xp": 5 - }, - { - "level": 32, - "icon": 10158, - "name": "Kebbit Bolts", - "xp": 1 - }, - { - "level": 35, - "icon": 60, - "name": "Willow Shortbow (U)", - "xp": 33.3 - }, - { - "level": 35, - "icon": 849, - "name": "Willow Shortbow", - "xp": 33.3 - }, - { - "level": 37, - "icon": 808, - "name": "Steel Dart", - "xp": 7.5 - }, - { - "level": 39, - "icon": 9140, - "name": "Iron Bolts", - "xp": 1.5 - }, - { - "level": 39, - "icon": 9444, - "name": "Willow Stock", - "xp": 22 - }, - { - "level": 39, - "icon": 9457, - "name": "Iron Crossbow (U)", - "xp": 44 - }, - { - "level": 39, - "icon": 9177, - "name": "Iron Crossbow", - "xp": 22 - }, - { - "level": 40, - "icon": 58, - "name": "Willow Longbow (U)", - "xp": 41.5 - }, - { - "level": 40, - "icon": 847, - "name": "Willow Longbow", - "xp": 41.5 - }, - { - "level": 40, - "icon": 1391, - "name": "Battlestaff", - "xp": 80 - }, - { - "level": 41, - "icon": 880, - "name": "Pearl Bolts", - "xp": 3.2 - }, - { - "level": 42, - "icon": 22254, - "name": "Willow Shield", - "xp": 83 - }, - { - "level": 42, - "icon": 10159, - "name": "Long Kebbit Bolts", - "xp": 1.3 - }, - { - "level": 43, - "icon": 9145, - "name": "Silver Bolts", - "xp": 2.5 - }, - { - "level": 45, - "icon": 888, - "name": "Mithril Arrow", - "xp": 7.5 - }, - { - "level": 46, - "icon": 9141, - "name": "Steel Bolts", - "xp": 3.5 - }, - { - "level": 46, - "icon": 9446, - "name": "Teak Stock", - "xp": 27 - }, - { - "level": 46, - "icon": 9459, - "name": "Steel Crossbow (U)", - "xp": 54 - }, - { - "level": 46, - "icon": 9179, - "name": "Steel Crossbow", - "xp": 27 - }, - { - "level": 50, - "icon": 64, - "name": "Maple Shortbow (U)", - "xp": 50 - }, - { - "level": 50, - "icon": 853, - "name": "Maple Shortbow", - "xp": 50 - }, - { - "level": 51, - "icon": 881, - "name": "Barbed Bolts", - "xp": 9.5 - }, - { - "level": 52, - "icon": 809, - "name": "Mithril Dart", - "xp": 11.2 - }, - { - "level": 52, - "icon": 4150, - "name": "Broad Arrows", - "xp": 10 - }, - { - "level": 53, - "icon": 12926, - "name": "Toxic Blowpipe", - "xp": 120 - }, - { - "level": 54, - "icon": 9181, - "name": "Mith Crossbow", - "xp": 32 - }, - { - "level": 54, - "icon": 9448, - "name": "Maple Stock", - "xp": 32 - }, - { - "level": 54, - "icon": 9142, - "name": "Mithril Bolts", - "xp": 5 - }, - { - "level": 54, - "icon": 9461, - "name": "Mithril Crossbow (U)", - "xp": 64 - }, - { - "level": 55, - "icon": 62, - "name": "Maple Longbow (U)", - "xp": 58.3 - }, - { - "level": 55, - "icon": 11875, - "name": "Broad Bolts", - "xp": 3 - }, - { - "level": 55, - "icon": 851, - "name": "Maple Longbow", - "xp": 58 - }, - { - "level": 56, - "icon": 9337, - "name": "Sapphire Bolts", - "xp": 4.7 - }, - { - "level": 57, - "icon": 22257, - "name": "Maple Shield", - "xp": 116.5 - }, - { - "level": 58, - "icon": 9338, - "name": "Emerald Bolts", - "xp": 5.5 - }, - { - "level": 60, - "icon": 890, - "name": "Adamant Arrow", - "xp": 10 - }, - { - "level": 61, - "icon": 9143, - "name": "Adamant Bolts", - "xp": 7 - }, - { - "level": 61, - "icon": 9450, - "name": "Mahogany Stock", - "xp": 41 - }, - { - "level": 61, - "icon": 9463, - "name": "Adamant Crossbow (U)", - "xp": 82 - }, - { - "level": 61, - "icon": 9183, - "name": "Adamant Crossbow", - "xp": 41 - }, - { - "level": 63, - "icon": 9339, - "name": "Ruby Bolts", - "xp": 6.3 - }, - { - "level": 65, - "icon": 9340, - "name": "Diamond Bolts", - "xp": 7 - }, - { - "level": 65, - "icon": 857, - "name": "Yew Shortbow", - "xp": 67.5 - }, - { - "level": 65, - "icon": 68, - "name": "Yew Shortbow (U)", - "xp": 67.5 - }, - { - "level": 67, - "icon": 810, - "name": "Adamant Dart", - "xp": 15 - }, - { - "level": 69, - "icon": 9465, - "name": "Runite Crossbow (U)", - "xp": 100 - }, - { - "level": 69, - "icon": 9185, - "name": "Rune Crossbow", - "xp": 50 - }, - { - "level": 69, - "icon": 9452, - "name": "Yew Stock", - "xp": 50 - }, - { - "level": 69, - "icon": 9144, - "name": "Runite Bolts", - "xp": 10 - }, - { - "level": 70, - "icon": 855, - "name": "Yew Longbow", - "xp": 75 - }, - { - "level": 70, - "icon": 66, - "name": "Yew Longbow (U)", - "xp": 75 - }, - { - "level": 71, - "icon": 9341, - "name": "Dragonstone Bolts", - "xp": 8.2 - }, - { - "level": 72, - "icon": 22260, - "name": "Yew Shield", - "xp": 150 - }, - { - "level": 73, - "icon": 9342, - "name": "Onyx Bolts", - "xp": 9.4 - }, - { - "level": 75, - "icon": 892, - "name": "Rune Arrow", - "xp": 12.5 - }, - { - "level": 76, - "icon": 21316, - "name": "Amethyst Broad Bolts", - "xp": 10.6 - }, - { - "level": 78, - "icon": 21952, - "name": "Magic Stock", - "xp": 70 - }, - { - "level": 78, - "icon": 21921, - "name": "Dragon Crossbow (U)", - "xp": 135 - }, - { - "level": 78, - "icon": 21902, - "name": "Dragon Crossbow", - "xp": 70 - }, - { - "level": 80, - "icon": 861, - "name": "Magic Shortbow", - "xp": 83.3 - }, - { - "level": 80, - "icon": 72, - "name": "Magic Shortbow (U)", - "xp": 83.3 - }, - { - "level": 81, - "icon": 811, - "name": "Rune Dart", - "xp": 18.8 - }, - { - "level": 82, - "icon": 21326, - "name": "Amethyst Arrow", - "xp": 13.5 - }, - { - "level": 84, - "icon": 21930, - "name": "Dragon Bolts", - "xp": 12 - }, - { - "level": 84, - "icon": 21318, - "name": "Amethyst Javelin", - "xp": 13.5 - }, - { - "level": 85, - "icon": 859, - "name": "Magic Longbow", - "xp": 91.5 - }, - { - "level": 85, - "icon": 70, - "name": "Magic Longbow (U)", - "xp": 91.5 - }, - { - "level": 87, - "icon": 22263, - "name": "Magic Shield", - "xp": 183 - }, - { - "level": 90, - "icon": 25849, - "name": "Amethyst Dart", - "xp": 21 - }, - { - "level": 90, - "icon": 11212, - "name": "Dragon Arrow", - "xp": 15 - }, - { - "level": 92, - "icon": 22266, - "name": "Redwood Shield", - "xp": 216 - }, - { - "level": 95, - "icon": 11230, - "name": "Dragon Dart", - "xp": 25 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json deleted file mode 100644 index d91f14eccf..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "actions": [ - { - "level": 3, - "icon": 121, - "name": "Attack Potion (3)", - "xp": 25 - }, - { - "level": 3, - "icon": 249, - "name": "Guam Leaf", - "xp": 2.5 - }, - { - "level": 5, - "icon": 251, - "name": "Marrentill", - "xp": 3.8 - }, - { - "level": 5, - "icon": 175, - "name": "Antipoison (3)", - "xp": 37.5 - }, - { - "level": 8, - "icon": 4844, - "name": "Relicym's Balm (3)", - "xp": 40 - }, - { - "level": 11, - "icon": 253, - "name": "Tarromin", - "xp": 5 - }, - { - "level": 12, - "icon": 115, - "name": "Strength Potion (3)", - "xp": 50 - }, - { - "level": 15, - "icon": 3410, - "name": "Serum 207 (3)", - "xp": 50 - }, - { - "level": 18, - "icon": 4419, - "name": "Guthix Rest (3)", - "xp": 59 - }, - { - "level": 19, - "icon": 10142, - "name": "Guam tar", - "xp": 30 - }, - { - "level": 20, - "icon": 255, - "name": "Harralander", - "xp": 6.3 - }, - { - "level": 22, - "icon": 6472, - "name": "Compost Potion (3)", - "xp": 60 - }, - { - "level": 22, - "icon": 127, - "name": "Restore Potion (3)", - "xp": 62.5 - }, - { - "level": 25, - "icon": 257, - "name": "Ranarr Weed", - "xp": 7.5 - }, - { - "level": 26, - "icon": 3010, - "name": "Energy Potion (3)", - "xp": 67.5 - }, - { - "level": 30, - "icon": 2998, - "name": "Toadflax", - "xp": 8 - }, - { - "level": 30, - "icon": 133, - "name": "Defence Potion (3)", - "xp": 75 - }, - { - "level": 31, - "icon": 10143, - "name": "Marrentill tar", - "xp": 42.5 - }, - { - "level": 34, - "icon": 3034, - "name": "Agility Potion (3)", - "xp": 80 - }, - { - "level": 36, - "icon": 9741, - "name": "Combat Potion (3)", - "xp": 84 - }, - { - "level": 38, - "icon": 139, - "name": "Prayer Potion (3)", - "xp": 87.5 - }, - { - "level": 39, - "icon": 10144, - "name": "Tarromin tar", - "xp": 55 - }, - { - "level": 40, - "icon": 259, - "name": "Irit Leaf", - "xp": 8.8 - }, - { - "level": 44, - "icon": 10145, - "name": "Harralander tar", - "xp": 72.5 - }, - { - "level": 45, - "icon": 145, - "name": "Super Attack (3)", - "xp": 100 - }, - { - "level": 48, - "icon": 181, - "name": "Superantipoison (3)", - "xp": 106.3 - }, - { - "level": 48, - "icon": 261, - "name": "Avantoe", - "xp": 10 - }, - { - "level": 50, - "icon": 151, - "name": "Fishing Potion (3)", - "xp": 112.5 - }, - { - "level": 52, - "icon": 3018, - "name": "Super Energy (3)", - "xp": 117.5 - }, - { - "level": 53, - "icon": 10000, - "name": "Hunter Potion (3)", - "xp": 120 - }, - { - "level": 54, - "icon": 263, - "name": "Kwuarm", - "xp": 11.3 - }, - { - "level": 55, - "icon": 157, - "name": "Super Strength (3)", - "xp": 125 - }, - { - "level": 57, - "icon": 9022, - "name": "Magic Essence Potion (3)", - "xp": 130 - }, - { - "level": 59, - "icon": 3000, - "name": "Snapdragon", - "xp": 11.8 - }, - { - "level": 60, - "icon": 187, - "name": "Weapon Poison", - "xp": 137.5 - }, - { - "level": 63, - "icon": 3026, - "name": "Super Restore (3)", - "xp": 142.5 - }, - { - "level": 65, - "icon": 265, - "name": "Cadantine", - "xp": 12.5 - }, - { - "level": 65, - "icon": 10927, - "name": "Sanfew Serum (3)", - "xp": 160 - }, - { - "level": 66, - "icon": 163, - "name": "Super Defence (3)", - "xp": 150 - }, - { - "level": 67, - "icon": 2481, - "name": "Lantadyme", - "xp": 13.1 - }, - { - "level": 68, - "icon": 5945, - "name": "Antidote+ (3)", - "xp": 155 - }, - { - "level": 69, - "icon": 2454, - "name": "Antifire Potion (3)", - "xp": 157.5 - }, - { - "level": 70, - "icon": 23697, - "name": "Divine super attack potion(4)", - "xp:": 2 - }, - { - "level": 70, - "icon": 23721, - "name": "Divine super defence potion(4)", - "xp:": 2 - }, - { - "level": 70, - "icon": 23709, - "name": "Divine super strength potion(4)", - "xp:": 2 - }, - { - "level": 70, - "icon": 267, - "name": "Dwarf Weed", - "xp": 13.8 - }, - { - "level": 72, - "icon": 169, - "name": "Ranging Potion (3)", - "xp": 162.5 - }, - { - "level": 73, - "icon": 5937, - "name": "Weapon Poison (+)", - "xp": 165 - }, - { - "level": 74, - "icon": 23733, - "name": "Divine ranging potion(4)", - "xp:": 2 - }, - { - "level": 75, - "icon": 269, - "name": "Torstol", - "xp": 15 - }, - { - "level": 76, - "icon": 3042, - "name": "Magic Potion (3)", - "xp": 172.5 - }, - { - "level": 77, - "icon": 12627, - "name": "Stamina Potion (3)", - "xp": 76.5 - }, - { - "level": 77, - "icon": 12625, - "name": "Stamina Potion (4)", - "xp": 102 - }, - { - "level": 78, - "icon": 23745, - "name": "Divine magic potion(4)", - "xp:": 2 - }, - { - "level": 78, - "icon": 189, - "name": "Zamorak Brew (3)", - "xp": 175 - }, - { - "level": 79, - "icon": 5954, - "name": "Antidote++ (3)", - "xp": 177.5 - }, - { - "level": 80, - "icon": 22464, - "name": "Bastion Potion (3)", - "xp": 155 - }, - { - "level": 80, - "icon": 22452, - "name": "Battlemage Potion (3)", - "xp": 155 - }, - { - "level": 81, - "icon": 6687, - "name": "Saradomin Brew (3)", - "xp": 180 - }, - { - "level": 82, - "icon": 5940, - "name": "Weapon Poison (++)", - "xp": 190 - }, - { - "level": 84, - "icon": 11953, - "name": "Extended Antifire (3)", - "xp": 82.5 - }, - { - "level": 84, - "icon": 11951, - "name": "Extended Antifire (4)", - "xp": 110 - }, - { - "level": 86, - "icon": 24635, - "name": "Divine bastion potion(4)", - "xp:": 2 - }, - { - "level": 86, - "icon": 24623, - "name": "Divine battlemage potion(4)", - "xp:": 2 - }, - { - "level": 87, - "icon": 12907, - "name": "Anti-venom(3)", - "xp": 90 - }, - { - "level": 87, - "icon": 12905, - "name": "Anti-venom(4)", - "xp": 120 - }, - { - "level": 90, - "icon": 12695, - "name": "Super Combat Potion(4)", - "xp": 150 - }, - { - "level": 92, - "icon": 21978, - "name": "Super Antifire (4)", - "xp": 130 - }, - { - "level": 94, - "icon": 12913, - "name": "Anti-venom+(4)", - "xp": 125 - }, - { - "level": 97, - "icon": 23685, - "name": "Divine super combat potion(4)", - "xp:": 2 - }, - { - "level": 98, - "icon": 21981, - "name": "Extended Super Antifire (3)", - "xp": 120 - }, - { - "level": 98, - "icon": 21978, - "name": "Extended Super Antifire (4)", - "xp": 160 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_hunter.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_hunter.json deleted file mode 100644 index a50c2164d6..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_hunter.json +++ /dev/null @@ -1,352 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 9965, - "name": "Crimson Swift", - "xp": 34 - }, - { - "level": 1, - "icon": 9953, - "name": "Polar Kebbit", - "xp": 30 - }, - { - "level": 3, - "icon": 9954, - "name": "Common Kebbit", - "xp": 36 - }, - { - "level": 5, - "icon": 9968, - "name": "Golden Warbler", - "xp": 47 - }, - { - "level": 5, - "icon": 21512, - "name": "Regular Bird House", - "xp": 280 - }, - { - "level": 7, - "icon": 9955, - "name": "Feldip Weasel", - "xp": 48 - }, - { - "level": 9, - "icon": 9966, - "name": "Copper Longtail", - "xp": 61 - }, - { - "level": 11, - "icon": 9967, - "name": "Cerulean Twitch", - "xp": 64.5 - }, - { - "level": 13, - "icon": 9956, - "name": "Desert Devil", - "xp": 66 - }, - { - "level": 14, - "icon": 21515, - "name": "Oak Bird House", - "xp": 420 - }, - { - "level": 15, - "icon": 9970, - "name": "Ruby Harvest", - "xp": 24 - }, - { - "level": 17, - "icon": 11238, - "name": "Baby Impling", - "xp": 18 - }, - { - "level": 19, - "icon": 9969, - "name": "Tropical Wagtail", - "xp": 95 - }, - { - "level": 22, - "icon": 11240, - "name": "Young Impling", - "xp": 20 - }, - { - "level": 23, - "icon": 9953, - "name": "Wild Kebbit", - "xp": 128 - }, - { - "level": 24, - "icon": 21518, - "name": "Willow Bird House", - "xp": 560 - }, - { - "level": 25, - "icon": 9971, - "name": "Sapphire Glacialis", - "xp": 34 - }, - { - "level": 27, - "icon": 10092, - "name": "Ferret", - "xp": 115 - }, - { - "level": 27, - "icon": 9975, - "name": "White Rabbit", - "xp": 144 - }, - { - "level": 28, - "icon": 11242, - "name": "Gourmet Impling", - "xp": 22 - }, - { - "level": 29, - "icon": 10149, - "name": "Swamp Lizard", - "xp": 152 - }, - { - "level": 31, - "icon": 10045, - "name": "Spined Larupia", - "xp": 180 - }, - { - "level": 33, - "icon": 9958, - "name": "Barb-tailed Kebbit", - "xp": 168 - }, - { - "level": 34, - "icon": 21521, - "name": "Teak Bird House", - "xp": 700 - }, - { - "level": 35, - "icon": 9972, - "name": "Snowy Knight", - "xp": 44 - }, - { - "level": 36, - "icon": 11244, - "name": "Earth Impling", - "xp": 25 - }, - { - "level": 37, - "icon": 9957, - "name": "Prickly Kebbit", - "xp": 204 - }, - { - "level": 41, - "icon": 10051, - "name": "Horned Graahk", - "xp": 240 - }, - { - "level": 42, - "icon": 11246, - "name": "Essence Impling", - "xp": 27 - }, - { - "level": 43, - "icon": 9960, - "name": "Spotted Kebbit", - "xp": 104 - }, - { - "level": 44, - "icon": 22192, - "name": "Maple Bird House", - "xp": 820 - }, - { - "level": 45, - "icon": 9973, - "name": "Black Warlock", - "xp": 54 - }, - { - "level": 47, - "icon": 10146, - "name": "Orange Salamander", - "xp": 224 - }, - { - "level": 49, - "icon": 9961, - "name": "Razor-backed Kebbit", - "xp": 348 - }, - { - "level": 49, - "icon": 22195, - "name": "Mahogany Bird House", - "xp": 960 - }, - { - "level": 50, - "icon": 11248, - "name": "Eclectic Impling", - "xp": 32 - }, - { - "level": 51, - "icon": 9959, - "name": "Sabre-toothed Kebbit", - "xp": 200 - }, - { - "level": 53, - "icon": 9976, - "name": "Chinchompa", - "xp": 198.3 - }, - { - "level": 55, - "icon": 10039, - "name": "Sabre-toothed Kyatt", - "xp": 300 - }, - { - "level": 57, - "icon": 9963, - "name": "Dark Kebbit", - "xp": 132 - }, - { - "level": 58, - "icon": 11250, - "name": "Nature Impling", - "xp": 34 - }, - { - "level": 59, - "icon": 10147, - "name": "Red Salamander", - "xp": 272 - }, - { - "level": 59, - "icon": 22198, - "name": "Yew Bird House", - "xp": 1020 - }, - { - "level": 60, - "icon": 19556, - "name": "Maniacal Monkey", - "xp": 1000 - }, - { - "level": 63, - "icon": 9977, - "name": "Carnivorous Chinchompa", - "xp": 265 - }, - { - "level": 65, - "icon": 11252, - "name": "Magpie Impling", - "xp": 44 - }, - { - "level": 65, - "icon": 11252, - "name": "Magpie Impling (Gielinor)", - "xp": 216 - }, - { - "level": 67, - "icon": 10148, - "name": "Black Salamander", - "xp": 319.5 - }, - { - "level": 69, - "icon": 9964, - "name": "Dashing Kebbit", - "xp": 156 - }, - { - "level": 73, - "icon": 5091, - "name": "Black Chinchompa", - "xp": 315 - }, - { - "level": 74, - "icon": 22201, - "name": "Magic Bird House", - "xp": 1140 - }, - { - "level": 74, - "icon": 11254, - "name": "Ninja Impling", - "xp": 52 - }, - { - "level": 74, - "icon": 11254, - "name": "Ninja Impling (Gielinor)", - "xp": 240 - }, - { - "level": 80, - "icon": 23768, - "name": "Crystal Impling", - "xp": 280 - }, - { - "level": 83, - "icon": 11256, - "name": "Dragon Impling", - "xp": 65 - }, - { - "level": 83, - "icon": 11256, - "name": "Dragon Impling (Gielinor)", - "xp": 300 - }, - { - "level": 89, - "icon": 22204, - "name": "Redwood Bird House", - "xp": 1200 - }, - { - "level": 89, - "icon": 19732, - "name": "Lucky Impling", - "xp": 380 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_magic.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_magic.json deleted file mode 100644 index c127933d7c..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_magic.json +++ /dev/null @@ -1,1084 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "sprite": 15, - "name": "Wind Strike", - "xp": 5.5 - }, - { - "level": 3, - "sprite": 16, - "name": "Confuse", - "xp": 13 - }, - { - "level": 4, - "sprite": 358, - "name": "Enchant Opal Bolt", - "xp": 9 - }, - { - "level": 5, - "sprite": 17, - "name": "Water Strike", - "xp": 7.5 - }, - { - "level": 6, - "sprite": 1252, - "name": "Arceuus Library Teleport", - "xp": 10 - }, - { - "level": 7, - "sprite": 18, - "name": "Enchant Sapphire Jewellery", - "xp": 17.5 - }, - { - "level": 7, - "sprite": 358, - "name": "Enchant Sapphire Bolt", - "xp": 17.5 - }, - { - "level": 9, - "sprite": 19, - "name": "Earth Strike", - "xp": 9.5 - }, - { - "level": 11, - "sprite": 20, - "name": "Weaken", - "xp": 21 - }, - { - "level": 13, - "sprite": 21, - "name": "Fire Strike", - "xp": 11.5 - }, - { - "level": 14, - "sprite": 358, - "name": "Enchant Jade Bolt", - "xp": 19 - }, - { - "level": 15, - "sprite": 22, - "name": "Bones To Bananas", - "xp": 25 - }, - { - "level": 16, - "sprite": 1247, - "name": "Basic Reanimation", - "xp": 32 - }, - { - "level": 17, - "sprite": 1253, - "name": "Draynor Manor Teleport", - "xp": 16 - }, - { - "level": 17, - "sprite": 23, - "name": "Wind Bolt", - "xp": 13.5 - }, - { - "level": 19, - "sprite": 24, - "name": "Curse", - "xp": 29 - }, - { - "level": 20, - "sprite": 319, - "name": "Bind", - "xp": 30 - }, - { - "level": 21, - "sprite": 25, - "name": "Low Level Alchemy", - "xp": 31 - }, - { - "level": 23, - "sprite": 26, - "name": "Water Bolt", - "xp": 16.5 - }, - { - "level": 24, - "sprite": 358, - "name": "Enchant Pearl Bolt", - "xp": 29 - }, - { - "level": 25, - "sprite": 27, - "name": "Varrock Teleport", - "xp": 35 - }, - { - "level": 27, - "sprite": 28, - "name": "Enchant Emerald Jewellery", - "xp": 37 - }, - { - "level": 27, - "sprite": 358, - "name": "Enchant Emerald Bolt", - "xp": 37 - }, - { - "level": 28, - "sprite": 1256, - "name": "Mind Altar Teleport", - "xp": 22 - }, - { - "level": 29, - "sprite": 358, - "name": "Enchant Topaz Bolt", - "xp": 33 - }, - { - "level": 29, - "sprite": 29, - "name": "Earth Bolt", - "xp": 19.5 - }, - { - "level": 31, - "sprite": 30, - "name": "Lumbridge Teleport", - "xp": 41 - }, - { - "level": 33, - "sprite": 31, - "name": "Telekinetic Grab", - "xp": 43 - }, - { - "level": 34, - "sprite": 1257, - "name": "Respawn Teleport", - "xp": 27 - }, - { - "level": 35, - "sprite": 32, - "name": "Fire Bolt", - "xp": 22.5 - }, - { - "level": 35, - "sprite": 1267, - "name": "Ghostly Grasp", - "xp": 22.5 - }, - { - "level": 37, - "sprite": 33, - "name": "Falador Teleport", - "xp": 48 - }, - { - "level": 38, - "sprite": 1270, - "name": "Resurrect Lesser Thrall", - "xp": 55 - }, - { - "level": 39, - "sprite": 34, - "name": "Crumble Undead", - "xp": 24.5 - }, - { - "level": 40, - "sprite": 1254, - "name": "Salve Graveyard Teleport", - "xp": 30 - }, - { - "level": 40, - "sprite": 355, - "name": "Teleport To House", - "xp": 30 - }, - { - "level": 41, - "sprite": 1248, - "name": "Adept Reanimation", - "xp": 80 - }, - { - "level": 41, - "sprite": 35, - "name": "Wind Blast", - "xp": 25.5 - }, - { - "level": 43, - "sprite": 36, - "name": "Superheat Item", - "xp": 53 - }, - { - "level": 44, - "sprite": 1302, - "name": "Inferior Demonbane", - "xp": 27 - }, - { - "level": 45, - "sprite": 37, - "name": "Camelot Teleport", - "xp": 55.5 - }, - { - "level": 47, - "sprite": 38, - "name": "Water Blast", - "xp": 28.5 - }, - { - "level": 47, - "sprite": 1315, - "name": "Shadow Veil", - "xp": 58 - }, - { - "level": 48, - "sprite": 1259, - "name": "Fenkenstrain's Castle Teleport", - "xp": 50 - }, - { - "level": 49, - "sprite": 39, - "name": "Enchant Ruby Jewellery", - "xp": 59 - }, - { - "level": 49, - "sprite": 358, - "name": "Enchant Ruby Bolt", - "xp": 59 - }, - { - "level": 50, - "sprite": 53, - "name": "Iban Blast", - "xp": 30 - }, - { - "level": 50, - "sprite": 329, - "name": "Smoke Rush", - "xp": 30 - }, - { - "level": 50, - "sprite": 324, - "name": "Magic Dart", - "xp": 30 - }, - { - "level": 50, - "sprite": 320, - "name": "Snare", - "xp": 60 - }, - { - "level": 50, - "sprite": 1316, - "name": "Dark Lure", - "xp": 60 - }, - { - "level": 51, - "sprite": 54, - "name": "Ardougne Teleport", - "xp": 61 - }, - { - "level": 52, - "sprite": 337, - "name": "Shadow Rush", - "xp": 31 - }, - { - "level": 53, - "sprite": 40, - "name": "Earth Blast", - "xp": 31.5 - }, - { - "level": 54, - "sprite": 341, - "name": "Paddewwa Teleport", - "xp": 64 - }, - { - "level": 55, - "sprite": 41, - "name": "High Level Alchemy", - "xp": 65 - }, - { - "level": 56, - "sprite": 42, - "name": "Charge Water Orb", - "xp": 66 - }, - { - "level": 56, - "sprite": 333, - "name": "Blood Rush", - "xp": 33 - }, - { - "level": 56, - "sprite": 1268, - "name": "Skeletal Grasp", - "xp": 33 - }, - { - "level": 57, - "sprite": 358, - "name": "Enchant Diamond Bolt", - "xp": 67 - }, - { - "level": 57, - "sprite": 43, - "name": "Enchant Diamond Jewellery", - "xp": 67 - }, - { - "level": 57, - "sprite": 2981, - "name": "Resurrect Superior Thrall", - "xp": 70 - }, - { - "level": 58, - "sprite": 55, - "name": "Watchtower Teleport", - "xp": 68 - }, - { - "level": 58, - "sprite": 325, - "name": "Ice Rush", - "xp": 34 - }, - { - "level": 59, - "sprite": 44, - "name": "Fire Blast", - "xp": 34.5 - }, - { - "level": 59, - "sprite": 1305, - "name": "Mark of Darkness", - "xp": 70 - }, - { - "level": 60, - "sprite": 342, - "name": "Senntisten Teleport", - "xp": 70 - }, - { - "level": 60, - "sprite": 60, - "name": "Claws Of Guthix", - "xp": 35 - }, - { - "level": 60, - "sprite": 59, - "name": "Flames Of Zamorak", - "xp": 35 - }, - { - "level": 60, - "sprite": 61, - "name": "Saradomin Strike", - "xp": 35 - }, - { - "level": 60, - "sprite": 45, - "name": "Charge Earth Orb", - "xp": 70 - }, - { - "level": 60, - "sprite": 354, - "name": "Bones To Peaches", - "xp": 35.5 - }, - { - "level": 61, - "sprite": 1260, - "name": "West Ardougne Teleport", - "xp": 68 - }, - { - "level": 61, - "sprite": 323, - "name": "Trollheim Teleport", - "xp": 68 - }, - { - "level": 62, - "sprite": 330, - "name": "Smoke Burst", - "xp": 36 - }, - { - "level": 62, - "sprite": 46, - "name": "Wind Wave", - "xp": 36 - }, - { - "level": 62, - "sprite": 1303, - "name": "Superior Demonbane", - "xp": 36 - }, - { - "level": 63, - "sprite": 47, - "name": "Charge Fire Orb", - "xp": 73 - }, - { - "level": 64, - "sprite": 338, - "name": "Shadow Burst", - "xp": 37 - }, - { - "level": 64, - "sprite": 357, - "name": "Teleport Ape Atoll", - "xp": 74 - }, - { - "level": 64, - "sprite": 1307, - "name": "Lesser Corruption", - "xp": 75 - }, - { - "level": 65, - "sprite": 543, - "name": "Bake Pie", - "xp": 60 - }, - { - "level": 65, - "sprite": 1261, - "name": "Harmony Island Teleport", - "xp": 74 - }, - { - "level": 65, - "sprite": 563, - "name": "Geomancy", - "xp": 60 - }, - { - "level": 65, - "sprite": 48, - "name": "Water Wave", - "xp": 37.5 - }, - { - "level": 66, - "sprite": 49, - "name": "Charge Air Orb", - "xp": 76 - }, - { - "level": 66, - "sprite": 567, - "name": "Cure Plant", - "xp": 60 - }, - { - "level": 66, - "sprite": 343, - "name": "Kharyrll Teleport", - "xp": 76 - }, - { - "level": 66, - "sprite": 56, - "name": "Vulnerability", - "xp": 76 - }, - { - "level": 66, - "sprite": 577, - "name": "Monster Examine", - "xp": 61 - }, - { - "level": 66, - "sprite": 1317, - "name": "Vile Vigour", - "xp": 76 - }, - { - "level": 67, - "sprite": 568, - "name": "Npc Contact", - "xp": 63 - }, - { - "level": 68, - "sprite": 334, - "name": "Blood Burst", - "xp": 39 - }, - { - "level": 68, - "sprite": 559, - "name": "Cure Other", - "xp": 65 - }, - { - "level": 68, - "sprite": 50, - "name": "Enchant Dragonstone Jewellery", - "xp": 78 - }, - { - "level": 68, - "sprite": 358, - "name": "Enchant Dragonstone Bolt", - "xp": 78 - }, - { - "level": 68, - "sprite": 578, - "name": "Humidify", - "xp": 65 - }, - { - "level": 69, - "sprite": 544, - "name": "Moonclan Teleport", - "xp": 66 - }, - { - "level": 70, - "sprite": 51, - "name": "Earth Wave", - "xp": 40 - }, - { - "level": 70, - "sprite": 326, - "name": "Ice Burst", - "xp": 40 - }, - { - "level": 70, - "sprite": 569, - "name": "Tele Group Moonclan", - "xp": 67 - }, - { - "level": 70, - "sprite": 1318, - "name": "Degrime", - "xp": 83 - }, - { - "level": 71, - "sprite": 586, - "name": "Ourania Teleport", - "xp": 69 - }, - { - "level": 71, - "sprite": 1264, - "name": "Cemetery Teleport", - "xp": 82 - }, - { - "level": 71, - "sprite": 562, - "name": "Cure Me", - "xp": 69 - }, - { - "level": 71, - "sprite": 579, - "name": "Hunter Kit", - "xp": 70 - }, - { - "level": 72, - "sprite": 1249, - "name": "Expert Reanimation", - "xp": 138 - }, - { - "level": 72, - "sprite": 344, - "name": "Lassar Teleport", - "xp": 82 - }, - { - "level": 72, - "sprite": 545, - "name": "Waterbirth Teleport", - "xp": 71 - }, - { - "level": 73, - "sprite": 570, - "name": "Tele Group Waterbirth", - "xp": 72 - }, - { - "level": 73, - "sprite": 57, - "name": "Enfeeble", - "xp": 83 - }, - { - "level": 73, - "sprite": 1306, - "name": "Ward of Arceuus", - "xp": 83 - }, - { - "level": 74, - "sprite": 349, - "name": "Teleother Lumbridge", - "xp": 84 - }, - { - "level": 74, - "sprite": 331, - "name": "Smoke Blitz", - "xp": 42 - }, - { - "level": 74, - "sprite": 565, - "name": "Cure Group", - "xp": 74 - }, - { - "level": 75, - "sprite": 576, - "name": "Stat Spy", - "xp": 76 - }, - { - "level": 75, - "sprite": 547, - "name": "Barbarian Teleport", - "xp": 76 - }, - { - "level": 75, - "sprite": 52, - "name": "Fire Wave", - "xp": 42.5 - }, - { - "level": 76, - "sprite": 575, - "name": "Tele Group Barbarian", - "xp": 77 - }, - { - "level": 76, - "sprite": 339, - "name": "Shadow Blitz", - "xp": 43 - }, - { - "level": 76, - "sprite": 585, - "name": "Spin Flax", - "xp": 75 - }, - { - "level": 76, - "sprite": 2984, - "name": "Resurrect Greater Thrall", - "xp": 88 - }, - { - "level": 77, - "sprite": 548, - "name": "Superglass Make", - "xp": 78 - }, - { - "level": 78, - "sprite": 583, - "name": "Tan Leather", - "xp": 81 - }, - { - "level": 78, - "sprite": 549, - "name": "Khazard Teleport", - "xp": 80 - }, - { - "level": 78, - "sprite": 345, - "name": "Dareeyak Teleport", - "xp": 88 - }, - { - "level": 78, - "sprite": 1266, - "name": "Resurrect Crops", - "xp": 90 - }, - { - "level": 79, - "sprite": 321, - "name": "Entangle", - "xp": 89 - }, - { - "level": 79, - "sprite": 572, - "name": "Tele Group Khazard", - "xp": 81 - }, - { - "level": 79, - "sprite": 580, - "name": "Dream", - "xp": 82 - }, - { - "level": 79, - "sprite": 1269, - "name": "Undead Grasp", - "xp": 46.5 - }, - { - "level": 80, - "sprite": 322, - "name": "Charge", - "xp": 180 - }, - { - "level": 80, - "sprite": 335, - "name": "Blood Blitz", - "xp": 45 - }, - { - "level": 80, - "sprite": 58, - "name": "Stun", - "xp": 90 - }, - { - "level": 80, - "sprite": 550, - "name": "String Jewellery", - "xp": 83 - }, - { - "level": 80, - "sprite": 1310, - "name": "Death Charge", - "xp": 90 - }, - { - "level": 81, - "sprite": 554, - "name": "Stat Restore Pot Share", - "xp": 84 - }, - { - "level": 81, - "sprite": 362, - "name": "Wind Surge", - "xp": 44 - }, - { - "level": 82, - "sprite": 350, - "name": "Teleother Falador", - "xp": 92 - }, - { - "level": 82, - "sprite": 552, - "name": "Magic Imbue", - "xp": 86 - }, - { - "level": 82, - "sprite": 327, - "name": "Ice Blitz", - "xp": 46 - }, - { - "level": 82, - "sprite": 1304, - "name": "Dark Demonbane", - "xp": 43.5 - }, - { - "level": 83, - "sprite": 553, - "name": "Fertile Soil", - "xp": 87 - }, - { - "level": 83, - "sprite": 1262, - "name": "Barrows Teleport", - "xp": 90 - }, - { - "level": 84, - "sprite": 346, - "name": "Carrallangar Teleport", - "xp": 82 - }, - { - "level": 84, - "sprite": 551, - "name": "Boost Potion Share", - "xp": 88 - }, - { - "level": 84, - "sprite": 1311, - "name": "Demonic Offering", - "xp": 175 - }, - { - "level": 85, - "sprite": 363, - "name": "Water Surge", - "xp": 46 - }, - { - "level": 85, - "sprite": 555, - "name": "Fishing Guild Teleport", - "xp": 89 - }, - { - "level": 85, - "sprite": 352, - "name": "Tele Block", - "xp": 80 - }, - { - "level": 85, - "sprite": 359, - "name": "Teleport To Bounty Target", - "xp": 45 - }, - { - "level": 85, - "sprite": 1308, - "name": "Greater Corruption", - "xp": 95 - }, - { - "level": 86, - "sprite": 332, - "name": "Smoke Barrage", - "xp": 48 - }, - { - "level": 86, - "sprite": 573, - "name": "Tele Group Fishing Guild", - "xp": 90 - }, - { - "level": 86, - "sprite": 581, - "name": "Plank Make", - "xp": 90 - }, - { - "level": 87, - "sprite": 556, - "name": "Catherby Teleport", - "xp": 92 - }, - { - "level": 87, - "sprite": 353, - "name": "Enchant Onyx Jewellery", - "xp": 97 - }, - { - "level": 87, - "sprite": 358, - "name": "Enchant Onyx Bolt", - "xp": 97 - }, - { - "level": 88, - "sprite": 340, - "name": "Shadow Barrage", - "xp": 48 - }, - { - "level": 88, - "sprite": 574, - "name": "Tele Group Catherby", - "xp": 93 - }, - { - "level": 89, - "sprite": 557, - "name": "Ice Plateau Teleport", - "xp": 96 - }, - { - "level": 89, - "sprite": 584, - "name": "Recharge Dragonstone", - "xp": 97.5 - }, - { - "level": 90, - "sprite": 347, - "name": "Annakarl Teleport", - "xp": 100 - }, - { - "level": 90, - "sprite": 364, - "name": "Earth Surge", - "xp": 48 - }, - { - "level": 90, - "sprite": 1250, - "name": "Master Reanimation", - "xp": 170 - }, - { - "level": 90, - "sprite": 575, - "name": "Tele Group Ice Plateau", - "xp": 99 - }, - { - "level": 90, - "sprite": 351, - "name": "Teleother Camelot", - "xp": 100 - }, - { - "level": 90, - "sprite": 1263, - "name": "Ape Atoll Teleport", - "xp": 100 - }, - { - "level": 91, - "sprite": 558, - "name": "Energy Transfer", - "xp": 100 - }, - { - "level": 92, - "sprite": 336, - "name": "Blood Barrage", - "xp": 51 - }, - { - "level": 92, - "sprite": 560, - "name": "Heal Other", - "xp": 101 - }, - { - "level": 92, - "sprite": 1312, - "name": "Sinister Offering", - "xp": 180 - }, - { - "level": 93, - "sprite": 561, - "name": "Vengeance Other", - "xp": 108 - }, - { - "level": 93, - "sprite": 361, - "name": "Enchant Zenyte Jewellery", - "xp": 110 - }, - { - "level": 94, - "sprite": 328, - "name": "Ice Barrage", - "xp": 52 - }, - { - "level": 94, - "sprite": 564, - "name": "Vengeance", - "xp": 112 - }, - { - "level": 95, - "sprite": 566, - "name": "Heal Group", - "xp": 124 - }, - { - "level": 95, - "sprite": 365, - "name": "Fire Surge", - "xp": 51 - }, - { - "level": 96, - "sprite": 348, - "name": "Ghorrock Teleport", - "xp": 106 - }, - { - "level": 96, - "sprite": 582, - "name": "Spellbook Swap", - "xp": 130 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_mining.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_mining.json deleted file mode 100644 index a944c4782f..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_mining.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "bonuses": [ - { - "name": "Prospector Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 434, - "name": "Clay", - "xp": 5 - }, - { - "level": 1, - "icon": 1436, - "name": "Rune Essence", - "xp": 5 - }, - { - "level": 1, - "icon": 436, - "name": "Copper Ore", - "xp": 17.5 - }, - { - "level": 1, - "icon": 438, - "name": "Tin Ore", - "xp": 17.5 - }, - { - "level": 10, - "icon": 3211, - "name": "Limestone", - "xp": 26.5 - }, - { - "level": 14, - "icon": 25683, - "name": "Barronite shards", - "xp": 16 - }, - { - "level": 14, - "icon": 25684, - "name": "Barronite deposit", - "xp": 32 - }, - { - "level": 15, - "icon": 440, - "name": "Iron Ore", - "xp": 35 - }, - { - "level": 20, - "icon": 442, - "name": "Silver Ore", - "xp": 40 - }, - { - "level": 30, - "icon": 7936, - "name": "Pure Essence", - "xp": 5 - }, - { - "level": 30, - "icon": 453, - "name": "Coal", - "xp": 50 - }, - { - "level": 35, - "icon": 6977, - "name": "Sandstone (10kg)", - "xp": 60 - }, - { - "level": 35, - "icon": 6975, - "name": "Sandstone (5kg)", - "xp": 50 - }, - { - "level": 35, - "icon": 6973, - "name": "Sandstone (2kg)", - "xp": 40 - }, - { - "level": 35, - "icon": 6971, - "name": "Sandstone (1kg)", - "xp": 30 - }, - { - "level": 38, - "icon": 13445, - "name": "Dense Essence Block", - "xp": 12 - }, - { - "level": 40, - "icon": 444, - "name": "Gold Ore", - "xp": 65 - }, - { - "level": 40, - "icon": 1629, - "name": "Gem Rocks", - "xp": 65 - }, - { - "level": 45, - "icon": 6979, - "name": "Granite (500g)", - "xp": 50 - }, - { - "level": 45, - "icon": 6981, - "name": "Granite (2kg)", - "xp": 60 - }, - { - "level": 45, - "icon": 6983, - "name": "Granite (5kg)", - "xp": 75 - }, - { - "level": 55, - "icon": 447, - "name": "Mithril Ore", - "xp": 80 - }, - { - "level": 70, - "icon": 1761, - "name": "Soft Clay", - "xp": 5 - }, - { - "level": 70, - "icon": 449, - "name": "Adamantite Ore", - "xp": 95 - }, - { - "level": 85, - "icon": 451, - "name": "Runite Ore", - "xp": 125 - }, - { - "level": 92, - "icon": 21347, - "name": "Amethyst", - "xp": 240 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_prayer.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_prayer.json deleted file mode 100644 index 9ebde37563..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_prayer.json +++ /dev/null @@ -1,397 +0,0 @@ -{ - "bonuses": [ - { - "name": "Lit Gilded Altar (350%)", - "value": 2.5 - }, - { - "name": "Ectofuntus (400%)", - "value": 3 - }, - { - "name": "Chaos Altar (700%)", - "value": 6 - }, - { - "name": "Morytania Diary 3 Shades(150%)", - "value": 0.5 - } - ], - "actions": [ - { - "level": 1, - "icon": 13447, - "name": "Ensouled Goblin Head", - "xp": 130, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13450, - "name": "Ensouled Monkey Head", - "xp": 182, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13453, - "name": "Ensouled Imp Head", - "xp": 286, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13456, - "name": "Ensouled Minotaur Head", - "xp": 364, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13459, - "name": "Ensouled Scorpion Head", - "xp": 454, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13462, - "name": "Ensouled Bear Head", - "xp": 480, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13465, - "name": "Ensouled Unicorn Head", - "xp": 494, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13468, - "name": "Ensouled Dog Head", - "xp": 520, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13471, - "name": "Ensouled Chaos Druid Head", - "xp": 584, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13474, - "name": "Ensouled Giant Head", - "xp": 650, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13477, - "name": "Ensouled Ogre Head", - "xp": 716, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13480, - "name": "Ensouled Elf Head", - "xp": 754, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13483, - "name": "Ensouled Troll Head", - "xp": 780, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13486, - "name": "Ensouled Horror Head", - "xp": 832, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13489, - "name": "Ensouled Kalphite Head", - "xp": 884, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13492, - "name": "Ensouled Dagannoth Head", - "xp": 936, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13495, - "name": "Ensouled Bloodveld Head", - "xp": 1040, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13498, - "name": "Ensouled Tzhaar Head", - "xp": 1104, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13501, - "name": "Ensouled Demon Head", - "xp": 1170, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13504, - "name": "Ensouled Aviansie Head", - "xp": 1234, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13507, - "name": "Ensouled Abyssal Head", - "xp": 1300, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13510, - "name": "Ensouled Dragon Head", - "xp": 1560, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25766, - "name": "Fiendish Ashes", - "xp": 10, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25769, - "name": "Vile Ashes", - "xp": 25, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25772, - "name": "Malicious Ashes", - "xp": 65, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25775, - "name": "Abyssal Ashes", - "xp": 85, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25778, - "name": "Infernal Ashes", - "xp": 110, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 526, - "name": "Bones", - "xp": 4.5 - }, - { - "level": 1, - "icon": 2859, - "name": "Wolf Bones", - "xp": 4.5 - }, - { - "level": 1, - "icon": 3396, - "name": "Loar Remains", - "xp": 33 - }, - { - "level": 1, - "icon": 528, - "name": "Burnt Bones", - "xp": 4.5 - }, - { - "level": 1, - "icon": 3179, - "name": "Monkey Bones", - "xp": 5 - }, - { - "level": 1, - "icon": 530, - "name": "Bat Bones", - "xp": 5.3 - }, - { - "level": 1, - "icon": 3125, - "name": "Jogre Bones", - "xp": 15 - }, - { - "level": 1, - "icon": 532, - "name": "Big Bones", - "xp": 15 - }, - { - "level": 1, - "icon": 4812, - "name": "Zogre Bones", - "xp": 22.5 - }, - { - "level": 1, - "icon": 3123, - "name": "Shaikahan Bones", - "xp": 25 - }, - { - "level": 1, - "icon": 534, - "name": "Babydragon Bones", - "xp": 30 - }, - { - "level": 1, - "icon": 3398, - "name": "Phrin Remains", - "xp": 46.5 - }, - { - "level": 1, - "icon": 22780, - "name": "Wyrm Bones", - "xp": 50 - }, - { - "level": 1, - "icon": 3400, - "name": "Riyl Remains", - "xp": 59.5 - }, - { - "level": 1, - "icon": 6812, - "name": "Wyvern Bones", - "xp": 72 - }, - { - "level": 1, - "icon": 536, - "name": "Dragon Bones", - "xp": 72 - }, - { - "level": 1, - "icon": 22783, - "name": "Drake Bones", - "xp": 80 - }, - { - "level": 1, - "icon": 3402, - "name": "Asyn Remains", - "xp": 82.5 - }, - { - "level": 1, - "icon": 4830, - "name": "Fayrg Bones", - "xp": 84 - }, - { - "level": 1, - "icon": 3404, - "name": "Fiyr Remains", - "xp": 84 - }, - { - "level": 1, - "icon": 11943, - "name": "Lava Dragon Bones", - "xp": 85 - }, - { - "level": 1, - "icon": 4832, - "name": "Raurg Bones", - "xp": 96 - }, - { - "level": 1, - "icon": 22786, - "name": "Hydra Bones", - "xp": 110 - }, - { - "level": 1, - "icon": 6729, - "name": "Dagannoth Bones", - "xp": 125 - }, - { - "level": 1, - "icon": 4834, - "name": "Ourg Bones", - "xp": 140 - }, - { - "level": 70, - "icon": 22124, - "name": "Superior Dragon Bones", - "xp": 150 - }, - { - "level": 1, - "icon": 25419, - "name": "Urium Remains", - "xp": 120 - }, - { - "level": 1, - "icon": 25654, - "name": "Guppy", - "xp": 4 - }, - { - "level": 1, - "icon": 25660, - "name": "Cavefish", - "xp": 7 - }, - { - "level": 1, - "icon": 25666, - "name": "Tetra", - "xp": 10 - }, - { - "level": 1, - "icon": 25672, - "name": "Cavefish", - "xp": 16 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_runecraft.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_runecraft.json deleted file mode 100644 index 901196750e..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_runecraft.json +++ /dev/null @@ -1,240 +0,0 @@ -{ - "bonuses": [ - { - "name": "Daeyalt essence (+50%)", - "value": 0.5 - } - ], - "actions": [ - { - "level": 1, - "icon": 5527, - "name": "Air Tiara", - "xp": 25, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5529, - "name": "Mind Tiara", - "xp": 27.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5531, - "name": "Water Tiara", - "xp": 30, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5535, - "name": "Earth Tiara", - "xp": 32.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5537, - "name": "Fire Tiara", - "xp": 35, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5533, - "name": "Body Tiara", - "xp": 37.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5539, - "name": "Cosmic Tiara", - "xp": 40, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5543, - "name": "Chaos Tiara", - "xp": 42.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5541, - "name": "Nature Tiara", - "xp": 45, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5545, - "name": "Law Tiara", - "xp": 47.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5547, - "name": "Death Tiara", - "xp": 50, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 22121, - "name": "Wrath Tiara", - "xp": 52.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 556, - "name": "Air Rune", - "xp": 5 - }, - { - "level": 2, - "icon": 558, - "name": "Mind Rune", - "xp": 5.5 - }, - { - "level": 2, - "icon": 25696, - "name": "Mind core", - "xp": 55 - }, - { - "level": 5, - "icon": 555, - "name": "Water Rune", - "xp": 6 - }, - { - "level": 6, - "icon": 4695, - "name": "Mist Rune", - "xp": 8.5 - }, - { - "level": 9, - "icon": 557, - "name": "Earth Rune", - "xp": 6.5 - }, - { - "level": 10, - "icon": 4696, - "name": "Dust Rune", - "xp": 9 - }, - { - "level": 13, - "icon": 4698, - "name": "Mud Rune", - "xp": 9.5 - }, - { - "level": 14, - "icon": 554, - "name": "Fire Rune", - "xp": 7 - }, - { - "level": 15, - "icon": 4697, - "name": "Smoke Rune", - "xp": 9.5 - }, - { - "level": 19, - "icon": 4694, - "name": "Steam Rune", - "xp": 10 - }, - { - "level": 20, - "icon": 559, - "name": "Body Rune", - "xp": 7.5 - }, - { - "level": 20, - "icon": 25698, - "name": "Body core", - "xp": 75 - }, - { - "level": 23, - "icon": 4699, - "name": "Lava Rune", - "xp": 10.5 - }, - { - "level": 27, - "icon": 564, - "name": "Cosmic Rune", - "xp": 8 - }, - { - "level": 35, - "icon": 562, - "name": "Chaos Rune", - "xp": 8.5 - }, - { - "level": 35, - "icon": 25700, - "name": "Chaos core", - "xp": 85 - }, - { - "level": 40, - "icon": 9075, - "name": "Astral Rune", - "xp": 8.7 - }, - { - "level": 44, - "icon": 561, - "name": "Nature Rune", - "xp": 9 - }, - { - "level": 54, - "icon": 563, - "name": "Law Rune", - "xp": 9.5 - }, - { - "level": 65, - "icon": 560, - "name": "Death Rune", - "xp": 10 - }, - { - "level": 77, - "icon": 565, - "name": "Blood Rune", - "xp": 24.425, - "ignoreBonus": true - }, - { - "level": 90, - "icon": 566, - "name": "Soul Rune", - "xp": 30.325, - "ignoreBonus": true - }, - { - "level": 95, - "icon": 21880, - "name": "Wrath Rune", - "xp": 8 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json deleted file mode 100644 index bf829f53b6..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json +++ /dev/null @@ -1,1090 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 2349, - "name": "Bronze Bar", - "xp": 6.3 - }, - { - "level": 1, - "icon": 1351, - "name": "Bronze Axe", - "xp": 12.5 - }, - { - "level": 1, - "icon": 1205, - "name": "Bronze Dagger", - "xp": 12.5 - }, - { - "level": 2, - "icon": 1422, - "name": "Bronze Mace", - "xp": 12.5 - }, - { - "level": 3, - "icon": 1139, - "name": "Bronze Med Helm", - "xp": 12.5 - }, - { - "level": 3, - "icon": 9375, - "name": "Bronze Bolts (Unf)", - "xp": 12.5 - }, - { - "level": 4, - "icon": 4819, - "name": "Bronze Nails", - "xp": 12.5 - }, - { - "level": 4, - "icon": 1277, - "name": "Bronze Sword", - "xp": 12.5 - }, - { - "level": 4, - "icon": 1794, - "name": "Bronze Wire", - "xp": 12.5 - }, - { - "level": 4, - "icon": 819, - "name": "Bronze Dart Tip", - "xp": 12.5 - }, - { - "level": 5, - "icon": 39, - "name": "Bronze Arrowtips", - "xp": 12.5 - }, - { - "level": 5, - "icon": 1321, - "name": "Bronze Scimitar", - "xp": 25 - }, - { - "level": 5, - "icon": 11367, - "name": "Bronze Hasta", - "xp": 25 - }, - { - "level": 5, - "icon": 1237, - "name": "Bronze Spear", - "xp": 25 - }, - { - "level": 6, - "icon": 19570, - "name": "Bronze Javelin Heads", - "xp": 12.5 - }, - { - "level": 6, - "icon": 1291, - "name": "Bronze Longsword", - "xp": 25 - }, - { - "level": 6, - "icon": 9420, - "name": "Bronze Limbs", - "xp": 12.5 - }, - { - "level": 7, - "icon": 864, - "name": "Bronze Knife", - "xp": 12.5 - }, - { - "level": 7, - "icon": 1155, - "name": "Bronze Full Helm", - "xp": 25 - }, - { - "level": 8, - "icon": 1173, - "name": "Bronze Sq Shield", - "xp": 25 - }, - { - "level": 9, - "icon": 1337, - "name": "Bronze Warhammer", - "xp": 37.5 - }, - { - "level": 10, - "icon": 1375, - "name": "Bronze Battleaxe", - "xp": 37.5 - }, - { - "level": 11, - "icon": 1103, - "name": "Bronze Chainbody", - "xp": 37.5 - }, - { - "level": 12, - "icon": 1189, - "name": "Bronze Kiteshield", - "xp": 37.5 - }, - { - "level": 13, - "icon": 3095, - "name": "Bronze Claws", - "xp": 25 - }, - { - "level": 14, - "icon": 1307, - "name": "Bronze 2h Sword", - "xp": 37.5 - }, - { - "level": 14, - "icon": 25684, - "name": "Barronite deposits", - "xp": 30 - }, - { - "level": 15, - "icon": 2351, - "name": "Iron Bar", - "xp": 12.5 - }, - { - "level": 15, - "icon": 1203, - "name": "Iron Dagger", - "xp": 25 - }, - { - "level": 16, - "icon": 1349, - "name": "Iron Axe", - "xp": 25 - }, - { - "level": 16, - "icon": 1075, - "name": "Bronze Platelegs", - "xp": 37.5 - }, - { - "level": 16, - "icon": 1087, - "name": "Bronze Plateskirt", - "xp": 37.5 - }, - { - "level": 17, - "icon": 7225, - "name": "Iron Spit", - "xp": 25 - }, - { - "level": 17, - "icon": 1420, - "name": "Iron Mace", - "xp": 25 - }, - { - "level": 18, - "icon": 9377, - "name": "Iron Bolts (Unf)", - "xp": 25 - }, - { - "level": 18, - "icon": 1117, - "name": "Bronze Platebody", - "xp": 62.5 - }, - { - "level": 18, - "icon": 1137, - "name": "Iron Med Helm", - "xp": 25 - }, - { - "level": 19, - "icon": 4820, - "name": "Iron Nails", - "xp": 25 - }, - { - "level": 19, - "icon": 820, - "name": "Iron Dart Tip", - "xp": 25 - }, - { - "level": 19, - "icon": 1279, - "name": "Iron Sword", - "xp": 25 - }, - { - "level": 20, - "icon": 2355, - "name": "Silver Bar", - "xp": 13.7 - }, - { - "level": 20, - "icon": 40, - "name": "Iron Arrowtips", - "xp": 25 - }, - { - "level": 20, - "icon": 1323, - "name": "Iron Scimitar", - "xp": 50 - }, - { - "level": 20, - "icon": 11369, - "name": "Iron Hasta", - "xp": 50 - }, - { - "level": 20, - "icon": 1239, - "name": "Iron Spear", - "xp": 50 - }, - { - "level": 21, - "icon": 1293, - "name": "Iron Longsword", - "xp": 50 - }, - { - "level": 21, - "icon": 19572, - "name": "Iron Javelin Heads", - "xp": 25 - }, - { - "level": 22, - "icon": 1153, - "name": "Iron Full Helm", - "xp": 50 - }, - { - "level": 22, - "icon": 863, - "name": "Iron Knife", - "xp": 25 - }, - { - "level": 23, - "icon": 9423, - "name": "Iron Limbs", - "xp": 25 - }, - { - "level": 23, - "icon": 1175, - "name": "Iron Sq Shield", - "xp": 50 - }, - { - "level": 24, - "icon": 1335, - "name": "Iron Warhammer", - "xp": 75 - }, - { - "level": 25, - "icon": 1363, - "name": "Iron Battleaxe", - "xp": 75 - }, - { - "level": 26, - "icon": 4540, - "name": "Oil Lantern Frame", - "xp": 25 - }, - { - "level": 26, - "icon": 1101, - "name": "Iron Chainbody", - "xp": 75 - }, - { - "level": 27, - "icon": 1191, - "name": "Iron Kiteshield", - "xp": 75 - }, - { - "level": 28, - "icon": 3096, - "name": "Iron Claws", - "xp": 50 - }, - { - "level": 29, - "icon": 1309, - "name": "Iron 2h Sword", - "xp": 75 - }, - { - "level": 30, - "icon": 1207, - "name": "Steel Dagger", - "xp": 37.5 - }, - { - "level": 30, - "icon": 2353, - "name": "Steel Bar", - "xp": 17.5 - }, - { - "level": 31, - "icon": 1081, - "name": "Iron Plateskirt", - "xp": 75 - }, - { - "level": 31, - "icon": 1067, - "name": "Iron Platelegs", - "xp": 75 - }, - { - "level": 31, - "icon": 1353, - "name": "Steel Axe", - "xp": 37.5 - }, - { - "level": 32, - "icon": 1424, - "name": "Steel Mace", - "xp": 37.5 - }, - { - "level": 33, - "icon": 1115, - "name": "Iron Platebody", - "xp": 125 - }, - { - "level": 33, - "icon": 1141, - "name": "Steel Med Helm", - "xp": 37.5 - }, - { - "level": 33, - "icon": 9378, - "name": "Steel Bolts (Unf)", - "xp": 37.5 - }, - { - "level": 34, - "icon": 821, - "name": "Steel Dart Tip", - "xp": 37.5 - }, - { - "level": 34, - "icon": 1539, - "name": "Steel Nails", - "xp": 37.5 - }, - { - "level": 34, - "icon": 1281, - "name": "Steel Sword", - "xp": 37.5 - }, - { - "level": 35, - "icon": 2, - "name": "Cannonball", - "xp": 25.6 - }, - { - "level": 35, - "icon": 1325, - "name": "Steel Scimitar", - "xp": 75 - }, - { - "level": 35, - "icon": 41, - "name": "Steel Arrowtips", - "xp": 37.5 - }, - { - "level": 35, - "icon": 11371, - "name": "Steel Hasta", - "xp": 75 - }, - { - "level": 35, - "icon": 1241, - "name": "Steel Spear", - "xp": 75 - }, - { - "level": 36, - "icon": 9425, - "name": "Steel Limbs", - "xp": 37.5 - }, - { - "level": 36, - "icon": 2370, - "name": "Steel Studs", - "xp": 37.5 - }, - { - "level": 36, - "icon": 1295, - "name": "Steel Longsword", - "xp": 75 - }, - { - "level": 36, - "icon": 19574, - "name": "Steel Javelin Heads", - "xp": 37.5 - }, - { - "level": 37, - "icon": 865, - "name": "Steel Knife", - "xp": 37.5 - }, - { - "level": 37, - "icon": 1157, - "name": "Steel Full Helm", - "xp": 75 - }, - { - "level": 38, - "icon": 1177, - "name": "Steel Sq Shield", - "xp": 75 - }, - { - "level": 39, - "icon": 1339, - "name": "Steel Warhammer", - "xp": 112.5 - }, - { - "level": 40, - "icon": 1365, - "name": "Steel Battleaxe", - "xp": 112.5 - }, - { - "level": 40, - "icon": 2357, - "name": "Gold Bar (Goldsmith Gauntlets)", - "xp": 56.2 - }, - { - "level": 40, - "icon": 2357, - "name": "Gold Bar", - "xp": 22.5 - }, - { - "level": 41, - "icon": 1105, - "name": "Steel Chainbody", - "xp": 112.5 - }, - { - "level": 42, - "icon": 1193, - "name": "Steel Kiteshield", - "xp": 112.5 - }, - { - "level": 43, - "icon": 3097, - "name": "Steel Claws", - "xp": 75 - }, - { - "level": 44, - "icon": 1311, - "name": "Steel 2h Sword", - "xp": 112.5 - }, - { - "level": 46, - "icon": 1069, - "name": "Steel Platelegs", - "xp": 112.5 - }, - { - "level": 46, - "icon": 1083, - "name": "Steel Plateskirt", - "xp": 112.5 - }, - { - "level": 48, - "icon": 1119, - "name": "Steel Platebody", - "xp": 187.5 - }, - { - "level": 49, - "icon": 4544, - "name": "Bullseye Lantern (Unf)", - "xp": 37 - }, - { - "level": 50, - "icon": 1209, - "name": "Mithril Dagger", - "xp": 50 - }, - { - "level": 50, - "icon": 2359, - "name": "Mithril Bar", - "xp": 30 - }, - { - "level": 51, - "icon": 1355, - "name": "Mithril Axe", - "xp": 50 - }, - { - "level": 52, - "icon": 1428, - "name": "Mithril Mace", - "xp": 50 - }, - { - "level": 53, - "icon": 1143, - "name": "Mithril Med Helm", - "xp": 50 - }, - { - "level": 53, - "icon": 9379, - "name": "Mithril Bolts (Unf)", - "xp": 50 - }, - { - "level": 54, - "icon": 1285, - "name": "Mithril Sword", - "xp": 50 - }, - { - "level": 54, - "icon": 822, - "name": "Mithril Dart Tip", - "xp": 50 - }, - { - "level": 54, - "icon": 4822, - "name": "Mithril Nails", - "xp": 50 - }, - { - "level": 55, - "icon": 42, - "name": "Mithril Arrowtips", - "xp": 50 - }, - { - "level": 55, - "icon": 1329, - "name": "Mithril Scimitar", - "xp": 100 - }, - { - "level": 55, - "icon": 11373, - "name": "Mithril Hasta", - "xp": 100 - }, - { - "level": 55, - "icon": 1243, - "name": "Mithril Spear", - "xp": 100 - }, - { - "level": 56, - "icon": 1299, - "name": "Mithril Longsword", - "xp": 100 - }, - { - "level": 56, - "icon": 19576, - "name": "Mithril Javelin Heads", - "xp": 50 - }, - { - "level": 56, - "icon": 9427, - "name": "Mithril Limbs", - "xp": 50 - }, - { - "level": 57, - "icon": 1159, - "name": "Mithril Full Helm", - "xp": 100 - }, - { - "level": 57, - "icon": 866, - "name": "Mithril Knife", - "xp": 50 - }, - { - "level": 58, - "icon": 1181, - "name": "Mithril Sq Shield", - "xp": 100 - }, - { - "level": 59, - "icon": 9416, - "name": "Mith Grapple Tip", - "xp": 50 - }, - { - "level": 59, - "icon": 1343, - "name": "Mithril Warhammer", - "xp": 150 - }, - { - "level": 60, - "icon": 1187, - "name": "Dragon Sq Shield", - "xp": 75 - }, - { - "level": 60, - "icon": 1369, - "name": "Mithril Battleaxe", - "xp": 150 - }, - { - "level": 61, - "icon": 1109, - "name": "Mithril Chainbody", - "xp": 150 - }, - { - "level": 62, - "icon": 1197, - "name": "Mithril Kiteshield", - "xp": 150 - }, - { - "level": 63, - "icon": 3099, - "name": "Mithril Claws", - "xp": 100 - }, - { - "level": 64, - "icon": 1315, - "name": "Mithril 2h Sword", - "xp": 150 - }, - { - "level": 66, - "icon": 1085, - "name": "Mithril Plateskirt", - "xp": 150 - }, - { - "level": 66, - "icon": 1071, - "name": "Mithril Platelegs", - "xp": 150 - }, - { - "level": 68, - "icon": 1121, - "name": "Mithril Platebody", - "xp": 250 - }, - { - "level": 70, - "icon": 1211, - "name": "Adamant Dagger", - "xp": 62.5 - }, - { - "level": 70, - "icon": 2361, - "name": "Adamantite Bar", - "xp": 37.5 - }, - { - "level": 71, - "icon": 1357, - "name": "Adamant Axe", - "xp": 62.5 - }, - { - "level": 72, - "icon": 1430, - "name": "Adamant Mace", - "xp": 62.5 - }, - { - "level": 73, - "icon": 9380, - "name": "Adamant Bolts (Unf)", - "xp": 62.5 - }, - { - "level": 73, - "icon": 1145, - "name": "Adamant Med Helm", - "xp": 62.5 - }, - { - "level": 74, - "icon": 823, - "name": "Adamant Dart Tip", - "xp": 62.5 - }, - { - "level": 74, - "icon": 1287, - "name": "Adamant Sword", - "xp": 62.5 - }, - { - "level": 74, - "icon": 4823, - "name": "Adamantite Nails", - "xp": 62.5 - }, - { - "level": 75, - "icon": 43, - "name": "Adamant Arrowtips", - "xp": 62.5 - }, - { - "level": 75, - "icon": 1331, - "name": "Adamant Scimitar", - "xp": 125 - }, - { - "level": 75, - "icon": 11375, - "name": "Adamant Hasta", - "xp": 125 - }, - { - "level": 75, - "icon": 1245, - "name": "Adamant Spear", - "xp": 125 - }, - { - "level": 76, - "icon": 9429, - "name": "Adamantite Limbs", - "xp": 62.5 - }, - { - "level": 76, - "icon": 1301, - "name": "Adamant Longsword", - "xp": 125 - }, - { - "level": 76, - "icon": 19578, - "name": "Adamant Javelin Heads", - "xp": 62.5 - }, - { - "level": 77, - "icon": 1161, - "name": "Adamant Full Helm", - "xp": 125 - }, - { - "level": 77, - "icon": 867, - "name": "Adamant Knife", - "xp": 62.5 - }, - { - "level": 78, - "icon": 1183, - "name": "Adamant Sq Shield", - "xp": 125 - }, - { - "level": 79, - "icon": 1345, - "name": "Adamant Warhammer", - "xp": 187.5 - }, - { - "level": 80, - "icon": 1371, - "name": "Adamant Battleaxe", - "xp": 187.5 - }, - { - "level": 81, - "icon": 1111, - "name": "Adamant Chainbody", - "xp": 187.5 - }, - { - "level": 82, - "icon": 1199, - "name": "Adamant Kiteshield", - "xp": 187.5 - }, - { - "level": 83, - "icon": 3100, - "name": "Adamant Claws", - "xp": 125 - }, - { - "level": 84, - "icon": 1317, - "name": "Adamant 2h Sword", - "xp": 187.5 - }, - { - "level": 85, - "icon": 2363, - "name": "Runite Bar", - "xp": 50 - }, - { - "level": 85, - "icon": 1213, - "name": "Rune Dagger", - "xp": 75 - }, - { - "level": 86, - "icon": 1359, - "name": "Rune Axe", - "xp": 75 - }, - { - "level": 86, - "icon": 1091, - "name": "Adamant Plateskirt", - "xp": 187.5 - }, - { - "level": 86, - "icon": 1073, - "name": "Adamant Platelegs", - "xp": 187.5 - }, - { - "level": 87, - "icon": 1432, - "name": "Rune Mace", - "xp": 75 - }, - { - "level": 88, - "icon": 9381, - "name": "Runite Bolts (Unf)", - "xp": 75 - }, - { - "level": 88, - "icon": 1147, - "name": "Rune Med Helm", - "xp": 75 - }, - { - "level": 88, - "icon": 1123, - "name": "Adamant Platebody", - "xp": 312.5 - }, - { - "level": 89, - "icon": 1289, - "name": "Rune Sword", - "xp": 75 - }, - { - "level": 89, - "icon": 4824, - "name": "Rune Nails", - "xp": 75 - }, - { - "level": 89, - "icon": 824, - "name": "Rune Dart Tip", - "xp": 75 - }, - { - "level": 90, - "icon": 44, - "name": "Rune Arrowtips", - "xp": 75 - }, - { - "level": 90, - "icon": 1333, - "name": "Rune Scimitar", - "xp": 150 - }, - { - "level": 90, - "icon": 11377, - "name": "Rune Hasta", - "xp": 150 - }, - { - "level": 90, - "icon": 1247, - "name": "Rune Spear", - "xp": 150 - }, - { - "level": 90, - "icon": 11283, - "name": "Dragonfire Shield", - "xp": 2000 - }, - { - "level": 91, - "icon": 1303, - "name": "Rune Longsword", - "xp": 150 - }, - { - "level": 91, - "icon": 19580, - "name": "Rune Javelin Heads", - "xp": 75 - }, - { - "level": 91, - "icon": 9431, - "name": "Runite Limbs", - "xp": 75 - }, - { - "level": 92, - "icon": 868, - "name": "Rune Knife", - "xp": 75 - }, - { - "level": 92, - "icon": 1163, - "name": "Rune Full Helm", - "xp": 150 - }, - { - "level": 93, - "icon": 1185, - "name": "Rune Sq Shield", - "xp": 150 - }, - { - "level": 94, - "icon": 1347, - "name": "Rune Warhammer", - "xp": 225 - }, - { - "level": 95, - "icon": 1373, - "name": "Rune Battleaxe", - "xp": 225 - }, - { - "level": 96, - "icon": 1113, - "name": "Rune Chainbody", - "xp": 225 - }, - { - "level": 97, - "icon": 1201, - "name": "Rune Kiteshield", - "xp": 225 - }, - { - "level": 98, - "icon": 3101, - "name": "Rune Claws", - "xp": 150 - }, - { - "level": 99, - "icon": 1127, - "name": "Rune Platebody", - "xp": 375 - }, - { - "level": 99, - "icon": 1093, - "name": "Rune Plateskirt", - "xp": 225 - }, - { - "level": 99, - "icon": 1079, - "name": "Rune Platelegs", - "xp": 225 - }, - { - "level": 99, - "icon": 1319, - "name": "Rune 2h Sword", - "xp": 225 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_thieving.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_thieving.json deleted file mode 100644 index f23248c568..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_thieving.json +++ /dev/null @@ -1,268 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 3241, - "name": "Man / Woman", - "xp": 8 - }, - { - "level": 1, - "icon": 10851, - "name": "Winter Sq'irkjuice", - "xp": 350 - }, - { - "level": 2, - "icon": 1965, - "name": "Vegetable Stall", - "xp": 10 - }, - { - "level": 5, - "icon": 1891, - "name": "Cake Stall", - "xp": 16 - }, - { - "level": 5, - "icon": 4242, - "name": "Tea Stall", - "xp": 16 - }, - { - "level": 5, - "icon": 5601, - "name": "Crafting Stall", - "xp": 16 - }, - { - "level": 5, - "icon": 1963, - "name": "Monkey Food Stall", - "xp": 16 - }, - { - "level": 10, - "icon": 3243, - "name": "Farmer", - "xp": 14.5 - }, - { - "level": 15, - "icon": 4295, - "name": "Female H.A.M. Member", - "xp": 18.5 - }, - { - "level": 20, - "icon": 950, - "name": "Silk Stall", - "xp": 24 - }, - { - "level": 20, - "icon": 4297, - "name": "Male H.A.M. Member", - "xp": 22.5 - }, - { - "level": 22, - "icon": 7919, - "name": "Wine Stall", - "xp": 27 - }, - { - "level": 25, - "icon": 3245, - "name": "Warrior Women / Al-Kharid Warrior", - "xp": 26 - }, - { - "level": 25, - "icon": 464, - "name": "Fruit Stall", - "xp": 28 - }, - { - "level": 25, - "icon": 10848, - "name": "Spring Sq'irkjuice", - "xp": 1350 - }, - { - "level": 27, - "icon": 5318, - "name": "Seed Stall", - "xp": 10 - }, - { - "level": 32, - "icon": 3247, - "name": "Rogue", - "xp": 35.5 - }, - { - "level": 35, - "icon": 958, - "name": "Fur Stall", - "xp": 36 - }, - { - "level": 36, - "icon": 10998, - "name": "Cave Goblin", - "xp": 40 - }, - { - "level": 38, - "icon": 5068, - "name": "Master Farmer", - "xp": 43 - }, - { - "level": 40, - "icon": 3249, - "name": "Guard", - "xp": 46.8 - }, - { - "level": 42, - "icon": 331, - "name": "Fish Stall", - "xp": 42 - }, - { - "level": 45, - "icon": 6782, - "name": "Bearded Pollnivnian Bandit", - "xp": 65 - }, - { - "level": 45, - "icon": 3686, - "name": "Fremennik Citizen", - "xp": 65 - }, - { - "level": 45, - "icon": 10850, - "name": "Autumn Sq'irkjuice", - "xp": 2350 - }, - { - "level": 49, - "icon": 837, - "name": "Crossbow Stall", - "xp": 52 - }, - { - "level": 50, - "icon": 2355, - "name": "Silver Stall", - "xp": 54 - }, - { - "level": 50, - "icon": 5560, - "name": "Wall Safe", - "xp": 70 - }, - { - "level": 53, - "icon": 4625, - "name": "Desert Bandit", - "xp": 79.5 - }, - { - "level": 55, - "icon": 3251, - "name": "Knight", - "xp": 84.3 - }, - { - "level": 55, - "icon": 6781, - "name": "Pollnivnian Bandit", - "xp": 84.3 - }, - { - "level": 65, - "icon": 6422, - "name": "Magic Stall", - "xp": 100 - }, - { - "level": 65, - "icon": 1325, - "name": "Scimitar Stall", - "xp": 100 - }, - { - "level": 65, - "icon": 6780, - "name": "Menaphite Thug", - "xp": 137.5 - }, - { - "level": 65, - "icon": 2007, - "name": "Spices Stall", - "xp": 81 - }, - { - "level": 65, - "icon": 3253, - "name": "Yanille Watchman", - "xp": 137.5 - }, - { - "level": 65, - "icon": 10849, - "name": "Summer Sq'irkjuice", - "xp": 3000 - }, - { - "level": 70, - "icon": 3255, - "name": "Paladin", - "xp": 151.8 - }, - { - "level": 75, - "icon": 3257, - "name": "Gnome", - "xp": 198.5 - }, - { - "level": 75, - "icon": 1607, - "name": "Gems Stall", - "xp": 160 - }, - { - "level": 80, - "icon": 3259, - "name": "Hero", - "xp": 275 - }, - { - "level": 82, - "icon": 24702, - "name": "Vyre", - "xp": 306.9 - }, - { - "level": 85, - "icon": 6105, - "name": "Elf", - "xp": 353 - }, - { - "level": 90, - "icon": 21278, - "name": "TzHaar-Hur", - "xp": 103.4 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_woodcutting.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_woodcutting.json deleted file mode 100644 index 8a72413c99..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_woodcutting.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "bonuses": [ - { "name": "Lumberjack Outfit (+2.5%)", "value": 0.025 } - ], - "actions": [ - { - "level": 1, - "icon": 1511, - "name": "Logs", - "xp": 25 - }, - { - "level": 1, - "icon": 2862, - "name": "Achey Tree Logs", - "xp": 25 - }, - { - "level": 15, - "icon": 1521, - "name": "Oak Logs", - "xp": 37.5 - }, - { - "level": 30, - "icon": 1519, - "name": "Willow Logs", - "xp": 67.5 - }, - { - "level": 35, - "icon": 6333, - "name": "Teak Logs", - "xp": 85 - }, - { - "level": 45, - "icon": 3239, - "name": "Bark", - "xp": 82.5 - }, - { - "level": 45, - "icon": 1517, - "name": "Maple Logs", - "xp": 100 - }, - { - "level": 50, - "icon": 6332, - "name": "Mahogany Logs", - "xp": 125 - }, - { - "level": 54, - "icon": 10810, - "name": "Arctic Pine Logs", - "xp": 40 - }, - { - "level": 60, - "icon": 1515, - "name": "Yew Logs", - "xp": 175 - }, - { - "level": 62, - "icon": 24691, - "name": "Blisterwood Logs", - "xp": 76 - }, - { - "level": 65, - "icon": 21626, - "name": "Sulliusceps", - "xp": 127 - }, - { - "level": 75, - "icon": 1513, - "name": "Magic Logs", - "xp": 250 - }, - { - "level": 90, - "icon": 19669, - "name": "Redwood Logs", - "xp": 380 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CacheSkillData.java b/runelite-client/src/test/java/net/runelite/client/plugins/skillcalculator/CalculatorTypeTest.java similarity index 61% rename from runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CacheSkillData.java rename to runelite-client/src/test/java/net/runelite/client/plugins/skillcalculator/CalculatorTypeTest.java index 4959390271..df5ee04041 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CacheSkillData.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/skillcalculator/CalculatorTypeTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Kruithne + * Copyright (c) 2021, Jordan Atwood * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,36 +24,28 @@ */ package net.runelite.client.plugins.skillcalculator; -import com.google.gson.Gson; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.Map; -import net.runelite.client.plugins.skillcalculator.beans.SkillData; +import net.runelite.client.plugins.skillcalculator.skills.SkillAction; +import static org.junit.Assert.fail; +import org.junit.Test; -class CacheSkillData +public class CalculatorTypeTest { - private final Map cache = new HashMap<>(); - - SkillData getSkillData(String dataFile) + @Test + public void skillActionsInLevelOrder() { - if (cache.containsKey(dataFile)) + for (final CalculatorType calculatorType : CalculatorType.values()) { - return cache.get(dataFile); - } + int level = 1; - try (InputStream skillDataFile = SkillCalculatorPlugin.class.getResourceAsStream(dataFile)) - { - SkillData skillData = new Gson().fromJson(new InputStreamReader(skillDataFile, StandardCharsets.UTF_8), SkillData.class); + for (final SkillAction skillAction : calculatorType.getSkillActions()) + { + if (skillAction.getLevel() < level) + { + fail("Skill action " + skillAction + " is out of order for " + calculatorType.getSkill().getName()); + } - cache.put(dataFile, skillData); - return skillData; - } - catch (IOException e) - { - throw new RuntimeException(e); + level = skillAction.getLevel(); + } } } -} \ No newline at end of file +}