From fd025cc528d67186c390a1862d2b609eabe817d4 Mon Sep 17 00:00:00 2001 From: klorpa <30924131+klorpa@users.noreply.github.com> Date: Thu, 16 Aug 2018 12:57:19 -0500 Subject: [PATCH] Complete --- devNotes/twine JS.txt | 2480 ++++++++++++++++----- src/art/artJS.tw | 2656 +++++++++++------------ src/endWeek/saChoosesOwnClothes.tw | 32 +- src/endWeek/saPornJS.tw | 4 +- src/endWeek/saServant.tw | 6 +- src/endWeek/saStayConfined.tw | 2 +- src/js/DefaultRules.tw | 2 +- src/js/PenthouseNaming.tw | 30 +- src/js/SetBellySize.tw | 4 +- src/js/accordianJS.tw | 2 +- src/js/assayJS.tw | 50 +- src/js/assignJS.tw | 23 +- src/js/economyJS.tw | 4 +- src/js/eventSelectionJS.tw | 8 +- src/js/familyTree.tw | 2 +- src/js/foreachMacroJS.tw | 22 +- src/js/fresult.tw | 24 +- src/js/hTagMacroJS.tw | 30 +- src/js/heroCreator.tw | 10 +- src/js/pregJS.tw | 28 +- src/js/quickListJS.tw | 10 +- src/js/rbuttonJS.tw | 80 +- src/js/removeActiveSlave.tw | 14 +- src/js/rulesAssistant.tw | 1 + src/js/rulesAssistantOptions.tw | 18 +- src/js/slaveSummaryWidgets.tw | 198 +- src/js/spanMacroJS.tw | 16 +- src/js/storyJS.tw | 58 +- src/js/textInput.tw | 98 +- src/js/textboxJS.tw | 8 +- src/js/utilJS.tw | 116 +- src/js/vignettes.tw | 1 - src/js/wombJS.tw | 16 +- src/pregmod/organFarmOptions.tw | 70 +- src/pregmod/widgets/bodySwapReaction.tw | 59 +- src/uncategorized/remoteSurgery.tw | 241 +- src/uncategorized/surgeryDegradation.tw | 993 +++++---- src/utility/descriptionWidgetsStyle.tw | 4 +- 38 files changed, 4453 insertions(+), 2967 deletions(-) diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index bee736697fc..ac5c547ccb4 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -37,8 +37,6 @@ if (typeof interpolate == "undefined") { window.interpolate = interpolate; } -config.history.maxStates = 1; - window.isFullyPotent = function(slave) { if (!slave) { return null; @@ -281,7 +279,7 @@ window.canImpreg = function(slave1, slave2) { } else if (slave2.vasectomy == 1) { return false; } else if (!canBreed(slave1, slave2)) { - return false; /* pregmod end */ + return false; /* pregmod end */ } else if (!canGetPregnant(slave1)) { /* includes chastity checks */ return false; } else { @@ -312,7 +310,7 @@ window.isFertile = function(slave) { } else if (slave.bellyImplant != -1) { return false; } else if (slave.mpreg == 1) { - return true; /* pregmod end */ + return true; /* pregmod end */ } else if (slave.ovaries == 1) { return true; } else { @@ -372,7 +370,7 @@ window.canSee = function(slave) { window.canHear = function(slave) { if (!slave) { return null; - } else if ((slave.hears > -2) || (slave.earwear == "deafening ear plugs") { + } else if ((slave.hears > -2) || (slave.earwear == "deafening ear plugs")) { return true; } else { return false; @@ -718,7 +716,6 @@ window.isItemAccessible = function(string) { } }; - window.expandFacilityAssignments = function(facilityAssignments) { var assignmentPairs = { "serve in the club": "be the DJ", @@ -945,9 +942,9 @@ window.ngUpdateGenePool = function(genePool) { return (genePool || []) .filter(function(s) { return transferredSlaveIds.indexOf(s.ID) >= 0; }) .map(function(s) { - var result = jQuery.extend(true, {}, s); - result.ID += 1200000; - return result; + var result = jQuery.extend(true, {}, s); + result.ID += 1200000; + return result; }); } @@ -1003,7 +1000,7 @@ window.overpowerCheck = function(slave, PC) { } strength += (185-slave.height); strength -= (PC.belly/1000); - + return strength; } @@ -1279,7 +1276,7 @@ window.randomRelatedSlave = function(slave, filterFunction) { if(!slave || !SugarCube) { return undefined; } if(typeof filterFunction !== 'function') { filterFunction = function(s, index, array) { return true; }; - } + } var arr = State.variables.slaves.filter(filterFunction) arr.shuffle() return arr.find(function(s, index, array) { @@ -1364,12 +1361,12 @@ window.relativeTerm = function(slave1, slave2) { /*:: pregJS [script]*/ -/*Major props to the anons who worked together to forge the Super Pregnancy Project. Let your legacy go unforgotten.*/ +/* Major props to the anons who worked together to forge the Super Pregnancy Project. Let your legacy go unforgotten.*/ window.getPregBellySize = function(s) { var gestastionWeek = s.preg; var fetuses = s.pregType; var phi = 1.618; - + if(gestastionWeek <= 32) { var targetLen = ((0.00006396 * Math.pow(gestastionWeek, 4)) - (0.005501 * Math.pow(gestastionWeek, 3)) + (0.161 * Math.pow(gestastionWeek, 2)) - (0.76 * gestastionWeek) + 0.208); } else if(gestastionWeek <= 106) { @@ -1377,7 +1374,7 @@ window.getPregBellySize = function(s) { } else { var targetLen = ((-0.00003266 * Math.pow(gestastionWeek,2)) + (0.076 * gestastionWeek) + 43.843); } - + var bellySize = ((4 / 3) * (Math.PI) * (phi / 2) * (Math.pow((targetLen / 2), 3)) * fetuses); return bellySize; }; @@ -1428,13 +1425,13 @@ window.bellyAdjective = function(slave) { /* calculates and returns expected ovum count during conception*/ window.setPregType = function(actor) { /* IMHO rework is posssible. Can be more interesting to play, if this code will take in account more body conditions - age, fat, food, hormone levels, etc. */ - + var ovum = 1; var fertilityStack = 0; // adds an increasing bonus roll for stacked fertility drugs - if(actor.broodmother < 1) { /* Broodmothers should be not processed here. Necessary now.*/ + if(actor.broodmother < 1) { // Broodmothers should be not processed here. Necessary now. if(typeof actor.readyOva == "number" && actor.readyOva != 0) { - ovum = actor.readyOva; /*just single override; for delayed impregnation cases */ + ovum = actor.readyOva; //just single override; for delayed impregnation cases } else if(actor.ID == -1) { if(actor.birthMaster > 0) { // Predisposed to twins if(actor.fertDrugs == 1) { @@ -1497,12 +1494,12 @@ window.setPregType = function(actor) { } else { ovum += jsRandom(0, fertilityStack); if(ovum > 12) { - ovum = jsRandom(6,12); + ovum = jsRandom(6, 12); } } } - return ovum; } + return ovum; } /* @@ -1519,17 +1516,17 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) { if (V.seePreg !== 0) { if (jsRandom(0,99) < (chance + (V.reproductionFormula*((target.pregSource <= 0) ? ((target.ID == -1) ? 0 : 10) : 20)))) { if (target.mpreg === hole) { - + target.preg = 1; target.pregSource = (!fatherID ? 0 : fatherID); - + if (target.ID !== -1) { target.pregWeek = 1; } - + target.pregType = setPregType(target); WombImpregnate(target, target.pregType, target.pregSource, 1); - + if (V.menstruation === 1) {} else if (!displayOverride) { target.pregKnown = 1; @@ -1543,19 +1540,19 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) { } else { target.pregKnown = 1; } - + } else if (hole === 2) { - + target.preg = 1; target.pregSource = (!fatherID ? 0 : fatherID); - + if (target.ID !== -1) { target.pregWeek = 1; } - + target.pregType = setPregType(target); WombImpregnate(target, target.pregType, target.pregSource, 1); - + if (V.menstruation === 1) {} else if (!displayOverride) { target.pregKnown = 1; @@ -1594,7 +1591,7 @@ window.SetBellySize = function SetBellySize(slave) { _implantSize = slave.bellyImplant else _implantSize = 0 - + if (slave.inflation == 3) slave.bellyFluid = 10000 else if (slave.inflation == 2) @@ -1603,7 +1600,7 @@ window.SetBellySize = function SetBellySize(slave) { slave.bellyFluid = 2000 else slave.bellyFluid = 0 - + slave.belly = slave.bellyPreg+slave.bellyFluid+_implantSize } @@ -1639,10 +1636,10 @@ Macro.add('rbutton', { return this.error(`variable name "${this.args[0]}" is missing its sigil ($ or _)`); } - const initValue = Wikifier.getValue(this.args[0]); - const varId = Util.slugify(varName); + const initValue = Wikifier.getValue(this.args[0]); + const varId = Util.slugify(varName); const checkValue = this.args[1]; - const el = document.createElement('input'); + const el = document.createElement('input'); var replaceID = ""; var replaceText = ""; @@ -1669,9 +1666,9 @@ Macro.add('rbutton', { */ jQuery(el) .attr({ - id : `${this.name}-${varId}-${TempState[this.name][varId]++}`, - name : `${this.name}-${varId}`, - type : 'radio', + id : `${this.name}-${varId}-${TempState[this.name][varId]++}`, + name : `${this.name}-${varId}`, + type : 'radio', tabindex : 0 // for accessiblity }) .addClass(`macro-${this.name}`) @@ -1716,19 +1713,19 @@ Macro.add('rbutton', { /* textbox js */ -/* Nicked off greyelf, works for <<replace>> textboxes */ +/* Nicked off greyelf, works for replace textboxes */ window.setReplaceTextboxMaxLength = function (storyVarName, maxLength) { var textboxId = '#textbox-' + Util.slugify(storyVarName); $(textboxId) .attr('maxlength', maxLength) .css({ 'min-width' : 'initial', - width : maxLength + 'em', - padding : '3px 2px' + width : maxLength + 'em', + padding : '3px 2px' }); }; -/* Nicked off TheMadExile, works for non-<<replace>> textboxes */ +/* Nicked off TheMadExile, works for non-replace textboxes */ window.setTextboxMaxLength = function (storyVarName, maxLength) { var textboxId = '#textbox-' + Util.slugify(storyVarName); postdisplay[textboxId + '-maxlength'] = function (taskName) { @@ -1737,21 +1734,35 @@ window.setTextboxMaxLength = function (storyVarName, maxLength) { .attr('maxlength', maxLength) .css({ 'min-width' : 'initial', - width : maxLength + 'em', - padding : '3px 2px' + width : maxLength + 'em', + padding : '3px 2px' }); }; }; -/* end textbox js */ -/*begin accordian mod js */ +/*:: accordionJS.tw [script]*/ + +/* Accordion 000-250-006 */ +/* + * We're making changes to the DOM, so we need to make them *after* everything has been generated + * Sticking this all in postdisplay calls reduces the chance of there being a timing conflict + * with other scripts, since anything poking the DOM here will be done last + * + * Dev Note: The accordion mod should be able to turn *anything* into an accordion. This iteration + * is configured tightly for the end of week report runs, but it shouldn't be that hard to adapt for + * other uses, like character bios. For now, I'll see what other extra-long passages of cosmetic text + * might benefit. + * + * 000-250-006 03092017 +*/ + postdisplay["doAccordionSet"] = function (content) { - if (variables().useAccordion === 1) { - Array.prototype.slice.call(document.querySelectorAll(".macro-display")) - .forEach(function (element) { - element.classList.add("accHidden"); - }); + if (variables().useAccordion == 1) { + Array.prototype.slice.call(document.querySelectorAll('.macro-include')) + .forEach(function(element) { + element.classList.add('accHidden'); + }); } } @@ -1804,7 +1815,7 @@ window.getCost = function(array) { + (State.variables.incubator * facilityCost * 10); var secExpCost = 0; var soldierMod = 0; - + //facility expenses costs += (0.1 * State.variables.brothelUpgradeDrugs * brothel * facilityCost) + (0.2 * State.variables.arcadeUpgradeInjectors * arcade * facilityCost) @@ -1819,7 +1830,7 @@ window.getCost = function(array) { + (0.2 * State.variables.incubatorUpgradeReproduction * incubator * facilityCost) + (0.2 * State.variables.incubatorUpgradeGrowthStims * incubator * facilityCost) + (0.5 * State.variables.incubatorUpgradeSpeed * incubator * facilityCost); - + if(dairy > 0) { costs += ((State.variables.bioreactorsXY + State.variables.bioreactorsXX + State.variables.bioreactorsHerm + State.variables.bioreactorsBarren) * 100); } @@ -1838,7 +1849,7 @@ window.getCost = function(array) { if(State.variables.masterSuitePregnancyFertilitySupplements === 1) { costs += 1000; } - + //security expansion if(State.variables.secExp == 1) { if(State.variables.edictsUpkeep > 0) { @@ -1891,24 +1902,24 @@ window.getCost = function(array) { } costs += secExpCost; } - + //general arcology costs costs += (State.variables.girls * (250 + (economy * 500))); - + if(State.variables.arcologies[0].FSRepopulationFocusLaw === 1 && State.variables.PC.pregKnown == 1) { costs -= 500; } - + costs += State.variables.citizenOrphanageTotal * 100; costs += State.variables.privateOrphanageTotal * 500; if(State.variables.breederOrphanageTotal > 0) { costs += 50; } - + if(State.variables.peacekeepers !== 0 && State.variables.peacekeepers.undermining !== 0) { costs += State.variables.peacekeepers.undermining; } - + if(State.variables.mercenaries > 0) { if(State.variables.barracks) { mercCosts *= 0.5; @@ -1920,7 +1931,7 @@ window.getCost = function(array) { } costs += State.variables.FSSpending; - + //slave expenses for (var slave of array) { costs += getSlaveCost(slave); @@ -1960,7 +1971,7 @@ window.getCost = function(array) { } } } - + // policy and other expenses if(State.variables.Recruiter !== 0) { costs += 250; @@ -2047,7 +2058,7 @@ window.getCost = function(array) { } else if(State.variables.personalAttention === PersonalAttention.MEDICINE) { costs += 10000*State.variables.AgeEffectOnTrainerPricingPC; } else if(State.variables.personalAttention === PersonalAttention.HACKING) { - costs += 10000*State.variables.AgeEffectOnTrainerPricingPC; + costs += 10000*State.variables.AgeEffectOnTrainerPricingPC; } } @@ -2093,17 +2104,17 @@ window.getCost = function(array) { if(State.variables.SF.Toggle && State.variables.SF.Subsidy) { costs += Math.ceil((10000*(State.variables.$SFUnit.Troops/10))*1+(State.variables.arcologies[0].prosperity/100)*1+(State.variables.SF.Units/100)); } - + // clean up if(costs < 0) { costs = 0; } else { costs = Math.trunc(costs); } - + return costs; } - + window.getSlaveCost = function(s) { if(!s) { return 0; } // Data duplicated from Cost Report @@ -2111,8 +2122,8 @@ window.getSlaveCost = function(s) { var rulesCost = State.variables.rulesCost; var foodCost = State.variables.foodCost; var drugsCost = State.variables.drugsCost; - - // Living expenses + + // Living expenses switch(s.assignment) { case Job.ARCADE: cost += rulesCost * .75; @@ -2178,7 +2189,7 @@ window.getSlaveCost = function(s) { case Job.ATTEND: case Job.STEWARD: case Job.MILKMAID: case Job.TEACHER: cost += rulesCost * 2; break; - default: + default: if(s.livingRules === LivingRule.LUXURIOUS) { cost += rulesCost * (s.relationship >= 4 ? 3 : 4); } else if(s.livingRules == LivingRule.NORMAL) { @@ -2231,7 +2242,7 @@ window.getSlaveCost = function(s) { } else if(s.diet === 'XXY') { cost += 75; } - + // Accessibility costs if(State.variables.boobAccessibility !== 1 && s.boobs > 20000 && (s.assignment != Job.DAIRY || State.variables.dairyRestraintsSetting < 2) && (s.assignment != Job.ARCADE)) { @@ -2275,7 +2286,7 @@ window.getSlaveCost = function(s) { cost += rulesCost; } } - + // Maintenance if(s.boobs > 10000 && s.boobsImplantType === 1) { cost += 50; @@ -2293,7 +2304,7 @@ window.getSlaveCost = function(s) { if(State.variables.CitizenRetirement === 1) { cost += 250; } - + // Enemas if(s.inflation === 3) { switch(s.inflationType) { @@ -2369,14 +2380,14 @@ window.getSlaveCost = function(s) { if(s.preg === -1 && isFertile(s)) { cost += (drugsCost * 0.5); } - + // Promotion costs if(State.variables.studio === 1) { if(s.pornFameSpending > 0) { cost += (s.pornFameSpending/State.variables.PCSlutContacts); } } - + if(isNaN(cost)) { throw new Error('Cost calculation for slave ' + s.slaveName + ' (' + s.ID + ') failed.'); } @@ -2397,11 +2408,11 @@ window.getSlaveStatisticData = function(s, facility) { customers: 0 /* brothel, club, ... */ }; } - + if(!facility.income) { facility.income = new Map(); } - + if(facility.income.has(s.ID)) { return facility.income.get(s.ID); } else { @@ -2463,9 +2474,9 @@ window.mergeRules = function mergeRules(rules) { const combinedRule = {}; rules.forEach(rule => { // A rule overrides any preceding ones if, - // * there are no preceding ones, - // * or it sets autoBrand, - // * or it does not set autoBrand and is not "no default setting" + // * there are no preceding ones, + // * or it sets autoBrand, + // * or it does not set autoBrand and is not "no default setting" Object.keys(rule).forEach(key => { const applies = (combinedRule[key] === undefined || (key === "autoBrand" && rule[key]) || @@ -2693,10 +2704,12 @@ window.emptyDefaultRule = function emptyDefaultRule() { pornFameSpending: "no default setting", dietGrowthSupport: 0, eyewear: "no default setting", + earwear: "no default setting", setAssignment: "no default setting", facilityRemove: false, removalAssignment: "rest", surgery_eyes: "no default setting", + surgery_hears: "no default setting", surgery_lactation: "no default setting", surgery_prostate: "no default setting", surgery_cosmetic: "no default setting", @@ -2729,7 +2742,6 @@ window.emptyDefaultRule = function emptyDefaultRule() { return rule; }; - // Saves the slave, silently fires the RA, saves the slave's after-RA state, and then reverts the slave. // Call and then check potential change against $slaveAfterRA to see if the RA would revert it. window.RulesDeconfliction = function RulesDeconfliction(slave) { @@ -2776,12 +2788,12 @@ Macro.add("textinput", { // cols: 68, // instead of setting "cols" we set the `min-width` in CSS tabindex: 0 // for accessiblity }) - .addClass("macro-textarea") // "hijack" the .macro-textarea class + .addClass("macro-textarea") // "hijack" the .macro-textarea class .on("input", function() { Wikifier.setValue(varName, this.value); if (that.payload[0].contents !== "") Wikifier.wikifyEval(that.payload[0].contents.trim()); - }) + }) .appendTo(this.output); // Set the story variable and textarea element to the default value. @@ -2801,21 +2813,21 @@ Macro.add("textinput", { /*:: Display Variables [script]*/ /*! <<checkvars>> macro for SugarCube 2.x */ -!function(){"use strict";if("undefined"==typeof version||"undefined"==typeof version.title||"SugarCube"!==version.title||"undefined"==typeof version.major||version.major<2)throw new Error("<<checkvars>> macro requires SugarCube 2.0 or greater, aborting load");Macro.add("checkvars",{handler:function(){function toString(value,indent){var baseType=typeof value;switch(baseType){case"number":return isNaN(value)?"NaN":isFinite(value)?String(value):"Infinity";case"string":return JSON.stringify(value);case"function":return"(function)";default:if("object"!==baseType||null==value)return String(value);var objType=Object.prototype.toString.call(value);if("[object Date]"===objType)return'(object: Date, value: "'+value.toISOString()+'")';if("[object RegExp]"===objType)return"(object: RegExp, value: "+value.toString()+")";var opener,closer,result=[],indentText=" ";return indent||(indent=""),("[object Set]"===objType||value instanceof Set)&&(value=Array.from(value)),Array.isArray(value)?(opener="[\n",closer="\n"+indent+"]",value.forEach(function(p,i){result.push(indent+indentText+i+" ⇒ "+toString(value[i],indent+indentText))}),Object.keys(value).forEach(function(p){/^\d+$/.test(p)||result.push(indent+indentText+toString(p)+" ⇒ "+toString(value[p],indent+indentText))})):"[object Map]"===objType||value instanceof Map?(opener="{\n",closer="\n"+indent+"}",Array.from(value).map(function(kv){result.push(indent+indentText+toString(kv[0],indent+indentText)+" ⇒ "+toString(kv[1],indent+indentText))})):(opener="{\n",closer="\n"+indent+"}",Object.keys(value).forEach(function(p){result.push(indent+indentText+toString(p)+" ⇒ "+toString(value[p],indent+indentText))})),opener+result.join(",\n")+closer}}var dialog,sv=State.variables,names=Object.keys(sv);if(dialog=UI.setup("Story $variables","checkvars"),0===names.length)return dialog.innerHTML="<h1>Story $variables (<code>State.variables</code>):</h1><p><em>No $variables currently set…</em></p>",void UI.open();dialog.innerHTML="<h1>Story $variables (<code>State.variables</code>):</h1><table><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody></tbody></table>"+(/applewebkit|chrome/.test(Browser.userAgent)?"":'<div class="scroll-pad"> </div>');var tbody=dialog.querySelector("tbody");names.sort(function(a,b){return Util.isNumeric(a)&&Util.isNumeric(b)?Number(a)-Number(b):a.localeCompare(b)});for(var i=0;i<names.length;i++){var tr=document.createElement("tr"),tdName=document.createElement("td"),tdValue=document.createElement("td");tdName.textContent="$"+names[i],tdValue.textContent=toString(sv[names[i]]),tr.appendChild(tdName),tr.appendChild(tdValue),tbody.appendChild(tr)}UI.open()}})}(); +!function(){"use strict";if("undefined"==typeof version||"undefined"==typeof version.title||"SugarCube"!==version.title||"undefined"==typeof version.major||version.major<2)throw new Error("<<checkvars>> macro requires SugarCube 2.0 or greater, aborting load");Macro.add("checkvars",{handler:function(){function toString(value,indent){var baseType=typeof value;switch(baseType){case"number":return isNaN(value)?"NaN":isFinite(value)?String(value):"Infinity";case"string":return JSON.stringify(value);case"function":return"(function)";default:if("object"!==baseType||null==value)return String(value);var objType=Object.prototype.toString.call(value);if("[object Date]"===objType)return'(object: Date, value: "'+value.toISOString()+'")';if("[object RegExp]"===objType)return"(object: RegExp, value: "+value.toString()+")";var opener,closer,result=[],indentText=" ";return indent||(indent=""),("[object Set]"===objType||value instanceof Set)&&(value=Array.from(value)),Array.isArray(value)?(opener="[\n",closer="\n"+indent+"]",value.forEach(function(p,i){result.push(indent+indentText+i+" ⇒ "+toString(value[i],indent+indentText))}),Object.keys(value).forEach(function(p){/^\d+$/.test(p)||result.push(indent+indentText+toString(p)+" ⇒ "+toString(value[p],indent+indentText))})):"[object Map]"===objType||value instanceof Map?(opener="{\n",closer="\n"+indent+"}",Array.from(value).map(function(kv){result.push(indent+indentText+toString(kv[0],indent+indentText)+" ⇒ "+toString(kv[1],indent+indentText))})):(opener="{\n",closer="\n"+indent+"}",Object.keys(value).forEach(function(p){result.push(indent+indentText+toString(p)+" ⇒ "+toString(value[p],indent+indentText))})),opener+result.join(",\n")+closer}}var dialog,sv=State.variables,names=Object.keys(sv);if(dialog=UI.setup("Story $variables","checkvars"),0===names.length)return dialog.innerHTML="<h1>Story $variables (<code>State.variables</code>):</h1><p><em>No $variables currently set…</em></p>",void UI.open();dialog.innerHTML="<h1>Story $variables (<code>State.variables</code>):</h1><table><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody></tbody></table>"+(/applewebkit|chrome/.test(Browser.userAgent)?"":'<div class="scroll-pad"> </div>');var tbody=dialog.querySelector("tbody");names.sort(function(a,b){return Util.isNumeric(a)&&Util.isNumeric(b)?Number(a)-Number(b):a.localeCompare(b)});for(var i=0;i<names.length;i++){var tr=document.createElement("tr"),tdName=document.createElement("td"),tdValue=document.createElement("td");tdName.textContent="$"+names[i],tdValue.textContent = toString(sv[names[i]]),tr.appendChild(tdName),tr.appendChild(tdValue),tbody.appendChild(tr)}UI.open()}})}(); /*:: Foreach Macro JS [script]*/ Macro.add('foreach', { skipArgs : true, - tags : null, - + tags : null, + handler() { - const payload = this.payload[0].contents.replace(/\n$/, ''); - let statement = this.args.raw.trim(); + const payload = this.payload[0].contents.replace(/\n$/, ''); + let statement = this.args.raw.trim(); let variable; let array; let result; - + if (statement.length !== 0) { const parts = statement.match(/^(\S+?)\s+of\s+(\S.*?)\s*$/i); if(parts !== null) { @@ -2826,24 +2838,24 @@ Macro.add('foreach', { if(!variable || !array) { return this.error('invalid syntax, format: <<foreach variable of array-expression>>... <</foreach>>'); } - + try { result = Scripting.evalTwineScript(array); } catch (ex) { return this.error(`bad evaluation: ${typeof ex === 'object' ? ex.message : ex}`); } - + let resultLength = result['length']; - + // We don't check for "instanceof Array" to also be able to pass arguments or other strange objects if(typeof resultLength !== 'number' || (resultLength % 1) !== 0) { return this.error("bad evaluation: '" + result + "' is not an array or array-like object"); } - + if(resultLength > Config.macros.maxLoopIterations) { return this.error('Array too large for maxLoopIterations (' + resultLength + ' > ' + Config.macros.maxLoopIterations + ')'); } - + if(!new RegExp(`^(${Patterns.variable})$`).test(variable)) { return this.error('not a variable identifier: ' + variable); } @@ -2854,7 +2866,7 @@ Macro.add('foreach', { } Config.debug && this.debugView.modes({block: true}); - + payload.replace(/^\n/, ''); for(let i = 0; i < resultLength; ++ i) { Wikifier.setValue(variable, result[i]); @@ -2871,56 +2883,56 @@ Macro.add('foreach', { * Height.mean(slave) - returns the mean (expected) height for the given slave * * Height.random(nationality, race, genes, age) - returns a random height using the skew-normal distribution - * around the mean height for the given arguments + * around the mean height for the given arguments * Height.random(nationality, race, genes) - returns a random height for the given combination of an adult, as above * Height.random(slave[, options]) - returns a random height for the given slave, as above. - * The additional options object can modify how the values are generated - * in the same way setting them as global configuration would, but only for this - * specific generation. + * The additional options object can modify how the values are generated + * in the same way setting them as global configuration would, but only for this + * specific generation. * - * Example: Only generate above-average heights based on $activeSlave: - * Height.random($activeSlave, {limitMult: [0, 5]}) + * Example: Only generate above-average heights based on $activeSlave: + * Height.random($activeSlave, {limitMult: [0, 5]}) * * Height.forAge(height, age, genes) - returns the height adapted to the age and genes * Height.forAge(height, slave) - returns the height adapted to the slave's age and genes * * Height.config(configuration) - configures the random height generator globally and returns the current configuration - * The options and their default values are: - * limitMult: [-3, 3] - Limit to the values the underlying (normal) random generator returns. - * In normal use, the values are almost never reached; only 0.27% of values are - * outside this range and need to be regenerated. With higher skew (see below), - * this might change. - * spread: 0.05 - The random values generated are multiplied by this and added to 1 to generate - * the final height multiplier. The default value together with the default limitMult - * means that the generated height will always fall within (1 - 0.05 * 3) = 85% and - * (1 + 0.05 * 3) = 115% of the mean height. - * Minimum value: 0.001; maximum value: 0.5 - * skew: 0 - How much the height distribution skews to the right (positive) or left (negative) side - * of the height. - * Minimum value: -1000, maximum value: 1000 - * limitHeight: [0, 999] - Limit the resulting height range. Warning: A small height limit range - * paired with a high spread value results in the generator having to - * do lots of work generating and re-generating random heights until - * one "fits". + * The options and their default values are: + * limitMult: [-3, 3] - Limit to the values the underlying (normal) random generator returns. + * In normal use, the values are almost never reached; only 0.27% of values are + * outside this range and need to be regenerated. With higher skew (see below), + * this might change. + * spread: 0.05 - The random values generated are multiplied by this and added to 1 to generate + * the final height multiplier. The default value together with the default limitMult + * means that the generated height will always fall within (1 - 0.05 * 3) = 85% and + * (1 + 0.05 * 3) = 115% of the mean height. + * Minimum value: 0.001; maximum value: 0.5 + * skew: 0 - How much the height distribution skews to the right (positive) or left (negative) side + * of the height. + * Minimum value: -1000, maximum value: 1000 + * limitHeight: [0, 999] - Limit the resulting height range. Warning: A small height limit range + * paired with a high spread value results in the generator having to + * do lots of work generating and re-generating random heights until + * one "fits". * * Anon's explination: - *limitMult: [0, -30] + * limitMult: [0, -30] * - *This specifies a range going up from 0 to -30. It needs to go [-30, 0] instead. Same thing with [0, -5] two lines down. note: technically, this isn't true, because for some bizarre reason Height.random reverses the numbers for you if you get them wrong. But it's important to establish good habits, so. + * This specifies a range going up from 0 to -30. It needs to go [-30, 0] instead. Same thing with [0, -5] two lines down. note: technically, this isn't true, because for some bizarre reason Height.random reverses the numbers for you if you get them wrong. But it's important to establish good habits, so. * - *Skew, spread, limitMult: These are statistics things. BTW, a gaussian distribution is a normal distribution. Just a naming thing. + * Skew, spread, limitMult: These are statistics things. BTW, a gaussian distribution is a normal distribution. Just a naming thing. * - *Skew: The shape parameter of a skew-normal distribution. See http://azzalini.stat.unipd.it/SN/Intro/intro.html for more details. Basically a measure of how asymmetrical the curve is. It doesn't move the main mass of the distribution. Rather, it's more like it moves mass from one of the tails into the main mass of the distribution. + * Skew: The shape parameter of a skew-normal distribution. See http://azzalini.stat.unipd.it/SN/Intro/intro.html for more details. Basically a measure of how asymmetrical the curve is. It doesn't move the main mass of the distribution. Rather, it's more like it moves mass from one of the tails into the main mass of the distribution. * - *Spread: Changes the average distance from the mean, making the graph wider and shorter. Moves "mass" from the center to the tail. It's basically standard deviation, but named funny because FC codebase. Changing this can have dramatic effects. It's advised to keep this at or below 0.1 for usual height generation. + * Spread: Changes the average distance from the mean, making the graph wider and shorter. Moves "mass" from the center to the tail. It's basically standard deviation, but named funny because FC codebase. Changing this can have dramatic effects. It's advised to keep this at or below 0.1 for usual height generation. * - *limitMult: A clamp, expressed in z-score. (z=1 is one standard dev above mean, for ex.) If it excludes too much of the distribution the other parameters describe, you're going to spend lots of CPU making and throwing away heights. Don't worry about this unless you run into it. + * limitMult: A clamp, expressed in z-score. (z=1 is one standard dev above mean, for ex.) If it excludes too much of the distribution the other parameters describe, you're going to spend lots of CPU making and throwing away heights. Don't worry about this unless you run into it. * - *There's also limitHeight which you're not using. It's basically limitMult in different units. + * There's also limitHeight which you're not using. It's basically limitMult in different units. */ window.Height = (function(){ 'use strict'; - + // Global configuration (for different game modes/options/types) var minMult = -3.0; var maxMult = 3.0; @@ -2928,7 +2940,7 @@ window.Height = (function(){ var spread = 0.05; var minHeight = 0; var maxHeight = 999; - + // Configuration method for the above values const _config = function(conf) { if(_.isUndefined(conf)) { @@ -2948,7 +2960,7 @@ window.Height = (function(){ } return {limitMult: [minMult, maxMult], limitHeight: [minHeight, maxHeight], skew: skew, spread: spread}; }; - + /* if you can find an average for an undefined, add it in! */ const xxMeanHeight = { "Afghan": 163.8, "Albanian": 161.8, "Algerian": 162, "American.asian": 158.4, "American.black": 163.6, "American.latina": 158.9, "American.white": 165, "American": 161.8, @@ -3003,19 +3015,19 @@ window.Height = (function(){ "Venezuelan": 169, "Vietnamese": 165.7, "Vincentian": 165.4, "Yemeni": 159.9, "Zairian": 158.9, "Zambian": undefined, "Zimbabwean": undefined, "": 172.5 // defaults }; - + // Helper method - table lookup for nationality/race combinations const nationalityMeanHeight = function(table, nationality, race, def) { return table[nationality + "." + race] || table[nationality] || table["." + race] || table[""] || def; }; - + // Helper method - generate two independent Gaussian numbers using Box-Muller transform const gaussianPair = function() { let r = Math.sqrt(-2.0 * Math.log(1 - Math.random())); let sigma = 2.0 * Math.PI * (1 - Math.random()); return [r * Math.cos(sigma), r * Math.sin(sigma)]; }; - + // Helper method: Generate a skewed normal random variable with the skew s // Reference: http://azzalini.stat.unipd.it/SN/faq-r.html const skewedGaussian = function(s) { @@ -3028,7 +3040,7 @@ window.Height = (function(){ let result = delta * randoms[0] + Math.sqrt(1 - delta * delta) * randoms[1]; return randoms[0] >= 0 ? result : -result; }; - + // Height multiplier generator; skewed gaussian according to global parameters const multGenerator = function() { let result = skewedGaussian(skew); @@ -3037,7 +3049,7 @@ window.Height = (function(){ } return result; }; - + // Helper method: Generate a height based on the mean one and limited according to config. const heightGenerator = function(mean) { let result = mean * (1 + multGenerator() * spread); @@ -3086,7 +3098,7 @@ window.Height = (function(){ return interpolate(2, minHeight, midAge, midHeight, age); } }; - + const _meanHeight = function(nationality, race, genes, age) { if(_.isObject(nationality)) { // We got called with a single slave as the argument @@ -3123,7 +3135,7 @@ window.Height = (function(){ } return applyAge(result, age, genes); }; - + const _randomHeight = function(nationality, race, genes, age) { const mean = _meanHeight(nationality, race, genes, age); // If we got called with a slave object and options, temporarily modify @@ -3137,7 +3149,7 @@ window.Height = (function(){ } return heightGenerator(mean); }; - + const _forAge = function(height, age, genes) { if(_.isObject(age)) { // We got called with a slave as a second argument @@ -3146,7 +3158,7 @@ window.Height = (function(){ return applyAge(height, age, genes); } }; - + return { mean: _meanHeight, random: _randomHeight, @@ -3655,25 +3667,25 @@ window.ValidateFacilityDecoration = function ValidateFacilityDecoration(decorati */ Macro.add('span', { skipArgs : true, - tags : null, - + tags : null, + handler() { - const payload = this.payload[0].contents.replace(/(^\n+|\n+$)/, ''); - let statement = this.args.raw.trim(); + const payload = this.payload[0].contents.replace(/(^\n+|\n+$)/, ''); + let statement = this.args.raw.trim(); let result; - + if(statement.length === 0) { return this.error('invalid syntax, format: <<span id>>'); } - + try { result = Scripting.evalTwineScript(statement); } catch (ex) { return this.error(`bad evaluation: ${typeof ex === 'object' ? ex.message : ex}`); } - + Config.debug && this.debugView.modes({block: true}); - + jQuery("<span id='" + String(result) + "' />") .wiki(payload) .appendTo(this.output); @@ -4503,7 +4515,7 @@ if(eventSlave.fetish != "mindbroken") { if(eventSlave.devotion > 20) { if(eventSlave.butt > 5) { - if(!["no clothing", "body oil", "a toga", "a kimono", "shibari ropes", "a slutty maid outfit", "a string bikini", "a scalemail bikini", "a chattel habit", "a slave gown", "a halter top dress", "a ball gown", "a mini dress", "harem gauze", "a schutzstaffel uniform", "a slutty schutzstaffel uniform", "a red army uniform", "a monokini"].includes(eventSlave.clothes)) { + if(!["no clothing", "body oil", "a toga", "a kimono", "shibari ropes", "a slutty maid outfit", "a string bikini", "a scalemail bikini", "a chattel habit", "a slave gown", "a halter top dress", "a ball gown", "a mini dress", "harem gauze", "a schutzstaffel uniform", "a slutty schutzstaffel uniform", "a red army uniform", "a monokini", "a burkini"].includes(eventSlave.clothes)) { State.variables.RESSevent.push("ass fitting"); } } @@ -6657,7 +6669,7 @@ window.populateEventArray = function(RESS = State.variables.RESSevent.length, RE window.isSlim = function(slave) { var slim = false; var ArcologyZero = State.variables.arcologies[0]; - + if ((slave.boobs < 500) && (slave.butt < 3)) { if ((slave.muscles <= 30) && (ArcologyZero.FSPhysicalIdealist === "unset") && (slave.weight <= 10) && (ArcologyZero.FSHedonisticDecadence === "unset")) { slim = true; @@ -6673,7 +6685,7 @@ window.isSlim = function(slave) { } } } - + return slim; }; @@ -6685,14 +6697,14 @@ window.isModded = function(slave) { var tatScore = TatScore(slave); var piercingScore = PiercingScore(slave); var modScore = piercingScore+tatScore; - + return ((modScore > 15) || (piercingScore > 8) && (tatScore > 5)); }; window.isUnmodded = function(slave) { var tatScore = TatScore(slave); var piercingScore = PiercingScore(slave); - + return !isModded(slave) && (slave.corsetPiercing === 0) && (piercingScore < 3) && (tatScore < 2); }; @@ -6725,7 +6737,7 @@ window.modScore = function modScore(slave) { window.PiercingScore = function(slave) { var piercingScore = 0; - + if (slave.earPiercing > 0) { piercingScore += slave.earPiercing*0.75-0.5; } @@ -6823,14 +6835,14 @@ window.TatScore = function(slave) { } else if (slave.anusTat !== 0) { tatScore += 1.25; } - + return tatScore; }; window.slimPass = function(slave) { var slimPass = 0; var ArcologyZero = State.variables.arcologies[0]; - + if (ArcologyZero.FSSlimnessEnthusiastLaw === 1) { if ((slave.boobs < 300) && (slave.butt <= 1) && (slave.waist <= 10)) { State.variables.slimPass = 1; @@ -6848,7 +6860,7 @@ window.slimPass = function(slave) { } } } - + return slimPass; }; @@ -6991,7 +7003,7 @@ window.newSlave = function newSlave(slave) { SetBellySize(slave); addSlave(slave); - + if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) { V.genePool.push(slave); } else { @@ -7181,7 +7193,7 @@ window.Enunciate = function Enunciate(slave) { window.fetishChangeChance = function fetishChangeChance(slave) { const V = State.variables; var chance = 0, sex = 0; - + if (slave.clitSetting !== slave.fetish) { if (slave.balls) { sex = V.potencyAge - slave.actualAge; @@ -7191,7 +7203,7 @@ window.fetishChangeChance = function fetishChangeChance(slave) { } chance = Math.trunc(Math.clamp((slave.devotion/4)-(slave.fetishStrength/4)-(Math.max(sex,0)*10), 0, 100)); } - + return chance; }; @@ -7215,7 +7227,7 @@ window.PlayerName = function PlayerName() { "Taiwanese", "Vietnamese"]; let names = [V.PC.name, V.PC.surname || ""]; - + if ((V.surnameOrder !== 1) && (surnamesFirstCountries.includes(V.PC.nationality))) names.reverse(); return names.join(" ").trim(); @@ -7275,7 +7287,6 @@ window.PCTitle = function PCTitle() { titles.push("the Creator"); } - if (V.plot === 1) { if (V.invasionVictory === 3) { if (V.PC.title === 1) { @@ -7315,7 +7326,6 @@ window.PCTitle = function PCTitle() { titles.push("Commander of the Mercenaries"); } - if (V.dispensary === 1) { if (V.PC.title === 1) { titles.push("Pharmacologos"); @@ -7340,7 +7350,6 @@ window.PCTitle = function PCTitle() { titles.push("Subduer of the Inferior Race"); } - if (V.arcologies[0].FSGenderRadicalist >= V.FSLockinLevel * 0.9) { titles.push("Buttfucker of All Slaves"); } else if (V.arcologies[0].FSGenderRadicalist >= V.FSLockinLevel * 0.6) { @@ -7429,7 +7438,6 @@ window.PCTitle = function PCTitle() { titles.push("the Farmer"); } - if (V.arcologies[0].FSPhysicalIdealist >= V.FSLockinLevel * 0.9) { titles.push("beloved of Brodin"); } else if (V.arcologies[0].FSPhysicalIdealist >= V.FSLockinLevel * 0.6) { @@ -7442,7 +7450,6 @@ window.PCTitle = function PCTitle() { titles.push("advancer of Gains"); } - if (V.arcologies[0].FSHedonisticDecadence >= V.FSLockinLevel * 0.9) { if (V.PC.title === 1) { titles.push("Master of Softness"); @@ -7455,7 +7462,6 @@ window.PCTitle = function PCTitle() { titles.push("the Feeder"); } - if (V.arcologies[0].FSMaturityPreferentialist >= V.FSLockinLevel * 0.9) { titles.push("Grand Preserver of MILFS"); } else if (V.arcologies[0].FSMaturityPreferentialist >= V.FSLockinLevel * 0.6) { @@ -7476,7 +7482,6 @@ window.PCTitle = function PCTitle() { titles.push("the Virginbreaker"); } - if (V.arcologies[0].FSChattelReligionistLaw === 1) { titles.push("the Prophet"); } else if (V.arcologies[0].FSChattelReligionist >= V.FSLockinLevel * 0.9) { @@ -7487,7 +7492,6 @@ window.PCTitle = function PCTitle() { titles.push("the Holy"); } - if (V.arcologies[0].FSRomanRevivalist >= V.FSLockinLevel * 0.9) { titles.push("First Consul"); } else if (V.arcologies[0].FSRomanRevivalist >= V.FSLockinLevel * 0.6) { @@ -7496,7 +7500,6 @@ window.PCTitle = function PCTitle() { titles.push("Quaestor"); } - if (V.arcologies[0].FSAztecRevivalist >= V.FSLockinLevel * 0.9) { titles.push("Tlatcani"); } else if (V.arcologies[0].FSAztecRevivalist >= V.FSLockinLevel * 0.6) { @@ -7533,7 +7536,6 @@ window.PCTitle = function PCTitle() { titles.push("Daimyo"); } - if (V.arcologies[0].FSArabianRevivalist >= V.FSLockinLevel * 0.9) { if (V.PC.title === 1) { titles.push("Caliph"); @@ -7570,7 +7572,6 @@ window.PCTitle = function PCTitle() { } } - if (V.brothelSlaves >= 15) { if (V.PC.title === 1) { titles.push("Procurator of the Brothel"); @@ -7751,7 +7752,7 @@ window.PCTitle = function PCTitle() { window.PoliteRudeTitle = function PoliteRudeTitle(slave) { const V = State.variables, PC = V.PC, s = V.sEnunciate, ss = V.ssEnunciate; - + var r = ""; if (slave.nationality === "Japanese") { if (slave.trust > 0) { @@ -8140,7 +8141,7 @@ window.DegradingName = function DegradingName(slave) { "recruit girls"]; let names = []; let suffixes = []; - + if (slave.fuckdoll > 0) { slave.slaveName = "Fuckdoll No. " + slave.ID; slave.slaveSurname = 0; @@ -8163,7 +8164,7 @@ window.DegradingName = function DegradingName(slave) { names.push("Black", "Dark"); break; case "pacific islander": - names.push("Islander", "Sea"); + names.push("Islander", "Pacific", "Sea"); break; case "malay": names.push("Cinnamon", "Pinoy", "Spice"); @@ -8175,7 +8176,7 @@ window.DegradingName = function DegradingName(slave) { names.push("Indian", "Reservation"); break; case "semitic": - names.push("Semitic"); + names.push("Semite", "Semitic"); break; case "middle eastern": names.push("Arab", "Sand"); @@ -8184,7 +8185,7 @@ window.DegradingName = function DegradingName(slave) { names.push("Brown", "Indian"); break; case "mixed race": - names.push("Mulatto", "Mutt"); + names.push("Mixed", "Mulatto", "Mutt"); break; } } @@ -8362,8 +8363,7 @@ window.DegradingName = function DegradingName(slave) { } else if (slave.trust < 20) { names.push("Begging"); } - - + if (slave.dick === 0) { if (slave.vagina === -1) { suffixes.push("Null"); @@ -8457,7 +8457,7 @@ window.DegradingName = function DegradingName(slave) { if (slave.vagina === 0) { suffixes.push("Virgin"); } - + slave.slaveName = jsEither(names); } if (leadershipPosition.includes(slave.assignment)) { @@ -8712,7 +8712,7 @@ window.assignJob = function assignJob(slave, job) { if (job === "Pit" || job === "Coursing Association") return r; - + removeJob(slave, slave.assignment); const idx = V.slaveIndices[slave.ID]; @@ -8781,7 +8781,7 @@ window.assignJob = function assignJob(slave, job) { case "Hedonistic": slave.livingRules = "luxurious"; break; - + case "Roman Revivalist": case "Aztec Revivalist": case "Egyptian Revivalist": @@ -8791,7 +8791,7 @@ window.assignJob = function assignJob(slave, job) { case "Edo Revivalist": slave.livingRules = "normal"; break; - + default: slave.livingRules = "spare"; break; @@ -8919,13 +8919,13 @@ window.assignJob = function assignJob(slave, job) { case "be the stewardess": case "be the wardeness": slave.assignment = job; - slave.assignmentVisible = 0; /* non-visible leadership roles */ + slave.assignmentVisible = 0; /* non-visible leadership roles */ slave.livingRules = "luxurious"; break; case "be your concubine": slave.assignment = job; - slave.assignmentVisible = 0; /* non-visible leadership roles */ + slave.assignmentVisible = 0; /* non-visible leadership roles */ if(V.masterSuiteUpgradeLuxury > 0) slave.livingRules = "luxurious"; else @@ -9128,18 +9128,18 @@ window.removeJob = function removeJob(slave, assignment) { V.personalAttention = "upkeep"; else V.personalAttention = "business"; - + r += `You no longer have a slave assigned to be your Head Girl, so you turn your personal attention to focus on ${V.personalAttention}.`; } break; - + case "be your agent": case "live with your agent": slave.assignment = "rest"; const _leaderIndex = V.leaders.findIndex(function(x) { return x.ID === slave.ID; }); if (_leaderIndex !== -1) V.leaders.deleteAt(_leaderIndex); - + if (slave.relationshipTarget > 0) { /* following code assumes there can be at most one companion */ const _lover = V.slaves.findIndex(function(s) { return haveRelationshipP(s, slave) && s.assignment === "live with your agent"; }); if (_lover !== -1) { @@ -9148,16 +9148,15 @@ window.removeJob = function removeJob(slave, assignment) { } } break; - + default: slave.assignment = "rest"; break; } - if (slave.livingRules === "luxurious" && slave.assignmentVisible !== 1) slave.livingRules = "normal"; - + slave.assignmentVisible = 1; slave.choosesOwnAssignment = 0; slave.sentence = 0; @@ -9204,12 +9203,12 @@ window.WombInit = function(actor) { } //console.log("broodmother:" + typeof actor.broodmother); - + if ( typeof actor.broodmother != "number" ) { actor.broodmother = 0; actor.broodmotherFetuses = 0; } - + if ( typeof actor.readyOva != "number" ) { actor.readyOva = 0; } @@ -9379,7 +9378,7 @@ window.WombNormalizePreg = function(actor) { // console.log("New actor: " + actor.slaveName + " ===============" + actor.name); WombInit(actor); - + // this is broodmother on hold. if (actor.womb.length == 0 && actor.broodmother >= 1) { actor.pregType = 0; @@ -9390,16 +9389,16 @@ window.WombNormalizePreg = function(actor) // So we set this for special case. if (actor.preg >= 0) actor.preg = 0.1; - + if (actor.pregSource > 0) actor.pregSource = 0; if (actor.pregWeek > 0) actor.pregWeek = 0; - + actor.broodmotherCountDown = 0; } - + if (actor.womb.length > 0) { var max = WombMaxPreg(actor); // console.log("max: " + max); @@ -9423,10 +9422,10 @@ window.WombNormalizePreg = function(actor) // console.log("preg fixing"); actor.pregType = 0; actor.pregKnown = 0; - + if (actor.preg > 0) actor.preg = 0; - + if (actor.pregSource > 0) actor.pregSource = 0; @@ -9930,7 +9929,7 @@ window.saChoosesOwnClothes = (function() { wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"}); } } - + /* Chooses clothes according to FS*/ if(V.arcologies[0].FSEgyptianRevivalist > 0) { wardrobeFS.push({text: `and complements it with golden bangles, since no clothing is necessary for a sex slave in your warm and sunny arcology.`, clothes: "slutty jewelry"}); @@ -10044,7 +10043,7 @@ window.saChoosesOwnClothes = (function() { } } } - + /*Chooses clothes according to fetishes, quirks, etc.*/ if(slave.attrXY > 70) { if(slave.attrKnown == 1) { @@ -10086,7 +10085,7 @@ window.saChoosesOwnClothes = (function() { wardrobeTastes.push({text: `and wears a nice suit, the reasons not entirely clear to you.`, clothes: "nice business attire"}); } } - + /* need */ if(slave.need > 90) { wardrobeTastes.push({text: `but goes naked. ${He} needs sex now and clothing will only get in the way.`, clothes: "no clothing"}); @@ -10095,20 +10094,20 @@ window.saChoosesOwnClothes = (function() { wardrobeTastes.push({text: `and dresses up as a slutty maid. Maybe if ${he} does ${his} job poorly enough, someone will bend ${him} over and fuck some sense into ${him}.`, clothes: "a slutty maid outfit"}); wardrobeTastes.push({text: `and dresses up as a succubus in the hopes it screams that ${he} needs sex now.`, clothes: "a succubus outfit"}); } - + /* quirks n flaws */ if(slave.behavioralFlaw == "arrogant") { wardrobeTastes.push({text: `and chooses a formal dress that makes ${him} feel like royalty.`, clothes: "a ball gown"}); } else if(slave.behavioralQuirk == "devout") { wardrobeTastes.push({text: `and wears something more appropriate for a monastery than a whorehouse.`, clothes: "a penitent nuns habit"}); } - + if(slave.behavioralQuirk == "sinful") { wardrobeTastes.push({text: `and dresses up like a succubus because it makes ${him} feel naughty.`, clothes: "a succubus outfit"}); } else if(slave.behavioralQuirk == "fitness") { wardrobeTastes.push({text: `and wears spats and a tank top to give ${himself} a sporty look.`, clothes: "spats and a tank top"}); } - + if(slave.sexualFlaw == "shamefast") { wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a burqa"}); } else if(slave.sexualFlaw == "breeder") { @@ -10119,7 +10118,7 @@ window.saChoosesOwnClothes = (function() { wardrobeTastes.push({text: `and chooses an outfit that is commonly associated with wanton cruelty.`, clothes: "a schutzstaffel uniform"}); wardrobeTastes.push({text: `and chooses a skimpy outfit that is commonly associated with wanton cruelty.`, clothes: "a slutty schutzstaffel uniform"}); } - + if(slave.sexualQuirk == "romantic") { wardrobeTastes.push({text: `and dresses up like ${he}'s about to go on a date.`, clothes: "a halter top dress"}); } else if(slave.sexualQuirk == "tease") { @@ -10136,7 +10135,7 @@ window.saChoosesOwnClothes = (function() { } else if(slave.actualAge < 18) { wardrobeTastes.push({text: `and chooses an outfit that somewhat resembles one of ${his} school uniforms.`, clothes: "a schoolgirl outfit"}); } - + /* fetishes */ if(slave.fetishKnown == 1) { if(slave.fetish == "submissive") { @@ -10225,7 +10224,7 @@ window.saChoosesOwnClothes = (function() { } else { wardrobeTastes.push({text: `and wears string lingerie to show off ${his} body.`, clothes: "a string bikini"}); } - + if(slave.nationality == "Canadian") { wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a mounty outfit"}); } else if(slave.nationality == "Japanese") { @@ -10301,11 +10300,11 @@ window.saChoosesOwnClothes = (function() { function todaysCollar(slave) { let neck = []; - + if(slave.fetish == 'mindbroken') { - + } else if(slave.devotion <= 20) { - + } else { if(V.arcologies[0].FSEgyptianRevivalist > 0) { neck.push({text: `dons a wesekh to support your ancient Egyptian pretensions,`, collar: "ancient Egyptian"}); @@ -10330,7 +10329,7 @@ window.saChoosesOwnClothes = (function() { function todaysCorset(slave) { let belly = []; const empathyBellies = ["a small empathy belly", "a medium empathy belly", "a large empathy belly", "a huge empathy belly"]; - + if(slave.fetish == 'mindbroken') { if(V.arcologies[0].FSRepopulationFocus > 0 && slave.belly < 1500) { if(slave.weight > 130) { @@ -10342,7 +10341,7 @@ window.saChoosesOwnClothes = (function() { belly.push({text: "", bellyAccessory: slave.bellyAccessory}); /*compatibility for no output, will likely get deprecated in the future as content is added*/ } } else if(slave.devotion <= 20) { - + } else { if(V.arcologies[0].FSRepopulationFocus > 0 && slave.belly < 1500 && slave.sexualFlaw != "breeder") { if(slave.weight > 130) { @@ -10390,13 +10389,13 @@ window.FResult = (function() { function FResult(slave) { V = State.variables; incest_bonus = V.arcologies[0].FSEgyptianRevivalist > 20 || V.arcologies[0].FSEgyptianRevivalistIncestPolicy === 1; - + calcUseWeights(slave); if (!slave.fuckdoll) calcNotFuckdoll(slave); else V.FResult += slave.fuckdoll/10; - + V.FResult += Math.max(0, slave.aphrodisiacs) * 2; if (slave.inflationType === "aphrodisiac") @@ -10407,7 +10406,7 @@ window.FResult = (function() { if (slave.nipples === "fuckable") calcFuckableTits(slave); - + if (V.seeAge === 1) calcAge(slave); if (slave.fetish === "mindbroken") @@ -10490,7 +10489,7 @@ window.FResult = (function() { }); if (fre !== -1) V.FResult += 1; } - + function calcWorksWithRival(slave) { const en = V.slaves.findIndex(s => { return isRivalP(slave, s) && sameAssignmentP(slave, s); @@ -10535,7 +10534,7 @@ window.FResult = (function() { if (slave.clitPiercing > 2) V.FResult += 1; if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish != "none") V.FResult += slave.fetishStrength/5; - + if (slave.attrKnown === 1) { V.FResult += Math.trunc(slave.attrXX/20); V.FResult += Math.trunc(slave.attrXY/20); @@ -10570,13 +10569,11 @@ window.FResult = (function() { } function calcHearing(slave) { - if (!canHear(slave)) V.FResult -= 3; + if (!canHear(slave)) V.FResult -= 2; else if (slave.hears <= -1) { - if (slave.earwear !== "corrective glasses" && slave.earwear !== "corrective contacts") + if (slave.earwear !== "hearing aids") V.FResult -= 1; - } else if (slave.earwear === "blurring glasses") - V.FResult -= 1; - else if (slave.earwear === "blurring contacts") + } else if (slave.earwear === "muffling ear plugs") V.FResult -= 1; } @@ -10621,7 +10618,7 @@ window.FResult = (function() { else if (V.arcologies[0].FSMaturityPreferentialist !== "unset") calcMatureBonus(slave); } - + function calcAge(slave) { if ((V.arcologies[0].FSRepopulationFocus !== "unset" || V.arcologies[0].FSGenderFundamentalist !== "unset") && slave.physicalAge === V.minimumSlaveAge && slave.physicalAge === V.fertilityAge && canGetPregnant(slave)) { V.FResult += 1; @@ -10639,7 +10636,7 @@ window.FResult = (function() { V.FResult += 0.1*V.FResult; } } - + function calcAmputation(slave) { switch(slave.amp) { case 0: @@ -10655,7 +10652,7 @@ window.FResult = (function() { V.FResult -= 1; } } - + function calcHedonismWeight(slave) { if (slave.weight < 10) V.FResult -= 2; @@ -10725,7 +10722,7 @@ window.saServant = function saServant(slave) { var he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; var He = capFirstChar(he), His = capFirstChar(his); var V = State.variables; - + var t = `works as a servant. ${He} performs the lowest jobs in your penthouse, cleaning up after your other slaves, bathing them, helping them dress, and giving them sexual relief.`; if (V.servantsQuarters > 0) { @@ -10799,6 +10796,10 @@ window.saServant = function saServant(slave) { t += ` ${His} bad vision makes ${him} a worse servant.`; } + if ((slave.hears <= -1 && slave.earwear != "hearing aids") || (slave.earwear == "muffling ear plugs") || (slave.earwear == "deafening ear plugs")) { + t += ` ${His} bad hearing makes ${him} a worse servant.`; + } + if (slave.lactation > 0) { t += ` Since ${he} is lactating, `; if (slave.devotion > 20 || slave.trust < -20) { @@ -10870,7 +10871,7 @@ window.saStayConfined = function saStayConfined(slave) { } removeJob(slave, slave.assignment) } - + return t } @@ -11032,6 +11033,20 @@ function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot c var lastActiveSlave, lastSlaves, lastPC; +/* + To use, add something like: + +<div id="familyTree"></div> + <span id="familyTreeLink"> + <<link "Pull up the file on her family tree.">> + <<replace #familyTreeLink>> + <<run renderFamilyTree($slaves, $activeSlave.ID)>> + <</replace>> + <</link>> +</span> + +*/ + window.renderFamilyTree = function(slaves, filterID) { var ftreeWidth,ftreeHeight; @@ -11463,160 +11478,176 @@ window.buildFamilyTree = function(slaves = State.variables.slaves, filterID) { return family_graph; }; +/*Old version. To use, do something like: +<div id="editFamily"> + <div id="graph"></div> +</div> + +<<run updateFamilyTree($activeSlave, $slaves, $PC)>> +<script>updateFamilyTree()</script> +If you want to update the tree, just re-call the run line. + +If there's no active slave, you can do: + +<<run updateFamilyTree(null, $slaves, $PC)>> +*/ + window.updateFamilyTree = function(activeSlave = lastActiveSlave, slaves = lastSlaves, PC = lastPC) { - lastActiveSlave = activeSlave; - lastSlaves = slaves; - lastPC = PC; - var treeDepth = 0; - var numTreeNodes = 0; - - var graphElement = document.getElementById("graph"); - if(!graphElement) - return; - graphElement.innerHTML = ""; - - /* The way this code works is that we start with the activeSlave then we call - slaveInfo() recursively to work our way up the tree finding their parents. - - */ - - function getSlave(id, expectedGenes) { - if(id == -1) { - return {"slaveName":"YOU", "ID":id, "physicalAge":PC.physicalAge, "genes":PC.genes, father:PC.father, mother:PC.mother}; - } - if(id == 0) { - return {"slaveName":"-", "ID":id, "genes":expectedGenes}; - } - if(id == activeSlave.ID) { - return activeSlave; - } - for(var i = 0; i < slaves.length; ++i) { - if(slaves[i].ID == id) - return slaves[i]; - } - return {"slaveName":"-", "ID":id, "genes":expectedGenes}; - } - - function slaveInfo(slave, activeSlaveId, recursionProtectSlaveId = {}) { - numTreeNodes = 0; - treeDepth = 0; - if(recursionProtectSlaveId[slave.ID]) { - console.log("Recursion protection"); - return slaveInfo_(slave, activeSlaveId); - } - recursionProtectSlaveId[slave.ID] = true; - - if(typeof slave.father == "undefined" || typeof slave.mother == "undefined") - return slaveInfo_(slave, activeSlaveId); - - if(slave.father == -1 || slave.mother == -1) { - return slaveInfo(getSlave(-1), activeSlaveId, recursionProtectSlaveId); - } - if(slave.father != 0) { - return slaveInfo(getSlave(slave.father, "unknownXY"), activeSlaveId, recursionProtectSlaveId); - } - - if(slave.mother != 0) { - return slaveInfo(getSlave(slave.mother, "unknownXX"), activeSlaveId, recursionProtectSlaveId); - } - return slaveInfo_(slave, activeSlaveId); - } - function slaveInfo_(slave, activeSlaveId, slavesAdded={}, depth = 1) { - numTreeNodes += 1; - treeDepth = Math.max(treeDepth, depth); - var shouldAddChildren = false; - if(!slavesAdded[slave.ID]) { - shouldAddChildren = true; - slavesAdded[slave.ID] = true; - } - var data = { - "name": slave.slaveName + (slave.physicalAge?(" (" + slave.physicalAge + ")"):""), - "class" : slave.genes, - "textClass": (activeSlaveId == slave.ID)?"emphasis":"", - "marriages": [], - }; - - var spouseToChild = {}; - - function maybeAddSpouseToChild(child) { - if(child.ID == slave.ID) - return; - if (child.father == slave.ID) { - if(!spouseToChild[child.mother]) { - spouseToChild[child.mother] = [] - } - spouseToChild[child.mother].push(child); - } else if (child.mother == slave.ID) { - if(!spouseToChild[child.father]) { - spouseToChild[child.father] = [] - } - spouseToChild[child.father].push(child); - } - } - - if(activeSlave.ID != PC.ID) - maybeAddSpouseToChild(activeSlave); - maybeAddSpouseToChild(getSlave(-1)); - - for(var i = 0; i < slaves.length; ++i) { - var child = slaves[i]; - if(child.ID != activeSlave.ID) - maybeAddSpouseToChild(child); - } - - for(var key in spouseToChild) { - if(spouseToChild.hasOwnProperty(key)) { - var children = shouldAddChildren?spouseToChild[key]:[]; - var spouse = getSlave(key, (slaves.genes=="XX")?"unknownXY":(slaves.genes=="XY")?"unknownXX":"unknown"); - var spouseName; - if (spouse.ID != slave.ID){ - spouseName = spouse.slaveName + (spouse.physicalAge?(" (" + spouse.physicalAge + ")"):"") - } else { - spouseName = (spouse.ID==-1)?"(yourself)":"(themselves)"; - } - var marriage = { - "spouse": {"name": spouseName, "class": spouse.genes}, - "children": children.map(function(x) { return slaveInfo_(x, activeSlaveId, slavesAdded, depth+1)} ), - }; - data.marriages.push(marriage); - } - } - return data; - } - - if(activeSlave == PC || activeSlave == null) - activeSlave = getSlave(-1) - const treeData = [slaveInfo(activeSlave, activeSlave.ID)]; - console.log("Family tree is", treeData, 'and has:', numTreeNodes); - - var parentWidth = document.getElementById('editFamily').offsetWidth; - - console.log(parentWidth, document.getElementById('passages').offsetWidth); - if(!parentWidth) - parentWidth = document.body.offsetWidth - 483; - - console.log(parentWidth, Math.min(200 + 40*numTreeNodes,parentWidth-200) + 200); - - dTree.init(treeData, { - target: "#graph", - debug: true, - height: 50 + 50*treeDepth, /* very rough heuristics */ - width: Math.min(200 + 40*numTreeNodes, - parentWidth-200) + 200, - callbacks: { - nodeClick: function(name, extra) { + lastActiveSlave = activeSlave; + lastSlaves = slaves; + lastPC = PC; + var treeDepth = 0; + var numTreeNodes = 0; + + var graphElement = document.getElementById("graph"); + if(!graphElement) + return; + graphElement.innerHTML = ""; + + /* The way this code works is that we start with the activeSlave then we call + slaveInfo() recursively to work our way up the tree finding their parents. + + */ + + function getSlave(id, expectedGenes) { + if(id == -1) { + return {"slaveName":"YOU", "ID":id, "physicalAge":PC.physicalAge, "genes":PC.genes, father:PC.father, mother:PC.mother}; + } + if(id == 0) { + return {"slaveName":"-", "ID":id, "genes":expectedGenes}; + } + if(id == activeSlave.ID) { + return activeSlave; + } + for(var i = 0; i < slaves.length; ++i) { + if(slaves[i].ID == id) + return slaves[i]; + } + return {"slaveName":"-", "ID":id, "genes":expectedGenes}; + } + + function slaveInfo(slave, activeSlaveId, recursionProtectSlaveId = {}) { + numTreeNodes = 0; + treeDepth = 0; + if(recursionProtectSlaveId[slave.ID]) { + console.log("Recursion protection"); + return slaveInfo_(slave, activeSlaveId); + } + recursionProtectSlaveId[slave.ID] = true; + + if(typeof slave.father == "undefined" || typeof slave.mother == "undefined") + return slaveInfo_(slave, activeSlaveId); + + if(slave.father == -1 || slave.mother == -1) { + return slaveInfo(getSlave(-1), activeSlaveId, recursionProtectSlaveId); + } + if(slave.father != 0) { + return slaveInfo(getSlave(slave.father, "unknownXY"), activeSlaveId, recursionProtectSlaveId); + } + + if(slave.mother != 0) { + return slaveInfo(getSlave(slave.mother, "unknownXX"), activeSlaveId, recursionProtectSlaveId); + } + return slaveInfo_(slave, activeSlaveId); + } + function slaveInfo_(slave, activeSlaveId, slavesAdded={}, depth = 1) { + numTreeNodes += 1; + treeDepth = Math.max(treeDepth, depth); + var shouldAddChildren = false; + if(!slavesAdded[slave.ID]) { + shouldAddChildren = true; + slavesAdded[slave.ID] = true; + } + var data = { + "name": slave.slaveName + (slave.physicalAge?(" (" + slave.physicalAge + ")"):""), + "class" : slave.genes, + "textClass": (activeSlaveId == slave.ID)?"emphasis":"", + "marriages": [], + }; + + var spouseToChild = {}; + + function maybeAddSpouseToChild(child) { + if(child.ID == slave.ID) + return; + if (child.father == slave.ID) { + if(!spouseToChild[child.mother]) { + spouseToChild[child.mother] = [] + } + spouseToChild[child.mother].push(child); + } else if (child.mother == slave.ID) { + if(!spouseToChild[child.father]) { + spouseToChild[child.father] = [] + } + spouseToChild[child.father].push(child); } } + + if(activeSlave.ID != PC.ID) + maybeAddSpouseToChild(activeSlave); + maybeAddSpouseToChild(getSlave(-1)); + + for(var i = 0; i < slaves.length; ++i) { + var child = slaves[i]; + if(child.ID != activeSlave.ID) + maybeAddSpouseToChild(child); + } + + for(var key in spouseToChild) { + if(spouseToChild.hasOwnProperty(key)) { + var children = shouldAddChildren?spouseToChild[key]:[]; + var spouse = getSlave(key, (slaves.genes=="XX")?"unknownXY":(slaves.genes=="XY")?"unknownXX":"unknown"); + var spouseName; + if (spouse.ID != slave.ID){ + spouseName = spouse.slaveName + (spouse.physicalAge?(" (" + spouse.physicalAge + ")"):"") + } else { + spouseName = (spouse.ID==-1)?"(yourself)":"(themselves)"; + } + var marriage = { + "spouse": {"name": spouseName, "class": spouse.genes}, + "children": children.map(function(x) { return slaveInfo_(x, activeSlaveId, slavesAdded, depth+1)} ), + }; + data.marriages.push(marriage); + } + } + return data; + } + + if(activeSlave == PC || activeSlave == null) + activeSlave = getSlave(-1) + const treeData = [slaveInfo(activeSlave, activeSlave.ID)]; + console.log("Family tree is", treeData, 'and has:', numTreeNodes); + + var parentWidth = document.getElementById('editFamily').offsetWidth; + + console.log(parentWidth, document.getElementById('passages').offsetWidth); + if(!parentWidth) + parentWidth = document.body.offsetWidth - 483; + + console.log(parentWidth, Math.min(200 + 40*numTreeNodes,parentWidth-200) + 200); + + dTree.init(treeData, { + target: "#graph", + debug: true, + height: 50 + 50*treeDepth, /* very rough heuristics */ + width: Math.min(200 + 40*numTreeNodes, + parentWidth-200) + 200, + callbacks: { + nodeClick: function(name, extra) { + } + } }); }; +/*heroCreator.tw [script]*/ + window.getHeroSlave = function(heroSlave, baseHeroSlave) { - var newSlave = clone(baseHeroSlave); - for (var attrname in heroSlave) { - newSlave[attrname] = heroSlave[attrname]; - }; - return newSlave; + var newSlave = clone(baseHeroSlave); + for (var attrname in heroSlave) { + newSlave[attrname] = heroSlave[attrname]; + }; + return newSlave; } /*SFJS [script]*/ @@ -11718,16 +11749,16 @@ window.restoreColors = function(styleMap){ /* * <<htag>> macro * A simple macro which allows to create wrapping html elements with dynamic IDs. - * idea blatantly robbed from the spanMacroJS.tw but expanded to a more generic - * case, allowing <div>, <button> or whatever you want. elements, default is for - * the div though. In addition, you can pass an object in as the first argument - * instead of an id, and each of the object's attributes will become attributes - * of the generate tag. + * idea blatantly robbed from the spanMacroJS.tw but expanded to a more generic + * case, allowing <div>, <button> or whatever you want. elements, default is for + * the div though. In addition, you can pass an object in as the first argument + * instead of an id, and each of the object's attributes will become attributes + * of the generate tag. * - * Usage: <<htag id>>...<</htag>> - * Usage: <<htag id tag>>...<</htag>> - * Usage: <<htag attributes>>...<</htag>> - * Usage: <<htag attributes tag>>...<</htag>> + * Usage: <<htag id>>...<</htag>> + * Usage: <<htag id tag>>...<</htag>> + * Usage: <<htag attributes>>...<</htag>> + * Usage: <<htag attributes tag>>...<</htag>> */ Macro.add('htag', { tags: null, @@ -11735,13 +11766,13 @@ Macro.add('htag', { const payload = this.payload[0].contents.replace(/(^\n+|\n+$)/, ''); let htag = 'div'; let attributes; - function munge (val, key) { - return key + '="' + val + '"'; + function munge (val, key) { + return key + '="' + val + '"'; } - - if (1 > this.args.length) + + if (1 > this.args.length) return this.error('invalid syntax, format: <<htag [id [ tag ] | attributes [ tag ] >>'); - if (1 < this.args.length) + if (1 < this.args.length) htag = String(this.args[1]).trim(); if ("object" === typeof this.args[0]) attributes = $.map(this.args[0], munge).join(" "); @@ -11749,7 +11780,7 @@ Macro.add('htag', { attributes = 'id="' + String(this.args[0]).trim() + '"'; if (Config.debug) this.debugView.modes({block: true}); - + jQuery('<' + htag + ' ' + attributes + ' />') .wiki(payload) .appendTo(this.output); @@ -11764,7 +11795,7 @@ window.sortDomObjects = function (objects, attrName, reverse = 0) { var aVal = a.getAttribute(attrName); var bVal = b.getAttribute(attrName); var aInt = parseInt(aVal); - if (!isNaN(aInt)) + if (!isNaN(aInt)) return ((parseInt(bVal) - aInt) * reverse); else if (bVal > aVal) return -1 * reverse; @@ -11792,8 +11823,8 @@ window.quickListBuildLinks = function () { var $this = $(this), $toElement = $this.attr('data-scroll-to'); // note the * 1 enforces $offset to be an integer, without // it we scroll to True, which goes nowhere fast. - var $offset = $this.attr('data-scroll-offset') * 1 || 0; - var $speed = $this.attr('data-scroll-speed') * 1 || 500; + var $offset = $this.attr('data-scroll-offset') * 1 || 0; + var $speed = $this.attr('data-scroll-speed') * 1 || 500; // Use javascript scrollTop animation for in page navigation. $('html, body').animate({ scrollTop: $($toElement).offset().top + $offset @@ -11829,9 +11860,9 @@ window.sortIncubatorPossiblesByPreviousSort = function () { var sort = State.variables.sortIncubatorList; console.log(State.variables); console.log('sort', sort); - if ('unsorted' !== sort) { + if ('unsorted' !== sort) { console.log("sort isn't unsorted", sort); - if ('Name' === sort) { + if ('Name' === sort) { console.log("sort is name", sort); sortIncubatorPossiblesByName(); } else if ('Reserved Incubator Spots' === sort) { @@ -13432,7 +13463,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName} is pregnant, so she has been put on the gestation slowing agents.`; } else if (rule.pregSpeed == "fast" && slave.preg < 35 && slave.health > -50) { slave.pregControl = "speed up"; - r += `<br>${slave.slaveName} is pregnant, so she has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended.`; + r += `<br>${slave.slaveName} is pregnant, so she has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended.`; } else if (rule.pregSpeed == "suppress" && slave.preg > 34 && slave.health > -50) { slave.pregControl = "labor supressors"; r += `<br>${slave.slaveName} is ready to birth, so she has been put on labor suppressing agents.`; @@ -15092,6 +15123,7 @@ window.rulesAssistantOptions = (function() { super("Cosmetic Settings", true); this.appendChild(new EyewearList()); this.appendChild(new LensesList()); + this.appendChild(new EarwearList()); this.appendChild(new MakeupList()); this.appendChild(new NailsList()); this.appendChild(new HairLengthList()); @@ -15659,7 +15691,7 @@ window.rulesAssistantOptions = (function() { class ContraceptiveList extends List { constructor() { - const drugs = [ + const drugs = [ ["No default setting", "no default setting"], ["Contraceptives", true], ["Fertile", false], @@ -15794,7 +15826,7 @@ window.rulesAssistantOptions = (function() { ["Healthy diet", "healthy"], ["Fix fat and skinny slaves", "attractive"], ["Curvy", 30], - ["Average", 0], + ["Average", 0], ["Thin", -30] ]; if (V.feeder === 1) { @@ -16164,6 +16196,19 @@ window.rulesAssistantOptions = (function() { super(items); } } + + class EarwearList extends List { + constructor() { + const pairs = [ + ["correct with hearing aids"], + ["muffle with ear plugs"], + ["deafen with ear plugs"] + ]; + super("Earwear", pairs); + this.setValue(current_rule.set.earwear); + this.onchange = (value) => current_rule.set.earwear = value; + } + } class MakeupList extends List { constructor() { @@ -16701,7 +16746,7 @@ window.rulesAssistantOptions = (function() { class BrandDesignList extends List { constructor() { const items = [ - ["Your slaving emblem", "your personal symbol"], + ["Your slaving emblem", "your personal symbol"], ["Your initials", "your initials"], ["SLUT"], ["WHORE"], @@ -16719,13 +16764,13 @@ window.rulesAssistantOptions = (function() { ["Angel", "an angel silhouette"], ["Devil", "a devil silhouette"] ]; - + if (V.arcologies[0].FSSupremacist !== "unset" || V.arcologies[0].FSSubjugationist !== "unset") items.push(["(FS) Racial Slur", "a racial slur"]); - + if (V.arcologies[0].FSSupremacist !== "unset" && V.arcologies[0].FSSupremacistRace === "white") items.push(["(FS) Swastika", "a swastika"]); - + if (V.arcologies[0].FSSubjugationist !== "unset" && V.arcologies[0].FSSubjugationistRace === "semitic") items.push(["(FS) Star of David", "a Star of David"]); @@ -16820,7 +16865,7 @@ window.rulesAssistantOptions = (function() { this.onchange = (value) => current_rule.set.lipsTat = value; } } - + class ShoulderTattooList extends List { constructor() { const items = [ @@ -17250,7 +17295,7 @@ window.rulesAssistantOptions = (function() { ["Milked", "get milked"], ["Gloryhole", "work a glory hole"] ]; - + if (V.HGSuite > 0) items.push(["Head Girl Suite", "live with your Head Girl"]); if (V.brothel > 0) items.push(["Brothel", "work in the brothel"]); if (V.club > 0) items.push(["Club", "serve in the club"]); @@ -17262,7 +17307,7 @@ window.rulesAssistantOptions = (function() { if (V.spa > 0) items.push(["Spa", "rest in the spa"]); if (V.clinic > 0) items.push(["Clinic", "get treatment in the clinic"]); if (V.cellblock > 0) items.push(["Cellblock", "be confined in the cellblock"]); - + super("Automatically set assignment", items); this.setValue(current_rule.set.setAssignment); this.onchange = (value) => current_rule.set.setAssignment = value; @@ -17281,7 +17326,7 @@ window.rulesAssistantOptions = (function() { this.onchange = (value) => current_rule.set.surgery_bellyImplant = value; } } - + class LabelList extends List { constructor() { const items = [ @@ -17303,7 +17348,7 @@ window.rulesAssistantOptions = (function() { this.onchange = (value) => current_rule.set.removeLabel = value; } } - + class SkinColourList extends List { constructor() { const items = [ @@ -17325,7 +17370,7 @@ window.rulesAssistantOptions = (function() { this.onchange = (x) => current_rule.set.skinColor = x; } } - + return rulesAssistantOptions; })(); @@ -18455,41 +18500,41 @@ window.SimpleAssFuck = function SimpleAssFuck(slave, count) { /*:: PenthouseNaming [script]*/ window.MS = function() { - const V = State.variables; - var name = ""; - if (V.masterSuiteNameCaps === "The Master Suite") + const V = State.variables; + var name = ""; + if (V.masterSuiteNameCaps === "The Master Suite") name = "Master Suite" else name = V.masterSuiteNameCaps; return `<<link "${name}""Master Suite">><</link>> `} window.HS = function() { - const V = State.variables; - var name = ""; - if (V.HGSuiteNameCaps === "The Head Girl Suite") + const V = State.variables; + var name = ""; + if (V.HGSuiteNameCaps === "The Head Girl Suite") name = "Head Girl Suite" else name = V.HGSuiteNameCaps; return `<<link "${name}""Head Girl Suite">><</link>> `} window.SQ = function() { - const V = State.variables; - var name = ""; - if (V.servantsQuartersNameCaps === "The Servants' Quarters") + const V = State.variables; + var name = ""; + if (V.servantsQuartersNameCaps === "The Servants' Quarters") name = "Servants' Quarters" else name = V.servantsQuartersNameCaps; return `<<link "${name}""Servants' Quarters">><</link>> `} window.S = function() { - const V = State.variables; - var name = ""; - if (V.spaNameCaps === "The Spa") + const V = State.variables; + var name = ""; + if (V.spaNameCaps === "The Spa") name = "Spa" else name = V.spaNameCaps; return `<<link "${name}""Spa">><</link>> `} window.CI = function() { - const V = State.variables; - var name = ""; - if (V.clinicNameCaps === "The Clinic") + const V = State.variables; + var name = ""; + if (V.clinicNameCaps === "The Clinic") name = "Clinic" else name = V.clinicNameCaps; @@ -18543,7 +18588,7 @@ window.SlaveSummary = function SlaveSummary(slave) { window.SlaveSummaryUncached = (function(){ "use strict"; let V, r; - + function SlaveSummaryUncached(slave) { V = State.variables; r = ""; @@ -18608,6 +18653,7 @@ window.SlaveSummaryUncached = (function(){ short_age(slave); short_face(slave); short_eyes(slave); + short_ears(slave); if (slave.markings !== "none") r += `Markings`; short_lips(slave); @@ -18626,6 +18672,7 @@ window.SlaveSummaryUncached = (function(){ long_age(slave); long_face(slave); long_eyes(slave); + long_ears(slave); long_lips(slave); long_teeth(slave); long_muscles(slave); @@ -18737,7 +18784,7 @@ window.SlaveSummaryUncached = (function(){ origins(slave); return r; } - + function short_devotion(slave) { if (slave.fetish === "mindbroken") { r += `<span class="red">MB</span>`; @@ -18788,7 +18835,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_devotion(slave) { if (slave.fetish === "mindbroken") { r += `<span class="red">Mindbroken.</span>`; @@ -18839,7 +18886,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_rules(slave) { switch (slave.livingRules) { case "luxurious": @@ -18928,7 +18975,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_rules(slave) { r += `Living standard: ${slave.livingRules}. `; if (canTalk(slave)) { @@ -18939,7 +18986,7 @@ window.SlaveSummaryUncached = (function(){ r += `Typical reward: ${slave.standardReward}. `; r += `Release rules: ${slave.releaseRules}. `; } - + function short_weight(slave) { if (slave.weight < -95) { r += `<strong><span class="red">W---${V.summaryStats? `[${slave.weight}]` : ''}</span></strong>`; @@ -18988,7 +19035,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_weight(slave) { if (slave.weight < -95) { r += `<span class="red">Emaciated${V.summaryStats ? `[${slave.weight}]`: ''}.</span>`; @@ -19038,7 +19085,7 @@ window.SlaveSummaryUncached = (function(){ r += " "; } - + function short_diet(slave) { r += `<span class="teal">`; switch (slave.diet) { @@ -19088,7 +19135,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_diet(slave) { r += `<span class="teal">`; switch (slave.diet) { @@ -19137,7 +19184,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_health(slave) { if (slave.health < -20) { r += `<strong><span class="red">H${V.summaryStats? `[${slave.health}]` : ''}</span></strong>`; @@ -19148,7 +19195,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_health(slave) { if (slave.health < -90) { r += `<span class="red">On the edge of death${V.summaryStats? `[${slave.health}]` : ''}.</span>`; @@ -19167,7 +19214,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_drugs(slave) { r += `<span class="tan">`; switch (slave.drugs) { @@ -19348,7 +19395,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_drugs(slave) { if ((slave.drugs !== "no drugs") && (slave.drugs !== "none")) { r += `<span class="tan">On ${slave.drugs}.</span> `; @@ -19452,7 +19499,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_race(slave) { switch (slave.race) { case "white": @@ -19497,7 +19544,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_race(slave) { switch (slave.race) { case "white": @@ -19542,7 +19589,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_nationality(slave) { r += `<span class="tan">`; switch (slave.nationality) { @@ -20213,7 +20260,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_nationality(slave) { r += `<span class="tan">`; switch (slave.nationality) { @@ -20248,7 +20295,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_skin(slave) { r += `<span class="pink">`; switch (slave.skin) { @@ -20308,7 +20355,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_genitals(slave) { if (slave.dick > 0) { r += `<span class="pink">`; @@ -20366,7 +20413,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_genitals(slave) { if (slave.dick > 0) { r += `<span class="pink">`; @@ -20424,7 +20471,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_age(slave) { r += `<span class="pink">`; if (V.showAgeDetail === 1) { @@ -20450,7 +20497,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_face(slave) { if (slave.face < -95) { r += `<span class="red">Face---${V.summaryStats? `[${slave.face}]` : ''}</span>`; @@ -20469,16 +20516,25 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_eyes(slave) { if (slave.eyes === -2) { r += `<span class="red">Blind</span>`; - } else if (((slave.eyes === -1) && (slave.eyewear !== "corrective glasses") && (slave.eyewear !== "corrective contacts"))) { + } else if (((slave.eyes === -1) && (slave.eyewear !== "corrective glasses") && (slave.eyewear !== "corrective contacts")) || (slave.eyewear === "blurring glasses") || (slave.eyewear === "blurring contacts")) { r += `<span class="yellow">Sight-</span>`; } r += " "; } - + + function short_ears(slave) { + if (slave.hears === -2) { + r += `<span class="red">Deaf</span>`; + } else if ((slave.hears === -1) && (slave.earwear !== "hearing aids")) { + r += `<span class="yellow">Hearing-</span>`; + } + r += " "; + } + function short_lips(slave) { if (slave.lips > 95) { r += `Facepussy`; @@ -20495,7 +20551,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_teeth(slave) { if (slave.teeth === "crooked") { r += `<span class="yellow">Cr Teeth</span>`; @@ -20510,7 +20566,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_muscles(slave) { if (slave.muscles > 95) { r += `Musc++${V.summaryStats? `[${slave.muscles}]`: ''}`; @@ -20537,7 +20593,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_limbs(slave) { if (slave.amp !== 0) { if (slave.amp === -1) { @@ -20563,7 +20619,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_voice(slave) { if (slave.voice === 0) { r += `<span class="pink">Mute</span>`; @@ -20580,7 +20636,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_tits_ass(slave) { r += `<span class="pink">`; if ((slave.boobs >= 12000) && (slave.butt > 9)) { @@ -20612,7 +20668,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_hips(slave) { r += `<span class="red">`; if (slave.hips < -1) { @@ -20650,7 +20706,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_waist(slave) { if (slave.waist > 95) { r += `<span class="red">Wst---${V.summaryStats? `[${slave.waist}]` : ''}</span>`; @@ -20669,7 +20725,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_implants(slave) { r += `<span class="pink">`; if ((slave.boobsImplant === 0) && (slave.buttImplant === 0) && (slave.waist >= -95) && (slave.lipsImplant === 0) && (slave.faceImplant <= 5) && (slave.bellyImplant === -1)) { @@ -20679,7 +20735,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_lactation(slave) { if (slave.lactation === 1) { r += `Lact`; @@ -20688,7 +20744,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_mods(slave) { modScore(slave); if (slave.corsetPiercing === 0 && V.piercingScore < 3 && V.tatScore < 2) { @@ -20705,7 +20761,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_age(slave) { r += `<span class="pink">`; if (V.showAgeDetail === 1) { @@ -20755,7 +20811,7 @@ window.SlaveSummaryUncached = (function(){ r += `(<span class="orange">NCS</span>) `; } } - + function long_face(slave) { if (slave.face < -95) { r += `<span class="red">Very ugly${V.summaryStats? `[${slave.face}]`: ''}</span>`; @@ -20774,16 +20830,25 @@ window.SlaveSummaryUncached = (function(){ } r += ` ${slave.faceShape} face. `; } - + function long_eyes(slave) { if (slave.eyes <= -2) { r += `<span class="red">Blind.</span>`; - } else if (((slave.eyes <= -1) && (slave.eyewear !== "corrective glasses") && (slave.eyewear !== "corrective contacts"))) { + } else if (((slave.eyes === -1) && (slave.eyewear !== "corrective glasses") && (slave.eyewear !== "corrective contacts")) || (slave.eyewear === "blurring glasses") || (slave.eyewear === "blurring contacts")) { r += `<span class="yellow">Nearsighted.</span>`; } r += " "; } - + + function long_ears(slave) { + if (slave.hears <= -2) { + r += `<span class="red">Deaf.</span>`; + } else if ((slave.hears === -1) && (slave.earwear !== "hearing aids")) { + r += `<span class="yellow">Hard of hearing.</span>`; + } + r += " "; + } + function long_lips(slave) { if (slave.lips > 95) { r += `Facepussy${V.summaryStats? `[${slave.lips}]`: ''}.`; @@ -20800,7 +20865,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_teeth(slave) { if (slave.teeth === "crooked") { r += `<span class="yellow">Crooked teeth.</span>`; @@ -20815,7 +20880,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_muscles(slave) { if (slave.muscles > 95) { r += `Hugely muscular${V.summaryStats? `[${slave.muscles}]` : ''}.`; @@ -20842,7 +20907,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_limbs(slave) { if (slave.amp !== 0) { if (slave.amp === -1) { @@ -20868,7 +20933,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_voice(slave) { if (slave.voice === 0) { r += `<span class="pink">Mute.</span>`; @@ -20885,7 +20950,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_tits_ass(slave) { r += `<span class="pink">`; if ((slave.boobs >= 12000) && (slave.butt > 9)) { @@ -20917,7 +20982,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_hips(slave) { r += `<span class="red">`; if (slave.hips < -1) { @@ -20955,7 +21020,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_waist(slave) { if (slave.waist > 95) { r += `<span class="red">Masculine waist${V.summaryStats? `[${slave.waist}]`: ''}.</span>`; @@ -20974,7 +21039,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_implants(slave) { r += `<span class="pink">`; if ((slave.boobsImplant !== 0) || (slave.buttImplant !== 0) || (slave.lipsImplant !== 0) || (slave.bellyImplant !== -1)) { @@ -20986,7 +21051,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_lactation(slave) { if (slave.lactation === 1) { r += `Lactating naturally.`; @@ -20995,7 +21060,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_mods(slave) { modScore(slave); if (slave.corsetPiercing === 0 && V.piercingScore < 3 && V.tatScore < 2) { @@ -21009,7 +21074,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_intelligence(slave) { if (slave.fetish === "mindbroken") { return; @@ -21064,7 +21129,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_sex_skills(slave) { let _SSkills = slave.analSkill + slave.oralSkill; r += `<span class="aquamarine">`; @@ -21120,7 +21185,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_prestige(slave) { if (slave.prestige > 0) { r += `<span class="green">`; @@ -21134,7 +21199,7 @@ window.SlaveSummaryUncached = (function(){ r += `</span> `; } } - + function short_porn_prestige(slave) { if (slave.pornPrestige > 0) { r += `<span class="green">`; @@ -21148,7 +21213,7 @@ window.SlaveSummaryUncached = (function(){ r += `</span> `; } } - + function long_intelligence(slave) { if (slave.fetish === "mindbroken") { return; @@ -21203,7 +21268,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_sex_skills(slave) { let _SSkills = (slave.analSkill + slave.oralSkill); r += `<span class="aquamarine">`; @@ -21245,7 +21310,7 @@ window.SlaveSummaryUncached = (function(){ r += " "; } } - + function long_prestige(slave) { if (slave.prestige > 0) { r += `<span class="green">`; @@ -21259,7 +21324,7 @@ window.SlaveSummaryUncached = (function(){ r += `</span> `; } } - + function long_porn_prestige(slave) { if (slave.pornPrestige > 0) { r += `<span class="green">`; @@ -21273,7 +21338,7 @@ window.SlaveSummaryUncached = (function(){ r += `</span> `; } } - + function short_fetish(slave) { r += `<span class="lightcoral">`; switch (slave.fetish) { @@ -21367,7 +21432,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_attraction(slave) { if (slave.attrXY <= 5) { r += `<span class="red">XY---${V.summaryStats? `[${slave.attrXY}]`: ''}</span>`; @@ -21424,7 +21489,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_smart_fetish(slave) { if (slave.fetishKnown === 1) { if (slave.clitSetting === "off") { @@ -21504,7 +21569,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_smart_attraction(slave) { if (slave.attrKnown === 1) { if (slave.clitSetting === "women") { @@ -21545,7 +21610,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_behavior_flaw(slave) { r += `<span class="red">`; switch (slave.behavioralFlaw) { @@ -21582,7 +21647,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_sex_flaw(slave) { switch (slave.sexualFlaw) { case "hates oral": @@ -21645,7 +21710,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_behavior_quirk(slave) { r += `<span class="green">`; switch (slave.behavioralQuirk) { @@ -21682,7 +21747,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_sex_quirk(slave) { switch (slave.sexualQuirk) { case "gagfuck queen": @@ -21718,7 +21783,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_fetish(slave) { r += `<span class="lightcoral">`; switch (slave.fetish) { @@ -21809,7 +21874,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_attraction(slave) { if (slave.attrXY <= 5) { r += `<span class="red">Disgusted by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span> `; @@ -21864,7 +21929,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_smart_fetish(slave) { if (slave.fetishKnown === 1) { if (slave.clitSetting === "off") { @@ -21941,7 +22006,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_smart_attraction(slave) { if (slave.attrKnown === 1) { if ((slave.attrXX < 100) && (slave.clitSetting === "women")) { @@ -21958,7 +22023,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_behavior_flaw(slave) { r += `<span class="red">`; switch (slave.behavioralFlaw) { @@ -21995,7 +22060,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_sex_flaw(slave) { switch (slave.sexualFlaw) { case "hates oral": @@ -22058,7 +22123,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_behavior_quirk(slave) { r += `<span class="green">`; switch (slave.behavioralQuirk) { @@ -22095,7 +22160,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_sex_quirk(slave) { switch (slave.sexualQuirk) { case "gagfuck queen": @@ -22131,7 +22196,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_extended_family(slave) { let handled = 0; if (slave.mother > 0) { @@ -22303,7 +22368,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_legacy_family(slave) { if (slave.relation !== 0) { let _ssj = V.slaves.findIndex(function(s) { @@ -22369,7 +22434,7 @@ window.SlaveSummaryUncached = (function(){ r += `E Slut`; } } - + function short_rival(slave) { if (slave.rivalry !== 0) { r += ` `; @@ -22389,7 +22454,7 @@ window.SlaveSummaryUncached = (function(){ } } } - + function long_extended_family(slave) { let handled = 0; if (slave.mother > 0) { @@ -22575,7 +22640,7 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="lightgreen">Emotional slut.</span> `; } } - + function long_legacy_family(slave) { if (slave.relation !== 0) { let _ssj = V.slaves.findIndex(function(s) { @@ -22649,7 +22714,7 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="lightgreen">Emotional slut.</span> `; } } - + function long_rival(slave) { if (slave.rivalry !== 0) { r += ` `; @@ -22668,7 +22733,7 @@ window.SlaveSummaryUncached = (function(){ r += " "; } } - + function long_clothes(slave) { switch (slave.clothes) { case "attractive lingerie": @@ -22935,7 +23000,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_belly(slave) { switch (slave.bellyAccessory) { case "shapewear": @@ -22962,7 +23027,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_legs(slave) { if (slave.legAccessory === "short stockings") { r += `Short stockings.`; @@ -22971,7 +23036,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_shoes(slave) { if (slave.shoes === "heels") { r += `Heels.`; @@ -22988,7 +23053,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_vaginal_acc(slave) { switch (slave.vaginalAccessory) { case "chastity belt": @@ -23021,7 +23086,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_dick_acc(slave) { if (slave.dickAccessory === "chastity") { r += `Chastity cage.`; @@ -23032,7 +23097,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_buttplug(slave) { switch (slave.buttplug) { case "plug": @@ -23067,7 +23132,7 @@ window.SlaveSummaryUncached = (function(){ break; } } - + function rules_assistant(slave) { if (slave.useRulesAssistant === 0) { r += `<span class="lightgreen">RA-Exempt</span> `; @@ -23075,7 +23140,7 @@ window.SlaveSummaryUncached = (function(){ r += `Rules: ${V.defaultRules.filter(x => ruleApplied(slave, x)).map(x => x.name).join(", ") }`; } } - + function origins(slave) { r += `<br>`; if (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) { @@ -23083,7 +23148,7 @@ window.SlaveSummaryUncached = (function(){ } r += `<span class="gray">${slave.origin}</span>`; } - + return SlaveSummaryUncached; })(); @@ -23249,7 +23314,7 @@ window.removeActiveSlave = function removeActiveSlave() { V.traitor.origBodyOwnerID = 0; } } - + let _o = V.organs.findIndex(function(s) { return s.ID === V.activeSlave.ID; }); if (_o !== -1) { V.organs.deleteAt(_o); @@ -23258,7 +23323,7 @@ window.removeActiveSlave = function removeActiveSlave() { if (_o !== -1) { V.limbs.deleteAt(_o); } - + const _geneIndex = V.genePool.findIndex(function(s) { return s.ID === V.activeSlave.ID; }); if (_geneIndex !== -1) { let keep = false; @@ -23282,11 +23347,11 @@ window.removeActiveSlave = function removeActiveSlave() { V.genePool.deleteAt(_geneIndex); } } - + removeSlave(INDEX); LENGTH--; V.activeSlave = 0; - + if (missing) { V.missingParentID--; } @@ -23300,7 +23365,7 @@ window.removeActiveSlave = function removeActiveSlave() { window.getHighestPorn = function(slave) { var max = {value: 0, type: "none"}; - + if(slave.pornTypeGeneral > max.value){ max = {value: slave.pornTypeGeneral, type: "generic"}; } @@ -23406,7 +23471,7 @@ window.getHighestPorn = function(slave) { if(slave.pornTypePregnancy > max.value){ max = {value: slave.pornTypePregnancy, type: "pregnancy fetish"}; } - + return max; } @@ -23566,14 +23631,25 @@ window.extractHairColor = function(hColor) { ["red", "#BB2027"], ["silver", "#cdc9c6"], ["strawberry-blonde", "#e5a88c"], + /* eye shapes, future plans to convert them from eyecolor to new value system */ + ["almond-shaped", "#555555"], + ["bright", "#555555"], + ["catlike", "#555555"], + ["devilish", "#ffd42a"], + ["heart-shaped", "#555555"], + ["hypnotic", "#ff5599"], + ["serpent-like", "#555555"], + ["teary", "#555555"], + ["vacant", "#555555"], + ["wide-eyed", "#555555"], /* these are not actually FreeCities canon, but like to appear in custom descriptions */ ["brunette", "#8D4F21"], ["dark", "#463325"] ]; - + /* these are HTML color names supported by most browsers */ - var HTMLstandardColors = ["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred ","indigo ","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]; - + var HTMLstandardColors = ["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]; + var FCnames = new Map(FCname2HTMLarray); hColor = hColor.toLowerCase(); /* normalization: lowercase color name */ var colorCode = FCnames.get(hColor); /* look up in FreeCities color names */ @@ -23606,15 +23682,1368 @@ window.extractHairColor = function(hColor) { window.clothing2artSuffix = function(v) { if (v == "restrictive latex") { v = "latex"; } /* universal "special case": latex art is actually "restrictive latex" TODO: align name in vector source */ return v.replace(/^a[n]? /,"") /* remove "a" and "an" from the beginning*/ - .replace(/ ?(outfit|clothing) ?/,"") /* remove "outfit" and "clothing" (redundant) */ - .replace(/ and .+/,"") /* remove concatenated descriptions */ - .replace(/\w\S*/g, + .replace(/ ?(outfit|clothing) ?/,"") /* remove "outfit" and "clothing" (redundant) */ + .replace(/ and .+/,"") /* remove concatenated descriptions */ + .replace(/\w\S*/g, function(txt){ return txt.charAt(0).toUpperCase() + - txt.substr(1).toLowerCase(); + txt.substr(1).toLowerCase(); } - ) /* CamelCase by whitespace */ - .replace(/\W/g,""); /* remove remaining whitespace */ + ) /* CamelCase by whitespace */ + .replace(/\W/g,""); /* remove remaining whitespace */ +}; + +window.skinColorCatcher = function(artSlave) { +var colorSlave = { + skinColor: "#e8b693;", + areolaColor: "#d76b93;", + labiaColor: "#d76b93;", + lipsColor: "#ff69b4;" + }; +if (artSlave.skin == "camouflage patterned") { + colorSlave.skinColor = "#78875a"; + colorSlave.areolaColor = "#939F7A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#708050"; + } else if (artSlave.skin == "dyed red") { + colorSlave.skinColor = "#bc4949"; + colorSlave.areolaColor = "#C96D6D"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#b04040"; + } else if (artSlave.skin == "dyed green") { + colorSlave.skinColor = "#A6C373"; + colorSlave.areolaColor = "#B7CF8F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#A0C070"; + } else if (artSlave.skin == "dyed blue") { + colorSlave.skinColor = "#5b8eb7"; + colorSlave.areolaColor = "#7BA4C5"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5080b0"; + } else if (artSlave.skin == "dyed pink") { + colorSlave.skinColor = "#fe62b0"; + colorSlave.areolaColor = "#fc45a1"; + colorSlave.labiaColor = "#fba2c0"; + colorSlave.lipsColor = "#ff4291"; + } else if (artSlave.skin == "dyed gray") { + colorSlave.skinColor = "#bdbdbd"; + colorSlave.areolaColor = "#666666"; + colorSlave.labiaColor = "#8C8C8C"; + colorSlave.lipsColor = "#171717"; + } else if (artSlave.skin == "tiger striped") { + colorSlave.skinColor = "#e2d75d"; + colorSlave.areolaColor = "#E7DF7D"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#e0d050"; +} else if (artSlave.race == "white" || artSlave.race == "surgically altered to look white") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#F4EAF0"; + colorSlave.areolaColor = "#FCCCDC"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#F4EAF0"; + colorSlave.areolaColor = "#FCCCDC"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#F5E1DF"; + colorSlave.areolaColor = "#EFBFCA"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#F5E1DF"; + colorSlave.areolaColor = "#EFBFCA"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#F5D5C9"; + colorSlave.areolaColor = "#E2B4B9"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#F5D5C9"; + colorSlave.areolaColor = "#E2B4B9"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#F4C9AA"; + colorSlave.areolaColor = "#F19795"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#F4C9AA"; + colorSlave.areolaColor = "#F19795"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#F4C9AA"; + colorSlave.areolaColor = "#F19795"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#E1B585"; + colorSlave.areolaColor = "#C39696"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#E1B585"; + colorSlave.areolaColor = "#C39696"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#D58E5F"; + colorSlave.areolaColor = "#B17777"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#D58E5F"; + colorSlave.areolaColor = "#B17777"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#D58E5F"; + colorSlave.areolaColor = "#B17777"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#A2805C"; + colorSlave.areolaColor = "#8E6454"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#825633"; + colorSlave.areolaColor = "#734B2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#784F2F"; + colorSlave.areolaColor = "#583E2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#784F2F"; + colorSlave.areolaColor = "#583E2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4A3A33"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4A3A33"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#D58E5F"; + colorSlave.areolaColor = "#B17777"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "black" || artSlave.race == "surgically altered to look black") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FEE4CA"; + colorSlave.areolaColor = "#E0B3A2"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FEE4CA"; + colorSlave.areolaColor = "#E0B3A2"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E3C5A7"; + colorSlave.areolaColor = "#EFBDC9"; + colorSlave.labiaColor = "#CC9B88"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E3C5A7"; + colorSlave.areolaColor = "#CC9B88"; + colorSlave.labiaColor = "#CC9B88"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#DEB892"; + colorSlave.areolaColor = "#AB806F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#DEB892"; + colorSlave.areolaColor = "#AB806F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#D59D73"; + colorSlave.areolaColor = "#8D6859"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#D59D73"; + colorSlave.areolaColor = "#8D6859"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#D59D73"; + colorSlave.areolaColor = "#8D6859"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#AC7C4A"; + colorSlave.areolaColor = "#7C594B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#AC7C4A"; + colorSlave.areolaColor = "#7C594B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#985C34"; + colorSlave.areolaColor = "#764B3A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#985C34"; + colorSlave.areolaColor = "#764B3A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#985C34"; + colorSlave.areolaColor = "#764B3A"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#745C42"; + colorSlave.areolaColor = "#63463B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4B3121"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#5A3C24"; + colorSlave.areolaColor = "#493326"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#5A3C24"; + colorSlave.areolaColor = "#493326"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#46362C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#583D3D"; + colorSlave.areolaColor = "#3B3028"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#4A3A33"; + colorSlave.areolaColor = "#332B27"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#312926"; + colorSlave.areolaColor = "#181616"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#985C34"; + colorSlave.areolaColor = "#764B3A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "latina" || artSlave.race == "surgically altered to look latina") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FEDECE"; + colorSlave.areolaColor = "#E3BBAB"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FEDECE"; + colorSlave.areolaColor = "#E3BBAB"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E6C2B0"; + colorSlave.areolaColor = "#D1A695"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E6C2B0"; + colorSlave.areolaColor = "#D1A695"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#E1B59F"; + colorSlave.areolaColor = "#B48D7E"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#E1B59F"; + colorSlave.areolaColor = "#B48D7E"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#B27554"; + colorSlave.areolaColor = "#92684C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#B27554"; + colorSlave.areolaColor = "#92684C"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#8B644F"; + colorSlave.areolaColor = "#7B5749"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#775031"; + colorSlave.areolaColor = "#69452F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#774A31"; + colorSlave.areolaColor = "#614330"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#774A31"; + colorSlave.areolaColor = "#614330"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#74523E"; + colorSlave.areolaColor = "#573F30"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#6B4B4B"; + colorSlave.areolaColor = "#473426"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#634F45"; + colorSlave.areolaColor = "#4D3A2E"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#634F45"; + colorSlave.areolaColor = "#4D3A2E"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "asian" || artSlave.race == "surgically altered to look asian") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FFF8EE"; + colorSlave.areolaColor = "#F7DBD0"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FFF8EE"; + colorSlave.areolaColor = "#F7DBD0"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#F5E7DC"; + colorSlave.areolaColor = "#EABFB3"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#F5E7DC"; + colorSlave.areolaColor = "#EABFB3"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#F5D4B5"; + colorSlave.areolaColor = "#CB988B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#F5D4B5"; + colorSlave.areolaColor = "#CB988B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#CFB48D"; + colorSlave.areolaColor = "#AC8074"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#CFB48D"; + colorSlave.areolaColor = "#AC8074"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#9A774A"; + colorSlave.areolaColor = "#855E4E"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#855834"; + colorSlave.areolaColor = "#734B2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#83522B"; + colorSlave.areolaColor = "#68442A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#83522B"; + colorSlave.areolaColor = "#68442A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#724826"; + colorSlave.areolaColor = "#5C3D26"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#724826"; + colorSlave.areolaColor = "#5C3D26"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "middle eastern" || artSlave.race == "surgically altered to look middle eastern") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#E8CFCF"; + colorSlave.areolaColor = "#DCADBC"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#E8CFCF"; + colorSlave.areolaColor = "#DCADBC"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#FBCCC6"; + colorSlave.areolaColor = "#E79E8B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#FBCCC6"; + colorSlave.areolaColor = "#E79E8B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#EAAB92"; + colorSlave.areolaColor = "#D27B64"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#EAAB92"; + colorSlave.areolaColor = "#D27B64"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#CC8D53"; + colorSlave.areolaColor = "#A7624F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#CC8D53"; + colorSlave.areolaColor = "#A7624F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#84684A"; + colorSlave.areolaColor = "#735143"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#684528"; + colorSlave.areolaColor = "#563826"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#6E4730"; + colorSlave.areolaColor = "#604534"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#6E4730"; + colorSlave.areolaColor = "#604534"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#604534"; + colorSlave.areolaColor = "#514039"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#604534 "; + colorSlave.areolaColor = "#514039"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "amerindian" || artSlave.race == "surgically altered to look amerindian") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FDE4BF"; + colorSlave.areolaColor = "#F0BEAA"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FDE4BF"; + colorSlave.areolaColor = "#F0BEAA"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#F5E7DC"; + colorSlave.areolaColor = "#CDA499"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#F5E7DC"; + colorSlave.areolaColor = "#CDA499"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#F5D4B5"; + colorSlave.areolaColor = "#CB988B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#F5D4B5"; + colorSlave.areolaColor = "#CB988B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#CFB48D"; + colorSlave.areolaColor = "#AC8074"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#CFB48D"; + colorSlave.areolaColor = "#AC8074"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#9A774A"; + colorSlave.areolaColor = "#855E4E"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#855834"; + colorSlave.areolaColor = "#734B2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#83522B"; + colorSlave.areolaColor = "#68442A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#83522B"; + colorSlave.areolaColor = "#68442A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#724826"; + colorSlave.areolaColor = "#5C3D26"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#724826"; + colorSlave.areolaColor = "#5C3D26"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "southern european" || artSlave.race == "surgically altered to look southern european") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#EBDBE4"; + colorSlave.areolaColor = "#FFE4E0"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#EBDBE4"; + colorSlave.areolaColor = "#FFE4E0"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#F0D0CC"; + colorSlave.areolaColor = "#EAACBA"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#F0D0CC"; + colorSlave.areolaColor = "#EAACBA"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#F1C6B5"; + colorSlave.areolaColor = "#DCA2A9"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#F1C6B5"; + colorSlave.areolaColor = "#DCA2A9"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#F2BC94"; + colorSlave.areolaColor = "#EE8280"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#F2BC94"; + colorSlave.areolaColor = "#EE8280"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#F2BC94"; + colorSlave.areolaColor = "#EE8280"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#DCA972"; + colorSlave.areolaColor = "#BF7577"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#DCA972"; + colorSlave.areolaColor = "#BF7577"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#D0814C"; + colorSlave.areolaColor = "#A96767"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#D0814C"; + colorSlave.areolaColor = "#A96767"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#D0814C"; + colorSlave.areolaColor = "#A96767"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#937453"; + colorSlave.areolaColor = "#7F5A4B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#7F5431"; + colorSlave.areolaColor = "#734B2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#784F2F"; + colorSlave.areolaColor = "#583E2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#784F2F"; + colorSlave.areolaColor = "#583E2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4A3A33"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4A3A33"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#D0814C"; + colorSlave.areolaColor = "#A96767"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "semitic" || artSlave.race == "surgically altered to look semitic") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#E8CFCF"; + colorSlave.areolaColor = "#DCADBC"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#E8CFCF"; + colorSlave.areolaColor = "#DCADBC"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#FBCCC6"; + colorSlave.areolaColor = "#E79E8B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#FBCCC6"; + colorSlave.areolaColor = "#E79E8B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#EAAB92"; + colorSlave.areolaColor = "#D27B64"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#EAAB92"; + colorSlave.areolaColor = "#D27B64"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#CC8D53"; + colorSlave.areolaColor = "#A7624F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#CC8D53"; + colorSlave.areolaColor = "#A7624F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#84684A"; + colorSlave.areolaColor = "#735143"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#684528"; + colorSlave.areolaColor = "#563826"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#6E4730"; + colorSlave.areolaColor = "#604534"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#6E4730"; + colorSlave.areolaColor = "#604534"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#604534"; + colorSlave.areolaColor = "#514039"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#604534 "; + colorSlave.areolaColor = "#514039"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "malay" || artSlave.race == "surgically altered to look malay") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FBD1B2"; + colorSlave.areolaColor = "#F39E7D"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FBD1B2"; + colorSlave.areolaColor = "#F39E7D"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E8B892"; + colorSlave.areolaColor = "#E2856C"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E8B892"; + colorSlave.areolaColor = "#E2856C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#EA9870"; + colorSlave.areolaColor = "#BE6C56"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#EA9870"; + colorSlave.areolaColor = "#BE6C56"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#BA855E"; + colorSlave.areolaColor = "#976051"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#BA855E"; + colorSlave.areolaColor = "#976051"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#7C563C"; + colorSlave.areolaColor = "#70493A"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#804A28"; + colorSlave.areolaColor = "#5F3F27"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#6F4523"; + colorSlave.areolaColor = "#623C20"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#6F4523"; + colorSlave.areolaColor = "#623C20"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#6F3E27"; + colorSlave.areolaColor = "#553823"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#6F3E27"; + colorSlave.areolaColor = "#553823"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "indo-aryan" || artSlave.race == "surgically altered to look indo-aryan") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#F8D4BE"; + colorSlave.areolaColor = "#F8B6A4"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#F8D4BE"; + colorSlave.areolaColor = "#F8B6A4"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#EFCCAF"; + colorSlave.areolaColor = "#EA9B86"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#EFCCAF"; + colorSlave.areolaColor = "#EA9B86"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#FCC49A"; + colorSlave.areolaColor = "#D29577"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#FCC49A"; + colorSlave.areolaColor = "#D29577"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#E8B68E"; + colorSlave.areolaColor = "#D08661"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#E8B68E"; + colorSlave.areolaColor = "#D08661"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#E8B68E"; + colorSlave.areolaColor = "#D08661"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#C36E45"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#C36E45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#A75A34"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#A75A34"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#A75A34"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#83684B"; + colorSlave.areolaColor = "#715043"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#8A593C"; + colorSlave.areolaColor = "#714931"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#845834"; + colorSlave.areolaColor = "#614635"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#845834"; + colorSlave.areolaColor = "#614635"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#7C5842"; + colorSlave.areolaColor = "#5F4538"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#7C5842"; + colorSlave.areolaColor = "#5F4538"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#6B5449"; + colorSlave.areolaColor = "#473C37"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#6B5449"; + colorSlave.areolaColor = "#473C37"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#A75A34"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "pacific islander" || artSlave.race == "surgically altered to look pacific islander") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FBD1B2"; + colorSlave.areolaColor = "#F39E7D"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FBD1B2"; + colorSlave.areolaColor = "#F39E7D"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E8B892"; + colorSlave.areolaColor = "#E2856C"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E8B892"; + colorSlave.areolaColor = "#E2856C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#EA9870"; + colorSlave.areolaColor = "#BE6C56"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#EA9870"; + colorSlave.areolaColor = "#BE6C56"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#BA855E"; + colorSlave.areolaColor = "#976051"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#BA855E"; + colorSlave.areolaColor = "#976051"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#7C563C"; + colorSlave.areolaColor = "#70493A"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#804A28"; + colorSlave.areolaColor = "#5F3F27"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#6F4523"; + colorSlave.areolaColor = "#623C20"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#6F4523"; + colorSlave.areolaColor = "#623C20"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#6F3E27"; + colorSlave.areolaColor = "#553823"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#6F3E27"; + colorSlave.areolaColor = "#553823"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } + +} else if (artSlave.race == "mixed race" || artSlave.race == "surgically altered to look mixed race") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FEE5CC"; + colorSlave.areolaColor = "#E3BBAB"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FEE5CC"; + colorSlave.areolaColor = "#E3BBAB"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E6C2B0"; + colorSlave.areolaColor = "#D1A695"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E6C2B0"; + colorSlave.areolaColor = "#D1A695"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#E1B59F"; + colorSlave.areolaColor = "#B48D7E"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#E1B59F"; + colorSlave.areolaColor = "#B48D7E"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#B27554"; + colorSlave.areolaColor = "#92684C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#B27554"; + colorSlave.areolaColor = "#92684C"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#8B644F"; + colorSlave.areolaColor = "#7B5749"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#775031"; + colorSlave.areolaColor = "#69452F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#774A31"; + colorSlave.areolaColor = "#5E4434"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#774A31"; + colorSlave.areolaColor = "#5E4434"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#74523E"; + colorSlave.areolaColor = "#574135"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#6B4B4B"; + colorSlave.areolaColor = "#413228"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#634F45"; + colorSlave.areolaColor = "#4E3C32"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#634F45"; + colorSlave.areolaColor = "#4E3C32"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } +} + return colorSlave; }; /*::VignettesJS[script]*/ @@ -23631,7 +25060,6 @@ window.GetVignette = function GetVignette(slave) { const himself = pronouns.objectReflexive; const boy = pronouns.noun; - if (slave.assignment === "whore" || slave.assignment === "work in the brothel" || slave.assignment === "be the Madam") { let seed = jsRandom(1, 10); switch (seed) { @@ -26512,19 +27940,19 @@ window.nationalityToAccent = function nationalityToAccent(slave) { slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent; break; case "Beninese": - slave.accent = (V.language === "French") ? 1 : naturalAccent; + slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent; break; case "Bermudian": - slave.accent = (V.language === "English") ? 1 : naturalAccent; + slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent; break; case "Bhutanese": slave.accent = (V.language === "Dzongkha") ? jsEither([0, 0, 0, 1]) : naturalAccent; break; case "Bissau-Guinean": - slave.accent = (V.language === "Portuguese") ? 1 : naturalAccent; + slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent; break; case "Bolivian": - slave.accent = (V.language === "Spanish") ? 1 : naturalAccent; + slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent; break; case "Bosnian": slave.accent = naturalAccent; @@ -27617,7 +29045,7 @@ window.HSM = function() {const V = State.variables; else if (V.PC.hacking === 0)return 1; else if (V.PC.hacking <= 10)return .97; else if (V.PC.hacking <= 25)return .95; - else if (V.PC.hacking <= 50)return .90; + else if (V.PC.hacking <= 50)return .90; else if (V.PC.hacking <= 75)return .85; else if (V.PC.hacking < 100)return .80; else if (V.PC.hacking >= 100)return .75;} diff --git a/src/art/artJS.tw b/src/art/artJS.tw index ded46ab4da2..532df60c399 100644 --- a/src/art/artJS.tw +++ b/src/art/artJS.tw @@ -169,10 +169,10 @@ window.extractHairColor = function(hColor) { ["brunette", "#8D4F21"], ["dark", "#463325"] ]; - + /* these are HTML color names supported by most browsers */ var HTMLstandardColors = ["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]; - + var FCnames = new Map(FCname2HTMLarray); hColor = hColor.toLowerCase(); /* normalization: lowercase color name */ var colorCode = FCnames.get(hColor); /* look up in FreeCities color names */ @@ -203,1368 +203,1368 @@ window.extractHairColor = function(hColor) { }; window.clothing2artSuffix = function(v) { - if (v == "restrictive latex") { v = "latex"; } /* universal "special case": latex art is actually "restrictive latex" TODO: align name in vector source */ - return v.replace(/^a[n]? /,"") /* remove "a" and "an" from the beginning*/ - .replace(/ ?(outfit|clothing) ?/,"") /* remove "outfit" and "clothing" (redundant) */ - .replace(/ and .+/,"") /* remove concatenated descriptions */ - .replace(/\w\S*/g, + if (v == "restrictive latex") { v = "latex"; } /* universal "special case": latex art is actually "restrictive latex" TODO: align name in vector source */ + return v.replace(/^a[n]? /,"") /* remove "a" and "an" from the beginning*/ + .replace(/ ?(outfit|clothing) ?/,"") /* remove "outfit" and "clothing" (redundant) */ + .replace(/ and .+/,"") /* remove concatenated descriptions */ + .replace(/\w\S*/g, function(txt){ return txt.charAt(0).toUpperCase() + - txt.substr(1).toLowerCase(); + txt.substr(1).toLowerCase(); } - ) /* CamelCase by whitespace */ - .replace(/\W/g,""); /* remove remaining whitespace */ + ) /* CamelCase by whitespace */ + .replace(/\W/g,""); /* remove remaining whitespace */ }; window.skinColorCatcher = function(artSlave) { var colorSlave = { - skinColor: "#e8b693;", - areolaColor: "#d76b93;", - labiaColor: "#d76b93;", - lipsColor: "#ff69b4;" - }; + skinColor: "#e8b693;", + areolaColor: "#d76b93;", + labiaColor: "#d76b93;", + lipsColor: "#ff69b4;" + }; if (artSlave.skin == "camouflage patterned") { - colorSlave.skinColor = "#78875a"; - colorSlave.areolaColor = "#939F7A"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#708050"; + colorSlave.skinColor = "#78875a"; + colorSlave.areolaColor = "#939F7A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#708050"; } else if (artSlave.skin == "dyed red") { - colorSlave.skinColor = "#bc4949"; - colorSlave.areolaColor = "#C96D6D"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#b04040"; + colorSlave.skinColor = "#bc4949"; + colorSlave.areolaColor = "#C96D6D"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#b04040"; } else if (artSlave.skin == "dyed green") { - colorSlave.skinColor = "#A6C373"; - colorSlave.areolaColor = "#B7CF8F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#A0C070"; + colorSlave.skinColor = "#A6C373"; + colorSlave.areolaColor = "#B7CF8F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#A0C070"; } else if (artSlave.skin == "dyed blue") { - colorSlave.skinColor = "#5b8eb7"; - colorSlave.areolaColor = "#7BA4C5"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5080b0"; + colorSlave.skinColor = "#5b8eb7"; + colorSlave.areolaColor = "#7BA4C5"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5080b0"; } else if (artSlave.skin == "dyed pink") { - colorSlave.skinColor = "#fe62b0"; - colorSlave.areolaColor = "#fc45a1"; - colorSlave.labiaColor = "#fba2c0"; - colorSlave.lipsColor = "#ff4291"; + colorSlave.skinColor = "#fe62b0"; + colorSlave.areolaColor = "#fc45a1"; + colorSlave.labiaColor = "#fba2c0"; + colorSlave.lipsColor = "#ff4291"; } else if (artSlave.skin == "dyed gray") { - colorSlave.skinColor = "#bdbdbd"; - colorSlave.areolaColor = "#666666"; - colorSlave.labiaColor = "#8C8C8C"; - colorSlave.lipsColor = "#171717"; + colorSlave.skinColor = "#bdbdbd"; + colorSlave.areolaColor = "#666666"; + colorSlave.labiaColor = "#8C8C8C"; + colorSlave.lipsColor = "#171717"; } else if (artSlave.skin == "tiger striped") { - colorSlave.skinColor = "#e2d75d"; - colorSlave.areolaColor = "#E7DF7D"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#e0d050"; -} else if (artSlave.race == "white" || artSlave.race == "surgically altered to look white") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#F4EAF0"; - colorSlave.areolaColor = "#FCCCDC"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#F4EAF0"; - colorSlave.areolaColor = "#FCCCDC"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#F5E1DF"; - colorSlave.areolaColor = "#EFBFCA"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#F5E1DF"; - colorSlave.areolaColor = "#EFBFCA"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#F5D5C9"; - colorSlave.areolaColor = "#E2B4B9"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#F5D5C9"; - colorSlave.areolaColor = "#E2B4B9"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#F4C9AA"; - colorSlave.areolaColor = "#F19795"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#F4C9AA"; - colorSlave.areolaColor = "#F19795"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#F4C9AA"; - colorSlave.areolaColor = "#F19795"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#E1B585"; - colorSlave.areolaColor = "#C39696"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#E1B585"; - colorSlave.areolaColor = "#C39696"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#D58E5F"; - colorSlave.areolaColor = "#B17777"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#D58E5F"; - colorSlave.areolaColor = "#B17777"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#D58E5F"; - colorSlave.areolaColor = "#B17777"; + colorSlave.skinColor = "#e2d75d"; + colorSlave.areolaColor = "#E7DF7D"; colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#A2805C"; - colorSlave.areolaColor = "#8E6454"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#825633"; - colorSlave.areolaColor = "#734B2F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#784F2F"; - colorSlave.areolaColor = "#583E2F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#784F2F"; - colorSlave.areolaColor = "#583E2F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#65422C"; - colorSlave.areolaColor = "#4A3A33"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#65422C"; - colorSlave.areolaColor = "#4A3A33"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#D58E5F"; - colorSlave.areolaColor = "#B17777"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + colorSlave.lipsColor = "#e0d050"; +} else if (artSlave.race == "white" || artSlave.race == "surgically altered to look white") { + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#F4EAF0"; + colorSlave.areolaColor = "#FCCCDC"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#F4EAF0"; + colorSlave.areolaColor = "#FCCCDC"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#F5E1DF"; + colorSlave.areolaColor = "#EFBFCA"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#F5E1DF"; + colorSlave.areolaColor = "#EFBFCA"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#F5D5C9"; + colorSlave.areolaColor = "#E2B4B9"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#F5D5C9"; + colorSlave.areolaColor = "#E2B4B9"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#F4C9AA"; + colorSlave.areolaColor = "#F19795"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#F4C9AA"; + colorSlave.areolaColor = "#F19795"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#F4C9AA"; + colorSlave.areolaColor = "#F19795"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#E1B585"; + colorSlave.areolaColor = "#C39696"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#E1B585"; + colorSlave.areolaColor = "#C39696"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#D58E5F"; + colorSlave.areolaColor = "#B17777"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#D58E5F"; + colorSlave.areolaColor = "#B17777"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#D58E5F"; + colorSlave.areolaColor = "#B17777"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#A2805C"; + colorSlave.areolaColor = "#8E6454"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#825633"; + colorSlave.areolaColor = "#734B2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#784F2F"; + colorSlave.areolaColor = "#583E2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#784F2F"; + colorSlave.areolaColor = "#583E2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4A3A33"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4A3A33"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#D58E5F"; + colorSlave.areolaColor = "#B17777"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "black" || artSlave.race == "surgically altered to look black") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#FEE4CA"; - colorSlave.areolaColor = "#E0B3A2"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#FEE4CA"; - colorSlave.areolaColor = "#E0B3A2"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#E3C5A7"; - colorSlave.areolaColor = "#EFBDC9"; - colorSlave.labiaColor = "#CC9B88"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#E3C5A7"; - colorSlave.areolaColor = "#CC9B88"; - colorSlave.labiaColor = "#CC9B88"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#DEB892"; - colorSlave.areolaColor = "#AB806F"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#DEB892"; - colorSlave.areolaColor = "#AB806F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#D59D73"; - colorSlave.areolaColor = "#8D6859"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#D59D73"; - colorSlave.areolaColor = "#8D6859"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#D59D73"; - colorSlave.areolaColor = "#8D6859"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#AC7C4A"; - colorSlave.areolaColor = "#7C594B"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#AC7C4A"; - colorSlave.areolaColor = "#7C594B"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#985C34"; - colorSlave.areolaColor = "#764B3A"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#985C34"; - colorSlave.areolaColor = "#764B3A"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#985C34"; - colorSlave.areolaColor = "#764B3A"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#745C42"; - colorSlave.areolaColor = "#63463B"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#65422C"; - colorSlave.areolaColor = "#4B3121"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#5A3C24"; - colorSlave.areolaColor = "#493326"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#5A3C24"; - colorSlave.areolaColor = "#493326"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#46362C"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#583D3D"; - colorSlave.areolaColor = "#3B3028"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#4A3A33"; - colorSlave.areolaColor = "#332B27"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#312926"; - colorSlave.areolaColor = "#181616"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#985C34"; - colorSlave.areolaColor = "#764B3A"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FEE4CA"; + colorSlave.areolaColor = "#E0B3A2"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FEE4CA"; + colorSlave.areolaColor = "#E0B3A2"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E3C5A7"; + colorSlave.areolaColor = "#EFBDC9"; + colorSlave.labiaColor = "#CC9B88"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E3C5A7"; + colorSlave.areolaColor = "#CC9B88"; + colorSlave.labiaColor = "#CC9B88"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#DEB892"; + colorSlave.areolaColor = "#AB806F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#DEB892"; + colorSlave.areolaColor = "#AB806F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#D59D73"; + colorSlave.areolaColor = "#8D6859"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#D59D73"; + colorSlave.areolaColor = "#8D6859"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#D59D73"; + colorSlave.areolaColor = "#8D6859"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#AC7C4A"; + colorSlave.areolaColor = "#7C594B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#AC7C4A"; + colorSlave.areolaColor = "#7C594B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#985C34"; + colorSlave.areolaColor = "#764B3A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#985C34"; + colorSlave.areolaColor = "#764B3A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#985C34"; + colorSlave.areolaColor = "#764B3A"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#745C42"; + colorSlave.areolaColor = "#63463B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4B3121"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#5A3C24"; + colorSlave.areolaColor = "#493326"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#5A3C24"; + colorSlave.areolaColor = "#493326"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#46362C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#583D3D"; + colorSlave.areolaColor = "#3B3028"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#4A3A33"; + colorSlave.areolaColor = "#332B27"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#312926"; + colorSlave.areolaColor = "#181616"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#985C34"; + colorSlave.areolaColor = "#764B3A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "latina" || artSlave.race == "surgically altered to look latina") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#FEDECE"; - colorSlave.areolaColor = "#E3BBAB"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#FEDECE"; - colorSlave.areolaColor = "#E3BBAB"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#E6C2B0"; - colorSlave.areolaColor = "#D1A695"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#E6C2B0"; - colorSlave.areolaColor = "#D1A695"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#E1B59F"; - colorSlave.areolaColor = "#B48D7E"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#E1B59F"; - colorSlave.areolaColor = "#B48D7E"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#DAA782"; - colorSlave.areolaColor = "#9E7666"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#DAA782"; - colorSlave.areolaColor = "#9E7666"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#DAA782"; - colorSlave.areolaColor = "#9E7666"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#B27554"; - colorSlave.areolaColor = "#92684C"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#B27554"; - colorSlave.areolaColor = "#92684C"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#B6784E"; - colorSlave.areolaColor = "#8F5A45"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#B6784E"; - colorSlave.areolaColor = "#8F5A45"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#B6784E"; - colorSlave.areolaColor = "#8F5A45"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#8B644F"; - colorSlave.areolaColor = "#7B5749"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#775031"; - colorSlave.areolaColor = "#69452F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#774A31"; - colorSlave.areolaColor = "#614330"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#774A31"; - colorSlave.areolaColor = "#614330"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#74523E"; - colorSlave.areolaColor = "#573F30"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#6B4B4B"; - colorSlave.areolaColor = "#473426"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#634F45"; - colorSlave.areolaColor = "#4D3A2E"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#634F45"; - colorSlave.areolaColor = "#4D3A2E"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#B6784E"; - colorSlave.areolaColor = "#8F5A45"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FEDECE"; + colorSlave.areolaColor = "#E3BBAB"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FEDECE"; + colorSlave.areolaColor = "#E3BBAB"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E6C2B0"; + colorSlave.areolaColor = "#D1A695"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E6C2B0"; + colorSlave.areolaColor = "#D1A695"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#E1B59F"; + colorSlave.areolaColor = "#B48D7E"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#E1B59F"; + colorSlave.areolaColor = "#B48D7E"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#B27554"; + colorSlave.areolaColor = "#92684C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#B27554"; + colorSlave.areolaColor = "#92684C"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#8B644F"; + colorSlave.areolaColor = "#7B5749"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#775031"; + colorSlave.areolaColor = "#69452F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#774A31"; + colorSlave.areolaColor = "#614330"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#774A31"; + colorSlave.areolaColor = "#614330"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#74523E"; + colorSlave.areolaColor = "#573F30"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#6B4B4B"; + colorSlave.areolaColor = "#473426"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#634F45"; + colorSlave.areolaColor = "#4D3A2E"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#634F45"; + colorSlave.areolaColor = "#4D3A2E"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "asian" || artSlave.race == "surgically altered to look asian") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#FFF8EE"; - colorSlave.areolaColor = "#F7DBD0"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#FFF8EE"; - colorSlave.areolaColor = "#F7DBD0"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#F5E7DC"; - colorSlave.areolaColor = "#EABFB3"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#F5E7DC"; - colorSlave.areolaColor = "#EABFB3"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#F5D4B5"; - colorSlave.areolaColor = "#CB988B"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#F5D4B5"; - colorSlave.areolaColor = "#CB988B"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#F4D1A3"; - colorSlave.areolaColor = "#BA8E83"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#F4D1A3"; - colorSlave.areolaColor = "#BA8E83"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#F4D1A3"; - colorSlave.areolaColor = "#BA8E83"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#CFB48D"; - colorSlave.areolaColor = "#AC8074"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#CFB48D"; - colorSlave.areolaColor = "#AC8074"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#C38C4D"; - colorSlave.areolaColor = "#A67A6F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#C38C4D"; - colorSlave.areolaColor = "#A67A6F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#C38C4D"; - colorSlave.areolaColor = "#A67A6F"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#9A774A"; - colorSlave.areolaColor = "#855E4E"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#855834"; - colorSlave.areolaColor = "#734B2F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#83522B"; - colorSlave.areolaColor = "#68442A"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#83522B"; - colorSlave.areolaColor = "#68442A"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#724826"; - colorSlave.areolaColor = "#5C3D26"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#724826"; - colorSlave.areolaColor = "#5C3D26"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#C38C4D"; - colorSlave.areolaColor = "#A67A6F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FFF8EE"; + colorSlave.areolaColor = "#F7DBD0"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FFF8EE"; + colorSlave.areolaColor = "#F7DBD0"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#F5E7DC"; + colorSlave.areolaColor = "#EABFB3"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#F5E7DC"; + colorSlave.areolaColor = "#EABFB3"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#F5D4B5"; + colorSlave.areolaColor = "#CB988B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#F5D4B5"; + colorSlave.areolaColor = "#CB988B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#CFB48D"; + colorSlave.areolaColor = "#AC8074"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#CFB48D"; + colorSlave.areolaColor = "#AC8074"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#9A774A"; + colorSlave.areolaColor = "#855E4E"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#855834"; + colorSlave.areolaColor = "#734B2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#83522B"; + colorSlave.areolaColor = "#68442A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#83522B"; + colorSlave.areolaColor = "#68442A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#724826"; + colorSlave.areolaColor = "#5C3D26"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#724826"; + colorSlave.areolaColor = "#5C3D26"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "middle eastern" || artSlave.race == "surgically altered to look middle eastern") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#E8CFCF"; - colorSlave.areolaColor = "#DCADBC"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#E8CFCF"; - colorSlave.areolaColor = "#DCADBC"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#FBCCC6"; - colorSlave.areolaColor = "#E79E8B"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#FBCCC6"; - colorSlave.areolaColor = "#E79E8B"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#EAAB92"; - colorSlave.areolaColor = "#D27B64"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#EAAB92"; - colorSlave.areolaColor = "#D27B64"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#EDA571"; - colorSlave.areolaColor = "#B16854"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#EDA571"; - colorSlave.areolaColor = "#B16854"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#EDA571"; - colorSlave.areolaColor = "#B16854"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#CC8D53"; - colorSlave.areolaColor = "#A7624F"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#CC8D53"; - colorSlave.areolaColor = "#A7624F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#CA7136"; - colorSlave.areolaColor = "#9B5959"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#CA7136"; - colorSlave.areolaColor = "#9B5959"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#CA7136"; - colorSlave.areolaColor = "#9B5959"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#84684A"; - colorSlave.areolaColor = "#735143"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#684528"; - colorSlave.areolaColor = "#563826"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#6E4730"; - colorSlave.areolaColor = "#604534"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#6E4730"; - colorSlave.areolaColor = "#604534"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#604534"; - colorSlave.areolaColor = "#514039"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#604534 "; - colorSlave.areolaColor = "#514039"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#CA7136"; - colorSlave.areolaColor = "#9B5959"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#E8CFCF"; + colorSlave.areolaColor = "#DCADBC"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#E8CFCF"; + colorSlave.areolaColor = "#DCADBC"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#FBCCC6"; + colorSlave.areolaColor = "#E79E8B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#FBCCC6"; + colorSlave.areolaColor = "#E79E8B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#EAAB92"; + colorSlave.areolaColor = "#D27B64"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#EAAB92"; + colorSlave.areolaColor = "#D27B64"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#CC8D53"; + colorSlave.areolaColor = "#A7624F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#CC8D53"; + colorSlave.areolaColor = "#A7624F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#84684A"; + colorSlave.areolaColor = "#735143"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#684528"; + colorSlave.areolaColor = "#563826"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#6E4730"; + colorSlave.areolaColor = "#604534"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#6E4730"; + colorSlave.areolaColor = "#604534"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#604534"; + colorSlave.areolaColor = "#514039"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#604534 "; + colorSlave.areolaColor = "#514039"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "amerindian" || artSlave.race == "surgically altered to look amerindian") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#FDE4BF"; - colorSlave.areolaColor = "#F0BEAA"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#FDE4BF"; - colorSlave.areolaColor = "#F0BEAA"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#F5E7DC"; - colorSlave.areolaColor = "#CDA499"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#F5E7DC"; - colorSlave.areolaColor = "#CDA499"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#F5D4B5"; - colorSlave.areolaColor = "#CB988B"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#F5D4B5"; - colorSlave.areolaColor = "#CB988B"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#F4D1A3"; - colorSlave.areolaColor = "#BA8E83"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#F4D1A3"; - colorSlave.areolaColor = "#BA8E83"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#F4D1A3"; - colorSlave.areolaColor = "#BA8E83"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#CFB48D"; - colorSlave.areolaColor = "#AC8074"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#CFB48D"; - colorSlave.areolaColor = "#AC8074"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#C38C4D"; - colorSlave.areolaColor = "#A67A6F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#C38C4D"; - colorSlave.areolaColor = "#A67A6F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#C38C4D"; - colorSlave.areolaColor = "#A67A6F"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#9A774A"; - colorSlave.areolaColor = "#855E4E"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#855834"; - colorSlave.areolaColor = "#734B2F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#83522B"; - colorSlave.areolaColor = "#68442A"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#83522B"; - colorSlave.areolaColor = "#68442A"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#724826"; - colorSlave.areolaColor = "#5C3D26"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#724826"; - colorSlave.areolaColor = "#5C3D26"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#C38C4D"; - colorSlave.areolaColor = "#A67A6F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FDE4BF"; + colorSlave.areolaColor = "#F0BEAA"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FDE4BF"; + colorSlave.areolaColor = "#F0BEAA"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#F5E7DC"; + colorSlave.areolaColor = "#CDA499"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#F5E7DC"; + colorSlave.areolaColor = "#CDA499"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#F5D4B5"; + colorSlave.areolaColor = "#CB988B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#F5D4B5"; + colorSlave.areolaColor = "#CB988B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#F4D1A3"; + colorSlave.areolaColor = "#BA8E83"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#CFB48D"; + colorSlave.areolaColor = "#AC8074"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#CFB48D"; + colorSlave.areolaColor = "#AC8074"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#9A774A"; + colorSlave.areolaColor = "#855E4E"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#855834"; + colorSlave.areolaColor = "#734B2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#83522B"; + colorSlave.areolaColor = "#68442A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#83522B"; + colorSlave.areolaColor = "#68442A"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#724826"; + colorSlave.areolaColor = "#5C3D26"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#724826"; + colorSlave.areolaColor = "#5C3D26"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#C38C4D"; + colorSlave.areolaColor = "#A67A6F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "southern european" || artSlave.race == "surgically altered to look southern european") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#EBDBE4"; - colorSlave.areolaColor = "#FFE4E0"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#EBDBE4"; - colorSlave.areolaColor = "#FFE4E0"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#F0D0CC"; - colorSlave.areolaColor = "#EAACBA"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#F0D0CC"; - colorSlave.areolaColor = "#EAACBA"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#F1C6B5"; - colorSlave.areolaColor = "#DCA2A9"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#F1C6B5"; - colorSlave.areolaColor = "#DCA2A9"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#F2BC94"; - colorSlave.areolaColor = "#EE8280"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#F2BC94"; - colorSlave.areolaColor = "#EE8280"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#F2BC94"; - colorSlave.areolaColor = "#EE8280"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#DCA972"; - colorSlave.areolaColor = "#BF7577"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#DCA972"; - colorSlave.areolaColor = "#BF7577"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#D0814C"; - colorSlave.areolaColor = "#A96767"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#D0814C"; - colorSlave.areolaColor = "#A96767"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#D0814C"; - colorSlave.areolaColor = "#A96767"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#937453"; - colorSlave.areolaColor = "#7F5A4B"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#7F5431"; - colorSlave.areolaColor = "#734B2F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#784F2F"; - colorSlave.areolaColor = "#583E2F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#784F2F"; - colorSlave.areolaColor = "#583E2F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#65422C"; - colorSlave.areolaColor = "#4A3A33"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#65422C"; - colorSlave.areolaColor = "#4A3A33"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#D0814C"; - colorSlave.areolaColor = "#A96767"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#EBDBE4"; + colorSlave.areolaColor = "#FFE4E0"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#EBDBE4"; + colorSlave.areolaColor = "#FFE4E0"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#F0D0CC"; + colorSlave.areolaColor = "#EAACBA"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#F0D0CC"; + colorSlave.areolaColor = "#EAACBA"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#F1C6B5"; + colorSlave.areolaColor = "#DCA2A9"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#F1C6B5"; + colorSlave.areolaColor = "#DCA2A9"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#F2BC94"; + colorSlave.areolaColor = "#EE8280"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#F2BC94"; + colorSlave.areolaColor = "#EE8280"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#F2BC94"; + colorSlave.areolaColor = "#EE8280"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#DCA972"; + colorSlave.areolaColor = "#BF7577"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#DCA972"; + colorSlave.areolaColor = "#BF7577"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#D0814C"; + colorSlave.areolaColor = "#A96767"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#D0814C"; + colorSlave.areolaColor = "#A96767"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#D0814C"; + colorSlave.areolaColor = "#A96767"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#937453"; + colorSlave.areolaColor = "#7F5A4B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#7F5431"; + colorSlave.areolaColor = "#734B2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#784F2F"; + colorSlave.areolaColor = "#583E2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#784F2F"; + colorSlave.areolaColor = "#583E2F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4A3A33"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#65422C"; + colorSlave.areolaColor = "#4A3A33"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#D0814C"; + colorSlave.areolaColor = "#A96767"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "semitic" || artSlave.race == "surgically altered to look semitic") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#E8CFCF"; - colorSlave.areolaColor = "#DCADBC"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#E8CFCF"; - colorSlave.areolaColor = "#DCADBC"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#FBCCC6"; - colorSlave.areolaColor = "#E79E8B"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#FBCCC6"; - colorSlave.areolaColor = "#E79E8B"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#EAAB92"; - colorSlave.areolaColor = "#D27B64"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#EAAB92"; - colorSlave.areolaColor = "#D27B64"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#EDA571"; - colorSlave.areolaColor = "#B16854"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#EDA571"; - colorSlave.areolaColor = "#B16854"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#EDA571"; - colorSlave.areolaColor = "#B16854"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#CC8D53"; - colorSlave.areolaColor = "#A7624F"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#CC8D53"; - colorSlave.areolaColor = "#A7624F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#CA7136"; - colorSlave.areolaColor = "#9B5959"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#CA7136"; - colorSlave.areolaColor = "#9B5959"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#CA7136"; - colorSlave.areolaColor = "#9B5959"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#84684A"; - colorSlave.areolaColor = "#735143"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#684528"; - colorSlave.areolaColor = "#563826"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#6E4730"; - colorSlave.areolaColor = "#604534"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#6E4730"; - colorSlave.areolaColor = "#604534"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#604534"; - colorSlave.areolaColor = "#514039"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#604534 "; - colorSlave.areolaColor = "#514039"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#CA7136"; - colorSlave.areolaColor = "#9B5959"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#E8CFCF"; + colorSlave.areolaColor = "#DCADBC"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#E8CFCF"; + colorSlave.areolaColor = "#DCADBC"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#FBCCC6"; + colorSlave.areolaColor = "#E79E8B"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#FBCCC6"; + colorSlave.areolaColor = "#E79E8B"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#EAAB92"; + colorSlave.areolaColor = "#D27B64"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#EAAB92"; + colorSlave.areolaColor = "#D27B64"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#EDA571"; + colorSlave.areolaColor = "#B16854"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#CC8D53"; + colorSlave.areolaColor = "#A7624F"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#CC8D53"; + colorSlave.areolaColor = "#A7624F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#84684A"; + colorSlave.areolaColor = "#735143"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#684528"; + colorSlave.areolaColor = "#563826"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#6E4730"; + colorSlave.areolaColor = "#604534"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#6E4730"; + colorSlave.areolaColor = "#604534"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#604534"; + colorSlave.areolaColor = "#514039"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#604534 "; + colorSlave.areolaColor = "#514039"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#CA7136"; + colorSlave.areolaColor = "#9B5959"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "malay" || artSlave.race == "surgically altered to look malay") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#FBD1B2"; - colorSlave.areolaColor = "#F39E7D"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#FBD1B2"; - colorSlave.areolaColor = "#F39E7D"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#E8B892"; - colorSlave.areolaColor = "#E2856C"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#E8B892"; - colorSlave.areolaColor = "#E2856C"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#EA9870"; - colorSlave.areolaColor = "#BE6C56"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#EA9870"; - colorSlave.areolaColor = "#BE6C56"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#EA9760"; - colorSlave.areolaColor = "#AB6755"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#EA9760"; - colorSlave.areolaColor = "#AB6755"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#EA9760"; - colorSlave.areolaColor = "#AB6755"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#BA855E"; - colorSlave.areolaColor = "#976051"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#BA855E"; - colorSlave.areolaColor = "#976051"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#A46138"; - colorSlave.areolaColor = "#8F5E51"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#A46138"; - colorSlave.areolaColor = "#8F5E51"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#A46138"; - colorSlave.areolaColor = "#8F5E51"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#7C563C"; - colorSlave.areolaColor = "#70493A"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#804A28"; - colorSlave.areolaColor = "#5F3F27"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#6F4523"; - colorSlave.areolaColor = "#623C20"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#6F4523"; - colorSlave.areolaColor = "#623C20"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#6F3E27"; - colorSlave.areolaColor = "#553823"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#6F3E27"; - colorSlave.areolaColor = "#553823"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#A46138"; - colorSlave.areolaColor = "#8F5E51"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FBD1B2"; + colorSlave.areolaColor = "#F39E7D"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FBD1B2"; + colorSlave.areolaColor = "#F39E7D"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E8B892"; + colorSlave.areolaColor = "#E2856C"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E8B892"; + colorSlave.areolaColor = "#E2856C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#EA9870"; + colorSlave.areolaColor = "#BE6C56"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#EA9870"; + colorSlave.areolaColor = "#BE6C56"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#BA855E"; + colorSlave.areolaColor = "#976051"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#BA855E"; + colorSlave.areolaColor = "#976051"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#7C563C"; + colorSlave.areolaColor = "#70493A"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#804A28"; + colorSlave.areolaColor = "#5F3F27"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#6F4523"; + colorSlave.areolaColor = "#623C20"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#6F4523"; + colorSlave.areolaColor = "#623C20"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#6F3E27"; + colorSlave.areolaColor = "#553823"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#6F3E27"; + colorSlave.areolaColor = "#553823"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "indo-aryan" || artSlave.race == "surgically altered to look indo-aryan") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#F8D4BE"; - colorSlave.areolaColor = "#F8B6A4"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#F8D4BE"; - colorSlave.areolaColor = "#F8B6A4"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#EFCCAF"; - colorSlave.areolaColor = "#EA9B86"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#EFCCAF"; - colorSlave.areolaColor = "#EA9B86"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#FCC49A"; - colorSlave.areolaColor = "#D29577"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#FCC49A"; - colorSlave.areolaColor = "#D29577"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#E8B68E"; - colorSlave.areolaColor = "#D08661"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#E8B68E"; - colorSlave.areolaColor = "#D08661"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#E8B68E"; - colorSlave.areolaColor = "#D08661"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#C17848"; - colorSlave.areolaColor = "#C36E45"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#C17848"; - colorSlave.areolaColor = "#C36E45"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#C17848"; - colorSlave.areolaColor = "#A75A34"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#C17848"; - colorSlave.areolaColor = "#A75A34"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#C17848"; - colorSlave.areolaColor = "#A75A34"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#83684B"; - colorSlave.areolaColor = "#715043"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#8A593C"; - colorSlave.areolaColor = "#714931"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#845834"; - colorSlave.areolaColor = "#614635"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#845834"; - colorSlave.areolaColor = "#614635"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#7C5842"; - colorSlave.areolaColor = "#5F4538"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#7C5842"; - colorSlave.areolaColor = "#5F4538"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#6B5449"; - colorSlave.areolaColor = "#473C37"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#6B5449"; - colorSlave.areolaColor = "#473C37"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#C17848"; - colorSlave.areolaColor = "#A75A34"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#F8D4BE"; + colorSlave.areolaColor = "#F8B6A4"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#F8D4BE"; + colorSlave.areolaColor = "#F8B6A4"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#EFCCAF"; + colorSlave.areolaColor = "#EA9B86"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#EFCCAF"; + colorSlave.areolaColor = "#EA9B86"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#FCC49A"; + colorSlave.areolaColor = "#D29577"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#FCC49A"; + colorSlave.areolaColor = "#D29577"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#E8B68E"; + colorSlave.areolaColor = "#D08661"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#E8B68E"; + colorSlave.areolaColor = "#D08661"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#E8B68E"; + colorSlave.areolaColor = "#D08661"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#C36E45"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#C36E45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#A75A34"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#A75A34"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#A75A34"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#83684B"; + colorSlave.areolaColor = "#715043"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#8A593C"; + colorSlave.areolaColor = "#714931"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#845834"; + colorSlave.areolaColor = "#614635"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#845834"; + colorSlave.areolaColor = "#614635"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#7C5842"; + colorSlave.areolaColor = "#5F4538"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#7C5842"; + colorSlave.areolaColor = "#5F4538"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#6B5449"; + colorSlave.areolaColor = "#473C37"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#6B5449"; + colorSlave.areolaColor = "#473C37"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#C17848"; + colorSlave.areolaColor = "#A75A34"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "pacific islander" || artSlave.race == "surgically altered to look pacific islander") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#FBD1B2"; - colorSlave.areolaColor = "#F39E7D"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#FBD1B2"; - colorSlave.areolaColor = "#F39E7D"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#E8B892"; - colorSlave.areolaColor = "#E2856C"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#E8B892"; - colorSlave.areolaColor = "#E2856C"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#EA9870"; - colorSlave.areolaColor = "#BE6C56"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#EA9870"; - colorSlave.areolaColor = "#BE6C56"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#EA9760"; - colorSlave.areolaColor = "#AB6755"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#EA9760"; - colorSlave.areolaColor = "#AB6755"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#EA9760"; - colorSlave.areolaColor = "#AB6755"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#BA855E"; - colorSlave.areolaColor = "#976051"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#BA855E"; - colorSlave.areolaColor = "#976051"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#A46138"; - colorSlave.areolaColor = "#8F5E51"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#A46138"; - colorSlave.areolaColor = "#8F5E51"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#A46138"; - colorSlave.areolaColor = "#8F5E51"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#7C563C"; - colorSlave.areolaColor = "#70493A"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#804A28"; - colorSlave.areolaColor = "#5F3F27"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#6F4523"; - colorSlave.areolaColor = "#623C20"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#6F4523"; - colorSlave.areolaColor = "#623C20"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#6F3E27"; - colorSlave.areolaColor = "#553823"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#6F3E27"; - colorSlave.areolaColor = "#553823"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#583E2F"; - colorSlave.areolaColor = "#3F3A38"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#A46138"; - colorSlave.areolaColor = "#8F5E51"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FBD1B2"; + colorSlave.areolaColor = "#F39E7D"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FBD1B2"; + colorSlave.areolaColor = "#F39E7D"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E8B892"; + colorSlave.areolaColor = "#E2856C"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E8B892"; + colorSlave.areolaColor = "#E2856C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#EA9870"; + colorSlave.areolaColor = "#BE6C56"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#EA9870"; + colorSlave.areolaColor = "#BE6C56"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#EA9760"; + colorSlave.areolaColor = "#AB6755"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#BA855E"; + colorSlave.areolaColor = "#976051"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#BA855E"; + colorSlave.areolaColor = "#976051"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#7C563C"; + colorSlave.areolaColor = "#70493A"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#804A28"; + colorSlave.areolaColor = "#5F3F27"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#6F4523"; + colorSlave.areolaColor = "#623C20"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#6F4523"; + colorSlave.areolaColor = "#623C20"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#6F3E27"; + colorSlave.areolaColor = "#553823"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#6F3E27"; + colorSlave.areolaColor = "#553823"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#583E2F"; + colorSlave.areolaColor = "#3F3A38"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#A46138"; + colorSlave.areolaColor = "#8F5E51"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } else if (artSlave.race == "mixed race" || artSlave.race == "surgically altered to look mixed race") { - if (artSlave.skin == "pure white") { - colorSlave.skinColor = "#FEE5CC"; - colorSlave.areolaColor = "#E3BBAB"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "extremely pale") { - colorSlave.skinColor = "#FEE5CC"; - colorSlave.areolaColor = "#E3BBAB"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "pale") { - colorSlave.skinColor = "#E6C2B0"; - colorSlave.areolaColor = "#D1A695"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ffb9ca"; - } else if (artSlave.skin == "extremely fair") { - colorSlave.skinColor = "#E6C2B0"; - colorSlave.areolaColor = "#D1A695"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "very fair") { - colorSlave.skinColor = "#E1B59F"; - colorSlave.areolaColor = "#B48D7E"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "fair") { - colorSlave.skinColor = "#E1B59F"; - colorSlave.areolaColor = "#B48D7E"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "white") { - colorSlave.skinColor = "#DAA782"; - colorSlave.areolaColor = "#9E7666"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light") { - colorSlave.skinColor = "#DAA782"; - colorSlave.areolaColor = "#9E7666"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "lightened") { - colorSlave.skinColor = "#DAA782"; - colorSlave.areolaColor = "#9E7666"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#ce6876"; - } else if (artSlave.skin == "light olive") { - colorSlave.skinColor = "#B27554"; - colorSlave.areolaColor = "#92684C"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "olive") { - colorSlave.skinColor = "#B27554"; - colorSlave.areolaColor = "#92684C"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#c1a785"; - } else if (artSlave.skin == "natural") { - colorSlave.skinColor = "#B6784E"; - colorSlave.areolaColor = "#8F5A45"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "tanned") { - colorSlave.skinColor = "#B6784E"; - colorSlave.areolaColor = "#8F5A45"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } else if (artSlave.skin == "bronzed") { - colorSlave.skinColor = "#B6784E"; - colorSlave.areolaColor = "#8F5A45"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark olive") { - colorSlave.skinColor = "#8B644F"; - colorSlave.areolaColor = "#7B5749"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "dark") { - colorSlave.skinColor = "#775031"; - colorSlave.areolaColor = "#69452F"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "light brown") { - colorSlave.skinColor = "#774A31"; - colorSlave.areolaColor = "#5E4434"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#5d2f1b"; - } else if (artSlave.skin == "brown") { - colorSlave.skinColor = "#774A31"; - colorSlave.areolaColor = "#5E4434"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#714536"; - } else if (artSlave.skin == "dark brown") { - colorSlave.skinColor = "#74523E"; - colorSlave.areolaColor = "#574135"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "black") { - colorSlave.skinColor = "#6B4B4B"; - colorSlave.areolaColor = "#413228"; - colorSlave.labiaColor = "#F977A3"; - } else if (artSlave.skin == "ebony") { - colorSlave.skinColor = "#634F45"; - colorSlave.areolaColor = "#4E3C32"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#403030"; - } else if (artSlave.skin == "pure black") { - colorSlave.skinColor = "#634F45"; - colorSlave.areolaColor = "#4E3C32"; - colorSlave.labiaColor = "#F977A3"; - } else { - colorSlave.skinColor = "#B6784E"; - colorSlave.areolaColor = "#8F5A45"; - colorSlave.labiaColor = "#F977A3"; - colorSlave.lipsColor = "#9e4c44"; - } + if (artSlave.skin == "pure white") { + colorSlave.skinColor = "#FEE5CC"; + colorSlave.areolaColor = "#E3BBAB"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "extremely pale") { + colorSlave.skinColor = "#FEE5CC"; + colorSlave.areolaColor = "#E3BBAB"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "pale") { + colorSlave.skinColor = "#E6C2B0"; + colorSlave.areolaColor = "#D1A695"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ffb9ca"; + } else if (artSlave.skin == "extremely fair") { + colorSlave.skinColor = "#E6C2B0"; + colorSlave.areolaColor = "#D1A695"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "very fair") { + colorSlave.skinColor = "#E1B59F"; + colorSlave.areolaColor = "#B48D7E"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "fair") { + colorSlave.skinColor = "#E1B59F"; + colorSlave.areolaColor = "#B48D7E"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "white") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "lightened") { + colorSlave.skinColor = "#DAA782"; + colorSlave.areolaColor = "#9E7666"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#ce6876"; + } else if (artSlave.skin == "light olive") { + colorSlave.skinColor = "#B27554"; + colorSlave.areolaColor = "#92684C"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "olive") { + colorSlave.skinColor = "#B27554"; + colorSlave.areolaColor = "#92684C"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#c1a785"; + } else if (artSlave.skin == "natural") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "tanned") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } else if (artSlave.skin == "bronzed") { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark olive") { + colorSlave.skinColor = "#8B644F"; + colorSlave.areolaColor = "#7B5749"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "dark") { + colorSlave.skinColor = "#775031"; + colorSlave.areolaColor = "#69452F"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "light brown") { + colorSlave.skinColor = "#774A31"; + colorSlave.areolaColor = "#5E4434"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#5d2f1b"; + } else if (artSlave.skin == "brown") { + colorSlave.skinColor = "#774A31"; + colorSlave.areolaColor = "#5E4434"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#714536"; + } else if (artSlave.skin == "dark brown") { + colorSlave.skinColor = "#74523E"; + colorSlave.areolaColor = "#574135"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "black") { + colorSlave.skinColor = "#6B4B4B"; + colorSlave.areolaColor = "#413228"; + colorSlave.labiaColor = "#F977A3"; + } else if (artSlave.skin == "ebony") { + colorSlave.skinColor = "#634F45"; + colorSlave.areolaColor = "#4E3C32"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#403030"; + } else if (artSlave.skin == "pure black") { + colorSlave.skinColor = "#634F45"; + colorSlave.areolaColor = "#4E3C32"; + colorSlave.labiaColor = "#F977A3"; + } else { + colorSlave.skinColor = "#B6784E"; + colorSlave.areolaColor = "#8F5A45"; + colorSlave.labiaColor = "#F977A3"; + colorSlave.lipsColor = "#9e4c44"; + } } - return colorSlave; + return colorSlave; }; diff --git a/src/endWeek/saChoosesOwnClothes.tw b/src/endWeek/saChoosesOwnClothes.tw index 8ec52680b17..e24433ddb3d 100644 --- a/src/endWeek/saChoosesOwnClothes.tw +++ b/src/endWeek/saChoosesOwnClothes.tw @@ -549,7 +549,7 @@ window.saChoosesOwnClothes = (function() { } } } - + /*Chooses clothes according to fetishes, quirks, etc.*/ if(slave.attrXY > 70) { if(slave.attrKnown == 1) { @@ -591,7 +591,7 @@ window.saChoosesOwnClothes = (function() { wardrobeTastes.push({text: `and wears a nice suit, the reasons not entirely clear to you.`, clothes: "nice business attire"}); } } - + /* need */ if(slave.need > 90) { wardrobeTastes.push({text: `but goes naked. ${He} needs sex now and clothing will only get in the way.`, clothes: "no clothing"}); @@ -600,20 +600,20 @@ window.saChoosesOwnClothes = (function() { wardrobeTastes.push({text: `and dresses up as a slutty maid. Maybe if ${he} does ${his} job poorly enough, someone will bend ${him} over and fuck some sense into ${him}.`, clothes: "a slutty maid outfit"}); wardrobeTastes.push({text: `and dresses up as a succubus in the hopes it screams that ${he} needs sex now.`, clothes: "a succubus outfit"}); } - + /* quirks n flaws */ if(slave.behavioralFlaw == "arrogant") { wardrobeTastes.push({text: `and chooses a formal dress that makes ${him} feel like royalty.`, clothes: "a ball gown"}); } else if(slave.behavioralQuirk == "devout") { wardrobeTastes.push({text: `and wears something more appropriate for a monastery than a whorehouse.`, clothes: "a penitent nuns habit"}); } - + if(slave.behavioralQuirk == "sinful") { wardrobeTastes.push({text: `and dresses up like a succubus because it makes ${him} feel naughty.`, clothes: "a succubus outfit"}); } else if(slave.behavioralQuirk == "fitness") { wardrobeTastes.push({text: `and wears spats and a tank top to give ${himself} a sporty look.`, clothes: "spats and a tank top"}); } - + if(slave.sexualFlaw == "shamefast") { wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a burqa"}); } else if(slave.sexualFlaw == "breeder") { @@ -623,14 +623,14 @@ window.saChoosesOwnClothes = (function() { } else if(slave.sexualFlaw == "malicious") { wardrobeTastes.push({text: `and chooses an outfit that is commonly associated with wanton cruelty.`, clothes: "a schutzstaffel uniform"}); wardrobeTastes.push({text: `and chooses a skimpy outfit that is commonly associated with wanton cruelty.`, clothes: "a slutty schutzstaffel uniform"}); - } - + } + if(slave.sexualQuirk == "romantic") { wardrobeTastes.push({text: `and dresses up like ${he}'s about to go on a date.`, clothes: "a halter top dress"}); } else if(slave.sexualQuirk == "tease") { wardrobeTastes.push({text: `and wears a set of provocatively designed lingerie.`, clothes: "kitty lingerie"}); } - + /* age stuff */ if(slave.actualAge < 10) { wardrobeTastes.push({text: `and puts on a pretty dress so ${he} can be a princess.`, clothes: "a ball gown"}); @@ -641,7 +641,7 @@ window.saChoosesOwnClothes = (function() { } else if(slave.actualAge < 18) { wardrobeTastes.push({text: `and chooses an outfit that somewhat resembles one of ${his} school uniforms.`, clothes: "a schoolgirl outfit"}); } - + /* fetishes */ if(slave.fetishKnown == 1) { if(slave.fetish == "submissive") { @@ -707,7 +707,7 @@ window.saChoosesOwnClothes = (function() { wardrobeTastes.push({text: `and strangely decides to wear a monokini, which leaves ${his} breasts totally bare.`, clothes: "a monokini"}); wardrobeTastes.push({text: `and oddly chooses a lingerie set with a cleavage cutout in the bra.`, clothes: "kitty lingerie"}); } - } + } /* energy */ if(slave.energy > 95) { @@ -730,7 +730,7 @@ window.saChoosesOwnClothes = (function() { } else { wardrobeTastes.push({text: `and wears string lingerie to show off ${his} body.`, clothes: "a string bikini"}); } - + if(slave.nationality == "Canadian") { wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a mounty outfit"}); } else if(slave.nationality == "Japanese") { @@ -806,11 +806,11 @@ window.saChoosesOwnClothes = (function() { function todaysCollar(slave) { let neck = []; - + if(slave.fetish == 'mindbroken') { - + } else if(slave.devotion <= 20) { - + } else { if(V.arcologies[0].FSEgyptianRevivalist > 0) { neck.push({text: `dons a wesekh to support your ancient Egyptian pretensions,`, collar: "ancient Egyptian"}); @@ -835,7 +835,7 @@ window.saChoosesOwnClothes = (function() { function todaysCorset(slave) { let belly = []; const empathyBellies = ["a small empathy belly", "a medium empathy belly", "a large empathy belly", "a huge empathy belly"]; - + if(slave.fetish == 'mindbroken') { if(V.arcologies[0].FSRepopulationFocus > 0 && slave.belly < 1500) { if(slave.weight > 130) { @@ -847,7 +847,7 @@ window.saChoosesOwnClothes = (function() { belly.push({text: "", bellyAccessory: slave.bellyAccessory}); /*compatibility for no output, will likely get deprecated in the future as content is added*/ } } else if(slave.devotion <= 20) { - + } else { if(V.arcologies[0].FSRepopulationFocus > 0 && slave.belly < 1500 && slave.sexualFlaw != "breeder") { if(slave.weight > 130) { diff --git a/src/endWeek/saPornJS.tw b/src/endWeek/saPornJS.tw index b9d3b0bd8a8..23ac9d5ad52 100644 --- a/src/endWeek/saPornJS.tw +++ b/src/endWeek/saPornJS.tw @@ -5,7 +5,7 @@ window.getHighestPorn = function(slave) { var max = {value: 0, type: "none"}; - + if(slave.pornTypeGeneral > max.value){ max = {value: slave.pornTypeGeneral, type: "generic"}; } @@ -111,6 +111,6 @@ window.getHighestPorn = function(slave) { if(slave.pornTypePregnancy > max.value){ max = {value: slave.pornTypePregnancy, type: "pregnancy fetish"}; } - + return max; } \ No newline at end of file diff --git a/src/endWeek/saServant.tw b/src/endWeek/saServant.tw index d17dab75d25..ce770a9ff0c 100644 --- a/src/endWeek/saServant.tw +++ b/src/endWeek/saServant.tw @@ -6,7 +6,7 @@ window.saServant = function saServant(slave) { var he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; var He = capFirstChar(he), His = capFirstChar(his); var V = State.variables; - + var t = `works as a servant. ${He} performs the lowest jobs in your penthouse, cleaning up after your other slaves, bathing them, helping them dress, and giving them sexual relief.`; if (V.servantsQuarters > 0) { @@ -80,6 +80,10 @@ window.saServant = function saServant(slave) { t += ` ${His} bad vision makes ${him} a worse servant.`; } + if ((slave.hears <= -1 && slave.earwear != "hearing aids") || (slave.earwear == "muffling ear plugs") || (slave.earwear == "deafening ear plugs")) { + t += ` ${His} bad hearing makes ${him} a worse servant.`; + } + if (slave.lactation > 0) { t += ` Since ${he} is lactating, `; if (slave.devotion > 20 || slave.trust < -20) { diff --git a/src/endWeek/saStayConfined.tw b/src/endWeek/saStayConfined.tw index eb2b36589f9..fa9c8adf563 100644 --- a/src/endWeek/saStayConfined.tw +++ b/src/endWeek/saStayConfined.tw @@ -56,6 +56,6 @@ window.saStayConfined = function saStayConfined(slave) { } removeJob(slave, slave.assignment) } - + return t } diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw index 86686eca4a2..42b89aad12b 100644 --- a/src/js/DefaultRules.tw +++ b/src/js/DefaultRules.tw @@ -1583,7 +1583,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName} is pregnant, so she has been put on the gestation slowing agents.`; } else if (rule.pregSpeed == "fast" && slave.preg < 35 && slave.health > -50) { slave.pregControl = "speed up"; - r += `<br>${slave.slaveName} is pregnant, so she has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended.`; + r += `<br>${slave.slaveName} is pregnant, so she has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended.`; } else if (rule.pregSpeed == "suppress" && slave.preg > 34 && slave.health > -50) { slave.pregControl = "labor supressors"; r += `<br>${slave.slaveName} is ready to birth, so she has been put on labor suppressing agents.`; diff --git a/src/js/PenthouseNaming.tw b/src/js/PenthouseNaming.tw index 23472d35b30..ea3553530d0 100644 --- a/src/js/PenthouseNaming.tw +++ b/src/js/PenthouseNaming.tw @@ -1,41 +1,41 @@ :: PenthouseNaming [script] window.MS = function() { - const V = State.variables; - var name = ""; - if (V.masterSuiteNameCaps === "The Master Suite") + const V = State.variables; + var name = ""; + if (V.masterSuiteNameCaps === "The Master Suite") name = "Master Suite" else name = V.masterSuiteNameCaps; return `<<link "${name}""Master Suite">><</link>> `} window.HS = function() { - const V = State.variables; - var name = ""; - if (V.HGSuiteNameCaps === "The Head Girl Suite") + const V = State.variables; + var name = ""; + if (V.HGSuiteNameCaps === "The Head Girl Suite") name = "Head Girl Suite" else name = V.HGSuiteNameCaps; return `<<link "${name}""Head Girl Suite">><</link>> `} window.SQ = function() { - const V = State.variables; - var name = ""; - if (V.servantsQuartersNameCaps === "The Servants' Quarters") + const V = State.variables; + var name = ""; + if (V.servantsQuartersNameCaps === "The Servants' Quarters") name = "Servants' Quarters" else name = V.servantsQuartersNameCaps; return `<<link "${name}""Servants' Quarters">><</link>> `} window.S = function() { - const V = State.variables; - var name = ""; - if (V.spaNameCaps === "The Spa") + const V = State.variables; + var name = ""; + if (V.spaNameCaps === "The Spa") name = "Spa" else name = V.spaNameCaps; return `<<link "${name}""Spa">><</link>> `} window.CI = function() { - const V = State.variables; - var name = ""; - if (V.clinicNameCaps === "The Clinic") + const V = State.variables; + var name = ""; + if (V.clinicNameCaps === "The Clinic") name = "Clinic" else name = V.clinicNameCaps; diff --git a/src/js/SetBellySize.tw b/src/js/SetBellySize.tw index ce50faf43da..8b0e8b7ef23 100644 --- a/src/js/SetBellySize.tw +++ b/src/js/SetBellySize.tw @@ -8,7 +8,7 @@ window.SetBellySize = function SetBellySize(slave) { _implantSize = slave.bellyImplant else _implantSize = 0 - + if (slave.inflation == 3) slave.bellyFluid = 10000 else if (slave.inflation == 2) @@ -17,6 +17,6 @@ window.SetBellySize = function SetBellySize(slave) { slave.bellyFluid = 2000 else slave.bellyFluid = 0 - + slave.belly = slave.bellyPreg+slave.bellyFluid+_implantSize } diff --git a/src/js/accordianJS.tw b/src/js/accordianJS.tw index df61c7ace77..836311ecda6 100644 --- a/src/js/accordianJS.tw +++ b/src/js/accordianJS.tw @@ -1,4 +1,5 @@ :: accordionJS.tw [script] + /* Accordion 000-250-006 */ /* @@ -39,4 +40,3 @@ postdisplay["doAccordion"] = function (content) { }; } }; - diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw index 834e33d3603..f3d27c81fa6 100644 --- a/src/js/assayJS.tw +++ b/src/js/assayJS.tw @@ -3,7 +3,7 @@ window.isSlim = function(slave) { var slim = false; var ArcologyZero = State.variables.arcologies[0]; - + if ((slave.boobs < 500) && (slave.butt < 3)) { if ((slave.muscles <= 30) && (ArcologyZero.FSPhysicalIdealist === "unset") && (slave.weight <= 10) && (ArcologyZero.FSHedonisticDecadence === "unset")) { slim = true; @@ -19,7 +19,7 @@ window.isSlim = function(slave) { } } } - + return slim; }; @@ -31,14 +31,14 @@ window.isModded = function(slave) { var tatScore = TatScore(slave); var piercingScore = PiercingScore(slave); var modScore = piercingScore+tatScore; - + return ((modScore > 15) || (piercingScore > 8) && (tatScore > 5)); }; window.isUnmodded = function(slave) { var tatScore = TatScore(slave); var piercingScore = PiercingScore(slave); - + return !isModded(slave) && (slave.corsetPiercing === 0) && (piercingScore < 3) && (tatScore < 2); }; @@ -71,7 +71,7 @@ window.modScore = function modScore(slave) { window.PiercingScore = function(slave) { var piercingScore = 0; - + if (slave.earPiercing > 0) { piercingScore += slave.earPiercing*0.75-0.5; } @@ -169,14 +169,14 @@ window.TatScore = function(slave) { } else if (slave.anusTat !== 0) { tatScore += 1.25; } - + return tatScore; }; window.slimPass = function(slave) { var slimPass = 0; var ArcologyZero = State.variables.arcologies[0]; - + if (ArcologyZero.FSSlimnessEnthusiastLaw === 1) { if ((slave.boobs < 300) && (slave.butt <= 1) && (slave.waist <= 10)) { State.variables.slimPass = 1; @@ -194,7 +194,7 @@ window.slimPass = function(slave) { } } } - + return slimPass; }; @@ -337,7 +337,7 @@ window.newSlave = function newSlave(slave) { SetBellySize(slave); addSlave(slave); - + if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) { V.genePool.push(slave); } else { @@ -527,7 +527,7 @@ window.Enunciate = function Enunciate(slave) { window.fetishChangeChance = function fetishChangeChance(slave) { const V = State.variables; var chance = 0, sex = 0; - + if (slave.clitSetting !== slave.fetish) { if (slave.balls) { sex = V.potencyAge - slave.actualAge; @@ -537,7 +537,7 @@ window.fetishChangeChance = function fetishChangeChance(slave) { } chance = Math.trunc(Math.clamp((slave.devotion/4)-(slave.fetishStrength/4)-(Math.max(sex,0)*10), 0, 100)); } - + return chance; }; @@ -561,7 +561,7 @@ window.PlayerName = function PlayerName() { "Taiwanese", "Vietnamese"]; let names = [V.PC.name, V.PC.surname || ""]; - + if ((V.surnameOrder !== 1) && (surnamesFirstCountries.includes(V.PC.nationality))) names.reverse(); return names.join(" ").trim(); @@ -621,7 +621,6 @@ window.PCTitle = function PCTitle() { titles.push("the Creator"); } - if (V.plot === 1) { if (V.invasionVictory === 3) { if (V.PC.title === 1) { @@ -661,7 +660,6 @@ window.PCTitle = function PCTitle() { titles.push("Commander of the Mercenaries"); } - if (V.dispensary === 1) { if (V.PC.title === 1) { titles.push("Pharmacologos"); @@ -686,7 +684,6 @@ window.PCTitle = function PCTitle() { titles.push("Subduer of the Inferior Race"); } - if (V.arcologies[0].FSGenderRadicalist >= V.FSLockinLevel * 0.9) { titles.push("Buttfucker of All Slaves"); } else if (V.arcologies[0].FSGenderRadicalist >= V.FSLockinLevel * 0.6) { @@ -775,7 +772,6 @@ window.PCTitle = function PCTitle() { titles.push("the Farmer"); } - if (V.arcologies[0].FSPhysicalIdealist >= V.FSLockinLevel * 0.9) { titles.push("beloved of Brodin"); } else if (V.arcologies[0].FSPhysicalIdealist >= V.FSLockinLevel * 0.6) { @@ -788,7 +784,6 @@ window.PCTitle = function PCTitle() { titles.push("advancer of Gains"); } - if (V.arcologies[0].FSHedonisticDecadence >= V.FSLockinLevel * 0.9) { if (V.PC.title === 1) { titles.push("Master of Softness"); @@ -801,7 +796,6 @@ window.PCTitle = function PCTitle() { titles.push("the Feeder"); } - if (V.arcologies[0].FSMaturityPreferentialist >= V.FSLockinLevel * 0.9) { titles.push("Grand Preserver of MILFS"); } else if (V.arcologies[0].FSMaturityPreferentialist >= V.FSLockinLevel * 0.6) { @@ -822,7 +816,6 @@ window.PCTitle = function PCTitle() { titles.push("the Virginbreaker"); } - if (V.arcologies[0].FSChattelReligionistLaw === 1) { titles.push("the Prophet"); } else if (V.arcologies[0].FSChattelReligionist >= V.FSLockinLevel * 0.9) { @@ -833,7 +826,6 @@ window.PCTitle = function PCTitle() { titles.push("the Holy"); } - if (V.arcologies[0].FSRomanRevivalist >= V.FSLockinLevel * 0.9) { titles.push("First Consul"); } else if (V.arcologies[0].FSRomanRevivalist >= V.FSLockinLevel * 0.6) { @@ -842,7 +834,6 @@ window.PCTitle = function PCTitle() { titles.push("Quaestor"); } - if (V.arcologies[0].FSAztecRevivalist >= V.FSLockinLevel * 0.9) { titles.push("Tlatcani"); } else if (V.arcologies[0].FSAztecRevivalist >= V.FSLockinLevel * 0.6) { @@ -879,7 +870,6 @@ window.PCTitle = function PCTitle() { titles.push("Daimyo"); } - if (V.arcologies[0].FSArabianRevivalist >= V.FSLockinLevel * 0.9) { if (V.PC.title === 1) { titles.push("Caliph"); @@ -916,7 +906,6 @@ window.PCTitle = function PCTitle() { } } - if (V.brothelSlaves >= 15) { if (V.PC.title === 1) { titles.push("Procurator of the Brothel"); @@ -1097,7 +1086,7 @@ window.PCTitle = function PCTitle() { window.PoliteRudeTitle = function PoliteRudeTitle(slave) { const V = State.variables, PC = V.PC, s = V.sEnunciate, ss = V.ssEnunciate; - + var r = ""; if (slave.nationality === "Japanese") { if (slave.trust > 0) { @@ -1486,7 +1475,7 @@ window.DegradingName = function DegradingName(slave) { "recruit girls"]; let names = []; let suffixes = []; - + if (slave.fuckdoll > 0) { slave.slaveName = "Fuckdoll No. " + slave.ID; slave.slaveSurname = 0; @@ -1509,7 +1498,7 @@ window.DegradingName = function DegradingName(slave) { names.push("Black", "Dark"); break; case "pacific islander": - names.push("Islander", "Sea"); + names.push("Islander", "Pacific", "Sea"); break; case "malay": names.push("Cinnamon", "Pinoy", "Spice"); @@ -1521,7 +1510,7 @@ window.DegradingName = function DegradingName(slave) { names.push("Indian", "Reservation"); break; case "semitic": - names.push("Semitic"); + names.push("Semite", "Semitic"); break; case "middle eastern": names.push("Arab", "Sand"); @@ -1530,7 +1519,7 @@ window.DegradingName = function DegradingName(slave) { names.push("Brown", "Indian"); break; case "mixed race": - names.push("Mulatto", "Mutt"); + names.push("Mixed", "Mulatto", "Mutt"); break; } } @@ -1708,8 +1697,7 @@ window.DegradingName = function DegradingName(slave) { } else if (slave.trust < 20) { names.push("Begging"); } - - + if (slave.dick === 0) { if (slave.vagina === -1) { suffixes.push("Null"); @@ -1803,7 +1791,7 @@ window.DegradingName = function DegradingName(slave) { if (slave.vagina === 0) { suffixes.push("Virgin"); } - + slave.slaveName = jsEither(names); } if (leadershipPosition.includes(slave.assignment)) { diff --git a/src/js/assignJS.tw b/src/js/assignJS.tw index eaececf52f4..7106cd7449b 100644 --- a/src/js/assignJS.tw +++ b/src/js/assignJS.tw @@ -7,7 +7,7 @@ window.assignJob = function assignJob(slave, job) { if (job === "Pit" || job === "Coursing Association") return r; - + removeJob(slave, slave.assignment); const idx = V.slaveIndices[slave.ID]; @@ -76,7 +76,7 @@ window.assignJob = function assignJob(slave, job) { case "Hedonistic": slave.livingRules = "luxurious"; break; - + case "Roman Revivalist": case "Aztec Revivalist": case "Egyptian Revivalist": @@ -86,7 +86,7 @@ window.assignJob = function assignJob(slave, job) { case "Edo Revivalist": slave.livingRules = "normal"; break; - + default: slave.livingRules = "spare"; break; @@ -214,13 +214,13 @@ window.assignJob = function assignJob(slave, job) { case "be the stewardess": case "be the wardeness": slave.assignment = job; - slave.assignmentVisible = 0; /* non-visible leadership roles */ + slave.assignmentVisible = 0; /* non-visible leadership roles */ slave.livingRules = "luxurious"; break; case "be your concubine": slave.assignment = job; - slave.assignmentVisible = 0; /* non-visible leadership roles */ + slave.assignmentVisible = 0; /* non-visible leadership roles */ if(V.masterSuiteUpgradeLuxury > 0) slave.livingRules = "luxurious"; else @@ -255,7 +255,7 @@ window.assignJob = function assignJob(slave, job) { case "choose her own job": slave.assignment = job; - slave.choosesOwnAssignment = 1; /* removeJob already set assignmentVisible = 1 */ + slave.choosesOwnAssignment = 1; /* removeJob already set assignmentVisible = 1 */ break; default: @@ -423,18 +423,18 @@ window.removeJob = function removeJob(slave, assignment) { V.personalAttention = "upkeep"; else V.personalAttention = "business"; - + r += `You no longer have a slave assigned to be your Head Girl, so you turn your personal attention to focus on ${V.personalAttention}.`; } break; - + case "be your agent": case "live with your agent": slave.assignment = "rest"; const _leaderIndex = V.leaders.findIndex(function(x) { return x.ID === slave.ID; }); if (_leaderIndex !== -1) V.leaders.deleteAt(_leaderIndex); - + if (slave.relationshipTarget > 0) { /* following code assumes there can be at most one companion */ const _lover = V.slaves.findIndex(function(s) { return haveRelationshipP(s, slave) && s.assignment === "live with your agent"; }); if (_lover !== -1) { @@ -443,16 +443,15 @@ window.removeJob = function removeJob(slave, assignment) { } } break; - + default: slave.assignment = "rest"; break; } - if (slave.livingRules === "luxurious" && slave.assignmentVisible !== 1) slave.livingRules = "normal"; - + slave.assignmentVisible = 1; slave.choosesOwnAssignment = 0; slave.sentence = 0; diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw index 62243972e67..0e7e23d7c07 100644 --- a/src/js/economyJS.tw +++ b/src/js/economyJS.tw @@ -39,7 +39,7 @@ window.getCost = function(array) { + (0.2 * State.variables.dairyFeedersUpgrade * dairy * facilityCost) + (0.1 * State.variables.dairyPregUpgrade * dairy * facilityCost) + (0.2 * State.variables.dairyStimulatorsUpgrade * facilityCost) - + (0.2 * State.variables.servantsQuartersUpgradeMonitoring * servantsQuarters * facilityCost) + + (0.2 * State.variables.servantsQuartersUpgradeMonitoring * servantsQuarters * facilityCost) + (0.2 * State.variables.incubatorUpgradeWeight * incubator * facilityCost) + (0.2 * State.variables.incubatorUpgradeMuscles * incubator * facilityCost) + (0.2 * State.variables.incubatorUpgradeReproduction * incubator * facilityCost) @@ -104,7 +104,7 @@ window.getCost = function(array) { if (State.variables.slaveUnits != null) { for (var i = 0; i < State.variables.slaveUnits.length; i++) { if( !( State.variables.slaveUnits[i] === null) ){ - secExpCost += State.variables.slaveUnits[i].troops * State.variables.soldierUpkeep * 0.5 * soldierMod; + secExpCost += State.variables.slaveUnits[i].troops * State.variables.soldierUpkeep * 0.5 * soldierMod; } } } diff --git a/src/js/eventSelectionJS.tw b/src/js/eventSelectionJS.tw index d083a7c0411..f1313d8b587 100644 --- a/src/js/eventSelectionJS.tw +++ b/src/js/eventSelectionJS.tw @@ -120,7 +120,7 @@ if(eventSlave.fetish != "mindbroken") { if(eventSlave.devotion <= 50) { if(eventSlave.anus != 0 && canDoAnal(eventSlave)) { if(State.variables.HGSeverity >= 0) { - State.variables.events.push("RE anal punishment"); + State.variables.events.push("RE anal punishment"); } State.variables.events.push("RE shower punishment"); } @@ -425,7 +425,7 @@ if(eventSlave.fetish != "mindbroken") { if(eventSlave.fetish == "sadist" || eventSlave.fetish == "dom" || eventSlave.energy > 95) { if(State.variables.REShowerForceSubIDs.length > 0) { if(eventSlave.trust <= 75) { - State.variables.RETSevent.push("shower force"); + State.variables.RETSevent.push("shower force"); } } if(eventSlave.anus > 0) { @@ -1927,7 +1927,7 @@ if(eventSlave.fetish != "mindbroken") { if(eventSlave.devotion <= 50) { if(eventSlave.anus != 0 && canDoAnal(eventSlave)) { if(State.variables.HGSeverity >= 0) { - State.variables.events.push("RE anal punishment"); + State.variables.events.push("RE anal punishment"); } State.variables.events.push("RE shower punishment"); } @@ -2016,7 +2016,7 @@ if(eventSlave.fetish != "mindbroken") { if(eventSlave.fetish == "sadist" || eventSlave.fetish == "dom" || eventSlave.energy > 95) { if(State.variables.REShowerForceSubIDs.length > 0) { if(eventSlave.trust <= 75) { - State.variables.RETSevent.push("shower force"); + State.variables.RETSevent.push("shower force"); } } if(eventSlave.anus > 0) { diff --git a/src/js/familyTree.tw b/src/js/familyTree.tw index 92caebf7262..4a8fbfec0a2 100644 --- a/src/js/familyTree.tw +++ b/src/js/familyTree.tw @@ -518,7 +518,7 @@ window.updateFamilyTree = function(activeSlave = lastActiveSlave, slaves = lastS if(slave.mother != 0) { return slaveInfo(getSlave(slave.mother, "unknownXX"), activeSlaveId, recursionProtectSlaveId); } - return slaveInfo_(slave, activeSlaveId); + return slaveInfo_(slave, activeSlaveId); } function slaveInfo_(slave, activeSlaveId, slavesAdded={}, depth = 1) { numTreeNodes += 1; diff --git a/src/js/foreachMacroJS.tw b/src/js/foreachMacroJS.tw index ce497a49077..7453ee70cff 100644 --- a/src/js/foreachMacroJS.tw +++ b/src/js/foreachMacroJS.tw @@ -2,15 +2,15 @@ Macro.add('foreach', { skipArgs : true, - tags : null, - + tags : null, + handler() { - const payload = this.payload[0].contents.replace(/\n$/, ''); - let statement = this.args.raw.trim(); + const payload = this.payload[0].contents.replace(/\n$/, ''); + let statement = this.args.raw.trim(); let variable; let array; let result; - + if (statement.length !== 0) { const parts = statement.match(/^(\S+?)\s+of\s+(\S.*?)\s*$/i); if(parts !== null) { @@ -21,24 +21,24 @@ Macro.add('foreach', { if(!variable || !array) { return this.error('invalid syntax, format: <<foreach variable of array-expression>>... <</foreach>>'); } - + try { result = Scripting.evalTwineScript(array); } catch (ex) { return this.error(`bad evaluation: ${typeof ex === 'object' ? ex.message : ex}`); } - + let resultLength = result['length']; - + // We don't check for "instanceof Array" to also be able to pass arguments or other strange objects if(typeof resultLength !== 'number' || (resultLength % 1) !== 0) { return this.error("bad evaluation: '" + result + "' is not an array or array-like object"); } - + if(resultLength > Config.macros.maxLoopIterations) { return this.error('Array too large for maxLoopIterations (' + resultLength + ' > ' + Config.macros.maxLoopIterations + ')'); } - + if(!new RegExp(`^(${Patterns.variable})$`).test(variable)) { return this.error('not a variable identifier: ' + variable); } @@ -49,7 +49,7 @@ Macro.add('foreach', { } Config.debug && this.debugView.modes({block: true}); - + payload.replace(/^\n/, ''); for(let i = 0; i < resultLength; ++ i) { Wikifier.setValue(variable, result[i]); diff --git a/src/js/fresult.tw b/src/js/fresult.tw index 3eddcc48295..2721c0956a0 100644 --- a/src/js/fresult.tw +++ b/src/js/fresult.tw @@ -13,13 +13,13 @@ window.FResult = (function() { function FResult(slave) { V = State.variables; incest_bonus = V.arcologies[0].FSEgyptianRevivalist > 20 || V.arcologies[0].FSEgyptianRevivalistIncestPolicy === 1; - + calcUseWeights(slave); if (!slave.fuckdoll) calcNotFuckdoll(slave); else V.FResult += slave.fuckdoll/10; - + V.FResult += Math.max(0, slave.aphrodisiacs) * 2; if (slave.inflationType === "aphrodisiac") @@ -30,7 +30,7 @@ window.FResult = (function() { if (slave.nipples === "fuckable") calcFuckableTits(slave); - + if (V.seeAge === 1) calcAge(slave); if (slave.fetish === "mindbroken") @@ -113,7 +113,7 @@ window.FResult = (function() { }); if (fre !== -1) V.FResult += 1; } - + function calcWorksWithRival(slave) { const en = V.slaves.findIndex(s => { return isRivalP(slave, s) && sameAssignmentP(slave, s); @@ -158,7 +158,7 @@ window.FResult = (function() { if (slave.clitPiercing > 2) V.FResult += 1; if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish != "none") V.FResult += slave.fetishStrength/5; - + if (slave.attrKnown === 1) { V.FResult += Math.trunc(slave.attrXX/20); V.FResult += Math.trunc(slave.attrXY/20); @@ -193,13 +193,11 @@ window.FResult = (function() { } function calcHearing(slave) { - if (!canHear(slave)) V.FResult -= 3; + if (!canHear(slave)) V.FResult -= 2; else if (slave.hears <= -1) { - if (slave.earwear !== "corrective glasses" && slave.earwear !== "corrective contacts") + if (slave.earwear !== "hearing aids") V.FResult -= 1; - } else if (slave.earwear === "blurring glasses") - V.FResult -= 1; - else if (slave.earwear === "blurring contacts") + } else if (slave.earwear === "muffling ear plugs") V.FResult -= 1; } @@ -244,7 +242,7 @@ window.FResult = (function() { else if (V.arcologies[0].FSMaturityPreferentialist !== "unset") calcMatureBonus(slave); } - + function calcAge(slave) { if ((V.arcologies[0].FSRepopulationFocus !== "unset" || V.arcologies[0].FSGenderFundamentalist !== "unset") && slave.physicalAge === V.minimumSlaveAge && slave.physicalAge === V.fertilityAge && canGetPregnant(slave)) { V.FResult += 1; @@ -262,7 +260,7 @@ window.FResult = (function() { V.FResult += 0.1*V.FResult; } } - + function calcAmputation(slave) { switch(slave.amp) { case 0: @@ -278,7 +276,7 @@ window.FResult = (function() { V.FResult -= 1; } } - + function calcHedonismWeight(slave) { if (slave.weight < 10) V.FResult -= 2; diff --git a/src/js/hTagMacroJS.tw b/src/js/hTagMacroJS.tw index 4678c57730f..d33e0f20e8e 100644 --- a/src/js/hTagMacroJS.tw +++ b/src/js/hTagMacroJS.tw @@ -3,16 +3,16 @@ /* * <<htag>> macro * A simple macro which allows to create wrapping html elements with dynamic IDs. - * idea blatantly robbed from the spanMacroJS.tw but expanded to a more generic - * case, allowing <div>, <button> or whatever you want. elements, default is for - * the div though. In addition, you can pass an object in as the first argument - * instead of an id, and each of the object's attributes will become attributes - * of the generate tag. + * idea blatantly robbed from the spanMacroJS.tw but expanded to a more generic + * case, allowing <div>, <button> or whatever you want. elements, default is for + * the div though. In addition, you can pass an object in as the first argument + * instead of an id, and each of the object's attributes will become attributes + * of the generate tag. * - * Usage: <<htag id>>...<</htag>> - * Usage: <<htag id tag>>...<</htag>> - * Usage: <<htag attributes>>...<</htag>> - * Usage: <<htag attributes tag>>...<</htag>> + * Usage: <<htag id>>...<</htag>> + * Usage: <<htag id tag>>...<</htag>> + * Usage: <<htag attributes>>...<</htag>> + * Usage: <<htag attributes tag>>...<</htag>> */ Macro.add('htag', { tags: null, @@ -20,13 +20,13 @@ Macro.add('htag', { const payload = this.payload[0].contents.replace(/(^\n+|\n+$)/, ''); let htag = 'div'; let attributes; - function munge (val, key) { - return key + '="' + val + '"'; + function munge (val, key) { + return key + '="' + val + '"'; } - - if (1 > this.args.length) + + if (1 > this.args.length) return this.error('invalid syntax, format: <<htag [id [ tag ] | attributes [ tag ] >>'); - if (1 < this.args.length) + if (1 < this.args.length) htag = String(this.args[1]).trim(); if ("object" === typeof this.args[0]) attributes = $.map(this.args[0], munge).join(" "); @@ -34,7 +34,7 @@ Macro.add('htag', { attributes = 'id="' + String(this.args[0]).trim() + '"'; if (Config.debug) this.debugView.modes({block: true}); - + jQuery('<' + htag + ' ' + attributes + ' />') .wiki(payload) .appendTo(this.output); diff --git a/src/js/heroCreator.tw b/src/js/heroCreator.tw index 302ff213c4b..8d2d7c9c8b9 100644 --- a/src/js/heroCreator.tw +++ b/src/js/heroCreator.tw @@ -1,9 +1,9 @@ :: heroCreator.tw [script] window.getHeroSlave = function(heroSlave, baseHeroSlave) { - var newSlave = clone(baseHeroSlave); - for (var attrname in heroSlave) { - newSlave[attrname] = heroSlave[attrname]; - }; - return newSlave; + var newSlave = clone(baseHeroSlave); + for (var attrname in heroSlave) { + newSlave[attrname] = heroSlave[attrname]; + }; + return newSlave; } diff --git a/src/js/pregJS.tw b/src/js/pregJS.tw index 9a1b78df150..8bf49e44f06 100644 --- a/src/js/pregJS.tw +++ b/src/js/pregJS.tw @@ -1,11 +1,11 @@ :: pregJS [script] -/*Major props to the anons who worked together to forge the Super Pregnancy Project. Let your legacy go unforgotten.*/ +/* Major props to the anons who worked together to forge the Super Pregnancy Project. Let your legacy go unforgotten.*/ window.getPregBellySize = function(s) { var gestastionWeek = s.preg; var fetuses = s.pregType; var phi = 1.618; - + if(gestastionWeek <= 32) { var targetLen = ((0.00006396 * Math.pow(gestastionWeek, 4)) - (0.005501 * Math.pow(gestastionWeek, 3)) + (0.161 * Math.pow(gestastionWeek, 2)) - (0.76 * gestastionWeek) + 0.208); } else if(gestastionWeek <= 106) { @@ -13,7 +13,7 @@ window.getPregBellySize = function(s) { } else { var targetLen = ((-0.00003266 * Math.pow(gestastionWeek,2)) + (0.076 * gestastionWeek) + 43.843); } - + var bellySize = ((4 / 3) * (Math.PI) * (phi / 2) * (Math.pow((targetLen / 2), 3)) * fetuses); return bellySize; }; @@ -64,13 +64,13 @@ window.bellyAdjective = function(slave) { /* calculates and returns expected ovum count during conception*/ window.setPregType = function(actor) { /* IMHO rework is posssible. Can be more interesting to play, if this code will take in account more body conditions - age, fat, food, hormone levels, etc. */ - + var ovum = 1; var fertilityStack = 0; // adds an increasing bonus roll for stacked fertility drugs if(actor.broodmother < 1) { // Broodmothers should be not processed here. Necessary now. if(typeof actor.readyOva == "number" && actor.readyOva != 0) { - ovum = actor.readyOva; //just single override; for delayed impregnation cases + ovum = actor.readyOva; //just single override; for delayed impregnation cases } else if(actor.ID == -1) { if(actor.birthMaster > 0) { // Predisposed to twins if(actor.fertDrugs == 1) { @@ -155,17 +155,17 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) { if (V.seePreg !== 0) { if (jsRandom(0,99) < (chance + (V.reproductionFormula*((target.pregSource <= 0) ? ((target.ID == -1) ? 0 : 10) : 20)))) { if (target.mpreg === hole) { - + target.preg = 1; target.pregSource = (!fatherID ? 0 : fatherID); - + if (target.ID !== -1) { target.pregWeek = 1; } - + target.pregType = setPregType(target); WombImpregnate(target, target.pregType, target.pregSource, 1); - + if (V.menstruation === 1) {} else if (!displayOverride) { target.pregKnown = 1; @@ -179,19 +179,19 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) { } else { target.pregKnown = 1; } - + } else if (hole === 2) { - + target.preg = 1; target.pregSource = (!fatherID ? 0 : fatherID); - + if (target.ID !== -1) { target.pregWeek = 1; } - + target.pregType = setPregType(target); WombImpregnate(target, target.pregType, target.pregSource, 1); - + if (V.menstruation === 1) {} else if (!displayOverride) { target.pregKnown = 1; diff --git a/src/js/quickListJS.tw b/src/js/quickListJS.tw index a712681b18b..45e4a00b315 100644 --- a/src/js/quickListJS.tw +++ b/src/js/quickListJS.tw @@ -6,7 +6,7 @@ window.sortDomObjects = function (objects, attrName, reverse = 0) { var aVal = a.getAttribute(attrName); var bVal = b.getAttribute(attrName); var aInt = parseInt(aVal); - if (!isNaN(aInt)) + if (!isNaN(aInt)) return ((parseInt(bVal) - aInt) * reverse); else if (bVal > aVal) return -1 * reverse; @@ -34,8 +34,8 @@ window.quickListBuildLinks = function () { var $this = $(this), $toElement = $this.attr('data-scroll-to'); // note the * 1 enforces $offset to be an integer, without // it we scroll to True, which goes nowhere fast. - var $offset = $this.attr('data-scroll-offset') * 1 || 0; - var $speed = $this.attr('data-scroll-speed') * 1 || 500; + var $offset = $this.attr('data-scroll-offset') * 1 || 0; + var $speed = $this.attr('data-scroll-speed') * 1 || 500; // Use javascript scrollTop animation for in page navigation. $('html, body').animate({ scrollTop: $($toElement).offset().top + $offset @@ -71,9 +71,9 @@ window.sortIncubatorPossiblesByPreviousSort = function () { var sort = State.variables.sortIncubatorList; console.log(State.variables); console.log('sort', sort); - if ('unsorted' !== sort) { + if ('unsorted' !== sort) { console.log("sort isn't unsorted", sort); - if ('Name' === sort) { + if ('Name' === sort) { console.log("sort is name", sort); sortIncubatorPossiblesByName(); } else if ('Reserved Incubator Spots' === sort) { diff --git a/src/js/rbuttonJS.tw b/src/js/rbuttonJS.tw index e0ef1586c17..1668d21900a 100644 --- a/src/js/rbuttonJS.tw +++ b/src/js/rbuttonJS.tw @@ -11,65 +11,63 @@ Group of radiobutton will be created based on variable name. Checked state will Macro.add('rbutton', { handler() { - if (this.args.length < 2) { + if (this.args.length < 2) { const errors = []; if (this.args.length < 1) { errors.push('variable name'); } if (this.args.length < 2) { errors.push('checked value'); } return this.error(`no ${errors.join(' or ')} specified`); - } + } - // Ensure that the variable name argument is a string. - if (typeof this.args[0] !== 'string') { + // Ensure that the variable name argument is a string. + if (typeof this.args[0] !== 'string') { return this.error('variable name argument is not a string'); - } + } - const varName = this.args[0].trim(); + const varName = this.args[0].trim(); - // Try to ensure that we receive the variable's name (incl. sigil), not its value. - if (varName[0] !== '$' && varName[0] !== '_') { + // Try to ensure that we receive the variable's name (incl. sigil), not its value. + if (varName[0] !== '$' && varName[0] !== '_') { return this.error(`variable name "${this.args[0]}" is missing its sigil ($ or _)`); - } + } - const initValue = Wikifier.getValue(this.args[0]); - const varId = Util.slugify(varName); - const checkValue = this.args[1]; - const el = document.createElement('input'); + const initValue = Wikifier.getValue(this.args[0]); + const varId = Util.slugify(varName); + const checkValue = this.args[1]; + const el = document.createElement('input'); - var replaceID = ""; - var replaceText = ""; - if (typeof this.args[2] === 'string') { + var replaceID = ""; + var replaceText = ""; + if (typeof this.args[2] === 'string') { replaceID = this.args[2]; - } - if (typeof this.args[3] === 'string') { + } + if (typeof this.args[3] === 'string') { replaceText = this.args[3]; - } + } - - - /* + /* Setup and initialize the group counter. - */ - if (!TempState.hasOwnProperty(this.name)) { + */ + if (!TempState.hasOwnProperty(this.name)) { TempState[this.name] = {}; - } + } - if (!TempState[this.name].hasOwnProperty(varId)) { + if (!TempState[this.name].hasOwnProperty(varId)) { TempState[this.name][varId] = 0; - } + } - /* + /* Setup and append the input element to the output buffer. - */ - jQuery(el) + */ + jQuery(el) .attr({ - id : `${this.name}-${varId}-${TempState[this.name][varId]++}`, - name : `${this.name}-${varId}`, - type : 'radio', - tabindex : 0 // for accessiblity + id : `${this.name}-${varId}-${TempState[this.name][varId]++}`, + name : `${this.name}-${varId}`, + type : 'radio', + tabindex : 0 // for accessiblity }) .addClass(`macro-${this.name}`) .on('change', function () { - if (this.checked) { + if (this.checked) { Wikifier.setValue(varName, checkValue); if (replaceID.length > 0 && replaceText.length > 0){ @@ -81,7 +79,7 @@ Macro.add('rbutton', { } } - } + } }) .ready (function () { //alert ("DOM finished"); @@ -97,12 +95,12 @@ Macro.add('rbutton', { }) .appendTo(this.output); - /* + /* Set the story variable to the checked value and the input element to checked, if requested. - */ - if (initValue == checkValue) { + */ + if (initValue == checkValue) { el.checked = true; Wikifier.setValue(varName, checkValue); - } + } } - }); + }); diff --git a/src/js/removeActiveSlave.tw b/src/js/removeActiveSlave.tw index a5189210c9f..6b8c3db5675 100644 --- a/src/js/removeActiveSlave.tw +++ b/src/js/removeActiveSlave.tw @@ -95,9 +95,9 @@ window.removeActiveSlave = function removeActiveSlave() { slave.rivalryTarget = 0; } /* moved to saDevotion as a discovery event - if (slave.origBodyOwnerID === AS_ID) { - slave.origBodyOwnerID = 0; - } + if (slave.origBodyOwnerID === AS_ID) { + slave.origBodyOwnerID = 0; + } */ }); @@ -160,7 +160,7 @@ window.removeActiveSlave = function removeActiveSlave() { V.traitor.origBodyOwnerID = 0; } } - + let _o = V.organs.findIndex(function(s) { return s.ID === V.activeSlave.ID; }); if (_o !== -1) { V.organs.deleteAt(_o); @@ -169,7 +169,7 @@ window.removeActiveSlave = function removeActiveSlave() { if (_o !== -1) { V.limbs.deleteAt(_o); } - + const _geneIndex = V.genePool.findIndex(function(s) { return s.ID === V.activeSlave.ID; }); if (_geneIndex !== -1) { let keep = false; @@ -193,11 +193,11 @@ window.removeActiveSlave = function removeActiveSlave() { V.genePool.deleteAt(_geneIndex); } } - + removeSlave(INDEX); LENGTH--; V.activeSlave = 0; - + if (missing) { V.missingParentID--; } diff --git a/src/js/rulesAssistant.tw b/src/js/rulesAssistant.tw index 801c6402532..2eed0d516a7 100644 --- a/src/js/rulesAssistant.tw +++ b/src/js/rulesAssistant.tw @@ -261,6 +261,7 @@ window.emptyDefaultRule = function emptyDefaultRule() { pornFameSpending: "no default setting", dietGrowthSupport: 0, eyewear: "no default setting", + earwear: "no default setting", setAssignment: "no default setting", facilityRemove: false, removalAssignment: "rest", diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw index 5344d418eef..9fba2f9b63c 100644 --- a/src/js/rulesAssistantOptions.tw +++ b/src/js/rulesAssistantOptions.tw @@ -2617,13 +2617,13 @@ window.rulesAssistantOptions = (function() { ["Angel", "an angel silhouette"], ["Devil", "a devil silhouette"] ]; - + if (V.arcologies[0].FSSupremacist !== "unset" || V.arcologies[0].FSSubjugationist !== "unset") items.push(["(FS) Racial Slur", "a racial slur"]); - + if (V.arcologies[0].FSSupremacist !== "unset" && V.arcologies[0].FSSupremacistRace === "white") items.push(["(FS) Swastika", "a swastika"]); - + if (V.arcologies[0].FSSubjugationist !== "unset" && V.arcologies[0].FSSubjugationistRace === "semitic") items.push(["(FS) Star of David", "a Star of David"]); @@ -2718,7 +2718,7 @@ window.rulesAssistantOptions = (function() { this.onchange = (value) => current_rule.set.lipsTat = value; } } - + class ShoulderTattooList extends List { constructor() { const items = [ @@ -3148,7 +3148,7 @@ window.rulesAssistantOptions = (function() { ["Milked", "get milked"], ["Gloryhole", "work a glory hole"] ]; - + if (V.HGSuite > 0) items.push(["Head Girl Suite", "live with your Head Girl"]); if (V.brothel > 0) items.push(["Brothel", "work in the brothel"]); if (V.club > 0) items.push(["Club", "serve in the club"]); @@ -3160,7 +3160,7 @@ window.rulesAssistantOptions = (function() { if (V.spa > 0) items.push(["Spa", "rest in the spa"]); if (V.clinic > 0) items.push(["Clinic", "get treatment in the clinic"]); if (V.cellblock > 0) items.push(["Cellblock", "be confined in the cellblock"]); - + super("Automatically set assignment", items); this.setValue(current_rule.set.setAssignment); this.onchange = (value) => current_rule.set.setAssignment = value; @@ -3179,7 +3179,7 @@ window.rulesAssistantOptions = (function() { this.onchange = (value) => current_rule.set.surgery_bellyImplant = value; } } - + class LabelList extends List { constructor() { const items = [ @@ -3201,7 +3201,7 @@ window.rulesAssistantOptions = (function() { this.onchange = (value) => current_rule.set.removeLabel = value; } } - + class SkinColourList extends List { constructor() { const items = [ @@ -3223,6 +3223,6 @@ window.rulesAssistantOptions = (function() { this.onchange = (x) => current_rule.set.skinColor = x; } } - + return rulesAssistantOptions; })(); diff --git a/src/js/slaveSummaryWidgets.tw b/src/js/slaveSummaryWidgets.tw index 7d256d9a4cf..0547b5ac02a 100644 --- a/src/js/slaveSummaryWidgets.tw +++ b/src/js/slaveSummaryWidgets.tw @@ -22,7 +22,7 @@ window.SlaveSummary = function SlaveSummary(slave) { window.SlaveSummaryUncached = (function(){ "use strict"; let V, r; - + function SlaveSummaryUncached(slave) { V = State.variables; r = ""; @@ -218,7 +218,7 @@ window.SlaveSummaryUncached = (function(){ origins(slave); return r; } - + function short_devotion(slave) { if (slave.fetish === "mindbroken") { r += `<span class="red">MB</span>`; @@ -269,7 +269,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_devotion(slave) { if (slave.fetish === "mindbroken") { r += `<span class="red">Mindbroken.</span>`; @@ -320,7 +320,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_rules(slave) { switch (slave.livingRules) { case "luxurious": @@ -409,7 +409,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_rules(slave) { r += `Living standard: ${slave.livingRules}. `; if (canTalk(slave)) { @@ -420,7 +420,7 @@ window.SlaveSummaryUncached = (function(){ r += `Typical reward: ${slave.standardReward}. `; r += `Release rules: ${slave.releaseRules}. `; } - + function short_weight(slave) { if (slave.weight < -95) { r += `<strong><span class="red">W---${V.summaryStats? `[${slave.weight}]` : ''}</span></strong>`; @@ -469,7 +469,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_weight(slave) { if (slave.weight < -95) { r += `<span class="red">Emaciated${V.summaryStats ? `[${slave.weight}]`: ''}.</span>`; @@ -519,7 +519,7 @@ window.SlaveSummaryUncached = (function(){ r += " "; } - + function short_diet(slave) { r += `<span class="teal">`; switch (slave.diet) { @@ -569,7 +569,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_diet(slave) { r += `<span class="teal">`; switch (slave.diet) { @@ -618,7 +618,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_health(slave) { if (slave.health < -20) { r += `<strong><span class="red">H${V.summaryStats? `[${slave.health}]` : ''}</span></strong>`; @@ -629,7 +629,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_health(slave) { if (slave.health < -90) { r += `<span class="red">On the edge of death${V.summaryStats? `[${slave.health}]` : ''}.</span>`; @@ -648,7 +648,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_drugs(slave) { r += `<span class="tan">`; switch (slave.drugs) { @@ -829,7 +829,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_drugs(slave) { if ((slave.drugs !== "no drugs") && (slave.drugs !== "none")) { r += `<span class="tan">On ${slave.drugs}.</span> `; @@ -933,7 +933,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_race(slave) { switch (slave.race) { case "white": @@ -978,7 +978,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_race(slave) { switch (slave.race) { case "white": @@ -1023,7 +1023,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_nationality(slave) { r += `<span class="tan">`; switch (slave.nationality) { @@ -1694,7 +1694,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_nationality(slave) { r += `<span class="tan">`; switch (slave.nationality) { @@ -1729,7 +1729,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_skin(slave) { r += `<span class="pink">`; switch (slave.skin) { @@ -1789,7 +1789,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_genitals(slave) { if (slave.dick > 0) { r += `<span class="pink">`; @@ -1847,7 +1847,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_genitals(slave) { if (slave.dick > 0) { r += `<span class="pink">`; @@ -1905,7 +1905,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_age(slave) { r += `<span class="pink">`; if (V.showAgeDetail === 1) { @@ -1931,7 +1931,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_face(slave) { if (slave.face < -95) { r += `<span class="red">Face---${V.summaryStats? `[${slave.face}]` : ''}</span>`; @@ -1950,7 +1950,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_eyes(slave) { if (slave.eyes === -2) { r += `<span class="red">Blind</span>`; @@ -1959,7 +1959,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_ears(slave) { if (slave.hears === -2) { r += `<span class="red">Deaf</span>`; @@ -1968,7 +1968,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_lips(slave) { if (slave.lips > 95) { r += `Facepussy`; @@ -1985,7 +1985,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_teeth(slave) { if (slave.teeth === "crooked") { r += `<span class="yellow">Cr Teeth</span>`; @@ -2000,7 +2000,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_muscles(slave) { if (slave.muscles > 95) { r += `Musc++${V.summaryStats? `[${slave.muscles}]`: ''}`; @@ -2027,7 +2027,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_limbs(slave) { if (slave.amp !== 0) { if (slave.amp === -1) { @@ -2053,7 +2053,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_voice(slave) { if (slave.voice === 0) { r += `<span class="pink">Mute</span>`; @@ -2070,7 +2070,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_tits_ass(slave) { r += `<span class="pink">`; if ((slave.boobs >= 12000) && (slave.butt > 9)) { @@ -2102,7 +2102,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_hips(slave) { r += `<span class="red">`; if (slave.hips < -1) { @@ -2140,7 +2140,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_waist(slave) { if (slave.waist > 95) { r += `<span class="red">Wst---${V.summaryStats? `[${slave.waist}]` : ''}</span>`; @@ -2159,7 +2159,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_implants(slave) { r += `<span class="pink">`; if ((slave.boobsImplant === 0) && (slave.buttImplant === 0) && (slave.waist >= -95) && (slave.lipsImplant === 0) && (slave.faceImplant <= 5) && (slave.bellyImplant === -1)) { @@ -2169,7 +2169,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_lactation(slave) { if (slave.lactation === 1) { r += `Lact`; @@ -2178,7 +2178,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_mods(slave) { modScore(slave); if (slave.corsetPiercing === 0 && V.piercingScore < 3 && V.tatScore < 2) { @@ -2195,7 +2195,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_age(slave) { r += `<span class="pink">`; if (V.showAgeDetail === 1) { @@ -2219,8 +2219,8 @@ window.SlaveSummaryUncached = (function(){ } r += " "; /* - ** No NCS, then do the standard, However because of the wrinkes of Incubators, as long as visual age is greater - ** than or equal to physical age, we do the old physical body/Looks for fresh out of the can NCS slaves. + ** No NCS, then do the standard, However because of the wrinkes of Incubators, as long as visual age is greater + ** than or equal to physical age, we do the old physical body/Looks for fresh out of the can NCS slaves. */ if (((slave.inducedNCS === 0) || (slave.visualAge >= slave.physicalAge))) { if (slave.actualAge !== slave.physicalAge) { @@ -2231,13 +2231,13 @@ window.SlaveSummaryUncached = (function(){ } } else { /* - ** Now the rub. The use of physical Age for the year old body above, basically conflicts with the changes - ** that NCS introduces, so here to *distinguish* the changes, we use visual age with the 'year old body' - ** and appears, for example: Slave release from incubator at age 10, Her summary would show, 'Age 0. 10 - ** year old body.' But if she's given NCS a few weeks after release, while she's still before her first - ** birthday, it'll appear the same. But once her birthday fires, if we ran with the above code it would - ** say: 'Age 1. 11 year old body.' -- this conflicts with the way NCS works though, because she hasn't - ** visually aged, so our change here makes it say 'Age 1. Appears to have a 10 year old body.' + ** Now the rub. The use of physical Age for the year old body above, basically conflicts with the changes + ** that NCS introduces, so here to *distinguish* the changes, we use visual age with the 'year old body' + ** and appears, for example: Slave release from incubator at age 10, Her summary would show, 'Age 0. 10 + ** year old body.' But if she's given NCS a few weeks after release, while she's still before her first + ** birthday, it'll appear the same. But once her birthday fires, if we ran with the above code it would + ** say: 'Age 1. 11 year old body.' -- this conflicts with the way NCS works though, because she hasn't + ** visually aged, so our change here makes it say 'Age 1. Appears to have a 10 year old body.' */ r += `Appears to have a ${slave.visualAge} year old body. `; } @@ -2245,7 +2245,7 @@ window.SlaveSummaryUncached = (function(){ r += `(<span class="orange">NCS</span>) `; } } - + function long_face(slave) { if (slave.face < -95) { r += `<span class="red">Very ugly${V.summaryStats? `[${slave.face}]`: ''}</span>`; @@ -2264,7 +2264,7 @@ window.SlaveSummaryUncached = (function(){ } r += ` ${slave.faceShape} face. `; } - + function long_eyes(slave) { if (slave.eyes <= -2) { r += `<span class="red">Blind.</span>`; @@ -2273,7 +2273,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_ears(slave) { if (slave.hears <= -2) { r += `<span class="red">Deaf.</span>`; @@ -2282,7 +2282,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_lips(slave) { if (slave.lips > 95) { r += `Facepussy${V.summaryStats? `[${slave.lips}]`: ''}.`; @@ -2299,7 +2299,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_teeth(slave) { if (slave.teeth === "crooked") { r += `<span class="yellow">Crooked teeth.</span>`; @@ -2314,7 +2314,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_muscles(slave) { if (slave.muscles > 95) { r += `Hugely muscular${V.summaryStats? `[${slave.muscles}]` : ''}.`; @@ -2341,7 +2341,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_limbs(slave) { if (slave.amp !== 0) { if (slave.amp === -1) { @@ -2367,7 +2367,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_voice(slave) { if (slave.voice === 0) { r += `<span class="pink">Mute.</span>`; @@ -2384,7 +2384,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_tits_ass(slave) { r += `<span class="pink">`; if ((slave.boobs >= 12000) && (slave.butt > 9)) { @@ -2416,7 +2416,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_hips(slave) { r += `<span class="red">`; if (slave.hips < -1) { @@ -2454,7 +2454,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_waist(slave) { if (slave.waist > 95) { r += `<span class="red">Masculine waist${V.summaryStats? `[${slave.waist}]`: ''}.</span>`; @@ -2473,7 +2473,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_implants(slave) { r += `<span class="pink">`; if ((slave.boobsImplant !== 0) || (slave.buttImplant !== 0) || (slave.lipsImplant !== 0) || (slave.bellyImplant !== -1)) { @@ -2485,7 +2485,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_lactation(slave) { if (slave.lactation === 1) { r += `Lactating naturally.`; @@ -2494,7 +2494,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_mods(slave) { modScore(slave); if (slave.corsetPiercing === 0 && V.piercingScore < 3 && V.tatScore < 2) { @@ -2508,7 +2508,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_intelligence(slave) { if (slave.fetish === "mindbroken") { return; @@ -2563,7 +2563,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_sex_skills(slave) { let _SSkills = slave.analSkill + slave.oralSkill; r += `<span class="aquamarine">`; @@ -2619,7 +2619,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_prestige(slave) { if (slave.prestige > 0) { r += `<span class="green">`; @@ -2633,7 +2633,7 @@ window.SlaveSummaryUncached = (function(){ r += `</span> `; } } - + function short_porn_prestige(slave) { if (slave.pornPrestige > 0) { r += `<span class="green">`; @@ -2647,7 +2647,7 @@ window.SlaveSummaryUncached = (function(){ r += `</span> `; } } - + function long_intelligence(slave) { if (slave.fetish === "mindbroken") { return; @@ -2702,7 +2702,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_sex_skills(slave) { let _SSkills = (slave.analSkill + slave.oralSkill); r += `<span class="aquamarine">`; @@ -2744,7 +2744,7 @@ window.SlaveSummaryUncached = (function(){ r += " "; } } - + function long_prestige(slave) { if (slave.prestige > 0) { r += `<span class="green">`; @@ -2758,7 +2758,7 @@ window.SlaveSummaryUncached = (function(){ r += `</span> `; } } - + function long_porn_prestige(slave) { if (slave.pornPrestige > 0) { r += `<span class="green">`; @@ -2772,7 +2772,7 @@ window.SlaveSummaryUncached = (function(){ r += `</span> `; } } - + function short_fetish(slave) { r += `<span class="lightcoral">`; switch (slave.fetish) { @@ -2866,7 +2866,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_attraction(slave) { if (slave.attrXY <= 5) { r += `<span class="red">XY---${V.summaryStats? `[${slave.attrXY}]`: ''}</span>`; @@ -2923,7 +2923,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_smart_fetish(slave) { if (slave.fetishKnown === 1) { if (slave.clitSetting === "off") { @@ -3003,7 +3003,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_smart_attraction(slave) { if (slave.attrKnown === 1) { if (slave.clitSetting === "women") { @@ -3044,7 +3044,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_behavior_flaw(slave) { r += `<span class="red">`; switch (slave.behavioralFlaw) { @@ -3081,7 +3081,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_sex_flaw(slave) { switch (slave.sexualFlaw) { case "hates oral": @@ -3144,7 +3144,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_behavior_quirk(slave) { r += `<span class="green">`; switch (slave.behavioralQuirk) { @@ -3181,7 +3181,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_sex_quirk(slave) { switch (slave.sexualQuirk) { case "gagfuck queen": @@ -3217,7 +3217,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_fetish(slave) { r += `<span class="lightcoral">`; switch (slave.fetish) { @@ -3308,7 +3308,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_attraction(slave) { if (slave.attrXY <= 5) { r += `<span class="red">Disgusted by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span> `; @@ -3363,7 +3363,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_smart_fetish(slave) { if (slave.fetishKnown === 1) { if (slave.clitSetting === "off") { @@ -3440,7 +3440,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_smart_attraction(slave) { if (slave.attrKnown === 1) { if ((slave.attrXX < 100) && (slave.clitSetting === "women")) { @@ -3457,7 +3457,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_behavior_flaw(slave) { r += `<span class="red">`; switch (slave.behavioralFlaw) { @@ -3494,7 +3494,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function long_sex_flaw(slave) { switch (slave.sexualFlaw) { case "hates oral": @@ -3557,7 +3557,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_behavior_quirk(slave) { r += `<span class="green">`; switch (slave.behavioralQuirk) { @@ -3594,7 +3594,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_sex_quirk(slave) { switch (slave.sexualQuirk) { case "gagfuck queen": @@ -3630,7 +3630,7 @@ window.SlaveSummaryUncached = (function(){ } r += `</span> `; } - + function short_extended_family(slave) { let handled = 0; if (slave.mother > 0) { @@ -3802,7 +3802,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function short_legacy_family(slave) { if (slave.relation !== 0) { let _ssj = V.slaves.findIndex(function(s) { @@ -3868,7 +3868,7 @@ window.SlaveSummaryUncached = (function(){ r += `E Slut`; } } - + function short_rival(slave) { if (slave.rivalry !== 0) { r += ` `; @@ -3888,7 +3888,7 @@ window.SlaveSummaryUncached = (function(){ } } } - + function long_extended_family(slave) { let handled = 0; if (slave.mother > 0) { @@ -4074,7 +4074,7 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="lightgreen">Emotional slut.</span> `; } } - + function long_legacy_family(slave) { if (slave.relation !== 0) { let _ssj = V.slaves.findIndex(function(s) { @@ -4148,7 +4148,7 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="lightgreen">Emotional slut.</span> `; } } - + function long_rival(slave) { if (slave.rivalry !== 0) { r += ` `; @@ -4167,7 +4167,7 @@ window.SlaveSummaryUncached = (function(){ r += " "; } } - + function long_clothes(slave) { switch (slave.clothes) { case "attractive lingerie": @@ -4434,7 +4434,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_belly(slave) { switch (slave.bellyAccessory) { case "shapewear": @@ -4461,7 +4461,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_legs(slave) { if (slave.legAccessory === "short stockings") { r += `Short stockings.`; @@ -4470,7 +4470,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_shoes(slave) { if (slave.shoes === "heels") { r += `Heels.`; @@ -4487,7 +4487,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_vaginal_acc(slave) { switch (slave.vaginalAccessory) { case "chastity belt": @@ -4520,7 +4520,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_dick_acc(slave) { if (slave.dickAccessory === "chastity") { r += `Chastity cage.`; @@ -4531,7 +4531,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + function long_buttplug(slave) { switch (slave.buttplug) { case "plug": @@ -4566,7 +4566,7 @@ window.SlaveSummaryUncached = (function(){ break; } } - + function rules_assistant(slave) { if (slave.useRulesAssistant === 0) { r += `<span class="lightgreen">RA-Exempt</span> `; @@ -4574,7 +4574,7 @@ window.SlaveSummaryUncached = (function(){ r += `Rules: ${V.defaultRules.filter(x => ruleApplied(slave, x)).map(x => x.name).join(", ") }`; } } - + function origins(slave) { r += `<br>`; if (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) { @@ -4582,6 +4582,6 @@ window.SlaveSummaryUncached = (function(){ } r += `<span class="gray">${slave.origin}</span>`; } - + return SlaveSummaryUncached; })(); diff --git a/src/js/spanMacroJS.tw b/src/js/spanMacroJS.tw index fde8e0cfed0..47dd2b5c19b 100644 --- a/src/js/spanMacroJS.tw +++ b/src/js/spanMacroJS.tw @@ -8,25 +8,25 @@ */ Macro.add('span', { skipArgs : true, - tags : null, - + tags : null, + handler() { - const payload = this.payload[0].contents.replace(/(^\n+|\n+$)/, ''); - let statement = this.args.raw.trim(); + const payload = this.payload[0].contents.replace(/(^\n+|\n+$)/, ''); + let statement = this.args.raw.trim(); let result; - + if(statement.length === 0) { return this.error('invalid syntax, format: <<span id>>'); } - + try { result = Scripting.evalTwineScript(statement); } catch (ex) { return this.error(`bad evaluation: ${typeof ex === 'object' ? ex.message : ex}`); } - + Config.debug && this.debugView.modes({block: true}); - + jQuery("<span id='" + String(result) + "' />") .wiki(payload) .appendTo(this.output); diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw index 02fb2795813..e432e249582 100644 --- a/src/js/storyJS.tw +++ b/src/js/storyJS.tw @@ -279,7 +279,7 @@ window.canImpreg = function(slave1, slave2) { } else if (slave2.vasectomy == 1) { return false; } else if (!canBreed(slave1, slave2)) { - return false; /* pregmod end */ + return false; /* pregmod end */ } else if (!canGetPregnant(slave1)) { /* includes chastity checks */ return false; } else { @@ -310,7 +310,7 @@ window.isFertile = function(slave) { } else if (slave.bellyImplant != -1) { return false; } else if (slave.mpreg == 1) { - return true; /* pregmod end */ + return true; /* pregmod end */ } else if (slave.ovaries == 1) { return true; } else { @@ -380,7 +380,7 @@ window.canHear = function(slave) { window.canWalk = function(slave) { if (!slave) { return null; - } else if (slave.amp == 1) { + } else if (slave.amp == 1) { return false; } else if (tooFatSlave(slave)) { return false; @@ -410,7 +410,7 @@ window.canWalk = function(slave) { window.canTalk = function(slave) { if (!slave) { return null; - } else if (slave.accent > 2) { + } else if (slave.accent > 2) { return false; } else if (slave.voice == 0) { return false; @@ -936,23 +936,23 @@ window.bodyguardSuccessorEligible = function(slave) { }; window.ngUpdateGenePool = function(genePool) { - var transferredSlaveIds = (State.variables.slaves || []) - .filter(function(s) { return s.ID >= 1200000; }) - .map(function(s) { return s.ID - 1200000; }); - return (genePool || []) - .filter(function(s) { return transferredSlaveIds.indexOf(s.ID) >= 0; }) - .map(function(s) { - var result = jQuery.extend(true, {}, s); - result.ID += 1200000; - return result; - }); + var transferredSlaveIds = (State.variables.slaves || []) + .filter(function(s) { return s.ID >= 1200000; }) + .map(function(s) { return s.ID - 1200000; }); + return (genePool || []) + .filter(function(s) { return transferredSlaveIds.indexOf(s.ID) >= 0; }) + .map(function(s) { + var result = jQuery.extend(true, {}, s); + result.ID += 1200000; + return result; + }); } window.toJson = function(obj) { - var jsontext = JSON.stringify(obj); - jsontext = jsontext.replace(/^{/,""); - jsontext = jsontext.replace(/}$/,""); - return jsontext; + var jsontext = JSON.stringify(obj); + jsontext = jsontext.replace(/^{/,""); + jsontext = jsontext.replace(/}$/,""); + return jsontext; }; window.nippleColor = function(slave) { @@ -1000,13 +1000,13 @@ window.overpowerCheck = function(slave, PC) { } strength += (185-slave.height); strength -= (PC.belly/1000); - + return strength; } window.impregnatedBy = function(slave) { /* returns array of IDs of all characters who impregnated slave */ var IDArray = []; - if (!Array.isArray(slave.womb)) { + if (!Array.isArray(slave.womb)) { WombInit(slave); } for (var i = 0; i < slave.womb.length; i++) { @@ -1065,31 +1065,31 @@ window.SoftenBehavioralFlaw = function SoftenBehavioralFlaw(slave) { window.SoftenSexualFlaw = function SoftenSexualFlaw(slave) { switch (slave.sexualFlaw) { case "hates oral": - slave.sexualQuirk = "gagfuck queen"; + slave.sexualQuirk = "gagfuck queen"; break; case "hates anal": - slave.sexualQuirk = "painal queen"; + slave.sexualQuirk = "painal queen"; break; case "hates penetration": - slave.sexualQuirk = "strugglefuck queen"; + slave.sexualQuirk = "strugglefuck queen"; break; case "shamefast": - slave.sexualQuirk = "tease"; + slave.sexualQuirk = "tease"; break; case "idealistic": - slave.sexualQuirk = "romantic"; + slave.sexualQuirk = "romantic"; break; case "repressed": - slave.sexualQuirk = "perverted"; + slave.sexualQuirk = "perverted"; break; case "apathetic": - slave.sexualQuirk = "caring"; + slave.sexualQuirk = "caring"; break; case "crude": - slave.sexualQuirk = "unflinching"; + slave.sexualQuirk = "unflinching"; break; case "judgemental": - slave.sexualQuirk = "size queen"; + slave.sexualQuirk = "size queen"; break; } slave.sexualFlaw = "none"; diff --git a/src/js/textInput.tw b/src/js/textInput.tw index e148eef1526..5480eece77e 100644 --- a/src/js/textInput.tw +++ b/src/js/textInput.tw @@ -1,53 +1,53 @@ :: textinput [script] Macro.add("textinput", { - // Signifies that the macro is a container macro. - tags: null, - - handler: function() { - if (this.args.length < 2) { - var errors = []; - if (this.args.length < 1) { errors.push("variable name"); } - if (this.args.length < 2) { errors.push("default value"); } - return this.error("no " + errors.join(" or ") + " specified"); - } - - // Ensure that the variable name argument is a string. - if (typeof this.args[0] !== "string") { - return this.error("variable name argument is not a string"); - } - - var varName = this.args[0].trim(); - - // Try to ensure that we receive the variable's name (incl. sigil), not its value. - if (varName[0] !== "$" && varName[0] !== "_") { - return this.error("variable name '" + varName + "' is missing its sigil ($ or _)"); - } - - var that = this; - var defaultValue = this.args[1]; - var el = document.createElement("textarea"); - - // Setup and append the textarea element to the output buffer. - jQuery(el) - .attr({ - rows: 4, - // cols: 68, // instead of setting "cols" we set the `min-width` in CSS - tabindex: 0 // for accessiblity - }) - .addClass("macro-textarea") // "hijack" the .macro-textarea class - .on("input", function() { - Wikifier.setValue(varName, this.value); - if (that.payload[0].contents !== "") - Wikifier.wikifyEval(that.payload[0].contents.trim()); - }) - .appendTo(this.output); - - // Set the story variable and textarea element to the default value. - Wikifier.setValue(varName, defaultValue); - - // Ideally, we should be setting `.defaultValue` here, but IE doesn't support it, - // so we have to use `.textContent`, which is equivalent. - el.textContent = defaultValue; - } + // Signifies that the macro is a container macro. + tags: null, + + handler: function() { + if (this.args.length < 2) { + var errors = []; + if (this.args.length < 1) { errors.push("variable name"); } + if (this.args.length < 2) { errors.push("default value"); } + return this.error("no " + errors.join(" or ") + " specified"); + } + + // Ensure that the variable name argument is a string. + if (typeof this.args[0] !== "string") { + return this.error("variable name argument is not a string"); + } + + var varName = this.args[0].trim(); + + // Try to ensure that we receive the variable's name (incl. sigil), not its value. + if (varName[0] !== "$" && varName[0] !== "_") { + return this.error("variable name '" + varName + "' is missing its sigil ($ or _)"); + } + + var that = this; + var defaultValue = this.args[1]; + var el = document.createElement("textarea"); + + // Setup and append the textarea element to the output buffer. + jQuery(el) + .attr({ + rows: 4, + // cols: 68, // instead of setting "cols" we set the `min-width` in CSS + tabindex: 0 // for accessiblity + }) + .addClass("macro-textarea") // "hijack" the .macro-textarea class + .on("input", function() { + Wikifier.setValue(varName, this.value); + if (that.payload[0].contents !== "") + Wikifier.wikifyEval(that.payload[0].contents.trim()); + }) + .appendTo(this.output); + + // Set the story variable and textarea element to the default value. + Wikifier.setValue(varName, defaultValue); + + // Ideally, we should be setting `.defaultValue` here, but IE doesn't support it, + // so we have to use `.textContent`, which is equivalent. + el.textContent = defaultValue; + } }); diff --git a/src/js/textboxJS.tw b/src/js/textboxJS.tw index 569d9f3f798..225dcfe50c0 100644 --- a/src/js/textboxJS.tw +++ b/src/js/textboxJS.tw @@ -7,8 +7,8 @@ window.setReplaceTextboxMaxLength = function (storyVarName, maxLength) { .attr('maxlength', maxLength) .css({ 'min-width' : 'initial', - width : maxLength + 'em', - padding : '3px 2px' + width : maxLength + 'em', + padding : '3px 2px' }); }; @@ -21,8 +21,8 @@ window.setTextboxMaxLength = function (storyVarName, maxLength) { .attr('maxlength', maxLength) .css({ 'min-width' : 'initial', - width : maxLength + 'em', - padding : '3px 2px' + width : maxLength + 'em', + padding : '3px 2px' }); }; }; diff --git a/src/js/utilJS.tw b/src/js/utilJS.tw index f00ec3c0d07..7a13bfbb6fe 100644 --- a/src/js/utilJS.tw +++ b/src/js/utilJS.tw @@ -6,56 +6,56 @@ * Height.mean(slave) - returns the mean (expected) height for the given slave * * Height.random(nationality, race, genes, age) - returns a random height using the skew-normal distribution - * around the mean height for the given arguments + * around the mean height for the given arguments * Height.random(nationality, race, genes) - returns a random height for the given combination of an adult, as above * Height.random(slave[, options]) - returns a random height for the given slave, as above. - * The additional options object can modify how the values are generated - * in the same way setting them as global configuration would, but only for this - * specific generation. + * The additional options object can modify how the values are generated + * in the same way setting them as global configuration would, but only for this + * specific generation. * - * Example: Only generate above-average heights based on $activeSlave: - * Height.random($activeSlave, {limitMult: [0, 5]}) + * Example: Only generate above-average heights based on $activeSlave: + * Height.random($activeSlave, {limitMult: [0, 5]}) * * Height.forAge(height, age, genes) - returns the height adapted to the age and genes * Height.forAge(height, slave) - returns the height adapted to the slave's age and genes * * Height.config(configuration) - configures the random height generator globally and returns the current configuration - * The options and their default values are: - * limitMult: [-3, 3] - Limit to the values the underlying (normal) random generator returns. - * In normal use, the values are almost never reached; only 0.27% of values are - * outside this range and need to be regenerated. With higher skew (see below), - * this might change. - * spread: 0.05 - The random values generated are multiplied by this and added to 1 to generate - * the final height multiplier. The default value together with the default limitMult - * means that the generated height will always fall within (1 - 0.05 * 3) = 85% and - * (1 + 0.05 * 3) = 115% of the mean height. - * Minimum value: 0.001; maximum value: 0.5 - * skew: 0 - How much the height distribution skews to the right (positive) or left (negative) side - * of the height. - * Minimum value: -1000, maximum value: 1000 - * limitHeight: [0, 999] - Limit the resulting height range. Warning: A small height limit range - * paired with a high spread value results in the generator having to - * do lots of work generating and re-generating random heights until - * one "fits". + * The options and their default values are: + * limitMult: [-3, 3] - Limit to the values the underlying (normal) random generator returns. + * In normal use, the values are almost never reached; only 0.27% of values are + * outside this range and need to be regenerated. With higher skew (see below), + * this might change. + * spread: 0.05 - The random values generated are multiplied by this and added to 1 to generate + * the final height multiplier. The default value together with the default limitMult + * means that the generated height will always fall within (1 - 0.05 * 3) = 85% and + * (1 + 0.05 * 3) = 115% of the mean height. + * Minimum value: 0.001; maximum value: 0.5 + * skew: 0 - How much the height distribution skews to the right (positive) or left (negative) side + * of the height. + * Minimum value: -1000, maximum value: 1000 + * limitHeight: [0, 999] - Limit the resulting height range. Warning: A small height limit range + * paired with a high spread value results in the generator having to + * do lots of work generating and re-generating random heights until + * one "fits". * * Anon's explination: - *limitMult: [0, -30] + * limitMult: [0, -30] * - *This specifies a range going up from 0 to -30. It needs to go [-30, 0] instead. Same thing with [0, -5] two lines down. note: technically, this isn't true, because for some bizarre reason Height.random reverses the numbers for you if you get them wrong. But it's important to establish good habits, so. + * This specifies a range going up from 0 to -30. It needs to go [-30, 0] instead. Same thing with [0, -5] two lines down. note: technically, this isn't true, because for some bizarre reason Height.random reverses the numbers for you if you get them wrong. But it's important to establish good habits, so. * - *Skew, spread, limitMult: These are statistics things. BTW, a gaussian distribution is a normal distribution. Just a naming thing. + * Skew, spread, limitMult: These are statistics things. BTW, a gaussian distribution is a normal distribution. Just a naming thing. * - *Skew: The shape parameter of a skew-normal distribution. See http://azzalini.stat.unipd.it/SN/Intro/intro.html for more details. Basically a measure of how asymmetrical the curve is. It doesn't move the main mass of the distribution. Rather, it's more like it moves mass from one of the tails into the main mass of the distribution. + * Skew: The shape parameter of a skew-normal distribution. See http://azzalini.stat.unipd.it/SN/Intro/intro.html for more details. Basically a measure of how asymmetrical the curve is. It doesn't move the main mass of the distribution. Rather, it's more like it moves mass from one of the tails into the main mass of the distribution. * - *Spread: Changes the average distance from the mean, making the graph wider and shorter. Moves "mass" from the center to the tail. It's basically standard deviation, but named funny because FC codebase. Changing this can have dramatic effects. It's advised to keep this at or below 0.1 for usual height generation. + * Spread: Changes the average distance from the mean, making the graph wider and shorter. Moves "mass" from the center to the tail. It's basically standard deviation, but named funny because FC codebase. Changing this can have dramatic effects. It's advised to keep this at or below 0.1 for usual height generation. * - *limitMult: A clamp, expressed in z-score. (z=1 is one standard dev above mean, for ex.) If it excludes too much of the distribution the other parameters describe, you're going to spend lots of CPU making and throwing away heights. Don't worry about this unless you run into it. + * limitMult: A clamp, expressed in z-score. (z=1 is one standard dev above mean, for ex.) If it excludes too much of the distribution the other parameters describe, you're going to spend lots of CPU making and throwing away heights. Don't worry about this unless you run into it. * - *There's also limitHeight which you're not using. It's basically limitMult in different units. + * There's also limitHeight which you're not using. It's basically limitMult in different units. */ window.Height = (function(){ 'use strict'; - + // Global configuration (for different game modes/options/types) var minMult = -3.0; var maxMult = 3.0; @@ -63,7 +63,7 @@ window.Height = (function(){ var spread = 0.05; var minHeight = 0; var maxHeight = 999; - + // Configuration method for the above values const _config = function(conf) { if(_.isUndefined(conf)) { @@ -72,18 +72,18 @@ window.Height = (function(){ if(_.isFinite(conf.skew)) { skew = Math.clamp(conf.skew, -1000, 1000); } if(_.isFinite(conf.spread)) { spread = Math.clamp(conf.spread, 0.001, 0.5); } if(_.isArray(conf.limitMult) && conf.limitMult.length === 2 && conf.limitMult[0] !== conf.limitMult[1] && - _.isFinite(conf.limitMult[0]) && _.isFinite(conf.limitMult[1])) { + _.isFinite(conf.limitMult[0]) && _.isFinite(conf.limitMult[1])) { minMult = Math.min(conf.limitMult[0], conf.limitMult[1]); maxMult = Math.max(conf.limitMult[0], conf.limitMult[1]); } if(_.isArray(conf.limitHeight) && conf.limitHeight.length === 2 && conf.limitHeight[0] !== conf.limitHeight[1] && - _.isFinite(conf.limitHeight[0]) && _.isFinite(conf.limitHeight[1])) { + _.isFinite(conf.limitHeight[0]) && _.isFinite(conf.limitHeight[1])) { minHeight = Math.min(conf.limitHeight[0], conf.limitHeight[1]); maxHeight = Math.max(conf.limitHeight[0], conf.limitHeight[1]); } return {limitMult: [minMult, maxMult], limitHeight: [minHeight, maxHeight], skew: skew, spread: spread}; }; - + /* if you can find an average for an undefined, add it in! */ const xxMeanHeight = { "Afghan": 163.8, "Albanian": 161.8, "Algerian": 162, "American.asian": 158.4, "American.black": 163.6, "American.latina": 158.9, "American.white": 165, "American": 161.8, @@ -138,19 +138,19 @@ window.Height = (function(){ "Venezuelan": 169, "Vietnamese": 165.7, "Vincentian": 165.4, "Yemeni": 159.9, "Zairian": 158.9, "Zambian": undefined, "Zimbabwean": undefined, "": 172.5 // defaults }; - + // Helper method - table lookup for nationality/race combinations const nationalityMeanHeight = function(table, nationality, race, def) { return table[nationality + "." + race] || table[nationality] || table["." + race] || table[""] || def; }; - + // Helper method - generate two independent Gaussian numbers using Box-Muller transform const gaussianPair = function() { let r = Math.sqrt(-2.0 * Math.log(1 - Math.random())); let sigma = 2.0 * Math.PI * (1 - Math.random()); return [r * Math.cos(sigma), r * Math.sin(sigma)]; }; - + // Helper method: Generate a skewed normal random variable with the skew s // Reference: http://azzalini.stat.unipd.it/SN/faq-r.html const skewedGaussian = function(s) { @@ -163,7 +163,7 @@ window.Height = (function(){ let result = delta * randoms[0] + Math.sqrt(1 - delta * delta) * randoms[1]; return randoms[0] >= 0 ? result : -result; }; - + // Height multiplier generator; skewed gaussian according to global parameters const multGenerator = function() { let result = skewedGaussian(skew); @@ -172,7 +172,7 @@ window.Height = (function(){ } return result; }; - + // Helper method: Generate a height based on the mean one and limited according to config. const heightGenerator = function(mean) { let result = mean * (1 + multGenerator() * spread); @@ -221,7 +221,7 @@ window.Height = (function(){ return interpolate(2, minHeight, midAge, midHeight, age); } }; - + const _meanHeight = function(nationality, race, genes, age) { if(_.isObject(nationality)) { // We got called with a single slave as the argument @@ -258,7 +258,7 @@ window.Height = (function(){ } return applyAge(result, age, genes); }; - + const _randomHeight = function(nationality, race, genes, age) { const mean = _meanHeight(nationality, race, genes, age); // If we got called with a slave object and options, temporarily modify @@ -272,7 +272,7 @@ window.Height = (function(){ } return heightGenerator(mean); }; - + const _forAge = function(height, age, genes) { if(_.isObject(age)) { // We got called with a slave as a second argument @@ -281,7 +281,7 @@ window.Height = (function(){ return applyAge(height, age, genes); } }; - + return { mean: _meanHeight, random: _randomHeight, @@ -380,19 +380,19 @@ window.cashFormat = function(s) { }; window.isFloat = function(n){ - return n === +n && n !== (n|0); + return n === +n && n !== (n|0); }; window.isInt = function(n) { - return n === +n && n === (n|0); + return n === +n && n === (n|0); }; window.numberWithCommas = function(x) { - return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); + return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }; window.jsRandom = function(min,max) { - return Math.floor(Math.random()*(max-min+1)+min); + return Math.floor(Math.random()*(max-min+1)+min); }; window.jsRandomMany = function (arr, count) { @@ -413,13 +413,13 @@ window.jsEither = function(choices) { //This function is alternative to clone - usage needed if nested objects present. Slower but result is separate object tree, not with reference to source object. window.deepCopy = function (o) { - var output, v, key; - output = Array.isArray(o) ? [] : {}; - for (key in o) { - v = o[key]; - output[key] = (typeof v === "object") ? deepCopy(v) : v; - } - return output; + var output, v, key; + output = Array.isArray(o) ? [] : {}; + for (key in o) { + v = o[key]; + output[key] = (typeof v === "object") ? deepCopy(v) : v; + } + return output; }; /* @@ -531,7 +531,7 @@ window.getSlaveDisplayName = function (slave) { "Mongolian", "Taiwanese", "Vietnamese"]; - var names = [slave.slaveName, slave.slaveSurname || ""]; + var names = [slave.slaveName, slave.slaveSurname || ""]; if ((1 !== State.variables.surnameOrder) && (surnamesFirstCountries.includes(slave.nationality))) names.reverse(); return names.join(" ").trim(); @@ -540,7 +540,7 @@ window.getSlaveDisplayName = function (slave) { window.getSlaveDevotionClass = function (slave) { if ((!slave) || (!State)) return undefined; - if ('mindbroken' == slave.fetish) + if ('mindbroken' == slave.fetish) return 'mindbroken'; if (slave.devotion < -95) return 'very-hateful'; @@ -574,7 +574,7 @@ window.getSlaveTrustClass = function (slave) { else if (slave.trust <= 20) return 'fearful'; else if (slave.trust <= 50) { - if (slave.devotion < -20) return 'hate-careful'; + if (slave.devotion < -20) return 'hate-careful'; else return 'careful'; } else if (slave.trust <= 95) { if (slave.devotion < -20) return 'bold'; diff --git a/src/js/vignettes.tw b/src/js/vignettes.tw index e38bafe1a37..023c1fb278a 100644 --- a/src/js/vignettes.tw +++ b/src/js/vignettes.tw @@ -12,7 +12,6 @@ window.GetVignette = function GetVignette(slave) { const himself = pronouns.objectReflexive; const boy = pronouns.noun; - if (slave.assignment === "whore" || slave.assignment === "work in the brothel" || slave.assignment === "be the Madam") { let seed = jsRandom(1, 10); switch (seed) { diff --git a/src/js/wombJS.tw b/src/js/wombJS.tw index b44bc26fcfb..ea9fc9d33e4 100644 --- a/src/js/wombJS.tw +++ b/src/js/wombJS.tw @@ -34,12 +34,12 @@ window.WombInit = function(actor) { } //console.log("broodmother:" + typeof actor.broodmother); - + if ( typeof actor.broodmother != "number" ) { actor.broodmother = 0; actor.broodmotherFetuses = 0; } - + if ( typeof actor.readyOva != "number" ) { actor.readyOva = 0; } @@ -209,7 +209,7 @@ window.WombNormalizePreg = function(actor) { // console.log("New actor: " + actor.slaveName + " ===============" + actor.name); WombInit(actor); - + // this is broodmother on hold. if (actor.womb.length == 0 && actor.broodmother >= 1) { actor.pregType = 0; @@ -220,16 +220,16 @@ window.WombNormalizePreg = function(actor) // So we set this for special case. if (actor.preg >= 0) actor.preg = 0.1; - + if (actor.pregSource > 0) actor.pregSource = 0; if (actor.pregWeek > 0) actor.pregWeek = 0; - + actor.broodmotherCountDown = 0; } - + if (actor.womb.length > 0) { var max = WombMaxPreg(actor); // console.log("max: " + max); @@ -253,10 +253,10 @@ window.WombNormalizePreg = function(actor) // console.log("preg fixing"); actor.pregType = 0; actor.pregKnown = 0; - + if (actor.preg > 0) actor.preg = 0; - + if (actor.pregSource > 0) actor.pregSource = 0; diff --git a/src/pregmod/organFarmOptions.tw b/src/pregmod/organFarmOptions.tw index 27db6ee7b34..4cf7b4bc51a 100644 --- a/src/pregmod/organFarmOptions.tw +++ b/src/pregmod/organFarmOptions.tw @@ -199,7 +199,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi <br> <<link "Cochleae">> <<set $cash -= 10000>> - <<set _newOrgan = {type: "cochleae", weeksToCompletion: "10", ID: 0}>> + <<set _newOrgan = {type: "cochleae", weeksToCompletion: "6", ID: 0}>> <<set _newOrgan.ID = $activeSlave.ID>> <<set $organs.push(_newOrgan)>> <<goto "Remote Surgery">> @@ -261,7 +261,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi <<switch $organs[_i].type>> <<case "penis" "scrotum" "foreskin" "prostate" "voicebox">> $organs[_i].type is - <<case "testicles" "ovaries" "eyes">> + <<case "testicles" "ovaries" "eyes" "cochleae">> $organs[_i].type are <<case "pigTesticles">> pig testicles are @@ -1105,6 +1105,72 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi <</if>> <</link>> <</if>> + <<elseif $completedOrgans[_i].type == "cochleae">> + <<if $activeSlave.hears > -2 && $activeSlave.earImplant != 1>> + <br> + ERROR: this slave has working cochleae. + <<link "Discard" "Remote Surgery">> + <<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>> + <<if _ofo != -1>> + <<set $completedOrgans.deleteAt(_ofo)>> + <<else>> + @@.red;Organ not found for deletion!@@ + <</if>> + <</link>> + <<elseif $activeSlave.earImplant == 1>> + <br> + <<link "Remove cochlear implants and implant" "Surgery Degradation">> + <<set $cash -= $surgeryCost>> + <<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>> + <<if _ofo != -1>> + <<set $completedOrgans.deleteAt(_ofo)>> + <<else>> + @@.red;Organ not found for deletion!@@ + <</if>> + <<set $stockpile.cochlearImplant++>> + <<set $activeSlave.hears = 0>> + <<set $activeSlave.health -= 20>> + <<if $organFarmUpgrade == 2>> + <<set $activeSlave.chem += 20>> + <</if>> + <<set $surgeryType = "newEars">> + <</link>> + | + <<link "Discard" "Remote Surgery">> + <<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>> + <<if _ofo != -1>> + <<set $completedOrgans.deleteAt(_ofo)>> + <<else>> + @@.red;Organ not found for deletion!@@ + <</if>> + <</link>> + <<else>> + <br> + <<link "Implant" "Surgery Degradation">> + <<set $cash -= $surgeryCost>> + <<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>> + <<if _ofo != -1>> + <<set $completedOrgans.deleteAt(_ofo)>> + <<else>> + @@.red;Organ not found for deletion!@@ + <</if>> + <<set $activeSlave.hears = 0>> + <<set $activeSlave.health -= 20>> + <<if $organFarmUpgrade == 2>> + <<set $activeSlave.chem += 20>> + <</if>> + <<set $surgeryType = "undeafen">> + <</link>> + | + <<link "Discard" "Remote Surgery">> + <<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>> + <<if _ofo != -1>> + <<set $completedOrgans.deleteAt(_ofo)>> + <<else>> + @@.red;Organ not found for deletion!@@ + <</if>> + <</link>> + <</if>> <<elseif $completedOrgans[_i].type == "mpreg">> <<if ($activeSlave.ovaries != 0) && ($activeSlave.vagina > -1) && ($activeSlave.mpreg != 0)>> <br> diff --git a/src/pregmod/widgets/bodySwapReaction.tw b/src/pregmod/widgets/bodySwapReaction.tw index 9f105a7a8fe..9933dbce534 100644 --- a/src/pregmod/widgets/bodySwapReaction.tw +++ b/src/pregmod/widgets/bodySwapReaction.tw @@ -13,17 +13,6 @@ <<else>> <<set _sight = 0>> /* no change */ <</if>> -<<if $args[0].hears <= -2 && $args[1].hears > -2>> - <<set _hearing = -2>> /* now deaf */ -<<elseif $args[0].hears == -1 && $args[1].hears > -1>> - <<set _hearing = -1>> /* now hard of hearing */ -<<elseif $args[0].hears > -2 && $args[1].hears <= -2>> - <<set _hearing = 2>> /* now not deaf */ -<<elseif $args[0].hears > -1 && $args[1].hears == -1>> - <<set _hearing = 1>> /* now not hard of hearing */ -<<else>> - <<set _hearing = 0>> /* no change */ -<</if>> <<set _end = 0>> <<if $args[0].health >= $args[1].health+10>> @@ -96,7 +85,7 @@ Now you only have to wait for $him to wake up. finally realizes that the new body $he found $himself in @@.gold;was not a nightmare as $he had hoped, but reality.@@ $He is @@.mediumorchid;utterly disturbed@@ by your removal of the last constant $he had in life. <<set $args[0].devotion -= 15, $args[0].trust -= 30>> <</if>> - + <<if _end != 1>> <<if $args[0].skin != $args[1].skin && canSee($args[0]) && $args[0].fetish != "mindbroken">> $His @@.coral;newly $args[0].skin skin@@ is the first thing that leaps out at $him. @@ -185,6 +174,24 @@ Now you only have to wait for $him to wake up. $He finds several new piercings adorning $his face. <</if>> + /* ear changes - WIP for future ear shape options */ + $He runs $his hands over $his ears, finding + <<if $args[0].hears <= -2 && $args[1].hears > -2>> + that, @@.gold;much to $his horror@@, there is nothing closing up $his ear canals, and this @@.red;world of silence@@ is $his new reality. + <<set $args[0].trust -= 15>> + <<elseif $args[0].hears == -1 && $args[1].hears > -1>> + that, @@.gold;much to $his distress@@, there is nothing blocking $his ear canals, and $his @@.red;diminished hearing@@ is all natural. + <<set $args[0].trust -= 5>> + <<elseif $args[0].hears > -2 && $args[1].hears <= -2>> + that, @@.hotpink;much to $his elation@@, $he @@.green;can now hear@@. While $he may question your motives, this is a gift $he will treasure. + <<set $args[0].devotion += 15, $args[0].trust += 10>> + <<elseif $args[0].hears > -1 && $args[1].hears == -1>> + that, @@.hotpink;much to $his joy@@, $he can now @@.green;hear much more clearly@@. While $he may question your motives, this is a gift $he will apreciate. + <<set $args[0].devotion += 5, $args[0].trust += 3>> + <<else>> + nothing particularly noteworthy. + <</if>> + <<if $args[0].sexualFlaw == "oral fixation" && $args[0].lips > $args[1].lips+10>> /* (bigger lip+oral fixation) */ $He slowly runs $his fingertips over the @@.lime;plush pillows.@@ A blush blossoms over $his face and the beeping of $his heart monitor speeds up slightly. You know that $he'll put them to good use. <<if $args[0].devotion <= 20>> @@ -1645,7 +1652,7 @@ Now you only have to wait for $him to wake up. <br><br> The changes to $his tattoos were not lost on $him, but compared to everything else, they were truly insignificant. <</if>> - + <<if $args[0].fetish != "mindbroken" && $args[0].origBodyOwnerID == $args[0].ID>> This is $his body alright. Some things might have changed, <<if $args[0].devotion > 50>> @@ -1658,7 +1665,7 @@ Now you only have to wait for $him to wake up. <<set $args[0].trust += 30, $args[0].devotion -= 15>> <</if>> <</if>> - + <</if>> <<elseif canSee($args[0])>> /* (amputee) + sight */ After a while, $he begins to stir, $his eyes fluttering. @@ -1723,7 +1730,7 @@ Now you only have to wait for $him to wake up. <</if>> Once $he regains control, $he once again turns to $his $args[0].skin bust <</if>> - + /*(breast changes)*/ <<if $args[0].boobsImplant > 0 && $args[1].boobsImplant > 0>> /*(breast implants)*/ and finds @@ -2180,11 +2187,11 @@ Now you only have to wait for $him to wake up. but then murmurs "...mirror..." <</if>> <</if>> - + <br><br> You depress a button and a long, body length mirror slides up from the floor near the wall. Your slave, with the help of an assistant, sits up against the side of the gurney and sees $his entire body for the first time. <br><br> - + $His eyes lock onto $his face. <<if $args[0].fetish != "mindbroken">> @@ -2204,7 +2211,7 @@ Now you only have to wait for $him to wake up. <<set $args[0].devotion += 1>> <</if>> <</if>> - + <<if $args[0].bald == 1 && $args[1].bald == 0>> /*(+baldness)*/ Something about $his head catches $his eye; @@.red;$he is now bald.@@ This <<if $args[0].fetish == "mindbroken">> @@ -2636,7 +2643,7 @@ Now you only have to wait for $him to wake up. <</if>> <<set _weightChange = 1>> <</if>> - + /*stomach*/ <<if _weightChange != 1>> <br><br> @@ -2869,7 +2876,7 @@ Now you only have to wait for $him to wake up. As $he moved, $he felt something odd in $his butt. $He can only speculate that $he has a new addition down there. <</if>> <</if>> - + <br><br> <<set _seeCrotch = 1>> <<if $args[0].weight > 97 || $args[0].belly >= 60000 || $args[0].boobs >= 20000>> /* crotch blockers */ @@ -2909,7 +2916,7 @@ Now you only have to wait for $him to wake up. <<else>> As $his eyes center on $his crotch, <</if>> - + <<if _seeCrotch == 1>> /*(changed genitals)*/ @@ -3021,7 +3028,7 @@ Now you only have to wait for $him to wake up. There was no missing the piercing in $his dick as well. <<set _cockChanged = 1>> <</if>> - + /*(ball changes)*/ <<if $args[0].balls != $args[1].balls && $args[0].scrotum != 0 && $args[1].scrotum != 0>> Then $he takes a moment to jostle $his balls, it seems they are @@ -3069,7 +3076,7 @@ Now you only have to wait for $him to wake up. <</if>> /*(vagina)*/ - + <<if $args[0].vagina != -1>> <<set _seeVagina = 1>> <<if $args[0].dick > 0>> @@ -3134,7 +3141,7 @@ Now you only have to wait for $him to wake up. <</if>> <</if>> <</if>> - + <<if ($args[0].boobsTat != $args[1].boobsTat || $args[0].buttTat != $args[1].buttTat || $args[0].lipsTat != $args[1].lipsTat || $args[0].vaginaTat != $args[1].vaginaTat || $args[0].anusTat != $args[1].anusTat || $args[0].dickTat != $args[1].dickTat || $args[0].customTat != $args[1].customTat || $args[0].shouldersTat != $args[1].shouldersTat || $args[0].armsTat != $args[1].armsTat || $args[0].legsTat != $args[1].legsTat || $args[0].backTat != $args[1].backTat || $args[0].stampTat != $args[1].stampTat || $args[0].bellyTat != $args[1].bellyTat) && $args[0].fetish != "mindbroken">> <br><br> The changes to $his tattoos were not lost on $him, but compared to everything else, they were truly insignificant. @@ -3196,9 +3203,9 @@ Now you only have to wait for $him to wake up. <<set $args[0].devotion += 5, $args[0].trust -= 15>> <</if>> <</if>> - + Since $he has no sight to see the changes to $his body, nor hands to feel them, $he lacks any real ability to visualize $his new body. You could explain the changes to $him, or even fondle $his new assets, but ultimately it will lack the same impact of forcing $him to discover $himself. - + <</if>> <</if>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 01d057b4fa1..0d3cbb46e77 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -12,11 +12,11 @@ /* 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 */ @@ -140,17 +140,17 @@ $His $activeSlave.faceShape face is <<if $activeSlave.indentureRestrictions < 1>> <<if $activeSlave.origEye != "implant">> <<if ($activeSlave.eyes > -2)>> - | [[Blind|Surgery Degradation][$activeSlave.eyes = -2,$activeSlave.eyeColor = "dulled " + $activeSlave.origEye,$activeSlave.eyeColor = $activeSlave.origEye,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "blind"]] + | [[Blind|Surgery Degradation][$activeSlave.eyes = -2,$activeSlave.eyeColor = "dulled " + $activeSlave.origEye,$activeSlave.eyeColor = $activeSlave.origEye,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "blind"]] <</if>> /*<<if ($activeSlave.eyes != -3)>> <<if ($activeSlave.eyes >= -2)>> | <</if>> - | [[Remove eyes|Surgery Degradation][$activeSlave.eyeColor = "empty",$activeSlave.origEye = "none",$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "remove eyes"]] + | [[Remove eyes|Surgery Degradation][$activeSlave.eyeColor = "empty",$activeSlave.origEye = "none",$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "remove eyes"]] <<if ($activeSlave.eyes != -2)>>//This will greatly restrict $him//<</if>> <</if>>*/ <</if>> <<if ($cyberMod == 1) && ($stockpile.ocularImplant > 0) && ($activeSlave.origEye != "implant")>> <<if ($activeSlave.eyes != -3)>> <</if>> - | [[Give her ocular implants|Surgery Degradation][$activeSlave.origEye = "implant", $stockpile.ocularImplant--,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "ocular implant"]] + | [[Give her ocular implants|Surgery Degradation][$activeSlave.origEye = "implant", $stockpile.ocularImplant--,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "ocular implant"]] <</if>> <</if>> <</if>> @@ -181,17 +181,17 @@ $His $activeSlave.faceShape face is <<if $activeSlave.indentureRestrictions < 1>> <<if $activeSlave.earImplant != 1>> <<if ($activeSlave.hears > -2)>> - | [[Deafen|Surgery Degradation][$activeSlave.hears = -2,$activeSlave.eyeColor = "dulled " + $activeSlave.origEye,$activeSlave.eyeColor = $activeSlave.origEye,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "deafen"]] + | [[Deafen|Surgery Degradation][$activeSlave.hears = -2,$activeSlave.eyeColor = "dulled " + $activeSlave.origEye,$activeSlave.eyeColor = $activeSlave.origEye,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "deafen"]] <</if>> /*<<if ($activeSlave.hears != -3)>> <<if ($activeSlave.hears >= -2)>> | <</if>> - | [[Remove eyes|Surgery Degradation][$activeSlave.eyeColor = "empty",$activeSlave.origEye = "none",$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "remove eyes"]] + | [[Remove eyes|Surgery Degradation][$activeSlave.eyeColor = "empty",$activeSlave.origEye = "none",$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "remove eyes"]] <<if ($activeSlave.hears != -2)>>//This will greatly restrict $him//<</if>> <</if>>*/ <</if>> <<if ($cyberMod == 1) && ($stockpile.ocularImplant > 0) && ($activeSlave.earImplant != 1)>> <<if ($activeSlave.hears != -3)>> <</if>> - | [[Give her cochlear implants|Surgery Degradation][$activeSlave.earImplant = 1, $stockpile.cochlearImplant--,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "cochlear implant"]] + | [[Give her cochlear implants|Surgery Degradation][$activeSlave.earImplant = 1, $stockpile.cochlearImplant--,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "cochlear implant"]] <</if>> <</if>> <</if>> @@ -230,12 +230,12 @@ $He has <</if>> <<if $activeSlave.lipsImplant != 0>> <<if $activeSlave.indentureRestrictions < 2>> - | [[Remove lip implants|Surgery Degradation][$activeSlave.lips = ($activeSlave.lips-$activeSlave.lipsImplant),$activeSlave.lipsImplant = 0,$cash -= $surgeryCost, $surgeryType = "lips"]] + | [[Remove lip implants|Surgery Degradation][$activeSlave.lips = ($activeSlave.lips-$activeSlave.lipsImplant),$activeSlave.lipsImplant = 0,$cash -= $surgeryCost, $surgeryType = "lips"]] <</if>> <</if>> <<if ($activeSlave.lips >= 10) && ($activeSlave.lipsImplant == 0)>> <<if $activeSlave.indentureRestrictions < 2>> - | [[Reduce lips|Surgery Degradation][$activeSlave.lips -= 10,$cash -= $surgeryCost, $surgeryType = "lips"]] + | [[Reduce lips|Surgery Degradation][$activeSlave.lips -= 10,$cash -= $surgeryCost, $surgeryType = "lips"]] <</if>> <</if>> @@ -267,7 +267,7 @@ $He has <<case "pointy">> $His teeth have been replaced with sturdy, realistic implants that mimic the dentition of a predator. <<if ($seeExtreme == 1) && ($activeSlave.indentureRestrictions < 1)>> - [[Replace them with removable prosthetics|Surgery Degradation][$activeSlave.teeth = "removable",$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "teeth"]] | [[Normal dental implants|Surgery Degradation][$activeSlave.teeth = 0,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "oral"]] + [[Replace them with removable prosthetics|Surgery Degradation][$activeSlave.teeth = "removable",$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "teeth"]] | [[Normal dental implants|Surgery Degradation][$activeSlave.teeth = 0,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "oral"]] <</if>> <<default>> $He has normal, healthy teeth. @@ -292,7 +292,7 @@ $He has <</if>> <<if ($activeSlave.voice != 0) && ($activeSlave.voiceImplant == 0) && ($activeSlave.voice < 3)>> <<if $activeSlave.indentureRestrictions < 1>> - [[Perform surgery to raise voice|Surgery Degradation][$activeSlave.voice += 1, $activeSlave.voiceImplant += 1, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "voice"]] + [[Perform surgery to raise voice|Surgery Degradation][$activeSlave.voice += 1, $activeSlave.voiceImplant += 1, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "voice"]] <</if>> <</if>> <<if ($activeSlave.voice != 0) && ($activeSlave.voiceImplant == 0) && ($activeSlave.voice < 3) && ($seeExtreme == 1) && ($activeSlave.indentureRestrictions < 1)>> @@ -300,7 +300,7 @@ $He has <</if>> <<if ($activeSlave.voice != 0) && ($seeExtreme == 1)>> <<if $activeSlave.indentureRestrictions < 1>> - [[Remove vocal cords|Surgery Degradation][$activeSlave.voice = 0, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "mute"]] + [[Remove vocal cords|Surgery Degradation][$activeSlave.voice = 0, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "mute"]] <</if>> <</if>> @@ -382,34 +382,34 @@ Work on her chest: <<if $activeSlave.boobsImplant != 0>> <<if $activeSlave.boobsImplantType == 1 && $activeSlave.boobsImplant > 400>> <<if $activeSlave.boobsImplant > 8000>> - | [[Drain 1000cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-1000),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-1000),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] + | [[Drain 1000cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-1000),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-1000),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] <<elseif $activeSlave.boobsImplant > 5000>> - | [[Drain 750cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-750),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-750),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] + | [[Drain 750cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-750),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-750),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] <<elseif $activeSlave.boobsImplant > 2000>> - | [[Drain 500cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-500),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-500),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] + | [[Drain 500cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-500),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-500),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] <<elseif $activeSlave.boobsImplant > 1000>> - | [[Drain 250cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-250),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-250),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] + | [[Drain 250cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-250),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-250),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] <<elseif $activeSlave.boobsImplant > 500>> - | [[Drain 100cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-100),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-100),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] + | [[Drain 100cc|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-100),$activeSlave.boobsImplant = ($activeSlave.boobsImplant-100),$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] <</if>> <</if>> - | [[Remove breast implants|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-$activeSlave.boobsImplant),$activeSlave.boobsImplant = 0,$activeSlave.boobsImplantType = 0, $activeSlave.health -= 5,$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] + | [[Remove breast implants|Surgery Degradation][$activeSlave.boobs = ($activeSlave.boobs-$activeSlave.boobsImplant),$activeSlave.boobsImplant = 0,$activeSlave.boobsImplantType = 0, $activeSlave.health -= 5,$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] <</if>> <<if ($activeSlave.boobs > 300) && ($activeSlave.boobsImplant == 0)>> <<if $activeSlave.indentureRestrictions >= 2>> <<else>> - | [[Reduce breasts|Surgery Degradation][$activeSlave.boobs -= 200, $activeSlave.health -= 5,$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] + | [[Reduce breasts|Surgery Degradation][$activeSlave.boobs -= 200, $activeSlave.health -= 5,$cash -= $surgeryCost, $surgeryType = "boobsLoss"]] <</if>> <</if>> <<if ($activeSlave.boobs >= 7000) && ($activeSlave.boobsImplant == 0)>> <<if $activeSlave.indentureRestrictions >= 2 || ($activeSlave.breedingMark == 1 && $propOutcome == 1)>> <<else>> - | [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,$cash -= $surgeryCost, $surgeryType = "mastectomy+"]] + | [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,$cash -= $surgeryCost, $surgeryType = "mastectomy+"]] <</if>> <<elseif ($activeSlave.boobs >= 2000) && ($activeSlave.boobsImplant == 0)>> <<if $activeSlave.indentureRestrictions >= 2 || ($activeSlave.breedingMark == 1 && $propOutcome == 1)>> <<else>> - | [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,$cash -= $surgeryCost, $surgeryType = "mastectomy"]] + | [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,$cash -= $surgeryCost, $surgeryType = "mastectomy"]] <</if>> <</if>> @@ -520,7 +520,7 @@ Work on her chest: <</if>> <</if>> <<if $activeSlave.lactation > 1>> - | [[Remove lactation implant|Surgery Degradation][$activeSlave.lactation = 0,$cash -= $surgeryCost, $surgeryType = "endlac"]] + | [[Remove lactation implant|Surgery Degradation][$activeSlave.lactation = 0,$cash -= $surgeryCost, $surgeryType = "endlac"]] <</if>> <br><br> @@ -566,7 +566,6 @@ waist. <</if>> <</if>> - <br> $He's <<if $activeSlave.pregKnown > 0>> @@ -626,11 +625,11 @@ $He's <</if>> <<if $activeSlave.bellyImplant > -1>> <<if $activeSlave.indentureRestrictions < 2>> - | [[Drain implant|Surgery Degradation][$activeSlave.bellyImplant -= 200,$cash -= $surgeryCost, $surgeryType = "bellyDown"]] + | [[Drain implant|Surgery Degradation][$activeSlave.bellyImplant -= 200,$cash -= $surgeryCost, $surgeryType = "bellyDown"]] <<if $activeSlave.bellyImplant >= 500>> - | [[Greatly drain implant|Surgery Degradation][$activeSlave.bellyImplant -= 500,$cash -= $surgeryCost, $surgeryType = "bellyDown"]] + | [[Greatly drain implant|Surgery Degradation][$activeSlave.bellyImplant -= 500,$cash -= $surgeryCost, $surgeryType = "bellyDown"]] <</if>> - | [[Remove implant|Surgery Degradation][$activeSlave.bellyImplant = -1, $activeSlave.cervixImplant = 0, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "bellyOut"]] + | [[Remove implant|Surgery Degradation][$activeSlave.bellyImplant = -1, $activeSlave.cervixImplant = 0, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "bellyOut"]] <</if>> <<if $activeSlave.cervixImplant != 1 && $cervixImplants == 1 && $activeSlave.vagina > -1>> /* slave should have vagina */ <br> @@ -703,21 +702,20 @@ $He's got a <<if $activeSlave.buttImplant != 0>> <<if $activeSlave.indentureRestrictions < 2>> <<if $activeSlave.buttImplantType == 1 && $activeSlave.buttImplant > 1>> - | [[Drain implants|Surgery Degradation][$activeSlave.butt = ($activeSlave.butt-1),$activeSlave.buttImplant = ($activeSlave.buttImplant-1),$cash -= $surgeryCost, $surgeryType = "buttLoss"]] + | [[Drain implants|Surgery Degradation][$activeSlave.butt = ($activeSlave.butt-1),$activeSlave.buttImplant = ($activeSlave.buttImplant-1),$cash -= $surgeryCost, $surgeryType = "buttLoss"]] <</if>> - | [[Remove implants|Surgery Degradation][$activeSlave.butt = ($activeSlave.butt-$activeSlave.buttImplant),$activeSlave.buttImplant = 0,$activeSlave.buttImplantType = 0,$cash -= $surgeryCost, $surgeryType = "buttLoss"]] + | [[Remove implants|Surgery Degradation][$activeSlave.butt = ($activeSlave.butt-$activeSlave.buttImplant),$activeSlave.buttImplant = 0,$activeSlave.buttImplantType = 0,$cash -= $surgeryCost, $surgeryType = "buttLoss"]] <</if>> <</if>> <<if ($activeSlave.butt > 1) && ($activeSlave.buttImplant == 0)>> <<if $activeSlave.indentureRestrictions < 2>> - | [[Reduce ass|Surgery Degradation][$activeSlave.butt -= 1,$cash -= $surgeryCost, $surgeryType = "buttLoss"]] + | [[Reduce ass|Surgery Degradation][$activeSlave.butt -= 1,$cash -= $surgeryCost, $surgeryType = "buttLoss"]] <</if>> <</if>> <br><br> Work on her sex: - <<if $activeSlave.vagina > -1>> <br> <<if $activeSlave.labia == 0>> @@ -760,13 +758,13 @@ Work on her sex: <<if ($activeSlave.clit < 3) && ($surgeryUpgrade == 1)>> <<if $activeSlave.indentureRestrictions < 1>> <<if $activeSlave.clit > 0>> | <</if>> - [[Increase clit|Surgery Degradation][$activeSlave.clit += 1,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "clitoral enlargement"]] + [[Increase clit|Surgery Degradation][$activeSlave.clit += 1,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "clitoral enlargement"]] <</if>> <</if>> <<if ($activeSlave.foreskin > 0) && $activeSlave.clit > 0>> <<if $seeCircumcision == 1>> <<if $activeSlave.indentureRestrictions < 2>> - | [[Remove clitoral hood|Surgery Degradation][$activeSlave.foreskin = 0,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "circumcision"]] + | [[Remove clitoral hood|Surgery Degradation][$activeSlave.foreskin = 0,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "circumcision"]] <</if>> <</if>> <</if>> @@ -798,13 +796,13 @@ Work on her sex: <<if ($activeSlave.ovaries == 1) && ($activeSlave.preg < 1)>> <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - <<if ($activeSlave.pubertyXX == 0)>> - <br> - $He has ovaries but has not had $his first period. - <<else>> - <br> - $He has working ovaries. - <</if>> + <<if ($activeSlave.pubertyXX == 0)>> + <br> + $He has ovaries but has not had $his first period. + <<else>> + <br> + $He has working ovaries. + <</if>> [[Oophorectomy|Surgery Degradation][$activeSlave.ovaries = 0,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "ster"]] <</if>> <</if>> @@ -869,27 +867,27 @@ Work on her sex: [[Repair pussy|Surgery Degradation][$activeSlave.vagina = 3,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "vagina"]] //This will reduce $his vaginal skills// <<elseif ($surgeryUpgrade == 1) && ($activeSlave.indentureRestrictions < 2)>> <<if ($activeSlave.vagina > 1)>> - <br> - $His vaginal muscles could benefit from microsurgical rejuvenation. - [[Tighten pussy|Surgery Degradation][$activeSlave.vagina = 1,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "vagina"]] //This will reduce $his vaginal skills// + <br> + $His vaginal muscles could benefit from microsurgical rejuvenation. + [[Tighten pussy|Surgery Degradation][$activeSlave.vagina = 1,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "vagina"]] //This will reduce $his vaginal skills// <<elseif ($activeSlave.vagina > 0)>> - <br> - $His pussy is as tight as a virgin's, and $his hymen could be restored. - [[Restore virginity|Surgery Degradation][$activeSlave.vagina = 0,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "vagina"]] //This will reduce $his vaginal skills// + <br> + $His pussy is as tight as a virgin's, and $his hymen could be restored. + [[Restore virginity|Surgery Degradation][$activeSlave.vagina = 0,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "vagina"]] //This will reduce $his vaginal skills// <</if>> <</if>> <<if ($activeSlave.vagina > -1) && ($activeSlave.dick > 0)>> <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - <br> - Since $he has both a penis and a vagina, it's possible to remove $his pussy and leave $his sexually functional. - [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",$cash -= $surgeryCost,$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> + <br> + Since $he has both a penis and a vagina, it's possible to remove $his pussy and leave $his sexually functional. + [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",$cash -= $surgeryCost,$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> <</if>> <<elseif $activeSlave.vagina > -1>> <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - <br> - $His pussy can be removed at the cost of $his sexual functionality, leaving $him a null. - [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",$cash -= $surgeryCost,$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> + <br> + $His pussy can be removed at the cost of $his sexual functionality, leaving $him a null. + [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",$cash -= $surgeryCost,$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> <</if>> <</if>> @@ -898,34 +896,34 @@ Work on her sex: $He is a null, possessing neither penis nor vagina. <<elseif ($seeCircumcision == 1) && ($activeSlave.indentureRestrictions < 2)>> <<if ($activeSlave.dick != 0) && ($activeSlave.vagina == -1) && ($activeSlave.foreskin == 0)>> - <br> - $He has a circumcised penis. + <br> + $He has a circumcised penis. <<elseif ($activeSlave.dick != 0) && ($activeSlave.vagina == -1) && ($activeSlave.foreskin >= 1)>> - <br> - $He has an uncircumcised penis. + <br> + $He has an uncircumcised penis. <<elseif ($activeSlave.dick != 0) && ($activeSlave.ovaries != 0) && ($activeSlave.foreskin == 0)>> - <br> - $He has a circumcised penis and a vagina. + <br> + $He has a circumcised penis and a vagina. <<elseif ($activeSlave.dick != 0) && ($activeSlave.ovaries != 0) && ($activeSlave.foreskin >= 1)>> - <br> - $He has an uncircumcised penis and a vagina. + <br> + $He has an uncircumcised penis and a vagina. <<elseif ($activeSlave.dick != 0) && ($activeSlave.vagina != -1) && ($activeSlave.foreskin == 0)>> - <br> - $He has a circumcised penis and a<<if $activeSlave.genes == "XY">>n artificial<</if>> vagina. + <br> + $He has a circumcised penis and a<<if $activeSlave.genes == "XY">>n artificial<</if>> vagina. <<elseif ($activeSlave.dick != 0) && ($activeSlave.vagina != -1) && ($activeSlave.foreskin >= 1)>> - <br> - $He has an uncircumcised penis and a<<if $activeSlave.genes == "XY">>n artificial<</if>> vagina. + <br> + $He has an uncircumcised penis and a<<if $activeSlave.genes == "XY">>n artificial<</if>> vagina. <</if>> <<else>> <<if ($activeSlave.dick != 0) && ($activeSlave.vagina == -1)>> - <br> - $He has a penis. + <br> + $He has a penis. <<elseif ($activeSlave.dick != 0) && ($activeSlave.ovaries != 0)>> - <br> - $He has a penis and a vagina. + <br> + $He has a penis and a vagina. <<elseif ($activeSlave.dick != 0) && ($activeSlave.vagina != -1)>> - <br> - $He has a penis and a<<if $activeSlave.genes == "XY">>n artificial<</if>> vagina. + <br> + $He has a penis and a<<if $activeSlave.genes == "XY">>n artificial<</if>> vagina. <</if>> <</if>> @@ -937,12 +935,12 @@ Work on her sex: | [[Create a vagina|Surgery Degradation][$activeSlave.vagina = 0,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "mtf"]] <</if>> <<if ($activeSlave.dick > 0) && ($seeExtreme == 1)>> - | [[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "chop"]] + | [[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "chop"]] <</if>> <<if ($activeSlave.foreskin > 0) && $activeSlave.dick > 0>> <<if $seeCircumcision == 1>> <<if $activeSlave.indentureRestrictions < 2>> - | [[Remove foreskin|Surgery Degradation][$activeSlave.foreskin = 0,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "circumcision"]] + | [[Remove foreskin|Surgery Degradation][$activeSlave.foreskin = 0,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "circumcision"]] <</if>> <</if>> <</if>> @@ -1005,13 +1003,13 @@ Work on her sex: <</if>> <</if>> <<if $activeSlave.prostate == 3>> - | [[Remove ejaculation implant|Surgery Degradation][$activeSlave.prostate = 2,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "endejac"]] + | [[Remove ejaculation implant|Surgery Degradation][$activeSlave.prostate = 2,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "endejac"]] <<elseif $activeSlave.prostate == 2>> - | [[Remove drug implant|Surgery Degradation][$activeSlave.prostate=1,$cash-=$surgeryCost,$surgeryType="endprecum"]] + | [[Remove drug implant|Surgery Degradation][$activeSlave.prostate=1,$cash-=$surgeryCost,$surgeryType="endprecum"]] <</if>> <<else>> <<if $activeSlave.prostate > 1>> - [[Remove drug implant|Surgery Degradation][$activeSlave.prostate=1,$cash-=$surgeryCost,$surgeryType="endprecum"]] + [[Remove drug implant|Surgery Degradation][$activeSlave.prostate=1,$cash-=$surgeryCost,$surgeryType="endprecum"]] <</if>> <<if $activeSlave.prostate < 2>> <<if $activeSlave.indentureRestrictions < 2>> @@ -1021,7 +1019,7 @@ Work on her sex: <</if>> <<if ($seeExtreme == 1)>> <<if $activeSlave.indentureRestrictions < 1>> - | [[Remove prostate|Surgery Degradation][$activeSlave.prostate = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "prostate"]] + | [[Remove prostate|Surgery Degradation][$activeSlave.prostate = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "prostate"]] <</if>> <</if>> <</if>> @@ -1063,17 +1061,17 @@ $He has <<if $arcologies[0].childhoodFertilityInducedNCSResearch == 1>> Apply a retro-virus treatment: <br> - <<if $activeSlave.inducedNCS == 0>> - <<if ($activeSlave.indentureRestrictions >= 1)>> - //$His indenture forbids induced NCS as it is both extreme body modification and elective surgery// - <<elseif $activeSlave.health < 0>> - She's too unhealthy for the Induced @@.orange;NCS@@ Treatment - <<else>> - [[Induced NCS Treatment|Surgery Degradation][$activeSlave.inducedNCS = 1,$cash -= $surgeryCost * 4, $activeSlave.health -= 80,$surgeryType = "retrograde virus injection NCS"]] //This will induce @@.orange;NCS@@ in $his genetic code// - <</if>> - <<else>> - //She already has Induced @@.orange;NCS@@// - <</if>> + <<if $activeSlave.inducedNCS == 0>> + <<if ($activeSlave.indentureRestrictions >= 1)>> + //$His indenture forbids induced NCS as it is both extreme body modification and elective surgery// + <<elseif $activeSlave.health < 0>> + She's too unhealthy for the Induced @@.orange;NCS@@ Treatment + <<else>> + [[Induced NCS Treatment|Surgery Degradation][$activeSlave.inducedNCS = 1,$cash -= $surgeryCost * 4, $activeSlave.health -= 80,$surgeryType = "retrograde virus injection NCS"]] //This will induce @@.orange;NCS@@ in $his genetic code// + <</if>> + <<else>> + //She already has Induced @@.orange;NCS@@// + <</if>> <br><br> <</if>> @@ -1230,15 +1228,14 @@ Work on her structurally: <br> <</if>> - <<if ($activeSlave.amp == 0)>> -<<if ($activeSlave.heightImplant == 0)>> - $He has normal femurs and humeri. -<<elseif ($activeSlave.heightImplant > 0)>> - $His femurs, humeri, and other major bones have been lengthened. -<<elseif ($activeSlave.heightImplant < 0)>> - $His femurs, humeri, and other major bones have been shortened. -<</if>> + <<if ($activeSlave.heightImplant == 0)>> + $He has normal femurs and humeri. + <<elseif ($activeSlave.heightImplant > 0)>> + $His femurs, humeri, and other major bones have been lengthened. + <<elseif ($activeSlave.heightImplant < 0)>> + $His femurs, humeri, and other major bones have been shortened. + <</if>> <<if ($activeSlave.heightImplant == 0)>> <<if $activeSlave.indentureRestrictions < 1>> [[Lengthen major bones|Surgery Degradation][$activeSlave.heightImplant = 1,$activeSlave.height += 10,$cash -= $surgeryCost, $activeSlave.health -= 40,$surgeryType = "height"]] | [[Shorten major bones|Surgery Degradation][$activeSlave.heightImplant = -1,$activeSlave.height -= 10,$cash -= $surgeryCost, $activeSlave.health -= 40,$surgeryType = "height"]] @@ -1275,26 +1272,26 @@ Work on her structurally: <<if ($activeSlave.amp == 0)>> - $He has healthy limbs. + $He has healthy limbs. <<else>> - $He is a quadruple amputee - <<if $activeSlave.PLimb == 1 && $activeSlave.amp == 1>> - and has been implanted with a <<if $cyberMod>>basic<</if>> PLimb interface. - <<elseif $activeSlave.PLimb == 2 && $activeSlave.amp == 1>> - and has been implanted with an advanced PLimb interface. - <<elseif $activeSlave.amp == -1>> - and has been equipped with modern prosthetics. - <<elseif $activeSlave.amp == -2>> - and has been equipped with advanced, sex-focused prosthetics. - <<elseif $activeSlave.amp == -3>> - and has been equipped with advanced, beauty-focused prosthetics. - <<elseif $activeSlave.amp == -4>> - and has been equipped with advanced, combat-focused prosthetics. - <<elseif $activeSlave.amp == -5>> - and has been equipped with highly advanced cybernetic prosthetics. - <<else>> - and has not been equipped with prosthetics. - <</if>> + $He is a quadruple amputee + <<if $activeSlave.PLimb == 1 && $activeSlave.amp == 1>> + and has been implanted with a <<if $cyberMod>>basic<</if>> PLimb interface. + <<elseif $activeSlave.PLimb == 2 && $activeSlave.amp == 1>> + and has been implanted with an advanced PLimb interface. + <<elseif $activeSlave.amp == -1>> + and has been equipped with modern prosthetics. + <<elseif $activeSlave.amp == -2>> + and has been equipped with advanced, sex-focused prosthetics. + <<elseif $activeSlave.amp == -3>> + and has been equipped with advanced, beauty-focused prosthetics. + <<elseif $activeSlave.amp == -4>> + and has been equipped with advanced, combat-focused prosthetics. + <<elseif $activeSlave.amp == -5>> + and has been equipped with highly advanced cybernetic prosthetics. + <<else>> + and has not been equipped with prosthetics. + <</if>> <</if>> <<if $cyberMod == 0>> @@ -1446,15 +1443,15 @@ Work on her structurally: The prosthesis facility is currently building a set of <<switch $activeLimbs.type>> <<case "cyber">> - highly advanced cybernetic + highly advanced cybernetic <<case "sex">> - advanced sex-focus artificial + advanced sex-focus artificial <<case "beauty">> - advanced beauty-focus artificial + advanced beauty-focus artificial <<case "combat">> - advanced combat-focus artificial + advanced combat-focus artificial <<default>> - standard artificial + standard artificial <</switch>> limbs for $him, which is projected to be ready for attachment in $activeLimbs.weeksToCompletion <<if $activeLimbs.weeksToCompletion == 1>>week<<else>>weeks<</if>>. <<link "Discard">> diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index fe6c117ace8..618ebad92f3 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -5,7 +5,7 @@ /* disallow surgery for slaves on certain assignments */ <<switch $activeSlave.assignment>> <<case "be your agent" "live with your agent">> - @@.red;You must retrieve $activeSlave.slaveName from her assignment before performing surgery on her.@@ + @@.red;You must retrieve $activeSlave.slaveName from her assignment before performing surgery on $him.@@ <<goto $nextLink>> <</switch>> @@ -34,18 +34,18 @@ $activeSlave.slaveName's mesh implantation @@.red;has gone wrong, resulting in a mastectomy!@@ <<if ($activeSlave.boobs >= 7000)>> <<if ($activeSlave.areolae > 2)>> - The emergency mastectomy also @@.orange;slightly reduces her massive areolae.@@ + The emergency mastectomy also @@.orange;slightly reduces $his massive areolae.@@ <<set $activeSlave.areolae -= 1>> <</if>> <<if ($activeSlave.nipples == "huge")>> - The emergency mastectomy also @@.orange;slightly reduces her massive nipples.@@ + The emergency mastectomy also @@.orange;slightly reduces $his massive nipples.@@ <<set $activeSlave.nipples = "puffy">> <<elseif $activeSlave.nipples == "fuckable">> - Without the tissue needed to support their unusual shape, her fuckable nipples have reverted @@.orange;to being huge and protruding.@@ + Without the tissue needed to support their unusual shape, $his fuckable nipples have reverted @@.orange;to being huge and protruding.@@ <<set $activeSlave.nipples = "huge">> <</if>> <<if ($activeSlave.sexualFlaw == "breast growth")>> - <<if canSee($activeSlave)>>She can hardly believe what she is seeing. The immense bust she managed to grow has been all but stripped from her. Her face fills with disbelief as her flatness dawns on her<<else>>She immediately notices the lack of an immense weight hanging off her chest. Her face fills with disbelief as her flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>Her hands immediately dart to grope her tits, but she only ends up grabbing air. Her face twitches, her mind unable to comprehend why this has happened to her. Her hands fall to her sides as her will breaks.<<else>> She tries to squirm, and finds she is no longer pinned by her tits. Her face twitches, her mind unable to comprehend why this has happened to her. She sobs once as her will to go on breaks apart.<</if>> She loved her enormous breasts, and now that they are gone, she has nothing to live for. @@.red;Your apparent theft of her obsession has broken her mind@@. As with all invasive surgery @@.red;her health has been affected.@@ + <<if canSee($activeSlave)>>$He can hardly believe what $he is seeing. The immense bust $he managed to grow has been all but stripped from $him. $His face fills with disbelief as $his flatness dawns on her<<else>>$He immediately notices the lack of an immense weight hanging off $his chest. $His face fills with disbelief as $his flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>$His hands immediately dart to grope $his tits, but $he only ends up grabbing air. $His face twitches, $his mind unable to comprehend why this has happened to $him. $His hands fall to $his sides as $his will breaks.<<else>> $He tries to squirm, and finds $he is no longer pinned by $his tits. $His face twitches, $his mind unable to comprehend why this has happened to $him. $He sobs once as $his will to go on breaks apart.<</if>> $He loved $his enormous breasts, and now that they are gone, $he has nothing to live for. @@.red;Your apparent theft of $his obsession has broken $his mind@@. As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.trust = -50>> <<set $activeSlave.devotion = -50>> <<set $activeSlave.fetish = "mindbroken">> @@ -54,35 +54,35 @@ <<set $activeSlave.behavioralQuirk = "none">> <<set $activeSlave.behavioralFlaw = "none">> <<elseif ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($activeSlave.devotion < 20)>> - <<if canSee($activeSlave)>>She can hardly believe what she is seeing. Her once magnificent, immense bust has been all but stripped from her. Her face fills with resentment as her flatness dawns on her<<else>>She immediately notices the lack of an immense weight hanging off her chest. Her face fills with resentment as her flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She loved her enormous breasts, and they were apparently swiped from off her chest by the person she was just beginning to entrust herself to. @@.mediumorchid;She sees this as a betrayal by you@@. As with all invasive surgery @@.red;her health has been affected.@@ She is now @@.gold;terribly afraid@@ that you may chose to steal something else she loves, even though it was your intent to preserve them. + <<if canSee($activeSlave)>>$He can hardly believe what $he is seeing. $His once magnificent, immense bust has been all but stripped from $him. $His face fills with resentment as $his flatness dawns on her<<else>>$He immediately notices the lack of an immense weight hanging off $his chest. $His face fills with resentment as $his flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He loved her enormous breasts, and they were apparently swiped from off $his chest by the person $he was just beginning to entrust $himself to. @@.mediumorchid;$He sees this as a betrayal by you@@. As with all invasive surgery @@.red;$his health has been affected.@@ $He is now @@.gold;terribly afraid@@ that you may chose to steal something else $he loves, even though it was your intent to preserve them. <<set $activeSlave.trust -= 40>> <<set $activeSlave.devotion -= 20>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her new, tiny breasts experimentally and turns to you with a smile to show off her new, slimmer form, completely unaware this wasn't your intent. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her tiny breasts move and turns her torso to you with a smile to show them off. She's still sore, so she doesn't bounce too much.<</if>> @@.hotpink;She's happy with your changes to her boobs@@ and @@.mediumaquamarine;thankful@@ that you'd consider her health, well being and ability to fuck. As with all invasive surgery @@.red;her health has been affected.@@ + <<if $activeSlave.amp != 1>>$He hefts her new, tiny breasts experimentally and turns to you with a smile to show off her new, slimmer form, completely unaware this wasn't your intent. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her tiny breasts move and turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't bounce too much.<</if>> @@.hotpink;$He's happy with your changes to $his boobs@@ and @@.mediumaquamarine;thankful@@ that you'd consider $his health, well being and ability to fuck. As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new, tiny breasts with appreciation<<else>>She attempts to sway her big tits experimentally, only to find her chest barely moves at all<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, but both your and her expected something other than this when she was sent to the surgery. She isn't much affected mentally. As with all invasive surgery @@.red;her health has been affected.@@ She is @@.mediumaquamarine;thankful@@ that you removed the literal weight off her chest. + <<if canSee($activeSlave)>>$He eyes her new, tiny breasts with appreciation<<else>>$He attempts to sway her big tits experimentally, only to find $his chest barely moves at all<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, but both your and her expected something other than this when $he was sent to the surgery. $He isn't much affected mentally. As with all invasive surgery @@.red;$his health has been affected.@@ $He is @@.mediumaquamarine;thankful@@ that you removed the literal weight off $his chest. <<set $activeSlave.trust += 5>> <<else>> - <<if canSee($activeSlave)>>She eyes the sudden lack of her former breasts with relief<<else>>The sudden lack of weight on her chest fills her with relief<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but she breaths easier without the immense weight hanging from her.<<else>>She's still sore, so she keeps her torso still, but she breaths easier without the immense weight hanging from her.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every supposed whim. For now, @@.hotpink;she seems appreciative of this literal weight lifted from her chest@@ and @@.mediumaquamarine;is thankful for your consideration of her health,@@ though it may be short lived. As with all invasive surgery @@.red;her health has been affected.@@ + <<if canSee($activeSlave)>>$He eyes the sudden lack of her former breasts with relief<<else>>The sudden lack of weight on $his chest fills $him with relief<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but $he breaths easier without the immense weight hanging from $him.<<else>>$He's still sore, so $he keeps $his torso still, but $he breaths easier without the immense weight hanging from $him.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every supposed whim. For now, @@.hotpink;$he seems appreciative of this literal weight lifted from $his chest@@ and @@.mediumaquamarine;is thankful for your consideration of $his health,@@ though it may be short lived. As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.trust += 10>> <<set $activeSlave.devotion += 5>> <</if>> <<else>> <<if ($activeSlave.areolae > 2)>> - The emergency mastectomy also @@.orange;slightly reduces her massive areolae.@@ + The emergency mastectomy also @@.orange;slightly reduces $his massive areolae.@@ <<set $activeSlave.areolae -= 1>> <</if>> <<if ($activeSlave.nipples == "huge")>> - The emergency mastectomy also @@.orange;slightly reduces her massive nipples.@@ + The emergency mastectomy also @@.orange;slightly reduces $his massive nipples.@@ <<set $activeSlave.nipples = "puffy">> <<elseif $activeSlave.nipples == "fuckable">> Without the tissue needed to support their unusual shape, her fuckable nipples have reverted @@.orange;to being huge and protruding.@@ <<set $activeSlave.nipples = "huge">> <</if>> <<if ($activeSlave.sexualFlaw == "breast growth")>> - <<if canSee($activeSlave)>>She can hardly believe what she is seeing. Her once glorious bust has been all but stripped from her. Her face fills with disbelief as her flatness dawns on her<<else>>She immediately notices the lack of an immense weight hanging off her chest. Her face fills with disbelief as her flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>Her hands immediately dart to grope her tits, but she only ends up grabbing air. Her face twitches, her mind unable to comprehend why this has happened to her. Her hands fall to her sides as her will breaks.<<else>> She tries to squirm, and finds she is no longer pinned by her tits. Her face twitches, her mind unable to comprehend why this has happened to her. She sobs once as her will to go on breaks apart.<</if>> She loved her huge breasts, and now that they are gone, she has nothing to live for. @@.red;Your theft of her obsession has broken her mind@@. As with all invasive surgery @@.red;her health has been affected.@@ + <<if canSee($activeSlave)>>$He can hardly believe what $he is seeing. $His once glorious bust has been all but stripped from $him. $His face fills with disbelief as $his flatness dawns on her<<else>>$He immediately notices the lack of an immense weight hanging off $his chest. $His face fills with disbelief as $his flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>$His hands immediately dart to grope her tits, but $he only ends up grabbing air. $His face twitches, her mind unable to comprehend why this has happened to $him. $His hands fall to her sides as her will breaks.<<else>> $He tries to squirm, and finds $he is no longer pinned by her tits. $His face twitches, her mind unable to comprehend why this has happened to $him. $He sobs once as her will to go on breaks apart.<</if>> $He loved $his huge breasts, and now that they are gone, $he has nothing to live for. @@.red;Your theft of $his obsession has broken her mind@@. As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.trust = -50>> <<set $activeSlave.devotion = -50>> <<set $activeSlave.fetish = "mindbroken">> @@ -91,29 +91,28 @@ <<set $activeSlave.behavioralQuirk = "none">> <<set $activeSlave.behavioralFlaw = "none">> <<elseif ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($activeSlave.devotion < 20)>> - <<if canSee($activeSlave)>>She can hardly believe what she is seeing. Her once magnificent bust has been all but stripped from her. Her face fills with resentment as her flatness dawns on her<<else>>She immediately notices the lack of an immense weight hanging off her chest. Her face fills with resentment as her flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She loved her huge breasts, and they were apparently swiped from off her chest by the person she was just beginning to entrust herself to. @@.mediumorchid;She sees this as a betrayal by you@@. As with all invasive surgery @@.red;her health has been affected.@@ She is now @@.gold;terribly afraid@@ that you may chose to steal something else she loves, even though it was your intent to preserve them. + <<if canSee($activeSlave)>>$He can hardly believe what $he is seeing. $His once magnificent bust has been all but stripped from $him. $His face fills with resentment as $his flatness dawns on her<<else>>$He immediately notices the lack of an immense weight hanging off $his chest. $His face fills with resentment as $his flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He loved $his huge breasts, and they were apparently swiped from off $his chest by the person $he was just beginning to entrust $himself to. @@.mediumorchid;$He sees this as a betrayal by you@@. As with all invasive surgery @@.red;$his health has been affected.@@ $He is now @@.gold;terribly afraid@@ that you may chose to steal something else $he loves, even though it was your intent to preserve them. <<set $activeSlave.trust -= 40>> <<set $activeSlave.devotion -= 20>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her new, tiny breasts experimentally and turns to you with a smile to show off her new, slimmer form, completely unaware this wasn't your intent. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her tiny breasts move and turns her torso to you with a smile to show them off. She's still sore, so she doesn't bounce too much.<</if>> @@.hotpink;She's happy with your changes to her boobs.@@ As with all invasive surgery @@.red;her health has been affected.@@ + <<if $activeSlave.amp != 1>>$He hefts her new, tiny breasts experimentally and turns to you with a smile to show off her new, slimmer form, completely unaware this wasn't your intent. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her tiny breasts move and turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't bounce too much.<</if>> @@.hotpink;$He's happy with your changes to $his boobs.@@ As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new, tiny breasts skeptically<<else>>She attempts to sway her big tits experimentally, only to find her chest barely moves at all<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, but both your and her expected something other than this when she was sent to the surgery. She isn't much affected mentally. As with all invasive surgery @@.red;her health has been affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new, tiny breasts skeptically<<else>>$He attempts to sway her big tits experimentally, only to find $his chest barely moves at all<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, but both your and her expected something other than this when $he was sent to the surgery. $He isn't much affected mentally. As with all invasive surgery @@.red;$his health has been affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes the sudden lack of her former breasts with resentment<<else>>The sudden lack of weight on her chest fills her with resentment<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this apparent surgical theft as a cruel imposition@@. As with all invasive surgery @@.red;her health has been affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes the sudden lack of her former breasts with resentment<<else>>The sudden lack of weight on $his chest fills $him with resentment<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this apparent surgical theft as a cruel imposition@@. As with all invasive surgery @@.red;$his health has been affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <</if>> <<set $activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30, $cash -= $surgeryCost>> - <<else>> <<switch $surgeryType>> <<case "fuckdoll" "mindbreak" "blind" "remove eyes" "amp" "removeLimbs" "amp1" "PLimb interface1" "PLimb interface2" "PLimb interface3">> <<set _ID = $activeSlave.ID>> - <<if _ID == $Lurcher.ID>><<set $Lurcher = 0>><</if>> + <<if _ID == $Lurc$him.ID>><<set $Lurcher = 0>><</if>> <<if _ID == $Recruiter.ID>><<set $Recruiter = 0>><</if>> <<if _ID == $HeadGirl.ID>><<set $HeadGirl = 0>><</if>> <<if _ID == $Bodyguard.ID>><<set $Bodyguard = 0>><</if>> @@ -121,7 +120,7 @@ <<if _ID == $Madam.ID>><<set $Madam = 0>><</if>> <<if _ID == $DJ.ID>><<set $DJ = 0>><</if>> <<if _ID == $Milkmaid.ID>><<set $Milkmaid = 0>><</if>> - <<if _ID == $Schoolteacher.ID>><<set $Schoolteacher = 0>><</if>> + <<if _ID == $Schoolteac$him.ID>><<set $Schoolteacher = 0>><</if>> <<if _ID == $Attendant.ID>><<set $Attendant = 0>><</if>> <<if _ID == $Nurse.ID>><<set $Nurse = 0>><</if>> <<if _ID == $Stewardess.ID>><<set $Stewardess = 0>><</if>> @@ -143,7 +142,7 @@ As the remote surgery's long recovery cycle completes, <<elseif $surgeryType == "fuckdollExtraction">> $activeSlave.slaveName <<if ($activeSlave.amp != 1)>>walks<<else>>is carried<</if>> out of the surgery room. <<else>> - $activeSlave.slaveName <<if ($activeSlave.amp != 1)>>walks<<else>>is carried<</if>> out of the surgery room<<if canSee($activeSlave)>> and catches sight of herself in the floor-length mirror outside the door<<else>> and is detailed the modifications done to her body, assuming she hasn't already realized them<</if>>. + $activeSlave.slaveName <<if ($activeSlave.amp != 1)>>walks<<else>>is carried<</if>> out of the surgery room<<if canSee($activeSlave)>> and catches sight of $himself in the floor-length mirror outside the door<<else>> and is detailed the modifications done to $his body, assuming $he hasn't already realized them<</if>>. <</if>> <<switch $surgeryType>> @@ -169,7 +168,7 @@ As the remote surgery's long recovery cycle completes, <</if>> <<switch areSisters($activeSlave, $slaves[$j])>> <<case 1>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when she finds out that her twin is now a Fuckdoll. Is she next? + $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when she finds out that her twin is now a Fuckdoll. Is $he next? <<set $slaves[$j].devotion -= 50, $slaves[$j].trust -= 50>> <<case 2>> $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when she finds out that her sister is now a Fuckdoll. @@ -189,7 +188,7 @@ As the remote surgery's long recovery cycle completes, <<set $slaves[$j].relationshipTarget = 0>> <</if>> <<elseif $activeSlave.relationship < 0>> - Its @@.lightsalmon;slave relationship to you is effectively over,@@ since everyone in the world outside its suit is created equal to her. She'll probably forget to distinguish your <<if $PC.dick == 1>>dick if it's pushed inside her<<else>>pussy if it's pressed against her face hole<</if>> soon enough. + $His @@.lightsalmon;slave relationship to you is effectively over,@@ since everyone in the world outside $his suit is created equal to $him. $He'll probably forget to distinguish your <<if $PC.dick == 1>>dick if it's pushed inside $his<<else>>pussy if it's pressed against $his face hole<</if>> soon enough. <</if>> <<else>> <<if $activeSlave.relation != 0>> @@ -210,23 +209,23 @@ As the remote surgery's long recovery cycle completes, <<set $slaves[$j].relationshipTarget = 0>> <</if>> <<elseif $activeSlave.relationship < 0>> - Its @@.lightsalmon;slave relationship to you is effectively over,@@ since everyone in the world outside its suit is created equal to her. She'll probably forget to distinguish your <<if $PC.dick == 1>>dick if it's pushed inside her<<else>>pussy if it's pressed against her face hole<</if>> soon enough. + $His @@.lightsalmon;slave relationship to you is effectively over,@@ since everyone in the world outside $his suit is created equal to $him. $He'll probably forget to distinguish your <<if $PC.dick == 1>>dick if it's pushed inside $his<<else>>pussy if it's pressed against $his face hole<</if>> soon enough. <</if>> <</if>> /*closes extended family mode */ <<if $activeSlave.rivalry != 0>> <<set $j = $slaveIndices[$activeSlave.rivalryTarget]>> <<if def $j>> - Naturally, its rivalry with $slaves[$j].slaveName is over. $slaves[$j].slaveName will be pleased she doesn't have to see $activeSlave.slaveName any more, though being a Fuckdoll is terrifying enough that it's not likely she'll derive much satisfaction from it. + Naturally, $his rivalry with $slaves[$j].slaveName is over. $slaves[$j].slaveName will be pleased she doesn't have to see $activeSlave.slaveName any more, though being a Fuckdoll is terrifying enough that it's not likely she'll derive much satisfaction from it. <<set $slaves[$j].rivalry = 0>> <<set $slaves[$j].rivalryTarget = 0>> <</if>> <</if>> <<set $activeSlave.relationship=0, $activeSlave.relationshipTarget=0, $activeSlave.rivalry=0, $activeSlave.rivalryTarget=0>> - <br><br>The Fuckdoll suit's systems connect to the arcology and run a full systems check. The reports waterfall down the nearest wallscreen, moving from the top of the Fuckdoll down. The simple brain activity sensor is showing elevated readings as $activeSlave.slaveName desperately tries to find its bearings. - <<if $activeSlave.hLength > 20>>The twin tails of hair sticking out of the suit material that covers its scalp are waving from side to side slightly as it struggles.<</if>> + <br><br>The Fuckdoll suit's systems connect to the arcology and run a full systems check. The reports waterfall down the nearest wallscreen, moving from the top of the Fuckdoll down. The simple brain activity sensor is showing elevated readings as $activeSlave.slaveName desperately tries to find $his bearings. + <<if $activeSlave.hLength > 20>>The twin tails of hair sticking out of the suit material that covers $his scalp are waving from side to side slightly as $he struggles.<</if>> <<if $activeSlave.eyes != 0>>The suit does not have holes for vision, worsening the disorientation.<</if>> - <<if $activeSlave.voice == 0>>Its breath rushes in and<<else>>Incoherent moans are coming<</if>> out of its <<if $activeSlave.lips > 95>>facepussy<<else>>mouth insert<</if>>. + <<if $activeSlave.voice == 0>>$His breath rushes in and<<else>>Incoherent moans are coming<</if>> out of $his <<if $activeSlave.lips > 95>>facepussy<<else>>mouth insert<</if>>. The suit can stimulate every intimate area that it covers with vibration, electrostimulation, warmth, and cold, and $activeSlave.slaveName must be in agony as it tests these systems. <br><br>The suit includes a network of small tubes filled with hydraulic fluid, and tiny pumps to move it around. This is necessary to keep the Fuckdoll's internal temperature stable, but it can also be used to restrict its movements. The suit is doing so now; the Fuckdoll is desperately attempting to move, but the suit won't let it. @@ -245,67 +244,67 @@ As the remote surgery's long recovery cycle completes, The Fuckdoll continues to struggle. Since it is new, it is not yet able to obey the tonal command system the suit uses to transfer orders to its inhabitant, who cannot otherwise hear. It will have to learn by painful experience, and eventually, that is all it will know. <<case "fuckdollExtraction">> - If you were expecting a great return to humanity after extracting her from her Fuckdoll suit, you're to be disappointed. + If you were expecting a great return to humanity after extracting $him from $his Fuckdoll suit, you're to be disappointed. <<if $activeSlave.eyes != 0>> - You're denied any reaction from her to the sight of herself in the mirror outside the recovery area, as she's wearing a pair of very dark glasses she'll have to keep on for a few hours yet. She's been denied almost all vision for a long time, and though her recovery included light therapy, she's still very sensitive to it. + You're denied any reaction from $him to the sight of $himself in the mirror outside the recovery area, as $he's wearing a pair of very dark glasses $he'll have to keep on for a few hours yet. $He's been denied almost all vision for a long time, and though her recovery included light therapy, $he's still very sensitive to it. <</if>> <<if $activeSlave.fetish == "mindbroken">> - Her mind remains just as broken outside the suit as it was inside it. In many ways, she's as much of a living sex toy now as she was when she was a Fuckdoll; she's unresponsive to almost everything, though she will probably still understand how to get fucked. Her personality is probably somewhere back there in the Fuckdoll maintenance areas, like the scraps of the suit that was just cut off her. Just another piece of refuse. + $His mind remains just as broken outside the suit as it was inside it. In many ways, $he's as much of a living sex toy now as $he was when $he was a Fuckdoll; $he's unresponsive to almost everything, though $he will probably still understand how to get fucked. $His personality is probably somewhere back there in the Fuckdoll maintenance areas, like the scraps of the suit that was just cut off $him. Just another piece of refuse. <<elseif $activeSlave.fuckdoll > 20>> - Though she retains possession of some of her faculties, she's been severely affected by the weeks she's spent as a living sex toy. Any joy or relief at being liberated from the Fuckdoll suit is probably being suppressed by the similarity of the extraction procedure to the routine suit maintenance she received weekly. If she even understands that she's been freed, she's been trained so thoroughly that she will struggle to adapt to life more complex than tonal commands and sexual use. + Though $he retains possession of some of her faculties, $he's been severely affected by the weeks $he's spent as a living sex toy. Any joy or relief at being liberated from the Fuckdoll suit is probably being suppressed by the similarity of the extraction procedure to the routine suit maintenance $he received weekly. If $he even understands that $he's been freed, $he's been trained so thoroughly that $he will struggle to adapt to life more complex than tonal commands and sexual use. <<else>> - Though she hasn't been a Fuckdoll long enough to be permanently damaged, she's so emotionally exhausted by everything she's experienced over the past few weeks that she betrays no relief or joy, or even any fear that she'll be turned into a Fuckdoll again. Her posture bespeaks something like apathy. She should reawaken gradually, but for now she's still actively remembering how to live as a human, rather than as a living sex toy. + Though $he hasn't been a Fuckdoll long enough to be permanently damaged, $he's so emotionally exhausted by everything $he's experienced over the past few weeks that $he betrays no relief or joy, or even any fear that $he'll be turned into a Fuckdoll again. $His posture bespeaks something like apathy. $He should reawaken gradually, but for now $he's still actively remembering how to live as a human, rather than as a living sex toy. <</if>> <<case "mindbreak">> - Her gaze is placid and empty. <<if canSee($activeSlave)>>She looks at<<else>>You cough causing her to turn to face<</if>> you, and there is nothing there: no recognition, no fear, no love. Nothing. @@.red;She will forget this in a few hours. She will forget everything in a few hours.@@ + $His gaze is placid and empty. <<if canSee($activeSlave)>>$He looks at<<else>>You cough causing $him to turn to face<</if>> you, and there is nothing there: no recognition, no fear, no love. Nothing. @@.red;$He will forget this in a few hours. $He will forget everything in a few hours.@@ <<set $activeSlave.sexualFlaw = "none">> <<set $activeSlave.behavioralFlaw = "none">> <<case "unblind">> - The eye surgery is @@.red;invasive@@ and she spends some time in the autosurgery recovering. As soon as she is allowed to open her eyes and look around, her gaze flicks from object to object with manic speed as she processes her new vision. Seeing the world as it is is a gift that those who do not need it cannot properly understand. + The eye surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as $he is allowed to open $his eyes and look around, $his gaze flicks from object to object with manic speed as $he processes $his new vision. Seeing the world as it is is a gift that those who do not need it cannot properly understand. <<set $activeSlave.devotion += 25>> <<set $activeSlave.trust += 25>> <<if ($activeSlave.devotion > 50)>> - She loved you before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. She never realized just how good you looked, and now she can't get your image out of her mind. + $He loved you before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. $He never realized just how good you looked, and now $he can't get your image out of $his mind. <<if $activeSlave.relationship == 0>><<set $activeSlave.relationship = -2>><</if>> <<elseif ($activeSlave.devotion > 20)>> - She accepted you as her owner before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. + $He accepted you as $his owner before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. <<else>> - She hardly knows what to make of this wonderful present from someone she hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, she accepts that you @@.hotpink;truly did help her,@@ and @@.mediumaquamarine;might be trustworthy.@@ + $He hardly knows what to make of this wonderful present from someone $he hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, $he accepts that you @@.hotpink;truly did help $him,@@ and @@.mediumaquamarine;might be trustworthy.@@ <</if>> <<case "blind">> - The laser eye surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as she is allowed to open her eyes and look around, she begins to glance back and forth frantically, not immediately understanding that this darkness is her new reality. + The laser eye surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as $he is allowed to open $his eyes and look around, $he begins to glance back and forth frantically, not immediately understanding that this darkness is $his new reality. <<if ($activeSlave.devotion > 50)>> - When she finally figures it out, she begins to weep, not understanding why it's necessary that she be unable to see. After a short cry that trails off into a few sniffles, she carries on. + When $he finally figures it out, $he begins to weep, not understanding why it's necessary that $he be unable to see. After a short cry that trails off into a few sniffles, $he carries on. <<elseif ($activeSlave.devotion > 20)>> - When she finally figures it out, she begins to bawl, not understanding what she did to earn this. After a short expurgation of @@.gold;grief and terror,@@ she takes a deep breath and visibly suppresses her emotions. + When $he finally figures it out, $he begins to bawl, not understanding what $he did to earn this. After a short expurgation of @@.gold;grief and terror,@@ $he takes a deep breath and visibly suppresses $his emotions. <<set $activeSlave.trust -= 20>> <<else>> - When she realizes what's happened, her face @@.mediumorchid;clouds with rage.@@ Reflexively, she begins to peer around, looking for the source of her woes. She finally understands the true use of blindness when she realizes she won't be able to tell where you are, where anyone is, or even where she is. Her well being is now firmly in the hands of someone she distrusts. She begins to @@.gold;shake with fear.@@ + When $he realizes what's happened, $his face @@.mediumorchid;clouds with rage.@@ Reflexively, $he begins to peer around, looking for the source of $his woes. $He finally understands the true use of blindness when $he realizes $he won't be able to tell where you are, where anyone is, or even where $he is. $His well being is now firmly in the hands of someone $he distrusts. $He begins to @@.gold;shake with fear.@@ <<set $activeSlave.trust -= 8>> <<set $activeSlave.devotion -= 8>> <</if>> <<case "remove eyes">> - Surgery doesn't take long, but since it was invasive there are @@.red;moderate health consequences.@@ As anesthesia wears off she tries to open her eyes and finds she is unable to. + Surgery doesn't take long, but since it was invasive there are @@.red;moderate health consequences.@@ As anesthesia wears off $he tries to open $his eyes and finds $he is unable to. <<if $activeSlave.eyes != -2>> <<if ($activeSlave.devotion > 50)>> - When she realizes why, she begins to weep, not understanding what she did to deserve this. After a short cry that trails off into a few sniffles, she carries on. + When $he realizes why, $he begins to weep, not understanding what $he did to deserve this. After a short cry that trails off into a few sniffles, $he carries on. <<elseif ($activeSlave.devotion > 20)>> - When she realizes why, she begins to bawl, not understanding what she did to earn this. After a short expurgation of @@.gold;grief and terror,@@ she takes a deep breath and visibly suppresses her emotions. + When $he realizes why, $he begins to bawl, not understanding what $he did to earn this. After a short expurgation of @@.gold;grief and terror,@@ $he takes a deep breath and visibly suppresses $his emotions. <<set $activeSlave.trust -= 20>> <<else>> - When she realizes what's happened, her face @@.mediumorchid;clouds with rage.@@ Reflexively, she swings her head around, looking for the source of her woes. She finally understands the true use of blindness when she realizes she won't be able to tell where you are, where anyone is, or even where she is. Her well being is now firmly in the hands of someone she distrusts. She begins to @@.gold;shake with fear.@@ + When $he realizes what's happened, $his face @@.mediumorchid;clouds with rage.@@ Reflexively, $he swings $his head around, looking for the source of $his woes. $He finally understands the true use of blindness when $he realizes $he won't be able to tell where you are, where anyone is, or even where $he is. $His well being is now firmly in the hands of someone $he distrusts. $He begins to @@.gold;shake with fear.@@ <<set $activeSlave.trust -= 8>> <<set $activeSlave.devotion -= 8>> <</if>> <<else>> <<if ($activeSlave.devotion > 50)>> - When she realizes why, she seems surprised since she doesn't see the point of such procedure. As she was already blind, her mental state remains unaffected. + When $he realizes why, $he seems surprised since $he doesn't see the point of such procedure. As $he was already blind, $his mental state remains unaffected. <<else>> - Her face twists in distaste. Such pointless and invasive procedure drives home just how @@.gold;expendable@@ she is to you. + $His face twists in distaste. Such pointless and invasive procedure drives home just how @@.gold;expendable@@ $he is to you. <<set $activeSlave.devotion -= 5>> <</if>> <</if>> @@ -313,57 +312,57 @@ As the remote surgery's long recovery cycle completes, <<case "ocular implant">> <<if $activeSlave.eyes <= -2>> - The implant surgery is @@.red;invasive@@ and she spends some time in the autosurgery recovering. As soon as she is allowed to open her eyes and look around, her gaze flicks from object to object with manic speed as her new eyes deliver nearly overwhelming amount of visual information. Seeing the world as it is is a gift that those who do not need it cannot properly understand. + The implant surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as $he is allowed to open $his eyes and look around, $his gaze flicks from object to object with manic speed as $his new eyes deliver nearly overwhelming amount of visual information. Seeing the world as it is is a gift that those who do not need it cannot properly understand. <<set $activeSlave.devotion += 25>> <<set $activeSlave.trust += 25>> <<if ($activeSlave.devotion > 50)>> - She loved you before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. She never realized just how good you looked, and now she can't get your image out of her mind. + $He loved you before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. $He never realized just how good you looked, and now $he can't get your image out of $his mind. <<if $activeSlave.relationship == 0>><<set $activeSlave.relationship = -2>><</if>> <<elseif ($activeSlave.devotion > 20)>> - She accepted you as her owner before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. + $He accepted you as $his owner before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. <<else>> - She hardly knows what to make of this wonderful present from someone she hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, she accepts that you @@.hotpink;truly did help her,@@ and @@.mediumaquamarine;might be trustworthy.@@ + $He hardly knows what to make of this wonderful present from someone $he hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, $he accepts that you @@.hotpink;truly did help $him,@@ and @@.mediumaquamarine;might be trustworthy.@@ <</if>> <<else>> - The implant surgery is @@.red;invasive@@ and she spends some time in the autosurgery recovering. When she is allowed to open her eyes the amount of visual information makes her reel. + The implant surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. When $he is allowed to open $his eyes the amount of visual information makes $him reel. <<if ($activeSlave.devotion > 50)>> - She is @@.hotpink;grateful,@@ for her improved vision, and knowing how much you invested in her makes her @@.mediumaquamarine;trust you more@@ as well. + $He is @@.hotpink;grateful,@@ for $his improved vision, and knowing how much you invested in her makes her @@.mediumaquamarine;trust you more@@ as well. <<set $activeSlave.devotion += 10; $activeSlave.trust += 10>> <<elseif ($activeSlave.devotion > 20)>> - She has mixed feelings about her new eyes, but she's @@.mediumaquamarine;aware@@ how valuable such implants are, and she already @@.hotpink;accepted@@ that you have complete control over her body. + $He has mixed feelings about $his new eyes, but $he's @@.mediumaquamarine;aware@@ how valuable such implants are, and $he already @@.hotpink;accepted@@ that you have complete control over $his body. <<set $activeSlave.devotion += 5; $activeSlave.trust += 10>> <<else>> - She is @@.gold;disturbed@@ that you replaced her eyes with artificial ones and afraid of increased control over her that such device grants. + $He is @@.gold;disturbed@@ that you replaced $his eyes with artificial ones and afraid of increased control over her that such device grants. <<set $activeSlave.devotion -= 5>> <</if>> <</if>> <<set $activeSlave.eyes = 1>> <<case "newEyes">> - The implant surgery is @@.red;invasive@@ and she spends some time in the autosurgery recovering. As soon as she is allowed to open her eyes and look around, she notices nothing has changed; though the next time she looks in the mirror, she'll see a pair of familiar $activeSlave.eyeColor eyes peering back at her. + The implant surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as $he is allowed to open $his eyes and look around, $he notices nothing has changed; though the next time $he looks in the mirror, $he'll see a pair of familiar $activeSlave.eyeColor eyes peering back at $him. <<case "undeafen">> The inner ear surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as the bandages around $his ears are removed, $his head tilts towards any source of sound with manic speed as $he processes $his new hearing. Hearing the world as it is is a gift that those who do not need it cannot properly understand. <<set $activeSlave.devotion += 25>> <<set $activeSlave.trust += 25>> <<if ($activeSlave.devotion > 50)>> - $He loved you before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. She never realized just how nice your voice was, and now $he can't get your words out of $his mind. + $He loved you before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. $He never realized just how nice your voice was, and now $he can't get your words out of $his mind. <<if $activeSlave.relationship == 0>><<set $activeSlave.relationship = -2>><</if>> <<elseif ($activeSlave.devotion > 20)>> - She accepted you as $his owner before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. + $He accepted you as $his owner before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. <<else>> - She hardly knows what to make of this wonderful present from someone $he hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, $he accepts that you @@.hotpink;truly did help $him,@@ and @@.mediumaquamarine;might be trustworthy.@@ + $He hardly knows what to make of this wonderful present from someone $he hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, $he accepts that you @@.hotpink;truly did help $him,@@ and @@.mediumaquamarine;might be trustworthy.@@ <</if>> <<case "deafen">> The inner ear surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as the bandages around $his ears are removed, $he begins to twist and turn $his head frantically, not immediately understanding that this silence is $his new reality. <<if ($activeSlave.devotion > 50)>> - When $he finally figures it out, $he begins to weep, not understanding why it's necessary that she be unable to hear. After a short cry that trails off into a few sniffles, she carries on. + When $he finally figures it out, $he begins to weep, not understanding why it's necessary that $he be unable to hear. After a short cry that trails off into a few sniffles, $he carries on. <<elseif ($activeSlave.devotion > 20)>> - When she finally figures it out, she begins to bawl, not understanding what she did to earn this. After a short expurgation of @@.gold;grief and terror,@@ she takes a deep breath and visibly suppresses her emotions. + When $he finally figures it out, $he begins to bawl, not understanding what $he did to earn this. After a short expurgation of @@.gold;grief and terror,@@ $he takes a deep breath and visibly suppresses $his emotions. <<set $activeSlave.trust -= 20>> <<else>> - When she realizes what's happened, her face @@.mediumorchid;clouds with rage.@@ Reflexively, she begins to peer around, looking for the source of her woes. She finally understands the true use of deafness when she realizes she won't be able to tell where you are, where anyone is, or even where she is. Her well being is now firmly in the hands of someone she distrusts. She begins to @@.gold;shake with fear.@@ + When $he realizes what's happened, $his face @@.mediumorchid;clouds with rage.@@ $He begins to peer around, looking for the source of $his woes. $He finally understands the true use of deafness when $he realizes $he won't be able to easily tell where you are, or anyone else is for that matter. $His well being is now firmly in the hands of someone $he distrusts. $He begins to @@.gold;shake with fear.@@ <<set $activeSlave.trust -= 8>> <<set $activeSlave.devotion -= 8>> <</if>> @@ -379,7 +378,7 @@ As the remote surgery's long recovery cycle completes, <<elseif ($activeSlave.devotion > 20)>> $He accepted you as her owner before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. <<else>> - $He hardly knows what to make of this wonderful present from someone $he hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, $he accepts that you @@.hotpink;truly did help her,@@ and @@.mediumaquamarine;might be trustworthy.@@ + $He hardly knows what to make of this wonderful present from someone $he hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, $he accepts that you @@.hotpink;truly did help $him,@@ and @@.mediumaquamarine;might be trustworthy.@@ <</if>> <<else>> The implant surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. When the bandages around $his ears are removed the amount of auditory information makes $him reel. @@ -408,59 +407,59 @@ As the remote surgery's long recovery cycle completes, <</if>> <<if ($activeSlave.nipples == "puffy")>> <<if (random(1,100) > 70)>> - The breast surgery is invasive, and when her nipples heal, @@.orange;they're a bit more normal.@@ + The breast surgery is invasive, and when $his nipples heal, @@.orange;they're a bit more normal.@@ <<set $activeSlave.nipples = "cute">> <</if>> <<elseif ($activeSlave.nipples == "huge")>> <<if (random(1,100) > 90)>> - The breast surgery is invasive, and when her nipples heal, @@.orange;they're a bit smaller.@@ + The breast surgery is invasive, and when $his nipples heal, @@.orange;they're a bit smaller.@@ <<set $activeSlave.nipples = "puffy">> <</if>> <</if>> <<if ($activeSlave.boobShape != 0)>> <<if (random(1,100) > 50)>> - The natural shape of her breasts has been eliminated by the cosmetic surgery, @@.lime;rendering her boobs pretty and rounded.@@ + The natural shape of $his breasts has been eliminated by the cosmetic surgery, @@.lime;rendering $his boobs pretty and rounded.@@ <<set $activeSlave.boobShape = "normal">> <</if>> <</if>> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - <<if $activeSlave.amp != 1>>She's barely out of the surgery before she's playing with her new assets.<<else>>She's barely out of the surgery before she's rubbing her new assets against anything she can reach.<</if>> She's @@.hotpink;deliriously happy@@ with your changes to what she thinks of as her primary sexual organs, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He's barely out of the surgery before $he's playing with her new assets.<<else>>$He's barely out of the surgery before $he's rubbing her new assets against anything $he can reach.<</if>> $He's @@.hotpink;deliriously happy@@ with your changes to what $he thinks of as her primary sexual organs, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her new breasts experimentally and turns to you with a smile to show them off. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her new breasts move and turns her torso to you with a smile to show them off. She's still sore, so she doesn't move too much, but she wiggles herself a little to make them bounce for you.<</if>> @@.hotpink;She's happy with your changes to her boobs.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He hefts her new breasts experimentally and turns to you with a smile to show them off. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her new breasts move and turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't move too much, but $he wiggles $himself a little to make them bounce for you.<</if>> @@.hotpink;$He's happy with your changes to $his boobs.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new breasts<<else>>She shifts them<</if>> skeptically. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, so she expected something like this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new breasts<<else>>$He shifts them<</if>> skeptically. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, so $he expected something like this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her new breasts<<else>>The new weight on her chest fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view these fake breasts as a cruel imposition@@. As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new breasts<<else>>The new weight on $his chest fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view these fake breasts as a cruel imposition@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "preg">> <<if ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. She is @@.hotpink; filled with joy@@ about being swollen with life and gleefully rubs her soon to be huge belly. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated. $He is @@.hotpink; filled with joy@@ about being swollen with life and gleefully rubs $his soon to be huge belly. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 10>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. She's @@.hotpink;grateful@@ that you think her offspring are valuable, and a little nervous about how she'll perform as a breeder. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated. $He's @@.hotpink;grateful@@ that you think $his offspring are valuable, and a little nervous about how $he'll perform as a breeder. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. She understands the realities of her life as a slave, so it isn't much of a shock. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body and how big she will get. + $He leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated. $He understands the realities of $his life as a slave, so it isn't much of a shock. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body and how big $he will get. <<set $activeSlave.trust -= 10>> <<else>> - She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ that you have forced her to be a broodmother. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body and her rapidly filling womb. + $He leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated. $He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you have forced $him to be a broodmother. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body and $his rapidly filling womb. <<set $activeSlave.trust -= 15>> <<set $activeSlave.devotion -= 15>> <</if>> <<if $PC.dick == 1>> <span id="seed"> - <br><br> The implant is highly receptive to fresh sperm right now; it would be trivial to seed it with yours and force her to bear hundreds of your children. + <br><br> The implant is highly receptive to fresh sperm right now; it would be trivial to seed it with yours and force $him to bear hundreds of your children. <br><<link "Seed her pregnancy implant with your genetic material">> <<replace "#seed">> - You simply take her on the spot, using her to your liking and shooting a load deep into her receptive pussy. The implant rewards her upon successful fertilization, so her moans of pleasure as you pull out of her inform you she'll soon <<if $activeSlave.broodmother == 2>>be greatly swollen<<else>>grow heavy<</if>> with @@.lime;your brood.@@ + You simply take $him on the spot, using $him to your liking and shooting a load deep into $his receptive pussy. The implant rewards $him upon successful fertilization, so $his moans of pleasure as you pull out of $him inform you $he'll soon <<if $activeSlave.broodmother == 2>>be greatly swollen<<else>>grow heavy<</if>> with @@.lime;your brood.@@ <<set $activeSlave.pregSource = -1>> <<set WombImpregnate($activeSlave, 1, -1, 1)>> /* to ensure player fatherinity we need actual fetus here */ <<= VaginalVCheck()>> @@ -471,17 +470,17 @@ As the remote surgery's long recovery cycle completes, <<case "pregRemove">> <<if ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She leaves the surgery with a certain soreness and minor pain in her lower abdomen, she knows that her days as broodmother is finished. She is @@.red; filled with despair@@ about missing being swollen with life and rubs her flat belly with sorrow. Only one fact slightly soothes her and allows to remain sane - at least she not become infertile and still can get pregnant naturally. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a certain soreness and minor pain in $his lower abdomen, $he knows that $his days as broodmother is finished. $He is @@.red; filled with despair@@ about missing being swollen with life and rubs her flat belly with sorrow. Only one fact slightly soothes $him and allows $him to remain sane - at least $he will not become infertile and still can get pregnant naturally. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 30>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with a certain soreness and minor pain in her lower abdomen, she knows that her days as broodmother is finished. She's @@.hotpink;grateful@@ that you allow her body to be free of constant pregnancy stress, and a little nervous about if you will appreciate her enough without such dedication. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a certain soreness and minor pain in her lower abdomen, $he knows that $his days as broodmother is finished. $He's @@.hotpink;grateful@@ that you allowed $his body to be free of constant pregnancy stress, and a little nervous about if you will appreciate $him enough without such dedication. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with a certain soreness and minor pain in her lower abdomen, she knows that her days as broodmother is finished. She understands the realities of her life as a slave, so it isn't much of a shock. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with a certain soreness and minor pain in $his lower abdomen, $he knows that $his days as broodmother is finished. $He understands the realities of $his life as a slave, so it isn't much of a shock. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<else>> - She leaves the surgery with a certain soreness and minor pain in her lower abdomen, she knows that her days as broodmother is finished. She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ that you can change her body so radically just at your will. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body and her now empty womb. + $He leaves the surgery with a certain soreness and minor pain in her lower abdomen, $he knows that her days as broodmother is finished. $He does not understand the realities of her life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you can change $his body so radically just at your will. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body and her now empty womb. <<set $activeSlave.trust -= 15>> <<set $activeSlave.devotion -= 15>> <</if>> @@ -495,152 +494,152 @@ As the remote surgery's long recovery cycle completes, <<set WombImpregnate($activeSlave, $activeSlave.pregType, $activeSlave.pregSource, 1)>> <<if ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> <<if canSee($activeSlave)>> - Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its introduction to her waiting egg<<if $activeSlave.pregType > 1>>s<</if>>, she was eagerly watching. + Since the surgery required only a local anesthetic, $he remained fully aware throughout the procedure. From the selection of the sperm, to its introduction to $his waiting egg<<if $activeSlave.pregType > 1>>s<</if>>, $he was eagerly watching. <<else>> - She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. + $He leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated. <</if>> - She is @@.hotpink; filled with joy@@ over the life settling into her womb and can't wait to see the result. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. + $He is @@.hotpink; filled with joy@@ over the life settling into $his womb and can't wait to see the result. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. <<set $activeSlave.trust += 4, $activeSlave.devotion += 10>> <<elseif ($activeSlave.devotion > 50)>> <<if canSee($activeSlave)>> - Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its delivery into her womb, she was watching with rapt attention. + Since the surgery required only a local anesthetic, $he remained fully aware throughout the procedure. From the selection of the sperm, to its delivery into $his womb, $he was watching with rapt attention. <<else>> - She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. + $He leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated. <</if>> - She's @@.hotpink;grateful@@ that you think her worthy of carrying <<if $activeSlave.pregSource == -1>>your<<else>><<print $impregnatrix.slaveName>>'s<</if>> child<<if $activeSlave.pregType > 1>>ren<</if>>, and a little nervous about how she'll perform as a mother. + $He's @@.hotpink;grateful@@ that you think $him worthy of carrying <<if $activeSlave.pregSource == -1>>your<<else>><<print $impregnatrix.slaveName>>'s<</if>> child<<if $activeSlave.pregType > 1>>ren<</if>>, and a little nervous about how $he'll perform as a mother. <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> <<if canSee($activeSlave)>> - Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its delivery into her womb and her subsequent impregnation, she couldn't look away. + Since the surgery required only a local anesthetic, $he remained fully aware throughout the procedure. From the selection of the sperm, to its delivery into $his womb and $his subsequent impregnation, $he couldn't look away. <<else>> - She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. + $He leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated. <</if>> - She understands the realities of her life as a slave, so it isn't much of a shock. She is @@.gold;sensibly fearful@@ of your total power over her body. + $He understands the realities of $his life as a slave, so it isn't much of a shock. $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<else>> <<if canSee($activeSlave)>> - Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. The moment she realized what was happening, she shut her eyes tight, only opening them again as she feels the slight tingle of the injector exiting her lower abdomen. + Since the surgery required only a local anesthetic, $he remained fully aware throughout the procedure. The moment $he realized what was happening, $he shut $his eyes tight, only opening them again as $he feels the slight tingle of the injector exiting $his lower abdomen. <<else>> - She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. + $He leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated. <</if>> - She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ that you have forced her to become a mother, even more so as she realizes she doesn't know who the father is. She is @@.gold;sensibly fearful@@ of your total power over her body and the future of the life she now harbors within her. + $He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you have forced $him to become a mother, even more so as $he realizes $he doesn't know who the father is. $He is @@.gold;sensibly fearful@@ of your total power over $his body and the future of the life $he now harbors within $him. <<set $activeSlave.trust -= 15, $activeSlave.devotion -= 15>> <</if>> <<case "freshOvaries">> <<if $activeSlave.ovaryAge >= 45>> - <<if (($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)) || $activeSlave.origin == "She sold herself to you in the hope of someday bearing children.">> - She leaves the surgery with nothing but a nonspecific ache, yet a familiar warmth, in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she now has a chance to get pregnant once more. She is @@.hotpink;filled with joy@@ whenever she thinks about the fact that she'll have the chance to feel a life growing within her again. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + <<if (($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)) || $activeSlave.origin == "$He sold $himself to you in the hope of someday bearing children.">> + $He leaves the surgery with nothing but a nonspecific ache, yet a familiar warmth, in $his lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he now has a chance to get pregnant once more. $He is @@.hotpink;filled with joy@@ whenever $he thinks about the fact that $he'll have the chance to feel a life growing within $him again. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4, $activeSlave.devotion += 5>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with nothing but a nonspecific ache, yet a familiar warmth, in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she now has the chance to get pregnant again. She's @@.hotpink;grateful@@ that you think her worthy of extending her fertility, and even a little nervous about how she'll perform as a mother that has tasted menopause. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache, yet a familiar warmth, in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he now has the chance to get pregnant again. $He's @@.hotpink;grateful@@ that you think her worthy of extending her fertility, and even a little nervous about how $he'll perform as a mother that has tasted menopause. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with nothing but a nonspecific ache, yet a familiar warmth, in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she may now be impregnated once more. She understands the realities of her life as a slave, but didn't expect to have her waning fertility renewed. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache, yet a familiar warmth, in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he may now be impregnated once more. $He understands the realities of her life as a slave, but didn't expect to have her waning fertility renewed. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She leaves the surgery with nothing but a nonspecific ache, yet a familiar warmth, in her lower abdomen, but she knows enough about surgery and sex slaves to believe you have forced fertility upon her again. She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ at the potential that she'll be forced to carry children. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache, yet a familiar warmth, in her lower abdomen, but $he knows enough about surgery and sex slaves to believe you have forced fertility upon her again. $He does not understand the realities of her life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ at the potential that $he'll be forced to carry children. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5>> <</if>> <<else>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen; it won't be clear to her that menopause is an even more distant event now. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen; it won't be clear to her that menopause is an even more distant event now. As with all surgery @@.red;$his health has been slightly affected.@@ <</if>> <<case "mpreg">> <<if ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She leaves the surgery with a certain fullness in her lower abdomen, she knows that she can now get pregnant. She is @@.hotpink; filled with joy@@ about the possibility of becoming pregnant and gleefully rubs her softer belly. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a certain fullness in her lower abdomen, $he knows that $he can now get pregnant. $He is @@.hotpink; filled with joy@@ about the possibility of becoming pregnant and gleefully rubs her softer belly. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 10>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with a certain fullness in her lower abdomen, she knows that, despite lacking female reproductive organs, she can now become pregnant. She's @@.hotpink;grateful@@ that you think her offspring are valuable enough to give her this gift, and a little nervous about how she'll perform as a mother. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a certain fullness in her lower abdomen, $he knows that, despite lacking female reproductive organs, $he can now become pregnant. $He's @@.hotpink;grateful@@ that you think her offspring are valuable enough to give her this gift, and a little nervous about how $he'll perform as a mother. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with a certain fullness in her lower abdomen, she knows that, despite lacking female reproductive organs, she can now become pregnant. She understands the realities of her life as a slave, so it isn't much of a shock. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body and her inevitable pregnancy. + $He leaves the surgery with a certain fullness in her lower abdomen, $he knows that, despite lacking female reproductive organs, $he can now become pregnant. $He understands the realities of her life as a slave, so it isn't much of a shock. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body and her inevitable pregnancy. <<set $activeSlave.trust -= 10>> <<else>> - She leaves the surgery with a certain fullness in her lower abdomen, she knows that, despite lacking female reproductive organs, she can now become pregnant. She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ that you have forced her to become fertile in such an unnatural way. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body and her inevitable pregnancy. + $He leaves the surgery with a certain fullness in her lower abdomen, $he knows that, despite lacking female reproductive organs, $he can now become pregnant. $He does not understand the realities of her life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you have forced $him to become fertile in such an unnatural way. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body and her inevitable pregnancy. <<set $activeSlave.trust -= 15>> <<set $activeSlave.devotion -= 15>> <</if>> <<case "mpreg removed">> - She notices quickly that her stomach is slightly flatter than before. She ponders this change for a moment, unsure of what to think of this occurrence. As with all surgery @@.red;her health has been slightly affected.@@ + $He notices quickly that her stomach is slightly flatter than before. $He ponders this change for a moment, unsure of what to think of this occurrence. As with all surgery @@.red;$his health has been slightly affected.@@ <<case "nippleCunts">> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - <<if $activeSlave.amp != 1>>She's barely out of the surgery before she's experimentally probing her new nipples despite the pain.<<else>>She's barely out of the surgery before she's rubbing her new nipples against anything she can reach, despite the pain.<</if>> She's @@.hotpink;deliriously happy@@ with your changes to what she thinks of as her primary sexual organs, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He's barely out of the surgery before $he's experimentally probing her new nipples despite the pain.<<else>>$He's barely out of the surgery before $he's rubbing her new nipples against anything $he can reach, despite the pain.<</if>> $He's @@.hotpink;deliriously happy@@ with your changes to what $he thinks of as her primary sexual organs, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4, $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She runs a finger into her new nipples experimentally and turns to you with a smile to show them off. She's still sore, so she doesn't touch them much, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel the new nipples capping her tits turns her torso to you with a smile to show them off. She's still sore, so she doesn't move too violently, but she wiggles herself a little to show off.<</if>> @@.hotpink;She's happy with your changes to her nipples.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He runs a finger into her new nipples experimentally and turns to you with a smile to show them off. $He's still sore, so $he doesn't touch them much, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel the new nipples capping her tits turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't move too violently, but $he wiggles $himself a little to show off.<</if>> @@.hotpink;$He's happy with your changes to $his nipples.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new nipples skeptically<<else>>The cool air flowing over her new nipples draws a skeptical expression to her face<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her body still.<</if>> She's come to terms with the fact that she's a slave, so she isn't much affected mentally despite the surprise of having her nipples reshaped; she may reconsider once she realizes just what they are now capable of. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new nipples skeptically<<else>>The cool air flowing over her new nipples draws a skeptical expression to her face<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his body still.<</if>> $He's come to terms with the fact that $he's a slave, so $he isn't much affected mentally despite the surprise of having $his nipples reshaped; $he may reconsider once $he realizes just what they are now capable of. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her new nipples<<else>>The feel of the air running over her new nipples fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her body still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim; a notion that is likely only going to strengthen once she realizes just how fuckable her tits have become. For now, @@.mediumorchid;she seems to view her altered nipples as a cruel imposition.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new nipples<<else>>The feel of the air running over her new nipples fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his body still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim; a notion that is likely only going to strengthen once $he realizes just how fuckable her tits have become. For now, @@.mediumorchid;$he seems to view her altered nipples as a cruel imposition.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10, $activeSlave.devotion -= 5>> <</if>> <<case "areolae">> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - <<if $activeSlave.amp != 1>>She's barely out of the surgery before she's playing with her new nipples despite the pain.<<else>>She's barely out of the surgery before she's rubbing her new nipples against anything she can reach, despite the pain.<</if>> She's @@.hotpink;deliriously happy@@ with your changes to what she thinks of as her primary sexual organs, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He's barely out of the surgery before $he's playing with her new nipples despite the pain.<<else>>$He's barely out of the surgery before $he's rubbing her new nipples against anything $he can reach, despite the pain.<</if>> $He's @@.hotpink;deliriously happy@@ with your changes to what $he thinks of as her primary sexual organs, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She runs a finger over her new nipples experimentally and turns to you with a smile to show them off. She's still sore, so she doesn't touch them much, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel the new nipples capping her tits turns her torso to you with a smile to show them off. She's still sore, so she doesn't move too violently, but she wiggles herself a little to show off.<</if>> @@.hotpink;She's happy with your changes to her nipples.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He runs a finger over her new nipples experimentally and turns to you with a smile to show them off. $He's still sore, so $he doesn't touch them much, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel the new nipples capping her tits turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't move too violently, but $he wiggles $himself a little to show off.<</if>> @@.hotpink;$He's happy with your changes to $his nipples.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new nipples skeptically<<else>>The cool air flowing over her new nipples draws a skeptical expression to her face<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her body still.<</if>> She's come to terms with the fact that she's a slave, so she isn't much affected mentally despite the surprise of having her nipples reshaped. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new nipples skeptically<<else>>The cool air flowing over her new nipples draws a skeptical expression to her face<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his body still.<</if>> $He's come to terms with the fact that $he's a slave, so $he isn't much affected mentally despite the surprise of having $his nipples reshaped. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her new nipples<<else>>The feel of the air running over her new nipples fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her body still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view her altered nipples as a cruel imposition@@. As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new nipples<<else>>The feel of the air running over her new nipples fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his body still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view her altered nipples as a cruel imposition@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "boobsLoss">> <<if ($activeSlave.areolae > 2)>> - The breast reduction surgery also @@.orange;slightly reduces her massive areolae.@@ + The breast reduction surgery also @@.orange;slightly reduces $his massive areolae.@@ <<set $activeSlave.areolae -= 1>> <</if>> <<if ($activeSlave.nipples == "huge")>> - The breast reduction surgery also @@.orange;slightly reduces her massive nipples.@@ + The breast reduction surgery also @@.orange;slightly reduces $his massive nipples.@@ <<set $activeSlave.nipples = "puffy">> <<elseif $activeSlave.nipples == "fuckable" && $activeSlave.boobs < 500>> Without the tissue needed to support their unusual shape, her fuckable nipples have reverted @@.orange;to being huge and protruding.@@ <<set $activeSlave.nipples = "huge">> <</if>> <<if ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her new, sleeker breasts experimentally and turns to you with a smile to show off her new, slimmer form. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her smaller breasts move and turns her torso to you with a smile to show them off. She's still sore, so she doesn't bounce too much.<</if>> @@.hotpink;She's happy with your changes to her boobs.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He hefts her new, sleeker breasts experimentally and turns to you with a smile to show off her new, slimmer form. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her smaller breasts move and turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't bounce too much.<</if>> @@.hotpink;$He's happy with your changes to $his boobs.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new, smaller breasts skeptically<<else>>She attempts to sway her big tits experimentally, only to find them substantially less bouncy<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, but she expected something other than this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new, smaller breasts skeptically<<else>>$He attempts to sway her big tits experimentally, only to find them substantially less bouncy<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, but $he expected something other than this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her sudden lack of her former breasts with resentment<<else>>The sudden lack of weight on her chest fills her with resentment<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this surgical theft as a cruel imposition@@. As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her sudden lack of her former breasts with resentment<<else>>The sudden lack of weight on $his chest fills $him with resentment<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this surgical theft as a cruel imposition@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "mastectomy+">> <<if ($activeSlave.breastShape == "saggy")>> - As excess skin and flesh was removed from her breasts, care was taken to @@.lime;reshape her boobs to be nice and perky.@@ + As excess skin and flesh was removed from $his breasts, care was taken to @@.lime;reshape $his boobs to be nice and perky.@@ <<set $activeSlave.breastShape = "perky">> <</if>> <<if ($activeSlave.areolae > 2)>> - The breast reduction surgery also @@.orange;slightly reduces her massive areolae.@@ + The breast reduction surgery also @@.orange;slightly reduces $his massive areolae.@@ <<set $activeSlave.areolae -= 1>> <</if>> <<if ($activeSlave.nipples == "huge")>> - The breast reduction surgery also @@.orange;slightly reduces her massive nipples.@@ + The breast reduction surgery also @@.orange;slightly reduces $his massive nipples.@@ <<set $activeSlave.nipples = "puffy">> <<elseif $activeSlave.nipples == "fuckable">> Without the tissue needed to support their unusual shape, her fuckable nipples have reverted @@.orange;to being huge and protruding.@@ <<set $activeSlave.nipples = "huge">> <</if>> <<if ($activeSlave.sexualFlaw == "breast growth")>> - <<if canSee($activeSlave)>>She can hardly believe what she is seeing. The immense bust she managed to grow has been all but stripped from her. Her face fills with disbelief as her flatness dawns on her<<else>>She immediately notices the lack of an immense weight hanging off her chest. Her face fills with disbelief as her flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>Her hands immediately dart to grope her tits, but she only ends up grabbing air. Her face twitches, her mind unable to comprehend why this has happened to her. Her hands fall to her sides as her will breaks.<<else>> She tries to squirm, and finds she is no longer pinned by her tits. Her face twitches, her mind unable to comprehend why this has happened to her. She sobs once as her will to go on breaks apart.<</if>> She loved her enormous breasts, and now that they are gone, she has nothing to live for. @@.red;Your theft of her obsession has broken her mind@@. As with all invasive surgery @@.red;her health has been affected.@@ + <<if canSee($activeSlave)>>$He can hardly believe what $he is seeing. The immense bust $he managed to grow has been all but stripped from $him. $His face fills with disbelief as $his flatness dawns on her<<else>>$He immediately notices the lack of an immense weight hanging off $his chest. $His face fills with disbelief as $his flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>$His hands immediately dart to grope her tits, but $he only ends up grabbing air. $His face twitches, her mind unable to comprehend why this has happened to $him. $His hands fall to her sides as her will breaks.<<else>> $He tries to squirm, and finds $he is no longer pinned by her tits. $His face twitches, her mind unable to comprehend why this has happened to $him. $He sobs once as her will to go on breaks apart.<</if>> $He loved her enormous breasts, and now that they are gone, $he has nothing to live for. @@.red;Your theft of $his obsession has broken her mind@@. As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.trust = -50>> <<set $activeSlave.devotion = -50>> <<set $activeSlave.fetish = "mindbroken">> @@ -649,40 +648,40 @@ As the remote surgery's long recovery cycle completes, <<set $activeSlave.behavioralQuirk = "none">> <<set $activeSlave.behavioralFlaw = "none">> <<elseif ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($activeSlave.devotion < 20)>> - <<if canSee($activeSlave)>>She can hardly believe what she is seeing. Her once magnificent, immense bust has been all but stripped from her. Her face fills with resentment as her flatness dawns on her<<else>>She immediately notices the lack of an immense weight hanging off her chest. Her face fills with resentment as her flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She loved her enormous breasts, and they were swiped from off her chest by the person she was just beginning to entrust herself to. @@.mediumorchid;She sees this as a betrayal by you@@. As with all invasive surgery @@.red;her health has been affected.@@ She is now @@.gold;terribly afraid@@ that you may chose to steal something else she loves. + <<if canSee($activeSlave)>>$He can hardly believe what $he is seeing. $His once magnificent, immense bust has been all but stripped from $him. $His face fills with resentment as $his flatness dawns on her<<else>>$He immediately notices the lack of an immense weight hanging off $his chest. $His face fills with resentment as $his flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He loved her enormous breasts, and they were swiped from off $his chest by the person $he was just beginning to entrust $himself to. @@.mediumorchid;$He sees this as a betrayal by you@@. As with all invasive surgery @@.red;$his health has been affected.@@ $He is now @@.gold;terribly afraid@@ that you may chose to steal something else $he loves. <<set $activeSlave.trust -= 40>> <<set $activeSlave.devotion -= 20>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her new, tiny breasts experimentally and turns to you with a smile to show off her new, slimmer form. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her tiny breasts move and turns her torso to you with a smile to show them off. She's still sore, so she doesn't bounce too much.<</if>> @@.hotpink;She's happy with your changes to her boobs@@ and @@.mediumaquamarine;thankful@@ that you'd consider her health, well being and ability to fuck. As with all invasive surgery @@.red;her health has been affected.@@ + <<if $activeSlave.amp != 1>>$He hefts her new, tiny breasts experimentally and turns to you with a smile to show off her new, slimmer form. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her tiny breasts move and turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't bounce too much.<</if>> @@.hotpink;$He's happy with your changes to $his boobs@@ and @@.mediumaquamarine;thankful@@ that you'd consider $his health, well being and ability to fuck. As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new, tiny breasts with appreciation<<else>>She attempts to sway her big tits experimentally, only to find her chest barely moves at all<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, but she expected something other than this when she was sent to the surgery. She isn't much affected mentally. As with all invasive surgery @@.red;her health has been affected.@@ She is @@.mediumaquamarine;thankful@@ that you removed the literal weight off her chest. + <<if canSee($activeSlave)>>$He eyes her new, tiny breasts with appreciation<<else>>$He attempts to sway her big tits experimentally, only to find $his chest barely moves at all<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, but $he expected something other than this when $he was sent to the surgery. $He isn't much affected mentally. As with all invasive surgery @@.red;$his health has been affected.@@ $He is @@.mediumaquamarine;thankful@@ that you removed the literal weight off $his chest. <<set $activeSlave.trust += 5>> <<else>> - <<if canSee($activeSlave)>>She eyes the sudden lack of her former breasts with relief<<else>>The sudden lack of weight on her chest fills her with relief<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but she breaths easier without the immense weight hanging from her.<<else>>She's still sore, so she keeps her torso still, but she breaths easier without the immense weight hanging from her.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.hotpink;she seems appreciative of this literal weight lifted from her chest@@ and @@.mediumaquamarine;is thankful for your consideration of her health@@. As with all invasive surgery @@.red;her health has been affected.@@ + <<if canSee($activeSlave)>>$He eyes the sudden lack of her former breasts with relief<<else>>The sudden lack of weight on $his chest fills $him with relief<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but $he breaths easier without the immense weight hanging from $him.<<else>>$He's still sore, so $he keeps $his torso still, but $he breaths easier without the immense weight hanging from $him.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.hotpink;$he seems appreciative of this literal weight lifted from $his chest@@ and @@.mediumaquamarine;is thankful for your consideration of $his health@@. As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.trust += 10>> <<set $activeSlave.devotion += 5>> <</if>> <<case "mastectomy">> <<if ($activeSlave.breastShape == "saggy")>> - As excess skin and flesh was removed from her breasts, care was taken to @@.lime;reshape her boobs to be nice and perky.@@ + As excess skin and flesh was removed from $his breasts, care was taken to @@.lime;reshape $his boobs to be nice and perky.@@ <<set $activeSlave.breastShape = "perky">> <</if>> <<if ($activeSlave.areolae > 2)>> - The breast reduction surgery also @@.orange;slightly reduces her massive areolae.@@ + The breast reduction surgery also @@.orange;slightly reduces $his massive areolae.@@ <<set $activeSlave.areolae -= 1>> <</if>> <<if ($activeSlave.nipples == "huge")>> - The breast reduction surgery also @@.orange;slightly reduces her massive nipples.@@ + The breast reduction surgery also @@.orange;slightly reduces $his massive nipples.@@ <<set $activeSlave.nipples = "puffy">> <<elseif $activeSlave.nipples == "fuckable">> Without the tissue needed to support their unusual shape, her fuckable nipples have reverted @@.orange;to being huge and protruding.@@ <<set $activeSlave.nipples = "huge">> <</if>> <<if ($activeSlave.sexualFlaw == "breast growth")>> - <<if canSee($activeSlave)>>She can hardly believe what she is seeing. Her once glorious bust has been all but stripped from her. Her face fills with disbelief as her flatness dawns on her<<else>>She immediately notices the lack of an immense weight hanging off her chest. Her face fills with disbelief as her flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>Her hands immediately dart to grope her tits, but she only ends up grabbing air. Her face twitches, her mind unable to comprehend why this has happened to her. Her hands fall to her sides as her will breaks.<<else>> She tries to squirm, and finds she is no longer pinned by her tits. Her face twitches, her mind unable to comprehend why this has happened to her. She sobs once as her will to go on breaks apart.<</if>> She loved her huge breasts, and now that they are gone, she has nothing to live for. @@.red;Your theft of her obsession has broken her mind@@. As with all invasive surgery @@.red;her health has been affected.@@ + <<if canSee($activeSlave)>>$He can hardly believe what $he is seeing. $His once glorious bust has been all but stripped from $him. $His face fills with disbelief as $his flatness dawns on her<<else>>$He immediately notices the lack of an immense weight hanging off $his chest. $His face fills with disbelief as $his flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>$His hands immediately dart to grope her tits, but $he only ends up grabbing air. $His face twitches, her mind unable to comprehend why this has happened to $him. $His hands fall to her sides as her will breaks.<<else>> $He tries to squirm, and finds $he is no longer pinned by her tits. $His face twitches, her mind unable to comprehend why this has happened to $him. $He sobs once as her will to go on breaks apart.<</if>> $He loved $his huge breasts, and now that they are gone, $he has nothing to live for. @@.red;Your theft of $his obsession has broken her mind@@. As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.trust = -50>> <<set $activeSlave.devotion = -50>> <<set $activeSlave.fetish = "mindbroken">> @@ -691,179 +690,179 @@ As the remote surgery's long recovery cycle completes, <<set $activeSlave.behavioralQuirk = "none">> <<set $activeSlave.behavioralFlaw = "none">> <<elseif ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($activeSlave.devotion < 20)>> - <<if canSee($activeSlave)>>She can hardly believe what she is seeing. Her once magnificent bust has been all but stripped from her. Her face fills with resentment as her flatness dawns on her<<else>>She immediately notices the lack of an immense weight hanging off her chest. Her face fills with resentment as her flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She loved her huge breasts, and they were swiped from off her chest by the person she was just beginning to entrust herself to. @@.mediumorchid;She sees this as a betrayal by you@@. As with all invasive surgery @@.red;her health has been affected.@@ She is now @@.gold;terribly afraid@@ that you may chose to steal something else she loves. + <<if canSee($activeSlave)>>$He can hardly believe what $he is seeing. $His once magnificent bust has been all but stripped from $him. $His face fills with resentment as $his flatness dawns on her<<else>>$He immediately notices the lack of an immense weight hanging off $his chest. $His face fills with resentment as $his flatness dawns on her<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He loved $his huge breasts, and they were swiped from off $his chest by the person $he was just beginning to entrust $himself to. @@.mediumorchid;$He sees this as a betrayal by you@@. As with all invasive surgery @@.red;$his health has been affected.@@ $He is now @@.gold;terribly afraid@@ that you may chose to steal something else $he loves. <<set $activeSlave.trust -= 40>> <<set $activeSlave.devotion -= 20>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her new, tiny breasts experimentally and turns to you with a smile to show off her new, slimmer form. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her tiny breasts move and turns her torso to you with a smile to show them off. She's still sore, so she doesn't bounce too much.<</if>> @@.hotpink;She's happy with your changes to her boobs.@@ As with all invasive surgery @@.red;her health has been affected.@@ + <<if $activeSlave.amp != 1>>$He hefts her new, tiny breasts experimentally and turns to you with a smile to show off her new, slimmer form. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her tiny breasts move and turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't bounce too much.<</if>> @@.hotpink;$He's happy with your changes to $his boobs.@@ As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new, tiny breasts skeptically<<else>>She attempts to sway her big tits experimentally, only to find her chest barely moves at all<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, but she expected something other than this when she was sent to the surgery. She isn't much affected mentally. As with all invasive surgery @@.red;her health has been affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new, tiny breasts skeptically<<else>>$He attempts to sway her big tits experimentally, only to find $his chest barely moves at all<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, but $he expected something other than this when $he was sent to the surgery. $He isn't much affected mentally. As with all invasive surgery @@.red;$his health has been affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes the sudden lack of her former breasts with resentment<<else>>The sudden lack of weight on her chest fills her with resentment<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this surgical theft as a cruel imposition@@. As with all invasive surgery @@.red;her health has been affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes the sudden lack of her former breasts with resentment<<else>>The sudden lack of weight on $his chest fills $him with resentment<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this surgical theft as a cruel imposition@@. As with all invasive surgery @@.red;$his health has been affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "breastShapePreservation">> - She notices almost immediately the immense soreness in her breasts. She can't find anything off about them, but she knows you did something to them. As with all surgery @@.red;her health has been slightly affected.@@ + $He notices almost immediately the immense soreness in $his breasts. $He can't find anything off about them, but $he knows you did something to them. As with all surgery @@.red;$his health has been slightly affected.@@ <<case "breastLift">> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - <<if $activeSlave.amp != 1>>She's barely out of the surgery before she's playing with her new, perkier breasts despite the pain.<<else>>She's barely out of the surgery before she's rubbing her new, perkier breasts against anything she can reach, despite the pain.<</if>> She's @@.hotpink;deliriously happy@@ with your changes to what she thinks of as her primary sexual organs, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He's barely out of the surgery before $he's playing with her new, perkier breasts despite the pain.<<else>>$He's barely out of the surgery before $he's rubbing her new, perkier breasts against anything $he can reach, despite the pain.<</if>> $He's @@.hotpink;deliriously happy@@ with your changes to what $he thinks of as her primary sexual organs, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She runs her hands over her perkier breasts experimentally and turns to you with a smile to show them off. She's still sore, so she doesn't touch them much, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her perkier tits move before she turns her torso to you with a smile to show them off. She's still sore, so she doesn't move too violently, but she wiggles herself a little to show off.<</if>> @@.hotpink;She's thrilled that you firmed up her breasts.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He runs her hands over her perkier breasts experimentally and turns to you with a smile to show them off. $He's still sore, so $he doesn't touch them much, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her perkier tits move before $he turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't move too violently, but $he wiggles $himself a little to show off.<</if>> @@.hotpink;$He's thrilled that you firmed up $his breasts.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new, perkier breasts skeptically<<else>>The cool air flowing over the new location of her nipples draws a skeptical expression to her face<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her body still.<</if>> She's come to terms with the fact that she's a slave, but she is @@.hotpink;quite happy@@ you'd take the time to make her breasts prettier. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body and that this may be only the beginning of extensive breast surgery. + <<if canSee($activeSlave)>>$He eyes her new, perkier breasts skeptically<<else>>The cool air flowing over the new location of $his nipples draws a skeptical expression to her face<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his body still.<</if>> $He's come to terms with the fact that $he's a slave, but $he is @@.hotpink;quite happy@@ you'd take the time to make $his breasts prettier. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body and that this may be only the beginning of extensive breast surgery. <<set $activeSlave.devotion += 3>> <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her new, perkier breasts<<else>>The feel of the air running over the new location of her nipples fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her body still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. Oddly, @@.hotpink;she seems to like that her breasts are no longer saggy@@ despite her immediate reaction. As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body and fears that this is only the beginning of her breast surgeries. + <<if canSee($activeSlave)>>$He eyes her new, perkier breasts<<else>>The feel of the air running over the new location of $his nipples fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his body still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. Oddly, @@.hotpink;$he seems to like that $his breasts are no longer saggy@@ despite her immediate reaction. As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body and fears that this is only the beginning of her breast surgeries. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion += 2>> <</if>> <<case "breastReconstruction">> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - <<if $activeSlave.amp != 1>>She's barely out of the surgery before she's playing with her new, <<print $activeSlave.boobShape>> breasts despite the pain.<<else>>She's barely out of the surgery before she's rubbing her new, <<print $activeSlave.boobShape>> breasts against anything she can reach, despite the pain.<</if>> She's @@.hotpink;deliriously happy@@ with your changes to what she thinks of as her primary sexual organs, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He's barely out of the surgery before $he's playing with her new, <<print $activeSlave.boobShape>> breasts despite the pain.<<else>>$He's barely out of the surgery before $he's rubbing her new, <<print $activeSlave.boobShape>> breasts against anything $he can reach, despite the pain.<</if>> $He's @@.hotpink;deliriously happy@@ with your changes to what $he thinks of as her primary sexual organs, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She runs her hands over her <<print $activeSlave.boobShape>> breasts experimentally and turns to you with a smile to show them off. She's still sore, so she doesn't touch them much, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her <<print $activeSlave.boobShape>> tits move before she turns her torso to you with a smile to show them off. She's still sore, so she doesn't move too violently, but she wiggles herself a little to show off.<</if>> @@.hotpink;She's happy with your changes to her breasts.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He runs her hands over her <<print $activeSlave.boobShape>> breasts experimentally and turns to you with a smile to show them off. $He's still sore, so $he doesn't touch them much, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her <<print $activeSlave.boobShape>> tits move before $he turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't move too violently, but $he wiggles $himself a little to show off.<</if>> @@.hotpink;$He's happy with your changes to $his breasts.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new, <<print $activeSlave.boobShape>> breasts skeptically<<else>>The cool air flowing over the new location of her nipples draws a skeptical expression to her face<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her body still.<</if>> She's come to terms with the fact that she's a slave, so she isn't much affected mentally despite the surprise of having her breasts reshaped. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new, <<print $activeSlave.boobShape>> breasts skeptically<<else>>The cool air flowing over the new location of $his nipples draws a skeptical expression to her face<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his body still.<</if>> $He's come to terms with the fact that $he's a slave, so $he isn't much affected mentally despite the surprise of having $his breasts reshaped. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her new, <<print $activeSlave.boobShape>> breasts<<else>>The feel of the air running over the new location of her nipples fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her body still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view her altered breasts as a cruel imposition@@. As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new, <<print $activeSlave.boobShape>> breasts<<else>>The feel of the air running over the new location of $his nipples fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his body still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view her altered breasts as a cruel imposition@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <</if>> <<case "lactation">> <<if ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her swollen breasts experimentally and turns to you with a smile to show them off. As she does, a drop of milk drips from a nipple and she gasps in surprise. She's shocked, but after tasting her own milk experimentally she <<if canSee($activeSlave)>>looks<<else>>smiles<</if>> at you shyly and gently teases some more milk out of herself. The resulting stream of cream is bountiful and she giggles happily.<<else>>As you carry her out of the surgery, droplets of milk begin to bud from her nipples, and she giggles giddily.<</if>> @@.hotpink;She's happy with your changes to her boobs.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He hefts her swollen breasts experimentally and turns to you with a smile to show them off. As $he does, a drop of milk drips from a nipple and $he gasps in surprise. $He's shocked, but after tasting her own milk experimentally $he <<if canSee($activeSlave)>>looks<<else>>smiles<</if>> at you shyly and gently teases some more milk out of $himself. The resulting stream of cream is bountiful and $he giggles happily.<<else>>As you carry her out of the surgery, droplets of milk begin to bud from $his nipples, and $he giggles giddily.<</if>> @@.hotpink;$He's happy with your changes to $his boobs.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if $activeSlave.amp != 1>><<if canSee($activeSlave)>>She eyes her swollen breasts skeptically<<else>>She is skeptical of the how swollen her breasts feel<</if>>. She's still sore, so she doesn't touch them. Even so, a drop of milk drips from a nipple and she gasps in surprise. She's shocked, but after a few experimental pokes and rubs at herself she seems to understand that she's a lactation slave now, and that's how it is.<<else>>As you carry her out of the surgery, droplets of milk begin to bud from her nipples. She's shocked, but she seems to understand that she's a lactation slave now, and that's how it is.<</if>> She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if $activeSlave.amp != 1>><<if canSee($activeSlave)>>$He eyes her swollen breasts skeptically<<else>>$He is skeptical of the how swollen $his breasts feel<</if>>. $He's still sore, so $he doesn't touch them. Even so, a drop of milk drips from a nipple and $he gasps in surprise. $He's shocked, but after a few experimental pokes and rubs at $himself $he seems to understand that $he's a lactation slave now, and that's how it is.<<else>>As you carry her out of the surgery, droplets of milk begin to bud from $his nipples. $He's shocked, but $he seems to understand that $he's a lactation slave now, and that's how it is.<</if>> $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her swollen breasts<<else>>As she feels the fullness in her breasts, her face fills<</if>> with resentment. She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. When she finally figures out she's lactating, she breaks down in rage and unhappiness, dripping milk and bitter tears. For now, @@.mediumorchid;she seems to view being a lactation slave as a cruel hardship.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her swollen breasts<<else>>As $he feels the fullness in $his breasts, her face fills<</if>> with resentment. $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. When $he finally figures out $he's lactating, $he breaks down in rage and unhappiness, dripping milk and bitter tears. For now, @@.mediumorchid;$he seems to view being a lactation slave as a cruel hardship.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "endlac">> - She notices almost immediately that the soreness that used to tell her she needed to be milked has gone. She bounces her breasts idly; it looks like she doesn't know what to think about having her lactation dry up. As with all surgery @@.red;her health has been slightly affected.@@ + $He notices almost immediately that the soreness that used to tell her $he needed to be milked has gone. $He bounces $his breasts idly; it looks like $he doesn't know what to think about having her lactation dry up. As with all surgery @@.red;$his health has been slightly affected.@@ <<if $activeSlave.assignment == "get milked">> - @@.yellow;Her assignment has defaulted to rest.@@ + @@.yellow;$His assignment has defaulted to rest.@@ <<= removeJob($activeSlave, $activeSlave.assignment)>> <</if>> <<case "precum">> - Her groin is a little sore, and she examines it closely, but she can't find much difference. Near the end of her close inspection of her own private parts, though, she happens to stimulate herself, unintentionally, and just a little. That's enough. She begins to leak precum, and it doesn't stop until her confusion snuffs out the slight arousal that got it started. + $His groin is a little sore, and $he examines it closely, but $he can't find much difference. Near the end of her close inspection of her own private parts, though, $he happens to stimulate $himself, unintentionally, and just a little. That's enough. $He begins to leak precum, and it doesn't stop until her confusion snuffs out the slight arousal that got it started. <<if $activeSlave.devotion > 50>> - @@.hotpink;She's delighted.@@ She's such a good sex slave that the lewdness of making extra fluid when she's ready to fuck is exciting to her. That, and extra lubrication is always welcome. - <<if $activeSlave.dick > 2>>One of the first things she tries is guiding her flaccid dick back to apply some to her asspussy. It works, to her naughty satisfaction.<</if>> + @@.hotpink;$He's delighted.@@ $He's such a good sex slave that the lewdness of making extra fluid when $he's ready to fuck is exciting to $him. That, and extra lubrication is always welcome. + <<if $activeSlave.dick > 2>>One of the first things $he tries is guiding her flaccid dick back to apply some to her asspussy. It works, to her naughty satisfaction.<</if>> <<set $activeSlave.devotion += 4>> <<elseif $activeSlave.devotion >= -20>> - She obviously doesn't know what to think at first. She does her best not to make a mess, and is mostly successful, but she's realizing that this is going to be somewhat inconvenient. Still, having such a lewd change made to her body affects her feelings towards you; she is @@.gold;sensibly fearful@@ of your total power over her. + $He obviously doesn't know what to think at first. $He does her best not to make a mess, and is mostly successful, but $he's realizing that this is going to be somewhat inconvenient. Still, having such a lewd change made to $his body affects her feelings towards you; $he is @@.gold;sensibly fearful@@ of your total power over $him. <<set $activeSlave.trust -= 5>> <<else>> - She feared the worst when she realized that something had been done to her down there, and she's initially relieved to find that she's intact and apparently functional. But she's been invaded in an extremely personal way, and @@.mediumorchid;resents having you tamper with her private parts.@@ Furthermore, she is @@.gold;sensibly fearful@@ of your total power over her. + $He feared the worst when $he realized that something had been done to her down there, and $he's initially relieved to find that $he's intact and apparently functional. But $he's been invaded in an extremely personal way, and @@.mediumorchid;resents having you tamper with her private parts.@@ Furthermore, $he is @@.gold;sensibly fearful@@ of your total power over $him. <<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5>> <</if>> - As with all surgery @@.red;her health has been slightly affected.@@ + As with all surgery @@.red;$his health has been slightly affected.@@ <<case "endprecum">> - Her groin is a little sore, and she examines it closely, but she can't find much difference. Her generous production of precum won't tail off for some time, until the slow-release drugs are completely flushed from her system. Even then, the only real change for her will be a little less inconvenience. As with all surgery @@.red;her health has been slightly affected.@@ + $His groin is a little sore, and $he examines it closely, but $he can't find much difference. $His generous production of precum won't tail off for some time, until the slow-release drugs are completely flushed from her system. Even then, the only real change for her will be a little less inconvenience. As with all surgery @@.red;$his health has been slightly affected.@@ <<case "vasectomy">> - Her groin is a little sore, and she examines it closely, but she can't find much difference. She likely won't realize what happened, but may piece things together when she realizes the girls she fucks never get pregnant. As with all surgery @@.red;her health has been slightly affected.@@ + $His groin is a little sore, and $he examines it closely, but $he can't find much difference. $He likely won't realize what happened, but may piece things together when $he realizes the girls $he fucks never get pregnant. As with all surgery @@.red;$his health has been slightly affected.@@ <<case "vasectomy undo">> - Her groin is a little sore, and she examines it closely, but she can't find much difference. She likely won't ever realize what happened until she gets a girl pregnant. As with all surgery @@.red;her health has been slightly affected.@@ + $His groin is a little sore, and $he examines it closely, but $he can't find much difference. $He likely won't ever realize what happened until $he gets a girl pregnant. As with all surgery @@.red;$his health has been slightly affected.@@ <<case "ejaculation">> - Her groin is a little sore, and she examines it closely, finding it slightly swollen. Near the end of her close inspection of her own private parts, though, she happens to stimulate herself, unintentionally, and just a little. That's enough. She begins to leak excessive precum, as usual, but a distinct pressure begins building in her loins. She groans as the swelling rises before bucking and orgasming uncontrollably, coating herself and the bed in a layer of fluid. + $His groin is a little sore, and $he examines it closely, finding it slightly swollen. Near the end of her close inspection of her own private parts, though, $he happens to stimulate $himself, unintentionally, and just a little. That's enough. $He begins to leak excessive precum, as usual, but a distinct pressure begins building in her loins. $He groans as the swelling rises before bucking and orgasming uncontrollably, coating $himself and the bed in a layer of fluid. <<if $activeSlave.devotion > 50>> - @@.hotpink;She's delighted.@@ She's such a good sex slave that the lewdness of extra large ejaculations is exciting to her. That, and the extra length of her climax wasn't bad either. + @@.hotpink;$He's delighted.@@ $He's such a good sex slave that the lewdness of extra large ejaculations is exciting to $him. That, and the extra length of her climax wasn't bad either. <<set $activeSlave.devotion += 4>> <<elseif $activeSlave.devotion >= -20>> - She obviously doesn't know what to think at first. Just brushing her private parts resulted in a huge mess, a somewhat exciting prospect, but she's realizing that this is going to be rather inconvenient, if not moist. Still, having such a lewd change made to her body affects her feelings towards you; she is @@.gold;sensibly fearful@@ of your total power over her. + $He obviously doesn't know what to think at first. Just brushing her private parts resulted in a huge mess, a somewhat exciting prospect, but $he's realizing that this is going to be rather inconvenient, if not moist. Still, having such a lewd change made to $his body affects her feelings towards you; $he is @@.gold;sensibly fearful@@ of your total power over $him. <<set $activeSlave.trust -= 5>> <<else>> - She feared the worst when she realized that something had been done to her down there, and she's initially relieved to find that she's intact and apparently functional. But she's been invaded in an extremely personal way, and @@.mediumorchid;resents having you tamper with her private parts.@@ Furthermore, she is @@.gold;sensibly fearful@@ of your total power over her. + $He feared the worst when $he realized that something had been done to her down there, and $he's initially relieved to find that $he's intact and apparently functional. But $he's been invaded in an extremely personal way, and @@.mediumorchid;resents having you tamper with her private parts.@@ Furthermore, $he is @@.gold;sensibly fearful@@ of your total power over $him. <<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5>> <</if>> - As with all surgery @@.red;her health has been slightly affected.@@ + As with all surgery @@.red;$his health has been slightly affected.@@ <<case "endejac">> - Her groin is a little sore, and she examines it closely, but she can't find much difference other than the swelling in her crotch has gone down. She'll realize later when her next ejaculation is rather underwhelming from what she has become accustomed to. As with all surgery @@.red;her health has been slightly affected.@@ + $His groin is a little sore, and $he examines it closely, but $he can't find much difference other than the swelling in her crotch has gone down. $He'll realize later when her next ejaculation is rather underwhelming from what $he has become accustomed to. As with all surgery @@.red;$his health has been slightly affected.@@ <<case "scarRemov">> - Even though removing scars is a trivial process, @@.red;her health has been slightly affected@@. When she exits the room, she feels that most of her skin is numb, and she is @@.hotpink;happy@@ when she finds her scars have been removed. + Even though removing scars is a trivial process, @@.red;$his health has been slightly affected@@. When $he exits the room, $he feels that most of her skin is numb, and $he is @@.hotpink;happy@@ when $he finds her scars have been removed. <<set $activeSlave.devotion += 2>> <<case "scarFear">> - Even though creating an artificial scar is a trivial process, @@.red;her health has been slightly affected@@. When she exits the room, she feels that her face is numb, + Even though creating an artificial scar is a trivial process, @@.red;$his health has been slightly affected@@. When $he exits the room, $he feels that her face is numb, <<if $activeSlave.ID == $Bodyguard.ID>> - <<if canSee($activeSlave)>>throwing a glance at the mirror, she frightens herself<<else>> upon hearing of her new scar<</if>>, but is @@.hotpink;happier@@ with her new look and @@.mediumaquamarine;more confident@@ that she's the girl for the job. + <<if canSee($activeSlave)>>throwing a glance at the mirror, $he frightens $himself<<else>> upon hearing of her new scar<</if>>, but is @@.hotpink;happier@@ with her new look and @@.mediumaquamarine;more confident@@ that $he's the girl for the job. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<elseif $activeSlave.devotion > 20>> - and <<if canSee($activeSlave)>>looking at the mirror<<else>>being informed of her new look<</if>>, she is both @@.gold;quite frightened@@ by her new face, yet @@.hotpink;hopeful@@ you'll be happy with her new look. + and <<if canSee($activeSlave)>>looking at the mirror<<else>>being informed of her new look<</if>>, $he is both @@.gold;quite frightened@@ by her new face, yet @@.hotpink;hopeful@@ you'll be happy with her new look. <<set $activeSlave.devotion += 2>> <<set $activeSlave.trust -= 2>> <<else>> - and, when <<if canSee($activeSlave)>>she looks at herself in the mirror<<else>>is informed of her new look<</if>>, she is @@.mediumorchid;disgusted@@ by the @@.gold;awful scar@@ she now bears. + and, when <<if canSee($activeSlave)>>$he looks at $himself in the mirror<<else>>is informed of her new look<</if>>, $he is @@.mediumorchid;disgusted@@ by the @@.gold;awful scar@@ $he now bears. <<set $activeSlave.devotion -= 10>> <<set $activeSlave.trust -= 10>> <</if>> <<case "scarExo">> - Even though creating an artificial scar is a trivial process, @@.red;her health has been slightly affected@@. When she exits the room, she feels that her face is numb, + Even though creating an artificial scar is a trivial process, @@.red;$his health has been slightly affected@@. When $he exits the room, $he feels that her face is numb, <<if $activeSlave.devotion > 50>> - she <<if canSee($activeSlave)>>throws a glance at the mirror<<else>>listens closely to your description<</if>>, and seems to be @@.hotpink;in awe@@ of how much her face has been beautified by a small scar. + $he <<if canSee($activeSlave)>>throws a glance at the mirror<<else>>listens closely to your description<</if>>, and seems to be @@.hotpink;in awe@@ of how much her face has been beautified by a small scar. <<set $activeSlave.devotion += 5>> <<elseif $activeSlave.devotion > 20>> - and when she <<if canSee($activeSlave)>>looks at the mirror<<else>>listens to your description<</if>>, she seems @@.hotpink;pleased@@ with her new exotic scar. + and when $he <<if canSee($activeSlave)>>looks at the mirror<<else>>listens to your description<</if>>, $he seems @@.hotpink;pleased@@ with her new exotic scar. <<set $activeSlave.devotion += 5>> <<else>> - and, <<if canSee($activeSlave)>>looking at herself in the mirror<<else>>listening to the description of her new look<</if>>, she seems @@.hotpink;thankful@@ for the distinguishing scar, but @@.gold;scared@@ that it might only be some way to brand her. + and, <<if canSee($activeSlave)>>looking at $himself in the mirror<<else>>listening to the description of her new look<</if>>, $he seems @@.hotpink;thankful@@ for the distinguishing scar, but @@.gold;scared@@ that it might only be some way to brand $him. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust -= 5>> <</if>> <<case "butt">> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She gently flexes her sore buttocks with a sigh of pleasure. She's @@.hotpink;deliriously happy@@ to have a bigger butt, since she confidently expects that this will mean more cocks being shoved up her asshole. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + $He gently flexes her sore buttocks with a sigh of pleasure. $He's @@.hotpink;deliriously happy@@ to have a bigger butt, since $he confidently expects that this will mean more cocks being shoved up her asshole. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - She rubs her new butt experimentally and turns to you with a smile to show it off. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see it from all angles. @@.hotpink;She's happy with your changes to her ass.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He rubs her new butt experimentally and turns to you with a smile to show it off. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see it from all angles. @@.hotpink;$He's happy with your changes to $his ass.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her new butt<<else>>She shifts her new butt<</if>> skeptically. She's still sore, so she doesn't touch it. She's come to terms with the fact that she's a slave, so she expected something like this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new butt<<else>>$He shifts her new butt<</if>> skeptically. $He's still sore, so $he doesn't touch it. $He's come to terms with the fact that $he's a slave, so $he expected something like this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her new butt<<else>>The new weight in her backside fills her<</if>> with resentment. She's still sore, so she doesn't touch them, but she glares daggers. She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this fake ass as a cruel imposition@@. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new butt<<else>>The new weight in her backside fills her<</if>> with resentment. $He's still sore, so $he doesn't touch them, but $he glares daggers. $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this fake ass as a cruel imposition@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "buttLoss">> <<if ($activeSlave.devotion > 50)>> - She <<if canSee($activeSlave)>>twists to view<<else>>She jiggles<</if>> her new, sleeker derriere and turns to you with a smile and a flirty little roll of her hips. She's still sore, so she doesn't bounce her tighter buttocks for you, but she seems happy all the same. @@.hotpink;She's happy with your changes to her buttocks.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He <<if canSee($activeSlave)>>twists to view<<else>>$He jiggles<</if>> her new, sleeker derriere and turns to you with a smile and a flirty little roll of her hips. $He's still sore, so $he doesn't bounce her tighter buttocks for you, but $he seems happy all the same. @@.hotpink;$He's happy with your changes to $his buttocks.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She <<if canSee($activeSlave)>>twists to view<<else>>jiggles<</if>> her new, sleeker derriere skeptically. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch it.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, but she expected something other than this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He <<if canSee($activeSlave)>>twists to view<<else>>jiggles<</if>> her new, sleeker derriere skeptically. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch it.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, but $he expected something other than this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She shifts her diminished ass with resentment. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch it, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this surgical ass theft as a cruel imposition@@. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He shifts her diminished ass with resentment. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch it, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this surgical ass theft as a cruel imposition@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> @@ -871,13 +870,13 @@ As the remote surgery's long recovery cycle completes, <<case "face">> <<FaceIncrease $activeSlave 20>> <<if ($activeSlave.devotion > 50)>> - She <<if canSee($activeSlave)>>examines her new self in the mirror with approval. She doesn't recognize herself quite yet, but s<<else>>listens closely to the description of her new face. S<</if>>he hopes you'll like her new face better and use her more frequently as a result. @@.hotpink;She's happy with your changes to her face.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He <<if canSee($activeSlave)>>examines her new self in the mirror with approval. $He doesn't recognize $himself quite yet, but s<<else>>listens closely to the description of her new face. S<</if>>he hopes you'll like her new face better and use her more frequently as a result. @@.hotpink;$He's happy with your changes to her face.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She <<if canSee($activeSlave)>>examines her new self in the mirror with hesitation. She doesn't recognize herself quite yet, but s<<else>>listens closely to the description of her new face. S<</if>>he hopes you'll like her new face better and treat her more kindly as a result. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He <<if canSee($activeSlave)>>examines her new self in the mirror with hesitation. $He doesn't recognize $himself quite yet, but s<<else>>listens closely to the description of her new face. S<</if>>he hopes you'll like her new face better and treat her more kindly as a result. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She <<if canSee($activeSlave)>>examines her new self in the mirror with revulsion. She doesn't recognize herself quite yet, which s<<else>>listens closely to the description of her new face, which s<</if>>he hates, though she hopes you'll like her new face better and punish her less cruelly as a result. For now, @@.mediumorchid;she seems to view this fake face as a cruel imposition.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He <<if canSee($activeSlave)>>examines her new self in the mirror with revulsion. $He doesn't recognize $himself quite yet, which s<<else>>listens closely to the description of her new face, which s<</if>>he hates, though $he hopes you'll like her new face better and punish her less cruelly as a result. For now, @@.mediumorchid;$he seems to view this fake face as a cruel imposition.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> @@ -895,101 +894,101 @@ As the remote surgery's long recovery cycle completes, <<set $activeSlave.visualAge -= 5>> <</if>> <<if ($activeSlave.devotion > 50)>> - She <<if canSee($activeSlave)>>examines her younger self in the mirror with approval. S<<else>>listens closely to the description of her new younger self with approval. S<</if>>he doesn't recognize her youthful yet artificial appearance yet, but she resolves to back her new appearance up with youthful energy and cheer. @@.hotpink;She's very happy you used surgery to reverse her apparent aging.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He <<if canSee($activeSlave)>>examines her younger self in the mirror with approval. S<<else>>listens closely to the description of her new younger self with approval. S<</if>>he doesn't recognize her youthful yet artificial appearance yet, but $he resolves to back her new appearance up with youthful energy and cheer. @@.hotpink;$He's very happy you used surgery to reverse her apparent aging.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 10>> <<elseif ($activeSlave.devotion >= -20)>> - She <<if canSee($activeSlave)>>examines youthful yet artificial appearance in the mirror<<else>>listens to the description of her youthful yet artificial appearance<</if>> with hesitation. The cosmetic surgery is extremely well done, and she eventually decides that being subjected to surgery without her consent is @@.hotpink;acceptable,@@ if it's being used to make her look so young and pretty. As with all surgery @@.red;her health has been slightly affected.@@ + $He <<if canSee($activeSlave)>>examines youthful yet artificial appearance in the mirror<<else>>listens to the description of her youthful yet artificial appearance<</if>> with hesitation. The cosmetic surgery is extremely well done, and $he eventually decides that being subjected to surgery without her consent is @@.hotpink;acceptable,@@ if it's being used to make her look so young and pretty. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<else>> - She <<if canSee($activeSlave)>>examines her youthful yet artificial appearance in the mirror<<else>>listens to the description of her youthful yet artificial appearance<</if>> with confusion. The cosmetic surgery is extremely well done, and she eventually decides that being subjected to surgery without her consent isn't worth fighting against, if it's being used to make her look younger. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He <<if canSee($activeSlave)>>examines her youthful yet artificial appearance in the mirror<<else>>listens to the description of her youthful yet artificial appearance<</if>> with confusion. The cosmetic surgery is extremely well done, and $he eventually decides that being subjected to surgery without her consent isn't worth fighting against, if it's being used to make her look younger. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <</if>> <<case "eyeFix">> - The laser eye surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as she is allowed to open her eyes and look around, her gaze flicks from object to object with manic speed as she processes her newly clear vision. Seeing the world as it is without glasses or contact lenses is a gift that those who do not need it cannot properly understand. + The laser eye surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as $he is allowed to open $his eyes and look around, her gaze flicks from object to object with manic speed as $he processes her newly clear vision. Seeing the world as it is without glasses or contact lenses is a gift that those who do not need it cannot properly understand. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<if ($activeSlave.devotion > 50)>> - She loved you before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. + $He loved you before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. <<elseif ($activeSlave.devotion >= -20)>> - She accepted you as her owner before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. + $He accepted you as her owner before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. <<else>> - She hardly knows what to make of this wonderful present from someone she hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, she accepts that you @@.hotpink;truly did help her,@@ and @@.mediumaquamarine;might be trustworthy.@@ + $He hardly knows what to make of this wonderful present from someone $he hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, $he accepts that you @@.hotpink;truly did help $him,@@ and @@.mediumaquamarine;might be trustworthy.@@ <</if>> <<case "eyeBlur">> - The laser eye surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as she is allowed to open her eyes and look around, she begins to glance back and forth frantically, not immediately understanding that this blurred world is her new reality. + The laser eye surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as $he is allowed to open $his eyes and look around, $he begins to glance back and forth frantically, not immediately understanding that this blurred world is her new reality. <<if ($activeSlave.devotion > 50)>> - When she finally figures it out, she begins to weep, not understanding why it's necessary that she not be able to see clearly. After a short cry that trails off into a few sniffles, she carries on. + When $he finally figures it out, $he begins to weep, not understanding why it's necessary that $he not be able to see clearly. After a short cry that trails off into a few sniffles, $he carries on. <<elseif ($activeSlave.devotion > 20)>> - When she finally figures it out, she begins to bawl, not understanding what she did to earn this. After a short expurgation of @@.gold;grief and terror,@@ she takes a deep breath and visibly suppresses her emotions. + When $he finally figures it out, $he begins to bawl, not understanding what $he did to earn this. After a short expurgation of @@.gold;grief and terror,@@ $he takes a deep breath and visibly suppresses her emotions. <<set $activeSlave.trust -= 5>> <<else>> - When she realizes what's happened, her face @@.mediumorchid;clouds with rage.@@ Reflexively, she begins to peer around, looking for the source of her woes. She finally understands the true import of blurred vision when she has trouble telling if anyone's close, and begins to @@.gold;shake with fear.@@ + When $he realizes what's happened, her face @@.mediumorchid;clouds with rage.@@ Reflexively, $he begins to peer around, looking for the source of her woes. $He finally understands the true import of blurred vision when $he has trouble telling if anyone's close, and begins to @@.gold;shake with fear.@@ <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "earFix">> - The inner ear surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as she is allowed to open her eyes and look around, her gaze flicks from object to object with manic speed as she processes her newly clear vision. Hearing the world as it is without hearing aids is a gift that those who do not need it cannot properly understand. + The inner ear surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as $he is allowed to open $his eyes and look around, her gaze flicks from object to object with manic speed as $he processes her newly clear vision. Hearing the world as it is without hearing aids is a gift that those who do not need it cannot properly understand. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<if ($activeSlave.devotion > 50)>> - She loved you before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. + $He loved you before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. <<elseif ($activeSlave.devotion >= -20)>> - She accepted you as her owner before, but she's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. + $He accepted you as her owner before, but $he's @@.hotpink;very grateful,@@ and @@.mediumaquamarine;more trusting,@@ too. <<else>> - She hardly knows what to make of this wonderful present from someone she hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, she accepts that you @@.hotpink;truly did help her,@@ and @@.mediumaquamarine;might be trustworthy.@@ + $He hardly knows what to make of this wonderful present from someone $he hates, and struggles with suspicion that the gift conceals some sort of snare. After a while, though, $he accepts that you @@.hotpink;truly did help $him,@@ and @@.mediumaquamarine;might be trustworthy.@@ <</if>> <<case "earMuffle">> - The inner ear surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as she is allowed to open her eyes and look around, she begins to glance back and forth frantically, not immediately understanding that this muffled world is her new reality. + The inner ear surgery is brief, with @@.red;nothing more than minor health effects.@@ As soon as $he is allowed to open $his eyes and look around, $he begins to glance back and forth frantically, not immediately understanding that this muffled world is her new reality. <<if ($activeSlave.devotion > 50)>> - When she finally figures it out, she begins to weep, not understanding why it's necessary that she not be able to see clearly. After a short cry that trails off into a few sniffles, she carries on. + When $he finally figures it out, $he begins to weep, not understanding why it's necessary that $he not be able to see clearly. After a short cry that trails off into a few sniffles, $he carries on. <<elseif ($activeSlave.devotion > 20)>> - When she finally figures it out, she begins to bawl, not understanding what she did to earn this. After a short expurgation of @@.gold;grief and terror,@@ she takes a deep breath and visibly suppresses her emotions. + When $he finally figures it out, $he begins to bawl, not understanding what $he did to earn this. After a short expurgation of @@.gold;grief and terror,@@ $he takes a deep breath and visibly suppresses her emotions. <<set $activeSlave.trust -= 5>> <<else>> - When she realizes what's happened, her face @@.mediumorchid;clouds with rage.@@ Reflexively, she begins to peer around, looking for the source of her woes. She finally understands the true import of blurred vision when she has trouble telling if anyone's close, and begins to @@.gold;shake with fear.@@ + When $he realizes what's happened, her face @@.mediumorchid;clouds with rage.@@ Reflexively, $he begins to peer around, looking for the source of her woes. $He finally understands the true import of blurred vision when $he has trouble telling if anyone's close, and begins to @@.gold;shake with fear.@@ <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "race">> <<if ($activeSlave.devotion > 50)>> - She <<if canSee($activeSlave)>>examines her new self in the mirror<<else>>listens to the description of her new self<</if>> with approval. She doesn't recognize herself quite yet, but she hopes you'll like her new appearance better and use her more frequently as a result. @@.hotpink;She's happy with your changes to her racial appearance.@@ As with all invasive surgery @@.red;her health has been affected.@@ + $He <<if canSee($activeSlave)>>examines her new self in the mirror<<else>>listens to the description of her new self<</if>> with approval. $He doesn't recognize $himself quite yet, but $he hopes you'll like her new appearance better and use her more frequently as a result. @@.hotpink;$He's happy with your changes to her racial appearance.@@ As with all invasive surgery @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She <<if canSee($activeSlave)>>examines her new self in the mirror<<else>>listens to the description of her new self<</if>> with hesitation. She doesn't recognize herself quite yet, but she hopes you'll like her new appearance better and treat her more kindly as a result. As with all invasive surgery @@.red;her health has been affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He <<if canSee($activeSlave)>>examines her new self in the mirror<<else>>listens to the description of her new self<</if>> with hesitation. $He doesn't recognize $himself quite yet, but $he hopes you'll like her new appearance better and treat her more kindly as a result. As with all invasive surgery @@.red;$his health has been affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She <<if canSee($activeSlave)>>examines her new self in the mirror<<else>>listens to the description of her new self<</if>> with revulsion. She doesn't recognize herself quite yet, which she hates, though she hopes you'll like her new appearance better and punish her less cruelly as a result. For now, @@.mediumorchid;she seems to view this fake racial appearance as a cruel imposition.@@ As with all invasive surgery @@.red;her health has been affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He <<if canSee($activeSlave)>>examines her new self in the mirror<<else>>listens to the description of her new self<</if>> with revulsion. $He doesn't recognize $himself quite yet, which $he hates, though $he hopes you'll like her new appearance better and punish her less cruelly as a result. For now, @@.mediumorchid;$he seems to view this fake racial appearance as a cruel imposition.@@ As with all invasive surgery @@.red;$his health has been affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "lips">> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She licks her new lips experimentally but doesn't lose much time before turning to you with her mouth open and ready. She's still sore, so she's careful, but she runs her wet tongue over her lips, already panting at the thought of sucking dick. If she had much in the way of oral skills, @@.red;they've likely suffered.@@ @@.hotpink;She's happy with your changes to her lips,@@ so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + $He licks her new lips experimentally but doesn't lose much time before turning to you with her mouth open and ready. $He's still sore, so $he's careful, but $he runs her wet tongue over her lips, already panting at the thought of sucking dick. If $he had much in the way of oral skills, @@.red;they've likely suffered.@@ @@.hotpink;$He's happy with your changes to her lips,@@ so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 4>> <<if $activeSlave.oralSkill > 10>> <<set $activeSlave.oralSkill -= 10>> <</if>> <<elseif ($activeSlave.devotion > 50)>> - She puckers her new lips experimentally and turns to you with a smile to show them off. She's still sore, so she's careful as she blows you an awkward kiss. If she had much in the way of oral skills, @@.red;they've likely suffered.@@ @@.hotpink;She's happy with your changes to her lips.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He puckers her new lips experimentally and turns to you with a smile to show them off. $He's still sore, so $he's careful as $he blows you an awkward kiss. If $he had much in the way of oral skills, @@.red;they've likely suffered.@@ @@.hotpink;$He's happy with your changes to her lips.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<if $activeSlave.oralSkill > 10>> <<set $activeSlave.oralSkill -= 10>> <</if>> <<elseif ($activeSlave.devotion >= -20)>> - She <<if canSee($activeSlave)>>eyes<<else>>puckers<</if>> her new lips skeptically. She's still sore, so she doesn't touch them. She's come to terms with the fact that she's a slave, so she expected something like this when she was sent to the surgery. She isn't much affected mentally, @@.red;but if she had much in the way of oral skills, they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He <<if canSee($activeSlave)>>eyes<<else>>puckers<</if>> her new lips skeptically. $He's still sore, so $he doesn't touch them. $He's come to terms with the fact that $he's a slave, so $he expected something like this when $he was sent to the surgery. $He isn't much affected mentally, @@.red;but if $he had much in the way of oral skills, they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<if $activeSlave.oralSkill > 10>> <<set $activeSlave.oralSkill -= 10>> <</if>> <<else>> - She <<if canSee($activeSlave)>>eyes<<else>>puckers<</if>> her new lips with resentment. She's still sore, so she doesn't touch them, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>. She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. If she had much in the way of oral skills, @@.red;they've likely suffered.@@ For now, @@.mediumorchid;she seems to view these fake lips as a cruel imposition.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He <<if canSee($activeSlave)>>eyes<<else>>puckers<</if>> her new lips with resentment. $He's still sore, so $he doesn't touch them, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>. $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. If $he had much in the way of oral skills, @@.red;they've likely suffered.@@ For now, @@.mediumorchid;$he seems to view these fake lips as a cruel imposition.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <<if $activeSlave.oralSkill > 10>> @@ -999,16 +998,16 @@ As the remote surgery's long recovery cycle completes, <<case "liposuction">> <<if ($activeSlave.behavioralFlaw == "anorexic")>> - <<if canSee($activeSlave)>>She looks over her new thin figure experimentally<<else>>She shifts her weight experimentally<</if>> and turns to you with a smile to show it off. As an anorexic @@.hotpink;she thinks you have brought her closer to the true ideal.@@ As with all surgeries, @@.red;her health has been affected.@@ + <<if canSee($activeSlave)>>$He looks over her new thin figure experimentally<<else>>$He shifts her weight experimentally<</if>> and turns to you with a smile to show it off. As an anorexic @@.hotpink;$he thinks you have brought her closer to the true ideal.@@ As with all surgeries, @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if canSee($activeSlave)>>She looks over her new thin figure experimentally<<else>>She shifts her weight experimentally<</if>> and turns to you with a smile to show it off. She's still sore, so she doesn't bend or flirt, but she turns around to let you see it from all angles. @@.hotpink;She's happy with your changes to her body.@@ As with all surgery @@.red;her health has been affected.@@ + <<if canSee($activeSlave)>>$He looks over her new thin figure experimentally<<else>>$He shifts her weight experimentally<</if>> and turns to you with a smile to show it off. $He's still sore, so $he doesn't bend or flirt, but $he turns around to let you see it from all angles. @@.hotpink;$He's happy with your changes to $his body.@@ As with all surgery @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She <<if canSee($activeSlave)>>eyes her new thin figure<<else>>shifts her weight<</if>> skeptically. She's still sore, so she doesn't bend or touch herself. She's come to terms with the fact that she's a slave, so she expected something like this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He <<if canSee($activeSlave)>>eyes her new thin figure<<else>>shifts her weight<</if>> skeptically. $He's still sore, so $he doesn't bend or touch $himself. $He's come to terms with the fact that $he's a slave, so $he expected something like this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her new thin figure<<else>>How light she feels fills her<</if>> with resentment. She's still sore, so she doesn't bend or touch herself, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>. She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this model figure as a cruel imposition@@. As with all surgery @@.red;her health has been affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new thin figure<<else>>How light $he feels fills her<</if>> with resentment. $He's still sore, so $he doesn't bend or touch $himself, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>. $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this model figure as a cruel imposition@@. As with all surgery @@.red;$his health has been affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> @@ -1026,87 +1025,87 @@ As the remote surgery's long recovery cycle completes, <<set $activeSlave.boobs = Math.clamp($activeSlave.boobs, 0, 50000)>> <<set $activeSlave.butt = Math.clamp($activeSlave.butt, 0, 20)>> <<if ($activeSlave.behavioralFlaw == "anorexic")>> - <<if canSee($activeSlave)>>She looks over her new thin figure experimentally<<else>>She shifts her weight experimentally<</if>> and turns to you with a smile to show it off. - As an anorexic @@.hotpink;she thinks you have brought her closer to the true ideal.@@ + <<if canSee($activeSlave)>>$He looks over her new thin figure experimentally<<else>>$He shifts her weight experimentally<</if>> and turns to you with a smile to show it off. + As an anorexic @@.hotpink;$he thinks you have brought her closer to the true ideal.@@ <<if $boobFat > 0>> <<if ($activeSlave.areolae < 2)>> <<if (random(1,100) > 70)>> - The increase in breast size @@.lime;stretches and broadens her areolae.@@ + The increase in breast size @@.lime;stretches and broadens $his areolae.@@ <<set $activeSlave.areolae += 1>> <</if>> <</if>> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - <<if $activeSlave.amp != 1>>She's barely out of the surgery before she's playing with her new assets.<<else>>She's barely out of the surgery before she's rubbing her new assets against anything she can reach.<</if>> She's @@.hotpink;deliriously happy@@ with your changes to what she thinks of as her primary sexual organs, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. + <<if $activeSlave.amp != 1>>$He's barely out of the surgery before $he's playing with her new assets.<<else>>$He's barely out of the surgery before $he's rubbing her new assets against anything $he can reach.<</if>> $He's @@.hotpink;deliriously happy@@ with your changes to what $he thinks of as her primary sexual organs, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. <<set $activeSlave.trust += 4, $activeSlave.devotion += 4>> <<else>> - <<if $activeSlave.amp != 1>>She hefts her new breasts experimentally and turns to you to show them off. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her new breasts move and turns her torso to you to show them off. She's still sore, so she doesn't move too much, but she wiggles herself a little to make them bounce for you.<</if>> She isn't too fond of her fat being moved to her breasts instead of removed completely, but it's a small price to pay to not be a blimp. + <<if $activeSlave.amp != 1>>$He hefts her new breasts experimentally and turns to you to show them off. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her new breasts move and turns $his torso to you to show them off. $He's still sore, so $he doesn't move too much, but $he wiggles $himself a little to make them bounce for you.<</if>> $He isn't too fond of her fat being moved to $his breasts instead of removed completely, but it's a small price to pay to not be a blimp. <</if>> <</if>> <<if $buttFat > 0>> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She gently flexes her sore buttocks with a sigh of pleasure. She's @@.hotpink;deliriously happy@@ to have a bigger butt, since she confidently expects that this will mean more cocks being shoved up her asshole. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. + $He gently flexes her sore buttocks with a sigh of pleasure. $He's @@.hotpink;deliriously happy@@ to have a bigger butt, since $he confidently expects that this will mean more cocks being shoved up her asshole. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. <<set $activeSlave.trust += 4, $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - She rubs her new butt experimentally and turns to you to show it off. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see it from all angles. She isn't too keen on the idea of her fat being moved to her butt instead of removed completely, but she accepts that it isn't hanging from her front any longer. + $He rubs her new butt experimentally and turns to you to show it off. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see it from all angles. $He isn't too keen on the idea of her fat being moved to $his butt instead of removed completely, but $he accepts that it isn't hanging from her front any longer. <</if>> <</if>> - As with all surgeries, @@.red;her health has been affected.@@ + As with all surgeries, @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if canSee($activeSlave)>>She looks over her new thin figure experimentally<<else>>She shifts her weight experimentally<</if>> and turns to you with a smile to show it off. She's still sore, so she doesn't bend or flirt, but she turns around to let you see it from all angles. @@.hotpink;She's happy with your changes to her body.@@ + <<if canSee($activeSlave)>>$He looks over her new thin figure experimentally<<else>>$He shifts her weight experimentally<</if>> and turns to you with a smile to show it off. $He's still sore, so $he doesn't bend or flirt, but $he turns around to let you see it from all angles. @@.hotpink;$He's happy with your changes to $his body.@@ <<if $boobFat > 0>> <<if ($activeSlave.areolae < 2)>> <<if (random(1,100) > 70)>> - The increase in breast size @@.lime;stretches and broadens her areolae.@@ + The increase in breast size @@.lime;stretches and broadens $his areolae.@@ <<set $activeSlave.areolae += 1>> <</if>> <</if>> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - <<if $activeSlave.amp != 1>>She's barely out of the surgery before she's playing with her new assets.<<else>>She's barely out of the surgery before she's rubbing her new assets against anything she can reach.<</if>> She's @@.hotpink;deliriously happy@@ with your changes to what she thinks of as her primary sexual organs, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. + <<if $activeSlave.amp != 1>>$He's barely out of the surgery before $he's playing with her new assets.<<else>>$He's barely out of the surgery before $he's rubbing her new assets against anything $he can reach.<</if>> $He's @@.hotpink;deliriously happy@@ with your changes to what $he thinks of as her primary sexual organs, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. <<set $activeSlave.trust += 4, $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her new breasts experimentally and turns to you with a smile to show them off. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see them from all angles.<<else>>She bounces a little to feel her new breasts move and turns her torso to you with a smile to show them off. She's still sore, so she doesn't move too much, but she wiggles herself a little to make them bounce for you.<</if>> + <<if $activeSlave.amp != 1>>$He hefts her new breasts experimentally and turns to you with a smile to show them off. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see them from all angles.<<else>>$He bounces a little to feel her new breasts move and turns $his torso to you with a smile to show them off. $He's still sore, so $he doesn't move too much, but $he wiggles $himself a little to make them bounce for you.<</if>> <</if>> <</if>> <<if $buttFat > 0>> <<if ($activeSlave.devotion > 20) && ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She gently flexes her sore buttocks with a sigh of pleasure. She's @@.hotpink;deliriously happy@@ to have a bigger butt, since she confidently expects that this will mean more cocks being shoved up her asshole. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. + $He gently flexes her sore buttocks with a sigh of pleasure. $He's @@.hotpink;deliriously happy@@ to have a bigger butt, since $he confidently expects that this will mean more cocks being shoved up her asshole. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. <<set $activeSlave.trust += 4, $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - She rubs her new butt experimentally and turns to you with a smile to show it off. She's still sore, so she doesn't bounce or squeeze, but she turns from side to side to let you see it from all angles. + $He rubs her new butt experimentally and turns to you with a smile to show it off. $He's still sore, so $he doesn't bounce or squeeze, but $he turns from side to side to let you see it from all angles. <</if>> <</if>> - As with all surgery @@.red;her health has been affected.@@ + As with all surgery @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> <<if $boobFat > 0>> <<if ($activeSlave.areolae < 2)>> <<if (random(1,100) > 70)>> - The increase in breast size @@.lime;stretches and broadens her areolae.@@ + The increase in breast size @@.lime;stretches and broadens $his areolae.@@ <<set $activeSlave.areolae += 1>> <</if>> <</if>> - <<if canSee($activeSlave)>>She eyes her new breasts<<else>>She shifts them<</if>> skeptically. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch them.<<else>>She's still sore, so she keeps her torso still.<</if>> + <<if canSee($activeSlave)>>$He eyes her new breasts<<else>>$He shifts them<</if>> skeptically. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch them.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> <</if>> <<if $buttFat > 0>> - <<if canSee($activeSlave)>>She eyes her new butt<<else>>She shifts her new butt<</if>> skeptically. She's still sore, so she doesn't touch it. + <<if canSee($activeSlave)>>$He eyes her new butt<<else>>$He shifts her new butt<</if>> skeptically. $He's still sore, so $he doesn't touch it. <</if>> - She <<if canSee($activeSlave)>>eyes her new thin figure<<else>>shifts her weight<</if>> skeptically. She's still sore, so she doesn't bend or touch herself. She's come to terms with the fact that she's a slave, so she expected something like this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He <<if canSee($activeSlave)>>eyes her new thin figure<<else>>shifts her weight<</if>> skeptically. $He's still sore, so $he doesn't bend or touch $himself. $He's come to terms with the fact that $he's a slave, so $he expected something like this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> <<if $boobFat > 0>> <<if ($activeSlave.areolae < 2)>> <<if (random(1,100) > 70)>> - The increase in breast size @@.lime;stretches and broadens her areolae.@@ + The increase in breast size @@.lime;stretches and broadens $his areolae.@@ <<set $activeSlave.areolae += 1>> <</if>> <</if>> - <<if canSee($activeSlave)>>She eyes her new breasts<<else>>The new weight on her chest fills her<</if>> with resentment. + <<if canSee($activeSlave)>>$He eyes her new breasts<<else>>The new weight on $his chest fills her<</if>> with resentment. <</if>> <<if $buttFat > 0>> - <<if canSee($activeSlave)>>She eyes her new butt<<else>>The new weight in her backside fills her<</if>> with resentment. + <<if canSee($activeSlave)>>$He eyes her new butt<<else>>The new weight in her backside fills her<</if>> with resentment. <</if>> - <<if canSee($activeSlave)>>She eyes her new thin figure<<else>>How light she feels fills her<</if>> with resentment. She's still sore, so she doesn't bend or touch herself, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>. She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this model figure as a cruel imposition@@. As with all surgery @@.red;her health has been affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new thin figure<<else>>How light $he feels fills her<</if>> with resentment. $He's still sore, so $he doesn't bend or touch $himself, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>. $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this model figure as a cruel imposition@@. As with all surgery @@.red;$his health has been affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 15, $activeSlave.devotion -= 5>> <</if>> <<if $activeSlave.weight > 190 && $activeSlave.bellySag < 10>> @@ -1120,322 +1119,322 @@ As the remote surgery's long recovery cycle completes, <<case "lipo">> <<if ($activeSlave.behavioralFlaw == "anorexic")>> - <<if canSee($activeSlave)>>She looks over her new waist experimentally<<else>>She shifts her weight experimentally<</if>> and turns to you with a smile to show it off. As an anorexic @@.hotpink;she thinks you have brought her closer to the true ideal.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + <<if canSee($activeSlave)>>$He looks over her new waist experimentally<<else>>$He shifts her weight experimentally<</if>> and turns to you with a smile to show it off. As an anorexic @@.hotpink;$he thinks you have brought her closer to the true ideal.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - <<if canSee($activeSlave)>>She looks over her new waist experimentally<<else>>She shifts her weight experimentally<</if>> and turns to you with a smile to show it off. She's still sore, so she doesn't bend or flirt, but she turns around to let you see it from all angles. @@.hotpink;She's happy with your changes to her waist.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if canSee($activeSlave)>>$He looks over her new waist experimentally<<else>>$He shifts her weight experimentally<</if>> and turns to you with a smile to show it off. $He's still sore, so $he doesn't bend or flirt, but $he turns around to let you see it from all angles. @@.hotpink;$He's happy with your changes to her waist.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She <<if canSee($activeSlave)>>eyes her new waist<<else>>shifts her weight<</if>> skeptically. She's still sore, so she doesn't bend or touch herself. She's come to terms with the fact that she's a slave, so she expected something like this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He <<if canSee($activeSlave)>>eyes her new waist<<else>>shifts her weight<</if>> skeptically. $He's still sore, so $he doesn't bend or touch $himself. $He's come to terms with the fact that $he's a slave, so $he expected something like this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her new waist<<else>>How light she feels fills her<</if>> with resentment. She's still sore, so she doesn't bend or touch herself, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>. She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this fake figure as a cruel imposition@@. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her new waist<<else>>How light $he feels fills her<</if>> with resentment. $He's still sore, so $he doesn't bend or touch $himself, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>. $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this fake figure as a cruel imposition@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "ribs">> <<if ($activeSlave.behavioralFlaw == "anorexic")>> - She's desperately stiff and sore. It takes a good while for her to figure out what has happened, but eventually her careful investigations discern that the cause of her extremely narrow waist is that her ribcage has been shortened. She gasps with shock, and when she <<if canSee($activeSlave)>>looks at you, you see awe in her eyes<<else>>turns to face you, you see awe on her face<</if>>. As an anorexic @@.hotpink;she thinks you have brought her closer to the true ideal.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He's desperately stiff and sore. It takes a good while for $him to figure out what has happened, but eventually her careful investigations discern that the cause of her extremely narrow waist is that her ribcage has been shortened. $He gasps with shock, and when $he <<if canSee($activeSlave)>>looks at you, you see awe in $his eyes<<else>>turns to face you, you see awe on her face<</if>>. As an anorexic @@.hotpink;$he thinks you have brought her closer to the true ideal.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - She's desperately stiff and sore. It takes a good while for her to figure out what has happened, but eventually her careful investigations discern that the cause of her extremely narrow waist is that her ribcage has been shortened. She gasps with shock, and when she <<if canSee($activeSlave)>>looks at you, you see awe and fear in her eyes<<else>>turns to you, you see awe and fear on her face<</if>>. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He's desperately stiff and sore. It takes a good while for $him to figure out what has happened, but eventually her careful investigations discern that the cause of her extremely narrow waist is that her ribcage has been shortened. $He gasps with shock, and when $he <<if canSee($activeSlave)>>looks at you, you see awe and fear in $his eyes<<else>>turns to you, you see awe and fear on her face<</if>>. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She's desperately stiff and sore. It takes a good while for her to figure out what has happened, but eventually her careful investigations discern that the cause of her extremely narrow waist is that her ribcage has been shortened. She gasps with shock, but eventually her shoulders slump and she tries to carry on. She isn't much affected mentally. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He's desperately stiff and sore. It takes a good while for $him to figure out what has happened, but eventually her careful investigations discern that the cause of her extremely narrow waist is that her ribcage has been shortened. $He gasps with shock, but eventually her shoulders slump and $he tries to carry on. $He isn't much affected mentally. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<else>> - She's desperately stiff and sore. It takes a good while for her to figure out what has happened, but eventually her careful investigations discern that the cause of her extremely narrow waist is that her ribcage has been shortened. She gasps with shock, wobbles a little, gasps with pain at the soreness as she does, and then manages to hold herself upright and still as she sobs. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He's desperately stiff and sore. It takes a good while for $him to figure out what has happened, but eventually her careful investigations discern that the cause of her extremely narrow waist is that her ribcage has been shortened. $He gasps with shock, wobbles a little, gasps with pain at the soreness as $he does, and then manages to hold $himself upright and still as $he sobs. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "mtf">> <<if ($activeSlave.devotion > 50)>> - Of course, she already realized while exiting that her genitalia was completely reshaped. As a shemale slave she knew this day might come, and her face is a strange mix of hope, happiness, satisfaction, and the tiniest tinge of soul-crushing sadness as she <<if canSee($activeSlave)>>views<<else>>feels<</if>> the vagina that has replaced her penis. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + Of course, $he already realized while exiting that her genitalia was completely reshaped. As a shemale slave $he knew this day might come, and her face is a strange mix of hope, happiness, satisfaction, and the tiniest tinge of soul-crushing sadness as $he <<if canSee($activeSlave)>>views<<else>>feels<</if>> the vagina that has replaced $his penis. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - Of course, she already realized while exiting that her genitalia was completely reshaped. As a shemale slave she knew this day might come, and her face is a strange mix of fear, hope, and resignation as she <<if canSee($activeSlave)>>views<<else>>feels<</if>> the vagina that has replaced her penis. Eventually her shoulders slump and she tries to carry on. @@.mediumorchid;She will struggle with feelings of confusion and loss.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + Of course, $he already realized while exiting that her genitalia was completely reshaped. As a shemale slave $he knew this day might come, and her face is a strange mix of fear, hope, and resignation as $he <<if canSee($activeSlave)>>views<<else>>feels<</if>> the vagina that has replaced $his penis. Eventually her shoulders slump and $he tries to carry on. @@.mediumorchid;$He will struggle with feelings of confusion and loss.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <<else>> - Of course, she already realized while exiting that her genitalia was completely reshaped. As a shemale slave she knew this day might come, but expectations and the reality are two different things. She's beside herself, weeping gently. She absently moves a hand to where her penis would have been and snatches it away with a sob. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;cripplingly afraid@@ of your total power over her body. + Of course, $he already realized while exiting that her genitalia was completely reshaped. As a shemale slave $he knew this day might come, but expectations and the reality are two different things. $He's beside $himself, weeping gently. $He absently moves a hand to where $his penis would have been and snatches it away with a sob. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;cripplingly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 20>> <<set $activeSlave.devotion -= 20>> <</if>> <<case "herm">> <<if ($activeSlave.devotion > 50)>> - She already realized while exiting that her genitalia has been heavily augmented. She's almost beside herself with joy: she now has three holes for her beloved Master to fuck, and he even allowed her to retain her dick! @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He already realized while exiting that her genitalia has been heavily augmented. $He's almost beside $himself with joy: $he now has three holes for her beloved Master to fuck, and he even allowed $him to retain $his dick! @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 10>> <<elseif ($activeSlave.devotion > 20)>> - She already realized while exiting that her genitalia has been heavily augmented. Her efforts to cope with this radical development are palpable. She retains her penis, to her considerable surprise; and she also has a pussy. She hardly knows what to think or who to be. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He already realized while exiting that her genitalia has been heavily augmented. $His efforts to cope with this radical development are palpable. $He retains $his penis, to her considerable surprise; and $he also has a pussy. $He hardly knows what to think or who to be. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<else>> - She already realized while exiting that her genitalia has been heavily augmented. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ She is not as angry as she might otherwise have been, since you left her her dick, but she has a hole where there was none before. She views it with hatred and revulsion. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He already realized while exiting that her genitalia has been heavily augmented. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ $He is not as angry as $he might otherwise have been, since you left her $his dick, but $he has a hole where there was none before. $He views it with hatred and revulsion. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "geld">> <<if ($activeSlave.devotion > 50)>> - Of course, she already realized while exiting that her scrotum was gone. She was already accepting of her role as an effectively female slave, a receptacle for cock, and she now understands that you no longer think it will ever again be necessary for her to cum. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + Of course, $he already realized while exiting that her scrotum was gone. $He was already accepting of her role as an effectively female slave, a receptacle for cock, and $he now understands that you no longer think it will ever again be necessary for $him to cum. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - Of course, she already realized while exiting that her scrotum was gone. She was already struggling to accept her role as a female slave, a receptacle for cock, and she now understands it better. She has not yet accepted that she will never again fuck, though, that her future is nothing but getting fucked. @@.mediumorchid;She will struggle with feelings of confusion and loss.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + Of course, $he already realized while exiting that her scrotum was gone. $He was already struggling to accept her role as a female slave, a receptacle for cock, and $he now understands it better. $He has not yet accepted that $he will never again fuck, though, that her future is nothing but getting fucked. @@.mediumorchid;$He will struggle with feelings of confusion and loss.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <<else>> - Of course, she already realized while exiting that her scrotum was gone. She cannot accept that it is no longer her role to fuck holes, but rather to provide a hole for others to fuck.<<if $activeSlave.amp != 1>> She absently moves a hand to where her balls would have been and snatches it away with a sob.<</if>> @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;cripplingly afraid@@ of your total power over her body. + Of course, $he already realized while exiting that her scrotum was gone. $He cannot accept that it is no longer her role to fuck holes, but rather to provide a hole for others to fuck.<<if $activeSlave.amp != 1>> $He absently moves a hand to where $his balls would have been and snatches it away with a sob.<</if>> @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;cripplingly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 20>> <<set $activeSlave.devotion -= 20>> <</if>> <<case "prostate">> - It's not immediately apparent to her what kind of surgery she received, since all she's left with is a terrible nonspecific ache in her lower parts. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + It's not immediately apparent to her what kind of surgery $he received, since all $he's left with is a terrible nonspecific ache in her lower parts. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<if ($activeSlave.devotion > 50)>> <<if $activeSlave.anus == 0>> - Since she's still an anal virgin, she doesn't have any immediate way to discover what's been taken from her. Thus, she carries on, accepting what you did to her out of simple ignorance. + Since $he's still an anal virgin, $he doesn't have any immediate way to discover what's been taken from $him. Thus, $he carries on, accepting what you did to her out of simple ignorance. <<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "buttslut")>> - She realizes that her prostate's gone the first time she takes it up the butt, though. The incorrigible buttslut is crushed, but she's devoted to you, so she resolves to carry on regardless. If anything, she does her best to push herself to @@.coral;consider other kinks,@@ now that a hard anal pounding isn't as fun for her as it once was. + $He realizes that her prostate's gone the first time $he takes it up the butt, though. The incorrigible buttslut is crushed, but $he's devoted to you, so $he resolves to carry on regardless. If anything, $he does her best to push $himself to @@.coral;consider other kinks,@@ now that a hard anal pounding isn't as fun for her as it once was. <<set $activeSlave.fetishStrength -= 40>> <<else>> - She realizes that her prostate's gone the first time she takes it up the butt, though. @@.hotpink;Awed by your permeating control over her,@@ even down to her internal organs, she accepts that you've decided to make buttsex less fun for her. + $He realizes that her prostate's gone the first time $he takes it up the butt, though. @@.hotpink;Awed by your permeating control over $him,@@ even down to her internal organs, $he accepts that you've decided to make buttsex less fun for $him. <<set $activeSlave.devotion += 4>> <</if>> <<elseif ($activeSlave.devotion > 20)>> <<if $activeSlave.anus == 0>> - Since she's still an anal virgin, she doesn't have any immediate way to discover what's been taken from her. Not knowing what you did, @@.gold;she's afraid,@@ realizing that you can toy with her internal makeup at a whim. + Since $he's still an anal virgin, $he doesn't have any immediate way to discover what's been taken from $him. Not knowing what you did, @@.gold;$he's afraid,@@ realizing that you can toy with her internal makeup at a whim. <<set $activeSlave.trust -= 5>> <<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "buttslut")>> - She realizes that her prostate's gone the first time she takes it up the butt, though. The buttslut is crushed, and @@.mediumorchid;infuriated,@@ because in effect you've taken her favorite pastime away from her. For now, she defiantly does her best to keep orgasming to anal, but it remains to be seen whether she can maintain her enthusiasm. + $He realizes that her prostate's gone the first time $he takes it up the butt, though. The buttslut is crushed, and @@.mediumorchid;infuriated,@@ because in effect you've taken her favorite pastime away from $him. For now, $he defiantly does her best to keep orgasming to anal, but it remains to be seen whether $he can maintain her enthusiasm. <<set $activeSlave.devotion -= 10>> <<else>> - She realizes that her prostate's gone the first time she takes it up the butt, though. She wasn't attached to it in a particular way, but it was part of her body, and now it's gone. @@.gold;It frightens her@@ to be reduced in this way, and she wonders what it means that you apparently want her to enjoy being assfucked less. + $He realizes that her prostate's gone the first time $he takes it up the butt, though. $He wasn't attached to it in a particular way, but it was part of $his body, and now it's gone. @@.gold;It frightens her@@ to be reduced in this way, and $he wonders what it means that you apparently want $him to enjoy being assfucked less. <<set $activeSlave.trust -= 5>> <</if>> <<else>> - She doesn't have to know exactly what you did, though, to be @@.gold;mortified@@ and @@.mediumorchid;infuriated@@ by your messing around inside her body. She hasn't yet learned to accept that you control her completely, down to the arrangement and even presence of her internal organs. + $He doesn't have to know exactly what you did, though, to be @@.gold;mortified@@ and @@.mediumorchid;infuriated@@ by your messing around inside $his body. $He hasn't yet learned to accept that you control her completely, down to the arrangement and even presence of her internal organs. <<set $activeSlave.trust -= 10, $activeSlave.devotion -= 10>> <</if>> <<case "chop">> <<if $activeSlave.vagina == -1>> - Of course, she already realized while exiting that something very dear to her has been taken away. + Of course, $he already realized while exiting that something very dear to $him has been taken away. <<if ($activeSlave.devotion > 50) && ($activeSlave.sexualFlaw == "self hating")>> - Strong emotions play out on her face as she experiences a watershed in her life of sexual slavery, perhaps the most radical one she'll ever experience. She loves you with all her being, and truly hates herself. She finds herself in an emotional place where she's willing to accept having had you cut her dick off. She knows she's a worthless piece of trash, and realizes that if you feel like trimming useless bits off her, that's your prerogative. In moments, she's confirmed in @@.hotpink;total, final, fanatical submission to your will.@@ It's almost frightening. + Strong emotions play out on $his face as $he experiences a watershed in her life of sexual slavery, perhaps the most radical one $he'll ever experience. $He loves you with all her being, and truly hates $himself. $He finds $himself in an emotional place where $he's willing to accept having had you cut $his dick off. $He knows $he's a worthless piece of trash, and realizes that if you feel like trimming useless bits off $him, that's your prerogative. In moments, $he's confirmed in @@.hotpink;total, final, fanatical submission to your will.@@ It's almost frightening. <<set $activeSlave.devotion += 50>> <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>> - She's such a complete buttslut, though, that she finds she doesn't really care. She never really paid much attention to her own dick; for her, sex is about the phalli that get rammed up her ass. And you didn't take that from her. If anything, she's @@.mediumaquamarine;reassured@@ by the implicit promise that she'll never be anything but a butthole slut, and of course is forced even further into @@.hotpink;submission to your will.@@ + $He's such a complete buttslut, though, that $he finds $he doesn't really care. $He never really paid much attention to her own dick; for $him, sex is about the phalli that get rammed up $his ass. And you didn't take that from $him. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $he'll never be anything but a butthole slut, and of course is forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>> - She's such an oral slut, though, that she finds she doesn't really care. She never really paid much attention to her dick; for her, sex is about what she gets to suck. As far as she's concerned, you've simply confirmed that her most important hole is the one in her face. If anything, she's @@.mediumaquamarine;reassured@@ by the implicit promise that she'll never be anything more than a nice inviting facepussy, and of course, she's forced even further into @@.hotpink;submission to your will.@@ + $He's such an oral slut, though, that $he finds $he doesn't really care. $He never really paid much attention to $his dick; for $him, sex is about what $he gets to suck. As far as $he's concerned, you've simply confirmed that her most important hole is the one in her face. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $he'll never be anything more than a nice inviting facepussy, and of course, $he's forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>> - She's such a total submissive, though, that she accepts even this. Having her cock removed, reducing her to a sexually helpless place where she can only receive pleasure by being penetrated, is perhaps the final step in sexual slavery, and she's a little awed by it. If anything, she's @@.mediumaquamarine;reassured@@ by the implicit promise that her body exists for the sexual gratification of others, and of course, she's forced even further into @@.hotpink;submission to your will.@@ + $He's such a total submissive, though, that $he accepts even this. Having $his cock removed, reducing $him to a sexually helpless place where $he can only receive pleasure by being penetrated, is perhaps the final step in sexual slavery, and $he's a little awed by it. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $his body exists for the sexual gratification of others, and of course, $he's forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> <<elseif $activeSlave.devotion > 95>> - Doubt, fear, and even nausea play across her face, but she's so worshipful of you that she masters them all, accepting that this is your will. There's surprisingly little mental effect on her. The horror of having her dick cut off is so strong that it breaks through to her, and the only way she can find to deal with it is to think about it as little as possible. She falls back on worshipful duty. + Doubt, fear, and even nausea play across her face, but $he's so worshipful of you that $he masters them all, accepting that this is your will. There's surprisingly little mental effect on $him. The horror of having $his dick cut off is so strong that it breaks through to $him, and the only way $he can find to deal with it is to think about it as little as possible. $He falls back on worshipful duty. <<elseif $activeSlave.devotion > 50>> - She's devoted to you, but doubt and fear play across her face as she comes to terms with what's happened. She does not see how having her dick removed will improve her sexual slavery. She does not rage or scream, but she does cry, @@.mediumorchid;sadly wondering@@ whether she's valuable to you at all, or if she's just a surgical plaything to be degraded. She's @@.gold;very frightened@@ that you'll cut off more of her remaining parts. + $He's devoted to you, but doubt and fear play across her face as $he comes to terms with what's happened. $He does not see how having $his dick removed will improve her sexual slavery. $He does not rage or scream, but $he does cry, @@.mediumorchid;sadly wondering@@ whether $he's valuable to you at all, or if $he's just a surgical plaything to be degraded. $He's @@.gold;very frightened@@ that you'll cut off more of her remaining parts. <<set $activeSlave.trust -= 10, $activeSlave.devotion -= 10>> <<elseif $activeSlave.devotion > 20>> - She's properly broken to slavery, but this is much too far. Having her dick cut off cuts straight through her conditioning, and tears roll down her face as the horrible permanence of what's happened to her really sinks in. @@.mediumorchid;Open anger@@ begins to become apparent through her tears; she thought that her obedience merited better than this, and she's @@.gold;extremely terrified@@ to find that despite being a decent slave, she remains a surgical playground. + $He's properly broken to slavery, but this is much too far. Having $his dick cut off cuts straight through her conditioning, and tears roll down her face as the horrible permanence of what's happened to her really sinks in. @@.mediumorchid;Open anger@@ begins to become apparent through her tears; $he thought that her obedience merited better than this, and $he's @@.gold;extremely terrified@@ to find that despite being a decent slave, $he remains a surgical playground. <<set $activeSlave.trust -= 20, $activeSlave.devotion -= 20>> <<else>> - She's horrified almost beyond the ability of her mind to comprehend. Her face takes on a blank look as she goes into shock. There's no screaming and no tears, not yet; it will take her time to process what's happened to her. Without a doubt, she'll be absolutely filled by @@.mediumorchid;rage@@ and @@.gold;terror.@@ + $He's horrified almost beyond the ability of her mind to comprehend. $His face takes on a blank look as $he goes into shock. There's no screaming and no tears, not yet; it will take her time to process what's happened to $him. Without a doubt, $he'll be absolutely filled by @@.mediumorchid;rage@@ and @@.gold;terror.@@ <<set $activeSlave.trust -= 40, $activeSlave.devotion -= 40>> <</if>> <<else>> - Of course, she already realized while exiting that her genitalia has been radically simplified. As a herm slave she knew this day might come, + Of course, $he already realized while exiting that her genitalia has been radically simplified. As a herm slave $he knew this day might come, <<if $activeSlave.devotion > 50>> - and her face is a strange mix of hope, happiness, satisfaction, and the tiniest tinge of soul-crushing sadness as she <<if canSee($activeSlave)>>views<<else>>feels<</if>> the vagina that is all that remains of her once-unique hermaphroditic genitalia. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ + and $his face is a strange mix of hope, happiness, satisfaction, and the tiniest tinge of soul-crushing sadness as $he <<if canSee($activeSlave)>>views<<else>>feels<</if>> the vagina that is all that remains of her once-unique hermaphroditic genitalia. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ <<set $activeSlave.devotion += 4>> <<elseif $activeSlave.devotion > 20>> - and her face is a strange mix of fear, hope, and resignation as she <<if canSee($activeSlave)>>views<<else>>feels<</if>> the vagina that is all that remains of her once-unique hermaphroditic genitalia. Eventually her shoulders slump and she tries to carry on. @@.mediumorchid;She will struggle with feelings of confusion and loss.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + and her face is a strange mix of fear, hope, and resignation as $he <<if canSee($activeSlave)>>views<<else>>feels<</if>> the vagina that is all that remains of her once-unique hermaphroditic genitalia. Eventually her shoulders slump and $he tries to carry on. @@.mediumorchid;$He will struggle with feelings of confusion and loss.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <<else>> - but expectations and the reality are two different things. She's beside herself, weeping gently.<<if $activeSlave.amp != 1>> She absently moves a hand to where her penis would have been and snatches it away with a sob.<</if>> @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ She is @@.gold;cripplingly afraid@@ of your total power over her body. + but expectations and the reality are two different things. $He's beside $himself, weeping gently.<<if $activeSlave.amp != 1>> $He absently moves a hand to where $his penis would have been and snatches it away with a sob.<</if>> @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ $He is @@.gold;cripplingly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 20>> <<set $activeSlave.devotion -= 20>> <</if>> <</if>> - Naturally, @@.red;her health has been greatly affected@@ by such serious surgery. + Naturally, @@.red;$his health has been greatly affected@@ by such serious surgery. <<set $activeSlave.dickAccessory = "none">> <<case "relocate">> <<if ($activeSlave.devotion > 50)>> - When she begins surgical recovery, her groin hurts quite a lot, and she can't quite tell what's going on down there. However, she was able to follow enough of the surgery to understand that she still has her balls, even if they're no longer visible. She's eager to <<if canSee($activeSlave)>>see, and when she's recovered enough, she's pleased by the sight<<else>>feel, and when she's recovered enough, she's pleased by the sensation<</if>> of the smooth skin beneath her still-functional cock. @@.hotpink;She has become more submissive due to your reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been seriously affected.@@ + When $he begins surgical recovery, $his groin hurts quite a lot, and $he can't quite tell what's going on down there. However, $he was able to follow enough of the surgery to understand that $he still has $his balls, even if they're no longer visible. $He's eager to <<if canSee($activeSlave)>>see, and when $he's recovered enough, $he's pleased by the sight<<else>>feel, and when $he's recovered enough, $he's pleased by the sensation<</if>> of the smooth skin beneath her still-functional cock. @@.hotpink;$He has become more submissive due to your reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been seriously affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - When she begins surgical recovery, her groin hurts quite a lot, and she can't quite tell what's going on down there. However, she was able to follow enough of the surgery to understand that she still has her balls, even if they're no longer visible. She's relieved she hasn't been gelded, but she's still quite horrified. @@.mediumorchid;She blames you for changing her so radically.@@ Since the surgery was invasive, @@.red;her health has been seriously affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + When $he begins surgical recovery, $his groin hurts quite a lot, and $he can't quite tell what's going on down there. However, $he was able to follow enough of the surgery to understand that $he still has $his balls, even if they're no longer visible. $He's relieved $he hasn't been gelded, but $he's still quite horrified. @@.mediumorchid;$He blames you for changing her so radically.@@ Since the surgery was invasive, @@.red;$his health has been seriously affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <<else>> - When she begins surgical recovery, her groin hurts quite a lot, and she can't quite tell what's going on down there. She spends a long time in terror, wondering whether she's been gelded, but she eventually realizes that her balls have merely been relocated. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been seriously affected.@@ She is @@.gold;very afraid@@ of your total power over her body. + When $he begins surgical recovery, $his groin hurts quite a lot, and $he can't quite tell what's going on down there. $He spends a long time in terror, wondering whether $he's been gelded, but $he eventually realizes that $his balls have merely been relocated. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been seriously affected.@@ $He is @@.gold;very afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 20>> <<set $activeSlave.devotion -= 20>> <</if>> <<case "vaginaRemoval">> <<if $activeSlave.dick == 0>> - Of course, she already realized while exiting that something very dear to her has been taken away. + Of course, $he already realized while exiting that something very dear to her has been taken away. <<if ($activeSlave.devotion > 50) && ($activeSlave.sexualFlaw == "self hating")>> - Strong emotions play out on her face as she experiences a watershed in her life of sexual slavery, perhaps the most radical one she'll ever experience. She loves you with all her being, and truly hates herself. She finds herself in an emotional place where she's willing to accept having her womanhood torn out. She knows she's a worthless piece of trash, and realizes that if you feel like removing the parts of her body that can feel sexual pleasure, that's your prerogative. In moments, she's confirmed in @@.hotpink;total, final, fanatical submission to your will.@@ It's almost frightening. + Strong emotions play out on her face as $he experiences a watershed in her life of sexual slavery, perhaps the most radical one $he'll ever experience. $He loves you with all her being, and truly hates $himself. $He finds $himself in an emotional place where $he's willing to accept having her womanhood torn out. $He knows $he's a worthless piece of trash, and realizes that if you feel like removing the parts of $his body that can feel sexual pleasure, that's your prerogative. In moments, $he's confirmed in @@.hotpink;total, final, fanatical submission to your will.@@ It's almost frightening. <<set $activeSlave.devotion += 50>> <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>> - She's such a complete buttslut, though, that she finds she doesn't really care. She never really paid much attention to her front hole; it got wet when she got buttfucked, but that was mostly useful to provide a little lube for phalli that fucked it before switching to her ass. If anything, she's @@.mediumaquamarine;reassured@@ by the implication that her asshole is all that matters about her, and of course is forced even further into @@.hotpink;submission to your will.@@ + $He's such a complete buttslut, though, that $he finds $he doesn't really care. $He never really paid much attention to her front hole; it got wet when $he got buttfucked, but that was mostly useful to provide a little lube for phalli that fucked it before switching to $his ass. If anything, $he's @@.mediumaquamarine;reassured@@ by the implication that her asshole is all that matters about $him, and of course is forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>> - She's such an oral slut, though, that she finds she doesn't really care. She viewed her pussy as a nice place for stimulation while she licked, blew, and sucked; if she has to learn to get off from throat stimulation she will. As far as she's concerned, you've simply confirmed that her most important hole is the one in her face. If anything, she's @@.mediumaquamarine;reassured@@ by the implication that her real pussy has always been the one in the middle of her face, and of course, she's forced even further into @@.hotpink;submission to your will.@@ + $He's such an oral slut, though, that $he finds $he doesn't really care. $He viewed $his pussy as a nice place for stimulation while $he licked, blew, and sucked; if $he has to learn to get off from throat stimulation $he will. As far as $he's concerned, you've simply confirmed that her most important hole is the one in her face. If anything, $he's @@.mediumaquamarine;reassured@@ by the implication that her real pussy has always been the one in the middle of her face, and of course, $he's forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>> - She's such a total submissive, though, that she accepts even this. Having her womanhood torn out, greatly curtailing her physical ability to enjoy sex, is perhaps the final step in sexual slavery, and she's a little awed by it. If anything, she's @@.mediumaquamarine;reassured@@ by the implicit promise that her body exists for the degrading sexual gratification of others, and of course, she's forced even further into @@.hotpink;submission to your will.@@ + $He's such a total submissive, though, that $he accepts even this. Having her womanhood torn out, greatly curtailing her physical ability to enjoy sex, is perhaps the final step in sexual slavery, and $he's a little awed by it. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $his body exists for the degrading sexual gratification of others, and of course, $he's forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> <<elseif $activeSlave.devotion > 95>> - Doubt, fear, and even nausea play across her face, but she's so worshipful of you that she masters them all, accepting that this is your will. There's surprisingly little mental effect on her. The horror of having her womanhood torn out is so strong that it breaks through to her, and the only way she can find to deal with it is to think about it as little as possible. She falls back on worshipful duty. + Doubt, fear, and even nausea play across her face, but $he's so worshipful of you that $he masters them all, accepting that this is your will. There's surprisingly little mental effect on $him. The horror of having her womanhood torn out is so strong that it breaks through to $him, and the only way $he can find to deal with it is to think about it as little as possible. $He falls back on worshipful duty. <<elseif $activeSlave.devotion > 50>> - She's devoted to you, but doubt and fear play across her face as she comes to terms with what's happened. She does not see how having her womanhood torn out will improve her sexual slavery. She does not rage or scream, but she does cry, @@.mediumorchid;sadly wondering@@ whether she's valuable to you at all, or if she's just a surgical plaything to be degraded. She's @@.gold;very frightened@@ that you'll cut up more of her. + $He's devoted to you, but doubt and fear play across her face as $he comes to terms with what's happened. $He does not see how having her womanhood torn out will improve her sexual slavery. $He does not rage or scream, but $he does cry, @@.mediumorchid;sadly wondering@@ whether $he's valuable to you at all, or if $he's just a surgical plaything to be degraded. $He's @@.gold;very frightened@@ that you'll cut up more of $him. <<set $activeSlave.trust -= 10, $activeSlave.devotion -= 10>> <<elseif $activeSlave.devotion > 20>> - She's properly broken to slavery, but this is much too far. Having her womanhood torn out cuts straight through her conditioning, and tears roll down her face as the horrible permanence of what's happened to her really sinks in. @@.mediumorchid;Open anger@@ begins to become apparent through her tears; she thought that her obedience merited better than this, and she's @@.gold;extremely terrified@@ to find that despite being a decent slave, she remains a surgical playground. + $He's properly broken to slavery, but this is much too far. Having her womanhood torn out cuts straight through her conditioning, and tears roll down her face as the horrible permanence of what's happened to her really sinks in. @@.mediumorchid;Open anger@@ begins to become apparent through her tears; $he thought that her obedience merited better than this, and $he's @@.gold;extremely terrified@@ to find that despite being a decent slave, $he remains a surgical playground. <<set $activeSlave.trust -= 20, $activeSlave.devotion -= 20>> <<else>> - She's horrified almost beyond the ability of her mind to comprehend. Her face takes on a blank look as she goes into shock. There's no screaming and no tears, not yet; it will take her time to process what's happened to her. Without a doubt, she'll be absolutely filled by @@.mediumorchid;rage@@ and @@.gold;terror.@@ + $He's horrified almost beyond the ability of her mind to comprehend. $His face takes on a blank look as $he goes into shock. There's no screaming and no tears, not yet; it will take her time to process what's happened to $him. Without a doubt, $he'll be absolutely filled by @@.mediumorchid;rage@@ and @@.gold;terror.@@ <<set $activeSlave.trust -= 40, $activeSlave.devotion -= 40>> <</if>> <<else>> - Of course, she already realized while exiting that her genitalia has been radically simplified. As a herm slave she knew this day might come, + Of course, $he already realized while exiting that her genitalia has been radically simplified. As a herm slave $he knew this day might come, <<if ($activeSlave.devotion > 50)>> - and her face is a strange mix of hope, happiness, satisfaction, and the tiniest tinge of soul-crushing sadness as she <<if canSee($activeSlave)>>views<<else>>feels<</if>> the cock that is all that remains of her once-unique hermaphroditic genitalia. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + and her face is a strange mix of hope, happiness, satisfaction, and the tiniest tinge of soul-crushing sadness as $he <<if canSee($activeSlave)>>views<<else>>feels<</if>> the cock that is all that remains of her once-unique hermaphroditic genitalia. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - and her face is a strange mix of fear, hope, and resignation as she <<if canSee($activeSlave)>>views<<else>>feels<</if>> the cock that is all that remains of her once-unique hermaphroditic genitalia. Eventually her shoulders slump and she tries to carry on. @@.mediumorchid;She will struggle with feelings of confusion and loss.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + and her face is a strange mix of fear, hope, and resignation as $he <<if canSee($activeSlave)>>views<<else>>feels<</if>> the cock that is all that remains of her once-unique hermaphroditic genitalia. Eventually her shoulders slump and $he tries to carry on. @@.mediumorchid;$He will struggle with feelings of confusion and loss.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10, $activeSlave.devotion -= 5>> <<else>> - but expectations and the reality are two different things. She's beside herself, weeping gently.<<if $activeSlave.amp != 1>> She absently moves a hand to where her pussy would have been and snatches it away with a sob.<</if>> @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ She is @@.gold;cripplingly afraid@@ of your total power over her body. + but expectations and the reality are two different things. $He's beside $himself, weeping gently.<<if $activeSlave.amp != 1>> $He absently moves a hand to where $his pussy would have been and snatches it away with a sob.<</if>> @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ $He is @@.gold;cripplingly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 20, $activeSlave.devotion -= 20>> <</if>> <</if>> - Naturally, @@.red;her health has been greatly affected@@ by such serious surgery. + Naturally, @@.red;$his health has been greatly affected@@ by such serious surgery. <<set $activeSlave.vaginalAccessory = "none">> <<case "braces">> <<if ($activeSlave.teeth == "straightening braces")>> Quite aware that her crooked, aching teeth are now in braces, <<if ($activeSlave.devotion > 50)>> - She smiles tentatively at <<if canSee($activeSlave)>>herself in the mirror<<else>>you<</if>>. She's experiencing considerable discomfort, but she knows it will @@.hotpink;make her prettier for you,@@ and resolves to do her best to put up with it. + $He smiles tentatively at <<if canSee($activeSlave)>>$himself in the mirror<<else>>you<</if>>. $He's experiencing considerable discomfort, but $he knows it will @@.hotpink;make her prettier for you,@@ and resolves to do her best to put up with it. <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. She's experiencing considerable discomfort, but she knows it will @@.hotpink;make her prettier,@@ and she accepts that the pain is for her own good. + $He pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. $He's experiencing considerable discomfort, but $he knows it will @@.hotpink;make her prettier,@@ and $he accepts that the pain is for her own good. <<set $activeSlave.devotion += 2>> <<else>> - She pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. She's experiencing considerable discomfort, and her feelings are mixed. She knows that straightening teeth is expensive, and in different circumstances she would probably be glad to be given free braces. However, she's very aware that she's being beautified because she's a sex slave. + $He pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. $He's experiencing considerable discomfort, and her feelings are mixed. $He knows that straightening teeth is expensive, and in different circumstances $he would probably be glad to be given free braces. However, $he's very aware that $he's being beautified because $he's a sex slave. <</if>> - Though unpleasant, orthodontia isn't particularly harmful; her health is unaffected. + Though unpleasant, orthodontia isn't particularly harmful; $his health is unaffected. <<elseif ($activeSlave.teeth == "cosmetic braces")>> Quite aware that her aching teeth are now in braces, <<if ($activeSlave.devotion > 50)>> - she smiles tentatively at <<if canSee($activeSlave)>>herself in the mirror<<else>>you<</if>>. Her teeth are already quite straight, so she doesn't understand why you've done this. She's not unwilling to put up with inexplicable things you command, however, so she resolves to put up with this, too. + $he smiles tentatively at <<if canSee($activeSlave)>>$himself in the mirror<<else>>you<</if>>. $His teeth are already quite straight, so $he doesn't understand why you've done this. $He's not unwilling to put up with inexplicable things you command, however, so $he resolves to put up with this, too. <<elseif ($activeSlave.devotion > 20)>> - she pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. The discomfort is limited by the fact that her teeth are already straight. She doesn't understand why you've given her braces anyway, so her reaction is limited to vague confusion. + $he pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. The discomfort is limited by the fact that her teeth are already straight. $He doesn't understand why you've given her braces anyway, so her reaction is limited to vague confusion. <<else>> - she pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. Her teeth are already straight, limiting the discomfort but confusing her greatly. She's not a little relieved that the autosurgery's attention to her mouth only left her with pointless braces, and is only @@.mediumorchid;mildly angered@@ by the strange intrusion. + $he pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. $His teeth are already straight, limiting the discomfort but confusing her greatly. $He's not a little relieved that the autosurgery's attention to her mouth only left $him with pointless braces, and is only @@.mediumorchid;mildly angered@@ by the strange intrusion. <<set $activeSlave.devotion -= 2>> <</if>> - Though unpleasant, orthodontia isn't particularly harmful; her health is unaffected. + Though unpleasant, orthodontia isn't particularly harmful; $his health is unaffected. <</if>> <<case "removeBraces">> Quite aware that her teeth are now free of her braces, <<if ($activeSlave.devotion > 50)>> - she smiles tentatively <<if canSee($activeSlave)>>at herself in the mirror<<else>>and runs her tongue across her teeth<</if>> only to find they are as crooked as ever. She immediately shuts her mouth, @@.mediumorchid;her opinion of you souring,@@ and carries on as if you had never put them on her in the first place. + $he smiles tentatively <<if canSee($activeSlave)>>at $himself in the mirror<<else>>and runs her tongue across her teeth<</if>> only to find they are as crooked as ever. $He immediately shuts her mouth, @@.mediumorchid;her opinion of you souring,@@ and carries on as if you had never put them on her in the first place. <<set $activeSlave.devotion -= 4>> <<elseif ($activeSlave.devotion > 20)>> - she pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>> only to find they are as crooked as ever. She immediately shuts her mouth, @@.mediumorchid;her opinion of you souring,@@ and carries on as if you had never put them on her in the first place. + $he pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>> only to find they are as crooked as ever. $He immediately shuts her mouth, @@.mediumorchid;her opinion of you souring,@@ and carries on as if you had never put them on her in the first place. <<set $activeSlave.devotion -= 2>> <<else>> - she pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. She knows that straightening teeth is expensive and sighs, feeling that she's @@.mediumorchid;not worth the expense.@@ No matter what she thought of you, she felt she would at least benefit from having nice teeth, and now it's clear to her: @@.gold;You don't care.@@ + $he pulls her lips back to <<if canSee($activeSlave)>>check them out<<else>>feel them<</if>>. $He knows that straightening teeth is expensive and sighs, feeling that $he's @@.mediumorchid;not worth the expense.@@ No matter what $he thought of you, $he felt $he would at least benefit from having nice teeth, and now it's clear to her: @@.gold;You don't care.@@ <<set $activeSlave.devotion -= 5, $activeSlave.trust -= 5>> <</if>> - Though unpleasant, orthodontia isn't particularly harmful; her health is unaffected. + Though unpleasant, orthodontia isn't particularly harmful; $his health is unaffected. <<case "teeth">> <<if ($activeSlave.devotion > 50)>> - She clearly feels quite normal except for a vague ache around her jaw. It takes a good while for her to figure out what has happened, but eventually she gets enough sensation in her mouth to realize that she is wearing prosthetic teeth that she can remove. She gasps with shock, but figures out the idea quickly enough by experimentally <<if $activeSlave.amp != 1>>sucking on two fingers.<<else>>simulating oral sex with her own tongue.<</if>> @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He clearly feels quite normal except for a vague ache around her jaw. It takes a good while for $him to figure out what has happened, but eventually $he gets enough sensation in her mouth to realize that $he is wearing prosthetic teeth that $he can remove. $He gasps with shock, but figures out the idea quickly enough by experimentally <<if $activeSlave.amp != 1>>sucking on two fingers.<<else>>simulating oral sex with her own tongue.<</if>> @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She clearly feels quite normal except for a vague ache around her jaw. It takes a good while for her to figure out what has happened, but eventually she gets enough sensation in her mouth to realize that she is wearing prosthetic teeth that she can remove. She gasps with shock, but eventually her shoulders slump and she tries to carry on. She isn't much affected mentally. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He clearly feels quite normal except for a vague ache around her jaw. It takes a good while for $him to figure out what has happened, but eventually $he gets enough sensation in her mouth to realize that $he is wearing prosthetic teeth that $he can remove. $He gasps with shock, but eventually her shoulders slump and $he tries to carry on. $He isn't much affected mentally. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<else>> - She clearly feels quite normal except for a vague ache around her jaw. It takes a good while for her to figure out what has happened, but eventually she gets enough sensation in her mouth to realize that she is wearing prosthetic teeth that she can remove. She gasps with shock, gags, spits out the prosthetics, <<if canSee($activeSlave)>>looks at herself in the mirror<<else>>runs her tongue across her empty gums<</if>>, and sobs. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He clearly feels quite normal except for a vague ache around her jaw. It takes a good while for $him to figure out what has happened, but eventually $he gets enough sensation in her mouth to realize that $he is wearing prosthetic teeth that $he can remove. $He gasps with shock, gags, spits out the prosthetics, <<if canSee($activeSlave)>>looks at $himself in the mirror<<else>>runs her tongue across her empty gums<</if>>, and sobs. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "sharp">> <<if ($activeSlave.devotion > 50)>> - She clearly feels quite normal except for a vague ache around her jaw. It takes a good while for her to figure out what has happened, but eventually she gets enough sensation in her mouth to realize that she now has teeth fit for a carnivore. She seems doubtful, but then works up her courage and bares them <<if canSee($activeSlave)>>at a mirror<<else>> so you may see<</if>>. She menaces <<if canSee($activeSlave)>>herself<</if>> for a while before laughing quietly. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He clearly feels quite normal except for a vague ache around her jaw. It takes a good while for $him to figure out what has happened, but eventually $he gets enough sensation in her mouth to realize that $he now has teeth fit for a carnivore. $He seems doubtful, but then works up her courage and bares them <<if canSee($activeSlave)>>at a mirror<<else>> so you may see<</if>>. $He menaces <<if canSee($activeSlave)>>$himself<</if>> for a while before laughing quietly. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She clearly feels quite normal except for a vague ache around her jaw. It takes a good while for her to figure out what has happened, but eventually she gets enough sensation in her mouth to realize that he now has teeth fit for a carnivore. She gasps with shock, but eventually her shoulders slump and she tries to carry on. She isn't much affected mentally. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He clearly feels quite normal except for a vague ache around her jaw. It takes a good while for $him to figure out what has happened, but eventually $he gets enough sensation in her mouth to realize that he now has teeth fit for a carnivore. $He gasps with shock, but eventually her shoulders slump and $he tries to carry on. $He isn't much affected mentally. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<else>> - She clearly feels quite normal except for a vague ache around her jaw. It takes a good while for her to figure out what has happened, but eventually she gets enough sensation in her mouth to realize that he now has teeth fit for a carnivore. She gasps with shock, accidentally gets her tongue in the way in her anguish, bites herself, and starts gagging and spitting blood. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He clearly feels quite normal except for a vague ache around her jaw. It takes a good while for $him to figure out what has happened, but eventually $he gets enough sensation in her mouth to realize that he now has teeth fit for a carnivore. $He gasps with shock, accidentally gets her tongue in the way in her anguish, bites $himself, and starts gagging and spitting blood. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "oral">> - She clearly feels quite normal except for a vague ache around her jaw. She <<if canSee($activeSlave)>>checks herself in the mirror<<else>>runs her tongue over her teeth<</if>> repeatedly before accepting that nothing too unusual has happened, and that she now appears to have a fully functional set of normal teeth. Though she's surprised that nothing outlandish has been done, she carries on as usual. Since the surgery was moderately invasive, @@.red;her health has been somewhat affected.@@ + $He clearly feels quite normal except for a vague ache around her jaw. $He <<if canSee($activeSlave)>>checks $himself in the mirror<<else>>runs her tongue over her teeth<</if>> repeatedly before accepting that nothing too unusual has happened, and that $he now appears to have a fully functional set of normal teeth. Though $he's surprised that nothing outlandish has been done, $he carries on as usual. Since the surgery was moderately invasive, @@.red;$his health has been somewhat affected.@@ <<case "mute">> <<if ($activeSlave.devotion > 50)>> - She clearly feels quite normal except for a vague ache around her larynx. It takes a good while for her to figure out what has happened, but eventually she tries to speak and makes no sound. She panics, but manages to control herself at length and begins to think. <<if canSee($activeSlave)>>Seeing<<else>>Finding<</if>> you, she tries to ask you for instruction and realizes she cannot. <<if $activeSlave.amp != 1>>After more thought, she simply gets on her knees facing away from you and spreads her buttocks to offer herself to you.<<else>>After more thought, she simply rolls over facing away from you and winks her asshole to offer herself to you.<</if>> @@.hotpink;She has become more submissive due to your radical reshaping of her being.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He clearly feels quite normal except for a vague ache around her larynx. It takes a good while for $him to figure out what has happened, but eventually $he tries to speak and makes no sound. $He panics, but manages to control $himself at length and begins to think. <<if canSee($activeSlave)>>Seeing<<else>>Finding<</if>> you, $he tries to ask you for instruction and realizes $he cannot. <<if $activeSlave.amp != 1>>After more thought, $he simply gets on her knees facing away from you and spreads $his buttocks to offer $himself to you.<<else>>After more thought, $he simply rolls over facing away from you and winks her asshole to offer $himself to you.<</if>> @@.hotpink;$He has become more submissive due to your radical reshaping of her being.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She clearly feels quite normal except for a vague ache around her larynx. It takes a good while for her to figure out what has happened, but eventually she tries to speak and makes no sound. She panics, trying to scream or protest but only managing to cry. Eventually she pulls herself together. @@.mediumorchid;She will struggle with her medically created disability.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He clearly feels quite normal except for a vague ache around her larynx. It takes a good while for $him to figure out what has happened, but eventually $he tries to speak and makes no sound. $He panics, trying to scream or protest but only managing to cry. Eventually $he pulls $himself together. @@.mediumorchid;$He will struggle with her medically created disability.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <<else>> - She clearly feels quite normal except for a vague ache around her larynx. It takes a good while for her to figure out what has happened, but eventually she tries to speak and makes no sound. She panics, trying to scream or protest but only managing to cry. As long as she remains unbent to your will, she will have a constant, inescapable reminder of who and what you are. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;cripplingly afraid@@ of your total power over her body. + $He clearly feels quite normal except for a vague ache around her larynx. It takes a good while for $him to figure out what has happened, but eventually $he tries to speak and makes no sound. $He panics, trying to scream or protest but only managing to cry. As long as $he remains unbent to your will, $he will have a constant, inescapable reminder of who and what you are. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;cripplingly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 20>> <<set $activeSlave.devotion -= 50>> <</if>> <<case "restoreVoice">> <<if ($activeSlave.devotion > 50)>> - The autosurgery instructed her in no uncertain terms not to speak during recovery, so she knows that her voice has been restored. When you come in to check on her late in the process, though, she does her best to communicate adoration with her <<if canSee($activeSlave)>>eyes<<else>>face<</if>> alone. Finally, the accelerated healing process reaches the time when she's to test her new vocal organs. She <<if canSee($activeSlave)>>looks at<<else>>turns to<</if>> you shyly, and <<if $activeSlave.amp != 1>>meekly beckons to you from where she's still<<else>>meekly mouths a request that you come over to where she's<</if>> restrained by the autosurgery. When you're near, she clears her sore throat gingerly and then whispers, "@@.hotpink;I love you,@@ <<Master>>" @@.mediumaquamarine;She is far more trusting of your plans for her in the future.@@ As with all surgery @@.red;her health has been slightly affected.@@ + The autosurgery instructed her in no uncertain terms not to speak during recovery, so $he knows that her voice has been restored. When you come in to check on her late in the process, though, $he does her best to communicate adoration with her <<if canSee($activeSlave)>>eyes<<else>>face<</if>> alone. Finally, the accelerated healing process reaches the time when $he's to test her new vocal organs. $He <<if canSee($activeSlave)>>looks at<<else>>turns to<</if>> you shyly, and <<if $activeSlave.amp != 1>>meekly beckons to you from where $he's still<<else>>meekly mouths a request that you come over to where $he's<</if>> restrained by the autosurgery. When you're near, $he clears her sore throat gingerly and then whispers, "@@.hotpink;I love you,@@ <<Master>>" @@.mediumaquamarine;$He is far more trusting of your plans for her in the future.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 5>> <<set $activeSlave.devotion += 5>> <<elseif ($activeSlave.devotion >= -20)>> - The autosurgery instructed her in no uncertain terms not to speak during recovery, so she knows that her voice has been restored. When you come in to check on her late in the process, though, she does her best to communicate gratitude with her <<if canSee($activeSlave)>>eyes<<else>>face<</if>> alone. Finally, the accelerated healing process reaches the time when she's to test her new vocal organs. She <<if canSee($activeSlave)>>looks at<<else>>turns to<</if>> you shyly, and hesitantly <<if $activeSlave.amp != 1>>beckons to you from where she's still<<else>>mouths a request that you come over to where she's<</if>> restrained by the autosurgery. When you're near, she clears her sore throat gingerly and then whispers, "Thank you, <<Master>>." @@.hotpink;She has a much higher regard for you@@ due to this display of care for her. As with all surgery @@.red;her health has been slightly affected.@@ + The autosurgery instructed her in no uncertain terms not to speak during recovery, so $he knows that her voice has been restored. When you come in to check on her late in the process, though, $he does her best to communicate gratitude with her <<if canSee($activeSlave)>>eyes<<else>>face<</if>> alone. Finally, the accelerated healing process reaches the time when $he's to test her new vocal organs. $He <<if canSee($activeSlave)>>looks at<<else>>turns to<</if>> you shyly, and hesitantly <<if $activeSlave.amp != 1>>beckons to you from where $he's still<<else>>mouths a request that you come over to where $he's<</if>> restrained by the autosurgery. When you're near, $he clears her sore throat gingerly and then whispers, "Thank you, <<Master>>." @@.hotpink;$He has a much higher regard for you@@ due to this display of care for $him. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 10>> <<else>> - The autosurgery instructed her in no uncertain terms not to speak during recovery, so she knows that her voice has been restored. When you come in to check on her late in the process, though, she <<if canSee($activeSlave)>>stares at<<else>>faces<</if>> you for a long moment before turning away from you, towards the wall, and beginning to cry quietly. It seems she's surprised that you would do this for her, and does not understand how to deal with the situation. In any case, @@.hotpink;she hates you far less@@ than she once did. As with all surgery @@.red;her health has been slightly affected.@@ + The autosurgery instructed her in no uncertain terms not to speak during recovery, so $he knows that her voice has been restored. When you come in to check on her late in the process, though, $he <<if canSee($activeSlave)>>stares at<<else>>faces<</if>> you for a long moment before turning away from you, towards the wall, and beginning to cry quietly. It seems $he's surprised that you would do this for $him, and does not understand how to deal with the situation. In any case, @@.hotpink;$he hates you far less@@ than $he once did. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 10>> <</if>> <<case "voice">> <<if ($activeSlave.devotion > 50)>> - Before surgery, she was warned repeatedly not to try talking for a while, and she obeys. When she finally does, her voice is raspy and weak, but it gains strength gradually. It comes out far higher and more girly than it was before, and she laughs at herself as she gets used to it. @@.hotpink;She has become more submissive,@@ since this helps her to think of herself as a bimbo slut. As with all surgery @@.red;her health has been slightly affected.@@ + Before surgery, $he was warned repeatedly not to try talking for a while, and $he obeys. When $he finally does, her voice is raspy and weak, but it gains strength gradually. It comes out far higher and more girly than it was before, and $he laughs at $himself as $he gets used to it. @@.hotpink;$He has become more submissive,@@ since this helps $him to think of $himself as a bimbo slut. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - Before surgery, she was warned repeatedly not to try talking for a while, and she obeys. When she finally does, her voice is raspy and weak, but it gains strength gradually. It comes out far higher and more girly than it was before, and she laughs grimly at herself as she gets used to it. She carries on regardless, accepting it as one more thing to learn to accept. As with all surgery @@.red;her health has been slightly affected.@@ + Before surgery, $he was warned repeatedly not to try talking for a while, and $he obeys. When $he finally does, her voice is raspy and weak, but it gains strength gradually. It comes out far higher and more girly than it was before, and $he laughs grimly at $himself as $he gets used to it. $He carries on regardless, accepting it as one more thing to learn to accept. As with all surgery @@.red;$his health has been slightly affected.@@ <<else>> - Before surgery, she was warned repeatedly not to try talking for a while, and she obeys. When she finally does, her voice is raspy and weak, but it gains strength gradually. It comes out far higher and more girly than it was before. For now, @@.mediumorchid;she feels this bimbo voice is not hers, a cruel mockery.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + Before surgery, $he was warned repeatedly not to try talking for a while, and $he obeys. When $he finally does, her voice is raspy and weak, but it gains strength gradually. It comes out far higher and more girly than it was before. For now, @@.mediumorchid;$he feels this bimbo voice is not hers, a cruel mockery.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "height">> <<if ($activeSlave.devotion > 50)>> - She exits the surgery very cautiously, since she's terribly sore and isn't yet used to the novel lengths of the legs she walks on. She'll be clumsy and hesitant for some time, but she's happy with her new body. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He exits the surgery very cautiously, since $he's terribly sore and isn't yet used to the novel lengths of the legs $he walks on. $He'll be clumsy and hesitant for some time, but $he's happy with her new body. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She exits the surgery very cautiously, since she's terribly sore and isn't yet used to the novel lengths of the legs she walks on. She'll be clumsy and hesitant for some time, but she's accepted her new body. She isn't much affected mentally. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He exits the surgery very cautiously, since $he's terribly sore and isn't yet used to the novel lengths of the legs $he walks on. $He'll be clumsy and hesitant for some time, but $he's accepted her new body. $He isn't much affected mentally. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<else>> - She exits the surgery very cautiously, since she's terribly sore and isn't yet used to the novel lengths of the legs she walks on. She'll be clumsy and hesitant for some time, and she refuses to accept that this new body is really what she's been condemned to. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He exits the surgery very cautiously, since $he's terribly sore and isn't yet used to the novel lengths of the legs $he walks on. $He'll be clumsy and hesitant for some time, and $he refuses to accept that this new body is really what $he's been condemned to. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> @@ -1443,121 +1442,121 @@ As the remote surgery's long recovery cycle completes, <<case "circumcision">> <<if ($activeSlave.dick > 0)>> <<if ($activeSlave.devotion > 50)>> - She exits the surgery gingerly, since she can feel that something was done to her dick. She examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that she's been circumcised, @@.hotpink;she's very happy you'd take an interest in her penis,@@ and looks forward to having a slightly easier time keeping herself clean through her life as a sex slave. Circumcision of an adult is not a trivial procedure, so @@.red;her health has been slightly affected.@@ + $He exits the surgery gingerly, since $he can feel that something was done to $his dick. $He examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $he's been circumcised, @@.hotpink;$he's very happy you'd take an interest in $his penis,@@ and looks forward to having a slightly easier time keeping $himself clean through her life as a sex slave. Circumcision of an adult is not a trivial procedure, so @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She exits the surgery gingerly, since she can feel that something was done to her dick. She examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that she's been circumcised, she's flooded with relief. She's so elated that she hasn't been severely damaged that she doesn't mind your taking surgical control of her member. Circumcision of an adult is not a trivial procedure, so @@.red;her health has been slightly affected.@@ + $He exits the surgery gingerly, since $he can feel that something was done to $his dick. $He examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $he's been circumcised, $he's flooded with relief. $He's so elated that $he hasn't been severely damaged that $he doesn't mind your taking surgical control of her member. Circumcision of an adult is not a trivial procedure, so @@.red;$his health has been slightly affected.@@ <<else>> - She exits the surgery gingerly, since she can feel that something was done to her dick. She examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that she's been circumcised, she's flooded with relief, since she was afraid that you'd done something far more terrible. Once she has time to think about it, though, she's somewhat @@.mediumorchid;resentful,@@ since she naturally feels a certain proprietary interest in her own penis. Circumcision of an adult is not a trivial procedure, so @@.red;her health has been slightly affected.@@ + $He exits the surgery gingerly, since $he can feel that something was done to $his dick. $He examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $he's been circumcised, $he's flooded with relief, since $he was afraid that you'd done something far more terrible. Once $he has time to think about it, though, $he's somewhat @@.mediumorchid;resentful,@@ since $he naturally feels a certain proprietary interest in her own penis. Circumcision of an adult is not a trivial procedure, so @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion -= 5>> <</if>> <<else>> <<if ($activeSlave.devotion > 50)>> - She exits the surgery gingerly, since she can feel that her crotch was operated on. She examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that she's been circumcised, @@.hotpink;she's very happy you'd take an interest in her sex,@@ and looks forward to having a slightly easier time keeping herself clean through her life as a sex slave. @@.red;Her health has been slightly affected.@@ + $He exits the surgery gingerly, since $he can feel that her crotch was operated on. $He examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $he's been circumcised, @@.hotpink;$he's very happy you'd take an interest in her sex,@@ and looks forward to having a slightly easier time keeping $himself clean through her life as a sex slave. @@.red;$His health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She exits the surgery gingerly, since she can feel that her crotch was operated on. She examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that she's been circumcised, she's flooded with relief. She's so elated that she hasn't been severely damaged that she doesn't mind minor surgical alteration. @@.red;Her health has been slightly affected.@@ + $He exits the surgery gingerly, since $he can feel that her crotch was operated on. $He examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $he's been circumcised, $he's flooded with relief. $He's so elated that $he hasn't been severely damaged that $he doesn't mind minor surgical alteration. @@.red;$His health has been slightly affected.@@ <<else>> - She exits the surgery gingerly, since she can feel that her crotch was operated on. She examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that she's been circumcised, she's flooded with relief, since she was afraid that you'd done something far more terrible. Once she has time to think about it, though, she's somewhat @@.mediumorchid;resentful,@@ since she naturally feels a certain proprietary interest in her sex. @@.red;Her health has been slightly affected.@@ + $He exits the surgery gingerly, since $he can feel that her crotch was operated on. $He examines it carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $he's been circumcised, $he's flooded with relief, since $he was afraid that you'd done something far more terrible. Once $he has time to think about it, though, $he's somewhat @@.mediumorchid;resentful,@@ since $he naturally feels a certain proprietary interest in her sex. @@.red;$His health has been slightly affected.@@ <<set $activeSlave.devotion -= 5>> <</if>> <</if>> <<case "hips">> <<if ($activeSlave.devotion > 50)>> - She exits the surgery very cautiously, since she's still in considerable pain and isn't yet used to the way her pelvis now fits together with the rest of her body. She'll be clumsy and hesitant for some time, but she's happy with her new hips. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He exits the surgery very cautiously, since $he's still in considerable pain and isn't yet used to the way her pelvis now fits together with the rest of $his body. $He'll be clumsy and hesitant for some time, but $he's happy with her new hips. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She exits the surgery very cautiously, since she's still in considerable pain and isn't yet used to the way her pelvis now fits together with the rest of her body. She'll be clumsy and hesitant for some time, but she's accepted her new hips. She isn't much affected mentally. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He exits the surgery very cautiously, since $he's still in considerable pain and isn't yet used to the way her pelvis now fits together with the rest of $his body. $He'll be clumsy and hesitant for some time, but $he's accepted her new hips. $He isn't much affected mentally. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<else>> - She exits the surgery very cautiously, since she's still in considerable pain and isn't yet used to the way her pelvis now fits together with the rest of her body. She'll be clumsy and hesitant for some time, and she refuses to accept that you are both willing and able to reshape her down to her very bones. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He exits the surgery very cautiously, since $he's still in considerable pain and isn't yet used to the way her pelvis now fits together with the rest of $his body. $He'll be clumsy and hesitant for some time, and $he refuses to accept that you are both willing and able to reshape her down to her very bones. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "shoulders">> <<if ($activeSlave.devotion > 50)>> - She exits the surgery gingerly, since the changes of proportion in her upper body have seriously affected her sense of balance, albeit temporarily. She'll be clumsy and hesitant for some time, but she's happy with her new shoulders. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He exits the surgery gingerly, since the changes of proportion in her upper body have seriously affected her sense of balance, albeit temporarily. $He'll be clumsy and hesitant for some time, but $he's happy with her new shoulders. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She exits the surgery gingerly, since the changes of proportion in her upper body have seriously affected her sense of balance, albeit temporarily. She'll be clumsy and hesitant for some time, but she's accepted her new shoulders. She isn't much affected mentally. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + $He exits the surgery gingerly, since the changes of proportion in her upper body have seriously affected her sense of balance, albeit temporarily. $He'll be clumsy and hesitant for some time, but $he's accepted her new shoulders. $He isn't much affected mentally. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<else>> - She exits the surgery gingerly, since the changes of proportion in her upper body have seriously affected her sense of balance, albeit temporarily. She'll be clumsy and hesitant for some time, and she refuses to accept that you are both willing and able to reshape her down to her very bones. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He exits the surgery gingerly, since the changes of proportion in her upper body have seriously affected her sense of balance, albeit temporarily. $He'll be clumsy and hesitant for some time, and $he refuses to accept that you are both willing and able to reshape her down to her very bones. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "heels">> <<if ($activeSlave.devotion > 50)>> - She exits the surgery on all fours, unable to stand due to the changes to her legs. She finds a whorish pair of heels waiting for her and eagerly puts them on, gingerly standing to find that she can indeed walk comfortably while wearing them. She struts back and forth experimentally and then offers <<if canSee($activeSlave)>>the mirror<<else>>you<</if>> her asshole to check to see that her ability to take a standing buttfuck hasn't been affected. @@.hotpink;She has become more submissive due to your radical reshaping of her body.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He exits the surgery on all fours, unable to stand due to the changes to her legs. $He finds a whorish pair of heels waiting for her and eagerly puts them on, gingerly standing to find that $he can indeed walk comfortably while wearing them. $He struts back and forth experimentally and then offers <<if canSee($activeSlave)>>the mirror<<else>>you<</if>> her asshole to check to see that her ability to take a standing buttfuck hasn't been affected. @@.hotpink;$He has become more submissive due to your radical reshaping of $his body.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 20)>> - She exits the surgery on all fours, unable to stand due to the changes to her legs. She finds a whorish pair of heels waiting for her and obediently puts them on, gingerly standing to find that she can indeed walk comfortably while wearing them. After a while she realizes that she'll never walk without looking like a stripper again, but she accepts it. She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ + $He exits the surgery on all fours, unable to stand due to the changes to her legs. $He finds a whorish pair of heels waiting for her and obediently puts them on, gingerly standing to find that $he can indeed walk comfortably while wearing them. After a while $he realizes that $he'll never walk without looking like a stripper again, but $he accepts it. $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ <<else>> - She exits the surgery on all fours, unable to stand due to the changes to her legs. She finds a whorish pair of heels waiting for her, but obstinately ignores them. After some time, she realizes that the situation isn't changing and puts them on, gingerly standing to find that she can indeed walk comfortably while wearing them. Her <<if canSee($activeSlave)>>eyes are<<else>>face is<</if>> filled with hatred when she <<if canSee($activeSlave)>>sees her new and permanent appearance in the mirror<<else>>discovers this is the only way she'll be able to stand now<</if>>. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He exits the surgery on all fours, unable to stand due to the changes to her legs. $He finds a whorish pair of heels waiting for $him, but obstinately ignores them. After some time, $he realizes that the situation isn't changing and puts them on, gingerly standing to find that $he can indeed walk comfortably while wearing them. $His <<if canSee($activeSlave)>>eyes are<<else>>face is<</if>> filled with hatred when $he <<if canSee($activeSlave)>>sees her new and permanent appearance in the mirror<<else>>discovers this is the only way $he'll be able to stand now<</if>>. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <</if>> <<case "heelsRestoration">> <<if ($activeSlave.devotion >= -20)>> - She exits the surgery on her own two feet. She's still sore, but the modern surgery is fast and effective, and she can use her restored legs immediately. She gingerly stands on one foot, then the other; and even takes a few little hops. She's grinning like a fool the whole time. @@.hotpink;She has become more obedient due to gratitude.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He exits the surgery on her own two feet. $He's still sore, but the modern surgery is fast and effective, and $he can use her restored legs immediately. $He gingerly stands on one foot, then the other; and even takes a few little hops. $He's grinning like a fool the whole time. @@.hotpink;$He has become more obedient due to gratitude.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<else>> - She exits the surgery on her own two feet. She's still sore, but the modern surgery is fast and effective, and she can use her restored legs immediately. She gingerly stands on one foot, then the other; and even takes a few little hops. She obviously confused, finding it surprising that you would go to the expense and trouble of repairing her. As with all surgery @@.red;her health has been slightly affected.@@ + $He exits the surgery on her own two feet. $He's still sore, but the modern surgery is fast and effective, and $he can use her restored legs immediately. $He gingerly stands on one foot, then the other; and even takes a few little hops. $He obviously confused, finding it surprising that you would go to the expense and trouble of repairing $him. As with all surgery @@.red;$his health has been slightly affected.@@ <</if>> <<case "amp">> <<if ($activeSlave.devotion > 50)>> - Of course, she could not walk out of the surgery; you carried her. She knows what a slave's life is, but she did not really expect that it would ever come to this for her. After a long, silent <<if canSee($activeSlave)>>stare at<<else>>consideration of<</if>> her limbless torso, she squares her shoulders and visibly resolves to carry on being a good slave as best she can. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + Of course, $he could not walk out of the surgery; you carried $him. $He knows what a slave's life is, but $he did not really expect that it would ever come to this for $him. After a long, silent <<if canSee($activeSlave)>>stare at<<else>>consideration of<</if>> her limbless torso, $he squares her shoulders and visibly resolves to carry on being a good slave as best $he can. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<elseif ($activeSlave.devotion > 20)>> - Of course, she could not walk out of the surgery; you carried her. Despite her obedience, she cries softly the whole time, shoulder and hip stumps moving occasionally as she reflexively tries to stand - to walk - to touch herself - to gesture - all things that she will never do again. @@.mediumorchid;She will struggle greatly with her medically created disability.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;cripplingly afraid@@ of your total power over her body. + Of course, $he could not walk out of the surgery; you carried $him. Despite her obedience, $he cries softly the whole time, shoulder and hip stumps moving occasionally as $he reflexively tries to stand - to walk - to touch $himself - to gesture - all things that $he will never do again. @@.mediumorchid;$He will struggle greatly with her medically created disability.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;cripplingly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 20>> <<set $activeSlave.devotion -= 20>> <<else>> - Of course, she could not walk out of the surgery; you carried her. You had a good idea what her reaction would be, so <<if ($activeSlave.teeth == "removable")>>you removed her teeth<<else>>she's muzzled<</if>> to prevent her from trying to bite. She sobs convulsively, and her <<if canSee($activeSlave)>>eyes dart desperately from side to side through her tears, hopelessly imploring the mirror to show her something other than this<<else>>stumps twitch pathetically with her desperate efforts to move her limbs, to prove there is something other than this<</if>>. Anything other than this. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terrified to the point of insanity@@ of your total power over her body. + Of course, $he could not walk out of the surgery; you carried $him. You had a good idea what her reaction would be, so <<if ($activeSlave.teeth == "removable")>>you removed her teeth<<else>>$he's muzzled<</if>> to prevent $him from trying to bite. $He sobs convulsively, and her <<if canSee($activeSlave)>>eyes dart desperately from side to side through her tears, hopelessly imploring the mirror to show her something other than this<<else>>stumps twitch pathetically with her desperate efforts to move her limbs, to prove there is something other than this<</if>>. Anything other than this. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terrified to the point of insanity@@ of your total power over $his body. <<set $activeSlave.trust -= 50>> <<set $activeSlave.devotion -= 50>> <</if>> <<case "ampInterface">> <<if ($activeSlave.devotion > 50)>> - Of course, she could not walk out of the surgery; you carried her. She knows what a slave's life is, but she did not really expect that it would ever come to this for her. Anesthesia has yet to completely wear off so it takes her a while to notice ports in her stumps. When she does, she visibly relaxes, realizing she may yet walk again. She squares her shoulders and visibly resolves to carry on being a good slave as best she can. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + Of course, $he could not walk out of the surgery; you carried $him. $He knows what a slave's life is, but $he did not really expect that it would ever come to this for $him. Anesthesia has yet to completely wear off so it takes her a while to notice ports in her stumps. When $he does, $he visibly relaxes, realizing $he may yet walk again. $He squares her shoulders and visibly resolves to carry on being a good slave as best $he can. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<elseif ($activeSlave.devotion > 20)>> - Of course, she could not walk out of the surgery; you carried her. Despite her obedience, she cries softly the whole time, shoulder and hip stumps moving occasionally as she reflexively tries to stand - to walk - to touch herself - to gesture - all things that she will never do again. She slightly calms down when she <<if canSee($activeSlave)>>sees<<else>>feels<</if>> ports installed in her stumps and realizes her immobility may not be permanent. Even so, she is still @@.gold;terrified@@ of your total power over her body. @@.mediumorchid;She will struggle greatly with her medically created disability.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + Of course, $he could not walk out of the surgery; you carried $him. Despite her obedience, $he cries softly the whole time, shoulder and hip stumps moving occasionally as $he reflexively tries to stand - to walk - to touch $himself - to gesture - all things that $he will never do again. $He slightly calms down when $he <<if canSee($activeSlave)>>sees<<else>>feels<</if>> ports installed in her stumps and realizes her immobility may not be permanent. Even so, $he is still @@.gold;terrified@@ of your total power over $his body. @@.mediumorchid;$He will struggle greatly with $his medically created disability.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <<else>> - Of course, she could not walk out of the surgery; you carried her. You had a good idea what her reaction would be, so <<if ($activeSlave.teeth == "removable")>>you removed her teeth<<else>>she's muzzled<</if>> to prevent her from trying to bite. She sobs convulsively, and <<if canSee($activeSlave)>>seeing<<else>>noticing<</if>> ports installed in her stumps does little to stop her tears. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terrified to the point of insanity@@ of your total power over her body. + Of course, $he could not walk out of the surgery; you carried $him. You had a good idea what her reaction would be, so <<if ($activeSlave.teeth == "removable")>>you removed her teeth<<else>>$he's muzzled<</if>> to prevent $him from trying to bite. $He sobs convulsively, and <<if canSee($activeSlave)>>seeing<<else>>noticing<</if>> ports installed in her stumps does little to stop her tears. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terrified to the point of insanity@@ of your total power over $his body. <<set $activeSlave.trust -= 40>> <<set $activeSlave.devotion -= 40>> <</if>> <<case "prostheticInterface">> - When she is carried out of surgery she <<if canSee($activeSlave)>>cranes her neck to better see the ports<<else>>wiggles her stumps trying to feel the ports<</if>> installed in her stumps. Recovery will be @@.red;significant,@@ since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery. + When $he is carried out of surgery $he <<if canSee($activeSlave)>>cranes her neck to better see the ports<<else>>wiggles her stumps trying to feel the ports<</if>> installed in her stumps. Recovery will be @@.red;significant,@@ since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery. <<if $activeSlave.devotion > 20>> - Nevertheless, she's @@.hotpink;overwhelmed with gratitude,@@ and thanks you profusely the first chance she gets. She follows the acclimation program diligently, doing her best to learn how to be a good slave despite, or sometimes even because of, her disability. She @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. + Nevertheless, $he's @@.hotpink;overwhelmed with gratitude,@@ and thanks you profusely the first chance $he gets. $He follows the acclimation program diligently, doing her best to learn how to be a good slave despite, or sometimes even because of, her disability. $He @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<elseif $activeSlave.devotion >= -20>> - She's @@.hotpink;overwhelmed with gratitude,@@ in part because she didn't think you'd do something like this for her. She thanks you profusely the first chance she gets, and follows the acclimation program diligently, trying to deserve the expense you went to. She @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for her. + $He's @@.hotpink;overwhelmed with gratitude,@@ in part because $he didn't think you'd do something like this for $him. $He thanks you profusely the first chance $he gets, and follows the acclimation program diligently, trying to deserve the expense you went to. $He @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for $him. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<else>> - Despite her hatred of you, she can't help but @@.mediumaquamarine;trust you a bit more,@@ since you clearly have a plan that involves putting a good deal of value into her. Your goals might not be hers, but at least she has an indication that you're not toying with her. + Despite $his hatred of you, $he can't help but @@.mediumaquamarine;trust you a bit more,@@ since you clearly have a plan that involves putting a good deal of value into $him. Your goals might not be hers, but at least $he has an indication that you're not toying with $him. <<set $activeSlave.trust += 5>> <</if>> <<case "amp1">> <<set $nextLink = "Surgery Degradation", $surgeryType = "amp">> <<if $cyberMod == 0>> - During the procedure you may install a prosthetic interface so that she may use prosthetic limbs immediately afterwards.<br> - This will cost extra and put further strain on $activeSlave.slaveName's health, but choosing to do this now will be cheaper and be less damaging to her health than if you were to perform the procedures separately.<br> + During the procedure you may install a prosthetic interface so that $he may use prosthetic limbs immediately afterwards.<br> + This will cost extra and put further strain on $activeSlave.slaveName's health, but choosing to do this now will be cheaper and be less damaging to $his health than if you were to perform the procedures separately.<br> [[Install prosthetic interface|Surgery Degradation][$activeSlave.PLimb = 1, $activeSlave.health -= 10, $surgeryType = "ampInterface", $cash -= Math.trunc($surgeryCost/2)]]<br> [[Only perform amputation|Surgery Degradation][$surgeryType = "amp"]] <<else>> - Since you invested in cybernetic technology you can install PLimb interface into her body during the operation.<br> - Procedure will put additional strain on her health but less so than if you were to perform the procedures separately.<br> + Since you invested in cybernetic technology you can install PLimb interface into $his body during the operation.<br> + Procedure will put additional strain on $his health but less so than if you were to perform the procedures separately.<br> <<if $stockpile.basicPLimbInterface > 0>> [[Install basic interface|Surgery Degradation][$activeSlave.PLimb = 1, $activeSlave.health -= 10, $stockpile.basicPLimbInterface -= 1, $surgeryType = "amp2", $nextLink = "Remote Surgery"]] <br><</if>> @@ -1568,337 +1567,337 @@ As the remote surgery's long recovery cycle completes, <<case "amp2">> <<if ($activeSlave.devotion > 50)>> - Of course, she could not walk out of the surgery; you carried her. She knows what a slave's life is, but she did not really expect that it would ever come to this for her. Anesthesia has yet to completely wear off so it takes her a while to notice ports in her stumps. When she does, she visibly relaxes, realizing she may yet walk again. She squares her shoulders and visibly resolves to carry on being a good slave as best she can. Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + Of course, $he could not walk out of the surgery; you carried $him. $He knows what a slave's life is, but $he did not really expect that it would ever come to this for $him. Anesthesia has yet to completely wear off so it takes her a while to notice ports in her stumps. When $he does, $he visibly relaxes, realizing $he may yet walk again. $He squares her shoulders and visibly resolves to carry on being a good slave as best $he can. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<elseif ($activeSlave.devotion > 20)>> - Of course, she could not walk out of the surgery; you carried her. Despite her obedience, she cries softly the whole time, shoulder and hip stumps moving occasionally as she reflexively tries to stand - to walk - to touch herself - to gesture - all things that she will never do again. She slightly calms down when she <<if canSee($activeSlave)>>sees<<else>>feels<</if>> ports installed in her stumps and realizes her immobility is not permanent. Even so, she is still @@.gold;terrified@@ of your total power over her body. @@.mediumorchid;She will struggle greatly with her medically created disability.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ + Of course, $he could not walk out of the surgery; you carried $him. Despite her obedience, $he cries softly the whole time, shoulder and hip stumps moving occasionally as $he reflexively tries to stand - to walk - to touch $himself - to gesture - all things that $he will never do again. $He slightly calms down when $he <<if canSee($activeSlave)>>sees<<else>>feels<</if>> ports installed in her stumps and realizes her immobility is not permanent. Even so, $he is still @@.gold;terrified@@ of your total power over $his body. @@.mediumorchid;$He will struggle greatly with her medically created disability.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 10>> <<else>> - Of course, she could not walk out of the surgery; you carried her. You had a good idea what her reaction would be, so <<if ($activeSlave.teeth == "removable")>>you removed her teeth<<else>>she's muzzled<</if>> to prevent her from trying to bite. She sobs convulsively, and her <<if canSee($activeSlave)>>eyes dart desperately from side to side through her tears, hopelessly imploring the mirror to show her something other than this<<else>>stumps twitch pathetically with her desperate efforts to move her limbs, to prove there is something other than this<</if>>. Anything other than this. @@.mediumorchid;The surgical invasion has filled her with horror and anger.@@ Since the surgery was invasive, @@.red;her health has been greatly affected.@@ She is @@.gold;terrified to the point of insanity@@ of your total power over her body. + Of course, $he could not walk out of the surgery; you carried $him. You had a good idea what her reaction would be, so <<if ($activeSlave.teeth == "removable")>>you removed her teeth<<else>>$he's muzzled<</if>> to prevent $him from trying to bite. $He sobs convulsively, and $his <<if canSee($activeSlave)>>eyes dart desperately from side to side through her tears, hopelessly imploring the mirror to show her something other than this<<else>>stumps twitch pathetically with her desperate efforts to move her limbs, to prove there is something other than this<</if>>. Anything other than this. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;terrified to the point of insanity@@ of your total power over $his body. <<set $activeSlave.trust -= 50>> <<set $activeSlave.devotion -= 50>> <</if>> <<case "PLimb interface1">> - When she is carried out of surgery she <<if canSee($activeSlave)>>cranes her neck to better see the ports<<else>>wiggles her stumps trying to feel the ports<</if>> installed in her stumps. Recovery will be @@.red;significant,@@ since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery. + When $he is carried out of surgery $he <<if canSee($activeSlave)>>cranes her neck to better see the ports<<else>>wiggles her stumps trying to feel the ports<</if>> installed in her stumps. Recovery will be @@.red;significant,@@ since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery. <<if $activeSlave.devotion > 20>> - Nevertheless, she's @@.hotpink;overwhelmed with gratitude,@@ and thanks you profusely the first chance she gets. She follows the acclimation program diligently, doing her best to learn how to be a good slave despite, or sometimes even because of, her disability. She @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. + Nevertheless, $he's @@.hotpink;overwhelmed with gratitude,@@ and thanks you profusely the first chance $he gets. $He follows the acclimation program diligently, doing her best to learn how to be a good slave despite, or sometimes even because of, her disability. $He @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<elseif $activeSlave.devotion >= -20>> - She's @@.hotpink;overwhelmed with gratitude,@@ in part because she didn't think you'd do something like this for her. She thanks you profusely the first chance she gets, and follows the acclimation program diligently, trying to deserve the expense you went to. She @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for her. + $He's @@.hotpink;overwhelmed with gratitude,@@ in part because $he didn't think you'd do something like this for $him. $He thanks you profusely the first chance $he gets, and follows the acclimation program diligently, trying to deserve the expense you went to. $He @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for $him. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<else>> - Despite her hatred of you, she can't help but @@.mediumaquamarine;trust you a bit more,@@ since you clearly have a plan that involves putting a good deal of value into her. Your goals might not be hers, but at least she has an indication that you're not toying with her. + Despite $his hatred of you, $he can't help but @@.mediumaquamarine;trust you a bit more,@@ since you clearly have a plan that involves putting a good deal of value into $him. Your goals might not be hers, but at least $he has an indication that you're not toying with $him. <<set $activeSlave.trust += 5>> <</if>> <<case "PLimb interface2">> - When she is carried out of surgery she <<if canSee($activeSlave)>>cranes her neck to better see the ports<<else>>wiggles her stumps trying to feel the ports<</if>> installed in her stumps. Her stumps twitch slightly as the software begins configuring. Recovery will be @@.red;significant,@@ since the surgical implantation of anchor points for the limbs themselves and the installation of nerve bridges constituted major surgery. + When $he is carried out of surgery $he <<if canSee($activeSlave)>>cranes her neck to better see the ports<<else>>wiggles her stumps trying to feel the ports<</if>> installed in her stumps. $His stumps twitch slightly as the software begins configuring. Recovery will be @@.red;significant,@@ since the surgical implantation of anchor points for the limbs themselves and the installation of nerve bridges constituted major surgery. <<if $activeSlave.devotion > 20>> - Nevertheless, she's @@.hotpink;overwhelmed with gratitude,@@ and thanks you profusely the first chance she gets. She follows the acclimation program diligently, doing her best to learn how to be a good slave despite, or sometimes even because of, her disability. She @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. + Nevertheless, $he's @@.hotpink;overwhelmed with gratitude,@@ and thanks you profusely the first chance $he gets. $He follows the acclimation program diligently, doing her best to learn how to be a good slave despite, or sometimes even because of, her disability. $He @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<elseif $activeSlave.devotion >= -20>> - She's @@.hotpink;overwhelmed with gratitude,@@ in part because she didn't think you'd do something like this for her. She thanks you profusely the first chance she gets, and follows the acclimation program diligently, trying to deserve the expense you went to. She @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for her. + $He's @@.hotpink;overwhelmed with gratitude,@@ in part because $he didn't think you'd do something like this for $him. $He thanks you profusely the first chance $he gets, and follows the acclimation program diligently, trying to deserve the expense you went to. $He @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for $him. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<else>> - Despite her hatred of you, she can't help but @@.mediumaquamarine;trust you a bit more,@@ since you clearly have a plan that involves putting a good deal of value into her. Your goals might not be hers, but at least she has an indication that you're not toying with her. + Despite $his hatred of you, $he can't help but @@.mediumaquamarine;trust you a bit more,@@ since you clearly have a plan that involves putting a good deal of value into $him. Your goals might not be hers, but at least $he has an indication that you're not toying with $him. <<set $activeSlave.trust += 5>> <</if>> <<case "PLimb interface3">> - When she is carried out of surgery she <<if canSee($activeSlave)>>cranes her neck to better see the ports<<else>>wiggles her stumps trying to feel the ports<</if>> installed in her stumps. Her stumps twitch slightly as the software begins configuring. Since she already had anchors installed in previous surgery this procedure was less invasive and thus @@.red;her health has been only slightly affected@@. + When $he is carried out of surgery $he <<if canSee($activeSlave)>>cranes her neck to better see the ports<<else>>wiggles her stumps trying to feel the ports<</if>> installed in her stumps. $His stumps twitch slightly as the software begins configuring. Since $he already had anchors installed in previous surgery this procedure was less invasive and thus @@.red;$his health has been only slightly affected@@. <<if $activeSlave.devotion > 20>> - She is @@.hotpink;overjoyed@@ when she finds out this upgrade will allow her to //feel// with her limbs again and thanks you profusely the first chance she gets. She @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. + $He is @@.hotpink;overjoyed@@ when $he finds out this upgrade will allow $him to //feel// with her limbs again and thanks you profusely the first chance $he gets. $He @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<elseif $activeSlave.devotion >= -20>> - She's @@.hotpink;overwhelmed with joy and gratitude,@@ when she finds out this upgrade will allow her to //feel// with her limbs again, in part because she didn't think you'd do something like this for her. She thanks you profusely the first chance she gets and is determined to prove herself worthy of the expense you went to for her. She @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for her. + $He's @@.hotpink;overwhelmed with joy and gratitude,@@ when $he finds out this upgrade will allow $him to //feel// with her limbs again, in part because $he didn't think you'd do something like this for $him. $He thanks you profusely the first chance $he gets and is determined to prove $himself worthy of the expense you went to for $him. $He @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for $him. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<else>> - Despite her hatred of you, she can't help but feel some @@.mediumaquamarine;trust@@ and @@.hotpink;gratitude,@@ towards you, since you clearly have a plan that involves putting a good deal of value into her. Your goals might not be hers, but at least she has an indication that you're not toying with her. + Despite $his hatred of you, $he can't help but feel some @@.mediumaquamarine;trust@@ and @@.hotpink;gratitude,@@ towards you, since you clearly have a plan that involves putting a good deal of value into $him. Your goals might not be hers, but at least $he has an indication that you're not toying with $him. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <</if>> <<case "basicPLimbs">> - She exits the surgery hesitantly, the software of her prosthetic limbs and the wetware of her brain working together to figure out how to walk together under the tutelage of a prescribed tutorial. Recovery will be @@.red;significant,@@ since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery. + $He exits the surgery hesitantly, the software of her prosthetic limbs and the wetware of her brain working together to figure out how to walk together under the tutelage of a prescribed tutorial. Recovery will be @@.red;significant,@@ since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery. <<if $activeSlave.devotion > 20>> - Nevertheless, she's @@.hotpink;overwhelmed with gratitude,@@ and thanks you profusely the first chance she gets. She follows the acclimation program diligently, doing her best to learn how to be a good slave despite, or sometimes even because of, her artificial arms and legs. She @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. + Nevertheless, $he's @@.hotpink;overwhelmed with gratitude,@@ and thanks you profusely the first chance $he gets. $He follows the acclimation program diligently, doing her best to learn how to be a good slave despite, or sometimes even because of, her artificial arms and legs. $He @@.mediumaquamarine;places more trust in you,@@ too, since you obviously have her best interests at heart. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<elseif $activeSlave.devotion >= -20>> - She's @@.hotpink;overwhelmed with gratitude,@@ in part because she didn't think you'd do something like this for her. She thanks you profusely the first chance she gets, and follows the acclimation program diligently, trying to deserve the expense you went to. She @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for her. + $He's @@.hotpink;overwhelmed with gratitude,@@ in part because $he didn't think you'd do something like this for $him. $He thanks you profusely the first chance $he gets, and follows the acclimation program diligently, trying to deserve the expense you went to. $He @@.mediumaquamarine;places more trust in you,@@ too, since you seem to have a plan for $him. <<set $activeSlave.devotion += 5>> <<set $activeSlave.trust += 5>> <<else>> - Despite her hatred of you, she can't help but @@.mediumaquamarine;trust you a bit more,@@ since you clearly have a plan that involves putting a good deal of value into her. Your goals might not be hers, but at least she has an indication that you're not toying with her. + Despite $his hatred of you, $he can't help but @@.mediumaquamarine;trust you a bit more,@@ since you clearly have a plan that involves putting a good deal of value into $him. Your goals might not be hers, but at least $he has an indication that you're not toying with $him. <<set $activeSlave.trust += 5>> <</if>> <<case "sexPLimbs">> - Her Limb upgrades took place in the surgery, since its manipulators are well suited to delicate work on circuitry and ceramics as well as on flesh. She exits the surgery experimenting with her new arms and legs. + $His Limb upgrades took place in the surgery, since its manipulators are well suited to delicate work on circuitry and ceramics as well as on flesh. $He exits the surgery experimenting with her new arms and legs. <<if $activeSlave.devotion <= 20>> - She rapidly discovers that her fingertips are now vibrators, and then makes a mess when she figures out that her hands can dispense lube without figuring out how to make them stop dispensing lube. She's frustrated and @@.gold;frightened,@@ realizing that even her prosthetics are now customized to suit her purpose as a human sex toy. She knew she was a toy before, but somehow, being a literal vibrator is a bit much for her. + $He rapidly discovers that her fingertips are now vibrators, and then makes a mess when $he figures out that her hands can dispense lube without figuring out how to make them stop dispensing lube. $He's frustrated and @@.gold;frightened,@@ realizing that even her prosthetics are now customized to suit her purpose as a human sex toy. $He knew $he was a toy before, but somehow, being a literal vibrator is a bit much for $him. <<set $activeSlave.trust -= 5>> <<elseif $activeSlave.energy > 95>> - Since she's a nympho, she discovers her new sexual functions in a hurry. They trigger in part is based on arousal, and she's never not aroused, so they activate one by one as she leaves the surgery. The vibration, lube, and other dirty functions surprise her, and it takes her a moment to realize what's going on, but she begins to breathe hard when she understands. She runs off to try them out, and @@.hotpink;thanks you profusely,@@ if tiredly, the next time she sees you. + Since $he's a nympho, $he discovers her new sexual functions in a hurry. They trigger in part is based on arousal, and $he's never not aroused, so they activate one by one as $he leaves the surgery. The vibration, lube, and other dirty functions surprise $him, and it takes her a moment to realize what's going on, but $he begins to breathe hard when $he understands. $He runs off to try them out, and @@.hotpink;thanks you profusely,@@ if tiredly, the next time $he sees you. <<set $activeSlave.devotion += 5>> <<else>> - She discovers her sexy new functions one by one. The vibration, lube, and other dirty functions surprise her, and it takes her a moment to realize what's going on, but she begins to shake with amusement when she understands. She heads off to try them out, and @@.hotpink;thanks you politely@@ the next time she sees you. + $He discovers her sexy new functions one by one. The vibration, lube, and other dirty functions surprise $him, and it takes her a moment to realize what's going on, but $he begins to shake with amusement when $he understands. $He heads off to try them out, and @@.hotpink;thanks you politely@@ the next time $he sees you. <<set $activeSlave.devotion += 3>> <</if>> <<case "beautyPLimbs">> - Her Limb upgrades took place in the surgery, since its manipulators are well suited to delicate work on circuitry and ceramics as well as on flesh. She exits the surgery <<if canSee($activeSlave)>>marvelling at the beautiful, natural appearance of her new arms and legs<<else>>thanking you for her new arms and legs, unaware of how natural they look<</if>>. + $His Limb upgrades took place in the surgery, since its manipulators are well suited to delicate work on circuitry and ceramics as well as on flesh. $He exits the surgery <<if canSee($activeSlave)>>marvelling at the beautiful, natural appearance of $his new arms and legs<<else>>thanking you for her new arms and legs, unaware of how natural they look<</if>>. <<if $activeSlave.devotion <= 20>> - She's @@.mediumaquamarine;more willing to trust you@@ after this. If she doubts that you have some sort of long term plan for her, all she has to do is <<if canSee($activeSlave)>>look down and examine<<else>>feel<</if>> her elegant, natural prosthetics, which are often mistaken for the genuine article. Even she makes the mistake at times as she gets used to them. + $He's @@.mediumaquamarine;more willing to trust you@@ after this. If $he doubts that you have some sort of long term plan for $him, all $he has to do is <<if canSee($activeSlave)>>look down and examine<<else>>feel<</if>> her elegant, natural prosthetics, which are often mistaken for the genuine article. Even $he makes the mistake at times as $he gets used to them. <<set $activeSlave.trust += 5>> <<elseif $activeSlave.entertainSkill >= 100>> - Since she's a masterful entertainer, she knows multiple styles of dance, though her straightforward modern prosthetics never allowed her to be anything more than a mechanically competent dancer. She finds that she has far better balance now, in addition to looking more natural. Before long, she goes //en pointe// and holds the position, before collapsing in a heap. It soon becomes apparent that this wasn't due to clumsiness: she's sobbing so hard she can barely breathe. She @@.hotpink;thanks you profusely@@ the next time she sees you, eyes still puffy with tears of joy. + Since $he's a masterful entertainer, $he knows multiple styles of dance, though her straightforward modern prosthetics never allowed $him to be anything more than a mechanically competent dancer. $He finds that $he has far better balance now, in addition to looking more natural. Before long, $he goes //en pointe// and holds the position, before collapsing in a heap. It soon becomes apparent that this wasn't due to clumsiness: $he's sobbing so hard $he can barely breathe. $He @@.hotpink;thanks you profusely@@ the next time $he sees you, eyes still puffy with tears of joy. <<set $activeSlave.devotion += 5>> <<else>> - When she first <<if canSee($activeSlave)>>catches sight of herself in a mirror<<else>>runs a new finger over her natural feeling skin<</if>>, she begins to cry. Terribly complex emotions war across her face: gratitude, joy, regret, and something undefinable. Blinking, she uses newly elegant fingertips to trace the scarcely visible seams where her artificial and natural skin meet. She @@.hotpink;thanks you profusely@@ the next time she sees you, eyes still puffy with tears. + When $he first <<if canSee($activeSlave)>>catches sight of $himself in a mirror<<else>>runs a new finger over her natural feeling skin<</if>>, $he begins to cry. Terribly complex emotions war across her face: gratitude, joy, regret, and something undefinable. Blinking, $he uses newly elegant fingertips to trace the scarcely visible seams where her artificial and natural skin meet. $He @@.hotpink;thanks you profusely@@ the next time $he sees you, eyes still puffy with tears. <<set $activeSlave.devotion += 3>> <</if>> <<case "combatPLimbs">> - Her Limb upgrades took place in the surgery, since its manipulators are well suited to delicate work on circuitry and ceramics as well as on flesh. She exits the surgery wondering at the bulky <<if canSee($activeSlave)>>appearance<<else>>weight<</if>> of her reinforced arms and legs. + $His Limb upgrades took place in the surgery, since its manipulators are well suited to delicate work on circuitry and ceramics as well as on flesh. $He exits the surgery wondering at the bulky <<if canSee($activeSlave)>>appearance<<else>>weight<</if>> of her reinforced arms and legs. <<if $activeSlave.devotion <= 20>> - She's @@.gold;frightened,@@ once she discovers what she can do, and what she is. Her integral weapons are locked out by the arcology systems, for now, but she quickly realizes what they are. She is not, to say the least, thrilled by the revelation that she is now a living weapon, and is kept awake by thoughts of what you might be planning for her. + $He's @@.gold;frightened,@@ once $he discovers what $he can do, and what $he is. $His integral weapons are locked out by the arcology systems, for now, but $he quickly realizes what they are. $He is not, to say the least, thrilled by the revelation that $he is now a living weapon, and is kept awake by thoughts of what you might be planning for $him. <<set $activeSlave.trust -= 5>> <<elseif ($activeSlave.combatSkill == 1) && ($activeSlave.devotion > 75)>> - She leaves the surgery with a purpose, her footsteps a bit heavier than before. She heads down to the armory's range, still naked, and when she gets there, she places her dominant hand over her thigh on that side. It folds open, revealing a handgun, which she draws and empties into a <<if canSee($activeSlave)>>target<<else>>beeping target<</if>>; as she fires the last rounds, she uses her off hand to reach down to that thigh, which folds open and reveals spare magazines. She @@.hotpink;thanks you profusely@@ the next time she sees you. She knows that her prosthetics are a wash, at best, in terms of actual combat effectiveness; they'll never match the reliability and dexterity of the genuine article. But she thinks they are //cool.// + $He leaves the surgery with a purpose, her footsteps a bit heavier than before. $He heads down to the armory's range, still naked, and when $he gets there, $he places her dominant hand over her thigh on that side. It folds open, revealing a handgun, which $he draws and empties into a <<if canSee($activeSlave)>>target<<else>>beeping target<</if>>; as $he fires the last rounds, $he uses her off hand to reach down to that thigh, which folds open and reveals spare magazines. $He @@.hotpink;thanks you profusely@@ the next time $he sees you. $He knows that her prosthetics are a wash, at best, in terms of actual combat effectiveness; they'll never match the reliability and dexterity of the genuine article. But $he thinks they are //cool.// <<set $activeSlave.devotion += 5>> <<else>> - She has mixed feelings about what she soon discovers. She's a living weapon now, and has to live with the constant knowledge that she can incapacitate or kill with nothing more than what's contained within her arms and legs. She's @@.hotpink;touched,@@ though, by the tremendous trust this shows. She knows that the arcology would instantly lock out her weapons if she were to misbehave, but she's still affected. + $He has mixed feelings about what $he soon discovers. $He's a living weapon now, and has to live with the constant knowledge that $he can incapacitate or kill with nothing more than what's contained within her arms and legs. $He's @@.hotpink;touched,@@ though, by the tremendous trust this shows. $He knows that the arcology would instantly lock out her weapons if $he were to misbehave, but $he's still affected. <<set $activeSlave.devotion += 3>> <</if>> <<case "cyberPLimbs">> - Her Limb upgrades were performed in the surgery, since its manipulators are well suited to delicate work on their circuitry as well as on flesh. She exits the surgery marvelling <<if canSee($activeSlave)>>at the shiny artificial skin of her new arms and legs<<else>>at the feel of the artificial skin of her new arms and legs under her new fingers<</if>>. + $His Limb upgrades were performed in the surgery, since its manipulators are well suited to delicate work on their circuitry as well as on flesh. $He exits the surgery marvelling <<if canSee($activeSlave)>>at the shiny artificial skin of her new arms and legs<<else>>at the feel of the artificial skin of her new arms and legs under her new fingers<</if>>. <<if $activeSlave.devotion <= 20>> - She's @@.gold;frightened,@@ once she discovers what she can do, and what she is. Her cybernetic limbs are restricted by the arcology systems, for now, but she quickly realizes what they are. She is not, to say the least, thrilled by the revelation that she is now a living weapon, and is kept awake by thoughts of what you might be planning for her. + $He's @@.gold;frightened,@@ once $he discovers what $he can do, and what $he is. $His cybernetic limbs are restricted by the arcology systems, for now, but $he quickly realizes what they are. $He is not, to say the least, thrilled by the revelation that $he is now a living weapon, and is kept awake by thoughts of what you might be planning for $him. <<set $activeSlave.trust -= 5>> <<elseif ($activeSlave.combatSkill == 1) && ($activeSlave.devotion > 75)>> - She leaves the surgery with a purpose, her footsteps a bit heavier than before. She heads down to the armory's range, still naked, and when she gets there, she places her dominant hand over her thigh on that side. It folds open, revealing a handgun, which she draws and empties into a <<if canSee($activeSlave)>>target<<else>>beeping target<</if>>; as she fires the last rounds, she uses her off hand to reach down to that thigh, which folds open and reveals spare magazines. She @@.hotpink;thanks you profusely@@ the next time she sees you. She knows that her prosthetics will enhance her combat effectiveness and she thinks they are //cool.// + $He leaves the surgery with a purpose, her footsteps a bit heavier than before. $He heads down to the armory's range, still naked, and when $he gets there, $he places her dominant hand over her thigh on that side. It folds open, revealing a handgun, which $he draws and empties into a <<if canSee($activeSlave)>>target<<else>>beeping target<</if>>; as $he fires the last rounds, $he uses her off hand to reach down to that thigh, which folds open and reveals spare magazines. $He @@.hotpink;thanks you profusely@@ the next time $he sees you. $He knows that her prosthetics will enhance her combat effectiveness and $he thinks they are //cool.// <<set $activeSlave.devotion += 5>> <<else>> - She has mixed feelings about what she soon discovers. She's a living weapon now, and has to live with the constant knowledge that she can incapacitate or kill with nothing more than her arms and legs themselves. She's @@.hotpink;touched,@@ though, by the tremendous trust this shows. She knows that the arcology would instantly lock out her limbs if she were to misbehave, but she's still affected. + $He has mixed feelings about what $he soon discovers. $He's a living weapon now, and has to live with the constant knowledge that $he can incapacitate or kill with nothing more than her arms and legs themselves. $He's @@.hotpink;touched,@@ though, by the tremendous trust this shows. $He knows that the arcology would instantly lock out her limbs if $he were to misbehave, but $he's still affected. <<set $activeSlave.devotion += 3>> <</if>> <<case "removeLimbs">> <<if ($activeSlave.devotion > 50)>> - Of course, she could not walk out of the surgery; you carried her. She knows what a slave's life is, but she did not really expect her artificial limbs would be removed again so suddenly. After a long, silent <<if canSee($activeSlave)>>stare at<<else>>consideration of<</if>> her limbless torso, she squares her shoulders and visibly resolves to carry on being a good slave as best she can. As she was already amputated, there was no lasting effect. As with all surgery @@.red;her health has been slightly affected.@@ + Of course, $he could not walk out of the surgery; you carried $him. $He knows what a slave's life is, but $he did not really expect her artificial limbs would be removed again so suddenly. After a long, silent <<if canSee($activeSlave)>>stare at<<else>>consideration of<</if>> her limbless torso, $he squares her shoulders and visibly resolves to carry on being a good slave as best $he can. As $he was already amputated, there was no lasting effect. As with all surgery @@.red;$his health has been slightly affected.@@ <<elseif ($activeSlave.devotion > 20)>> - Of course, she could not walk out of the surgery; you carried her. Despite her obedience, she cries softly the whole time, shoulder and hip stumps moving occasionally as she reflexively tries to stand - to walk - to touch herself - to gesture - all things that she had to learn to do again. Your removal of her prosthetic limbs has caused @@.mediumorchid;her devotion to drop@@ and @@.gold;her trust to drop.@@ As with all surgery @@.red;her health has been slightly affected.@@ + Of course, $he could not walk out of the surgery; you carried $him. Despite her obedience, $he cries softly the whole time, shoulder and hip stumps moving occasionally as $he reflexively tries to stand - to walk - to touch $himself - to gesture - all things that $he had to learn to do again. Your removal of her prosthetic limbs has caused @@.mediumorchid;her devotion to drop@@ and @@.gold;her trust to drop.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <<else>> - Of course, she could not walk out of the surgery; you carried her. It seems that her mistrust of you was well founded and this removal of her artificial limbs has caused @@.mediumorchid;her devotion to drop@@ and @@.gold;her trust to drop.@@ As with all surgery @@.red;her health has been slightly affected.@@ + Of course, $he could not walk out of the surgery; you carried $him. It seems that her mistrust of you was well founded and this removal of her artificial limbs has caused @@.mediumorchid;her devotion to drop@@ and @@.gold;her trust to drop.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "ster">> <<if ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she'll never have a child. She is @@.mediumorchid;filled with grief@@ whenever she thinks about the fact that feeling a life growing within her is now, finally and forever, beyond her. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he'll never have a child. $He is @@.mediumorchid;filled with grief@@ whenever $he thinks about the fact that feeling a life growing within her is now, finally and forever, beyond $him. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 20>> <<elseif ($activeSlave.energy > 95)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she'll never have to worry about a pussyfuck getting her pregnant again. As far as she's concerned, easier, less worrisome vaginal intercourse is a @@.hotpink;good thing;@@ one less thing to keep in mind when a guy blows his load inside her. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he'll never have to worry about a pussyfuck getting her pregnant again. As far as $he's concerned, easier, less worrisome vaginal intercourse is a @@.hotpink;good thing;@@ one less thing to keep in mind when a guy blows his load inside $him. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she'll never have to worry about a pregnancy, ever again. She has many rules and duties to worry about as a slave, so she's @@.hotpink;grateful@@ that she has one less thing to worry about as she serves you. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he'll never have to worry about a pregnancy, ever again. $He has many rules and duties to worry about as a slave, so $he's @@.hotpink;grateful@@ that $he has one less thing to worry about as $he serves you. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she'll never get pregnant. She understands the realities of her life as a slave, and that a traditional life with a child was never going to happen for her anyway, so it isn't much of a shock. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he'll never get pregnant. $He understands the realities of her life as a slave, and that a traditional life with a child was never going to happen for her anyway, so it isn't much of a shock. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she'll never get pregnant. She does not understand the realities of her life as a slave at a core level, so despite the fact that she was never going to have a family, fertile or not, she's @@.mediumorchid;resentful@@ of the surgical invasion. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he'll never get pregnant. $He does not understand the realities of her life as a slave at a core level, so despite the fact that $he was never going to have a family, fertile or not, $he's @@.mediumorchid;resentful@@ of the surgical invasion. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "fert">> - <<if (($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)) || $activeSlave.origin == "She sold herself to you in the hope of someday bearing children.">> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she now has a chance to get pregnant. She is @@.hotpink;filled with joy@@ whenever she thinks about the fact that feeling a life growing within her is now, at last, a possibility. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + <<if (($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)) || $activeSlave.origin == "$He sold $himself to you in the hope of someday bearing children.">> + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he now has a chance to get pregnant. $He is @@.hotpink;filled with joy@@ whenever $he thinks about the fact that feeling a life growing within her is now, at last, a possibility. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 5>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she now has a chance to get pregnant. She's @@.hotpink;grateful@@ that you think her worthy of breeding, and even a little nervous about how she'll perform as a breeder. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he now has a chance to get pregnant. $He's @@.hotpink;grateful@@ that you think her worthy of breeding, and even a little nervous about how $he'll perform as a breeder. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she may now be impregnated. She understands the realities of her life as a slave, and that being bred was a possibility, so it isn't much of a shock. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he may now be impregnated. $He understands the realities of her life as a slave, and that being bred was a possibility, so it isn't much of a shock. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to know that it means she may now be impregnated. She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ at the potential that she'll be bred. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to know that it means $he may now be impregnated. $He does not understand the realities of her life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ at the potential that $he'll be bred. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "addOvaries">> - <<if (($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)) || $activeSlave.origin == "She sold herself to you in the hope of someday bearing children.">> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she has managed to catch enough slave rumors about what the fabricator can do to know that it means she now has a chance to get pregnant. She is filled with joy whenever she thinks about the fact that feeling a life growing within her is now, at last, a possibility. She now places @@.mediumaquamarine;total faith@@ in your plans for her body and @@.hotpink;adores you@@ for giving her a gift she once thought impossible. As with all surgery @@.red;her health has been slightly affected.@@ + <<if (($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)) || $activeSlave.origin == "$He sold $himself to you in the hope of someday bearing children.">> + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he has managed to catch enough slave rumors about what the fabricator can do to know that it means $he now has a chance to get pregnant. $He is filled with joy whenever $he thinks about the fact that feeling a life growing within her is now, at last, a possibility. $He now places @@.mediumaquamarine;total faith@@ in your plans for $his body and @@.hotpink;adores you@@ for giving her a gift $he once thought impossible. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 10>> <<set $activeSlave.devotion += 10>> <<set $activeSlave.devotion += 20>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she has managed to catch enough slave rumors about what the fabricator can do to know that it means she is now internally indistinguishable from a natural, unaltered woman. She is @@.mediumaquamarine;tremendously impressed@@ that you would devote such immense resources to altering her body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he has managed to catch enough slave rumors about what the fabricator can do to know that it means $he is now internally indistinguishable from a natural, unaltered woman. $He is @@.mediumaquamarine;tremendously impressed@@ that you would devote such immense resources to altering $his body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 5>> <<set $activeSlave.devotion += 5>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she has managed to catch enough slave rumors about what the fabricator can do to know that it means she is now internally indistinguishable from a natural, unaltered woman. She is @@.gold;terrified@@ of your apparently untrammelled power over her body, so much so that she is now more willing to @@.hotpink;submit to your plans@@ for her future. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he has managed to catch enough slave rumors about what the fabricator can do to know that it means $he is now internally indistinguishable from a natural, unaltered woman. $He is @@.gold;terrified@@ of your apparently untrammelled power over $his body, so much so that $he is now more willing to @@.hotpink;submit to your plans@@ for her future. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion += 5>> <<else>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she has managed to catch enough slave rumors about what the fabricator can do to know that it means she is now internally indistinguishable from a natural, unaltered woman. She is @@.gold;terrified@@ of your apparently untrammelled power over her body, and @@.mediumorchid;furious@@ at her lack of control over her own person. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he has managed to catch enough slave rumors about what the fabricator can do to know that it means $he is now internally indistinguishable from a natural, unaltered woman. $He is @@.gold;terrified@@ of your apparently untrammelled power over $his body, and @@.mediumorchid;furious@@ at her lack of control over her own person. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "addTesticles">> <<if ($activeSlave.devotion > 50)>> - She lies back in the surgical chair<<if canSee($activeSlave)>>, gazing at herself in the ceiling mirror<</if>> as the fog of anaesthetics lifts and feeling returns to her lower half. As a devoted slave, she knew the essentials of the surgery before it was performed, so she's excited to <<if canSee($activeSlave)>>see<<else>>feel<</if>> the results. She is @@.mediumaquamarine;tremendously impressed@@ that you would devote such immense resources to altering her body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. + $He lies back in the surgical chair<<if canSee($activeSlave)>>, gazing at $himself in the ceiling mirror<</if>> as the fog of anaesthetics lifts and feeling returns to her lower half. As a devoted slave, $he knew the essentials of the surgery before it was performed, so $he's excited to <<if canSee($activeSlave)>>see<<else>>feel<</if>> the results. $He is @@.mediumaquamarine;tremendously impressed@@ that you would devote such immense resources to altering $his body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. <<set $activeSlave.trust += 5, $activeSlave.devotion += 5>> <<elseif ($activeSlave.devotion >= -20)>> - It's not immediately apparent to her what kind of surgery she received, since all she's left with is a nonspecific ache in her abdomen. As with all surgery @@.red;her health has been slightly affected.@@ + It's not immediately apparent to her what kind of surgery $he received, since all $he's left with is a nonspecific ache in her abdomen. As with all surgery @@.red;$his health has been slightly affected.@@ <<else>> - It's not immediately apparent to her what kind of surgery she received, since all she's left with is a nonspecific ache in her abdomen. As with all surgery @@.red;her health has been slightly affected.@@ She doesn't have to know exactly what you did, though, to be @@.gold;mortified@@ and @@.mediumorchid;infuriated@@ by your messing around inside her body. She hasn't yet learned to accept that you control her completely, down to the arrangement and even presence of her internal organs. + It's not immediately apparent to her what kind of surgery $he received, since all $he's left with is a nonspecific ache in her abdomen. As with all surgery @@.red;$his health has been slightly affected.@@ $He doesn't have to know exactly what you did, though, to be @@.gold;mortified@@ and @@.mediumorchid;infuriated@@ by your messing around inside $his body. $He hasn't yet learned to accept that you control her completely, down to the arrangement and even presence of her internal organs. <<set $activeSlave.trust -= 10, $activeSlave.devotion -= 10>> <</if>> <<case "addProstate">> - It's not immediately apparent to her what kind of surgery she received, since all she's left with is a terrible nonspecific ache in her lower parts. As with all surgery @@.red;her health has been slightly affected.@@ + It's not immediately apparent to her what kind of surgery $he received, since all $he's left with is a terrible nonspecific ache in her lower parts. As with all surgery @@.red;$his health has been slightly affected.@@ <<if ($activeSlave.devotion > 50)>> <<if $activeSlave.anus == 0>> - Since she's still an anal virgin, she's denied the most obvious way of discovering what's been added to her. The revelation is deferred until the next time she orgasms: + Since $he's still an anal virgin, $he's denied the most obvious way of discovering what's been added to $him. The revelation is deferred until the next time $he orgasms: <<elseif canDoAnal($activeSlave) || canDoVaginal($activeSlave)>> - The next time she's penetrated, though, it's obvious: + The next time $he's penetrated, though, it's obvious: <<elseif canPenetrate($activeSlave)>> - The next time she uses her cock, though, it's obvious: + The next time $he uses $his cock, though, it's obvious: <<else>> - The next time she climaxes, though, it's obvious: + The next time $he climaxes, though, it's obvious: <</if>> - she's shocked by the astounding volume of her<<if $activeSlave.dick == 0>> squirting female<</if>> ejaculation, since her new organ is of course hooked into her urethra and does its duty whenever she climaxes<<if $activeSlave.balls == 0>> despite her lack of testicles to add actual semen to her copious emissions<</if>>. + $he's shocked by the astounding volume of her<<if $activeSlave.dick == 0>> squirting female<</if>> ejaculation, since her new organ is of course hooked into her urethra and does its duty whenever $he climaxes<<if $activeSlave.balls == 0>> despite her lack of testicles to add actual semen to her copious emissions<</if>>. <<if ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "buttslut")>> - She was already an anal slut, but she can now experience anal pleasure along an entirely new dimension. She's @@.hotpink;extremely grateful,@@ and @@.lightsalmon;a more eager buttslut than ever.@@ + $He was already an anal slut, but $he can now experience anal pleasure along an entirely new dimension. $He's @@.hotpink;extremely grateful,@@ and @@.lightsalmon;a more eager buttslut than ever.@@ <<set $activeSlave.devotion += 5, $activeSlave.fetishStrength = Math.clamp($activeSlave.fetishStrength+20,0,100)>> <<else>> - As a sex slave, she has of course heard of the pleasure of prostate stimulation,<<if $activeSlave.genes == "XY">> not to mention having once had one herself,<</if>> and she's @@.hotpink;duly grateful@@ that you've altered her in a way that will make sexual duties more enjoyable. + As a sex slave, $he has of course heard of the pleasure of prostate stimulation,<<if $activeSlave.genes == "XY">> not to mention having once had one $himself,<</if>> and $he's @@.hotpink;duly grateful@@ that you've altered her in a way that will make sexual duties more enjoyable. <</if>> <<set $activeSlave.devotion += 5>> <<elseif ($activeSlave.devotion > 20)>> - The next time she orgasms, she's shocked by the astounding volume of her<<if $activeSlave.dick == 0>> squirting female<</if>> ejaculation, since her new organ is of course hooked into her urethra and does its duty whenever she climaxes<<if $activeSlave.balls == 0>> despite her lack of testicles to add actual semen to her copious emissions<</if>>. Her main reaction is confusion; this alteration is pretty far outside any of the more conventional surgeries slaves might expect to receive, and her mixed feeling tend to cancel each other out. + The next time $he orgasms, $he's shocked by the astounding volume of her<<if $activeSlave.dick == 0>> squirting female<</if>> ejaculation, since her new organ is of course hooked into her urethra and does its duty whenever $he climaxes<<if $activeSlave.balls == 0>> despite her lack of testicles to add actual semen to her copious emissions<</if>>. $His main reaction is confusion; this alteration is pretty far outside any of the more conventional surgeries slaves might expect to receive, and her mixed feeling tend to cancel each other out. <<else>> - She doesn't have to know exactly what you did, though, to be @@.gold;mortified@@ and @@.mediumorchid;infuriated@@ by your messing around inside her body. She hasn't yet learned to accept that you control her completely, down to the arrangement and even presence of her internal organs. + $He doesn't have to know exactly what you did, though, to be @@.gold;mortified@@ and @@.mediumorchid;infuriated@@ by your messing around inside $his body. $He hasn't yet learned to accept that you control her completely, down to the arrangement and even presence of her internal organs. <<set $activeSlave.trust -= 10, $activeSlave.devotion -= 10>> <</if>> <<case "addDick">> <<if ($activeSlave.devotion > 50)>> - The surgery is invasive, and she spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of her body and her thoughts coalesce against the dissipating fog of surgical pharmacology, she strains to focus on her groin<<if canSee($activeSlave)>>, visible in a ceiling mirror above her<</if>>. As a devoted slave, she knew the essentials of the surgery before it was performed, so she's excited to <<if canSee($activeSlave)>>see<<else>>feel<</if>> the result. Her eyes open wide as she takes in the new member between her legs. Suddenly, it twitches for the first time. The mixed pain of the terribly sore area and pleasure of new sensations floods her, and she jerks against the surgical restraints, gasping for breath. She is @@.mediumaquamarine;tremendously impressed@@ that you would devote such immense resources to altering her body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. @@.red;Her health has been severely affected@@ by the intrusive surgery. + The surgery is invasive, and $he spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of $his body and her thoughts coalesce against the dissipating fog of surgical pharmacology, $he strains to focus on $his groin<<if canSee($activeSlave)>>, visible in a ceiling mirror above her<</if>>. As a devoted slave, $he knew the essentials of the surgery before it was performed, so $he's excited to <<if canSee($activeSlave)>>see<<else>>feel<</if>> the result. $His eyes open wide as $he takes in the new member between her legs. Suddenly, it twitches for the first time. The mixed pain of the terribly sore area and pleasure of new sensations floods $him, and $he jerks against the surgical restraints, gasping for breath. $He is @@.mediumaquamarine;tremendously impressed@@ that you would devote such immense resources to altering $his body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. @@.red;$His health has been severely affected@@ by the intrusive surgery. <<set $activeSlave.trust += 5>> <<set $activeSlave.devotion += 5>> <<elseif ($activeSlave.devotion >= -20)>> - The surgery is invasive, and she spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of her body and her thoughts coalesce against the dissipating fog of surgical pharmacology, she focuses on her groin<<if canSee($activeSlave)>>, visible in a ceiling mirror above her<</if>>. She slowly becomes aware of the soft new member resting between her legs. She has a penis. The thought process is visible on her face as the fact sinks in. She has a penis! Unsure what to make of this unbelievable development, she <<if canSee($activeSlave)>>turns her gaze away from the mirror and<</if>> shuts her eyes tightly. She is @@.gold;terrified@@ of your apparently untrammelled power over her body, so much so that she is now more willing to @@.hotpink;submit to your plans@@ for her future. @@.red;Her health has been severely affected@@ by the intrusive surgery. + The surgery is invasive, and $he spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of $his body and her thoughts coalesce against the dissipating fog of surgical pharmacology, $he focuses on $his groin<<if canSee($activeSlave)>>, visible in a ceiling mirror above her<</if>>. $He slowly becomes aware of the soft new member resting between her legs. $He has a penis. The thought process is visible on her face as the fact sinks in. $He has a penis! Unsure what to make of this unbelievable development, $he <<if canSee($activeSlave)>>turns her gaze away from the mirror and<</if>> shuts $his eyes tightly. $He is @@.gold;terrified@@ of your apparently untrammelled power over $his body, so much so that $he is now more willing to @@.hotpink;submit to your plans@@ for her future. @@.red;$His health has been severely affected@@ by the intrusive surgery. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion += 5>> <<else>> - The surgery is invasive, and she spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of her body and her thoughts coalesce against the dissipating fog of surgical pharmacology, she focuses on her groin<<if canSee($activeSlave)>>, visible in a ceiling mirror above her<</if>>. She slowly becomes aware of the soft new member resting between her legs. She has a penis. The thought process is visible on her face as the fact sinks in. She has a penis! <<if $activeSlave.voice == 0>>She tries to scream, but as a mute all she can manage is pathetic, silent thrashing against the surgical restraints.<<else>>A huge scream rises out of her, going on and on, until she pauses to gasp for breath so she can go on screaming.<</if>> She is @@.gold;terrified@@ of your apparently untrammelled power over her body, and @@.mediumorchid;furious@@ at her lack of control over her own person. @@.red;Her health has been severely affected@@ by the intrusive surgery. + The surgery is invasive, and $he spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of $his body and her thoughts coalesce against the dissipating fog of surgical pharmacology, $he focuses on $his groin<<if canSee($activeSlave)>>, visible in a ceiling mirror above her<</if>>. $He slowly becomes aware of the soft new member resting between her legs. $He has a penis. The thought process is visible on her face as the fact sinks in. $He has a penis! <<if $activeSlave.voice == 0>>$He tries to scream, but as a mute all $he can manage is pathetic, silent thrashing against the surgical restraints.<<else>>A huge scream rises out of $him, going on and on, until $he pauses to gasp for breath so $he can go on screaming.<</if>> $He is @@.gold;terrified@@ of your apparently untrammelled power over $his body, and @@.mediumorchid;furious@@ at her lack of control over her own person. @@.red;$His health has been severely affected@@ by the intrusive surgery. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "addBalls">> <<if ($activeSlave.devotion > 50)>> - She lies back in the surgical chair<<if canSee($activeSlave)>>, gazing at herself in the ceiling mirror<</if>> as the fog of anaesthetics lifts and feeling returns to her lower half. As a devoted slave, she knew the essentials of the surgery before it was performed, so she's excited to <<if canSee($activeSlave)>>see<<else>>feel<</if>> the result. Her new testicles are small, and her scrotum is scarcely visible under her dick, but its impact becomes immediately clear. She slowly achieves an excruciatingly painful erection, panting with the pain as her very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of her cockhead. As the agony melts away, she begins to giggle. She is @@.mediumaquamarine;tremendously impressed@@ that you would devote such immense resources to altering her body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. As with all surgery @@.red;her health has been slightly affected.@@ + $He lies back in the surgical chair<<if canSee($activeSlave)>>, gazing at $himself in the ceiling mirror<</if>> as the fog of anaesthetics lifts and feeling returns to her lower half. As a devoted slave, $he knew the essentials of the surgery before it was performed, so $he's excited to <<if canSee($activeSlave)>>see<<else>>feel<</if>> the result. $His new testicles are small, and her scrotum is scarcely visible under $his dick, but its impact becomes immediately clear. $He slowly achieves an excruciatingly painful erection, panting with the pain as her very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of her cockhead. As the agony melts away, $he begins to giggle. $He is @@.mediumaquamarine;tremendously impressed@@ that you would devote such immense resources to altering $his body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 5>> <<set $activeSlave.devotion += 5>> <<elseif ($activeSlave.devotion >= -20)>> - She lies back in the surgical chair<<if canSee($activeSlave)>>, gazing at herself in the ceiling mirror<</if>> as the fog of anaesthetics lifts and feeling returns to her lower half. She cannot quite feel what has happened to her yet, but she does not have long to wait. Her new testicles are small, and her scrotum is scarcely visible under her dick, but its impact becomes immediately clear. She slowly achieves an excruciatingly painful erection, panting with the pain as her very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of her cockhead. As the agony melts away, the rush of new hormones clashes with her already roiling emotions, and she begins to sob. She is @@.gold;terrified@@ of your apparently untrammelled power over her body, so much so that she is now more willing to @@.hotpink;submit to your plans@@ for her future. As with all surgery @@.red;her health has been slightly affected.@@ + $He lies back in the surgical chair<<if canSee($activeSlave)>>, gazing at $himself in the ceiling mirror<</if>> as the fog of anaesthetics lifts and feeling returns to her lower half. $He cannot quite feel what has happened to her yet, but $he does not have long to wait. $His new testicles are small, and her scrotum is scarcely visible under $his dick, but its impact becomes immediately clear. $He slowly achieves an excruciatingly painful erection, panting with the pain as her very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of her cockhead. As the agony melts away, the rush of new hormones clashes with her already roiling emotions, and $he begins to sob. $He is @@.gold;terrified@@ of your apparently untrammelled power over $his body, so much so that $he is now more willing to @@.hotpink;submit to your plans@@ for her future. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion += 5>> <<else>> - The autosurgery allows her to recover for a while. Once it's safe, though, it's time to test the function of her new organs by seeing if they permit her to achieve erection. The surgery slowly inserts a dildo into her anus; the slave is so fuzzy from the surgery and accompanying drugs that it takes a while for the machine assfuck to register. Gradually, though, her new dick becomes hard. Horrified, she cannot take her <<if canSee($activeSlave)>>eyes off her own reflection in the ceiling mirror<<else>>mind off her soft cock<</if>> as it bobs and waves with the sodomy. A delayed reaction sets in as the soreness of surgical recovery competes with the stimulation: <<if $activeSlave.voice == 0>>she tries to scream, but only manages to gasp repeatedly<<else>>she howls with pain and terror<</if>> as the dildo forces a weak prostate orgasm. She is @@.gold;terrified@@ of your apparently untrammelled power over her body, and @@.mediumorchid;furious@@ at her lack of control over her own person. As with all surgery @@.red;her health has been slightly affected.@@ + The autosurgery allows $him to recover for a while. Once it's safe, though, it's time to test the function of her new organs by seeing if they permit $him to achieve erection. The surgery slowly inserts a dildo into her anus; the slave is so fuzzy from the surgery and accompanying drugs that it takes a while for the machine assfuck to register. Gradually, though, her new dick becomes hard. Horrified, $he cannot take her <<if canSee($activeSlave)>>eyes off her own reflection in the ceiling mirror<<else>>mind off her soft cock<</if>> as it bobs and waves with the sodomy. A delayed reaction sets in as the soreness of surgical recovery competes with the stimulation: <<if $activeSlave.voice == 0>>$he tries to scream, but only manages to gasp repeatedly<<else>>$he howls with pain and terror<</if>> as the dildo forces a weak prostate orgasm. $He is @@.gold;terrified@@ of your apparently untrammelled power over $his body, and @@.mediumorchid;furious@@ at her lack of control over her own person. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "addScrotum">> - She leaves the surgery gingerly, knowing she's had surgery on her junk. Taking the first opportunity to <<if canSee($activeSlave)>>look at her crotch in a mirror<<else>>feel her crotch<</if>>, she's + $He leaves the surgery gingerly, knowing $he's had surgery on her junk. Taking the first opportunity to <<if canSee($activeSlave)>>look at her crotch in a mirror<<else>>feel her crotch<</if>>, $he's <<if $activeSlave.devotion > 50>> - overjoyed to find that she has a ballsack. She very obviously starts to think about how it will affect her various functions as a sex slave. First, she flexes her kegel muscles, <<if canSee($activeSlave)>>watching raptly as<<else>>giggling as she feels<</if>> her testicles move within the new pouch of soft skin beneath her cock. Then she starts to bounce and hump a little, this way and that, experimenting with how they move as she performs fucking motions. She's @@.mediumaquamarine;looking forward@@ to having fun with this latest alteration of her body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. + overjoyed to find that $he has a ballsack. $He very obviously starts to think about how it will affect her various functions as a sex slave. First, $he flexes her kegel muscles, <<if canSee($activeSlave)>>watching raptly as<<else>>giggling as $he feels<</if>> her testicles move within the new pouch of soft skin beneath $his cock. Then $he starts to bounce and hump a little, this way and that, experimenting with how they move as $he performs fucking motions. $He's @@.mediumaquamarine;looking forward@@ to having fun with this latest alteration of $his body, and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. <<set $activeSlave.trust += 5>> <<set $activeSlave.devotion += 5>> <<elseif $activeSlave.devotion >= -20>> - shocked to find that she has a ballsack. She flexes her kegel muscles, mostly for lack of anything better to try, <<if canSee($activeSlave)>>watching raptly as<<else>>thinking deeply as<</if>> her testicles move within the new pouch of soft skin beneath her cock. <<if canSee($activeSlave)>>Staring at the sight<<else>>Transfixed on the motion<</if>> with obviously mixed feelings, she struggles for a while before bursting into girlish tears from the sheer ambivalence. She's @@.gold;frightened of your ability to modify her,@@ and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. + shocked to find that $he has a ballsack. $He flexes her kegel muscles, mostly for lack of anything better to try, <<if canSee($activeSlave)>>watching raptly as<<else>>thinking deeply as<</if>> her testicles move within the new pouch of soft skin beneath $his cock. <<if canSee($activeSlave)>>Staring at the sight<<else>>Transfixed on the motion<</if>> with obviously mixed feelings, $he struggles for a while before bursting into girlish tears from the sheer ambivalence. $He's @@.gold;frightened of your ability to modify $him,@@ and is more willing than ever to @@.hotpink;submit to your plans@@ for her future. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion += 5>> <<else>> - shocked and appalled to find that she has a ballsack. She <<if canSee($activeSlave)>>stares at her newly visible<<else>>feels her new<</if>> balls in horror; it's obvious she thought they were out of sight, and out of mind. She checks herself over carefully, and then bursts into tears, seemingly feeling that even if she has a ballsack, her cock is still a slave's bitchclit, and her asshole is still a slut's asspussy. She's @@.gold;frightened of your ability to modify her,@@ and @@.mediumorchid;resentful@@ of how you use it. + shocked and appalled to find that $he has a ballsack. $He <<if canSee($activeSlave)>>stares at her newly visible<<else>>feels her new<</if>> balls in horror; it's obvious $he thought they were out of sight, and out of mind. $He checks $himself over carefully, and then bursts into tears, seemingly feeling that even if $he has a ballsack, $his cock is still a slave's bitchclit, and her asshole is still a slut's asspussy. $He's @@.gold;frightened of your ability to modify $him,@@ and @@.mediumorchid;resentful@@ of how you use it. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> - As with all surgery @@.red;her health has been slightly affected.@@ + As with all surgery @@.red;$his health has been slightly affected.@@ <<case "addForeskin">> <<if $activeSlave.dick > 0>> - She leaves the surgery gingerly, knowing she's had surgery on her dick. Taking the first opportunity to check out her member<<if canSee($activeSlave)>> in a mirror<</if>>, she's + $He leaves the surgery gingerly, knowing $he's had surgery on $his dick. Taking the first opportunity to check out her member<<if canSee($activeSlave)>> in a mirror<</if>>, $he's <<if $activeSlave.devotion > 50>> - titillated to find that she has a foreskin. She examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. She's very sore, obviously, but the sudden sensation is almost too much for her. Her resolution to investigate her remodeled dick, but later, is almost visible. It's obvious that she can hardly wait, @@.mediumaquamarine;anticipating@@ all the new sensations that this new and very sensitive patch of skin can offer her. She's @@.hotpink;grateful@@ to you for improving her dick. + titillated to find that $he has a foreskin. $He examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. $He's very sore, obviously, but the sudden sensation is almost too much for $him. $His resolution to investigate her remodeled dick, but later, is almost visible. It's obvious that $he can hardly wait, @@.mediumaquamarine;anticipating@@ all the new sensations that this new and very sensitive patch of skin can offer $him. $He's @@.hotpink;grateful@@ to you for improving $his dick. <<set $activeSlave.trust += 5>> <<set $activeSlave.devotion += 5>> <<elseif $activeSlave.devotion >= -20>> - quite surprised, and a little relieved, to find that she has a foreskin. She examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. She's very sore, obviously, but the sudden sensation is almost too much for her. She seems to have been worried that something more dramatic than a reversal of circumcision had been done to her, but her chief reaction is @@.hotpink;mystified submission@@ to you afterward. Your total power over her body has been made clear to her in a way that provokes confusion, not fear. + quite surprised, and a little relieved, to find that $he has a foreskin. $He examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. $He's very sore, obviously, but the sudden sensation is almost too much for $him. $He seems to have been worried that something more dramatic than a reversal of circumcision had been done to $him, but her chief reaction is @@.hotpink;mystified submission@@ to you afterward. Your total power over $his body has been made clear to her in a way that provokes confusion, not fear. <<set $activeSlave.devotion += 5>> <<else>> - shocked to find that she has a foreskin. She's not exactly resentful of you for doing this, since whatever her feelings about circumcision might be, it's very far from what she feared might be done to her dick. Her reaction is dominated by @@.gold;fear of the unknown,@@ since she's now wondering whether she has any ability to predict your actions at all. Whatever her mental model of you was before this, it probably didn't include you restoring her foreskin. + shocked to find that $he has a foreskin. $He's not exactly resentful of you for doing this, since whatever her feelings about circumcision might be, it's very far from what $he feared might be done to $his dick. $His reaction is dominated by @@.gold;fear of the unknown,@@ since $he's now wondering whether $he has any ability to predict your actions at all. Whatever her mental model of you was before this, it probably didn't include you restoring her foreskin. <<set $activeSlave.trust -= 5>> <</if>> <<else>> - She leaves the surgery gingerly, knowing she's had surgery on her genitals. Taking the first opportunity to check out her crotch<<if canSee($activeSlave)>> in a mirror<</if>>, she's + $He leaves the surgery gingerly, knowing $he's had surgery on her genitals. Taking the first opportunity to check out her crotch<<if canSee($activeSlave)>> in a mirror<</if>>, $he's <<if $activeSlave.devotion > 50>> - titillated to find that her clitoris has a hood. She examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. She's very sore, obviously, but the sudden sensation is almost too much for her. Her resolution to investigate her remodeled clit, but later, is almost visible. It's obvious that she can hardly wait, @@.mediumaquamarine;anticipating@@ all the new sensations that this new patch of skin can offer her. She's @@.hotpink;grateful@@ to you for improving her pussy. + titillated to find that her clitoris has a hood. $He examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. $He's very sore, obviously, but the sudden sensation is almost too much for $him. $His resolution to investigate her remodeled clit, but later, is almost visible. It's obvious that $he can hardly wait, @@.mediumaquamarine;anticipating@@ all the new sensations that this new patch of skin can offer $him. $He's @@.hotpink;grateful@@ to you for improving $his pussy. <<set $activeSlave.trust += 5>> <<set $activeSlave.devotion += 5>> <<elseif $activeSlave.devotion >= -20>> - quite surprised, and a little relieved, to find that she has clit has a hood. She examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. She's very sore, obviously, but the sudden sensation is almost too much for her. She seems to have been worried that something more dramatic than a reversal of circumcision had been done to her, but her chief reaction is @@.hotpink;mystified submission@@ to you afterward. Your total power over her body has been made clear to her in a way that provokes confusion, not fear. + quite surprised, and a little relieved, to find that $he has clit has a hood. $He examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. $He's very sore, obviously, but the sudden sensation is almost too much for $him. $He seems to have been worried that something more dramatic than a reversal of circumcision had been done to $him, but her chief reaction is @@.hotpink;mystified submission@@ to you afterward. Your total power over $his body has been made clear to her in a way that provokes confusion, not fear. <<set $activeSlave.devotion += 5>> <<else>> - shocked to find that her clitoris has a hood. She's not exactly resentful of you for doing this, since whatever her feelings about circumcision might be, it's very far from what she feared might be done to her clit. Her reaction is dominated by @@.gold;fear of the unknown,@@ since she's now wondering whether she has any ability to predict your actions at all. Whatever her mental model of you was before this, it probably didn't include you restoring her clitoral hood. + shocked to find that her clitoris has a hood. $He's not exactly resentful of you for doing this, since whatever her feelings about circumcision might be, it's very far from what $he feared might be done to her clit. $His reaction is dominated by @@.gold;fear of the unknown,@@ since $he's now wondering whether $he has any ability to predict your actions at all. Whatever her mental model of you was before this, it probably didn't include you restoring her clitoral hood. <<set $activeSlave.trust -= 5>> <</if>> <</if>> - As with all surgery @@.red;her health has been slightly affected.@@ + As with all surgery @@.red;$his health has been slightly affected.@@ <<case "anus">> <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> - She leaves the surgery with a terribly sore rear end. She is @@.hotpink;filled with joy@@ at the prospect of having a tight butt all over again, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. If she had much in the way of anal skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore rear end. $He is @@.hotpink;filled with joy@@ at the prospect of having a tight butt all over again, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. If $he had much in the way of anal skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 10>> <<if $activeSlave.analSkill > 10>> <<set $activeSlave.analSkill -= 10>> <</if>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with a terribly sore rear end. She's a bit anxious at the prospect of the pain having to get back to a loose asshole the hard way, but she's @@.hotpink;happy@@ that you think her worth the effort of surgical improvement. If she had much in the way of anal skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore rear end. $He's a bit anxious at the prospect of the pain having to get back to a loose asshole the hard way, but $he's @@.hotpink;happy@@ that you think her worth the effort of surgical improvement. If $he had much in the way of anal skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<if $activeSlave.analSkill > 10>> <<set $activeSlave.analSkill -= 10>> <</if>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with a terribly sore rear end. She knows she'll have to endure the pain of being fucked in a tight asshole again soon enough, but trepidation is nothing new for her. If she had much in the way of anal skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with a terribly sore rear end. $He knows $he'll have to endure the pain of being fucked in a tight asshole again soon enough, but trepidation is nothing new for $him. If $he had much in the way of anal skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<if $activeSlave.analSkill > 10>> <<set $activeSlave.analSkill -= 10>> <</if>> <<else>> - She leaves the surgery with a terribly sore rear end. She's @@.mediumorchid;horrified@@ at surgical alteration of her rear end, and knows that this means that she'll have to take the pain of sodomy in a tight ass all over again. If she had much in the way of anal skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her most intimate parts. + $He leaves the surgery with a terribly sore rear end. $He's @@.mediumorchid;horrified@@ at surgical alteration of her rear end, and knows that this means that $he'll have to take the pain of sodomy in a tight ass all over again. If $he had much in the way of anal skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over her most intimate parts. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <<if $activeSlave.analSkill > 10>> @@ -1908,37 +1907,37 @@ As the remote surgery's long recovery cycle completes, <<case "labiaplasty">> <<if ($activeSlave.energy > 95)>> - She leaves the surgery with a terribly sore pussy. She is @@.hotpink;filled with joy@@ at the thought that her pussy will now be more appealing to <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>her master<<else>>her mistress<</if>>; she's already anticipating recovering enough to feel your cockhead pressing past her new lips, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore pussy. $He is @@.hotpink;filled with joy@@ at the thought that $his pussy will now be more appealing to <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>her master<<else>>her mistress<</if>>; $he's already anticipating recovering enough to feel your cockhead pressing past her new lips, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 10>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with a terribly sore pussy. She's @@.hotpink;happy@@ that you think her pussy worth the effort of surgical improvement, and a little excited at the idea that she now has what you consider good-looking pussylips. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore pussy. $He's @@.hotpink;happy@@ that you think $his pussy worth the effort of surgical improvement, and a little excited at the idea that $he now has what you consider good-looking pussylips. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with a terribly sore pussy. She's somewhat revolted by the surgery, but as far as she's concerned, the short recovery period will mean a time during which she can be sure no one will use her pussy. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with a terribly sore pussy. $He's somewhat revolted by the surgery, but as far as $he's concerned, the short recovery period will mean a time during which $he can be sure no one will use $his pussy. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She leaves the surgery with a terribly sore pussy. She's @@.mediumorchid;horrified@@ at surgical alteration of her womanhood; this is probably more of an invasion than she could readily imagine before today. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her most intimate parts. + $He leaves the surgery with a terribly sore pussy. $He's @@.mediumorchid;horrified@@ at surgical alteration of her womanhood; this is probably more of an invasion than $he could readily imagine before today. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over her most intimate parts. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "clitoral reduction">> <<if ($activeSlave.energy > 95)>> - She leaves the surgery with a terribly sore pussy. She is @@.hotpink;filled with joy@@ at the thought that her pussy will now be more appealing to <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>her master<<else>>her mistress<</if>>; her sensitivity has been reduced, @@.red;reducing her sex drive slightly.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore pussy. $He is @@.hotpink;filled with joy@@ at the thought that $his pussy will now be more appealing to <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>her master<<else>>her mistress<</if>>; her sensitivity has been reduced, @@.red;reducing her sex drive slightly.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 10>> <<set $activeSlave.energy -= 5>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with a terribly sore pussy. She's @@.hotpink;happy@@ that you think her pussy worth the effort of surgical improvement, although her sensitivity has been reduced, @@.red;reducing her sex drive slightly.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore pussy. $He's @@.hotpink;happy@@ that you think $his pussy worth the effort of surgical improvement, although her sensitivity has been reduced, @@.red;reducing her sex drive slightly.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<set $activeSlave.energy -= 5>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with a terribly sore pussy. She's somewhat revolted by the surgery, but as far as she's concerned, the short recovery period will mean a time during which she can be sure no one will use her pussy. The reduced sensitivity has @@.red;noticeably reduced her sex drive.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with a terribly sore pussy. $He's somewhat revolted by the surgery, but as far as $he's concerned, the short recovery period will mean a time during which $he can be sure no one will use $his pussy. The reduced sensitivity has @@.red;noticeably reduced her sex drive.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<set $activeSlave.energy -= 10>> <<else>> - She leaves the surgery with a terribly sore pussy. She's @@.mediumorchid;horrified@@ at surgical alteration of her womanhood; this is probably more of an invasion than she could readily imagine before today and @@.red;her sex drive takes a heavy hit.@@. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her most intimate parts. + $He leaves the surgery with a terribly sore pussy. $He's @@.mediumorchid;horrified@@ at surgical alteration of her womanhood; this is probably more of an invasion than $he could readily imagine before today and @@.red;her sex drive takes a heavy hit.@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over her most intimate parts. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <<set $activeSlave.energy -= 20>> @@ -1946,20 +1945,20 @@ As the remote surgery's long recovery cycle completes, <<case "clitoral enlargement">> <<if ($activeSlave.energy > 95)>> - She leaves the surgery with a terribly sore pussy. She is @@.hotpink;filled with joy@@ at the thought that her pussy will now be more appealing to <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>her master<<else>>her mistress<</if>>; her sensitivity has been increased, @@.green;raising her sex drive slightly.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore pussy. $He is @@.hotpink;filled with joy@@ at the thought that $his pussy will now be more appealing to <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>her master<<else>>her mistress<</if>>; her sensitivity has been increased, @@.green;raising her sex drive slightly.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 10>> <<set $activeSlave.energy += 1>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with a terribly sore pussy. She's @@.hotpink;happy@@ that you think her pussy worth the effort of surgical improvement; her sensitivity has been increased, @@.green;raising her sex drive slightly.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore pussy. $He's @@.hotpink;happy@@ that you think $his pussy worth the effort of surgical improvement; her sensitivity has been increased, @@.green;raising her sex drive slightly.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<set $activeSlave.energy += 1>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with a terribly sore pussy. She's somewhat revolted by the surgery, but as far as she's concerned, the short recovery period will mean a time during which she can be sure no one will use her pussy. Her sensitivity has been increased, @@.green;raising her sex drive slightly.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with a terribly sore pussy. $He's somewhat revolted by the surgery, but as far as $he's concerned, the short recovery period will mean a time during which $he can be sure no one will use $his pussy. $His sensitivity has been increased, @@.green;raising her sex drive slightly.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<set $activeSlave.energy += 1>> <<else>> - She leaves the surgery with a terribly sore pussy. She's @@.mediumorchid;horrified@@ at surgical alteration of her womanhood; this is probably more of an invasion than she could readily imagine before today. Her sensitivity has been increased, @@.green;raising her sex drive slightly.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her most intimate parts. + $He leaves the surgery with a terribly sore pussy. $He's @@.mediumorchid;horrified@@ at surgical alteration of her womanhood; this is probably more of an invasion than $he could readily imagine before today. $His sensitivity has been increased, @@.green;raising her sex drive slightly.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over her most intimate parts. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <<set $activeSlave.energy += 1>> @@ -1967,26 +1966,26 @@ As the remote surgery's long recovery cycle completes, <<case "vagina">> <<if ($activeSlave.energy > 95)>> - She leaves the surgery with a terribly sore pussy. She is @@.hotpink;filled with joy@@ at the prospect of having a tight cunt again, so much so that she now @@.mediumaquamarine;trusts@@ your plans for her body. If she had much in the way of vanilla sex skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore pussy. $He is @@.hotpink;filled with joy@@ at the prospect of having a tight cunt again, so much so that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. If $he had much in the way of vanilla sex skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 10>> <<if $activeSlave.vaginalSkill > 10>> <<set $activeSlave.vaginalSkill -= 10>> <</if>> <<elseif ($activeSlave.devotion > 50)>> - She leaves the surgery with a terribly sore pussy. She's @@.hotpink;happy@@ that you think her worth the effort of surgical improvement, and a little excited to feel like she's a girl again. If she had much in the way of vanilla sex skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a terribly sore pussy. $He's @@.hotpink;happy@@ that you think her worth the effort of surgical improvement, and a little excited to feel like $he's a girl again. If $he had much in the way of vanilla sex skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<if $activeSlave.vaginalSkill > 10>> <<set $activeSlave.vaginalSkill -= 10>> <</if>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with a terribly sore pussy. She's somewhat revolted by the surgery, but as far as she's concerned, the short recovery period will mean a time during which she can be sure no one will use her pussy. If she had much in the way of vanilla sex skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with a terribly sore pussy. $He's somewhat revolted by the surgery, but as far as $he's concerned, the short recovery period will mean a time during which $he can be sure no one will use $his pussy. If $he had much in the way of vanilla sex skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<if $activeSlave.vaginalSkill > 10>> <<set $activeSlave.vaginalSkill -= 10>> <</if>> <<else>> - She leaves the surgery with a terribly sore pussy. She's @@.mediumorchid;horrified@@ at surgical alteration of her womanhood; this is probably more of an invasion than she could readily imagine before today. If she had much in the way of vanilla sex skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;terribly afraid@@ of your total power over her most intimate parts. + $He leaves the surgery with a terribly sore pussy. $He's @@.mediumorchid;horrified@@ at surgical alteration of her womanhood; this is probably more of an invasion than $he could readily imagine before today. If $he had much in the way of vanilla sex skills, @@.red;they've likely suffered.@@ As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;terribly afraid@@ of your total power over her most intimate parts. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <<if $activeSlave.vaginalSkill > 10>> @@ -1995,48 +1994,48 @@ As the remote surgery's long recovery cycle completes, <</if>> <<case "bellyscar">> - She leaves the surgery with a soreness on her lower abdomen, and is @@.hotpink;pleased@@ to find her c-section scar has been surgically removed. She's happy that she'll be able to show off her <<if $activeSlave.weight > 95>>big soft belly<<elseif $activeSlave.weight > 30>>soft belly<<elseif $activeSlave.muscles > 30>>muscular belly<<elseif $activeSlave.muscles > 5>>firm, ripped belly <<else>>firm, flat belly<</if>> without being self conscious about her scar. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with a soreness on her lower abdomen, and is @@.hotpink;pleased@@ to find her c-section scar has been surgically removed. $He's happy that $he'll be able to show off her <<if $activeSlave.weight > 95>>big soft belly<<elseif $activeSlave.weight > 30>>soft belly<<elseif $activeSlave.muscles > 30>>muscular belly<<elseif $activeSlave.muscles > 5>>firm, ripped belly <<else>>firm, flat belly<</if>> without being self conscious about her scar. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 2>> <<case "tummyTuck">> - She leaves the surgery with a soreness on her lower abdomen, and is @@.hotpink;pleased@@ to find it's no longer saggy. She's happy that she'll be able to show off her <<if $activeSlave.weight > 95>>big soft belly<<if $activeSlave.weight > 130>>, for awhile at least,<</if>><<elseif $activeSlave.weight > 30>>soft belly<<elseif $activeSlave.muscles > 30>>muscular belly<<elseif $activeSlave.muscles > 5>>once again firm, ripped belly <<else>>once again firm, flat belly<</if>> without being self conscious about it. As with all surgery @@.red;her health has been affected.@@ + $He leaves the surgery with a soreness on her lower abdomen, and is @@.hotpink;pleased@@ to find it's no longer saggy. $He's happy that $he'll be able to show off her <<if $activeSlave.weight > 95>>big soft belly<<if $activeSlave.weight > 130>>, for awhile at least,<</if>><<elseif $activeSlave.weight > 30>>soft belly<<elseif $activeSlave.muscles > 30>>muscular belly<<elseif $activeSlave.muscles > 5>>once again firm, ripped belly <<else>>once again firm, flat belly<</if>> without being self conscious about it. As with all surgery @@.red;$his health has been affected.@@ <<set $activeSlave.devotion += 2>> <<case "bellyIn">> <<if ($activeSlave.devotion > 50)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, and as such, knows you put something into her womb. She is @@.hotpink;curious@@ about the details of the implant, and eagerly awaits to see the end result. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, and as such, knows you put something into her womb. $He is @@.hotpink;curious@@ about the details of the implant, and eagerly awaits to see the end result. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with nothing but a nonspecific ache and slight weight in her lower abdomen, and as such, knows you put something into her womb. She understands the realities of her life as a slave, but she is still surprised at what now resides in her womb. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache and slight weight in her lower abdomen, and as such, knows you put something into her womb. $He understands the realities of her life as a slave, but $he is still surprised at what now resides in her womb. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but she knows enough about surgery and sex slaves to believe that she has been impregnated. She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ at the potential that she's been bred. Even after what has been implanted into her womb is explained to her, she is no less defiant; though she is relieved that she isn't pregnant. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, but $he knows enough about surgery and sex slaves to believe that $he has been impregnated. $He does not understand the realities of her life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ at the potential that $he's been bred. Even after what has been implanted into her womb is explained to $him, $he is no less defiant; though $he is relieved that $he isn't pregnant. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "cervixPump">> <<if ($activeSlave.devotion > 50)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen and vagina, and as such, knows you put something into her cervix. She is @@.hotpink;curious@@ about the details of the implant, and eagerly awaits to see the end result. As with all surgery @@.red;her health has been slightly affected.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen and vagina, and as such, knows you put something into her cervix. $He is @@.hotpink;curious@@ about the details of the implant, and eagerly awaits to see the end result. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen and vagina, and as such, knows you put something into her cervix. She understands the realities of her life as a slave, but she is still surprised at what now resides in her cervix. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen and vagina, and as such, knows you put something into her cervix. $He understands the realities of her life as a slave, but $he is still surprised at what now resides in her cervix. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen and vagina, but she knows enough about surgery and sex slaves to believe that she has modified in her most private place. She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ at the potential that she's been subject of such modifications. Even after what has been implanted into her womb is explained to her, she is no less defiant; though she is relieved that it isn't some permanent mutilation, she only feels dirty and humiliated when she thinks of vaginal sex slowly rounding her middle. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen and vagina, but $he knows enough about surgery and sex slaves to believe that $he has modified in her most private place. $He does not understand the realities of her life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ at the potential that $he's been subject of such modifications. Even after what has been implanted into her womb is explained to $him, $he is no less defiant; though $he is relieved that it isn't some permanent mutilation, $he only feels dirty and humiliated when $he thinks of vaginal sex slowly rounding her middle. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> <<case "bellyInMale">> <<if ($activeSlave.devotion > 50)>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, and as such, knows you put something into her body. She is @@.hotpink;curious@@ about the details of the implant, and eagerly awaits to see the end result. As her surgery was very invasive @@.red;her health has been greatly impacted.@@ + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, and as such, knows you put something into $his body. $He is @@.hotpink;curious@@ about the details of the implant, and eagerly awaits to see the end result. As her surgery was very invasive @@.red;$his health has been greatly impacted.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She leaves the surgery with nothing but a nonspecific ache and slight weight in her lower abdomen, and as such, knows you put something into her body. She understands the realities of her life as a slave, but she is still surprised at what now resides in her middle. As her surgery was very invasive @@.red;her health has been greatly impacted.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache and slight weight in her lower abdomen, and as such, knows you put something into $his body. $He understands the realities of her life as a slave, but $he is still surprised at what now resides in her middle. As her surgery was very invasive @@.red;$his health has been greatly impacted.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - She leaves the surgery with nothing but a nonspecific ache in her lower abdomen, and as such, knows you put something into her body. She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ at your treatment of her body. As her surgery was very invasive @@.red;her health has been greatly impacted.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + $He leaves the surgery with nothing but a nonspecific ache in her lower abdomen, and as such, knows you put something into $his body. $He does not understand the realities of her life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ at your treatment of $his body. As her surgery was very invasive @@.red;$his health has been greatly impacted.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<set $activeSlave.devotion -= 5>> <</if>> @@ -2044,29 +2043,29 @@ As the remote surgery's long recovery cycle completes, <<case "bellyUp">> <<run SetBellySize($activeSlave)>> <<if $activeSlave.bellyImplant >= 10000 && $activeSlave.bellyImplant < 12000>> - Her bellybutton has become an outie from the size of the implant within her. + $His bellybutton has become an outie from the size of the implant within $him. <</if>> <<if $activeSlave.bellyPain == 1>> <<if ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She runs her fingers over her expanded belly experimentally and turns to you with a smile to show it off. She's still sore, so she doesn't bounce or stretch, but she turns from side to side to let you see it from all angles.<<else>>She bounces a little to feel the weight in her expanded middle and turns her torso to you with a smile to show it off. She's still sore, so she doesn't move too much, but she wiggles herself a little to make it move for you.<</if>> @@.hotpink;She's happy with your changes to her body.@@ As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He runs her fingers over her expanded belly experimentally and turns to you with a smile to show it off. $He's still sore, so $he doesn't bounce or stretch, but $he turns from side to side to let you see it from all angles.<<else>>$He bounces a little to feel the weight in her expanded middle and turns $his torso to you with a smile to show it off. $He's still sore, so $he doesn't move too much, but $he wiggles $himself a little to make it move for you.<</if>> @@.hotpink;$He's happy with your changes to $his body.@@ As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her expanded belly<<else>>She shifts her expanded belly<</if>> skeptically. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch it.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, so she expected something like this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her expanded belly<<else>>$He shifts her expanded belly<</if>> skeptically. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch it.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, so $he expected something like this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 5>> <<else>> - <<if canSee($activeSlave)>>She eyes her expanded belly<<else>>The new weight on her midriff fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch it, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this rounded belly as a cruel imposition@@. As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her expanded belly<<else>>The new weight on $his midriff fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch it, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this rounded belly as a cruel imposition@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 10>> <<set $activeSlave.devotion -= 5>> <</if>> <<elseif $activeSlave.bellyPain == 2>> <<if ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She gingerly runs her fingers over her painfully expanded belly and turns to you to show it off. She's extremely sore, so she doesn't bounce or stretch, but she tries to turn from side to side to let you see it from all angles.<<else>>She is so sore, she doesn't dare move the weight in her expanded middle, but she turns her torso to you to show it off. She stomachs the pain and wiggles herself a little to make it move for you.<</if>> @@.hotpink;She's certain she'll be happy with your changes to her body@@ once the pain subsides. Since her body has been pushed beyond its limits, @@.red;her health has been notably affected.@@ + <<if $activeSlave.amp != 1>>$He gingerly runs her fingers over her painfully expanded belly and turns to you to show it off. $He's extremely sore, so $he doesn't bounce or stretch, but $he tries to turn from side to side to let you see it from all angles.<<else>>$He is so sore, $he doesn't dare move the weight in her expanded middle, but $he turns $his torso to you to show it off. $He stomachs the pain and wiggles $himself a little to make it move for you.<</if>> @@.hotpink;$He's certain $he'll be happy with your changes to $his body@@ once the pain subsides. Since $his body has been pushed beyond its limits, @@.red;$his health has been notably affected.@@ <<set $activeSlave.devotion += 2>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her painfully expanded belly<<else>>She shifts her painfully expanded belly<</if>> skeptically. <<if $activeSlave.amp != 1>>She's extremely sore, so she doesn't touch it.<<else>>She's still extremely sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, so she expected something like this when she was sent to the surgery. She isn't much affected mentally. Since her body has been pushed beyond its limits, @@.red;her health has been notably affected.@@ She is @@.gold;sensibly fearful@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her painfully expanded belly<<else>>$He shifts her painfully expanded belly<</if>> skeptically. <<if $activeSlave.amp != 1>>$He's extremely sore, so $he doesn't touch it.<<else>>$He's still extremely sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, so $he expected something like this when $he was sent to the surgery. $He isn't much affected mentally. Since $his body has been pushed beyond its limits, @@.red;$his health has been notably affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body. <<set $activeSlave.trust -= 7>> <<else>> - <<if canSee($activeSlave)>>She eyes her painfully expanded belly<<else>>The new, painful weight on her midriff fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>She's still extremely sore, so she doesn't touch it, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>She's still extremely sore, so she keeps her torso still, but <<if canSee($activeSlave)>>she glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;she seems to view this rounded belly as a terribly cruel imposition@@. Since her body has been pushed beyond its limits, @@.red;her health has been notably affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her painfully expanded belly<<else>>The new, painful weight on $his midriff fills her<</if>> with resentment. <<if $activeSlave.amp != 1>>$He's still extremely sore, so $he doesn't touch it, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<<else>>$He's still extremely sore, so $he keeps $his torso still, but <<if canSee($activeSlave)>>$he glares daggers<<else>>her face contorts with distaste<</if>>.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.mediumorchid;$he seems to view this rounded belly as a terribly cruel imposition@@. Since $his body has been pushed beyond its limits, @@.red;$his health has been notably affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.trust -= 12>> <<set $activeSlave.devotion -= 7>> <</if>> @@ -2075,21 +2074,21 @@ As the remote surgery's long recovery cycle completes, <<case "bellyDown">> <<if $activeSlave.bellyImplant < 0>><<set $activeSlave.bellyImplant = 0>><</if>><<run SetBellySize($activeSlave)>> <<if ($activeSlave.devotion > 50)>> - <<if $activeSlave.amp != 1>>She hefts her lighter belly experimentally and turns to you with a smile to show off her new, slimmer form. She's still sore, so she doesn't bounce or stretch, but she turns from side to side to let you see it from all angles.<<else>>She bounces a little to feel the change in weight within her middle and turns her torso to you with a smile to show is off. She's still sore, so she doesn't bounce too much.<</if>> @@.hotpink;She's happy with your changes to her body@@ and @@.mediumaquamarine;trusts@@ that your looking out for her ability to serve you. As with all surgery @@.red;her health has been slightly affected.@@ + <<if $activeSlave.amp != 1>>$He hefts her lighter belly experimentally and turns to you with a smile to show off her new, slimmer form. $He's still sore, so $he doesn't bounce or stretch, but $he turns from side to side to let you see it from all angles.<<else>>$He bounces a little to feel the change in weight within her middle and turns $his torso to you with a smile to show is off. $He's still sore, so $he doesn't bounce too much.<</if>> @@.hotpink;$He's happy with your changes to $his body@@ and @@.mediumaquamarine;trusts@@ that your looking out for her ability to serve you. As with all surgery @@.red;$his health has been slightly affected.@@ <<set $activeSlave.devotion += 3>> <<set $activeSlave.trust += 3>> <<elseif ($activeSlave.devotion >= -20)>> - <<if canSee($activeSlave)>>She eyes her lighter belly with appreciation<<else>>She attempts to shift herself, only to find her middle is not as heavy as before<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch it.<<else>>She's still sore, so she keeps her torso still.<</if>> She's come to terms with the fact that she's a slave, but she expected something other than this when she was sent to the surgery. She isn't much affected mentally. As with all surgery @@.red;her health has been slightly affected.@@ She is @@.mediumaquamarine;thankful@@ that you removed some weight off her body. + <<if canSee($activeSlave)>>$He eyes her lighter belly with appreciation<<else>>$He attempts to shift $himself, only to find her middle is not as heavy as before<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch it.<<else>>$He's still sore, so $he keeps $his torso still.<</if>> $He's come to terms with the fact that $he's a slave, but $he expected something other than this when $he was sent to the surgery. $He isn't much affected mentally. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.mediumaquamarine;thankful@@ that you removed some weight off $his body. <<set $activeSlave.trust += 2>> <<else>> - <<if canSee($activeSlave)>>She eyes her lighter belly with relief<<else>>She attempts to shift herself, only to find her middle is not as heavy as before<</if>>. <<if $activeSlave.amp != 1>>She's still sore, so she doesn't touch it, but she breaths easier without the extra weight in her.<<else>>She's still sore, so she keeps her torso still, but she breaths easier without the extra weight in her.<</if>> She still thinks of herself as a person, so she isn't used to the idea of being surgically altered to suit your every whim. For now, @@.hotpink;she seems appreciative of this literal weight lifted from her@@. As with all surgery @@.red;her health has been slightly affected.@@ She is now @@.gold;terribly afraid@@ of your total power over her body. + <<if canSee($activeSlave)>>$He eyes her lighter belly with relief<<else>>$He attempts to shift $himself, only to find her middle is not as heavy as before<</if>>. <<if $activeSlave.amp != 1>>$He's still sore, so $he doesn't touch it, but $he breathes easier without the extra weight in $him.<<else>>$He's still sore, so $he keeps $his torso still, but $he breaths easier without the extra weight in $him.<</if>> $He still thinks of $himself as a person, so $he isn't used to the idea of being surgically altered to suit your every whim. For now, @@.hotpink;$he seems appreciative of this literal weight lifted from her@@. As with all surgery @@.red;$his health has been slightly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body. <<set $activeSlave.devotion += 1>> <<set $activeSlave.trust -= 10>> <</if>> <<case "bellyOut">> <<run SetBellySize($activeSlave)>> - She notices almost immediately that the weight in her middle is gone. She shifts her torso idly; it looks like she doesn't know what to think about having her belly implant removed. As with all surgery @@.red;her health has been slightly affected.@@ + $He notices almost immediately that the weight in $his middle is gone. $He shifts $his torso idly; it looks like $he doesn't know what to think about having $his belly implant removed. As with all surgery @@.red;$his health has been slightly affected.@@ <<case "body hair removal">> <<if $activeSlave.underArmHStyle != "hairless">><<set $activeSlave.underArmHStyle = "bald">><</if>> @@ -2114,7 +2113,7 @@ As the remote surgery's long recovery cycle completes, When $he <<if $activeSlave.amp == 1>>is carried<<else>>walks<</if>> out of the surgery $he immediately notices the chill on $his head and realizes that $he is bald.<br> <<if $activeSlave.devotion > 50>> <<if ($activeSlave.fetish == "humiliation") && ($activeSlave.fetishStrength > 50)>> - $He is @@.hotpink;turned on@@ by how humiliating this is for $him and @@.mediumaquamarine;can't wait@@ for the next time you decide to show $his off. + $He is @@.hotpink;turned on@@ by how humiliating this is for $him and @@.mediumaquamarine;can't wait@@ for the next time you decide to show $him off. <<set $activeSlave.trust += 5>> <<set $activeSlave.devotion += 5>> <<else>> @@ -2137,7 +2136,7 @@ As the remote surgery's long recovery cycle completes, <br><br>As this was a non-invasive procedure $his health was not affected. <<case "retrograde virus injection NCS">> - The procedure spans the week, with $him spending every other day in the surgery room for a series of 4 sets of injections. $He feels worse each time a few hours after the injections. $He doesn't quite know what it's about, just that $he feels pretty bad. The process has <<if ($PC.medicine >= 100)>>you<<else>>the remote surgeon<</if>> inject $his body everywhere, over every few inches, leaving a small needle marks as the process runs that fade out within minutes. Despite the marks fading the process is very invasive work, and leaves $he @@.red;feeling weak and tired.@@<br><br> + The procedure spans the week, with $him spending every other day in the surgery room for a series of 4 sets of injections. $He feels worse each time a few hours after the injections. $He doesn't quite know what it's about, just that $he feels pretty bad. The process has <<if ($PC.medicine >= 100)>>you<<else>>the remote surgeon<</if>> inject $his body everywhere, over every few inches, leaving a small needle marks as the process runs that fade out within minutes. Despite the marks fading the process is very invasive work, and leaves $he @@.red;feeling weak and tired.@@<br><br> /* Generate the changes, into variables to set contexts. */ @@ -2231,12 +2230,12 @@ As the remote surgery's long recovery cycle completes, <<if (_numberChanges <= 0)>> Despite the long and arduous treatment, $he has no idea what all of it was for. $He stands before you <<if ($activeSlave.devotion > 20)>>eager to learn what it's all about. - <<elseif ($activeSlave.devotion > -20)>>worried to discover what's happened to her. - <<else>>anxious about what you did to her, dreading the news. + <<elseif ($activeSlave.devotion > -20)>>worried to discover what's happened to $him. + <<else>>anxious about what you did to $him, dreading the news. <</if>> <<else>> Over the course of the treatment, $he begins to feel the initial effects and on inspection, when $he <<if $activeSlave.amp == 1>>is carried<<else>>walks<</if>> out of the surgery room, $he feels somehow smaller and changed in <<if _numberChanges == 1>>at least one way<<elseif _numberChanges == 2>>two ways<<else>>several ways<</if>>.<br><br> - <<if _hair != ''>>_hair<</if>> + <<if _hair != ''>>_hair<</if>> <<if _genitalChanges.length > 0>> $He can _sense that $his junk is different now, it seems $his <<if _genitalChanges.length > 2>> @@ -2255,7 +2254,7 @@ As the remote surgery's long recovery cycle completes, <</if>> <</if>> <<if _physicalChanges.length > 0>> - $He can <<if ((_genitalChanges.length > 0) || (_hairChanges > 0))>>also<</if>> _sense that her body has some physical changes, it seems to $his that + $He can <<if ((_genitalChanges.length > 0) || (_hairChanges > 0))>>also<</if>> _sense that $his body has some physical changes, it seems to $his that <<if _physicalChanges.length > 2>> <<for _sd = 0; _sd < _physicalChanges.length; _sd++>> <<if _sd < _physicalChanges.length-1>> @@ -2284,11 +2283,11 @@ As the remote surgery's long recovery cycle completes, You explain that $he's never going to grow older and $he'll stay younger. You sit back and let $him absorb that data for a moment. <br><br> <<if $activeSlave.devotion > 20>> - $He is @@.hotpink;happy@@ with how young $his body has become<<if $activeSlave.visualAge > 26>>and is excited about the process continuing<</if>>. $He is already @@.mediumaquamarine;wondering@@ what new kinky things you have planned for $him. + $He is @@.hotpink;happy@@ with how young $his body has become<<if $activeSlave.visualAge > 26>>and is excited about the process continuing<</if>>. $He is already @@.mediumaquamarine;wondering@@ what new kinky things you have planned for $him. <<set $activeSlave.trust += 5, $activeSlave.devotion += 5>> <<if $activeSlave.visualAge > 26>><<set $activeSlave.devotion += 5>><</if>> <<elseif $activeSlave.devotion >= -20>> - $He isn't thrilled with $his new younger body, but it doesn't bother $him much, since $he knows it just better secures $his position in your arcology. + $He isn't thrilled with $his new younger body, but it doesn't bother $him much, since $he knows it just better secures $his position in your arcology. <<if $activeSlave.visualAge > 26>> $He does feel a little extra @@.mediumaquamarine;trust@@ that you would spend so much on an older slave like $him. <<set $activeSlave.trust += 5>> @@ -2308,40 +2307,40 @@ As the remote surgery's long recovery cycle completes, <<if ($PC.medicine >= 100) && !["basicPLimbs", "sexPLimbs", "beautyPLimbs", "combatPLimbs", "cyberPLimbs"].includes($surgeryType)>> <br><br> <<if !["insemination", "braces", "removeBraces"].includes($surgeryType)>> - Since you @@.springgreen;performed the surgery yourself,@@ and you do artist's work, her health is @@.green;less affected@@ by the surgery than it would have been if you'd paid some hack to do it remotely. + Since you @@.springgreen;performed the surgery yourself,@@ and you do artist's work, $his health is @@.green;less affected@@ by the surgery than it would have been if you'd paid some hack to do it remotely. <<set $activeSlave.health += 5>> <</if>> <<if ($activeSlave.fetish != "mindbroken")>> - She spent the surgery very aware that you were performing it personally. + $He spent the surgery very aware that you were performing it personally. <<if ($activeSlave.devotion < $seed)>> <<if ($activeSlave.devotion > 50)>> - Though she is unhappy with the results, she consoles herself with the knowledge that you cared enough to do it personally. + Though $he is unhappy with the results, $he consoles $himself with the knowledge that you cared enough to do it personally. <<elseif ($activeSlave.devotion >= -20)>> - She is @@.gold;even more afraid@@ of you afterward than she would otherwise be. You must seem a cruel and near-omnipotent power to her. + $He is @@.gold;even more afraid@@ of you afterward than $he would otherwise be. You must seem a cruel and near-omnipotent power to $him. <<set $activeSlave.trust -= 5>> <<else>> - She is @@.mediumorchid;even more hateful@@ of you afterward than she would otherwise be. It must seem to her that she's nothing more than a test subject to you. + $He is @@.mediumorchid;even more hateful@@ of you afterward than $he would otherwise be. It must seem to her that $he's nothing more than a test subject to you. <<set $activeSlave.devotion -= 5>> <</if>> <<elseif !["insemination", "braces", "removeBraces"].includes($surgeryType)>> <<if ($activeSlave.devotion > 50)>> - Since she's happy with the results, she's almost beside herself with @@.hotpink;gratitude,@@ and filled with @@.mediumaquamarine;admiration@@ of your skill. + Since $he's happy with the results, $he's almost beside $himself with @@.hotpink;gratitude,@@ and filled with @@.mediumaquamarine;admiration@@ of your skill. <<set $activeSlave.devotion += 4, $activeSlave.trust += 4>> <<elseif ($activeSlave.devotion >= -20)>> - She is quite struck by how you performed the surgery personally. She admires your refusal to be one of the idle rich, and @@.hotpink;likes you more.@@ + $He is quite struck by how you performed the surgery personally. $He admires your refusal to be one of the idle rich, and @@.hotpink;likes you more.@@ <<set $activeSlave.devotion += 5>> <<else>> - She knows that she should be grateful to you for performing the surgery personally, but the emotional turmoil of the occasion is too much for her, and the realization makes little lasting impact. + $He knows that $he should be grateful to you for performing the surgery personally, but the emotional turmoil of the occasion is too much for $him, and the realization makes little lasting impact. <</if>> <</if>> <</if>> <</if>> <<if ($activeSlave.behavioralFlaw == "arrogant") && ($surgeryType == "amp")>> - @@.green;She can hardly be arrogant relying on others to feed, bathe and carry her.@@ + @@.green;$He can hardly be arrogant relying on others to feed, bathe and carry $him.@@ <<set $activeSlave.behavioralFlaw = "none">> <<elseif ($activeSlave.behavioralFlaw == "bitchy") && ($surgeryType == "mute")>> - @@.green;She can hardly make sharp remarks without a voice.@@ + @@.green;$He can hardly make sharp remarks without a voice.@@ <<set $activeSlave.behavioralFlaw = "none">> <</if>> diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw index 0eaa2e5a463..8c6f017315b 100644 --- a/src/utility/descriptionWidgetsStyle.tw +++ b/src/utility/descriptionWidgetsStyle.tw @@ -2639,6 +2639,8 @@ $His <<if $activeSlave.eyes > -1>> <<if $activeSlave.eyewear == "blurring contacts">> $He's wearing contacts designed to blur $his vision, making $him clumsy. + <<else>> + $His sense of sight is perfectly fine. <</if>> <<elseif $activeSlave.eyes == -1>> <<if $activeSlave.eyewear == "corrective contacts">> @@ -2682,7 +2684,7 @@ $His <</if>> <<else>> <<if $activeSlave.hears > -1>> - $His hearing is perfectly fine. + $His sense of hearing is perfectly fine. <<elseif $activeSlave.hears == -1>> $He's @@.yellow;hard of hearing@@, and a bit clumsy as a result. <<elseif $activeSlave.hears < -1>> -- GitLab