From 95cd2cc026c4fadf778a4fd7ad1e4cf5aab6eaa1 Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Mon, 29 Oct 2018 22:02:16 +1100 Subject: [PATCH] BUGFIX: level 0 and below can't have ranks --- Shared/progression.js | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/Shared/progression.js b/Shared/progression.js index c74f7f0..467bec1 100644 --- a/Shared/progression.js +++ b/Shared/progression.js @@ -56,6 +56,12 @@ exports.RankUp = async function(client, member, level) { member = guild.members.get(user.id); } + //BUGFIX: level 0 and lower can't have a rank + if (level < process.env.RANK_1_THRESHOLD) { + removeRankRoles(guild, member); + return ""; + } + //Snapping the level variable if (level < process.env.RANK_2_THRESHOLD) { level = process.env.RANK_1_THRESHOLD; @@ -78,17 +84,8 @@ exports.RankUp = async function(client, member, level) { return ""; } - //the ranks as roles - let ranks = [ - guild.roles.find(role => role.name === process.env.RANK_1), - guild.roles.find(role => role.name === process.env.RANK_2), - guild.roles.find(role => role.name === process.env.RANK_3) - ] - - //remove all existing roles - for(let i = 0; i < ranks.length; i++) { - member.removeRole(ranks[i].id); - } + //remove all ranks + removeRankRoles(guild, member); //this will enable the new rooms member.addRole(levelRole); @@ -96,3 +93,17 @@ exports.RankUp = async function(client, member, level) { //return the result return "rankUp"; } + +function removeRankRoles(guild, member) { + //the ranks as roles + let ranks = [ + guild.roles.find(role => role.name === process.env.RANK_1), + guild.roles.find(role => role.name === process.env.RANK_2), + guild.roles.find(role => role.name === process.env.RANK_3) + ]; + + //remove all existing roles + for(let i = 0; i < ranks.length; i++) { + member.removeRole(ranks[i].id); + } +} \ No newline at end of file