RuneHive-Game
Loading...
Searching...
No Matches
AchievementWriter.java
Go to the documentation of this file.
1package com.runehive.content.achievement;
2
3import com.runehive.content.writer.InterfaceWriter;
4import com.runehive.game.world.entity.mob.player.Player;
5import com.runehive.net.packet.out.SendColor;
6import com.runehive.net.packet.out.SendScrollbar;
7import com.runehive.net.packet.out.SendString;
8
9import static com.runehive.content.achievement.AchievementType.*;
10
11/**
12 * Handles the achievement tab.
13 *
14 * @author Daniel
15 */
16public class AchievementWriter extends InterfaceWriter {
17
19 super(player);
20 int total = AchievementList.values().length;
21 int progress = (int) (AchievementHandler.getTotalCompleted(player) * 100 / (double) AchievementList.getTotal());
22
25 int skilling = (int) (AchievementHandler.getDifficultyCompletion(player, SKILLING) * 100 / (double) AchievementHandler.getDifficultyAmount(SKILLING));
26 int minigame = (int) (AchievementHandler.getDifficultyCompletion(player, MINIGAME) * 100 / (double) AchievementHandler.getDifficultyAmount(MINIGAME));
27 int miscellaneous = (int) (AchievementHandler.getDifficultyCompletion(player, MISCELLANEOUS) * 100 / (double) AchievementHandler.getDifficultyAmount(MISCELLANEOUS));
28
29 player.send(new SendString("Player Killing (" + pvp + "%)", 35051));
30 player.send(new SendColor(35051, AchievementHandler.getColor(player, PVP)));
31 player.send(new SendString("Monster Killing (" + pvm + "%)", 35052));
32 player.send(new SendColor(35052, AchievementHandler.getColor(player, PVM)));
33 player.send(new SendString("Skilling (" + skilling + "%)", 35053));
35 player.send(new SendString("Minigames (" + minigame + "%)", 35054));
37 player.send(new SendString("Miscellaneous (" + miscellaneous + "%)", 35055));
39
40 player.send(new SendScrollbar(35050, 200));
41 player.send(new SendString("Completed: " + AchievementHandler.getTotalCompleted(player) + "/" + total + " (" + progress + "%)", 35004));
42 }
43
44 @Override
45 protected int startingIndex() {
46 return 35051;
47 }
48
49 @Override
50 protected String[] text() {
51 return null;
52 }
53
54 @Override
55 protected int[][] color() {
56 return null;
57 }
58
59 @Override
60 protected int[][] font() {
61 return null;
62 }
63}
static int getDifficultyAmount(AchievementType difficulty)
static int getDifficultyCompletion(Player player, AchievementType difficulty)
Handles getting the amount of achievements completed based on it's difficulty.
static int getTotalCompleted(Player player)
Gets the total amount of achievements completed.
static int getColor(Player player, AchievementType difficulty)
This class represents a character controlled by a player.
Definition Player.java:125
The OutgoingPacket that sends a color to a string in the client.
The OutgoingPacket that sends a string to a Players itemcontainer in the client.