RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
PlayerRight.java
1package com.osroyale.game.world.entity.mob.player;
2
3import java.util.Arrays;
4import java.util.Optional;
5
51
52public enum PlayerRight {
53 PLAYER("Player", "000000", 0, -1, 4111),
54 MODERATOR("Moderator", "245EFF", 1, -1, 4116),
55 ADMINISTRATOR("Administrator", "D17417", 2, -1, 4116),
56 MANAGER("Manager", "D17417", 3, -1, 4116),
57 OWNER("Owner", "ED0C0C", 2, -1, 4117),
58 DEVELOPER("Developer", "7D0CED", 4, -1, 4117),
59
60 DONATOR("Donator", "9C4B2F", 5, 10, 4112),
61 SUPER_DONATOR("Super Donator", "2F809C", 6, 50, 4112),
62 EXTREME_DONATOR("Extreme Donator", "158A76", 7, 250, 4113),
63 ELITE_DONATOR("Elite Donator", "2CA395", 8, 500, 4114),
64 KING_DONATOR("King Donator", "8F7A42", 9, 1000, 4115),
65 VETERAN("Veteran", "B1800A", 10, -1, 4115),
66 YOUTUBER("Youtuber", "91111A", 11, -1, 4112),
67 IRONMAN("Ironman", "7A6F74", 12, -1, 4112),
68 ULTIMATE_IRONMAN("Ultimate Ironman", "7A6F74", 13, -1, 4113),
69 HARDCORE_IRONMAN("Hardcore Ironman", "7A6F74", 14, -1, 4114),
70 HELPER("Helper", "5C5858", 15, -1, 4115),
71 GRAPHIC("Graphic", "CE795A", 17, -1, 4112);
72
76 private final String name;
77
81 private final int crown;
82
83 private final int moneyRequired;
84
88 private final String color;
89
93 private final int restAnimation;
94
98 PlayerRight(String name, String color, int crown, int moneyRequired, int restAnimation) {
99 this.name = name;
100 this.color = color;
101 this.crown = crown;
102 this.moneyRequired = moneyRequired;
103 this.restAnimation = restAnimation;
104 }
105
106 public static Optional<PlayerRight> lookup(int id) {
107 return Arrays.stream(values()).filter(it -> it.crown == id).findFirst();
108 }
109
110 public static boolean isOwner(Player player) {
111 return player.right.equals(OWNER);
112 }
113
117 public static boolean isDeveloper(Player player) {
118 return player.right.equals(OWNER) || player.right.equals(DEVELOPER);
119 }
120
124 public static boolean isManager(Player player) {
125 return isDeveloper(player) || player.right.equals(MANAGER);
126 }
127
131 public static boolean isAdministrator(Player player) {
132 return isManager(player) || player.right.equals(ADMINISTRATOR);
133 }
134
138 public static boolean isModerator(Player player) {
139 return isAdministrator(player) || player.right.equals(MODERATOR);
140 }
141
145 public static boolean isHelper(Player player) {
146 return isModerator(player) || player.right.equals(HELPER);
147 }
148
152 public static boolean isDonator(Player player) {
153 return isModerator(player) || isHelper(player) || player.donation.getSpent() >= DONATOR.getMoneyRequired();
154 }
155
159 public static boolean isSuper(Player player) {
160 return isModerator(player) || isHelper(player) || player.donation.getSpent() >= SUPER_DONATOR.getMoneyRequired();
161 }
162
166 public static boolean isExtreme(Player player) {
167 return isAdministrator(player) || player.donation.getSpent() >= EXTREME_DONATOR.getMoneyRequired();
168 }
169
173 public static boolean isElite(Player player) {
174 return isAdministrator(player) || player.donation.getSpent() >= ELITE_DONATOR.getMoneyRequired();
175 }
176
180 public static boolean isKing(Player player) {
181 return isAdministrator(player) || player.donation.getSpent() >= KING_DONATOR.getMoneyRequired();
182 }
183
187 public static boolean isIronman(Player player) {
188 return player.right.equals(IRONMAN) || player.right.equals(ULTIMATE_IRONMAN) || player.right.equals(HARDCORE_IRONMAN);
189 }
190
194 public static String getCrown(Player player) {
195 return getCrown(player.right);
196 }
197
201 public static String getCrown(PlayerRight right) {
202 return right.equals(PLAYER) ? "" : "<img=" + (right.getCrown() - 1) + ">";
203 }
204
205 public static String getColor(PlayerRight right) {
206 return "<col=" + right.getColor() + "><img=" + (right.getCrown() - 1) + ">";
207 }
208
209 public String getCrownText() {
210 return this == PLAYER ? "" : "<img=" + (crown - 1) + "> ";
211 }
212
213 public static int getForumGroupId(PlayerRight right) {
214 switch (right) {
215
216 case DONATOR:
217 return 10;
218
219 case SUPER_DONATOR:
220 return 14;
221
222 case EXTREME_DONATOR:
223 return 11;
224
225 case ELITE_DONATOR:
226 return 12;
227
228 case KING_DONATOR:
229 return 16;
230
231 default:
232 return -1;
233 }
234 }
235
239 public static int getDepositAmount(Player player) {
240 if (isKing(player))
241 return 28;
242 else if (isElite(player))
243 return 20;
244 else if (isExtreme(player))
245 return 15;
246 else if (isSuper(player))
247 return 10;
248 else if (isDonator(player))
249 return 5;
250 return 1;
251 }
252
253 public static int getPresetAmount(Player player) {
254 if (isKing(player))
255 return 10;
256 else if (isElite(player))
257 return 9;
258 else if (isExtreme(player))
259 return 8;
260 else if (isSuper(player))
261 return 7;
262 else if (isDonator(player))
263 return 6;
264 return 5;
265 }
266
267 public static int getBloodMoney(Player player) {
268 if (isKing(player))
269 return 1500;
270 else if (isElite(player))
271 return 1400;
272 else if (isExtreme(player))
273 return 1300;
274 else if (isSuper(player))
275 return 1200;
276 else if (isDonator(player))
277 return 1100;
278 return 1000;
279 }
280
281 public static int dropRateIncrease(Player player, int roll) {
282 if (isKing(player)) return roll * 9 / 10; // 10%
283 else if (isElite(player)) return roll * 37 / 40; // 7.5%
284 else if (isExtreme(player)) return roll * 47 / 50; // 6%
285 else if (isSuper(player)) return roll * 189 / 200; // 5.5%
286 else if (isDonator(player)) return roll * 191 / 200; // 4.5%
287 else return roll * 97 / 100; // 3%
288 }
289
290 public static double getDropRateBonus(Player player) {
291 if (isKing(player)) return 10;
292 else if (isElite(player)) return 7.5;
293 else if (isExtreme(player)) return 6;
294 else if (isSuper(player)) return 5.5;
295 else if (isDonator(player)) return 4.5;
296 else return 3;
297 }
298
299 public static PlayerRight forSpent(int spent) {
300 if (spent >= PlayerRight.KING_DONATOR.getMoneyRequired())
301 return PlayerRight.KING_DONATOR;
302 if (spent >= PlayerRight.EXTREME_DONATOR.getMoneyRequired())
303 return PlayerRight.EXTREME_DONATOR;
304 if (spent >= PlayerRight.ELITE_DONATOR.getMoneyRequired())
305 return PlayerRight.ELITE_DONATOR;
306 if (spent >= PlayerRight.SUPER_DONATOR.getMoneyRequired())
307 return PlayerRight.SUPER_DONATOR;
308 if (spent >= PlayerRight.DONATOR.getMoneyRequired())
309 return PlayerRight.DONATOR;
310 return null;
311 }
312
316 public String getName() {
317 return name;
318 }
319
323 public int getCrown() {
324 return crown;
325 }
326
327 public int getMoneyRequired() {
328 return moneyRequired;
329 }
330
334 public String getColor() {
335 return color;
336 }
337
341 public int getRestAnimation() {
342 return restAnimation;
343 }
344
345 public final boolean greater(PlayerRight other) {
346 return ordinal() > other.ordinal();
347 }
348
349 public final boolean greaterOrEqual(PlayerRight other) {
350 return ordinal() >= other.ordinal();
351 }
352
353 public final boolean less(PlayerRight other) {
354 return ordinal() < other.ordinal();
355 }
356
357 public final boolean lessOrEqual(PlayerRight other) {
358 return ordinal() <= other.ordinal();
359 }
360}
PlayerRight(String name, String color, int crown, int moneyRequired, int restAnimation)