feat: add money rewards when killing a player
This commit is contained in:
parent
30700e9609
commit
7d98ca067b
3 changed files with 16 additions and 9 deletions
|
|
@ -47,13 +47,11 @@ public class DeathListener implements Listener {
|
|||
|
||||
int killedRanking = states.rankings.getPlayerRanking(killed);
|
||||
int killerRanking = states.rankings.getPlayerRanking(killer);
|
||||
int newKilledRanking = states.rankings.getPlayerRanking(killed);
|
||||
int newKillerRanking = states.rankings.getPlayerRanking(killer);
|
||||
|
||||
int[] results = ELO.EloRating(newKilledRanking, newKillerRanking, 200, 0);
|
||||
int[] newRankings = ELO.EloRating(killedRanking, killerRanking, 200, 0);
|
||||
|
||||
states.rankings.setPlayerRanking(killed, results[0]);
|
||||
states.rankings.setPlayerRanking(killer, results[1]);
|
||||
states.rankings.setPlayerRanking(killed, newRankings[0]);
|
||||
states.rankings.setPlayerRanking(killer, newRankings[1]);
|
||||
|
||||
MiniMessage mm = MiniMessage.miniMessage();
|
||||
|
||||
|
|
@ -61,10 +59,10 @@ public class DeathListener implements Listener {
|
|||
<yellow><white>[</white><dark_red>ELO</dark_red><white>]</white> <u>Updated rankings:</u>
|
||||
%s's ranking increased by %s (%s->%s)
|
||||
%s's ranking decreased by %s (%s->%s)</yellow>""",
|
||||
killer.getName(), results[1] - killerRanking, killerRanking, results[1], killed.getName(), killedRanking - results[0], killedRanking, results[0]));
|
||||
killer.getName(), newRankings[1] - killerRanking, killerRanking, newRankings[1], killed.getName(), killedRanking - newRankings[0], killedRanking, newRankings[0]));
|
||||
|
||||
Utilities.setScore(killed, results[0]);
|
||||
Utilities.setScore(killer, results[1]);
|
||||
Utilities.setScore(killed, newRankings[0]);
|
||||
Utilities.setScore(killer, newRankings[1]);
|
||||
|
||||
Utilities.announce(msg);
|
||||
|
||||
|
|
@ -78,11 +76,18 @@ public class DeathListener implements Listener {
|
|||
this.pointsAPI = PlayerPoints.getInstance().getAPI();
|
||||
|
||||
if (this.pointsAPI != null) {
|
||||
// Take money
|
||||
double money = pointsAPI.look(killed.getUniqueId());
|
||||
money = money * ((double) (100 - config.getInt("percentOfMoneyToTakeOnKills")) / 100);
|
||||
pointsAPI.set(killed.getUniqueId(), (int) money);
|
||||
|
||||
// Give money
|
||||
int eloGain = newRankings[1] - killerRanking;
|
||||
int multiplier = config.getInt("moneyMultiplier");
|
||||
pointsAPI.give(killer.getUniqueId(), eloGain*multiplier);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ killCommands:
|
|||
|
||||
# Percent of killed's money to take
|
||||
percentOfMoneyToTakeOnKills: 25
|
||||
# Constant used to multiply eloGain with, the result being the amount of money given to the killer
|
||||
moneyMultiplier: 20
|
||||
|
||||
# List of commands to run every eggOwnerCommandInterval s
|
||||
# <owner> will be replaced by the current egg owner's name
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ permissions:
|
|||
children:
|
||||
smp4.setranking: true
|
||||
smp4.rankings: true
|
||||
default: false
|
||||
default: true
|
||||
|
||||
smp4.setranking:
|
||||
default: false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue