RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Crossbow.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;
41
42public enum Crossbow implements Fletchable {
43 BRONZE_CROSSBOW(new Item(9440), new Item(9420), new FletchableItem(new Item(9454), 9, 12.0)),
44 IRON_CROSSBOW(new Item(9444), new Item(9423), new FletchableItem(new Item(9457), 39, 44.0)),
45 STEEL_CROSSBOW(new Item(9446), new Item(9425), new FletchableItem(new Item(9459), 46, 54.0)),
46 MITHRIL_CROSSBOW(new Item(9448), new Item(9427), new FletchableItem(new Item(9461), 54, 64.0)),
47 ADAMANT_CROSSBOW(new Item(9450), new Item(9429), new FletchableItem(new Item(9463), 61, 82.0)),
48 RUNE_CROSSBOW(new Item(9452), new Item(9431), new FletchableItem(new Item(9465), 69, 100.0));
49
50 private final Item use;
51 private final Item with;
52 private final FletchableItem[] items;
53
54 Crossbow(Item use, Item with, FletchableItem... items) {
55 this.use = use;
56 this.with = with;
57 this.items = items;
58 }
59
60 public static void load() {
61 for (Crossbow cuttable : values()) {
62 Fletching.addFletchable(cuttable);
63 }
64 }
65
66 @Override
67 public int getAnimation() {
68 switch (this) {
69 case BRONZE_CROSSBOW:
70 return 4436;
71 case IRON_CROSSBOW:
72 return 4438;
73 case STEEL_CROSSBOW:
74 return 4439;
75 case MITHRIL_CROSSBOW:
76 return 4440;
77 case ADAMANT_CROSSBOW:
78 return 4441;
79 case RUNE_CROSSBOW:
80 return 4442;
81 default:
82 return 4436;
83 }
84 }
85
86 @Override
87 public int getGraphics() {
88 return -1;
89 }
90
91 @Override
92 public Item getUse() {
93 return use;
94 }
95
96 @Override
97 public Item getWith() {
98 return with;
99 }
100
101 @Override
102 public FletchableItem[] getFletchableItems() {
103 return items;
104 }
105
106 @Override
107 public String getProductionMessage() {
108 return null;
109 }
110
111 @Override
112 public Item[] getIngredients() {
113 return new Item[] { use, with };
114 }
115}