RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Bolt.java
1package com.osroyale.content.skill.impl.fletching.impl;
2
3import com.osroyale.content.skill.impl.fletching.Fletchable;
4import com.osroyale.content.skill.impl.fletching.FletchableItem;
5import com.osroyale.content.skill.impl.fletching.Fletching;
6import com.osroyale.game.world.items.Item;
7import com.osroyale.util.Items;
8
50
51public enum Bolt implements Fletchable {
52 OPAL_BOLT(new Item(877, 10), new Item(45, 10), new FletchableItem(new Item(879, 10), 11, 1.6)),
53 PEARL_BOLT(new Item(9140, 10), new Item(46, 10), new FletchableItem(new Item(880, 10), 41, 3.2)),
54 RED_TOPAZ_BOLT(new Item(9141, 10), new Item(9188, 10), new FletchableItem(new Item(9336, 10), 48, 3.9)),
55 SAPPHIRE_BOLT(new Item(9142, 10), new Item(9189, 10), new FletchableItem(new Item(9337, 10), 56, 4.7)),
56 EMERALD_BOLT(new Item(9142, 10), new Item(9190, 10), new FletchableItem(new Item(9338, 10), 58, 5.5)),
57 RUBY_BOLT(new Item(9143, 10), new Item(9191, 10), new FletchableItem(new Item(9339, 10), 63, 6.3)),
58 DIAMOND_BOLT(new Item(9143, 10), new Item(9192, 10), new FletchableItem(new Item(9340, 10), 65, 7.0)),
59 DRAGONSTONE_BOLT(new Item(9144, 10), new Item(9193, 10), new FletchableItem(new Item(9341, 10), 71, 8.2)),
60 AMETHYST_BOLT(new Item(Items.BROAD_BOLTS, 10), new Item(Items.AMETHYST_BOLT_TIPS, 10), new FletchableItem(new Item(Items.AMETHYST_BROAD_BOLTS, 10), 76, 10.6)),
61 ONYX_BOLT(new Item(9144, 10), new Item(9194, 10), new FletchableItem(new Item(9342, 10), 73, 9.4));
62
63 private final Item use;
64 private final Item with;
65 private final FletchableItem[] items;
66
67 Bolt(Item use, Item with, FletchableItem... items) {
68 this.use = use;
69 this.with = with;
70 this.items = items;
71 }
72
73 public static void load() {
74 for (Bolt cuttable : values()) {
75 Fletching.addFletchable(cuttable);
76 }
77 }
78
79 @Override
80 public int getAnimation() {
81 switch (this) {
82 case OPAL_BOLT:
83 return 8472;
84 case PEARL_BOLT:
85 return 8473;
86 case RED_TOPAZ_BOLT:
87 return 8475;
88 case SAPPHIRE_BOLT:
89 case EMERALD_BOLT:
90 return 8476;
91 case RUBY_BOLT:
92 case DIAMOND_BOLT:
93 return 8477;
94 case DRAGONSTONE_BOLT:
95 case ONYX_BOLT:
96 default:
97 return 8478;
98 }
99 }
100
101 @Override
102 public int getGraphics() {
103 return -1;
104 }
105
106 @Override
107 public Item getUse() {
108 return use;
109 }
110
111 @Override
112 public Item getWith() {
113 return with;
114 }
115
116 @Override
117 public FletchableItem[] getFletchableItems() {
118 return items;
119 }
120
121 @Override
122 public String getProductionMessage() {
123 return null;
124 }
125
126 @Override
127 public Item[] getIngredients() {
128 return new Item[] { use, with };
129 }
130}