From 06ad2a61aca7c4f3847f67cb7a51dba42b7fd055 Mon Sep 17 00:00:00 2001 From: VortrexFTW Date: Tue, 8 Sep 2020 22:02:59 -0500 Subject: [PATCH] Add give/take/clear acct staff flag funcs --- scripts/server/bitflag.js | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/scripts/server/bitflag.js b/scripts/server/bitflag.js index 1fa359ec..aebadf17 100644 --- a/scripts/server/bitflag.js +++ b/scripts/server/bitflag.js @@ -72,9 +72,42 @@ function doesClientHaveStaffPermission(client, requiredFlags) { function getStaffFlagValue(flagName) { if(flagName == "all") { return -1; - } + } + + if(typeof serverData.staffFlags[flagName] === "undefined") { + return false; + } return serverData.staffFlags[flagName]; } +// --------------------------------------------------------------------------- + +function giveClientStaffFlag(client, flagName) { + if(!getStaffFlagValue(flagName)) { + return false; + } + + getClientData(client).accountData.staffFlags = getClientData(client).accountData.staffFlags | getStaffFlagValue(flagName); + return true; +} + +// --------------------------------------------------------------------------- + +function takeClientStaffFlag(client, flagName) { + if(!getStaffFlagValue(flagName)) { + return false; + } + + getClientData(client).accountData.staffFlags = getClientData(client).accountData.staffFlags & ~getStaffFlagValue(flagName); + return true; +} + +// --------------------------------------------------------------------------- + +function clearClientStaffFlags(client) { + getClientData(client).accountData.staffFlags = getStaffFlagValue("none"); + return true; +} + // --------------------------------------------------------------------------- \ No newline at end of file