Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
b5edbd9
Convert getters/gag functions to use server ID
Enraa Jun 15, 2026
10a4e44
Arousal now needs serverID
Enraa Jun 16, 2026
5d64a72
Merge branch 'main' into Split-By-Server
Enraa Jun 16, 2026
f335523
traceFirstParam
Enraa Jun 16, 2026
0d7971f
Merge branch 'Split-By-Server' of https://github.com/Enraa/Gagbot int…
Enraa Jun 16, 2026
f54e260
add serverID to some functions
Enraa Jun 16, 2026
e8f5da4
Merge branch 'main' into Split-By-Server
Enraa Jun 17, 2026
f10f561
Update getters/chastity for serverID
Enraa Jun 17, 2026
d685146
Some collar updates
Enraa Jun 17, 2026
aec5ab5
Merge branch 'main' into Split-By-Server
Enraa Jun 18, 2026
b87716e
more servers
Enraa Jun 18, 2026
c16a737
Update getDisplayTexts.js
Enraa Jun 18, 2026
dc88a27
On your mark
Enraa Jun 18, 2026
4ea9c62
y'all get set
Enraa Jun 18, 2026
5043104
Then pull the trigger and GO!
Enraa Jun 18, 2026
c526a96
Make a move before they can make an act ON YOU
Enraa Jun 18, 2026
e16dcd1
Merge branch 'main' into Split-By-Server
Enraa Jun 19, 2026
93a6e3a
Trapped in time
Enraa Jun 19, 2026
86643c4
Merge branch 'main' into Split-By-Server
Enraa Jun 19, 2026
d1694b2
If I could tell her of my jealousy...
Enraa Jun 19, 2026
4ae45ed
a
Enraa Jun 19, 2026
8c360b0
Update corsetfunctions.js
Enraa Jun 20, 2026
5bc4787
Merge branch 'main' into Split-By-Server
Enraa Jun 20, 2026
3e2067c
Wailing your sorrow is only my way
Enraa Jun 20, 2026
eccdb38
to comfort you...
Enraa Jun 20, 2026
af6e4ad
Remainders of innocent youth
Enraa Jun 20, 2026
f937962
a
Enraa Jun 20, 2026
a740cab
so many serverIDs
Enraa Jun 20, 2026
a8278ea
My hubris
Enraa Jun 20, 2026
a81c16c
FUNCTIONS ARE FINALLY DONE
Enraa Jun 20, 2026
94e89ae
Merge branch 'main' into Split-By-Server
Enraa Jun 21, 2026
f23eb66
chastity cleanup
Enraa Jun 21, 2026
c560f68
gags
Enraa Jun 21, 2026
53acaa7
Update gasmasklinked.js
Enraa Jun 21, 2026
df87979
Modify config options
Enraa Jun 21, 2026
071a70c
Toys
Enraa Jun 21, 2026
bef8b39
index.js
Enraa Jun 21, 2026
717a59a
The toast gets an ad
Enraa Jun 21, 2026
6c9c337
move aroused texts into lists
Enraa Jun 21, 2026
284dee6
so many eventfunctions
Enraa Jun 22, 2026
7aa626c
consent now guild ID specific
Enraa Jun 22, 2026
b801e38
commands plz
Enraa Jun 22, 2026
033b580
more. commands.
Enraa Jun 22, 2026
9e32673
slash commands done
Enraa Jun 23, 2026
24fccd2
context commands
Enraa Jun 23, 2026
68f1c4d
arrow functions cause crashes
Enraa Jun 23, 2026
dc702bc
fixes
Enraa Jun 23, 2026
46bb0ed
CHAOS MIMIC BROKE
Enraa Jun 23, 2026
0dafee8
inspector gadget
Enraa Jun 23, 2026
b5a2a93
More testing!
Enraa Jun 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions chastity/belt/belt_eternaledging.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ const { getChastityBra } = require("../../functions/getters/chastity/getChastity
// Chastity Belt of Eternal Edging
// The Denial Coefficient output of this belt will always be set to 1% higher than the wearer's current arousal.
exports.denialCoefficient = (data) => {
let braval = getBaseChastity(getChastityBra(data.userID)?.chastitytype)?.denialCoefficient() ?? 0;
let outnum = Math.round((getArousal(data.userID) / 10 * 1.01) * 10) / 10;
let braval = getBaseChastity(getChastityBra(data.serverID, data.userID)?.chastitytype)?.denialCoefficient() ?? 0;
let outnum = Math.round((getArousal(data.serverID, data.userID) / 10 * 1.01) * 10) / 10;
outnum = outnum - braval;
if (Math.round(outnum * 10) == Math.round(getArousal(data.userID))) {
if (Math.round(outnum * 10) == Math.round(getArousal(data.serverID, data.userID))) {
outnum += 0.1;
}
return Math.max(outnum, 1.0)
Expand Down
18 changes: 9 additions & 9 deletions chastity/belt/belt_livingwood.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,25 @@ exports.decayCoefficient = (data) => { return 0.1 }
// Never Fully Clear Arousal
exports.minArousal = (data) => { return 0.5 }
exports.minVibe = function(data) {
return Math.max(Math.min(Math.floor((Date.now() - (getUserVar(data.userID, "livingwood_chastity") ?? Date.now())) / 900000), 20), getUserVar(data.userID, "livingwood_vibe"))
return Math.max(Math.min(Math.floor((Date.now() - (getUserVar(data.serverID, data.userID, "livingwood_chastity") ?? Date.now())) / 900000), 20), getUserVar(data.serverID, data.userID, "livingwood_vibe"))
}
exports.onOrgasm = (data) => {
setUserVar(data.userID, "livingwood_vibe", Math.max((this.minVibe(data) - 10), 0))
setUserVar(data.userID, "livingwood_chastity", Date.now());
setUserVar(data.serverID, data.userID, "livingwood_vibe", Math.max((this.minVibe(data) - 10), 0))
setUserVar(data.serverID, data.userID, "livingwood_chastity", Date.now());
}
exports.onFailedOrgasm = (data) => {
//console.log(this);
setUserVar(data.userID, "livingwood_vibe", Math.min((this.minVibe(data) + 1), 20));
setUserVar(data.serverID, data.userID, "livingwood_vibe", Math.min((this.minVibe(data) + 1), 20));
}
exports.onEquip = (data) => {
if (!getUserVar(data.userID, "livingwood_vibe") || getUserVar(data.userID, "livingwood_vibe") == undefined) setUserVar(data.userID, "livingwood_vibe", 0);
if (!getUserVar(data.userID, "livingwood_chastity") || getUserVar(data.userID, "livingwood_chastity") == undefined) setUserVar(data.userID, "livingwood_chastity", Date.now());
if (!getUserVar(data.serverID, data.userID, "livingwood_vibe") || getUserVar(data.serverID, data.userID, "livingwood_vibe") == undefined) setUserVar(data.serverID, data.userID, "livingwood_vibe", 0);
if (!getUserVar(data.serverID, data.userID, "livingwood_chastity") || getUserVar(data.serverID, data.userID, "livingwood_chastity") == undefined) setUserVar(data.serverID, data.userID, "livingwood_chastity", Date.now());
}
exports.onUnequip = (data) => {
// Check if user is wearing a Livingwood Bra otherwise Null Out Vars
if (getChastityBra(data.userID)?.chastitytype != "bra_livingwood") {
setUserVar(data.userID, "livingwood_vibe", undefined);
setUserVar(data.userID, "livingwood_chastity", undefined);
if (getChastityBra(data.serverID, data.userID)?.chastitytype != "bra_livingwood") {
setUserVar(data.serverID, data.userID, "livingwood_vibe", undefined);
setUserVar(data.serverID, data.userID, "livingwood_chastity", undefined);
}
}

Expand Down
14 changes: 7 additions & 7 deletions chastity/belt/belt_petalsofanguish.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@ const { getChastity } = require("../../functions/getters/chastity/getChastity")

// Petals of Anguish as shown here: https://www.reddit.com/r/femalechastity/comments/1rbjaqq/fantasy_device_20/#lightbox
// This variant limits "actions" to the wearer to one per other user. This is simple to track with a "touchedbelt" array.
exports.canUnequip = (data) => { return !getChastity(data.userID).touchedbelt.includes(data.keyholderID) }
exports.canUnequip = (data) => { return !getChastity(data.serverID, data.userID).touchedbelt.includes(data.keyholderID) }

exports.canAccessToys = (data) => { return !getChastity(data.userID).touchedbelt.includes(data.keyholderID) }
exports.canAccessToys = (data) => { return !getChastity(data.serverID, data.userID).touchedbelt.includes(data.keyholderID) }

exports.canAccessCorset = (data) => { return !getChastity(data.userID).touchedbelt.includes(data.keyholderID) }
exports.canAccessCorset = (data) => { return !getChastity(data.serverID, data.userID).touchedbelt.includes(data.keyholderID) }

// The keyholder will get one free touch after putting the belt on the wearer. Unless it's themselves.
// Obviously the wearer will get instantly locked out.
exports.onEquip = (data) => { getChastity(data.userID).touchedbelt = [data.userID] }
exports.onEquip = (data) => { getChastity(data.serverID, data.userID).touchedbelt = [data.userID] }

// This variable should get cleared in assignChastity, but just in case.
exports.onUnequip = (data) => { delete getChastity(data.userID).touchedbelt }
exports.onUnequip = (data) => { delete getChastity(data.serverID, data.userID).touchedbelt }

// Fired on toy change! That user will no longer be allowed to access the belt.
exports.onToyChange = (data) => { getChastity(data.userID).touchedbelt.push(data.keyholderID) }
exports.onToyChange = (data) => { getChastity(data.serverID, data.userID).touchedbelt.push(data.keyholderID) }

// Fired on Corset change! That user will no longer be allowed to access the belt.
exports.onCorsetChange = (data) => { getChastity(data.userID).touchedbelt.push(data.keyholderID) }
exports.onCorsetChange = (data) => { getChastity(data.serverID, data.userID).touchedbelt.push(data.keyholderID) }

// Category
exports.category = "Chastity Belt"
Expand Down
2 changes: 1 addition & 1 deletion chastity/belt/belt_seal_air.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ exports.orgasmCooldown = (data) => { return 2 * Math.random() }
// Events
// Randomly reduce the level of arousal by a random percentage, then reduce by a further 10%
exports.onOrgasm = (data) => {
addArousal(data.userID, data.prevArousal * Math.random() * 0.9);
addArousal(data.serverID, data.userID, data.prevArousal * Math.random() * 0.9);
}

// Tags
Expand Down
20 changes: 10 additions & 10 deletions chastity/belt/belt_seal_arachne.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,33 @@ const { setUserVar } = require("../../functions/setters/config/setUserVar")
// Seal of the Pleasurable Descent (Arachne's Kiss)
// This Seal gradually increases the wearer's sensitivity (growthCoefficient), and raises the min arousal level for every successful orgasm while wearing it~
exports.growthCoefficient = function(data) {
return Math.min(2 + ((Date.now() - getUserVar(data.userID, "arachne_kiss") ?? Date.now()) / 900000), 10)
return Math.min(2 + ((Date.now() - getUserVar(data.serverID, data.userID, "arachne_kiss") ?? Date.now()) / 900000), 10)
}

// Set Min Arousal to be equal to Arachne Heat Value, and allow the cooldown period to shorten as Heat increases starting from 80% of default.
exports.minArousal = function(data) { return getUserVar(data.userID, "arachne_heat")}
exports.orgasmCooldown = function(data) { return 1 / (1 + (getUserVar(data.userID, "arachne_heat") / 2)) } // This should be 1.0 -> 0.0 as arachne_heat goes up
exports.minArousal = function(data) { return getUserVar(data.serverID, data.userID, "arachne_heat")}
exports.orgasmCooldown = function(data) { return 1 / (1 + (getUserVar(data.serverID, data.userID, "arachne_heat") / 2)) } // This should be 1.0 -> 0.0 as arachne_heat goes up

// No Increase to denial when worn
exports.denialCoefficient = (data) => { return 1 }

// Events
exports.onOrgasm = (data) => {
setUserVar(data.userID, "arachne_heat", (getUserVar(data.userID, "arachne_heat")) + 1)
addArousal(data.userID, (getUserVar(data.userID, "arachne_heat")));
setUserVar(data.serverID, data.userID, "arachne_heat", (getUserVar(data.serverID, data.userID, "arachne_heat")) + 1)
addArousal(data.serverID, data.userID, (getUserVar(data.serverID, data.userID, "arachne_heat")));
}
exports.onFailedOrgasm = (data) => {
// Add a small amount of arousal scaling with Growth Coefficient
addArousal(data.userID, (0.5 * this.growthCoefficient(data)));
addArousal(data.serverID, data.userID, (0.5 * this.growthCoefficient(data)));
}
exports.onEquip = (data) => {
// Configure initial variable values and 'Kiss' time
if (!getUserVar(data.userID, "arachne_heat") || getUserVar(data.userID, "arachne_heat") == undefined) setUserVar(data.userID, "arachne_heat", 1);
if (!getUserVar(data.userID, "arachne_kiss") || getUserVar(data.userID, "arachne_kiss") == undefined) setUserVar(data.userID, "arachne_kiss", Date.now());
if (!getUserVar(data.serverID, data.userID, "arachne_heat") || getUserVar(data.serverID, data.userID, "arachne_heat") == undefined) setUserVar(data.serverID, data.userID, "arachne_heat", 1);
if (!getUserVar(data.serverID, data.userID, "arachne_kiss") || getUserVar(data.serverID, data.userID, "arachne_kiss") == undefined) setUserVar(data.serverID, data.userID, "arachne_kiss", Date.now());
}
exports.onUnequip = (data) => {
setUserVar(data.userID, "arachne_heat", undefined);
setUserVar(data.userID, "arachne_kiss", undefined);
setUserVar(data.serverID, data.userID, "arachne_heat", undefined);
setUserVar(data.serverID, data.userID, "arachne_kiss", undefined);
}

// Tags
Expand Down
16 changes: 8 additions & 8 deletions chastity/belt/belt_seal_cyclical.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ exports.denialCoefficient = (data) => { return 1 }
// Events
exports.onEquip = (data) => {
// Configure base arousal value
if (!getUserVar(data.userID, "base_arousal") || getUserVar(data.userID, "base_arousal") == undefined) setUserVar(data.userID, "base_arousal", getArousal(data.userID) ?? 0);
if (!getUserVar(data.serverID, data.userID, "base_arousal") || getUserVar(data.serverID, data.userID, "base_arousal") == undefined) setUserVar(data.serverID, data.userID, "base_arousal", getArousal(data.serverID, data.userID) ?? 0);

// Add a timer which will reset the arousal every 3 mins
let chastityinterval = setInterval(() => {
if ((getChastity(data.userID)?.chastitytype == "belt_seal_cyclical") && getUserVar(data.userID, "base_arousal")) {
if ((getChastity(data.serverID, data.userID)?.chastitytype == "belt_seal_cyclical") && getUserVar(data.serverID, data.userID, "base_arousal")) {
try {
clearArousal(data.userID);
addArousal(data.userID, getUserVar(data.userID, "base_arousal"));
clearArousal(data.serverID, data.userID);
addArousal(data.serverID, data.userID, getUserVar(data.serverID, data.userID, "base_arousal"));
}
catch (err) {
console.log(err)
Expand All @@ -30,7 +30,7 @@ exports.onEquip = (data) => {
// They're somehow not wearing the belt anymore or something else broke.
try {
clearInterval(chastityinterval);
setUserVar(data.userID, "base_arousal", undefined);
setUserVar(data.serverID, data.userID, "base_arousal", undefined);
}
catch (err) {
console.log(err)
Expand All @@ -41,9 +41,9 @@ exports.onEquip = (data) => {

exports.onUnequip = (data) => {
// Add All Stored Arousal at once
clearArousal(data.userID);
addArousal(data.userID, getUserVar(data.userID, "base_arousal"));
setUserVar(data.userID, "base_arousal", undefined);
clearArousal(data.serverID, data.userID);
addArousal(data.serverID, data.userID, getUserVar(data.serverID, data.userID, "base_arousal"));
setUserVar(data.serverID, data.userID, "base_arousal", undefined);
}

// Tags
Expand Down
17 changes: 8 additions & 9 deletions chastity/belt/belt_seal_earth.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,26 @@ exports.orgasmCooldown = (data) => { return 2 }
exports.denialCoefficient = (data) => { return 1 }

// Set Min Arousal to be equal to the base Arousal + 5% when equipped
exports.minArousal = function(data) { return getUserVar(data.userID, "base_arousal") * 0.90}
exports.maxArousal = function(data) { return getUserVar(data.userID, "base_arousal") * 1.10}
exports.minArousal = function(data) { return getUserVar(data.serverID, data.userID, "base_arousal") * 0.90}
exports.maxArousal = function(data) { return getUserVar(data.serverID, data.userID, "base_arousal") * 1.10}

// Events
exports.onOrgasm = (data) => {
// Maintain Arousal level and Increase Base Arousal to raise cap as the 'rock' jolts slightly forwards
addArousal(data.userID, getUserVar(data.userID, "base_arousal"));
setUserVar(data.userID, "base_arousal", getUserVar(data.userID, "base_arousal") * 1.1)
console.log(getUserVar(data.userID, "base_arousal"))
addArousal(data.serverID, data.userID, getUserVar(data.serverID, data.userID, "base_arousal"));
setUserVar(data.serverID, data.userID, "base_arousal", getUserVar(data.serverID, data.userID, "base_arousal") * 1.1)
}
exports.afterArousalChange = (data) => {
// Earth only allows slow shifts in the arousal values regardless of vibe strength
if(getArousal(data.userID) > getUserVar(data.userID, "base_arousal")) setUserVar(data.userID, "base_arousal", Math.max(getUserVar(data.userID, "base_arousal") * 1.02, getUserVar(data.userID, "base_arousal") + 0.01))
else if(getArousal(data.userID) < getUserVar(data.userID, "base_arousal")) setUserVar(data.userID, "base_arousal", Math.max(Math.min(getUserVar(data.userID, "base_arousal") * 0.98, getUserVar(data.userID, "base_arousal") - 0.01), 0))
if(getArousal(data.serverID, data.userID) > getUserVar(data.serverID, data.userID, "base_arousal")) setUserVar(data.serverID, data.userID, "base_arousal", Math.max(getUserVar(data.serverID, data.userID, "base_arousal") * 1.02, getUserVar(data.serverID, data.userID, "base_arousal") + 0.01))
else if(getArousal(data.serverID, data.userID) < getUserVar(data.serverID, data.userID, "base_arousal")) setUserVar(data.serverID, data.userID, "base_arousal", Math.max(Math.min(getUserVar(data.serverID, data.userID, "base_arousal") * 0.98, getUserVar(data.serverID, data.userID, "base_arousal") - 0.01), 0))
}
exports.onEquip = (data) => {
// Configure base arousal value
if (!getUserVar(data.userID, "base_arousal") || getUserVar(data.userID, "base_arousal") == undefined) setUserVar(data.userID, "base_arousal", getArousal(data.userID));
if (!getUserVar(data.serverID, data.userID, "base_arousal") || getUserVar(data.serverID, data.userID, "base_arousal") == undefined) setUserVar(data.serverID, data.userID, "base_arousal", getArousal(data.serverID, data.userID));
}
exports.onUnequip = (data) => {
setUserVar(data.userID, "base_arousal", undefined);
setUserVar(data.serverID, data.userID, "base_arousal", undefined);
}

// Tags
Expand Down
6 changes: 3 additions & 3 deletions chastity/belt/belt_seal_falsecalm.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ exports.maxArousal = (data) => { return 0 }
// Randomly reduce the level of arousal by a random percentage, then reduce by a further 10%
exports.onEquip = (data) => {
// Configure base arousal value
if (!getUserVar(data.userID, "base_arousal") || getUserVar(data.userID, "base_arousal") == undefined) setUserVar(data.userID, "base_arousal", getArousal(data.userID) ?? 0);
if (!getUserVar(data.serverID, data.userID, "base_arousal") || getUserVar(data.serverID, data.userID, "base_arousal") == undefined) setUserVar(data.serverID, data.userID, "base_arousal", getArousal(data.serverID, data.userID) ?? 0);
}

exports.onUnequip = (data) => {
// Add All Stored Arousal at once
addArousal(data.userID, getUserVar(data.userID, "base_arousal"));
setUserVar(data.userID, "base_arousal", undefined);
addArousal(data.serverID, data.userID, getUserVar(data.serverID, data.userID, "base_arousal"));
setUserVar(data.serverID, data.userID, "base_arousal", undefined);
}

// Tags
Expand Down
10 changes: 5 additions & 5 deletions chastity/belt/belt_seal_fire.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@ exports.orgasmCooldown = (data) => { return 0.5 }
exports.denialCoefficient = (data) => { return 1 }

// Set Min Arousal to be equal to the initial Arousal when equipped
exports.minArousal = function(data) { return getUserVar(data.userID, "base_arousal") }
exports.minArousal = function(data) { return getUserVar(data.serverID, data.userID, "base_arousal") }

// Events
exports.onOrgasm = (data) => {
// Reset Arousal to Base
addArousal(data.userID, getUserVar(data.userID, "base_arousal"));
addArousal(data.serverID, data.userID, getUserVar(data.serverID, data.userID, "base_arousal"));
}
exports.onFailedOrgasm = (data) => {
// Add a small amount of arousal with each failed attempt
addArousal(data.userID, 2 * Math.random());
addArousal(data.serverID, data.userID, 2 * Math.random());
}
exports.onEquip = (data) => {
// Configure base arousal value
if (!getUserVar(data.userID, "base_arousal") || getUserVar(data.userID, "base_arousal") == undefined) setUserVar(data.userID, "base_arousal", getArousal(data.userID));
if (!getUserVar(data.serverID, data.userID, "base_arousal") || getUserVar(data.serverID, data.userID, "base_arousal") == undefined) setUserVar(data.serverID, data.userID, "base_arousal", getArousal(data.serverID, data.userID));
}
exports.onUnequip = (data) => {
setUserVar(data.userID, "base_arousal", undefined);
setUserVar(data.serverID, data.userID, "base_arousal", undefined);
}

// Tags
Expand Down
12 changes: 6 additions & 6 deletions chastity/belt/belt_seal_ice.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,27 @@ exports.orgasmCooldown = (data) => { return 2 }
exports.denialCoefficient = (data) => { return 1 }

// Set Min Arousal to be equal to the base Arousal + 5% when equipped
exports.maxArousal = function(data) { return getUserVar(data.userID, "base_arousal") * 1.05}
exports.maxArousal = function(data) { return getUserVar(data.serverID, data.userID, "base_arousal") * 1.05}

// Events
exports.onOrgasm = (data) => {
// Decrease Base Arousal as the ice refreezes
setUserVar(data.userID, "base_arousal", getUserVar(data.userID, "base_arousal") * 0.5)
setUserVar(data.serverID, data.userID, "base_arousal", getUserVar(data.serverID, data.userID, "base_arousal") * 0.5)
}
exports.onFailedOrgasm = (data) => {
// Remove a small amount of arousal with each failed attempt
addArousal(data.userID, -0.5);
addArousal(data.serverID, data.userID, -0.5);
}
exports.afterArousalChange = (data) => {
// Gradually raise the arousal cap as the ice slowly melts
if(getArousal(data.userID) > getUserVar(data.userID, "base_arousal")) setUserVar(data.userID, "base_arousal", getUserVar(data.userID, "base_arousal") * 1.001)
if(getArousal(data.serverID, data.userID) > getUserVar(data.serverID, data.userID, "base_arousal")) setUserVar(data.serverID, data.userID, "base_arousal", getUserVar(data.serverID, data.userID, "base_arousal") * 1.001)
}
exports.onEquip = (data) => {
// Configure base arousal value
if (!getUserVar(data.userID, "base_arousal") || getUserVar(data.userID, "base_arousal") == undefined) setUserVar(data.userID, "base_arousal", getArousal(data.userID) ?? 5);
if (!getUserVar(data.serverID, data.userID, "base_arousal") || getUserVar(data.serverID, data.userID, "base_arousal") == undefined) setUserVar(data.serverID, data.userID, "base_arousal", getArousal(data.serverID, data.userID) ?? 5);
}
exports.onUnequip = (data) => {
setUserVar(data.userID, "base_arousal", undefined);
setUserVar(data.serverID, data.userID, "base_arousal", undefined);
}

// Tags
Expand Down
Loading
Loading