RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.content.RoyaltyProgram Class Reference

Created by Daniel on 2017-07-13. More...

Classes

enum  RoyaltyReward
 Holds all the RoyaltyReward data. More...

Static Public Member Functions

static void append (Player player)
 Handles the royalty program reward.
static void append (Player player, int increment)
 Handles the royalty program reward.
static void open (Player player)
 Opens the Royalty Reward Program itemcontainer.

Detailed Description

Created by Daniel on 2017-07-13.

Definition at line 24 of file RoyaltyProgram.java.

Member Function Documentation

◆ append() [1/2]

void com.runehive.content.RoyaltyProgram.append ( Player player)
static

Handles the royalty program reward.

Definition at line 64 of file RoyaltyProgram.java.

64 {
65 append(player, 1);
66 }

References append().

Referenced by append().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ append() [2/2]

void com.runehive.content.RoyaltyProgram.append ( Player player,
int increment )
static

Handles the royalty program reward.

Definition at line 69 of file RoyaltyProgram.java.

69 {
70 player.royalty += increment;
71 String suffix = increment > 1 ? "s" : "";
72
73 int royalty = player.royalty;
74 boolean levelUp = royalty >= 100;
75
76 if (levelUp) {
77 player.royaltyLevel++;
78 player.royalty = 0;
79 World.sendMessage("<col=9E4629> RP: " + PlayerRight.getCrown(player) + "<col=9E4629>" + player.getName()
80 + "</col> has just reached prestige <col=9E4629>" + player.royaltyLevel + "</col>.");
81 }
82
83 player.send(new SendMessage("You have just received <col=9E4629>" + increment + "</col> royalty point"
84 + (suffix) + ". You now have <col=9E4629>" + player.royalty + "</col> point"
85 + (player.royalty > 1 ? "s" : "") + " and are level <col=9E4629>" + player.royaltyLevel + "</col>."));
86
87 if (!RoyaltyReward.forLevel(royalty).isPresent())
88 return;
89
90 RoyaltyReward reward = RoyaltyReward.forLevel(royalty).get();
91 int item = reward.getReward().getId();
92 int amount = reward.getReward().getAmount() * player.royaltyLevel;
93 String name = ItemDefinition.get(item).getName();
94 player.inventory.addOrDrop(new Item(item, amount));
95 player.send(
96 new SendMessage("You have been rewarded with " + amount + " " + name + ".", MessageColor.DARK_GREEN));
97 }

References com.runehive.game.world.items.containers.inventory.Inventory.addOrDrop(), com.runehive.util.MessageColor.DARK_GREEN, com.runehive.content.RoyaltyProgram.RoyaltyReward.forLevel(), com.runehive.game.world.items.ItemDefinition.get(), com.runehive.game.world.items.Item.getAmount(), com.runehive.game.world.entity.mob.player.PlayerRight.getCrown(), com.runehive.game.world.items.Item.getId(), com.runehive.game.world.entity.mob.player.Player.getName(), com.runehive.game.world.items.ItemDefinition.getName(), com.runehive.content.RoyaltyProgram.RoyaltyReward.getReward(), com.runehive.game.world.entity.mob.player.Player.inventory, com.runehive.game.world.entity.mob.player.Player.royalty, com.runehive.game.world.entity.mob.player.Player.royaltyLevel, com.runehive.game.world.entity.mob.player.Player.send(), and com.runehive.game.world.World.sendMessage().

Here is the call graph for this function:

◆ open()

void com.runehive.content.RoyaltyProgram.open ( Player player)
static

Opens the Royalty Reward Program itemcontainer.

Definition at line 100 of file RoyaltyProgram.java.

100 {
101
102 if (Area.inWilderness(player)) {
103 player.dialogueFactory.sendStatement("You can not open a Royalty Program while in the wilderness!")
104 .execute();
105 return;
106 }
107
108 if (player.getCombat().inCombat()) {
109 player.dialogueFactory.sendStatement("You can not open a Royalty Program while in combat!").execute();
110 return;
111 }
112
113 if (player.playerAssistant.busy()) {
114 player.dialogueFactory.sendStatement("You can not open a Royalty Program right now!").execute();
115 return;
116
117 }
118
119 else {
120
121 int size = RoyaltyReward.values().length;
122 // Item[] items = new Item[size + 3];
123
124 for (int index = 0, string = 37116; index < size; index++) {
125 RoyaltyReward perk = RoyaltyReward.forOrdinal(index).get();
126 Item item = perk.getReward();
127 int amount = player.royaltyLevel == 0 ? perk.getReward().getAmount()
128 : perk.getReward().getAmount() * player.royaltyLevel;
129
130 // items[index + 3] = new Item(item.getId(), amount);
131 player.send(new SendString("<col=3c50b2>Level: " + perk.getLevel(), string++));
132 player.send(new SendString("<col=347043>" + Utility.formatDigits(amount) + "x " + item.getName(),
133 string++));
134 }
135
136 player.send(new SendString("The Program rewards players for their activity in game. Every 30", 37111));
137 player.send(
138 new SendString("minutes everyone is awarded 1 point. Points accumulate until 100 where", 37112));
139 player.send(
140 new SendString("you gain a prestige level, points will be reset and you will be eligible", 37113));
141 player.send(
142 new SendString("for the rewards again. Reward amounts are multiplied by prestige level.", 37114));
143 player.send(new SendString("", 37115));
144 player.send(new SendString("RP: " + player.royalty + "\\nLevel:" + player.royaltyLevel, 37107));
145 player.send(new SendString("Royalty Program", 37103));
146 player.send(new SendScrollbar(37110, size * 50));
147 // player.send(new SendItemOnInterface(37199, items));
148 player.interfaceManager.open(37100);
149 }
150 }
val index

References com.runehive.game.world.entity.mob.player.PlayerAssistant.busy(), com.runehive.game.world.entity.mob.player.Player.dialogueFactory, com.runehive.content.dialogue.DialogueFactory.execute(), com.runehive.util.Utility.formatDigits(), com.runehive.content.RoyaltyProgram.RoyaltyReward.forOrdinal(), com.runehive.game.world.items.Item.getAmount(), com.runehive.game.world.entity.mob.player.Player.getCombat(), com.runehive.content.RoyaltyProgram.RoyaltyReward.getLevel(), com.runehive.game.world.items.Item.getName(), com.runehive.content.RoyaltyProgram.RoyaltyReward.getReward(), com.runehive.game.world.entity.mob.player.Player.interfaceManager, com.runehive.game.world.position.Area.inWilderness(), com.runehive.game.world.entity.mob.player.InterfaceManager.open(), com.runehive.game.world.entity.mob.player.Player.playerAssistant, com.runehive.game.world.entity.mob.player.Player.royalty, com.runehive.game.world.entity.mob.player.Player.royaltyLevel, com.runehive.game.world.entity.mob.player.Player.send(), and com.runehive.content.dialogue.DialogueFactory.sendStatement().

Here is the call graph for this function:

The documentation for this class was generated from the following file: