Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
5513733
Livingwood Chastity Updated to include Bra and Shared Parameters.
Pyra-Tech Feb 3, 2026
15460c9
Merge branch 'Enraa:main' into pyra_chastity
Pyra-Tech Feb 8, 2026
f4b7e75
Livingwood Reference Updates
Pyra-Tech Feb 8, 2026
247cac0
Merge branch 'pyra_chastity' of https://github.com/Pyra-Tech/Gagbot i…
Pyra-Tech Feb 8, 2026
dfbd0a7
Updated Livingwood to resolve issues with fetching types and functions.
Pyra-Tech Feb 8, 2026
e825f06
Added Livingwood Texts and Blacklist it from those that mention Steel
Pyra-Tech Feb 8, 2026
15ab338
Resolved issues with checks.
Pyra-Tech Feb 8, 2026
ad1634c
Added Blocking function on Steel Chastity Bra text, and added another…
Pyra-Tech Feb 8, 2026
3522aa8
Merge branch 'Enraa:main' into pyra_chastity
Pyra-Tech Feb 8, 2026
78e3429
Minor Grammar changes and update to Bra text
Pyra-Tech Feb 8, 2026
1b700ac
Merge branch 'pyra_chastity' of https://github.com/Pyra-Tech/Gagbot i…
Pyra-Tech Feb 8, 2026
7befd49
Merge branch 'main' into pyra_chastity
Pyra-Tech Feb 11, 2026
5d7466d
Added Defensive code to text checks
Pyra-Tech Feb 11, 2026
a3133dd
Small updates to Livingwood Belt. Testing completed without throwing …
Pyra-Tech Feb 11, 2026
aae4eb2
Changes ported to bra
Pyra-Tech Feb 11, 2026
6348f88
When the World Needed Release the most...
Pyra-Tech Feb 12, 2026
87090aa
Merge branch 'Enraa:main' into pyra_chastity
Pyra-Tech Feb 12, 2026
105123e
Minor Tweak to Earth to allow faster decay at low levels
Pyra-Tech Feb 12, 2026
f5a907f
Removed Console.log
Pyra-Tech Feb 12, 2026
c724edd
Merge branch 'Enraa:main' into pyra_chastity
Pyra-Tech Feb 12, 2026
a7e5c23
Seal Texts Stage 1
Pyra-Tech Feb 14, 2026
dde49bb
Seal Texts Stage 2
Pyra-Tech Feb 14, 2026
647c69c
Merge branch 'Enraa:main' into pyra_chastity
Pyra-Tech Feb 16, 2026
9bd4ee6
Corrected Livingwood logic to check for undefined values
Enraa Feb 17, 2026
f32f646
Merge branch 'pyra_chastity' of https://github.com/Pyra-Tech/Gagbot i…
Enraa Feb 17, 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
19 changes: 11 additions & 8 deletions chastity/belt/belt_livingwood.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,28 @@ const { getUserVar, setUserVar } = require("../../functions/usercontext")
// or every 15 minutes, until the wearer successfully orgasms.
exports.growthCoefficient = (data) => { return 1 }
exports.decayCoefficient = (data) => { return 0.1 }
exports.minVibe = (data) => {
return Math.max(Math.min(Math.floor((Date.now() - (getUserVar(data.userID, "livingwoodbelt") ?? Date.now())) / 900000), 20), getUserVar(data.userID, "livingwoodvibe"))
exports.minVibe = (data) => {
return Math.max(Math.min(Math.floor((Date.now() - (getUserVar(data.userID, "livingwoodbelt") ?? Date.now())) / 900000), 20), getUserVar(data.userID, "livingwoodvibe"))
}
// Note, we must use a regular function context to retrieve a this correctly.
exports.onOrgasm = function(data) {
exports.onOrgasm = function (data) {
setUserVar(data.userID, "livingwoodvibe", Math.max((this.minVibe(data) - 10), 0))
setUserVar(data.userID, "livingwoodbelt", Date.now());
}
exports.onFailedOrgasm = function(data) {
exports.onFailedOrgasm = function (data) {
console.log(this);
setUserVar(data.userID, "livingwoodvibe", Math.min((this.minVibe(data) + 1), 20));
}
exports.onEquip = (data) => {
setUserVar(data.userID, "livingwoodvibe", 0);
setUserVar(data.userID, "livingwoodbelt", Date.now());
if (getUserVar(data.userID, "livingwoodvibe") == {}) setUserVar(data.userID, "livingwoodvibe", 0);
if (getUserVar(data.userID, "livingwoodbelt") == {}) setUserVar(data.userID, "livingwoodbelt", Date.now());
}
exports.onUnequip = (data) => {
setUserVar(data.userID, "livingwoodvibe", 0);
setUserVar(data.userID, "livingwoodbelt", Date.now());
// Check if user is wearing a Livingwood Bra otherwise Null Out Vars
if (getChastityBra(data.userID).chastitytype.includes("Livingwood")) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (getChastityBra(data.userID).chastitytype.includes("Livingwood")) {
if (!getChastityBra(data.userID)?.chastitytype == "bra_livingwood") {

setUserVar(data.userID, "livingwoodvibe", {});
setUserVar(data.userID, "livingwoodbelt", {});
}
}

exports.tags = ["living"]
Expand Down
15 changes: 9 additions & 6 deletions chastity/bra/bra_livingwood.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const { getUserVar, setUserVar } = require("../../functions/usercontext")
// or every 15 minutes, until the wearer successfully orgasms.
//
// This code is copied from chastity/belt/belt_livingwood.js and should be reviewed. Commented out for now.
/*

exports.growthCoefficient = (data) => { return 1 }
exports.decayCoefficient = (data) => { return 0.1 }
exports.minVibe = (data) => {
Expand All @@ -21,13 +21,16 @@ exports.onFailedOrgasm = function(data) {
setUserVar(data.userID, "livingwoodvibe", Math.min((this.minVibe() + 1), 20));
}
exports.onEquip = (data) => {
setUserVar(data.userID, "livingwoodvibe", 0);
setUserVar(data.userID, "livingwoodbelt", Date.now());
if (getUserVar(data.userID, "livingwoodvibe") == {}) setUserVar(data.userID, "livingwoodvibe", 0);
if (getUserVar(data.userID, "livingwoodbelt") == {}) setUserVar(data.userID, "livingwoodbelt", Date.now());
}
exports.onUnequip = (data) => {
setUserVar(data.userID, "livingwoodvibe", 0);
setUserVar(data.userID, "livingwoodbelt", Date.now());
}*/
// Check if user is wearing a Livingwood Belt otherwise Null Out Vars
if (getChastity(data.userID).chastitytype.includes("Livingwood")) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (getChastity(data.userID).chastitytype.includes("Livingwood")) {
if (!getChastity(data.userID)?.chastitytype == "belt_livingwood") {

setUserVar(data.userID, "livingwoodvibe", {});
setUserVar(data.userID, "livingwoodbelt", {});
}
}

// Name
exports.name = "Livingwood Bra"
Expand Down