From 01efdfb6ed36f5e541cd3c903619211c4d3f3f89 Mon Sep 17 00:00:00 2001 From: lowercasedonkey <lowercasedonkey@gmail.com> Date: Tue, 21 Apr 2020 22:03:49 -0400 Subject: [PATCH] dietbase snacks and cleanup --- src/interaction/slaveInteract.js | 129 +++++++++++++++++++++++++++-- src/uncategorized/slaveInteract.tw | 20 +---- 2 files changed, 125 insertions(+), 24 deletions(-) diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js index bda9cb963bd..8a38bd01bc9 100644 --- a/src/interaction/slaveInteract.js +++ b/src/interaction/slaveInteract.js @@ -559,27 +559,27 @@ App.UI.SlaveInteract.hormones = function(slave) { choice.style.fontWeight = "bold"; switch(slave.hormones) { case 2: { - choice.textContent = `intensive female `; + choice.textContent = `intensive female. `; break; } case 1: { - choice.textContent = `female `; + choice.textContent = `female. `; break; } case 0: { - choice.textContent = `none `; + choice.textContent = `none. `; break; } case -1: { - choice.textContent = `male `; + choice.textContent = `male. `; break; } case -2: { - choice.textContent = `intensive male `; + choice.textContent = `intensive male. `; break; } default: { - choice.textContent = `Not set `; + choice.textContent = `Not set. `; } } @@ -595,7 +595,6 @@ App.UI.SlaveInteract.hormones = function(slave) { return jQuery('#hormones').empty().append(el); }; - App.UI.SlaveInteract.diet = function(slave) { const { // eslint-disable-next-line no-unused-vars @@ -614,7 +613,7 @@ App.UI.SlaveInteract.diet = function(slave) { title.textContent = `Diet: `; let choice = document.createElement('span'); choice.style.fontWeight = "bold"; - choice.textContent = `${capFirstChar(slave.diet)} `; + choice.textContent = `${capFirstChar(slave.diet)}. `; title.append(choice); el.append(title); @@ -726,6 +725,118 @@ App.UI.SlaveInteract.diet = function(slave) { return jQuery('#diet').empty().append(el); }; +App.UI.SlaveInteract.dietBase = function(slave) { + let el = document.createElement('div'); + const milk = []; + const cum = []; + + // Milk + if (slave.dietCum <2) { + milk.push({text: `Milk added`, updateSlave: {dietMilk: 1}}); + if (slave.dietCum < 2) { + milk.push({text: `Milk based`, updateSlave: {dietMilk: 2, dietCum: 0}}); + } + if (slave.dietMilk) { + milk.push({text: `Remove milk`, updateSlave: {dietMilk: 0}}); + } + } else { + milk.push({text: `Milk`, disabled: `Diet is based entirely on milk`}); + } + + + // Cum + if (slave.dietMilk <2) { + cum.push({text: `Cum added`, updateSlave: {dietCum: 1}}); + cum.push({text: `Cum based`, updateSlave: {dietCum: 2, dietMilk: 0}}); + if (slave.dietCum) { + cum.push({text: `Remove cum`, updateSlave: {dietCum: 0}}); + } + } else { + cum.push({text: `Cum`, disabled: `Diet is based entirely on milk`}); + } + + let title = document.createElement('div'); + title.textContent = `Diet base: `; + let choice = document.createElement('span'); + choice.style.fontWeight = "bold"; + if (slave.dietCum === 2) { + choice.textContent = `cum based. `; + } else if (slave.dietCum === 1 && slave.dietMilk === 0) { + choice.textContent = `cum added. `; + } else if (slave.dietCum === 1 && slave.dietMilk === 1) { + choice.textContent = `cum and milk added. `; + } else if (slave.dietMilk === 1 && slave.dietCum === 0) { + choice.textContent = `milk added. `; + } else if (slave.dietMilk === 2) { + choice.textContent = `milk based. `; + } else if (slave.dietCum === 0 && slave.dietMilk === 0) { + choice.textContent = `normal. `; + } else { + choice.textContent = `THERE HAS BEEN AN ERROR.`; + } + + title.append(choice); + el.append(title); + + let links; + if (milk.length) { + links = document.createElement('div'); + links.append(`Milk: `); + links.appendChild(App.UI.SlaveInteract.generateRows(milk, slave)); + links.className = "choices"; + el.append(links); + } + if (cum.length) { + links = document.createElement('div'); + links.append(`Cum: `); + links.appendChild(App.UI.SlaveInteract.generateRows(cum, slave)); + links.className = "choices"; + el.append(links); + } + + return jQuery('#dietBase').empty().append(el); +}; + +App.UI.SlaveInteract.snacks = function(slave) { + const { + // eslint-disable-next-line no-unused-vars + he, + him, + his, + hers, + himself, + boy, + He, + His + } = getPronouns(slave); + let el = document.createElement('div'); + let options = []; + + if (V.arcologies[0].FSHedonisticDecadenceResearch === 1) { + let title = document.createElement('div'); + title.textContent = `Solid Slave Food Access: `; + let choice = document.createElement('span'); + choice.style.fontWeight = "bold"; + if (slave.onDiet === 0) { + choice.textContent = `Free to stuff ${himself}.`; + } else { + choice.textContent = `On a strict diet.`; + } + title.append(choice); + el.append(title); + + + options.push({text: `No access`, updateSlave: {onDiet: 1}}); + options.push({text: `Full access`, updateSlave: {onDiet: 0}}); + + let links = document.createElement('div'); + links.appendChild(App.UI.SlaveInteract.generateRows(options, slave)); + links.className = "choices"; + el.append(links); + } + + return jQuery('#snacks').empty().append(el); +}; App.UI.SlaveInteract.useSlaveDisplay = function(slave) { // Goal: Be able to write the entire "use her" block with only dom fragments. @@ -2828,4 +2939,6 @@ App.UI.SlaveInteract.refreshAll = function(slave) { App.UI.SlaveInteract.custom(slave); App.UI.SlaveInteract.hormones(slave); App.UI.SlaveInteract.diet(slave); + App.UI.SlaveInteract.dietBase(slave); + App.UI.SlaveInteract.snacks(slave); }; diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index df084f8e6ca..52f4425885c 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -315,29 +315,17 @@ <span id="bloating"></span> <script>App.UI.SlaveInteract.bloating(getSlave(V.activeSlave.ID))</script> - - <span id="hormones"></span> <script>App.UI.SlaveInteract.hormones(getSlave(V.activeSlave.ID))</script> <span id="diet"></span> <script>App.UI.SlaveInteract.diet(getSlave(V.activeSlave.ID))</script> + <span id="dietBase"></span> + <script>App.UI.SlaveInteract.dietBase(getSlave(V.activeSlave.ID))</script> - - <br>Diet Base: <strong><span id="dietBase"><<if getSlave($AS).dietCum == 2>>cum based<<elseif (getSlave($AS).dietCum == 1) && (getSlave($AS).dietMilk == 0)>>cum added<<elseif (getSlave($AS).dietCum == 1) && (getSlave($AS).dietMilk == 1)>>cum and milk added<<elseif (getSlave($AS).dietMilk == 1) && (getSlave($AS).dietCum == 0)>>milk added<<elseif (getSlave($AS).dietMilk == 2)>>milk based<<elseif (getSlave($AS).dietCum == 0) && (getSlave($AS).dietMilk == 0)>>normal<<else>>THERE HAS BEEN AN ERROR<</if>></span></strong>. - <<link "Normal">><<set getSlave($AS).dietCum = 0>><<set getSlave($AS).dietMilk = 0>><<replace "#dietBase">>normal<</replace>><</link>> | - <<link "Cum added">><<set getSlave($AS).dietCum = 1>><<set getSlave($AS).dietMilk = 0>><<replace "#dietBase">>cum added<</replace>><</link>> | - <<link "Milk added">><<set getSlave($AS).dietCum = 0>><<set getSlave($AS).dietMilk = 1>><<replace "#dietBase">>milk added<</replace>><</link>> | - <<link "Cum & milk added">><<set getSlave($AS).dietCum = 1>><<set getSlave($AS).dietMilk = 1>><<replace "#dietBase">>cum & milk added<</replace>><</link>> | - <<link "Cum based">><<set getSlave($AS).dietCum = 2>><<set getSlave($AS).dietMilk = 0>><<replace "#dietBase">>cum based<</replace>><</link>> | - <<link "Milk based">><<set getSlave($AS).dietCum = 0>><<set getSlave($AS).dietMilk = 2>><<replace "#dietBase">>milk based<</replace>><</link>> - - <<if $arcologies[0].FSHedonisticDecadenceResearch == 1>> - <br>Solid Slave Food Access: <strong><span id="snacks"><<if getSlave($AS).onDiet == 0>>Free to stuff $himself.<<else>>On a strict diet.<</if>></span></strong> - <<link "No access">><<set getSlave($AS).onDiet = 1>><<replace "#snacks">>On a strict diet.<</replace>><</link>> | - <<link "Full access">><<set getSlave($AS).onDiet = 0>><<replace "#snacks">>Free to stuff $himself.<</replace>><</link>> - <</if>> + <span id="snacks"></span> + <script>App.UI.SlaveInteract.snacks(getSlave(V.activeSlave.ID))</script> </p> </div> </div> -- GitLab