From 36716afc2b6c853aaa407919eb0f230ddcb0866b Mon Sep 17 00:00:00 2001 From: lowercasedonkey <lowercasedonkey@gmail.com> Date: Thu, 20 Feb 2020 00:29:06 -0500 Subject: [PATCH] vaginalAttachment --- js/003-data/miscData.js | 21 +++++++++- src/js/wardrobeUse.js | 62 +++++++++++++++++++++++++++++- src/uncategorized/slaveInteract.tw | 9 +---- 3 files changed, 83 insertions(+), 9 deletions(-) diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js index e257949a12a..a071438fa14 100644 --- a/js/003-data/miscData.js +++ b/js/003-data/miscData.js @@ -2485,7 +2485,26 @@ App.Data.misc = { vaginalAttachments: [ {name: "None", value: "none"}, - {name: "Vibrating attachment", value: "vibrator"} + { + name: "Vibrating attachment", + value: "vibrator", + unlock: function(slave) { + if (V.toysBoughtVaginalAttachments > 0) { + if (slave) { + if (slave.vaginalAccessory === "none") { + return "No vaginal accessory to attach it to"; + } else if (slave.vaginalAccessory === "bullet vibrator" || slave.vaginalAccessory === "smart bullet vibrator") { + return "Vaginal accessory already vibrates"; + } else { + return true; + } + } else { + return true; + } + } + } + + } ], dickAccessories: [ diff --git a/src/js/wardrobeUse.js b/src/js/wardrobeUse.js index ebbf024f6de..f4e8cf0ceae 100644 --- a/src/js/wardrobeUse.js +++ b/src/js/wardrobeUse.js @@ -524,6 +524,66 @@ App.UI.Wardrobe.vaginalAccessory = function(slave) { return jQuery('#vaginalAccessory').empty().append(el); }; +App.UI.Wardrobe.vaginalAttachment = function(slave) { + if (slave.fuckdoll !== 0) { + return; + } else if (slave.vaginalAccessory === "none") { + return jQuery('#vaginalAttachment').empty(); + } + + const + { + // eslint-disable-next-line no-unused-vars + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); + + let el = document.createElement('div'); + + let label = document.createElement('div'); + label.append(`Vaginal accessory attachment: `); + + let choice = document.createElement('span'); + choice.style.fontWeight = "bold"; + choice.textContent = (`${slave.vaginalAttachment} `); + label.appendChild(choice); + + if (slave.vaginalAttachment !== `none`) { + let choiceOptionsArray = []; + choiceOptionsArray.push({text: `None`, updateSlave: {vaginalAttachment: `none`}}); + label.appendChild(App.UI.Wardrobe.generateRows(choiceOptionsArray, "vaginalAttachment", slave, false)); + } + el.appendChild(label); + + let optionsArray = []; + + let clothingOption; + App.Data.misc.vaginalAttachments.forEach(item => { + clothingOption = { + text: item.name, + updateSlave: {vaginalAttachment: item.value} + }; + if (item.fs) { + clothingOption.FS = item.fs; + } + + if (item.value !== "none") { + // skip none in set, we set the link elsewhere. + optionsArray.push(clothingOption); + } + }); + + // Sort + optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1); + + // Options + let links = document.createElement('div'); + links.className = "choices"; + links.appendChild(App.UI.Wardrobe.generateRows(optionsArray, "vaginalAttachment", slave, true)); + el.appendChild(links); + + return jQuery('#vaginalAttachment').empty().append(el); +}; + App.UI.Wardrobe.generateRows = function(array, category, slave, accessCheck=false) { // category should be in the form of slave.category, the thing we want to update. @@ -612,7 +672,7 @@ App.UI.Wardrobe.refreshAll = function(slave) { App.UI.Wardrobe.buttplug(slave); App.UI.Wardrobe.buttplugAttachment(slave); App.UI.Wardrobe.vaginalAccessory(slave); - + App.UI.Wardrobe.vaginalAttachment(slave); return; }; diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index 6c3bba5ed1a..71e840b7b1e 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -227,13 +227,8 @@ <<if $activeSlave.vagina > -1>> <span id="vaginalAccessory"></span> <script>App.UI.Wardrobe.vaginalAccessory(V.activeSlave)</script> - <<if isItemAccessible("vibrator") && ($activeSlave.vaginalAccessory != "none" && $activeSlave.vaginalAccessory != "bullet vibrator" && $activeSlave.vaginalAccessory != "smart bullet vibrator") && $toysBoughtVaginalAttachments == 1>> - <br> - Vaginal accessory attachment: - ''<span id="vaginalAttachment">$activeSlave.vaginalAttachment</span>.'' - <<link "None">><<set $activeSlave.vaginalAttachment = "none">><<replace "#vaginalAttachment">>$activeSlave.vaginalAttachment<</replace>><</link>> - | <<link "Vibrating dildo">><<set $activeSlave.vaginalAttachment = "vibrator">><<replace "#vaginalAttachment">>$activeSlave.vaginalAttachment<</replace>><</link>> - <</if>> + <span id="vaginalAttachment"></span> + <script>App.UI.Wardrobe.vaginalAttachment(V.activeSlave)</script> <</if>> <<if $activeSlave.dick > 0>> -- GitLab