diff --git a/src/endWeek/saBeYourHeadGirl.js b/src/endWeek/saBeYourHeadGirl.js index 4b8cd5bc40243a1063b1cc4d645348298b350b43..f2a42ea87c43270d231cc2475ba0ae6dec53860d 100644 --- a/src/endWeek/saBeYourHeadGirl.js +++ b/src/endWeek/saBeYourHeadGirl.js @@ -233,6 +233,7 @@ App.SlaveAssignment.beYourHeadGirl = (function() { } else { if (slave.fetish === "dom") { r.push(`Having all the slaves look up to and obey ${him} clearly excites ${him}; <span class="lightcoral">${he}'s a natural dom!</span>`); + slave.fetishKnown = 1; } else if (fetishChange > jsRandom(0, 100)) { r.push(`Having all the slaves look up to and obey ${him} affects ${his} sexuality, turning ${him} into a <span class="lightcoral">bit of a dominatrix.</span>`); slave.fetish = "dom"; diff --git a/src/endWeek/saLongTermPhysicalEffects.js b/src/endWeek/saLongTermPhysicalEffects.js index 52c0e5c9eb22116fb063b4d00b2f7bc1d546c370..c4dee8e94501d586eaa731d6594635b00216dd0e 100644 --- a/src/endWeek/saLongTermPhysicalEffects.js +++ b/src/endWeek/saLongTermPhysicalEffects.js @@ -727,35 +727,35 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { let youthening = 0; const youtheningLevel = Math.round(Math.clamp(((slave.physicalAge - 8) / 4) + .25, 0, 10)); /* - ** r.push(`To prevent the NCS from firing on every attribute in one year, this variable counts the`); - ** r.push(`number of NCS affects that fire. Most affects will only trigger if one or two other`); - ** r.push(`have already fired, but won't fire beyond. There are two exceptions to that, first,`); - ** r.push(`massively oversized growth assets, which will fire always, e.g. boobs > 5000, dick > 10,`); - ** r.push(`etc. Second, Body structure, hips/shoulders may fire any time, (decreasing random).`); + ** To prevent the NCS from firing on every attribute in one year, this variable counts the + ** number of NCS affects that fire. Most affects will only trigger if one or two other + ** have already fired, but won't fire beyond. There are two exceptions to that, first, + ** massively oversized growth assets, which will fire always, e.g. boobs > 5000, dick > 10, + ** etc. Second, Body structure, hips/shoulders may fire any time, (decreasing random). ** - ** r.push(`Youthening (visual age year number reduction)`); - ** r.push(`Happens on a sliding scale, the older a slave is, the faster the de-aging goes.`); - ** r.push(`Consequently, it goes slower as the visual age approaches an 8 year old loli/shota body.`); - ** r.push(`Age 45+=> auto age reduction 1 year per 1 week.`); - ** r.push(`Age 41-44=> age reduction 1 year per 2 weeks.`); - ** r.push(`Age 37-40=> age reduction 1 year per 3 weeks.`); - ** r.push(`Age 33-36=> age reduction 1 year per 4 weeks.`); - ** r.push(`Age 29-32=> age reduction 1 year per 5 weeks.`); - ** r.push(`Age 25-28=> age reduction 1 year per 6 weeks.`); - ** r.push(`Age 21-24=> age reduction 1 year per 7 weeks.`); - ** r.push(`Age 17-20=> age reduction 1 year per 8 weeks.`); - ** r.push(`Age 13-16=> age reduction 1 year per 9 weeks.`); - ** r.push(`Age 9-12=> slowest age reduction 1 year per 10 weeks.`); + ** Youthening (visual age year number reduction) + ** Happens on a sliding scale, the older a slave is, the faster the de-aging goes. + ** Consequently, it goes slower as the visual age approaches an 8 year old loli/shota body. + ** Age 45+=> auto age reduction 1 year per 1 week. + ** Age 41-44=> age reduction 1 year per 2 weeks. + ** Age 37-40=> age reduction 1 year per 3 weeks. + ** Age 33-36=> age reduction 1 year per 4 weeks. + ** Age 29-32=> age reduction 1 year per 5 weeks. + ** Age 25-28=> age reduction 1 year per 6 weeks. + ** Age 21-24=> age reduction 1 year per 7 weeks. + ** Age 17-20=> age reduction 1 year per 8 weeks. + ** Age 13-16=> age reduction 1 year per 9 weeks. + ** Age 9-12=> slowest age reduction 1 year per 10 weeks. ** - ** r.push(`To track this, the ${slave.NCSyouthening} field counts the *charge* of youthening the slave`); - ** r.push(`currently has, and if it's over the youthening requirements, the slave will become younger.`); + ** To track this, the slave.NCSyouthening field counts the *charge* of youthening the slave + ** currently has, and if it's over the youthening requirements, the slave will become younger. ** - ** r.push(`Additionally while years fly off quickly in the beginning for older slaves, and oversized body parts`); - ** r.push(`shrink away, other secondary characteristics slowly but surely drop off, but based on the above`); + ** Additionally while years fly off quickly in the beginning for older slaves, and oversized body parts + ** shrink away, other secondary characteristics slowly but surely drop off, but based on the above ** *charge* of youthening. ** - ** r.push(`Note that with this system a 45 year old slave given NCS would be indistinguishable from an 8 year`); - ** r.push(`old in a little over 4 years time.`); + ** Note that with this system a 45 year old slave given NCS would be indistinguishable from an 8 year + ** old in a little over 4 years time. */ slave.NCSyouthening++; if (slave.visualAge > 8 && slave.NCSyouthening >= (11 - youtheningLevel)) { @@ -768,11 +768,11 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { youthening++; } /* - ** r.push(`height always fires if over 176 cm,`); - ** r.push(`also fires if the slave is tall for their visual age`); - ** r.push(`also if they are in * NCSyouthening 3-5 (reverse teen years) and`); - ** r.push(`over 126 cm`); - ** r.push(`or over height (30% chance)`); + ** height always fires if over 176 cm, + ** also fires if the slave is tall for their visual age + ** also if they are in * NCSyouthening 3-5 (reverse teen years) and + ** over 126 cm + ** or over height (30% chance) */ const heightDelta = slave.height - Height.mean(slave); let shrinkage; @@ -793,13 +793,13 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { countNCS++; } /* - ** r.push(`Boobs, nipples and areolae.`); - ** r.push(`Boobs always fires for over 5000 cc,`); - ** r.push(`nipples/areolae shrinkage will fire for boobs under 5000,`); - ** r.push(`where nipples are tiny/cute at 30% chance.`); - ** r.push(`anything over 300 will fire if`); - ** r.push(`the slave's accumulated youthening is 6 or higher,`); - ** r.push(`or by a 50% chance.`); + ** Boobs, nipples and areolae. + ** Boobs always fires for over 5000 cc, + ** nipples/areolae shrinkage will fire for boobs under 5000, + ** where nipples are tiny/cute at 30% chance. + ** anything over 300 will fire if + ** the slave's accumulated youthening is 6 or higher, + ** or by a 50% chance. */ /** @type {FC.NippleShape} */ let nipplesString; @@ -833,9 +833,9 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { countNCS++; } /* - ** r.push(`Hips and Shoulders reshaping`); - ** r.push(`One or the other can happen per week as long as the hips and shoulders are bigger than the smallest`); - ** r.push(`level, though the chances get much more likely for the widest sizes.`); + ** Hips and Shoulders reshaping + ** One or the other can happen per week as long as the hips and shoulders are bigger than the smallest + ** level, though the chances get much more likely for the widest sizes. */ if (((slave.hips - Math.abs(slave.hipsImplant)) > -2) && (random(1, 100) < ((slave.hips + 3) * 18))) { r.push(`${His} <span class="ncs">NCS</span> gets busy <span class="change negative"> reducing the size of ${his}`); @@ -861,9 +861,9 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { countNCS++; } /* - ** r.push(`Dick and clit shrinkage`); - ** r.push(`Massive 10+ Dicks or 5+ Clits always fire, and at double power.`); - ** r.push(`Below that by chance, (reducing chances by current size). In general clits shrink faster.`); + ** Dick and clit shrinkage + ** Massive 10+ Dicks or 5+ Clits always fire, and at double power. + ** Below that by chance, (reducing chances by current size). In general clits shrink faster. */ if (slave.dick >= 10) { r.push(`${His} <span class="ncs">NCS</span> is actively <span class="change negative">reducing the size of ${his} giant dick.</span>`); @@ -883,9 +883,9 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { countNCS++; } /* - ** r.push(`Balls.`); - ** r.push(`Massive testicles (10+) drop by 2 levels,`); - ** r.push(`Others decrease by chance based on current size.`); + ** Balls. + ** Massive testicles (10+) drop by 2 levels, + ** Others decrease by chance based on current size. */ if (slave.balls >= 10) { r.push(`${His} <span class="ncs">NCS</span> gets busy <span class="change negative">reducing the size of ${his} titanic balls.</span>`); @@ -897,9 +897,9 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { countNCS++; } /* - ** r.push(`Butt.`); - ** r.push(`Tremendous butts burn of by 2 points.`); - ** r.push(`Regular butts based on chances, decrease as the size does.`); + ** Butt. + ** Tremendous butts burn of by 2 points. + ** Regular butts based on chances, decrease as the size does. */ if (buttSize >= 10) { r.push(`${His} <span class="ncs">NCS</span> applies and <span class="change negative">reduces the size of ${his} bulbous butt.</span>`); @@ -911,10 +911,10 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { countNCS++; } /* - ** r.push(`Scrotum and Labia`); - ** r.push(`One or the other can fire per week.`); - ** r.push(`Pendulous ballsacks or sagging labia will always fire.`); - ** r.push(`Otherwise by reducing chance based on current sizes, but labias are a little more likely.`); + ** Scrotum and Labia + ** One or the other can fire per week. + ** Pendulous ballsacks or sagging labia will always fire. + ** Otherwise by reducing chance based on current sizes, but labias are a little more likely. */ if (slave.geneMods.rapidCellGrowth !== 1) { if (slave.scrotum >= 5) { @@ -936,8 +936,8 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { } } /* - ** r.push(`Voice.`); - ** r.push(`Small chance for any non-childlike voice.`); + ** Voice. + ** Small chance for any non-childlike voice. */ if ((countNCS < 3) && (slave.voice < 3) && slave.voice !== 0 && (random(1, 100) > (slave.voice * 15))) { r.push(`${His} <span class="ncs">NCS</span> has <span class="change positive">raised the pitch of ${his} voice, ${he} now sounds more`); @@ -950,7 +950,7 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { countNCS++; } /* - ** r.push(`Pussy/Ass-Pussy rejuvenation.`); + ** Pussy/Ass-Pussy rejuvenation. ** 10% chance of either one rejuvenating per week. (The Child Whore's delight!) */ if (slave.geneMods.rapidCellGrowth !== 1) { @@ -965,7 +965,7 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { } } /* - ** r.push(`reset youthening for those that just got younger (see age above) or for already lolified slaves.`); + ** reset youthening for those that just got younger (see age above) or for already lolified slaves. */ if (youthening > 0 || slave.NCSyouthening > 9) { slave.NCSyouthening = 0; diff --git a/src/events/RESS/impregnationPlease.js b/src/events/RESS/impregnationPlease.js index 91be8ae34be6e883b08dc54595c96101403d43f6..9bf05cfb93c966bcfca353ec62e560e61b43e81d 100644 --- a/src/events/RESS/impregnationPlease.js +++ b/src/events/RESS/impregnationPlease.js @@ -41,7 +41,6 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve let r = []; r.push(`Taken by a mood,`); r.push(contextualIntro(V.PC, eventSlave, "DOM")); - r.push(App.UI.DOM.slaveDescriptionDialog(eventSlave)); // TODO: Integrate contextualIntro somewhere if (isPregnantAndSuperfetation) { if (eventSlave.belly >= 750000) { r.push(`barely makes into your office before turning and leaning against ${his} ${belly} belly. Once ${he} manages to get comfortable against the strained mass, ${he} wiggles ${his} exposed`); @@ -219,9 +218,10 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve r.push(`${He} faces you with the look of a child begging for candy,`); } r.push(`desperately awaiting your answer.`); + App.Events.addParagraph(node, r); let responses = [new App.Events.Result(`Put a slave in ${him}`, impregnate)]; - if (eventSlave.mpreg === 0) { + if (eventSlave.mpreg === 0) { responses.push(new App.Events.Result(`Use ${his} ass but give ${him} what ${he} wants`, impregnateAss)); responses.push(new App.Events.Result(`Sneak it into ${his} ass instead`, sneak)); } else { @@ -230,7 +230,6 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve if (cumSlaves().length >= 5) { responses.push(new App.Events.Result(`Use the Dairy cockmilk to impregnate ${him}`, dairy)); } - App.Events.addParagraph(node, r); App.Events.addResponses(node, responses); function impregnate() { diff --git a/src/events/RETS/reDatePlease.js b/src/events/RETS/reDatePlease.js index df348b47ce1cf02ca27a37fcaefa4975f86210ef..53cfd0f1b31ff091742080eeec1eb14c79983901 100644 --- a/src/events/RETS/reDatePlease.js +++ b/src/events/RETS/reDatePlease.js @@ -33,14 +33,13 @@ App.Events.RETSDatePlease = class RETSDatePlease extends App.Events.BaseEvent { const { He, he, his, him, girl } = getPronouns(eventSlave); - const {say} = getEnunciation(eventSlave); + const {say, title: master} = getEnunciation(eventSlave); const {him2, girl2, wife2} = getPronouns(subSlave).appendSuffix("2"); V.nextLink = "Next Week"; let artDiv = document.createElement("div"); // named container so we can replace it later App.Events.drawEventArt(artDiv, eventSlave, "no clothing"); node.appendChild(artDiv); - const master = Spoken(eventSlave, getWrittenTitle(eventSlave)); const partner = (eventSlave.relationship >= 5) ? `${wife2}` : `${girl2}friend`; const pitch = (eventSlave.voice > 2) ? "high" : (eventSlave.voice > 1 ? "feminine" : "deep"); // When true male slaves are implemented, split "deep" into husky and masculine?