diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 7a73a41bfdf76d6f793007240d80983a52f15f97..0000000000000000000000000000000000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/sanityCheck b/sanityCheck index e7cb57edda8369f2eab66e805f119be1a3d37fb7..38f754a4ef509e02b34eac5b407d62ded639ec90 100755 --- a/sanityCheck +++ b/sanityCheck @@ -89,13 +89,14 @@ $GREP -i -E "\Wan (b|c|d|f|g|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)\w." -- src/*.tw | gr $GREP -i "\w$\w" -- src/*.tw | myprint "VarSignMidWord" # check for $ sign at beginning of macro $GREP '<<\s*\$' -- 'src/*' | myprint "VarSignAtMacroStart" -# check our custom option macro is either options,option,optionlt,optionlte,optiongt,optiongte,optiondefault -$GREP -e '<<option' --and --not -e "<<option\(\|s\|lt\|lte\|gt\|gte\|default\)[ >]" -- 'src/*' | myprint "OptionUnrecognized" +# check our custom option macro is either options,option,optionlt,optionlte,optiongt,optiongte,optiondefault,optionstyle,optionif +$GREP -e '<<option' --and --not -e "<<option\(\|s\|lt\|lte\|gt\|gte\|default\|style\|if\)[ >]" -- 'src/*' | myprint "OptionUnrecognized" # check our custom option macro is: <<option variable "somestring" $GREP -e "<<option[lg]te\? " --and --not -e "<<option[lg]te\?\s\+-\?[0-9]\+\s\+-\?[0-9]\+\s\+[\'\"].*[\'\"]" -- 'src/*' | grep -v src/js | myprint "OptionBadArguments1" $GREP -e "<<optiondefault " --and --not -e "<<optiondefault\s\+\(-\?[0-9]\+\|[\'\"].*[\'\"]\|false\|true\)\s\+[\'\"].*[\'\"]" -- 'src/*' | grep -v src/js | myprint "OptionBadArguments2" $GREP -e "<<option\([lg]t\?\|default\) *>" -- 'src/*' | grep -v src/js | myprint "OptionBadArguments3" $GREP -e "<<option " --and --not -e "<<option\s\+\(-\?[0-9]\+\|[\'\"].*[\'\"]\|false\|true\)\s\+[\`\'\"].*[\'\"\`]" -- 'src/*' | grep -v src/js | myprint "OptionBadArguments4" +$GREP -e "<<if def [^(>]*[&|]" -- 'src/*' | myprint "AddBracketsAroundDef2" # check for missing ; before statement $GREP 'if $ ' -- 'src/*' | myprint "missing ; before statement" $GREP 'elseif $ ' -- 'src/*' | myprint "missing ; before statement" diff --git a/src/002-config/fc-js-init.js b/src/002-config/fc-js-init.js index e5d890dc402ac75a2223a58ac19e80e1f972384d..8b8a2bec36ccca9bb2a7a4a1a85b21341728e799 100644 --- a/src/002-config/fc-js-init.js +++ b/src/002-config/fc-js-init.js @@ -9,5 +9,6 @@ var App = window.App || {}; App.Debug = {}; App.Entity = {}; +App.Entity.Utils = {}; App.UI = {}; App.Utils = {}; diff --git a/src/SecExp/securityReport.tw b/src/SecExp/securityReport.tw index 9a8f36a9742ae47132b02cdeb9c5839d1939ce02..fbf23c814c13e3067e5e48d4629b37c89b8d67fd 100644 --- a/src/SecExp/securityReport.tw +++ b/src/SecExp/securityReport.tw @@ -21,6 +21,12 @@ <br> <strong>Security</strong>: +<<if $terrain === "oceanic">> + Due to the @@.green;massive economic and logistical challenges@@ of attacking an oceanic arcology, your security force(s) has +<<else>> + The @@.red;economic and logistical challenges@@ of attacking a $terrain arcology, ensures that your security force(s) do not +<</if>> + the luxury of focusing exclusively on internal matters.<br> <<if $secMenials > 0>> <<print num($secMenials)>> slaves work to improve the security of your arcology, <<if $mercenaries >= 1 && $arcologyUpgrade.drones == 1>> diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js index 4b9c3d1d328e3ce72d9b024d6e2e042f5d99c6a7..dc2c50286c2f66f934617931c948c77bb82c7946 100644 --- a/src/SpecialForce/SpecialForce.js +++ b/src/SpecialForce/SpecialForce.js @@ -213,7 +213,7 @@ window.SFBC = function() { window.SFReport = function() { "use strict"; const V = State.variables, T = State.temporary, S = V.SF.Squad; - let target = 50000, baseLine = 5000, profit = 0, upkeep = 0, income = 0; + const target = 50000, baseLine = 5000;let profit = 0, upkeep = 0, income = 0; let Multiplier = {action:1, troop:1, unit:1, depravity:1}; let FNG = 10, unitCap = 2500, Trade = 0.025; let cost = {a:0.01,b:2.5}, NO = 1+(V.SF.Size/5), N1 = 1+(V.SF.Size/5); @@ -242,10 +242,11 @@ window.SFReport = function() { } S.Troops -= V.SF.UC.num; if (S.Troops > 200) { - Trade += 0.05*(Math.ceil(S.Troops/100)); + Trade += 0.05*(S.Troops/200); Multiplier.troop += S.Troops/200; upkeep += (S.Troops*25)/cost.a; if (V.secExp > 0) { - V.authority += 25*(Math.ceil(S.Troops/200)); V.authority = Math.clamp(V.authority, 0, 20000); + V.authority += 25*(Math.ceil(S.Troops/200)); V.authority += V.SF.Size*10; + V.authority = Math.clamp(V.authority, 0, 20000); } } @@ -337,10 +338,11 @@ window.SFReport = function() { if (SFD > -2) Trade *= 1+SFD/2; if (V.SF.Target === "recruit") { - FNG += Math.ceil(FNG*0.95); + FNG += FNG*0.95; } else { - FNG += Math.ceil(FNG*0.25); + FNG += FNG*0.25; } + FNG = Math.ceil(FNG/2); if (V.SF.Target === "secure") { repX((Math.ceil(V.rep*((Trade/100)*0.95))), "specialForces"); @@ -349,13 +351,13 @@ window.SFReport = function() { repX((Math.ceil(V.rep*(Trade/100)*0.25)), "specialForces"); V.arcologies[0].prosperity = Math.ceil(V.arcologies[0].prosperity+(Trade/10)*0.25); } - if (V.secExp > 0) V.authority += V.SF.Size*10; V.authority = Math.clamp(V.authority, 0, 20000); - income += Math.ceil( ( (baseLine* (0.09+Multiplier.troop/NO).toFixed(2) * (0.09+Multiplier.unit/NO).toFixed(2) * (0.09+Multiplier.action/NO).toFixed(2) * (0.09+Multiplier.depravity/NO).toFixed(2) ) - (upkeep*N1).toFixed(2) )/((V.SF.Size/2+S.Troops/2)*5) ); - S.Troops += Math.round(FNG/2); + income += ( (baseLine* (1+Multiplier.troop/NO).toFixed(2) * (1+Multiplier.unit/NO).toFixed(2) * (1+Multiplier.action/NO).toFixed(2) * (1+Multiplier.depravity/NO).toFixed(2) ) - (upkeep*N1).toFixed(2) )/( (V.SF.Size/2+S.Troops/2)*5 ); + if (V.SF.Target === "raiding") income *= 1.25; else income *= 1.15; + if (V.economy < 100) if (V.SF.Target === "raiding") income *= 14.25; else income *= 14.15;//Remove line if hard mode ever gets fixed. + S.Troops += FNG; income = Math.ceil(income); if (V.debugMode > 0) r += `<br>income:${num(income)}, troop:${num((0.09+Multiplier.troop/NO).toFixed(2))}, unit:${num((0.09+Multiplier.unit/NO).toFixed(2))}, action:${num((0.09+Multiplier.action/NO).toFixed(2))}, depravity:${num((0.09+Multiplier.depravity/NO).toFixed(2))}, upkeep:${num((upkeep*N1).toFixed(2))}`; - if (V.economy < 100) income *= 83; //Remove line if hard mode ever gets fixed. if (income >= target) profit = 1; delete V.SF.Subsidy; cashX(income, "specialForces"); if (S.Troops > unitCap) S.Troops = unitCap; if (V.arcologies[0].prosperity > V.ProsperityCap) V.arcologies[0].prosperity = V.ProsperityCap; @@ -374,7 +376,7 @@ window.SFReport = function() { if (V.SF.Upgrade !== undefined) V.SF.Upgrade = 0; V.SF.Gift = 0; V.SF.Colonel.Talk = 0; V.SF.Colonel.Fun = 0; - r += `<br>__Week ${V.week} operational report for ${V.SF.Lower}__:`; + r += `<br>__Week ${V.week} (AO:${V.terrain}) operational report for ${V.SF.Lower}__:`; r += `<br>${V.SF.Caps} focused their ${num(S.Troops)} troops on `; if (V.SF.Target === "recruit") { @@ -404,7 +406,7 @@ window.SFReport = function() { r += ` Per the estimates that ${SFC()} provides, an additional <span class='yellowgreen'>${cashFormat(target-income)}</span> is required for sufficient cover.`; } - r += ` ${V.SF.Caps} managed to recruit ${Math.round(FNG/2)} new soldiers this week, and your reputation has <span class='green'>increased through the improvement of trade security</span>.`; + r += ` ${V.SF.Caps} managed to recruit ${FNG} new soldiers this week, and your reputation has <span class='green'>increased through the improvement of trade security</span>.`; r += `<br>//Your instructions to ${SFC()}://`; r += `<br> Deployment focus: `; //The below lines are indented to increase readability. @@ -502,7 +504,7 @@ window.SFNameCapsCheck = function() { }; window.SFUpgradeCost = function(cost,unit) { - "use strict"; const V=State.variables,T = State.temporary,S=V.SF.Squad; let value = 0; + "use strict"; const V = State.variables,T = State.temporary,S = V.SF.Squad; let value = 0; value = cost*T.Env*(1.15+(V.SF.Size/10))*(1.15+(unit/100)); if ([S.Sub,S.AircraftCarrier,S.MissileSilo,S.GiantRobot,S.Satellite.lv,S.GunS,S.SpacePlane,S.Drones].includes(unit)) value *= V.HackingSkillMultiplier; return Math.ceil(value); diff --git a/src/facilities/brothel/brothelAssignmentScene.tw b/src/facilities/brothel/brothelAssignmentScene.tw index f03ad026edf502e8b01e6f14ee339fa33040b11a..17e42cb82ba0a120796c7151cea154c2c7865999 100644 --- a/src/facilities/brothel/brothelAssignmentScene.tw +++ b/src/facilities/brothel/brothelAssignmentScene.tw @@ -4,6 +4,18 @@ <<run Enunciate($activeSlave)>> <<setLocalPronouns $activeSlave>> +<span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ +</span> + You could direct $assistantName to relay your orders to $activeSlave.slaveName, but you've decided to avoid relying too much on machine assistance. So, $he is merely directed to report to your office. The <<if $activeSlave.devotion > 95>> worshipful $girl <<if $activeSlave.amp != 1>>hurries in as soon as $he possibly can<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, happy $his beloved <<= WrittenMaster($activeSlave)>> is taking an interest in $him. diff --git a/src/gui/PassageDone.tw b/src/gui/PassageDone.tw new file mode 100644 index 0000000000000000000000000000000000000000..bc45bd374f8e5c4d4e58cd0b4973265d341c3270 --- /dev/null +++ b/src/gui/PassageDone.tw @@ -0,0 +1,6 @@ +:: PassageDone + +<<if window.savedColorMap>> + <<addclass "body" "lightTheme">> +<</if>> + diff --git a/src/gui/css/accordianStyleSheet.tw b/src/gui/css/accordianStyleSheet.css similarity index 97% rename from src/gui/css/accordianStyleSheet.tw rename to src/gui/css/accordianStyleSheet.css index 324a23835182d4e6cd2f75718e5ab032e74cfca3..280882ddfece85479b2989815e70bc447e2b71a6 100644 --- a/src/gui/css/accordianStyleSheet.tw +++ b/src/gui/css/accordianStyleSheet.css @@ -1,4 +1,3 @@ -:: accordionStyleSheet [stylesheet] /* Accordion 000-250-006 */ button.accordion { diff --git a/src/gui/css/familyTree.tw b/src/gui/css/familyTree.css similarity index 96% rename from src/gui/css/familyTree.tw rename to src/gui/css/familyTree.css index fdddb4d0ea42cfe9c0593dbd619026b143974907..0234aaa577c02aa585bba86247af79db3b81ed9f 100644 --- a/src/gui/css/familyTree.tw +++ b/src/gui/css/familyTree.css @@ -1,4 +1,3 @@ -:: Family Tree stylesheet [stylesheet] #graph .linage { fill: none; diff --git a/src/gui/css/mainStyleSheet.tw b/src/gui/css/mainStyleSheet.css similarity index 99% rename from src/gui/css/mainStyleSheet.tw rename to src/gui/css/mainStyleSheet.css index 468eb5e3f82cea4d466a2daa49b745c03d9a0dd2..89a5673931661b68b6fad4c6e67558e3d81abcf8 100644 --- a/src/gui/css/mainStyleSheet.tw +++ b/src/gui/css/mainStyleSheet.css @@ -1,5 +1,3 @@ -:: Main stylesheet [stylesheet] - body { overflow-x: hidden; } diff --git a/src/gui/css/optionsMacro.tw b/src/gui/css/optionsMacro.css similarity index 93% rename from src/gui/css/optionsMacro.tw rename to src/gui/css/optionsMacro.css index ef65507d5a6e7cf7e777c5e5192d5e868b1338a4..74e844663820542d00fac19c98e125a5e935b2da 100644 --- a/src/gui/css/optionsMacro.tw +++ b/src/gui/css/optionsMacro.css @@ -1,5 +1,3 @@ -:: Options Macro [stylesheet] - .optionMacro { margin-top: 8px; display: inline-block; @@ -65,6 +63,14 @@ background: #2F2F2F; } +body.lightTheme .optionMacroOption:hover { + background: #DDDDDD; +} + +body.lightTheme .optionMacroSelected { + background: #DDDDDD; +} + .optionMacroSelected { background: #2F2F2F; padding: 0 10px; diff --git a/src/gui/css/quickListCSS.tw b/src/gui/css/quickListCSS.css similarity index 97% rename from src/gui/css/quickListCSS.tw rename to src/gui/css/quickListCSS.css index 5180ebbc379c26f90d4d0122f3310c575b162df1..dfa45ef12f69dab58614dd8cfd456f21d69b374e 100644 --- a/src/gui/css/quickListCSS.tw +++ b/src/gui/css/quickListCSS.css @@ -1,5 +1,3 @@ -:: Quick List stylesheet [stylesheet] - .hidden { display:none; diff --git a/src/gui/css/wardrobeUse.css b/src/gui/css/wardrobeUse.css new file mode 100644 index 0000000000000000000000000000000000000000..3ac2e643af9ecbf4f2a364a08730c0fb0351cfde --- /dev/null +++ b/src/gui/css/wardrobeUse.css @@ -0,0 +1,24 @@ +/* Stylesheet for WardrobeUse.tw */ + +#passage-wardrobe-use .optionMacro { + display: inline; +} + +#passage-wardrobe-use .optionDescription { + width: unset; + text-align: left; +} + +#passage-wardrobe-use .optionValue { + display: flex; +} + +#passage-wardrobe-use .optionMacroOption { + flex-grow: 1; +} + +/* Last line shouldn't grow */ +#passage-wardrobe-use .optionValue::after { + flex-grow: 1000000000; + content: ''; +} diff --git a/src/js/assayJS.js b/src/js/assayJS.js index e3b1c666adc8b49790f10c1ed4a19ecc07b784f8..526284a123e2aa73c4c81415b0c1e728b124fb04 100644 --- a/src/js/assayJS.js +++ b/src/js/assayJS.js @@ -231,10 +231,7 @@ window.newSlave = /** @param {App.Entity.SlaveState} slave */ function newSlave( } } - /* add to facilities array if needed */ - if (slave.assignment !== "rest") { - assignJob(slave, slave.assignment); - } + assignJob(slave, slave.assignment); /** do not run the Rules Assistant before adding the new slave to the slaves list! **/ if (V.ui !== "start" && V.universalRulesNewSlavesRA === 1 && V.rulesAssistantAuto !== 0) { diff --git a/src/js/assignJS.js b/src/js/assignJS.js index af4e705db55b4d878bf93b50689114b12693ee17..03285aff851b1fa43c30e93da9a2afb57152a2b6 100644 --- a/src/js/assignJS.js +++ b/src/js/assignJS.js @@ -319,6 +319,7 @@ window.assignJob = function assignJob(slave, job) { r += `${slave.slaveName} no longer has your personal attention.`; } } + V.JobIDArray = resetJobIDArray(); if (idx >= 0) V.slaves[idx] = slave; @@ -514,8 +515,32 @@ window.removeJob = function removeJob(slave, assignment) { slave.choosesOwnAssignment = 0; slave.sentence = 0; } + V.JobIDArray = resetJobIDArray(); if (idx >= 0) V.slaves[idx] = slave; return r; }; + +window.resetJobIDArray = function resetJobIDArray() { /* todo: expand to all assignments */ + const slaves = State.variables.slaves; + const JobIDArray = { + "rest": [], + "please you": [], + "work a glory hole": [], + "take classes": [], + "be a servant": [], + "whore": [], + "serve the public": [], + "get milked": [], + "stay confined": [], + "be a subordinate slave": [] + }; + + slaves.forEach(function (slave) { + if (JobIDArray.hasOwnProperty(slave.assignment)) + JobIDArray[slave.assignment].push(slave.ID); + }); + + return JobIDArray; +}; diff --git a/src/js/colorinput.js b/src/js/colorinput.js new file mode 100644 index 0000000000000000000000000000000000000000..1c9e0ffe7c973d6cf4626f25c8f5bf3612e4dd56 --- /dev/null +++ b/src/js/colorinput.js @@ -0,0 +1,59 @@ +Macro.add("colorinput", { + handler: function() { + if (this.args.length < 2) { + var e = []; + return this.args.length < 1 && e.push("variable name"), this.args.length < 2 && e.push("default value"), this.error("no " + e.join(" or ") + " specified") + } + if ("string" != typeof this.args[0]) return this.error("variable name argument is not a string"); + var varName = this.args[0].trim(); + if ("$" !== varName[0] && "_" !== varName[0]) return this.error('variable name "' + this.args[0] + '" is missing its sigil ($ or _)'); + Config.debug && this.debugView.modes({ + block: true + }); + var r = Util.slugify(varName); + var value = this.args[1]; + var inputElement = document.createElement("input"), + passage = void 0; + var setargs = null; + if (this.args.length > 3) { + passage = this.args[2]; + } else if (this.args.length > 2) { + passage = this.args[2]; + } + if (passage !== (void 0) && _typeof(passage) === "object") { + passage = passage.link; + } + if (!passage) { + passage = State.passage; + } + + function gotoPassage() { + if (passage) { + var currentScrollPosition = window.pageYOffset; + var currentPassage = State.passage; + if (setargs) { + Scripting.evalTwineScript(setargs); + } + Engine.play(passage); + if (currentPassage == passage) { + Scripting.evalJavaScript("window.scrollTo(0, " + currentScrollPosition + ");"); + } + } + } + + jQuery(inputElement).attr({ + id: this.name + "-" + r, + name: this.name + "-" + r, + type: 'color', + value: value, + tabindex: 0 + }).addClass("macro-" + this.name) + .on("change", function() { + State.setVar(varName, this.value); + if (this.value != value) { // If the value has actually changed, reload the page. Note != and not !== because types might be different + gotoPassage(); + } + }) + .appendTo(this.output); + } +}) diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index 1fe6d71660b8513a2a8f88cdb55bbe8ef2a6f0eb..502086521a4b20e603f73a0d36efcf497978bab0 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -1,4 +1,21 @@ /* eslint-disable no-undef */ +/** + * Applies data scheme updates to the slave object + * + * This function only handles data scheme changes (attribute renaming, other reorganzations) + * and in general pays no attention to the property values unless they need to be changed due + * to the schema change. + */ +App.Entity.Utils.SlaveDataSchemeCleanup = (function () { + "use strict"; + return SlaveDataSchemeCleanup; + + /** @param {App.Entity.SlaveState} slave */ + function SlaveDataSchemeCleanup(slave) { // eslint-disable-line no-unused-vars + + } +})(); + /* This function does not ensure values make sense. For example, it does not fix weird relations/relationships/rivalries/pregnancies/prosthetics. It only makes sure most datatypes are correct, and sets to default if not. Number values are clamped to the correct bounds. @@ -32,9 +49,10 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() { return SlaveDatatypeCleanup; /** @param {App.Entity.SlaveState} slave */ - function SlaveDatatypeCleanup(slave) { + function SlaveDatatypeCleanup(slave, isIncubatorSlave) { V = State.variables; - slaveAgeDatatypeCleanup(slave); + if (isIncubatorSlave !== true) + slaveAgeDatatypeCleanup(slave); slavePhysicalDatatypeCleanup(slave); slaveFaceDatatypeCleanup(slave); slaveHairDatatypeCleanup(slave); @@ -1673,3 +1691,69 @@ window.FacilityDatatypeCleanup = (function() { } } })(); + + +/** + * Cleans up a slave record assuming it is used for the gene pool. + * + * It removes all the unneeded properties for the gene pool attributes. + * @todo remove after refactoring the slave state class + */ +App.Entity.Utils.GenePoolRecordCleanup = (function () { + "use strict"; + return GenePoolRecordCleanup; + + /** @param {App.Entity.SlaveState} slave */ + function GenePoolRecordCleanup(slave) { + App.Entity.Utils.SlaveDataSchemeCleanup(slave); + + // the following attributes are unneeded for gene pool records + [ + "counters", "custom", "porn", + "prestige", "pornFeed", "pornFame", "pornFameSpending", "pornPrestige", "pornPrestigeDesc", "prestigeDesc", + "recruiter", "relation", "relationTarget", "subTarget", "relationship", "relationshipTarget", "rivalry", "rivalryTarget", + "pronoun", "possessive", "possessivePronoun", "objectReflexive", "object", "noun", + "weekAcquired", "HGExclude", + "daughters", "origin", + "canRecruit", + "choosesOwnAssignment", "assignment", "assignmentVisible", + "sentence", "training", "toyHole", + "indenture", "indentureRestrictions", + "minorInjury", + "oldTrust", "oldDevotion", + "eyewear", "earwear", + "preg", "pregSource", "pregType", "pregAdaptation", "labor", + "bellyAccessory", + "clitSetting", + "livingRules", "speechRules", "releaseRules", "relationshipRules", "lactationRules", + "standardPunishment", "standardReward", + "useRulesAssistant", + "diet", "dietCum", "dietMilk", + "tired", + "drugs", "curatives", "aphrodisiacs", + "choosesOwnClothes", "clothes", "collar", "shoes", + "makeup", "nails", + "vaginalAccessory", "dickAccessory", "legAccessory", + "buttplug", "buttplugAttachment", + "fetishKnown", + "rudeTitle", + "currentRules", + "induce", + "mpreg", + "inflation", "inflationType", "inflationMethod", "milkSource", "cumSource", + "burst", + "pregKnown", "pregWeek", + "belly", "bellyPreg", "bellyFluid", "bellyImplant", "bellySag", "bellySagPreg", "bellyPain", + "cervixImplant", + "birthsTotal", + "scars", + "choosesOwnChastity", + "pregControl", + "readyLimbs", + "death", + "onDiet", + "prematureBirth", + "slaveCost" + ].forEach((s) => delete slave[s]); + } +})(); diff --git a/src/js/optionsMacro.js b/src/js/optionsMacro.js index a8f6f24805dd90adb8ebb34b2a2c31b5c8d1f4c2..25de71e2e3cd7fba75161cf3d1826d9199bb33a0 100644 --- a/src/js/optionsMacro.js +++ b/src/js/optionsMacro.js @@ -19,7 +19,8 @@ */ Macro.add('options', { skipArgs : false, - tags : ['option', 'comment', 'optionlt', 'optionlte', 'optiongt', 'optiongte', 'optiondefault'], + tags : ['option', 'comment', 'optionlt', 'optionlte', 'optiongt', 'optiongte', + 'optiondefault', 'optionif'], handler : function () { try { var currentOption = this.payload[0].args[0]; @@ -93,6 +94,7 @@ Macro.add('options', { found_index = i; } } else if (this.payload[i].name === 'comment') { + } else if (this.payload[i].name === 'optionif') { } else { throw new Error("Only valid tag is 'option' inside 'options'"); } @@ -115,11 +117,27 @@ Macro.add('options', { } var showSelectedOption = true; //this.payload.length !== 3 || !description; - /* Now print out the list of options */ var output = ""; + var optionIfIsFalse = false; for (let i = 1, len = this.payload.length; i < len; ++i) { - if (this.payload[i].name.startsWith('option')) { + if (this.payload[i].name === "optionif") { + if (this.payload[i].args.length === 0) { + optionIfIsFalse = false; /* No options means to turn off optionif */ + } else if (this.payload[i].args.length === 1) { + // Evaluate it and see if is false + if (typeof(this.payload[i].args[0]) !== 'boolean') { + throw new Error("optionif requires true or false for the first (and only) parameter"); + } + optionIfIsFalse = !this.payload[i].args[0]; + } else { + throw new Error("Only one argument expected to 'optionif'"); + } + continue; + } + if (optionIfIsFalse) { + continue; + } else if (this.payload[i].name.startsWith('option')) { var args = this.payload[i].args; var hasComparitor = this.payload[i].name !== "option" && this.payload[i].name !== "optiondefault"; var argText = args[hasComparitor ? 2 : 1] || ""; diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 6cc45818eefca0953ecba9fe649bc4f72072feea..e476f2814d6f35b13dc802f3136ba18bdcb0c8f7 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -165,31 +165,22 @@ window.rulesAssistantOptions = (function() { // has a short explanation (the prefix) and a value display // value display can optionally be an editable text input field // it can be "bound" to a variable by setting its "onchange" method - class List extends Element { - constructor(prefix, data=[], textinput=false) { - super(prefix + ": ", textinput); + class EditorWithShortcuts extends Element { + constructor(prefix, data=[], editor=false, ...args) { + super(prefix + ": ", editor, ...args); this.selectedItem = null; data.forEach(item => this.appendChild(new ListItem(...item))); } - render(prefix, textinput) { + createEditor(...args) { return null; } + + render(prefix, editor, ...args) { const elem = document.createElement("div"); const label = document.createElement("span"); label.innerHTML = prefix; - let value; - if (textinput) { - value = document.createElement("input"); - value.setAttribute("type", "text"); - value.classList.add("rajs-value"); // - // call the variable binding when the input field is no longer being edited, and when the enter key is pressed - value.onblur = () => {this.inputEdited(); }; - value.onkeypress = (e) => { if (returnP(e)) this.inputEdited(); }; - } else { - value = document.createElement("strong"); - } - this.value = value; + this.value = editor ? this.createEditor(...args) : document.createElement("strong"); elem.appendChild(label); - elem.appendChild(value); + elem.appendChild(this.value); elem.classList.add("rajs-list"); return elem; } @@ -256,6 +247,52 @@ window.rulesAssistantOptions = (function() { } } + class List extends EditorWithShortcuts { + constructor(prefix, data = [], textinput = false) { + super(prefix, data, textinput); + } + + createEditor() { + let res = document.createElement("input"); + res.setAttribute("type", "text"); + res.classList.add("rajs-value"); // + // call the variable binding when the input field is no longer being edited, and when the enter key is pressed + res.onblur = () => { + this.inputEdited(); + }; + res.onkeypress = (e) => { + if (returnP(e)) this.inputEdited(); + }; + return res; + } + } + + class NumberRange extends EditorWithShortcuts { + constructor(prefix, data = [], min, max, spinbox = false) { + super(prefix, data, spinbox, min, max); + this.nullValue = data.length ? data[0][1] : null; + } + + createEditor(min, max) { + let res = document.createElement("input"); + res.setAttribute("type", "number"); + res.setAttribute("min", min); + res.setAttribute("max", max); + res.classList.add("rajs-value"); // + res.onblur = () => { + this.inputEdited(); + }; + res.onkeypress = (e) => { + if (returnP(e)) this.inputEdited(); + }; + return res; + } + + parse(what) { + return what === "" ? this.nullValue : what; + } + } + // a way to organize lists with too many elements in subsections // children are bound to the master list class ListSubSection extends Element { @@ -1595,7 +1632,7 @@ window.rulesAssistantOptions = (function() { } } - class BreastGrowthList extends List { + class BreastGrowthList extends NumberRange { constructor() { const pairs = [ ["No default setting", "no default setting"], @@ -1605,13 +1642,13 @@ window.rulesAssistantOptions = (function() { ["Unlimited", 48000], ["None", 0] ]; - super("Breasts", pairs, true); + super("Breasts", pairs, 0, 48000, true); this.setValue(current_rule.set.growth_boobs); this.onchange = (value) => current_rule.set.growth_boobs = value; } } - class ButtGrowthList extends List { + class ButtGrowthList extends NumberRange { constructor() { const pairs = [ ["No default setting", "no default setting"], @@ -1621,13 +1658,13 @@ window.rulesAssistantOptions = (function() { ["Unlimited", 20], ["None", 0] ]; - super("Butts", pairs, true); + super("Butts", pairs, 0, 20, true); this.setValue(current_rule.set.growth_butt); this.onchange = (value) => current_rule.set.growth_butt = value; } } - class LipGrowthList extends List { + class LipGrowthList extends NumberRange { constructor() { const pairs = [ ["No default setting", "no default setting"], @@ -1636,13 +1673,13 @@ window.rulesAssistantOptions = (function() { ["Facepussy", 100], ["None", 0] ]; - super("Lips", pairs, true); + super("Lips", pairs, 0, 100, true); this.setValue(current_rule.set.growth_lips); this.onchange = (value) => current_rule.set.growth_lips = value; } } - class DickGrowthList extends List { + class DickGrowthList extends NumberRange { constructor() { const pairs = [ ["No default setting", "no default setting"], @@ -1651,13 +1688,13 @@ window.rulesAssistantOptions = (function() { ["Unlimited", 30], ["None", 0] ]; - super("Dicks, if present", pairs, true); + super("Dicks, if present", pairs, 0, 30, true); this.setValue(current_rule.set.growth_dick); this.onchange = (value) => current_rule.set.growth_dick = value; } } - class BallGrowthList extends List { + class BallGrowthList extends NumberRange { constructor() { const pairs = [ ["No default setting", "no default setting"], @@ -1666,7 +1703,7 @@ window.rulesAssistantOptions = (function() { ["Unlimited", 125], ["None", 0] ]; - super("Balls, if present", pairs, true); + super("Balls, if present", pairs, 0, 125, true); this.setValue(current_rule.set.growth_balls); this.onchange = (value) => current_rule.set.growth_balls = value; } @@ -1951,7 +1988,7 @@ window.rulesAssistantOptions = (function() { } } - class MuscleList extends List { + class MuscleList extends NumberRange { constructor() { const pairs = [ ["No default setting", "no default setting"], @@ -1961,7 +1998,7 @@ window.rulesAssistantOptions = (function() { ["Massive", 100], ["Weak", -20] ]; - super("Muscles", pairs, true); + super("Muscles", pairs, -20, 100, true); this.setValue(current_rule.set.muscles); this.onchange = (value) => current_rule.set.muscles = value; } @@ -3441,7 +3478,7 @@ window.rulesAssistantOptions = (function() { } } - class LipSurgeryList extends List { + class LipSurgeryList extends NumberRange { constructor() { const items = [ ["no default setting"], @@ -3451,13 +3488,13 @@ window.rulesAssistantOptions = (function() { ["huge", 70], ["facepussy", 95], ]; - super("Lip implants", items); + super("Lip implants", items, 0, 95, true); this.setValue(current_rule.set.surgery_lips); this.onchange = (value) => current_rule.set.surgery_lips = value; } } - class ButtSurgeryList extends List { + class ButtSurgeryList extends NumberRange { constructor() { const items = [ ["no default setting"], @@ -3467,13 +3504,13 @@ window.rulesAssistantOptions = (function() { ["huge", 6], ["maximized", 9], ]; - super("Buttock implants", items); + super("Buttock implants", items, 0, 9, true); this.setValue(current_rule.set.surgery_butt); this.onchange = (value) => current_rule.set.surgery_butt = value; } } - class BreastSurgeryList extends List { + class BreastSurgeryList extends NumberRange { constructor() { const items = [ ["no default setting"], @@ -3484,7 +3521,7 @@ window.rulesAssistantOptions = (function() { ["barely functional", 9000], ["maximized", 48000] ]; - super("Breast implants", items); + super("Breast implants", items, 0, 48000, true); this.setValue(current_rule.set.surgery_boobs); this.onchange = (value) => current_rule.set.surgery_boobs = value; } diff --git a/src/js/utilJS.js b/src/js/utilJS.js index 4492ea0a96b66dea31bdde4932f52d933d9002a6..2b311ba15ac1836ae668678f680d7ebc3eb93f79 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -1198,29 +1198,37 @@ App.UI.passageLink = function(linkText, passage, setter, elementType) { }; window.SkillIncrease = (function() { + return { + Oral: OralSkillIncrease, + Vaginal: VaginalSkillIncrease, + Anal: AnalSkillIncrease, + Whore: WhoreSkillIncrease, + Entertain: EntertainSkillIncrease + }; + /* call as SkillIncrease.Oral() */ /** @param {App.Entity.SlaveState} slave */ function OralSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); const his = slave.possessivePronoun; - let r; + let r = ''; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; if (slave.oralSkill <= 10) { if (slave.oralSkill + skillIncrease > 10) { - r = `<span class="green">${He} now has basic knowledge about oral sex,</span> and can at least suck a dick without constant gagging.`; + r = ` <span class="green">${He} now has basic knowledge about oral sex,</span> and can at least suck a dick without constant gagging.`; } } else if (slave.oralSkill <= 30) { if (slave.oralSkill + skillIncrease > 30) { - r = `<span class="green">${He} now has some oral skills,</span> and can reliably bring dicks and pussies to climax with ${his} mouth.`; + r = ` <span class="green">${He} now has some oral skills,</span> and can reliably bring dicks and pussies to climax with ${his} mouth.`; } } else if (slave.oralSkill <= 60) { if (slave.oralSkill + skillIncrease > 60) { - r = `<span class="green">${He} is now an oral expert,</span> and has a delightfully experienced tongue.`; + r = ` <span class="green">${He} is now an oral expert,</span> and has a delightfully experienced tongue.`; } } else if (slave.oralSkill < 100) { if (slave.oralSkill + skillIncrease >= 100) { - r = `<span class="green">${He} has mastered oral sex,</span> and can learn nothing more about sucking dick or eating pussy.`; + r = ` <span class="green">${He} has mastered oral sex,</span> and can learn nothing more about sucking dick or eating pussy.`; } } slave.oralSkill += skillIncrease; @@ -1231,7 +1239,7 @@ window.SkillIncrease = (function() { /** @param {App.Entity.SlaveState} slave */ function VaginalSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); - let r; + let r = ''; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; if (slave.vaginalSkill <= 10) { @@ -1260,7 +1268,7 @@ window.SkillIncrease = (function() { function AnalSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); const his = slave.possessivePronoun; - let r; + let r =''; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; if (slave.analSkill <= 10) { @@ -1289,7 +1297,7 @@ window.SkillIncrease = (function() { function WhoreSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); const his = slave.possessivePronoun; - let r; + let r =''; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; if (slave.whoreSkill <= 10) { @@ -1317,7 +1325,7 @@ window.SkillIncrease = (function() { /** @param {App.Entity.SlaveState} slave */ function EntertainSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); - let r; + let r =''; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; if (slave.entertainSkill <= 10) { @@ -1340,14 +1348,6 @@ window.SkillIncrease = (function() { slave.entertainSkill += skillIncrease; return r; } - - return { - Oral: OralSkillIncrease, - Vaginal: VaginalSkillIncrease, - Anal: AnalSkillIncrease, - Whore: WhoreSkillIncrease, - Entertain: EntertainSkillIncrease - }; })(); window.upgradeMultiplierArcology = function() { diff --git a/src/pregmod/reTheSirenStrikesBack.tw b/src/pregmod/reTheSirenStrikesBack.tw index 0b92dee32ce25b5657e318b5933049f8715040ce..fc33caa64c0865db1f2039f1e625a26b9abde587 100644 --- a/src/pregmod/reTheSirenStrikesBack.tw +++ b/src/pregmod/reTheSirenStrikesBack.tw @@ -36,9 +36,22 @@ <<set $activeSlave.prestige = 3>> <<set $activeSlave.prestigeDesc = "She was a well known music producer infamous for constantly having musicians disappear on her watch.">> <<set $activeSlave.accent = 1>> +<<set $activeSlave.clothes = "nice business attire">> <<setLocalPronouns $activeSlave 2>> +<span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ +</span> + Several weeks have passed since you gained the musical prodigy and you couldn't help but notice $his constant scowl and muttering about "getting revenge one day" or "wishing $his producer would pay for what happened" whenever $he was not working. You decide to look into the incident and direct $assistantName to look into the financial situation of $his record label. It turns out that not only should this slave not be eligible for enslavement due to $his performance profits, but a certain someone has been taking that money for themselves. You issue a bounty for $his producer and await a response. With surprising speed, an answer comes from a bounty hunter. The underhanded producer never left the arcology, instead opting to make use of the guest living arrangements you had set up for the concert. Only when an announcement of the bounty went out did _he2 realize _his2 peril and attempt to flee. The bounty hunter literally drags the escapee by the collar into your penthouse and throws _him2 at your feet. The coward shivers as your eyes meet _hers2. <br><br> "Please, don't hurt me! I'll pay for that slave I sent you to be released, even set $him up with the life $he would have had if I hadn't embezzled the profits!" @@ -73,10 +86,25 @@ Several weeks have passed since you gained the musical prodigy and you couldn't <</link>> <<if _ssb.amp != 1>> <br><<link "Enslave _him2 and throw _him2 to _ssb.slaveName">> + <<set $activeSlave.clothes = "no clothing">> + <<set $activeSlave.recruiter = 0, $activeSlave.health -= 20>> + <<replace "#artFrame">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _ssb 2 0>> + </div> + </div> + <</if>> + /* 000-250-006 */ + <</replace>> <<replace "#result">> You decide to give the victimized prodigy a chance for payback. $He moves over to $his former boss and begins to caress the despicable thief as _he2 shakes with dread of what is to come. As $he moves lower, $he applies more pressure, peaking right on the genitals. The cowardly former executive yelps in pain, instinctively trying to get away from the hand crushing the most sensitive spot on _his2 body. After several minutes of the coward screaming in pain, _his2 former victim gets up and delivers a hard kick to the groin, eliciting another scream and causing $his former boss to assume the fetal position. You send for another slave to drag the whimpering slave-_girl2 to _his2 feet for inspection. <br> - <<set $activeSlave.recruiter = 0, $activeSlave.health -= 20>> <<include "New Slave Intro">> <</replace>> <</link>> @@ -87,18 +115,42 @@ Several weeks have passed since you gained the musical prodigy and you couldn't <br><br> <span id="result"> <<link "Enslave _him2">> + <<set $activeSlave.clothes = "no clothing">> + <<set $activeSlave.recruiter = 0>> + <<replace "#artFrame">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + <</replace>> <<replace "#result">> You spare the coward the pain and humiliation _he2 deserves and simply enslave _him2. <br> - <<set $activeSlave.recruiter = 0>> <<include "New Slave Intro">> <</replace>> <</link>> <br><<link "Enslave _him2 and punish _him2 for their actions">> + <<set $activeSlave.clothes = "no clothing">> + <<set $activeSlave.recruiter = 0, $activeSlave.health -= 20>> + <<replace "#artFrame">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + <</replace>> <<replace "#result">> You decide the coward needs more punishment. You order a whip brought to you and give _him2 several lashes directly across _his2 exposed genitalia. _He2 cries out with each lash as _his2 nethers accumulate angry red welts, some even bleeding slightly. After the yelps stop, you feel enough punishment has been given for now and have the producer turned slave hauled to _his2 feet for a proper inspection. <br> - <<set $activeSlave.recruiter = 0, $activeSlave.health -= 20>> <<include "New Slave Intro">> <</replace>> <</link>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index f109f21dcacaac44fee2dd98694713b229de5152..78a049d3f9c79b6334efd87c88425ce80d865289 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -3338,15 +3338,46 @@ Setting missing slave variables: <</if>> <</if>> -<<run SlaveDatatypeCleanup(_Slave)>> +<<set $slaves[_bci] = _Slave>> +<</for>> -<<set _leaderIdx = $leaders.findIndex(function(s) { return s.ID === _Slave.ID; })>> -<<if _leaderIdx !== -1>> - <<set $leaders[_leaderIdx] = _Slave>> +<br> Checking and fixing slave records... +<<for _Slave range $slaves>> + <<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>> + <<run SlaveDatatypeCleanup(_Slave)>> + <<set _leaderIdx = $leaders.findIndex(function(s) { return s.ID === _Slave.ID; })>> + <<if _leaderIdx !== -1>> + <<set $leaders[_leaderIdx] = _Slave>> + <</if>> +<</for>> +Done<br> + +<<if $tanks.length > 0>> + Checking and fixing records for incubator tanks... + <<for _Slave range $tanks>> + <<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>> + <<run SlaveDatatypeCleanup(_Slave, true)>> /* pass second argument as true so that slaveAgeDatatypeCleanup is not run */ + <</for>> + Done<br> <</if>> -<<set $slaves[_bci] = _Slave>> -<</for>> +<<if $cribs.length > 0>> + Checking and fixing records for nursery cribs... + <<for _Slave range $cribs>> + <<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>> + <<run ChildDatatypeCleanup(_Slave)>> + <</for>> + Done<br> +<</if>> + +<<if $heroSlaves.length > 0>> + Checking and fixing special slave records... + <<for _Slave range $heroSlaves>> + <<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>> + /% No SlaveDatatypeCleanup() call as hero slaves are not SlaveState objects %/ + <</for>> + Done<br> +<</if>> <<set $slavesOriginal = []>> /* not used by pregmod */ @@ -3415,6 +3446,7 @@ Setting missing slave variables: <</if>> <</if>> + <<run App.Entity.Utils.GenePoolRecordCleanup(_Slave)>> <<set $genePool[_bci] = _Slave>> <</for>> @@ -3580,5 +3612,7 @@ Done! <<set $upgradeMultiplierMedicine = upgradeMultiplierMedicine()>> <<set $upgradeMultiplierTrade = upgradeMultiplierTrade()>> +<<set $JobIDArray = resetJobIDArray()>> + /* reset NaNArray after BC is run */ <<set $NaNArray = findNaN()>> diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw index 65b1a811e5f7509a072cdb86ce5f0332ec5e2a6f..0c95290b55e4c37a290968182f104f40463c2380 100644 --- a/src/uncategorized/REFI.tw +++ b/src/uncategorized/REFI.tw @@ -137,11 +137,13 @@ /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -475,15 +477,17 @@ It seems $he passed by while you were drinking from $subSlave.slaveName and foun <<st $subSlave.analCount++, $analTotal++>> <</if>> -<<SetNonLocalPronouns $seeDicks>> +<<setNonlocalPronouns $seeDicks>> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -532,6 +536,19 @@ It seems $he passed by while $subSlave.slaveName was dominating the other <<if $ <<case "submissive">> +/* 000-250-006 */ +<<if $seeImages == 1>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + </div> +<</if>> +/* 000-250-006 */ + $subSlave.slaveName is lying on the edge of your desk with _his2<<if $subSlave.belly >= 1500>> bloated<</if>> body helpless beneath you, your <<if $PC.dick == 1>>dick<<else>>strap-on<</if>> in _him2, and your hands around _his2 neck. It's just breath play, and you're practiced enough that _he2's in no danger. _He2's such a sexual submissive that _he2 sometimes acts out if not managed. This happens when _he2 feels the urge to misbehave in order to access punishment, so you personally ensure that _he2 can indulge _his2 submissiveness when _he2 needs it. _He2 does not orgasm with you, _his2 complete servitude to your pleasure fulfilling a deeper need than that. _He2 leaves your office with a serene look on _his2 face, passing <<EventNameLink>>, who is <<if $activeSlave.amp == 1>> propped limblessly nearby. $He has @@ -576,6 +593,19 @@ It seems $he passed by while you were dominating $subSlave.slaveName. <<if $acti <<case "buttslut">> +/* 000-250-006 */ +<<if $seeImages == 1>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + </div> +<</if>> +/* 000-250-006 */ + In the middle of the afternoon, you take a break from work to fuck $subSlave.slaveName in your office. $subSlave.slaveName is such a complete buttslut that _he2's enjoying _himself2 to an almost indecent degree: moaning, begging, or just smiling idiotically with _his2 mouth open and _his2 tongue lolling. After you finish and _he2 leaves, you notice $activeSlave.slaveName at the door to your office. You call $his in. <br><br> <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused: @@ -615,11 +645,13 @@ It seems $he passed by while you were buttfucking $subSlave.slaveName and found <<set _clothesTemp = $subSlave.clothes, $subSlave.clothes = "no clothing", $subSlave.oralCount++, $oralTotal++>> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -665,6 +697,19 @@ It seems $he passed by while $subSlave.slaveName was <<if $PC.dick > 0>>in the m <<case "humiliation">> +/* 000-250-006 */ +<<if $seeImages == 1>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + </div> +<</if>> +/* 000-250-006 */ + You have $subSlave.slaveName pinned up against a railing on a balcony that overlooks a public atrium. Passersby below cannot see you, but they can certainly see $subSlave.slaveName's upper body as _he2 takes your dick. _He2's blushing furiously with the sex and with _his2 trademark mixed arousal and embarrassment at having an audience. _He2 makes a show of trying to disguise the fact that _he2's getting railed, but it's obvious. When you finish, you pull _him2 off the railing so _he2 can clean up. <<EventNameLink>> <<if canSee($activeSlave)>>saw<<elseif canHear($activeSlave)>>heard<<else>>felt the heat from<</if>> the denouement of this exhibitionist fun, and seems intrigued. <br><br> <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused: diff --git a/src/uncategorized/REFS.tw b/src/uncategorized/REFS.tw index 049c46dc4522069d58267e0b2db9f721f98938e5..73c49f443e172bba88427c81b4a3c90b2addcaa2 100644 --- a/src/uncategorized/REFS.tw +++ b/src/uncategorized/REFS.tw @@ -53,6 +53,9 @@ <<set $activeSlave.hips = random(-2,-1)>> <<set $activeSlave.butt = random(0,2)>> <<set $activeSlave.health = random(-30,-10)>> + <<set $activeSlave.clothes = "uncomfortable straps">> + <<set $activeSlave.collar = "uncomfortable leather">> + <<case "degradationist encounter">> <<set $activeSlaveOneTimeMaxAge = 22>> @@ -65,6 +68,7 @@ <<set $activeSlave.hips = random(-2,-1)>> <<set $activeSlave.butt = random(0,2)>> <<set $activeSlave.health = random(70,80)>> + <<set $activeSlave.clothes = "conservative clothing">> <<case "transformation fetishism encounter">> <<set $activeSlaveOneTimeMaxAge = 22>> @@ -86,6 +90,7 @@ <<set $activeSlave.buttImplant = 1>> <<set $activeSlave.lips += 10>> <<set $activeSlave.lipsImplant = 10>> + <<set $activeSlave.clothes = "conservative clothing">> <<case "youth preferentialist encounter">> <<set $activeSlaveOneTimeMaxAge = 22>> @@ -109,6 +114,7 @@ <<set $activeSlave.weight = Math.min($activeSlave.weight, 10)>> <<set $activeSlave.waist = Math.min($activeSlave.waist, 0)>> <<set $activeSlave.muscles = Math.min($activeSlave.muscles, 30)>> + <<set $activeSlave.clothes = "conservative clothing">> <<case "maturity preferentialist encounter">> <<set $activeSlaveOneTimeMinAge = 36>> @@ -134,10 +140,23 @@ <<set $activeSlave.weight = random(10,40)>> <<set $activeSlave.waist = random(-10,10)>> <<set $activeSlave.muscles = Math.min($activeSlave.muscles, 30)>> + <<set $activeSlave.clothes = "conservative clothing">> <<default>> <</switch>> +<span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ +</span> + <<if $activeSlave != 0 && def $activeSlave>> <<set $desc = SlaveTitle($activeSlave)>> <<run Enunciate($activeSlave)>> @@ -214,6 +233,18 @@ On this particular outing you happen to cross paths with a comely female citizen <</link>> <<if $cash >= 2000>> <br><<link "Take the poor slave $girl into your custody">> + <<set $activeSlave.clothes = "no clothing">> + <<replace "#artFrame">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + <</replace>> <<replace "#result">> Confronting the citizen is simplicity in itself; he would not dare defy you under threat of arrest by your security drones and is unlikely to garner any sympathy from the public for his degradationist behaviors. As such, you are able to take civil ownership over the poor slave $girl and take $him into your care with only minimal compensation to the citizen. As you stride away from $his former owner with the $girl in your arms, $he leans over to plant a chaste kiss of thanks on your cheek. <<run cashX(-2000, "slaveTransfer", $activeSlave)>> @@ -239,6 +270,18 @@ On this particular outing you happen to cross paths with a comely female citizen <</link>> <<if $cash >= 2000>> <br><<link "Take the pampered slave $girl into your custody">> + <<set $activeSlave.clothes = "no clothing">> + <<replace "#artFrame">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + <</replace>> <<replace "#result">> Confronting the citizen is simplicity in itself; he would not dare defy you directly under threat of arrest by your security drones and is unlikely to garner any sympathy from the public for his disturbing actions. As such, you are able to take civil ownership over the slave $girl and claim $him for yourself with only token compensation to the citizen. As you stride away from $his former owner with the $girl in your arms, $he clings to you with obvious naïveté for how you will treat $him. It's time $he learnt how slaves are treated in $arcologies[0].name. <<run cashX(-2000, "slaveTransfer", $activeSlave)>> @@ -402,6 +445,18 @@ On this particular outing you happen to cross paths with a comely female citizen <br><br> <span id="result2"> <<link "Enslave $him afterwards">> + <<set $activeSlave.clothes = "no clothing">> + <<replace "#artFrame">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + <</replace>> <<replace "#result2">> After $he regains $his bearings from your sexual encounter, the $girl slips on $his simple clothes and attempts to slink away from your private suite unobtrusively. $He makes it out the door before being confronted by a glowing array of wallscreen monitors, each displaying a visual representation of your purchase of $his father's considerable debt and subsequent enslavement of $him on the basis of that debt. Tears begin to stream down $his cheeks as $he sinks to $his knees, $his hopes of a long life without enslavement now dashed. <br><br> @@ -441,6 +496,18 @@ On this particular outing you happen to cross paths with a comely female citizen <<if $cash >= 10000>> <br><br> <span id="result2"> + <<set $activeSlave.clothes = "no clothing">> + <<replace "#artFrame">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + <</replace>> <<link "Enslave $him afterwards">> <<replace "#result2">> After $he regains $his bearings from your sexual encounter, the older $woman slips on $his simple clothes and attempts to slink away from your private suite unobtrusively. $He makes it out the door before being confronted by a glowing array of wallscreen monitors, each displaying a visual representation of your purchase of $his considerable debt and subsequent enslavement of $him on the basis of that debt. Tears begin to stream down $his weathered cheeks as $he sinks to $his knees, $his hopes of making it through the breadth of $his long life without enslavement now dashed. diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw index 489fea5e476d89a4f92444f1643c4ef5f256cee2..51155d1610a83924a20c4a28da56085974ea4f46 100644 --- a/src/uncategorized/endWeek.tw +++ b/src/uncategorized/endWeek.tw @@ -55,6 +55,13 @@ } } })>> +<<set $organs = $organs.filter(function(o) { + if (o.weeksToCompletion <= 0) { + $completedOrgans.push(o); + return false; + } + return true; +})>> <</if>> <<if $incubatorOrgans.length > 0>> diff --git a/src/uncategorized/industrialDairyAssignmentScene.tw b/src/uncategorized/industrialDairyAssignmentScene.tw index f0633b9170999cf88f2cd7cf2b55bb2cdb186174..e8b588b1c8a821714a4cf701fd2baddcdbda154a 100644 --- a/src/uncategorized/industrialDairyAssignmentScene.tw +++ b/src/uncategorized/industrialDairyAssignmentScene.tw @@ -5,6 +5,18 @@ <<setLocalPronouns $activeSlave>> +<span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ +</span> + When $activeSlave.slaveName reports to the dairy, it's to the sight of an unoccupied milking machine waiting for $him, its straps ready to immure $him in what is to be $his new home. <<if $activeSlave.sexualFlaw == "self hating">> /* GETTING IN */ diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw index 7530e37a8e7b3f6606f96db0400ded4d22988442..e379ab652bc5d36ac108ba2586517f913d89170b 100644 --- a/src/uncategorized/main.tw +++ b/src/uncategorized/main.tw @@ -106,20 +106,87 @@ __''MAIN MENU''__ //[[Summary Options]]// <body> <div class="tab"> + <<set _penthouseSlaves = 0>> + <<run Object.keys($JobIDArray).forEach((job) => _penthouseSlaves += $JobIDArray[job].length)>> <<if $useSlaveSummaryOverviewTab == 1>> <button class="tablinks" onclick="opentab(event, 'overview')" id="tab overview">Overview</button> <</if>> - <button class="tablinks" onclick="opentab(event, 'resting')" id="tab resting">Resting</button> - <button class="tablinks" onclick="opentab(event, 'stay confined')" id="tab stay confined">Confined</button> - <button class="tablinks" onclick="opentab(event, 'take classes')" id="tab take classes">Students</button> - <button class="tablinks" onclick="opentab(event, 'please you')" id="tab please you">Fucktoys</button> - <button class="tablinks" onclick="opentab(event, 'whore')" id="tab whore">Whores</button> - <button class="tablinks" onclick="opentab(event, 'serve the public')" id="tab serve the public">Public Servants</button> - <button class="tablinks" onclick="opentab(event, 'be a servant')" id="tab be a servant">Servants</button> - <button class="tablinks" onclick="opentab(event, 'get milked')" id="tab milked">Cows</button> - <button class="tablinks" onclick="opentab(event, 'work a glory hole')" id="tab work a glory hole">Gloryhole</button> - <button class="tablinks" onclick="opentab(event, 'be a subordinate slave')" id="tab be a subordinate slave">Subordinate slaves</button> - <button class="tablinks" onclick="opentab(event, 'all')" id="tab all">All</button> + <button class="tablinks" onclick="opentab(event, 'resting')" id="tab resting"> /*leaving resting always on as it changes a lot from week to week. */ + Resting + <<if $JobIDArray['rest'].length > 0>> + ($JobIDArray['rest'].length) + <</if>> + </button> + <<if $JobIDArray['stay confined'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'stay confined')" id="tab stay confined"> + Confined + ($JobIDArray['stay confined'].length) + </button> + <</if>> + <<if $JobIDArray['take classes'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'take classes')" id="tab take classes"> + Students + ($JobIDArray['take classes'].length) + </button> + <</if>> + <<if $JobIDArray['please you'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'please you')" id="tab please you"> + Fucktoys + ($JobIDArray['please you'].length) + </button> + <</if>> + <<if $JobIDArray['whore'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'whore')" id="tab whore"> + Whores + ($JobIDArray['whore'].length) + </button> + <</if>> + <<if $JobIDArray['serve the public'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'serve the public')" id="tab serve the public"> + Public Servants + ($JobIDArray['serve the public'].length) + </button> + <</if>> + <<if $JobIDArray['be a servant'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'be a servant')" id="tab be a servant"> + Servants + ($JobIDArray['be a servant'].length) + </button> + <</if>> + <<if $JobIDArray['get milked'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'get milked')" id="tab milked"> + Cows + ($JobIDArray['get milked'].length) + </button> + <</if>> + <<if $JobIDArray['work a glory hole'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'work a glory hole')" id="tab work a glory hole"> + Gloryhole + ($JobIDArray['work a glory hole'].length) + </button> + <</if>> + <<if $JobIDArray['be a subordinate slave'].length > 0>> + <button class="tablinks" onclick="opentab(event, 'be a subordinate slave')" id="tab be a subordinate slave"> + Subordinate slaves + ($JobIDArray['be a subordinate slave'].length) + </button> + <</if>> + + <button class="tablinks" onclick="opentab(event, 'all')" id="tab all"> + All + <<if _penthouseSlaves > 0>> + <<if $Headgirl != 0>> + <<set _penthouseSlaves++>> + <</if>> + <<if $Recruiter != 0>> + <<set _penthouseSlaves++>> + <</if>> + <<if $Bodyguard != 0>> + <<set _penthouseSlaves++>> + <</if>> + (_penthouseSlaves) + <</if>> + </button> </div> <div id="overview" class="tabcontent"> @@ -407,23 +474,23 @@ __''MAIN MENU''__ //[[Summary Options]]// <script>document.getElementById("tab overview").click();</script> <<elseif ($tabChoice.Main == "resting")>> <script>document.getElementById("tab resting").click();</script> - <<elseif ($tabChoice.Main == "stay confined")>> + <<elseif ($tabChoice.Main == "stay confined" && $JobIDArray['stay confined'].length)>> <script>document.getElementById("tab stay confined").click();</script> - <<elseif ($tabChoice.Main == "take classes")>> + <<elseif ($tabChoice.Main == "take classes") && $JobIDArray['take classes'].length>> <script>document.getElementById("tab take classes").click();</script> - <<elseif ($tabChoice.Main == "please you")>> + <<elseif ($tabChoice.Main == "please you") && $JobIDArray['please you'].length>> <script>document.getElementById("tab please you").click();</script> - <<elseif ($tabChoice.Main == "whore")>> + <<elseif ($tabChoice.Main == "whore" && $JobIDArray['whore'].length)>> <script>document.getElementById("tab whore").click();</script> - <<elseif ($tabChoice.Main == "serve the public")>> + <<elseif ($tabChoice.Main == "serve the public") && $JobIDArray['serve the public'].length>> <script>document.getElementById("tab serve the public").click();</script> - <<elseif ($tabChoice.Main == "be a servant")>> + <<elseif ($tabChoice.Main == "be a servant") && $JobIDArray['be a servant'].length>> <script>document.getElementById("tab be a servant").click();</script> - <<elseif ($tabChoice.Main == "get milked")>> + <<elseif ($tabChoice.Main == "get milked") && $JobIDArray['get milked'].length>> <script>document.getElementById("tab get milked").click();</script> - <<elseif ($tabChoice.Main == "work a glory hole")>> + <<elseif ($tabChoice.Main == "work a glory hole") && $JobIDArray['work a glory hole'].length>> <script>document.getElementById("tab work a glory hole").click();</script> - <<elseif ($tabChoice.Main == "be a subordinate slave")>> + <<elseif ($tabChoice.Main == "be a subordinate slave") && $JobIDArray['be a subordinate slave'].length>> <script>document.getElementById("tab be a subordinate slave").click();</script> <<elseif ($tabChoice.Main == "all")>> <script>document.getElementById("tab all").click();</script> diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw index 9652265667092eccc5a691df6ae7827def531c6b..1084a4c697b90396d86a55b31d3b8faa663ffa78 100644 --- a/src/uncategorized/options.tw +++ b/src/uncategorized/options.tw @@ -45,7 +45,7 @@ This save was created using FC version $ver build $releaseID. <br> ''COLOR CONTROL'' <br> -<<link "flip lighting">><<run flipColors(setup.lightColorMap)>><</link>> +<<link "flip lighting">><<run flipColors(setup.lightColorMap)>><<goto "Options">><</link>> <br> ''IMAGES'' diff --git a/src/uncategorized/pRivalryHostage.tw b/src/uncategorized/pRivalryHostage.tw index 91a6e2d75fb7e2233fcb92bea9296cacc2af8e3c..e4f648dead7c1289e6e973809e48e0ab4ba3434e 100644 --- a/src/uncategorized/pRivalryHostage.tw +++ b/src/uncategorized/pRivalryHostage.tw @@ -194,11 +194,51 @@ <<set $activeSlave.intelligence = 100, $activeSlave.intelligenceImplant = 30>> <<set $activeSlave.whoreSkill = 100, $activeSlave.entertainSkill = 100>> <</switch>> + +<<set $activeSlave.trust = 0>> +<<set $activeSlave.devotion = 0>> <<set $activeSlave.visualAge = $activeSlave.actualAge>> <<set $activeSlave.physicalAge = $activeSlave.actualAge>> <<set $activeSlave.ovaryAge = $activeSlave.actualAge>> <<ResyncHeight $activeSlave>> +<<switch $rivalryFS>> +<<case "Repopulation Focus">> + <<set $activeSlave.preg = -3>> +<<case "Body Purism">> + <<set $activeSlave.boobs = 300>> +<<case "Slimness Enthusiasm">> + <<set $activeSlave.weight = -20>> + <<set $activeSlave.boobs = 800>> +<<case "Pastoralism">> + <<set $activeSlave.weight = 100>> + <<set $activeSlave.muscles = 0>> + <<set $activeSlave.boobs = 1200>> +<<case "Cummunism">> + <<set $activeSlave.boobs = 800>> + <<set $activeSlave.weight = -20>> +<<case "Physical Idealism">> + <<set $activeSlave.boobs = 200>> + <<set $activeSlave.butt = 1>> + <<set $activeSlave.weight = -20>> +<<case "Hedonistic Decadence">> + <<set $activeSlave.weight = 100>> + <<set $activeSlave.muscles = 0>> + <<set $activeSlave.boobs = 1200>> +<</switch>> + +<span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ +</span> + <<setLocalPronouns $activeSlave>> <<setPlayerPronouns>> @@ -301,7 +341,6 @@ but look what I have here! I just acquired $him recently. Lovely, isn't $he? I k I'm going to destroy $him. Holes first, of course. I'll have to get more inventive after that, and I'll leave $his vocal cords for last. That way, $he'll be able to beg. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to scream, and the noise goes on and on. And on. <<case "Repopulation Focus">> I'm going to ruin $his womb, making sure $he can never have children again. I bet you spent lots of nights fantasizing about $him with a huge belly didn't you? - <<set $activeSlave.preg = -3>> <<case "Eugenics">> <<if $seeHyperPreg == 1>> I'm going to have $him knocked up; not with my seed, of course, but the seed of the lowest of the low. I'm also going to fill $him with the most powerful experimental fertility drugs out there. $He'll have so many children shoved into $his poor womb $he'll be bursting at the seams. But $he'll enjoy that, won't you <<= SlaveFullName($activeSlave)>>?" The slave nods hesitantly, but with evident arousal. @@ -312,7 +351,6 @@ but look what I have here! I just acquired $him recently. Lovely, isn't $he? I k $He's going to be my lover. $He'll have everything $he could ever want, and I'll be sure to let $him know all about what you do to your slaves. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly. <<case "Body Purism">> I'm going to give $him a nice pair of fake tits. No reason to be excessively clever when I can just make $his tits so huge $he won't be able to walk. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob. - <<set $activeSlave.boobs = 300>> <<case "Transformation Fetishism">> $He's going to be my lover. I'll be sure to let $him know all about what you do to your slaves, and rest assured, I'll never treat $him that way. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly. <<case "Youth Preferentialism">> @@ -321,29 +359,16 @@ but look what I have here! I just acquired $him recently. Lovely, isn't $he? I k I've set $him up with a nice young girl already. I believe they'll be a perfect match. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly. <<case "Slimness Enthusiasm">> I think I'll make $his IV line permanent. After all, $he's never going off breast growth hormones. I'd estimate $he shouldn't be able to walk within a month. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob. - <<set $activeSlave.weight = -20>> - <<set $activeSlave.boobs = 800>> <<case "Asset Expansionism">> $He's going to be my lover. I'll be sure to let $him know all about what you do to your slaves, and rest assured, I'll never give $him growth hormones, not one single dose. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly. <<case "Pastoralism">> $He's going to be my spotter. Girls should be strong, smoking hot ladies, not disgusting cows. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly. - <<set $activeSlave.weight = 100>> - <<set $activeSlave.muscles = 0>> - <<set $activeSlave.boobs = 1200>> <<case "Cummunism">> $He's going to be my personal milk dispenser. I shouldn't have to chain $him to my desk after the first month, since $his udders will pin $him in place. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob. - <<set $activeSlave.boobs = 800>> - <<set $activeSlave.weight = -20>> <<case "Physical Idealism">> $He's going to learn to enjoy yourself. I'm going to force $his face full of food, $his cunt full of dicks and discover $his deepest, darkest desires. Wouldn't you like that, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob. "To start, how about a weigh in? Sixty three and a half kilograms, such a pity, but don't worry, I'll have $him nice and plump soon enough." - <<set $activeSlave.boobs = 200>> - <<set $activeSlave.butt = 1>> - <<set $activeSlave.weight = -20>> <<case "Hedonistic Decadence">> $He's going to be my spotter. Girls should be strong, smoking hot ladies, not disgusting obese slobs. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly. - <<set $activeSlave.weight = 100>> - <<set $activeSlave.muscles = 0>> - <<set $activeSlave.boobs = 1200>> <<case "Chattel Religionism">> $He's going to be the perfect courtesan. No preaching, no praying, just good, clean sex for money. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly. <<case "Multiculturalism">> @@ -352,8 +377,6 @@ but look what I have here! I just acquired $him recently. Lovely, isn't $he? I k $He's shaping up to be a good slave. I'm keeping $him informed of your revisionist nonsense, and what your slaves suffer because of it. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly. <</switch>> -<<set $activeSlave.trust = 0>> -<<set $activeSlave.devotion = 0>> Your rival smiles icily. "I'll keep you informed of $his progress. I wouldn't want you to miss a moment of it." <br><br> You're forging a new frontier in warfare here. This, then, is the new frontier in psychological warfare. diff --git a/src/uncategorized/pSlaveMedic.tw b/src/uncategorized/pSlaveMedic.tw index 7f170509611400b262f957035d5229edbffaf039..eae19abce4002cd042b98e2632dd5621cd42144e 100644 --- a/src/uncategorized/pSlaveMedic.tw +++ b/src/uncategorized/pSlaveMedic.tw @@ -90,6 +90,18 @@ <</if>> +<span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ +</span> + <<setLocalPronouns $activeSlave>> <<if $pedo_mode == 1>> diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw index 9575cf067ec771050fedf778d12d8a1f06a10f39..2d6580a55010943f805037d8d3b2665505cf5688 100644 --- a/src/uncategorized/reBoomerang.tw +++ b/src/uncategorized/reBoomerang.tw @@ -230,7 +230,7 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against <<set $activeSlave.buttImplant = random(2,4), $activeSlave.butt = Math.clamp($activeSlave.butt+$activeSlave.buttImplant,0,10)>> <<set $activeSlave.lipsImplant = 10*random(1,3), $activeSlave.lips = Math.clamp($activeSlave.lips+$activeSlave.lipsImplant,0,100)>> <<case "D milf staffing" "trainer staffing">> - <<setNonLocalPronouns $seeDicks>> + <<setNonlocalPronouns $seeDicks>> "I'm a good <<s>>lave trainer, ju<<s>>t like you <<s>>old me to be. Too good." $His eyes look hollow. "I can't get what I'm doing to the<<s>>e <<= _girlU>><<s>> out of my head. Every young _girlU I meet, I get to know _himU and under<<s>>tand _himU. And then I break _himU down and turn _himU into a brainle<<ss>> little fuckpuppet." $He swallows. "I can't. Not anymore." <<set $activeSlave.fetish = "dom", $activeSlave.fetishStrength = 100>> <<set $activeSlave.behavioralFlaw = "arrogant", $activeSlave.sexualFlaw = "crude">> diff --git a/src/uncategorized/reMilfTourist.tw b/src/uncategorized/reMilfTourist.tw index 57d262d4b1e0fe429a0e57d8504cf08e9956a6bc..f47c316237d3b58c6c5508404455c0b5c5cbcb6d 100644 --- a/src/uncategorized/reMilfTourist.tw +++ b/src/uncategorized/reMilfTourist.tw @@ -30,6 +30,22 @@ <<set $activeSlave.behavioralQuirk = "none">> <<set $activeSlave.sexualQuirk = "none">> <<set $activeSlave.canRecruit = 0>> +<<set $activeSlave.clothes = "nice business attire">> + +<span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _milfSlave 2 0>> + </div> + </div> + <</if>> + /* 000-250-006 */ +</span> <<setLocalPronouns _milfSlave>> <<setLocalPronouns $activeSlave 2>> @@ -132,6 +148,21 @@ <</link>> <<if $cash > 20000>> <br><<link "Enslave _him2">> + <<set $activeSlave.clothes = "no clothing">> + <<replace "#artFrame">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _milfSlave 2 0>> + </div> + </div> + <</if>> + /* 000-250-006 */ + <</replace>> <<replace "#result">> When your new slave comes to, _his2 weight is hanging from _his2 wrists, bound over _his2 head. _He2's not exactly thin, making the position uncomfortable for _his2 arms, so _he2 groggily stands, finding _himself2 in a pool of light in the middle of a cell. _He2's nursing a tremendous hangover, and though _he2 does not realize it, _he2's drugged. You're present, though not visible, witnessing _his2 first conscious moment of slavery from your desk. Realization is slow. _He2's no innocent, so _he2 recognizes the sensations of waking up the morning after a night of drinking interspersed with vigorous vaginal, oral and anal intercourse, but _he2 does not remember the specifics. After a few minutes, _he2 understands that no one is coming, and speaks up hesitantly: "Is anyone there?" Getting no immediate answer, _he2 slumps against _his2 wrist restraints again, and begins to cry to _himself2. "W-why would a-anyone do this." <br> diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw index a7404b9b0374480761e3f22bc0836119b6cf8dda..347f7687f4c05bcadfc90bdc72c5f7e98e7a96a9 100644 --- a/src/uncategorized/reRelativeRecruiter.tw +++ b/src/uncategorized/reRelativeRecruiter.tw @@ -7,6 +7,7 @@ <<set $eventSlave = getSlave($recruiterSlave)>> <<set $activeSlave = BaseSlave()>> <<set $activeSlave = Object.assign($activeSlave, clone($genePool.find(function(o) { return o.ID == $eventSlave.ID; })))>> +<<run generatePronouns($activeSlave)>> <span id="artFrame"> /* 000-250-006 */ @@ -852,7 +853,9 @@ You look up the _relationType. _He2 costs <<print cashFormat($slaveCost)>>, a ba <<set $j = $genePool.findIndex(function(o) { return o.ID == $slaves[$i].ID; })>> <<set $eventSlave = $slaves[$i]>> -<<set $activeSlave = clone($genePool[$j])>> +<<set $activeSlave = BaseSlave()>> +<<set $activeSlave = Object.assign($activeSlave, clone($genePool[$j]))>> +<<run generatePronouns($activeSlave)>> <<run Enunciate($eventSlave)>> /* 000-250-006 */ @@ -1198,4 +1201,3 @@ You look up the $activeSlave.relation. _He2 costs <<print cashFormat($slaveCost) </span> <</if>> /* close extended family mode */ - diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 7a292bb7ce0bd20889f52e9223d7ceffbcf6d944..10c396c0a0eeb1aefc6a8653fd13578290cd9484 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -162,7 +162,7 @@ $He has normal ears. <<elseif $activeSlave.earShape == "damaged">> damaged ears. - | [[Repair|Surgery Degradation][$activeSlave.earShape = "normal", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earRestore"]] + | [[Repair|Surgery Degradation][$activeSlave.earShape = "normal", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earRestore"]] <<elseif $activeSlave.earShape == "pointy">> small elfin ears. <<elseif $activeSlave.earShape == "elven">> @@ -179,11 +179,11 @@ $He has //$His indenture forbids elective surgery// <<else>> <<if $activeSlave.earShape != "normal" && $activeSlave.earShape != "none">> - [[Restore to normal|Surgery Degradation][$activeSlave.earShape = "normal", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earRestore"]] + [[Restore to normal|Surgery Degradation][$activeSlave.earShape = "normal", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earRestore"]] <</if>> <<if $activeSlave.earShape != "normal" && $activeSlave.earShape != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> | <</if>> <<if $activeSlave.earShape != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> - [[Remove them|Surgery Degradation][$activeSlave.earShape = "none", cashX(forceNeg($surgeryCost), $activeSlave.health -= 20, $surgeryType = "earGone"]] + [[Remove them|Surgery Degradation][$activeSlave.earShape = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "earGone"]] <</if>> <<if $activeSlave.earShape == "none">> <<if $activeSlave.hears != -2 && $activeSlave.earImplant != 1>> @@ -194,14 +194,14 @@ $He has <</if>> <<else>> <<if $activeSlave.earShape != "pointy">> - | [[Reshape into small elfin ears|Surgery Degradation][$activeSlave.earShape = "pointy", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMinor"]] + | [[Reshape into small elfin ears|Surgery Degradation][$activeSlave.earShape = "pointy", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMinor"]] <</if>> <<if $surgeryUpgrade == 1>> <<if $activeSlave.earShape != "elven">> - | [[Reshape into long elf ears|Surgery Degradation][$activeSlave.earShape = "elven", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into long elf ears|Surgery Degradation][$activeSlave.earShape = "elven", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <<if $activeSlave.earShape != "ushi">> - | [[Reshape into bovine ears|Surgery Degradation][$activeSlave.earShape = "ushi", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into bovine ears|Surgery Degradation][$activeSlave.earShape = "ushi", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <</if>> <</if>> @@ -230,29 +230,29 @@ $He has //$His indenture forbids elective surgery// <<else>> <<if $activeSlave.earT != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> - [[Remove them|Surgery Degradation][$activeSlave.earT = "none", cashX(forceNeg($surgeryCost), $activeSlave.health -= 20, $surgeryType = "earGone"]] + [[Remove them|Surgery Degradation][$activeSlave.earT = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "earGone"]] <</if>> <<if $activeSlave.earT == "normal">> <<if $activeSlave.earT != "neko">> - | [[Reshape into cat Ears|Surgery Degradation][$activeSlave.earT = "neko", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into cat Ears|Surgery Degradation][$activeSlave.earT = "neko", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <<if $activeSlave.earT != "inu">> - | [[Reshape into dog Ears|Surgery Degradation][$activeSlave.earT = "inu", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into dog Ears|Surgery Degradation][$activeSlave.earT = "inu", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <<if $activeSlave.earT != "kit">> - | [[Reshape into fox Ears|Surgery Degradation][$activeSlave.earT = "kit", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into fox Ears|Surgery Degradation][$activeSlave.earT = "kit", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <<if $activeSlave.earT != "tanuki">> - | [[Reshape into tanuki Ears|Surgery Degradation][$activeSlave.earT = "tanuki", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into tanuki Ears|Surgery Degradation][$activeSlave.earT = "tanuki", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <<else>> <br> <<if $activeSlave.earTColor == "hairless">> They are completely bald. - [[Implant hair mimicking fibers|Surgery Degradation][$activeSlave.earTColor = $activeSlave.hColor, cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMinor"]] + [[Implant hair mimicking fibers|Surgery Degradation][$activeSlave.earTColor = $activeSlave.hColor, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMinor"]] <<else>> They are covered by a multitude of implanted $activeSlave.earTColor fibers mimicking hair. - [[Remove them|Surgery Degradation][$activeSlave.earTColor = "hairless", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "earMinor"]] + [[Remove them|Surgery Degradation][$activeSlave.earTColor = "hairless", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMinor"]] <</if>> <</if>> <</if>> @@ -297,20 +297,20 @@ $He has <<if $activeSlave.horn == "none">>no horns<<else>>$activeSlave.horn<</if <<if $activeSlave.indentureRestrictions >= 2>> //$His indenture forbids elective surgery// <<elseif $activeSlave.horn != "none">> - [[Remove them|Surgery Degradation][$activeSlave.horn = "none", $activeSlave.hornColor = "none", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "hornGone"]]<</if>> + [[Remove them|Surgery Degradation][$activeSlave.horn = "none", $activeSlave.hornColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "hornGone"]]<</if>> Give $him: <<if $activeSlave.horn != "curved succubus horns">> - [[Succubus horns|Surgery Degradation][$activeSlave.horn = "curved succubus horns", $activeSlave.hornColor = "jet black", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> + [[Succubus horns|Surgery Degradation][$activeSlave.horn = "curved succubus horns", $activeSlave.hornColor = "jet black", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <<if $activeSlave.horn != "backswept horns">> - | [[Backswept horns|Surgery Degradation][$activeSlave.horn = "backswept horns", $activeSlave.hornColor = "jet black", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> + | [[Backswept horns|Surgery Degradation][$activeSlave.horn = "backswept horns", $activeSlave.hornColor = "jet black", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <<if $activeSlave.horn != "cow horns">> - | [[Bovine horns|Surgery Degradation][$activeSlave.horn = "cow horns", $activeSlave.hornColor = "ivory", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> + | [[Bovine horns|Surgery Degradation][$activeSlave.horn = "cow horns", $activeSlave.hornColor = "ivory", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <<if $activeSlave.horn != "one long oni horn">> - | [[an oni horn|Surgery Degradation][$activeSlave.horn = "one long oni horn", $activeSlave.hornColor = $activeSlave.skin, cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> + | [[an oni horn|Surgery Degradation][$activeSlave.horn = "one long oni horn", $activeSlave.hornColor = $activeSlave.skin, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <<if $activeSlave.horn != "two long oni horns">> - | [[2 oni horns|Surgery Degradation][$activeSlave.horn = "two long oni horns", $activeSlave.hornColor = $activeSlave.skin, cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> + | [[2 oni horns|Surgery Degradation][$activeSlave.horn = "two long oni horns", $activeSlave.hornColor = $activeSlave.skin, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <<if $activeSlave.horn != "small horns">> - | [[Small horns|Surgery Degradation][$activeSlave.horn = "small horns", $activeSlave.hornColor = "ivory", cashX(forceNeg($surgeryCost), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> + | [[Small horns|Surgery Degradation][$activeSlave.horn = "small horns", $activeSlave.hornColor = "ivory", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <br> $He has @@ -525,7 +525,7 @@ $He has <</if>> <<if $activeSlave.boobsImplantType == 1>> string - <<else>> + <<elseif $activeSlave.boobsImplant >= 800>> fillable <</if>> breast implants. @@ -938,7 +938,7 @@ $He's got a butt <<if $activeSlave.buttImplantType == 1>> string - <<else>> + <<elseif $activeSlave.buttImplant >= 3>> fillable <</if>> implants. diff --git a/src/uncategorized/rieEligibilityCheck.tw b/src/uncategorized/rieEligibilityCheck.tw index 238d270059c1ed7671d5d375fd07c0990e0cc94d..c4a1ea04810ecc16f6173310487155ebb8df0328 100644 --- a/src/uncategorized/rieEligibilityCheck.tw +++ b/src/uncategorized/rieEligibilityCheck.tw @@ -1,7 +1,5 @@ :: RIE Eligibility Check -<<link "Skip week-end events" "Next Week">><</link>> - <<silently>> <<set $eventSlave = 0, $eligibleSlaves = []>> diff --git a/src/uncategorized/wardrobeUse.tw b/src/uncategorized/wardrobeUse.tw index 62d97e650f2bc122b556fb46bdd5b1c40b5af2aa..0537e3beee656d6ee4904172675cfc1e74c0fa3c 100644 --- a/src/uncategorized/wardrobeUse.tw +++ b/src/uncategorized/wardrobeUse.tw @@ -6,6 +6,8 @@ <<set $encyclopedia = "The Wardrobe">> <<setLocalPronouns $activeSlave>> +<<set $activeSlave.choosesOwnClothes = ($activeSlave.clothes == "choosing her own clothes" ? 1 : 0)>> + <h1>The Wardrobe</h1> //$activeSlave.slaveName <<if $activeSlave.amp != 1>>stands on<<else>>has been placed on a cushion atop<</if>> a small platform surrounded by mirrors and an array of clothing options. $He is awaiting your fashion choices.// @@ -14,1277 +16,512 @@ /* 000-250-006 */ <<if $seeImages == 1>> -<<if $imageChoice == 1>> - <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 3 0>></div> -<<else>> - <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 3 0>></div> -<</if>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 3 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 3 0>></div> + <</if>> <</if>> /* 000-250-006 */ -<<link "''//Update//''">> - <<goto "Wardrobe Use">> -<</link>> -all descriptions to show what $he is currently wearing? -<br><br> - <<if $activeSlave.fuckdoll == 0>> /* begin fuckdoll check */ - -Clothes: ''<span id="clothes">$activeSlave.clothes</span>.'' -<<link "Let $him choose">> - <<set $activeSlave.clothes = "choosing her own clothes",$activeSlave.choosesOwnClothes = 1>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> - -<span id="clothingDescription"><br>//<<ClothingDescription>>//</span> - - -<br> //Nice:// -<<link "Apron">> - <<set $activeSlave.clothes = "an apron",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a ball gown")>> - | <<link "Ballgown">> - <<set $activeSlave.clothes = "a ball gown",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Bangles">> - <<set $activeSlave.clothes = "slutty jewelry",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("battlearmor")>> - | <<link "Battlearmor">> - <<set $activeSlave.clothes = "battlearmor",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("battledress")>> - | <<link "Battledress">> - <<set $activeSlave.clothes = "battledress",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a biyelgee costume")>> - | <<link "Biyelgee costume">> - <<set $activeSlave.clothes = "a biyelgee costume",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Bodysuit">> - <<set $activeSlave.clothes = "a comfortable bodysuit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("boyshorts")>> - | <<link "Boyshorts">> - <<set $activeSlave.clothes = "boyshorts",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a bra")>> - | <<link "Bra">> - <<set $activeSlave.clothes = "a bra",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a burkini")>> - | <<link "Burkini">> - <<set $activeSlave.clothes = "a burkini",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a burqa")>> - | <<link "Burqa">> - <<set $activeSlave.clothes = "a burqa",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a button-up shirt and panties")>> - | <<link "Button-up shirt and panties">> - <<set $activeSlave.clothes = "a button-up shirt and panties",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a button-up shirt")>> - | <<link "Button-up shirt">> - <<set $activeSlave.clothes = "a button-up shirt",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Cheerleader">> - <<set $activeSlave.clothes = "a cheerleader outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -| <<link "Clubslut netting">> - <<set $activeSlave.clothes = "clubslut netting",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -| <<link "Cutoffs and t-shirt">> - <<set $activeSlave.clothes = "cutoffs and a t-shirt",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("cutoffs")>> - | <<link "Cutoffs">> - <<set $activeSlave.clothes = "cutoffs",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a cybersuit")>> - | <<link "Cybersuit">> - <<set $activeSlave.clothes = "a cybersuit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a dirndl")>> - | <<link "Dirndl">> - <<set $activeSlave.clothes = "a dirndl",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Fallen nun">> - <<set $activeSlave.clothes = "a fallen nuns habit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a gothic lolita dress")>> - | <<link "Gothic lolita dress">> - <<set $activeSlave.clothes = "a gothic lolita dress",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a halter top dress")>> - | <<link "Haltertop dress">> - <<set $activeSlave.clothes = "a halter top dress",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a hanbok")>> - | <<link "Hanbok">> - <<set $activeSlave.clothes = "a hanbok",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Hijab and abaya">> - <<set $activeSlave.clothes = "a hijab and abaya",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a hijab and blouse")>> - | <<link "Hijab and blouse">> - <<set $activeSlave.clothes = "a hijab and blouse",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("jeans")>> - | <<link "Jeans">> - <<set $activeSlave.clothes = "jeans",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("kitty lingerie")>> - | <<link "Kitty lingerie">> - <<set $activeSlave.clothes = "kitty lingerie",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a klan robe")>> - | <<link "Ku Klux Klan robe (nice)">> - <<set $activeSlave.clothes = "a klan robe",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a slutty klan robe")>> - | <<link "Ku Klux Klan robe (slutty)">> - <<set $activeSlave.clothes = "a slutty klan robe",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a latex catsuit")>> - | <<link "Latex catsuit">> - <<set $activeSlave.clothes = "a latex catsuit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("leather pants and a tube top")>> - | <<link "Leather pants and a tube top">> - <<set $activeSlave.clothes = "leather pants and a tube top",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("leather pants and pasties")>> - | <<link "Leather pants and pasties">> - <<set $activeSlave.clothes = "leather pants and pasties",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("leather pants")>> - | <<link "Leather pants">> - <<set $activeSlave.clothes = "leather pants",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("lederhosen")>> - | <<link "Lederhosen">> - <<set $activeSlave.clothes = "lederhosen",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Leotard">> - <<set $activeSlave.clothes = "a leotard",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a nice maid outfit")>> - | <<link "Maid (nice)">> - <<set $activeSlave.clothes = "a nice maid outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Maid (slutty)">> - <<set $activeSlave.clothes = "a slutty maid outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a military uniform")>> - | <<link "Military uniform">> - <<set $activeSlave.clothes = "a military uniform",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a mini dress")>> - | <<link "Mini dress">> - <<set $activeSlave.clothes = "a mini dress",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a monokini")>> - | <<link "Monokini">> - <<set $activeSlave.clothes = "a monokini",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a mounty outfit")>> - | <<link "Mounty outfit">> - <<set $activeSlave.clothes = "a mounty outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Nice lingerie">> - <<set $activeSlave.clothes = "attractive lingerie",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a niqab and abaya")>> - | <<link "Niqab and abaya">> - <<set $activeSlave.clothes = "a niqab and abaya",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a nice nurse outfit")>> - | <<link "Nurse (nice)">> - <<set $activeSlave.clothes = "a nice nurse outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Nurse (slutty)">> - <<set $activeSlave.clothes = "a slutty nurse outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a one-piece swimsuit")>> - | <<link "One-piece swimsuit">> - <<set $activeSlave.clothes = "a one-piece swimsuit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Overalls">> - <<set $activeSlave.clothes = "overalls",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("an oversized t-shirt and boyshorts")>> - | <<link "Oversized t-shirt and boyshorts">> - <<set $activeSlave.clothes = "an oversized t-shirt and boyshorts",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("an oversized t-shirt")>> - | <<link "Oversized t-shirt">> - <<set $activeSlave.clothes = "an oversized t-shirt",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("panties and pasties")>> - | <<link "Panties and pasties">> - <<set $activeSlave.clothes = "panties and pasties",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Panties">> - <<set $activeSlave.clothes = "panties",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a police uniform")>> - | <<link "Police uniform">> - <<set $activeSlave.clothes = "a police uniform",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a nice pony outfit")>> - | <<link "Pony outfit (nice)">> - <<set $activeSlave.clothes = "a nice pony outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a slutty pony outfit")>> - | <<link "Pony outfit (slutty)">> - <<set $activeSlave.clothes = "a slutty pony outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a red army uniform")>> - | <<link "Red Army uniform">> - <<set $activeSlave.clothes = "a red army uniform",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a Santa dress")>> - | <<link "Santa dress">> - <<set $activeSlave.clothes = "a Santa dress",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Scalemail bikini">> - <<set $activeSlave.clothes = "a scalemail bikini",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -| <<link "Schoolgirl">> - <<set $activeSlave.clothes = "a schoolgirl outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a schutzstaffel uniform")>> - | <<link "Schutzstaffel uniform (nice)">> - <<set $activeSlave.clothes = "a schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a slutty schutzstaffel uniform")>> - | <<link "Schutzstaffel uniform (slutty)">> - <<set $activeSlave.clothes = "a slutty schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a skimpy loincloth")>> - | <<link "Skimpy loincloth">> - <<set $activeSlave.clothes = "a skimpy loincloth",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a slave gown")>> - | <<link "Slave gown">> - <<set $activeSlave.clothes = "a slave gown",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Slutty outfit">> - <<set $activeSlave.clothes = "a slutty outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -| <<link "Spats and a tank-top">> - <<set $activeSlave.clothes = "spats and a tank top",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("sport shorts and a sports bra")>> - | <<link "Sport shorts and a sports bra">> - <<set $activeSlave.clothes = "sport shorts and a sports bra",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("sport shorts and a t-shirt")>> - | <<link "Sport shorts and a t-shirt">> - <<set $activeSlave.clothes = "sport shorts and a t-shirt",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("sport shorts")>> - | <<link "Sport shorts">> - <<set $activeSlave.clothes = "sport shorts",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a sports bra")>> - | <<link "Sports bra">> - <<set $activeSlave.clothes = "a sports bra",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "String Bikini">> - <<set $activeSlave.clothes = "a string bikini",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a striped bra")>> - | <<link "Striped bra">> - <<set $activeSlave.clothes = "a striped bra",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("striped panties")>> - | <<link "Striped panties">> - <<set $activeSlave.clothes = "striped panties",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("striped underwear")>> - | <<link "Striped underwear">> - <<set $activeSlave.clothes = "striped underwear",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Succubus costume">> - <<set $activeSlave.clothes = "a succubus outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("nice business attire")>> - | <<link "Suit (nice)">> - <<set $activeSlave.clothes = "nice business attire",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Suit (slutty)">> - <<set $activeSlave.clothes = "slutty business attire",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("a sweater and cutoffs")>> - | <<link "Sweater and cutoffs">> - <<set $activeSlave.clothes = "a sweater and cutoffs",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a sweater and panties")>> - | <<link "Sweater and panties">> - <<set $activeSlave.clothes = "a sweater and panties",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a sweater")>> - | <<link "Sweater">> - <<set $activeSlave.clothes = "a sweater",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a t-shirt and jeans")>> - | <<link "T-shirt and jeans">> - <<set $activeSlave.clothes = "a t-shirt and jeans",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a t-shirt and panties")>> - | <<link "T-shirt and panties">> - <<set $activeSlave.clothes = "a t-shirt and panties",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a t-shirt and thong")>> - | <<link "T-shirt and thong">> - <<set $activeSlave.clothes = "a t-shirt and thong",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a t-shirt")>> - | <<link "T-shirt">> - <<set $activeSlave.clothes = "a t-shirt",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a tank-top and panties")>> - | <<link "Tank-top and panties">> - <<set $activeSlave.clothes = "a tank-top and panties",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a tank-top")>> - | <<link "Tank-top">> - <<set $activeSlave.clothes = "a tank-top",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a thong")>> - | <<link "Thong">> - <<set $activeSlave.clothes = "a thong",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a tube top and thong")>> - | <<link "Tube top and thong">> - <<set $activeSlave.clothes = "a tube top and thong",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a tube top")>> - | <<link "Tube top">> - <<set $activeSlave.clothes = "a tube top",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> - -<<if isItemAccessible("attractive lingerie for a pregnant woman")>> - | //FS// <<link "Attractive lingerie for a pregnant woman">> - <<set $activeSlave.clothes = "attractive lingerie for a pregnant woman",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a bunny outfit")>> - | //FS// <<link "Bunny outfit">> - <<set $activeSlave.clothes = "a bunny outfit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("body oil")>> - | //FS// <<link "Body oil">> - <<set $activeSlave.clothes = "body oil",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a chattel habit")>> - | //FS// <<link "Chattel habit">> - <<set $activeSlave.clothes = "a chattel habit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("conservative clothing")>> - | //FS// <<link "Conservative clothing">> - <<set $activeSlave.clothes = "conservative clothing",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("harem gauze")>> - | //FS// <<link "Harem gauze">> - <<set $activeSlave.clothes = "harem gauze",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a huipil")>> - | //FS// <<link "Huipil">> - <<set $activeSlave.clothes = "a huipil",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a kimono")>> - | //FS// <<link "Kimono">> - <<set $activeSlave.clothes = "a kimono",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a maternity dress")>> - | //FS// <<link "Maternity dress">> - <<set $activeSlave.clothes = "a maternity dress",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a slutty qipao")>> - | //FS// <<link "Qipao (slutty)">> - <<set $activeSlave.clothes = "a slutty qipao",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a long qipao")>> - | //FS// <<link "Qipao (nice)">> - <<set $activeSlave.clothes = "a long qipao",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("stretch pants and a crop-top")>> - | //FS// <<link "Stretch pants and a crop-top">> - <<set $activeSlave.clothes = "stretch pants and a crop-top",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("a toga")>> - | //FS// <<link "Toga">> - <<set $activeSlave.clothes = "a toga",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("Western clothing")>> - | //FS// <<link "Western clothing">> - <<set $activeSlave.clothes = "Western clothing",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> - -<br> //Harsh:// -<<link "Go naked">> - <<set $activeSlave.clothes = "no clothing", $activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("chains")>> - | //FS// <<link "Chains">> - <<set $activeSlave.clothes = "chains",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Penitent nun">> - <<set $activeSlave.clothes = "a penitent nuns habit",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -| <<link "Restrictive latex">> - <<set $activeSlave.clothes = "restrictive latex",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -| <<link "Shibari ropes">> - <<set $activeSlave.clothes = "shibari ropes",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> -| <<link "Uncomfortable straps">> - <<set $activeSlave.clothes = "uncomfortable straps",$activeSlave.choosesOwnClothes = 0>> - <<replace "#clothes">>$activeSlave.clothes<</replace>> - <<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>> -<</link>> + Clothes: ''$activeSlave.clothes''. + [["Let " + $him + " choose"|Wardrobe Use][$activeSlave.clothes = "choosing her own clothes"]] + <br> + //<<ClothingDescription>>// + <br> + <<options $activeSlave.clothes>> + //Nice:// + <<option "an apron" "Apron">> + <<optionif `isItemAccessible("a ball gown")`>> + <<option "a ball gown" "Ballgown">> + <<optionif>> + <<option "slutty jewelry" "Bangles">> + <<optionif `isItemAccessible("battlearmor")`>> + <<option "battlearmor" "Battlearmor">> + <<optionif `isItemAccessible("battledress")`>> + <<option "battledress" "Battledress">> + <<optionif `isItemAccessible("a biyelgee costume")`>> + <<option "a biyelgee costume" "Biyelgee costume">> + <<optionif>> + <<option "a comfortable bodysuit" "Bodysuit">> + <<optionif `isItemAccessible("boyshorts")`>> + <<option "boyshorts" "Boyshorts">> + <<optionif `isItemAccessible("a bra")`>> + <<option "a bra" "Bra">> + <<optionif `isItemAccessible("a burkini")`>> + <<option "a burkini" "Burkini">> + <<optionif `isItemAccessible("a burqa")`>> + <<option "a burqa" "Burqa">> + <<optionif `isItemAccessible("a button-up shirt and panties")`>> + <<option "a button-up shirt and panties" "Button-up shirt and panties">> + <<optionif `isItemAccessible("a button-up shirt")`>> + <<option "a button-up shirt" "Button-up shirt">> + <<optionif>> + <<option "a cheerleader outfit" "Cheerleader">> + <<option "clubslut netting" "Clubslut netting">> + <<option "cutoffs and a t-shirt" "Cutoffs and t-shirt">> + <<optionif `isItemAccessible("cutoffs")`>> + <<option "cutoffs" "Cutoffs">> + <<optionif `isItemAccessible("a cybersuit")`>> + <<option "a cybersuit" "Cybersuit">> + <<optionif `isItemAccessible("a dirndl")`>> + <<option "a dirndl" "Dirndl">> + <<optionif>> + <<option "a fallen nuns habit" "Fallen nun">> + <<optionif `isItemAccessible("a gothic lolita dress")`>> + <<option "a gothic lolita dress" "Gothic lolita dress">> + <<optionif `isItemAccessible("a halter top dress")`>> + <<option "a halter top dress" "Haltertop dress">> + <<optionif `isItemAccessible("a hanbok")`>> + <<option "a hanbok" "Hanbok">> + <<optionif>> + <<option "a hijab and abaya" "Hijab and abaya">> + <<optionif `isItemAccessible("a hijab and blouse")`>> + <<option "a hijab and blouse" "Hijab and blouse">> + <<optionif `isItemAccessible("jeans")`>> + <<option "jeans" "Jeans">> + <<optionif `isItemAccessible("kitty lingerie")`>> + <<option "kitty lingerie" "Kitty lingerie">> + <<optionif `isItemAccessible("a klan robe")`>> + <<option "a klan robe" "Ku Klux Klan robe (nice)">> + <<optionif `isItemAccessible("a slutty klan robe")`>> + <<option "a slutty klan robe" "Ku Klux Klan robe (slutty)">> + <<optionif `isItemAccessible("a latex catsuit")`>> + <<option "a latex catsuit" "Latex catsuit">> + <<optionif `isItemAccessible("leather pants and a tube top")`>> + <<option "leather pants and a tube top" "Leather pants and a tube top">> + <<optionif `isItemAccessible("leather pants and pasties")`>> + <<option "leather pants and pasties" "Leather pants and pasties">> + <<optionif `isItemAccessible("leather pants")`>> + <<option "leather pants" "Leather pants">> + <<optionif `isItemAccessible("lederhosen")`>> + <<option "lederhosen" "Lederhosen">> + <<optionif>> + <<option "a leotard" "Leotard">> + <<optionif `isItemAccessible("a nice maid outfit")`>> + <<option "a nice maid outfit" "Maid (nice)">> + <<optionif>> + <<option "a slutty maid outfit" "Maid (slutty)">> + <<optionif `isItemAccessible("a military uniform")`>> + <<option "a military uniform" "Military uniform">> + <<optionif `isItemAccessible("a mini dress")`>> + <<option "a mini dress" "Mini dress">> + <<optionif `isItemAccessible("a monokini")`>> + <<option "a monokini" "Monokini">> + <<optionif `isItemAccessible("a mounty outfit")`>> + <<option "a mounty outfit" "Mounty outfit">> + <<optionif>> + <<option "attractive lingerie" "Nice lingerie">> + <<optionif `isItemAccessible("a niqab and abaya")`>> + <<option "a niqab and abaya" "Niqab and abaya">> + <<optionif `isItemAccessible("a nice nurse outfit")`>> + <<option "a nice nurse outfit" "Nurse (nice)">> + <<optionif>> + <<option "a slutty nurse outfit" "Nurse (slutty)">> + <<optionif `isItemAccessible("a one-piece swimsuit")`>> + <<option "a one-piece swimsuit" "One-piece swimsuit">> + <<optionif>> + <<option "overalls" "Overalls">> + <<optionif `isItemAccessible("an oversized t-shirt and boyshorts")`>> + <<option "an oversized t-shirt and boyshorts" "Oversized t-shirt and boyshorts">> + <<optionif `isItemAccessible("an oversized t-shirt")`>> + <<option "an oversized t-shirt" "Oversized t-shirt">> + <<optionif `isItemAccessible("panties and pasties")`>> + <<option "panties and pasties" "Panties and pasties">> + <<optionif>> + <<option "panties" "Panties">> + <<optionif `isItemAccessible("a police uniform")`>> + <<option "a police uniform" "Police uniform">> + <<optionif `isItemAccessible("a nice pony outfit")`>> + <<option "a nice pony outfit" "Pony outfit (nice)">> + <<optionif `isItemAccessible("a slutty pony outfit")`>> + <<option "a slutty pony outfit" "Pony outfit (slutty)">> + <<optionif `isItemAccessible("a red army uniform")`>> + <<option "a red army uniform" "Red Army uniform">> + <<optionif `isItemAccessible("a Santa dress")`>> + <<option "a Santa dress" "Santa dress">> + <<optionif>> + <<option "a scalemail bikini" "Scalemail bikini">> + <<option "a schoolgirl outfit" "Schoolgirl">> + <<optionif `isItemAccessible("a schutzstaffel uniform")`>> + <<option "a schutzstaffel uniform" "Schutzstaffel uniform (nice)">> + <<optionif `isItemAccessible("a slutty schutzstaffel uniform")`>> + <<option "a slutty schutzstaffel uniform" "Schutzstaffel uniform (slutty)">> + <<optionif `isItemAccessible("a skimpy loincloth")`>> + <<option "a skimpy loincloth" "Skimpy loincloth">> + <<optionif `isItemAccessible("a slave gown")`>> + <<option "a slave gown" "Slave gown">> + <<optionif>> + <<option "a slutty outfit" "Slutty outfit">> + <<option "spats and a tank top" "Spats and a tank-top">> + <<optionif `isItemAccessible("sport shorts and a sports bra")`>> + <<option "sport shorts and a sports bra" "Sport shorts and a sports bra">> + <<optionif `isItemAccessible("sport shorts and a t-shirt")`>> + <<option "sport shorts and a t-shirt" "Sport shorts and a t-shirt">> + <<optionif `isItemAccessible("sport shorts")`>> + <<option "sport shorts" "Sport shorts">> + <<optionif `isItemAccessible("a sports bra")`>> + <<option "a sports bra" "Sports bra">> + <<optionif>> + <<option "a string bikini" "String Bikini">> + <<optionif `isItemAccessible("a striped bra")`>> + <<option "a striped bra" "Striped bra">> + <<optionif `isItemAccessible("striped panties")`>> + <<option "striped panties" "Striped panties">> + <<optionif `isItemAccessible("striped underwear")`>> + <<option "striped underwear" "Striped underwear">> + <<optionif>> + <<option "a succubus outfit" "Succubus costume">> + <<optionif `isItemAccessible("nice business attire")`>> + <<option "nice business attire" "Suit (nice)">> + <<optionif>> + <<option "slutty business attire" "Suit (slutty)">> + <<optionif `isItemAccessible("a sweater and cutoffs")`>> + <<option "a sweater and cutoffs" "Sweater and cutoffs">> + <<optionif `isItemAccessible("a sweater and panties")`>> + <<option "a sweater and panties" "Sweater and panties">> + <<optionif `isItemAccessible("a sweater")`>> + <<option "a sweater" "Sweater">> + <<optionif `isItemAccessible("a t-shirt and jeans")`>> + <<option "a t-shirt and jeans" "T-shirt and jeans">> + <<optionif `isItemAccessible("a t-shirt and panties")`>> + <<option "a t-shirt and panties" "T-shirt and panties">> + <<optionif `isItemAccessible("a t-shirt and thong")`>> + <<option "a t-shirt and thong" "T-shirt and thong">> + <<optionif `isItemAccessible("a t-shirt")`>> + <<option "a t-shirt" "T-shirt">> + <<optionif `isItemAccessible("a tank-top and panties")`>> + <<option "a tank-top and panties" "Tank-top and panties">> + <<optionif `isItemAccessible("a tank-top")`>> + <<option "a tank-top" "Tank-top">> + <<optionif `isItemAccessible("a thong")`>> + <<option "a thong" "Thong">> + <<optionif `isItemAccessible("a tube top and thong")`>> + <<option "a tube top and thong" "Tube top and thong">> + <<optionif `isItemAccessible("a tube top")`>> + <<option "a tube top" "Tube top">> + <<optionif `isItemAccessible("attractive lingerie for a pregnant woman")`>> + <<option "attractive lingerie for a pregnant woman" "Attractive lingerie for a pregnant woman">> + <<optionif `isItemAccessible("a bunny outfit")`>> + <<option "a bunny outfit" "Bunny outfit">> + <<optionif `isItemAccessible("body oil")`>> + <<option "body oil" "Body oil">> + <<optionif `isItemAccessible("a chattel habit")`>> + <<option "a chattel habit" "Chattel habit">> + <<optionif `isItemAccessible("conservative clothing")`>> + <<option "conservative clothing" "Conservative clothing">> + <<optionif `isItemAccessible("harem gauze")`>> + <<option "harem gauze" "Harem gauze">> + <<optionif `isItemAccessible("a huipil")`>> + <<option "a huipil" "Huipil">> + <<optionif `isItemAccessible("a kimono")`>> + <<option "a kimono" "Kimono">> + <<optionif `isItemAccessible("a maternity dress")`>> + <<option "a maternity dress" "Maternity dress">> + <<optionif `isItemAccessible("a slutty qipao")`>> + <<option "a slutty qipao" "Qipao (slutty)">> + <<optionif `isItemAccessible("a long qipao")`>> + <<option "a long qipao" "Qipao (nice)">> + <<optionif `isItemAccessible("stretch pants and a crop-top")`>> + <<option "stretch pants and a crop-top" "Stretch pants and a crop-top">> + <<optionif `isItemAccessible("a toga")`>> + <<option "a toga" "Toga">> + <<optionif `isItemAccessible("Western clothing")`>> + <<option "Western clothing" "Western clothing">> + <<optionif>> + <</options>> + <<options $activeSlave.clothes>> + //Harsh:// + <<option "no clothing" "Go naked">> + <<optionif `isItemAccessible("chains")`>> + <<option "chains" "Chains">> + <<optionif>> + <<option "a penitent nuns habit" "Penitent nun">> + <<option "restrictive latex" "Restrictive latex">> + <<option "shibari ropes" "Shibari ropes">> + <<option "uncomfortable straps" "Uncomfortable straps">> + <</options>> <</if>> /* closes fuckdoll check for color picker */ <<if $activeSlave.fuckdoll != 0 || $activeSlave.clothes == "restrictive latex" || $activeSlave.clothes == "a latex catsuit" || $activeSlave.clothes == "a cybersuit" || $activeSlave.clothes == "a comfortable bodysuit">> -<br> //Color:// - -<<if ($seeImages == 1) && ($imageChoice == 1)>> - /* prepare display of currently selected color. */ - /* TODO: update currently selected color upon outfit select */ - /* _clothingBaseColor is set by display (Art_Vector_Set_Colour_Shoe_), but not all outfits define a color. */ - /* _skinColour is used as fallback default (set by Art_Vector_Set_Colour_Skin_). */ - <<set _clothingBaseColor = _skinColour >> - <<if def _outfitBaseColour>> - /* set default color predefined by choice of outfit */ - <<set _clothingBaseColor = _outfitBaseColour>> - <</if>> - <<if def $activeSlave.clothingBaseColor>> - /* regard current user selection */ - <<set _clothingBaseColor = $activeSlave.clothingBaseColor>> + //Color:// + + <<if ($seeImages == 1) && ($imageChoice == 1)>> + /* prepare display of currently selected color. */ + /* TODO: update currently selected color upon outfit select */ + /* _clothingBaseColor is set by display (Art_Vector_Set_Colour_Shoe_), but not all outfits define a color. */ + /* _skinColour is used as fallback default (set by Art_Vector_Set_Colour_Skin_). */ + <<set _clothingBaseColor = _skinColour >> + <<if def _outfitBaseColour>> + /* set default color predefined by choice of outfit */ + <<set _clothingBaseColor = _outfitBaseColour>> + <</if>> + <<if def $activeSlave.clothingBaseColor>> + /* regard current user selection */ + <<set _clothingBaseColor = $activeSlave.clothingBaseColor>> + <</if>> + /* Display an HTML5 color picker */ + <<colorinput "$activeSlave.clothingBaseColor" _clothingBaseColor "Wardrobe Use">> + <<if def $activeSlave.clothingBaseColor>> + [[Reset default color|Wardrobe Use][delete $activeSlave.clothingBaseColor]] + <</if>> + <<unset _clothingBaseColor>> /* clean up temporary variable */ + <<else>> + //Custom outfit color is currently only used for embedded vector art by NoX & deepmurk.// <</if>> - /* Display an HTML5 color picker */ - /* This is hackish due to direct access of SugarCube internal data structure. Improvements are welcome. */ - <<print '<input type="color" value="'+_clothingBaseColor+'" onInput="SugarCube.State.variables.activeSlave.clothingBaseColor = event.target.value;">'>> - <<link "use default color">> - <<run delete $activeSlave.clothingBaseColor >> - /* reload passage to display everything correctly */ - <<goto "Wardrobe Use">> - <</link>> <br> - //Note: Only latex outfits support a custom color.// - <<unset _clothingBaseColor>> /* clean up temporary variable */ -<<else>> - //Custom outfit color is currently only used for embedded vector art by NoX & deepmurk.// -<</if>> <</if>> <<if $activeSlave.fuckdoll == 0>> /* begin fuckdoll check */ - <br> - -<br>Collar: ''<span id="collar">$activeSlave.collar</span>.'' - +Collar: ''$activeSlave.collar.'' <<if $activeSlave.collar != "none">> - <<link "Remove">> - <<set $activeSlave.collar = "none">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> - <</link>> -<</if>> - -<span id="collarDescription"><br>//<<collarDescription>>//</span> - -<br> //Nice:// -<<link "Stylish leather">> - <<set $activeSlave.collar = "stylish leather">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Satin choker">> - <<set $activeSlave.collar = "satin choker">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Silken ribbon">> - <<set $activeSlave.collar = "silk ribbon">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Heavy gold">> - <<set $activeSlave.collar = "heavy gold">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Pretty jewelry">> - <<set $activeSlave.collar = "pretty jewelry">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -<<if ($seeAge != 0)>> - | <<link "Nice retirement counter">> - <<set $activeSlave.collar = "nice retirement counter">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <</link>> -<</if>> -| <<link "Bell">> - <<set $activeSlave.collar = "bell collar">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Cowbell">> - <<set $activeSlave.collar = "leather with cowbell">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("bowtie")>> - | //FS// <<link "Bowtie collar">> - <<set $activeSlave.collar = "bowtie">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> - <</link>> -<</if>> -<<if isItemAccessible("ancient Egyptian")>> - | //FS// <<link "Ancient Egyptian">> - <<set $activeSlave.collar = "ancient Egyptian">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> - <</link>> + [[Remove|Wardrobe Use][$activeSlave.collar = "none"]] <</if>> +<br> +//<<collarDescription>>// +<br> +<<options $activeSlave.collar>> + //Nice:// + <<option "stylish leather" "Stylish leather">> + <<option "satin choker" "Satin choker">> + <<option "silk ribbon" "Silken ribbon">> + <<option "heavy gold" "Heavy gold">> + <<option "pretty jewelry" "Pretty jewelry">> + <<optionif `$seeAge != 0`>> + <<option "nice retirement counter" "Nice retirement counter">> + <<optionif>> + <<option "bell collar" "Bell">> + <<option "leather with cowbell" "Cowbell">> + <<optionif `isItemAccessible("bowtie")`>> + <<option "bowtie" "Bowtie collar">> + <<optionif `isItemAccessible("ancient Egyptian")`>> + <<option "ancient Egyptian" "Ancient Egyptian">> + <<optionif>> +<</options>> + +<<options $activeSlave.collar>> + //Harsh:// + <<option "tight steel" "Tight steel">> + <<optionif `$seeAge != 0`>> + <<option "cruel retirement counter" "Cruel retirement counter">> + <<optionif>> + <<option "uncomfortable leather" "Uncomfortable leather">> + <<optionif `$activeSlave.preg > -1 && ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1) && $seePreg != 0`>> + <<option "preg biometrics" "Pregnancy biometrics">> + <<optionif>> + <<option "shock punishment" "Shock punishment">> + <<option "dildo gag" "Dildo gag">> + <<optionif `isItemAccessible("massive dildo gag") && $activeSlave.oralSkill > 50`>> + <<option "massive dildo gag" "Massive dildo gag">> + <<optionif>> + <<option "ball gag" "Ball gag">> + <<option "bit gag" "Bit gag">> + <<option "neck corset" "Neck corset">> + <<option "porcelain mask" "Porcelain mask">> +<</options>> -<br> //Harsh:// -<<link "Tight steel">> - <<set $activeSlave.collar = "tight steel">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -<<if ($seeAge != 0)>> - | <<link "Cruel retirement counter">> - <<set $activeSlave.collar = "cruel retirement counter">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Uncomfortable leather">> - <<set $activeSlave.collar = "uncomfortable leather">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -<<if $activeSlave.preg > -1 && ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1) && $seePreg != 0>> - | <<link "Pregnancy biometrics">> - <<set $activeSlave.collar = "preg biometrics">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Shock punishment">> - <<set $activeSlave.collar = "shock punishment">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Dildo gag">> - <<set $activeSlave.collar = "dildo gag">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("massive dildo gag")>> - <<if $activeSlave.oralSkill > 50>> - | <<link "Massive dildo gag">> - <<set $activeSlave.collar = "massive dildo gag">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> - <</link>> - <<else>> - | Massive dildo gag - <</if>> -<</if>> -| <<link "Ball gag">> - <<set $activeSlave.collar = "ball gag">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Bit gag">> - <<set $activeSlave.collar = "bit gag">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Neck corset">> - <<set $activeSlave.collar = "neck corset">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> -| <<link "Porcelain mask">> - <<set $activeSlave.collar = "porcelain mask">> - <<replace "#collar">>$activeSlave.collar<</replace>> - <<replace "#collarDescription">><br>//<<collarDescription>>//<</replace>> -<</link>> <<if $activeSlave.eyewear == "corrective glasses" || $activeSlave.eyewear == "glasses" || $activeSlave.eyewear == "blurring glasses" || $activeSlave.collar == "porcelain mask">> -<br> //Color:// - -<<if ($seeImages == 1) && ($imageChoice == 1)>> - /* prepare display of currently selected color. */ - /* _glassesColor is always set by display (Art_Vector_Set_Colour_Outfit_) */ - <<if def $activeSlave.glassesColor>> - /* regard current user selection */ - <<set _glassesColor = $activeSlave.glassesColor>> + //Color:// + + <<if ($seeImages == 1) && ($imageChoice == 1)>> + /* prepare display of currently selected color. */ + /* _glassesColor is always set by display (Art_Vector_Set_Colour_Outfit_) */ + <<if def $activeSlave.glassesColor>> + /* regard current user selection */ + <<set _glassesColor = $activeSlave.glassesColor>> + <</if>> + /* Display an HTML5 color picker */ + <<colorinput "$activeSlave.glassesColor" _glassesColor "Wardrobe Use">> + <<if def $activeSlave.glassesColor>> + [[use default color|Wardrobe Use][delete $activeSlave.glassesColor]] + <</if>> + <br> + //Note: Only glasses and porcelain masks support a custom color. If both are worn, they will share the same color.//<br> <</if>> - /* Display an HTML5 color picker */ - /* This is hackish due to direct access of SugarCube internal data structure. Improvements are welcome. */ - <<print '<input type="color" value="'+_glassesColor+'" onInput="SugarCube.State.variables.activeSlave.glassesColor = event.target.value;">'>> - <<link "use default color">> - <<run delete $activeSlave.glassesColor >> - /* reload passage to display everything correctly */ - <<goto "Wardrobe Use">> - <</link>> - <br> - //Note: Only glasses and porcelain masks support a custom color. If both are worn, they will share the same color.// -<</if>> <</if>> -<br> <<if $activeSlave.amp != 1>> - <br>Shoes: ''<span id="shoes">$activeSlave.shoes</span>.'' - - <span id="shoeDescription"><br>//$He is<<if $activeSlave.shoes == "none">>n't wearing any shoes.<<else>> wearing<<footwearDescription>><<heelDescription>><</if>>//</span> - <br> - - <<link "Go barefoot">> - <<set $activeSlave.shoes = "none">> - <<replace "#shoes">>$activeSlave.shoes<</replace>> - <<replace "#shoeDescription">><br>//$He is wearing<<footwearDescription>><<heelDescription>>//<</replace>> - <</link>> - | <<link "Flats">> - <<set $activeSlave.shoes = "flats">> - <<replace "#shoes">>$activeSlave.shoes<</replace>> - <<replace "#shoeDescription">><br>//$He is wearing<<footwearDescription>><<heelDescription>>//<</replace>> - <</link>> - | <<link "Heels">> - <<set $activeSlave.shoes = "heels">> - <<replace "#shoes">>$activeSlave.shoes<</replace>> - <<replace "#shoeDescription">><br>//$He is wearing<<footwearDescription>><<heelDescription>>//<</replace>> - <</link>> - | <<link "Pumps">> - <<set $activeSlave.shoes = "pumps">> - <<replace "#shoes">>$activeSlave.shoes<</replace>> - <<replace "#shoeDescription">><br>//$He is wearing<<footwearDescription>><<heelDescription>>//<</replace>> - <</link>> - | <<link "Thigh boots">> - <<set $activeSlave.shoes = "boots">> - <<replace "#shoes">>$activeSlave.shoes<</replace>> - <<replace "#shoeDescription">><br>//$He is wearing<<footwearDescription>><<heelDescription>>//<</replace>> - <</link>> - | <<link "Painfully extreme heels">> - <<set $activeSlave.shoes = "extreme heels">> - <<replace "#shoes">>$activeSlave.shoes<</replace>> - <<replace "#shoeDescription">><br>//$He is wearing<<footwearDescription>><<heelDescription>>//<</replace>> - <</link>> -<</if>> - -<br> //Color:// - -<<if ($seeImages == 1) && ($imageChoice == 1)>> - /* prepare display of currently selected color. */ - /* _shoeColour is always set by display (Art_Vector_Set_Colour_Shoe_) */ - /* TODO: update currently selected color upon shoe select */ - <<if def $activeSlave.shoeColor>> - /* regard current user selection */ - <<set _shoeColour = $activeSlave.shoeColor>> - <</if>> - /* Display an HTML5 color picker */ - /* This is hackish due to direct access of SugarCube internal data structure. Improvements are welcome. */ - <<print '<input type="color" value="'+_shoeColour+'" onInput="SugarCube.State.variables.activeSlave.shoeColor = event.target.value;">'>> - <<link "use default color">> - <<run delete $activeSlave.shoeColor >> - /* reload passage to display everything correctly */ - <<goto "Wardrobe Use">> - <</link>> + Feet and legs: ''$activeSlave.shoes'' + <<if $activeSlave.legAccessory != "none">> with ''$activeSlave.legAccessory''<</if>> <br> -<</if>> - -<br> -<<if $activeSlave.amp != 1>> - <br>Leg accessory: ''<span id="legAccessory">$activeSlave.legAccessory</span>.'' + //$He is<<if $activeSlave.shoes == "none">>n't wearing any shoes.<<else>> wearing<<footwearDescription>><<heelDescription>><</if>>// + <br> + <<options $activeSlave.shoes>> + Shoes: + <<option "none" "Go barefoot">> + <<option "flats" "Flats">> + <<option "heels" "Heels">> + <<option "pumps" "Pumps">> + <<option "boots" "Thigh boots">> + <<option "extreme heels" "Painfully extreme heels">> + <</options>> + + <<options $activeSlave.legAccessory>> + Stockings: + <<option "none" "None">> + <<option "short stockings" "Short Stockings">> + <<option "long stockings" "Long Stockings">> + <</options>> + + <<if ($seeImages == 1) && ($imageChoice == 1) && $activeSlave.shoes != "none">> + //Color:// + /* prepare display of currently selected color. */ + /* _shoeColour is always set by display (Art_Vector_Set_Colour_Shoe_) */ + /* TODO: update currently selected color upon shoe select */ + <<if def $activeSlave.shoeColor>> + /* regard current user selection */ + <<set _shoeColour = $activeSlave.shoeColor>> + <</if>> + /* Display an HTML5 color picker */ + <<colorinput "$activeSlave.shoeColor" _shoeColour>> + <<if def $activeSlave.shoeColor>> + [[Reset default color|Wardrobe Use][delete $activeSlave.shoeColor]] + <</if>> + <br> + <</if>> - <<link "None">> - <<set $activeSlave.legAccessory = "none">> - <<replace "#legAccessory">>$activeSlave.legAccessory<</replace>> - <</link>> - | <<link "Short Stockings">> - <<set $activeSlave.legAccessory = "short stockings">> - <<replace "#legAccessory">>$activeSlave.legAccessory<</replace>> - <</link>> - | <<link "Long Stockings">> - <<set $activeSlave.legAccessory = "long stockings">> - <<replace "#legAccessory">>$activeSlave.legAccessory<</replace>> - <</link>> <</if>> <br> -<br>Torso accessory: ''<span id="bellyAccessory">$activeSlave.bellyAccessory</span>.'' - -<br>//<<waistDescription>><<pregnancyDescription>>// - -<span id="bellyAccessoryDescription">//<<if $activeSlave.bellyAccessory != "none">><br><</if>><<clothingCorsetDescription>><<CorsetPiercingDescription>>//</span> +Torso accessory: ''$activeSlave.bellyAccessory.'' <br> - -<<link "None">> - <<set $activeSlave.bellyAccessory = "none">> - <<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>> - <<replace "#bellyAccessoryDescription">>//<<clothingCorsetDescription>><<CorsetPiercingDescription>>//<</replace>> -<</link>> -| <<link "Tight corset">> - <<set $activeSlave.bellyAccessory = "a corset">> - <<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>> - <<replace "#bellyAccessoryDescription">><br>//<<clothingCorsetDescription>><<CorsetPiercingDescription>>//<</replace>> -<</link>> -<<if ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> -| <<link "Extreme corset">> - <<set $activeSlave.bellyAccessory = "an extreme corset">> - <<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>> - <<replace "#bellyAccessoryDescription">><br>//<<clothingCorsetDescription>><<CorsetPiercingDescription>>//<</replace>> -<</link>> -<</if>> -<<if ($activeSlave.belly > 10000)>> -| <<link "Supportive band">> - <<set $activeSlave.bellyAccessory = "a support band">> - <<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>> - <<replace "#bellyAccessoryDescription">><br>//<<clothingCorsetDescription>><<CorsetPiercingDescription>>//<</replace>> -<</link>> -<</if>> -<<if isItemAccessible("a small empathy belly")>> /* works for all of them */ - <<if $activeSlave.belly < 1500 && $activeSlave.weight < 130>> - | <<link "1st Trimester belly">> - <<set $activeSlave.bellyAccessory = "a small empathy belly">> - <<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>> - <<replace "#bellyAccessoryDescription">><br>//<<clothingCorsetDescription>><<CorsetPiercingDescription>>//<</replace>> - <</link>> - | <<link "2nd Trimester belly">> - <<set $activeSlave.bellyAccessory = "a medium empathy belly">> - <<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>> - <<replace "#bellyAccessoryDescription">><br>//<<clothingCorsetDescription>><<CorsetPiercingDescription>>//<</replace>> - <</link>> - | <<link "3rd Trimester belly">> - <<set $activeSlave.bellyAccessory = "a large empathy belly">> - <<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>> - <<replace "#bellyAccessoryDescription">><br>//<<clothingCorsetDescription>><<CorsetPiercingDescription>>//<</replace>> - <</link>> - | <<link "3rd Trimester twins belly">> - <<set $activeSlave.bellyAccessory = "a huge empathy belly">> - <<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>> - <<replace "#bellyAccessoryDescription">><br>//<<clothingCorsetDescription>><<CorsetPiercingDescription>>//<</replace>> - <</link>> - <<else>> - | $His stomach is too big to fit an empathy belly around. - <</if>> -<</if>> - -<<if $activeSlave.pregKnown == 1>> - //Extreme corsets will endanger the life within $him.// +//<<waistDescription>><<pregnancyDescription>><<clothingCorsetDescription>><<CorsetPiercingDescription>>// +<<options $activeSlave.bellyAccessory>> + <<option "none" "None">> + <<option "a corset" "Tight corset">> + <<optionif `($activeSlave.breedingMark != 1 || $propOutcome == 0)`>> + <<option "an extreme corset" "Extreme corset">> + <<optionif `($activeSlave.belly > 10000)`>> + <<option "a support band" "Supportive band">> + <<optionif `isItemAccessible("a small empathy belly") && $activeSlave.belly < 1500 && $activeSlave.weight < 130`>> /* works for all of them */ + <<option "a small empathy belly" "1st Trimester belly">> + <<option "a medium empathy belly" "2nd Trimester belly">> + <<option "a large empathy belly" "3rd Trimester belly">> + <<option "a huge empathy belly" "3rd Trimester twins belly">> + <<optionif>> + <<comment>> + <<if isItemAccessible("a small empathy belly") && ($activeSlave.belly >= 1500 || $activeSlave.weight >= 130)>> + //($His stomach is too big to fit an empathy belly around.)// + <br> + <</if>> + <<if $activeSlave.pregKnown == 1>> + //Extreme corsets will endanger the life within $him.// + <br> + <</if>> +<</options>> + +<<set _chastityDevice="None">> +<<if $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>> + <<set _chastityDevice="Full Chastity">> +<<elseif $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>> + <<set _chastityDevice="Genital Chastity">> +<<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1>> + <<set _chastityDevice="Combined Chastity Cage">> +<<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityVagina == 1>> + <<set _chastityDevice="Combined Chastity Belt">> +<<elseif $activeSlave.chastityVagina == 1>> + <<set _chastityDevice="Chastity Belt">> +<<elseif $activeSlave.chastityPenis == 1>> + <<set _chastityDevice="Chastity Cage">> +<<elseif $activeSlave.chastityAnus == 1>> + <<set _chastityDevice="Anal Chastity">> +<<elseif $activeSlave.chastityAnus == 0 && $activeSlave.chastityPenis == 0 && $activeSlave.chastityVagina == 0>> + <<set _chastityDevice="None">> +<<else>> + <<set _chastityDevice="THERE HAS BEEN AN ERROR">> <</if>> -<br><br> - Chastity device: ''<span id="chastity"><<if $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>>Full Chastity<<elseif $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>>Genital Chastity<<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1>>Combined Chastity Cage>><<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityVagina == 1>>Combined Chastity Belt<<elseif $activeSlave.chastityVagina == 1>>Chastity Belt<<elseif $activeSlave.chastityPenis == 1>>Chastity Cage<<elseif $activeSlave.chastityAnus == 1>>Anal Chastity<<elseif $activeSlave.chastityAnus == 0 && $activeSlave.chastityPenis == 0 && $activeSlave.chastityVagina == 0>>None<<else>>THERE HAS BEEN AN ERROR<</if>></span>.'' - <<link "None">><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>None<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>> - | <<link "Anal Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Anal Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>> - <<if $activeSlave.vagina > -1>> - | <<link "Chastity Belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Vaginal Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>> - | <<link "Combined Chastity Belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Combined Chastity Belt<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>> - <</if>> - <<if $activeSlave.dick > 0>> - | <<link "Chastity Cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Chastity Cage<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>> - | <<link "Combined Chastity Cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Combined Chastity Cage<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>> - <<if $activeSlave.vagina > -1>> - | <<link "Genital Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Genital Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>> - | <<link "Full Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Full Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>> - <</if>> - <</if>> +<br> +<<options _chastityDevice>> + Chastity device: ''_chastityDevice.'' + <<option "None" "None" "$activeSlave.chastityAnus = 0, $activeSlave.chastityPenis = 0, $activeSlave.chastityVagina = 0">> + <<option "Anal Chastity" "Anal Chastity" "$activeSlave.choosesOwnChastity = 0, $activeSlave.chastityAnus = 1, $activeSlave.chastityPenis = 0, $activeSlave.chastityVagina = 0">> + <<optionif `$activeSlave.vagina > -1`>> + <<option "Chastity Belt" "Chastity Belt" "$activeSlave.choosesOwnChastity = 0, $activeSlave.chastityAnus = 0, $activeSlave.chastityPenis = 0, $activeSlave.chastityVagina = 1">> + <<option "Combined Chastity Belt" "Combined Chastity Belt" "$activeSlave.choosesOwnChastity = 0, $activeSlave.chastityAnus = 1, $activeSlave.chastityPenis = 0, $activeSlave.chastityVagina = 1">> + <<optionif `$activeSlave.dick > 0`>> + <<option "Chastity Cage" "Chastity Cage" "$activeSlave.choosesOwnChastity = 0, $activeSlave.chastityAnus = 0, $activeSlave.chastityPenis = 1, $activeSlave.chastityVagina = 0">> + <<option "Combined Chastity Cage" "Combined Chastity Cage" "$activeSlave.choosesOwnChastity = 0, $activeSlave.chastityAnus = 1, $activeSlave.chastityPenis = 1, $activeSlave.chastityVagina = 0">> + <<optionif `$activeSlave.dick > 0 && $activeSlave.vagina > -1`>> + <<option "Genital Chastity" "Genital Chastity" "$activeSlave.choosesOwnChastity = 0, $activeSlave.chastityAnus = 0, $activeSlave.chastityPenis = 1, $activeSlave.chastityVagina = 1">> + <<option "Full Chastity" "Full Chastity" "$activeSlave.choosesOwnChastity = 0, $activeSlave.chastityAnus = 1, $activeSlave.chastityPenis = 1, $activeSlave.chastityVagina = 1">> +<</options>> <<if $activeSlave.vagina > -1>> - <br><br>Vaginal accessory: ''<span id="vaginalAccessory">$activeSlave.vaginalAccessory</span>.'' - <span id="vaginalAccessoryDescription"><<if $activeSlave.vaginalAccessory != "none">><br><</if>>//<<vaginalAccessoryDescription>>//</span> <br> - <<link "None">> - <<set $activeSlave.vaginalAccessory = "none">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <<if isItemAccessible("bullet vibrator")>> - | <<link "Bullet vibrator">> - <<set $activeSlave.vaginalAccessory = "bullet vibrator">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <</if>> - <<if isItemAccessible("smart bullet vibrator")>> - | <<link "Smart bullet vibrator">> - <<set $activeSlave.vaginalAccessory = "smart bullet vibrator">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <</if>> - | <<link "Dildo">> - <<set $activeSlave.vaginalAccessory = "dildo">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <<if isItemAccessible("long dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - | <<link "Long dildo">> - <<set $activeSlave.vaginalAccessory = "long dildo">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <</if>> - | <<link "Large dildo">> - <<set $activeSlave.vaginalAccessory = "large dildo">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <<if isItemAccessible("long, large dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - | <<link "Large and long dildo">> - <<set $activeSlave.vaginalAccessory = "long, large dildo">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <</if>> - <<if $activeSlave.vagina >= 2>> - | <<link "Huge dildo">> - <<set $activeSlave.vaginalAccessory = "huge dildo">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <<if isItemAccessible("long, huge dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - | <<link "Huge and long dildo">> - <<set $activeSlave.vaginalAccessory = "long, huge dildo">> - <<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>> - <<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <</if>> - <</if>> + Vaginal accessory: ''$activeSlave.vaginalAccessory.'' + <br> + //<<vaginalAccessoryDescription>>// + <<options $activeSlave.vaginalAccessory>> + <<option "none" "None">> + <<optionif `isItemAccessible("bullet vibrator")`>> + <<option "bullet vibrator" "Bullet vibrator">> + <<optionif `isItemAccessible("smart bullet vibrator")`>> + <<option "smart bullet vibrator" "Smart bullet vibrator">> + <<option "dildo" "Dildo">> + <<optionif `isItemAccessible("long dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>> + <<option "long dildo" "Long dildo">> + <<optionif `isItemAccessible("long, large dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>> + <<option "long, large dildo" "Large and long dildo">> + <<optionif `$activeSlave.vagina >= 2`>> + <<option "huge dildo" "Huge dildo">> + <<optionif `isItemAccessible("long, huge dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>> + <<option "long, huge dildo" "Huge and long dildo">> + <</options>> + <<if isItemAccessible("vibrator") && $activeSlave.vaginalAccessory != "none" && ($activeSlave.vaginalAccessory != "bullet vibrator" && $activeSlave.vaginalAccessory != "smart bullet vibrator") && $toysBoughtVaginalAttachments == 1>> - <br><br> - Vaginal accessory attachment: - ''<span id="vaginalAttachment">$activeSlave.vaginalAttachment</span>.'' - <span id="vaginalAttachmentDescription"><<if ($activeSlave.vaginalAttachment != "none")>><br><</if>>//<<vaginalAttachmentDescription>>//</span> - <br> - <<link "None">> - <<set $activeSlave.vaginalAttachment = "none">> - <<replace "#vaginalAttachment">>$activeSlave.vaginalAttachment<</replace>> - <<replace "#vaginalAttachmentDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - | <<link "Vibrating dildo">> - <<set $activeSlave.vaginalAttachment = "vibrator">> - <<replace "#vaginalAttachment">>$activeSlave.vaginalAttachment<</replace>> - <<replace "#vaginalAttachmentDescription">>//<<vaginalAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> + <<options $activeSlave.vaginalAttachment>> + Vaginal accessory attachment: ''$activeSlave.vaginalAttachment.'' //<<vaginalAttachmentDescription>>// + <<option "none" "None">> + <<option "vibrator" "Vibrating dildo">> + <</options>> <</if>> <</if>> <<if $activeSlave.dick > 0>> - <br><br>Dick accessory: ''<span id="dickAccessory">$activeSlave.dickAccessory</span>.'' - <span id="dickAccessoryDescription"> - <<if ($activeSlave.dickAccessory != "none")>> - <br><</if>>//<<dickAccessoryDescription>>// - </span> <br> - <<link "None">> - <<set $activeSlave.dickAccessory = "none">> - <<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>> - <<replace "#dickAccessoryDescription">>//<<dickAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <<if isItemAccessible("bullet vibrator") && $toysBoughtVaginalAttachments == 1>> - | <<link "Bullet vibrator">> - <<set $activeSlave.dickAccessory = "bullet vibrator">> - <<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>> - <<replace "#dickAccessoryDescription">>//<<dickAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <<if isItemAccessible("smart bullet vibrator") && $toysBoughtSmartVibes == 1>> - | <<link "Smart bullet vibrator">> - <<set $activeSlave.dickAccessory = "smart bullet vibrator">> - <<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>> - <<replace "#dickAccessoryDescription">>//<<dickAccessoryDescription>>//<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <</if>> - <</if>> + Dick accessory: ''$activeSlave.dickAccessory.'' + <br>//<<dickAccessoryDescription>>// + <<options $activeSlave.dickAccessory>> + <<option "none" "None">> + <<optionif `isItemAccessible("bullet vibrator") && $toysBoughtVaginalAttachments == 1`>> + <<option "bullet vibrator" "Bullet vibrator">> + <<optionif `isItemAccessible("smart bullet vibrator") && $toysBoughtSmartVibes == 1`>> + <<option "smart bullet vibrator" "Smart bullet vibrator">> + <</options>> <</if>> -<br><br> -Anal accessory: ''<span id="buttplug">$activeSlave.buttplug</span>.'' <br> -<span id="buttplugDescription">//<<buttplugDescription>>//</span> +Anal accessory: ''$activeSlave.buttplug.'' <br> - -<<link "None">> - <<set $activeSlave.buttplug = "none">> - <<replace "#buttplug">>$activeSlave.buttplug<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> -<</link>> -| <<link "Normal">> - <<set $activeSlave.buttplug = "plug">> - <<replace "#buttplug">>$activeSlave.buttplug<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("long plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - | <<link "Long">> - <<set $activeSlave.buttplug = "long plug">> - <<replace "#buttplug">>$activeSlave.buttplug<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> -<</if>> -| <<link "Large">> - <<set $activeSlave.buttplug = "large plug">> - <<replace "#buttplug">>$activeSlave.buttplug<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> -<</link>> -<<if isItemAccessible("long, large plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - | <<link "Long and large">> - <<set $activeSlave.buttplug = "long, large plug">> - <<replace "#buttplug">>$activeSlave.buttplug<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> -<</if>> -<<if $activeSlave.anus >= 2>>| <<link "Huge">> - <<set $activeSlave.buttplug = "huge plug">> - <<replace "#buttplug">>$activeSlave.buttplug<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> -<</link>><</if>> -<<if isItemAccessible("long, huge plug")>> - <<if ($activeSlave.breedingMark != 1 || $propOutcome == 0) && $activeSlave.anus >= 2>> - | <<link "Long and huge">> - <<set $activeSlave.buttplug = "long, huge plug">> - <<replace "#buttplug">>$activeSlave.buttplug<</replace>> - <<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>> - <</link>> - <</if>> -<</if>> -<<if isItemAccessible("tail") && $activeSlave.buttplug != "none">> - Anal accessory attachment: ''<span id="buttplugAttach">$activeSlave.buttplugAttachment</span>.'' - <<link "None">><<set $activeSlave.buttplugAttachment = "none">><<replace "#buttplugAttach">>$activeSlave.buttplugAttachment<</replace>><</link>> - <<if $toysBoughtButtPlugTails == 1>> - | <<link "Tail">><<set $activeSlave.buttplugAttachment = "tail">><<replace "#buttplugAttach">>$activeSlave.buttplugAttachment<</replace>><</link>> - | <<link "Cat tail">><<set $activeSlave.buttplugAttachment = "cat tail">><<replace "#buttplugAttach">>$activeSlave.buttplugAttachment<</replace>><</link>> - | <<link "Fox tail">><<set $activeSlave.buttplugAttachment = "fox tail">><<replace "#buttplugAttach">>$activeSlave.buttplugAttachment<</replace>><</link>> - <</if>> +//<<buttplugDescription>>// +<<options $activeSlave.buttplug>> + <<option "none" "None">> + <<option "plug" "Normal">> + <<option "large plug" "Large">> + <<optionif `isItemAccessible("long plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>> + <<option "long plug" "Long">> + <<optionif `isItemAccessible("long, large plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>> + <<option "long, large plug" "Long and large">> + <<optionif `$activeSlave.anus >= 2`>> + <<option "huge plug" "Huge">> + <<optionif `$activeSlave.anus >= 2 && isItemAccessible("long, huge plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0) && $activeSlave.anus >= 2`>> + <<option "long, huge plug" "Long and huge">> +<</options>> +<br> +<<if isItemAccessible("tail") && $activeSlave.buttplug != "none" && $toysBoughtButtPlugTails == 1>> + Anal accessory attachment: ''$activeSlave.buttplugAttachment''. + <<options $activeSlave.buttplugAttachment>> + <<option "none" "None">> + <<option "tail" "Tail">> + <<option "cat tail" "Cat tail">> + <<option "fox tail" "Fox tail">> + <</options>> <</if>> -<br><br> - -<<link "''//Update//''">> - <<goto "Wardrobe Use">> -<</link>> -all descriptions to show what $he is currently wearing? - <<elseif $activeSlave.fuckdoll == 1>> //<<ClothingDescription>>// <br><br> There are no changes you can make to $him at this time.