RuneHive-Game
Loading...
Searching...
No Matches
AchievementList.java
Go to the documentation of this file.
1package com.runehive.content.achievement;
2
3import com.runehive.game.world.entity.skill.Skill;
4import com.runehive.game.world.items.Item;
5
6import java.util.ArrayList;
7import java.util.List;
8
9import static com.runehive.content.achievement.AchievementKey.*;
10import static com.runehive.content.achievement.AchievementType.*;
11
12/**
13 * Holds all the achievements
14 *
15 * @author Daniel
16 */
17public enum AchievementList {
18 /** PvP achievements */
19 KILL_10_PLAYERS("Kill 10 players using anything", 10, KILLER, PVP, 2500),
20 KILL_50_PLAYERS("Kill 50 players using anything", 50, KILLER, PVP, 6500),
21 KILL_150_PLAYERS("Kill 150 players using anything", 150, KILLER, PVP, 12500),
22 KILL_500_PLAYERS("Kill 500 players using anything", 500, KILLER, PVP, 20000),
23 KILL_1000_PLAYERS("Kill 1,000 players using anything", 1000, KILLER, PVP, 35000),
24 KILL_10_WITH_DHAROK("Kill 10 players using full d'haroks", 10, DHAROK, PVP, 2500),
25 KILL_50_WITH_DHAROK("Kill 50 players using full d'haroks", 50, DHAROK, PVP, 6500),
26 KILL_150_WITH_DHAROK("Kill 150 players using full d'haroks", 150, DHAROK, PVP, 12500),
27
28
29 HIT_80_WITH_AGS("Hit 80+ with AGS special on player 10 times", 10, AGS_SPEC, PVP, 5000),
30 HIT_45_WITH_DRAGON_MACE("Hit 45+ with Dragon mace special\\non player 10 times", 10, DMACE_MAX, PVP, 5000),
31 KILL_10_WITH_DRAGON_MACE("Kill 10 players using Dragon mace special", 10, DMACE_SPEC, PVP, 2500),
32 KILL_75_WITH_DRAGON_MACE("Kill 75 players using Dragon mace special", 75, DMACE_SPEC, PVP, 5000),
33 KILL_10_WITH_DDS("Kill 10 players using DDS special", 10, DDS_SPEC, PVP, 2500),
34 KILL_150_WITH_DDS("Kill 150 players using DDS special", 150, DDS_SPEC, PVP, 5000),
35 KILL_350_WITH_DDS("Kill 350 players using DDS special", 350, DDS_SPEC, PVP, 8000),
36 KILL_10_WITH_AGS("Kill 10 players using AGS special", 10, AGS_SPEC, PVP, 2500),
37 KILL_150_WITH_AGS("Kill 150 players using AGS special", 150, AGS_SPEC, PVP, 5000),
38 KILL_350_WITH_AGS("Kill 350 players using AGS special", 350, AGS_SPEC, PVP, 8000),
39 KILL_10_WITH_DCLAWS("Kill 10 players using Dragon claws special", 10, DCLAWS_SPEC, PVP, 2500),
40 KILL_150_WITH_DCLAWS("Kill 150 players using Dragon claws special", 150, DCLAWS_SPEC, PVP, 5000),
41 KILL_350_WITH_DCLAWS("Kill 350 players using Dragon claws special", 350, DCLAWS_SPEC, PVP, 8000),
42 KILL_10_WITH_GMAUL("Kill 10 players with a Granite maul special", 10, GMAULED_SPEC, PVP, 2500),
43 KILL_150_WITH_GMAUL("Kill 150 players with a Granite maul special", 150, GMAULED_SPEC, PVP, 5000),
44 KILL_350_WITH_GMAUL("Kill 350 players with a Granite maul special", 350, GMAULED_SPEC, PVP, 8000),
45 KILL_10_WITH_DARK_BOW("Kill 10 players using Dark bow special", 10, DARKBOW_SPEC, PVP, 2500),
46 KILL_75_WITH_DARK_BOW("Kill 75 players using Dark bow special", 75, DARKBOW_SPEC, PVP, 5000),
47 GET_A_5_KILLSTREAK("Kill 5 players without dying", 1, KILLSTKREAK_5, PVP, 1000),
48 GET_A_10_KILLSTREAK("Kill 10 players without dying", 1, KILLSTKREAK_10, PVP, 2500),
49 GET_A_15_KILLSTREAK("Kill 15 players without dying", 1, KILLSTKREAK_15, PVP, 5000),
50 GET_A_25_KILLSTREAK("Kill 25 players without dying", 1, KILLSTKREAK_25, PVP, 8500),
51
52 /** PvM achievements */
53 KILL_10_KBD("Kill King Black Dragons 10 times", 10, KING_BLACK_DRAGON, PVM, 1000),
54 KILL_100_KBD("Kill King Black Dragons 100 times", 100, KING_BLACK_DRAGON, PVM, 3000),
55 KILL_350_KBD("Kill King Black Dragons 350 times", 350, KING_BLACK_DRAGON, PVM, 6000),
56 KILL_800_KBD("Kill King Black Dragons 800 times", 800, KING_BLACK_DRAGON, PVM, 10000),
57 KILL_10_KRAKENS("Kill Kraken 10 times", 10, KRAKEN, PVM, 1000),
58 KILL_100_KRAKENS("Kill Kraken 100 times", 100, KRAKEN, PVM, 3000),
59 KILL_350_KRAKENS("Kill Kraken 350 times", 350, KRAKEN, PVM, 6000),
60 KILL_800_KRAKENS("Kill Kraken 800 times", 800, KRAKEN, PVM, 10000),
61 KILL_10_ZULRAH("Kill Zulrah 10 times", 10, ZULRAH, PVM, 1000),
62 KILL_50_ZULRAH("Kill Zulrah 50 times", 50, ZULRAH, PVM, 3000),
63 KILL_300_ZULRAHS("Kill Zulrah 300 times", 300, ZULRAH, PVM, 6000),
64 KILL_500_ZULRAHS("Kill Zulrah 500 times", 500, ZULRAH, PVM, 10000),
65 KILL_10_COMMANDERS("Kill Commander Zilyana 10 times", 10, ZILYANA, PVM, 1000),
66 KILL_35_COMMANDERS("Kill Commander Zilyana 35 times", 35, ZILYANA, PVM, 3000),
67 KILL_125_COMMANDERS("Kill Commander Zilyana 125 times", 125, ZILYANA, PVM, 6000),
68 KILL_500_COMMANDERS("Kill Commander Zilyana 500 times", 500, ZILYANA, PVM, 10000),
69 KILL_10_GENERARS("Kill General Graardor 10 times", 10, GRAARDOR, PVM, 1000),
70 KILL_35_GENERALS("Kill General Graardor 35 times", 35, GRAARDOR, PVM, 3000),
71 KILL_125_GENERALS("Kill General Graardor 125 times", 125, GRAARDOR, PVM, 6000),
72 KILL_500_GENERALS("Kill General Graardor 500 times", 500, GRAARDOR, PVM, 10000),
73 KILL_10_KREES("Kill Kree Arra 10 times", 10, KREE, PVM, 1000),
74 KILL_35_KREES("Kill Kree Arra 35 times", 35, KREE, PVM, 3000),
75 KILL_125_KREES("Kill Kree Arra 125 times", 125, KREE, PVM, 6000),
76 KILL_500_KREES("Kill Kree Arra 500 times", 500, KREE, PVM, 10000),
77 KILL_10_KRILS("Kill K'ril Tsutaroth 10 times", 10, KRIL, PVM, 1000),
78 KILL_35_KRILS("Kill K'ril Tsutaroth 35 times", 35, KRIL, PVM, 3000),
79 KILL_125_KRILS("Kill K'ril Tsutaroth 125 times", 125, KRIL, PVM, 6000),
80 KILL_500_KRILS("Kill K'ril Tsutaroth 500 times", 500, KRIL, PVM, 10000),
81 KILL_10_CERBERUS("Kill Cerberus 10 times", 10, CERBERUS, PVM, 1000),
82 KILL_35_CERBERUS("Kill Cerberus 35 times", 35, CERBERUS, PVM, 3000),
83 KILL_125_CERBERUS("Kill Cerberus 125 times", 125, CERBERUS, PVM, 6000),
84 KILL_500_CERBERUS("Kill Cerberus 500 times", 500, CERBERUS, PVM, 10000),
85 KILL_10_VORKATHS("Kill Vorkath 10 times", 10, VORKATH, PVM, 1000),
86 KILL_35_VORKATHS("Kill Vorkath 35 times", 35, VORKATH, PVM, 3000),
87 KILL_125_VORKATHS("Kill Vorkath 125 times", 125, VORKATH, PVM, 6000),
88 KILL_500_VORKATHS("Kill Vorkath 500 times", 500, VORKATH, PVM, 10000),
89 KILL_100_REVS("Kill 100 revenants", 100, REVS, PVM, 10000),
90 KILL_250_REVS("Kill 250 revenants", 250, REVS, PVM, 10000),
91 KILL_500_REVS("Kill 500 revenants", 500, REVS, PVM, 10000),
92 KILL_1000_REVS("Kill 1000 revenants", 1000, REVS, PVM, 10000),
93
94 /** Skilling achievements */
95 MAX_1_SKILL("Achieve level 99 in 1 skill", 1, SKILL_MASTERY, SKILLING, 2000),
96 MAX_3_SKILLS("Achieve level 99 in 3 skills", 3, SKILL_MASTERY, SKILLING, 4000),
97 MAX_ALL_SKILLS("Achieve level 99 in all skills", Skill.SKILL_COUNT, SKILL_MASTERY, SKILLING, 10000),
98 GET_1000_TOTAL_LEVELS("Achieve 1,000 total level", 1000, TOTAL_LEVEL, SKILLING, 3000),
99 GET_1500_TOTAL_LEVEL("Achieve 1,500 total level", 1500, TOTAL_LEVEL, SKILLING, 5000),
100 GET_2000_TOTAL_LEVELS("Achieve 2,000 total level", 2000, TOTAL_LEVEL, SKILLING, 8000),
101 EXPERIENCE_MASTERY("Earn 200M EXP in 5 skills", 5, AchievementKey.EXPERIENCE_MASTERY, SKILLING, 7500),
102 MAX_200M_EXPERIENCE("Earn 200M EXP in all skills", Skill.SKILL_COUNT, AchievementKey.EXPERIENCE_MASTERY, SKILLING, 30000),
103 CAST_100_HIGH_ALCHEMY("Cast high alchemy spell 100 times", 100, HIGH_ALCHEMY, SKILLING, 750),
104 CHOP_100_TREES("Chop down 100 trees", 100, WOODCUTTING, SKILLING, 1000),
105 CHOP_500_TREES("Chop down 500 trees", 500, WOODCUTTING, SKILLING, 4000),
106 CHOP_1500_TREES("Chop down 1,500 trees", 1500, WOODCUTTING, SKILLING, 4000),
107 CHOP_5000_TREES("Chop down 5,000 trees", 5000, WOODCUTTING, SKILLING, 7000),
108 MINE_100_ROCKS("Mine 100 rocks", 100, MINNING, SKILLING, 1000),
109 MINE_500_ROCKS("Mine 500 rocks", 500, MINNING, SKILLING, 2500),
110 MINE_1500_ROCKS("Mine 1,500 rocks", 1500, MINNING, SKILLING, 4000),
111 MINE_5000_ROCKS("Mine 5,000 rocks", 5000, MINNING, SKILLING, 7000),
112 CRAFT_100_OF_ANY_RUNES("Craft 100 of any runes", 100, RUNECRAFTING, SKILLING, 500),
113 CRAFT_500_OF_ANY_RUNES("Craft 500 of any runes", 500, RUNECRAFTING, SKILLING, 1500),
114 CRAFT_1500_OF_ANY_RUNES("Craft 1500 of any runes", 1500, RUNECRAFTING, SKILLING, 4000),
115 CRAFT_5000_OF_ANY_RUNES("Craft 5000 of any runes", 5000, RUNECRAFTING, SKILLING, 7000),
116 RUN_50_COURSES("Complete 50 agility courses", 50, AGILITY, SKILLING, 5000),
117 RUN_150_COURSES("Complete 150 agility courses", 150, AGILITY, SKILLING, 10000),
118 RUN_500_COURSES("Complete 500 agility courses", 500, AGILITY, SKILLING, 25000),
119 RUN_1000_COURSES("Complete 1,000\\nagility courses", 1000, AGILITY, SKILLING, 50000),
120 ENCHANT_2500_BOLTS("Enchant 2,500 bolts", 2500, ENCHANT_BOLTS, SKILLING, 2500),
121 ENCHANT_10000_BOLTS("Enchant 10,000 bolts", 10000, ENCHANT_BOLTS, SKILLING, 5000),
122 FLETCH_2500_ARROWS("Fletch 2,500 arrows", 2500, FLETCHING, SKILLING, 2500),
123 FLETCH_10000_ARROWS("Fletch 10,000 arrows", 10000, FLETCHING, SKILLING, 5000),
124 MAKE_2500_POTIONS("Make 2,500 potions with herblore", 2500, HERBLORE, SKILLING, 3250),
125 MAKE_10000_POTIONS("Make 10,000 potions with herblore", 10000, HERBLORE, SKILLING, 7500),
126
127 /** Minigame achievements */
128 GET_YOUR_FIRST_FIRE_CAPE("Get your first fire cape", 1, FIRE_CAPE, MINIGAME, 150),
129 GET_10_FIRE_CAPES("Get 10 fire capes", 10, FIRE_CAPE, MINIGAME, 1000),
130 COMPLETE_5_BARROWS("Complete 5 Barrows runs", 5, BARROWS, MINIGAME, 500),
131 COMPLETE_50_BARROWS("Complete 50 Barrows runs", 50, BARROWS, MINIGAME, 1500),
132 COMPLETE_100_BARROW("Complete 100 Barrows runs", 100, BARROWS, MINIGAME, 3500),
133 COMPLETE_500_BARROWS("Complete 500 Barrows runs", 500, BARROWS, MINIGAME, 7500),
134 GET_1_ITEM_FROM_BARROWS("Get 1 unique item from barrows", 1, BARROWS_UNIQUE, MINIGAME, 250),
135 GET_10_ITEM_FROM_BARROWS("Get 10 unique item from barrows", 10, BARROWS_UNIQUE, MINIGAME, 1000),
136 COMPLETE_5_PC_GAME("Complete 5 PC game", 5, PEST_CONTROL, MINIGAME, 500),
137 COMPLETE_25_PC_GAME("Complete 25 PC games", 25, PEST_CONTROL, MINIGAME, 1500),
138 COMPLETE_50_PC_GAME("Complete 50 PC games", 50, PEST_CONTROL, MINIGAME, 3500),
139 COMPLETE_150_PC_GAME("Complete 150 PC games", 150, PEST_CONTROL, MINIGAME, 7500),
140
141 /** Misc achievements */
142 CHANGE_APPEARANCE("Change your appearance once", 1, AchievementKey.CHANGE_APPEARANCE, MISCELLANEOUS, 500),
143 BURY_10_BONES("Bury 10 bones (any)", 10, BURY_BONES, MISCELLANEOUS, 500),
144 COMPLETE_10_SLAYER_TASKS("Complete 10 slayer tasks", 10, SLAYER_TASKS, MISCELLANEOUS, 10000),
145 COMPLETE_50_SLAYER_TASKS("Complete 50 slayer tasks", 50, SLAYER_TASKS, MISCELLANEOUS, 10000),
146 COMPLETE_100_SLAYER_TASKS("Complete 100 slayer tasks", 100, SLAYER_TASKS, MISCELLANEOUS, 10000),
147 COMPLETE_250_SLAYER_TASKS("Complete 250 slayer tasks", 250, SLAYER_TASKS, MISCELLANEOUS, 10000),
148 CLAIM_100_VOTE("Claim 100 vote reward", 100, VOTE, MISCELLANEOUS, 1000),
149 CLAIM_250_VOTES("Claim 250 vote rewards", 250, VOTE, MISCELLANEOUS, 2500),
150 CLAIM_500_VOTES("Claim 500 vote rewards", 500, VOTE, MISCELLANEOUS, 5000),
151 CLAIM_1000_VOTES("Claim 1,000 vote rewards", 1000, VOTE, MISCELLANEOUS, 10000),
152 ANSWER_10_TRIVIA_BOTS("Answer 10 TriviaBot questions", 10, TRIVIABOT, MISCELLANEOUS, 2500),
153 ANSWER_30_TRIVIA_BOTS("Answer 30 TriviaBot questions", 30, TRIVIABOT, MISCELLANEOUS, 5000),
154 ANSWER_100_TRIVIA_BOTS("Answer 100 TriviaBot questions", 100, TRIVIABOT, MISCELLANEOUS, 7500),
155 ANSWER_500_TRIVIA_BOTS("Answer 500 TriviaBot questions", 500, TRIVIABOT, MISCELLANEOUS, 10000),
156 OPEN_10_CRYSTAL_CHESTS("Open 10 crystal chests", 10, CRYSTAL_CHEST, MISCELLANEOUS, 1000),
157 OPEN_50_CRYSTAL_CHESTS("Open 50 crystal chests", 50, CRYSTAL_CHEST, MISCELLANEOUS, 2500),
158 OPEN_150_CRYSTAL_CHESTS("Open 150 crystal chests", 150, CRYSTAL_CHEST, MISCELLANEOUS, 5000),
159 OPEN_500_CRYSTAL_CHESTS("Open 500 crystal chests", 500, CRYSTAL_CHEST, MISCELLANEOUS, 7500),
160 COMPLETE_10_CLUE_SCROLLS("Complete 10 clue scrolls", 10, CLUE_SCROLLS, MISCELLANEOUS, 1500),
161 COMPLETE_25_CLUE_SCROLLS("Complete 25 clue scrolls", 25, CLUE_SCROLLS, MISCELLANEOUS, 1500),
162 COMPLETE_50_CLUE_SCROLLS("Complete 50 clue scrolls", 50, CLUE_SCROLLS, MISCELLANEOUS, 1500),
163 COMPLETE_100_CLUE_SCROLLS("Complete 100 clue scrolls", 100, CLUE_SCROLLS, MISCELLANEOUS, 1500),
164 OPEN_10_CASKETS("Open 10 caskets", 10, CASKET, MISCELLANEOUS, 1000),
165 OPEN_50_CASKETS("Open 50 caskets", 50, CASKET, MISCELLANEOUS, 2500),
166 OPEN_150_CASKETS("Open 150 caskets", 150, CASKET, MISCELLANEOUS, 5000),
167 OPEN_500_CASKETS("Open 500 caskets", 500, CASKET, MISCELLANEOUS, 7500),
168 KILL_1000_NPCS("Kill 1000 NPC's", 1000, NPCS, MISCELLANEOUS, 10000),
169 KILL_2500_NPCS("Kill 2500 NPC's", 2500, NPCS, MISCELLANEOUS, 10000),
170 KILL_5000_NPCS("Kill 5000 NPC's", 5000, NPCS, MISCELLANEOUS, 10000),
171 KILL_10000_NPCS("Kill 10000 NPC's", 10000, NPCS, MISCELLANEOUS, 10000),
172 OBTAIN_50_RARE_DROPS("Obtain 50 rare drops", 50, RARE_DROPS, MISCELLANEOUS, 1000),
173 OBTAIN_100_RARE_DROPS("Obtain 100 rare drops", 100, RARE_DROPS, MISCELLANEOUS, 1000),
174 OBTAIN_250_RARE_DROPS("Obtain 250 rare drops", 250, RARE_DROPS, MISCELLANEOUS, 1000),
175 OBTAIN_500_RARE_DROPS("Obtain 500 rare drops", 500, RARE_DROPS, MISCELLANEOUS, 1000),
176 OBTAIN_YOUR_FIRST_PET("Obtain 1 of any pets", 1, OBTAIN_PET, MISCELLANEOUS, 1000),
177 OBTAIN_5_PETS("Obtain 5 of any pets", 5, OBTAIN_PET, MISCELLANEOUS, 2500),
178 OBTAIN_10_PETS("Obtain 10 of any pets", 10, OBTAIN_PET, MISCELLANEOUS, 5000),;
179
180 private final int amount;
181 private final AchievementKey key;
182 private final AchievementType type;
183 private final String task;
184 private final int reward;
185
187 this.amount = amount;
188 this.key = key;
189 this.type = type;
190 this.task = task;
191 this.reward = reward;
192 }
193
194 public int getAmount() {
195 return amount;
196 }
197
199 return key;
200 }
201
203 return type;
204 }
205
206 public String getTask() {
207 return task;
208 }
209
210 public Item getReward() {
211 return new Item(13307, reward);
212 }
213
214 public static List<AchievementList> asList(AchievementType difficulty) {
215 List<AchievementList> list = new ArrayList<>();
216
217 for (AchievementList achievement : values()) {
218 if (achievement.type == difficulty) {
219 list.add(achievement);
220 }
221 }
222
223 return list;
224 }
225
226 public static int getTotal() {
227 return values().length;
228 }
229
230}
Represents a trainable and usable skill.
Definition Skill.java:18
static final int SKILL_COUNT
The amount of available skills.
Definition Skill.java:90
The container class that represents an item that can be interacted with.
Definition Item.java:21
static List< AchievementList > asList(AchievementType difficulty)
AchievementList(String task, int amount, AchievementKey key, AchievementType type, int reward)