38public enum Skillcape {
39 ATTACK_CAPE(
new int[]{9747, 9748, 9479}, 823, 4959,
Skill.
ATTACK),
40 STRENGTH_CAPE(
new int[]{9750, 9751, 9752}, 828, 4981,
Skill.
STRENGTH),
41 DEFENCE_CAPE(
new int[]{9753, 9754, 9755}, 824, 4961,
Skill.
DEFENCE),
42 RANGING_CAPE(
new int[]{9756, 9757, 9758}, 832, 4973,
Skill.
RANGED),
43 PRAYER_CAPE(
new int[]{9759, 9760, 9761}, 829, 4979,
Skill.
PRAYER),
44 MAGIC_CAPE(
new int[]{9762, 9763, 9764}, 813, 4939,
Skill.
MAGIC),
46 HITPOINTS_CAPE(
new int[]{9768, 9769, 9770}, 833, 4971,
Skill.
HITPOINTS),
47 AGILITY_CAPE(
new int[]{9771, 9772, 9773}, 830, 4977,
Skill.
AGILITY),
48 HERBLORE_CAPE(
new int[]{9774, 9775, 9776}, 835, 4969,
Skill.
HERBLORE),
49 THEIVING_CAPE(
new int[]{9777, 9778, 9779}, 826, 4965,
Skill.
THIEVING),
50 CRAFTING_CAPE(
new int[]{9780, 9781, 9782}, 818, 4949,
Skill.
CRAFTING),
51 FLETCHING_CAPE(
new int[]{9783, 9784, 9785}, 812, 4937,
Skill.
FLETCHING),
52 SLAYER_CAPE(
new int[]{9786, 9787, 9788}, 827, 4967,
Skill.
SLAYER),
54 MINING_CAPE(
new int[]{9792, 9793, 9794}, 814, 4941,
Skill.
MINING),
55 SMITHING_CAPE(
new int[]{9795, 9796, 9797}, 815, 4943,
Skill.
SMITHING),
56 FISHING_CAPE(
new int[]{9798, 9799, 9800}, 819, 4951,
Skill.
FISHING),
57 COOKING_CAPE(
new int[]{9801, 9802, 9803}, 821, 4955,
Skill.
COOKING),
58 FIREMAKING_CAPE(
new int[]{9804, 9805, 9806}, 831, 4975,
Skill.
FIREMAKING),
60 FARMING_CAPE(
new int[]{9810, 9811, 9812}, 825, 4963,
Skill.
FARMING),
61 HUNTER_CAPE(
new int[]{9948, 9949, 9950}, 907, 5158,
Skill.
HUNTER),
62 QUEST_POINT_CAPE(
new int[]{9813, 9814, 9815}, 816, 4945, -1),
63 ACHIEVEMENT_CAPE(
new int[]{13069}, 323, 2709, -1),
64 MAX_CAPE(
new int[]{13280, 13329, 13331, 13333, 13335, 13337}, 1286, 7121, -1);
66 private final int[] item;
67 private final int graphic;
68 private final int animation;
69 private final int skill;
71 Skillcape(
int[] item,
int graphic,
int animation,
int skill) {
73 this.graphic = graphic;
74 this.animation = animation;
78 public int getAnimation() {
82 public int getGraphic() {
86 public int[] getSkillcape() {
90 public int getSkill() {
94 public static Skillcape forId(
int id) {
95 for (Skillcape data : Skillcape.values())
96 for (
int index = 0; index < data.getSkillcape().length; index++)
97 if (data.getSkillcape()[index] ==
id)
102 public static Optional<Skillcape> forSkill(
int skill) {
103 return Arrays.stream(values()).filter(s -> s.getSkill() == skill).findFirst();
106 public static StoreItem[] getItems() {
110 for (Skillcape data : values()) {
111 if (data.skill == -1)
113 items[index] =
new StoreItem(data.getSkillcape()[1], 1, OptionalInt.of(100000), Optional.of(
CurrencyType.COINS));
120 public static boolean equip(
Player player, Item item) {
121 Skillcape data = forId(item.getId());
127 if (data.getSkill() == -1) {
131 if (player.skills.
getMaxLevel(data.getSkill()) != 99) {
132 player.send(
new SendMessage(
"You need to have a " +
Skill.
getName(data.getSkill()) +
" level of 99 to equip this item."));