diff --git a/src/004-base/facilityFramework.js b/src/004-base/facilityFramework.js index 7d77a8d07f7a2ef54f2394c35432a9d20de7ab17..caeb93514f0804b34223812e61465b249a5146f8 100644 --- a/src/004-base/facilityFramework.js +++ b/src/004-base/facilityFramework.js @@ -52,7 +52,7 @@ App.Facilities.Facility = class Facility { } /** - * Renders the facility onscreen. + * Renders the facility on-screen. * * @returns {HTMLDivElement} */ @@ -63,7 +63,7 @@ App.Facilities.Facility = class Facility { } /** - * Refreshes the facility onscreen. + * Refreshes the facility on-screen. * * @returns {void} */ diff --git a/src/Mods/Catmod/events/CMRESS/catLove.js b/src/Mods/Catmod/events/CMRESS/catLove.js index 47ce886b174bd21f77a6c7bc08687009f97d9c28..d1a79ed74ae831f9b09c700522c8b7c9d50b0bb6 100644 --- a/src/Mods/Catmod/events/CMRESS/catLove.js +++ b/src/Mods/Catmod/events/CMRESS/catLove.js @@ -28,7 +28,7 @@ App.Events.CMRESSCatLove = class CMRESSCatLove extends App.Events.BaseEvent { let t = []; t.push(`As you walk out from the office to your bedroom late in the evening, ${eventSlave.slaveName} approaches you in the halls, holding something behind ${his} back with both hands. ${His} tail swishes nervously from side to side behind ${him}. The instant you open your mouth to ask what ${he}'s holding, the quivering cat${girl} thrusts out ${his} arms in front of ${him} to show you`); if (eventSlave.intelligence + eventSlave.intelligenceImplant > 80) { - t.push("a beautiful, handdrawn icon portraying you as a godlike figure above a large collection of distinct catgirl faces."); + t.push("a beautiful, hand-drawn picture portraying you as a godlike figure above a large collection of distinct catgirl faces."); App.Events.addParagraph(node, t); t = []; diff --git a/src/Mods/SpecialForce/SpecialForceFS.js b/src/Mods/SpecialForce/SpecialForceFS.js index ddc1a56771de2fa078aab24197ad87d70e5a7c5a..4ed5f8ec9e3d91eb17c566068dde6e0d56f4e368 100644 --- a/src/Mods/SpecialForce/SpecialForceFS.js +++ b/src/Mods/SpecialForce/SpecialForceFS.js @@ -282,7 +282,7 @@ App.Mods.SF.fsIntegration = (function() { dec = `Slimness Enthusiasm: a fashion for slaves with girlish figures.`; gift = `In celebration of Slimness Enthusiasm, you've gifted The Colonel with her very own fleet of small single-seater reconnaissance buggies, all made from extremely lightweight-yet-durable alloys, and precisely engineered miniature nuclear reactors meant to allow each vehicle in the fleet to achieve obscene speeds in the field in all terrains. They even come with roof hardpoint mounts for mounting light remote-operated weapons. Thanks to their stellar support systems they also ensure driver safety and orientation during use, reliably absorbing and redistributing the energy received from the multitude of shocks, bounces, g-forces, jolts, jumps, and other maneuverability hiccups that would make these vehicles impossible to handle without them. All that being said, they are very fun to drive and eventually master. Also, their extreme mobility, tiny target profiles, quiet engines, and ease of camouflage all make them excellent recon vehicles for The Colonel and her friends to use for races, scouting missions, and raids whenever things in the Firebase get too boring.`; foods = `The meals are prepared and presented as low-calorie or even calorie-free, stripping fatty content wherever possible. Smaller portions and slices than market standard are not uncommon either.`; - media = `Much of the movies and porn videos the troops receive prominently feature glamorous model-thin actors and actresses alike, with tiny tits and asses, and usually very little body fat. With bodies so light and thin, every endeavor onscreen, from fight scenes to sex scenes, is usually very intense and fast paced.`; + media = `Much of the movies and porn videos the troops receive prominently feature glamorous model-thin actors and actresses alike, with tiny tits and asses, and usually very little body fat. With bodies so light and thin, every endeavor on-screen, from fight scenes to sex scenes, is usually very intense and fast paced.`; slaves = `A good portion of the slaves in the Firebase are quite skinny. They have slim assets on their bodies and are generally lightweight. A few discerning troops are seen checking them out from afar, from time to time.`; cages = `The new slaves kept in the processing cages are aggressively slimmed down. They are given only one medium-sized meal at midday, and yet they are required to work and train for their new lives just as hard as any other slave.`; commonArea = `Along the greatest length of the common area, there is a full proper running track, complete with laid tarmac and white paint. It is comparable to the tracks used by any modern sports team, and even has a tiny booth staffed by in-house bookies, where troopers go to place their bets or collect their prizes for the weekly slave Races and monthly Coursing games. This track also has a feature you wouldn't find on most tracks, which are the compact wheeled cages on either end, for owners to store their prized runner slaves, or collect a runner slave they just won through their bets. Aside from concession stands, raised seats are lined up on the sides of the racetrack, for spectators and judges to observe and film the footraces themselves.`; @@ -453,7 +453,7 @@ App.Mods.SF.fsIntegration = (function() { drugLab = `Meanwhile, the local infirmary strikes out against the dark designs of the rest of the Firebase as a standing tribute of clear, clean, sterile white.`; personalItems = `Display of wealth and social prestige has become important for soldiers between missions, who regularly wear the most expensive old-world designs they can afford, with synth-weaved coats and stunning jewelry essential company to your best Knights outside of their proud armor.`; droneBay = `The nearby drone bay section, typically called the "Eagle's Roost", contains deathly-fast 'Black Eagle' drones with stylized wings, ready to deploy.`; - garage = `The garage is filled with a variety of high-tech vehicles and armored carriers, and mechanics fill nearly every corner rewiring massive cannons and painting elabroate, stylized Imperial designs on the sides of your fighting machines.`; + garage = `The garage is filled with a variety of high-tech vehicles and armored carriers, and mechanics fill nearly every corner rewiring massive cannons and painting elaborate, stylized Imperial designs on the sides of your fighting machines.`; vehicle = `Many of the vehicles in the garage have been given names that range between ironic and proud - from a quick glance you spot a heavy tank dubbed the "Imperial Will", and a piece of mobile artillery with "Smile for Flash" and a design of a winding snake on the massive barrel.`; hangar = `The hangar is filled with noise of Imperial engineers performing check-ups, upgrades, and repairs on your aircraft, while the stalwart nauta caeli prepare for their next flight to ensure your dominance.`; aircraft = `The aircraft hulls spot similar elaborate designs and symbols as your vehicles do, with many sporting flower motifs that twist and wind down to the bomb bays.`; diff --git a/src/Mods/SpecialForce/events/SpecialForceIntro.js b/src/Mods/SpecialForce/events/SpecialForceIntro.js index 26dbc7a0cbd04c20b409873f5bcb48e22bcd1efb..d3f890cf639f42ddfa8ddddd43b57224c73243b4 100644 --- a/src/Mods/SpecialForce/events/SpecialForceIntro.js +++ b/src/Mods/SpecialForce/events/SpecialForceIntro.js @@ -116,7 +116,7 @@ App.Events.SecurityForceProposal = class SecurityForceProposal extends App.Event r.push(`her eyes flashing a hard glare in an instant before quickly softening into those of someone who wants something you have.`); break; case "brazen": - r.push(`snapping off a text2book salute that decades of hard service grills into a veteran.`); + r.push(`snapping off a textbook salute that decades of hard service grills into a veteran.`); break; default: r.push(`not bothering to put on even the semi-military air (complete with salute) that most mercenaries tend to adopt when meeting new clients.`); diff --git a/src/endWeek/player/prMobility.js b/src/endWeek/player/prMobility.js index a2e19f3e401f245a6406910b470735230667bf67..ae6ea1472f6e4c39d95bd4c4dffee671802c648e 100644 --- a/src/endWeek/player/prMobility.js +++ b/src/endWeek/player/prMobility.js @@ -374,7 +374,7 @@ App.EndWeek.Player.mobility = function(PC = V.PC) { } if (PC.geneMods.progenitor === 1 && PC.belly > (PC.pregAdaptation * 750)) { if (PC.belly > (PC.pregAdaptation * 1000)) { - r.push(`At least your genetically treated body is raipidly adjusting to your gravidity.`); + r.push(`At least your genetically treated body is rapidly adjusting to your gravidity.`); } PC.pregAdaptation += 1; } diff --git a/src/endWeek/reports/personalAttention.js b/src/endWeek/reports/personalAttention.js index 43093c430843c09731216bf2f1c26c712dd5e7a7..51f419a6a8329f0689328a707105eee98119692c 100644 --- a/src/endWeek/reports/personalAttention.js +++ b/src/endWeek/reports/personalAttention.js @@ -2330,7 +2330,7 @@ App.PersonalAttention.slaveReport = function(slave) { if (canPenetrate(V.PC)) { r.push(`Your rock-hard erection is so eager for ${his} ${holeCheck === "vaginal" ? "pussy" : "ass"} that you waste no time on foreplay before in sticking it in.`); } else if (V.PC.clit >= 3) { - r.push(`Your clit is so large and sensetive that it makes the perfect tool to piston in and out of ${his} ${holeCheck === "vaginal" ? "pussy" : "ass"} until the pleasure makes your body go numb.`); + r.push(`Your clit is so large and sensitive that it makes the perfect tool to piston in and out of ${his} ${holeCheck === "vaginal" ? "pussy" : "ass"} until the pleasure makes your body go numb.`); } else if (V.PC.vagina === 0) { r.push(`You don't care if it`); r.push(App.UI.DOM.makeElement("span", `breaks your hymen and ruins your virginity,`, ["virginity", "loss"])); diff --git a/src/endWeek/saGetMilked.js b/src/endWeek/saGetMilked.js index 9353c6e5f7b8f87c6451157b891490ce6add133a..f74fb5301811a6dc47972e14f8cf468afb147df4 100644 --- a/src/endWeek/saGetMilked.js +++ b/src/endWeek/saGetMilked.js @@ -509,7 +509,7 @@ if (isVirile(slave)) { if (slave.scrotum === 0) { - r.text += ` ${He} does produce cum despite ${his} apparent ballslessness, but less than ${he} would if they weren't hidden inside ${him}.`; + r.text += ` ${He} does produce cum despite ${his} lack of visible testicles, but less than ${he} would if they weren't hidden inside of ${him}.`; } } diff --git a/src/events/RE/REBusyArcade.js b/src/events/RE/REBusyArcade.js index f2ee8212c64bda6f489b67dc8ea72e47e921e5de..f25faa0d52d723ca68d1c1d0e33bf89c21af9bd5 100644 --- a/src/events/RE/REBusyArcade.js +++ b/src/events/RE/REBusyArcade.js @@ -32,7 +32,7 @@ App.Events.REBusyArcade = class REBusyArcade extends App.Events.BaseEvent { if (hasAnyArms(slave)) { r.push(`with ${hasBothArms(slave) ? "shaking hands" : "a shaking hand"}`); } else { - r.push(`in the limited capacity ${he} is cpapable of`); + r.push(`in the limited capacity that ${he} is capable of`); } r.push(`that ${he} cannot take any more. ${He} begs you abjectly to let ${him} out of the arcade and promises to be a perfect sex slave if you do.`); } else { diff --git a/src/events/RE/reCitizenHookup.js b/src/events/RE/reCitizenHookup.js index a8ac8a65e21c97f8f27e43d67669a99b624497c1..c2b3e218c74eb5b11eeaf4c8a23fcafa897a1c7a 100644 --- a/src/events/RE/reCitizenHookup.js +++ b/src/events/RE/reCitizenHookup.js @@ -276,7 +276,7 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent } r.push(`that ${his} continued presence for a ménage à trois is wanted by both you and your guest.`); } else if (S.Concubine.intelligence+S.Concubine.intelligenceImplant < -50) { - r.push(`${S.Concubine.slaveName} is there, of course, absentmindly doing whatever it is ${he} does when you are not around, and unsurprisingly fails to`); + r.push(`${S.Concubine.slaveName} is there, of course, absentmindedly doing whatever it is ${he} does when you are not around, and unsurprisingly fails to`); if (canSee(S.Concubine)) { r.push(`see`); } else { diff --git a/src/events/REFS/refsKnightlyDuel.js b/src/events/REFS/refsKnightlyDuel.js index 553601054a002fb75c884a2a026ecdd76cc287c7..61199f6a0a872941a5f4276c2621564cc7aae846 100644 --- a/src/events/REFS/refsKnightlyDuel.js +++ b/src/events/REFS/refsKnightlyDuel.js @@ -29,7 +29,7 @@ App.Events.refsKnightlyDuel = class refsKnightlyDuel extends App.Events.BaseEven slave.prostate = 1; slave.clothes = "Imperial Plate"; - App.Events.drawEventArt(node, [slave, slave]); // Draw the same slave twice since there are two knights (and neither is enslaveable) + App.Events.drawEventArt(node, [slave, slave]); // Draw the same slave twice since there are two knights (and neither is enslavable) App.Events.addParagraph(node, [`After the rise of ${V.arcologies[0].name}'s new Imperial society, Knights have become a cornerstone of the new social order. Proud, noble, and chivalrous, they're seen as heroic, even legendary figures to the general public, and play an essential role in securing your arcology against violent threats with their larger-than-life personalities. However, the proud and individualistic nature of your Knights occasionally causes problems.`]); diff --git a/src/events/RESS/review/dickgirlPC.js b/src/events/RESS/review/dickgirlPC.js index c6de716f9cd61dc47bc0812050365da91bb6e8a8..4317cea1b89e5b46ac4542fd8df3dc9cb5bd71b1 100644 --- a/src/events/RESS/review/dickgirlPC.js +++ b/src/events/RESS/review/dickgirlPC.js @@ -279,7 +279,7 @@ App.Events.RESSDickgirlPC = class RESSDickgirlPC extends App.Events.BaseEvent { function force() { const frag = new DocumentFragment(); r = []; - r.push(`The closeminded ${girl} is having trouble with`); + r.push(`The close-minded ${girl} is having trouble with`); if (eventSlave.attrXY <= 35) { r.push(`guys, so ${he} gets to spend some quality time with your dick. You walk into ${him}, running into the surprised slave, driving ${him} backward into the far wall. You kiss ${him}, pinch ${him}, and grope ${him} roughly the whole time, pressing your breasts maliciously against ${his}`); if (eventSlave.boobs > 5000) { diff --git a/src/events/RESS/review/nymphoWithAssistant.js b/src/events/RESS/review/nymphoWithAssistant.js index e972041e668ff2f60a623792f8a58bd2b7c47a3f..115e74065e17b76248cb95ca4a19b1ad0c7c2e58 100644 --- a/src/events/RESS/review/nymphoWithAssistant.js +++ b/src/events/RESS/review/nymphoWithAssistant.js @@ -124,7 +124,7 @@ App.Events.RESSNymphoWithAssistant = class RESSNymphoWithAssistant extends App.E new App.Events.Result(`No, spectate and relax with ${him} afterward`, spectate), new App.Events.Result(`Tour ${his} holes`, tour, virginityWarning()), _cumSlaves.length >= 5 - ? new App.Events.Result(`Replace the machines with cockmilkees from the Dairy`, replace, virginityWarning()) + ? new App.Events.Result(`Replace the machines with cockmilkies from the Dairy`, replace, virginityWarning()) : new App.Events.Result(), ]); diff --git a/src/events/nonRandom/rival/pHostageAcquisition.js b/src/events/nonRandom/rival/pHostageAcquisition.js index 821e7045edc544ff5078dd90873c165dacfbf9ae..f6d8ae9faa8d2c12a22f4347f6ae4a67560f5616 100644 --- a/src/events/nonRandom/rival/pHostageAcquisition.js +++ b/src/events/nonRandom/rival/pHostageAcquisition.js @@ -845,7 +845,7 @@ App.Events.pHostageAcquisition = class pHostageAcquisition extends App.Events.Ba r.push(Spoken(V.hostage, `"I've never had to exercise so much; I'm exhausted!"`)); r.push(`You gently wrap your arms around ${his} soft body in a comforting embrace. ${He}'s exactly as you remember.`); if (closer && V.hostage.actualAge <= 16 && V.hostage.boobs > 800) { - r.push(`Well, except for the sizable busoms pressing against you; puberty was quite generous to ${him}`); + r.push(`Well, except for the sizable bosoms pressing against you; puberty was quite generous to ${him}`); } } else if (V.rival.duration <= 10) { r.push(`Upon seeing you, ${V.hostage.slaveName} gingerly approaches, uncertain if ${he} should. You pull ${him} into your`); @@ -972,7 +972,7 @@ App.Events.pHostageAcquisition = class pHostageAcquisition extends App.Events.Ba r.push(Spoken(V.hostage, `"I've never had to exercise so much, I'm exhausted!"`)); r.push(`You gently wrap your arms around ${his} soft body in a comforting embrace. ${He}'s exactly as you remember.`); if (closer && V.hostage.actualAge <= 16 && V.hostage.boobs > 800) { - r.push(`Well, except for the sizable busoms pressing against you; puberty was quite generous to ${him}`); + r.push(`Well, except for the sizable bosoms pressing against you; puberty was quite generous to ${him}`); } } else if (V.rival.duration <= 10) { r.push(`Upon seeing you, ${V.hostage.slaveName} gingerly approaches, uncertain if ${he} should. You pull ${him} into your`); diff --git a/src/events/reRecruit/tgAddict.js b/src/events/reRecruit/tgAddict.js index ba6575aac57072cee3ca6ccc774be6fbef43e31e..2fc62805d070e450ce78aad494c90017ab0434c8 100644 --- a/src/events/reRecruit/tgAddict.js +++ b/src/events/reRecruit/tgAddict.js @@ -17,7 +17,7 @@ App.Events.recTgAddict = class recTgAddict extends App.Events.BaseEvent { const slave = makeSlave(); const {he, his, him} = getPronouns(slave); let r = []; - r.push(`One of your tenants asks for an interview. He's an effeminate young man; it seems he's a surgical addict. He has heard that you have a remote surgical unit, and offers to pay well over a fair price to rent its use. Intrigued, you investigate, and find that he has been banned from the regular hospitals for unpaid bills. You could easily reprogram the surgery to ignore his input and instead gender reassign him into a saleable young woman, driving him into enslaveable debt at the same time. 'She'll' be slim, inexperienced, and very unhappy.`); + r.push(`One of your tenants asks for an interview. He's an effeminate young man; it seems he's a surgical addict. He has heard that you have a remote surgical unit, and offers to pay well over a fair price to rent its use. Intrigued, you investigate, and find that he has been banned from the regular hospitals for unpaid bills. You could easily reprogram the surgery to ignore his input and instead gender reassign him into a saleable young woman, driving him into enslavable debt at the same time. 'She'll' be slim, inexperienced, and very unhappy.`); App.Events.addParagraph(node, r); r = []; r.push(App.UI.DOM.makeElement("span", `You could agree and then reprogram the remote surgery for transformation into a female once he's unconscious. Alternatively, you could transform him and then sell ${him}.`, "note")); diff --git a/src/events/scheduled/burst/burst.js b/src/events/scheduled/burst/burst.js index dd69d85f40b068d64cdd00113075281e4e648e89..f846fb966d898d2ff70e31d7880b229795cb9f24 100644 --- a/src/events/scheduled/burst/burst.js +++ b/src/events/scheduled/burst/burst.js @@ -85,7 +85,7 @@ App.Events.SEBurst = class SEBurst extends App.Events.BaseEvent { } else { r.push(`as is,`); } - r.push(`so it's extra fun to punch and strike at it to see ${his} pained reactions. You land a solid blow to ${his} straining gut and, like the world's worst piniata, ${he} bursts, showering the area around ${him} with`); + r.push(`so it's extra fun to punch and strike at it to see ${his} pained reactions. You land a solid blow to ${his} straining gut and, like the world's worst piñata, ${he} bursts, showering the area around ${him} with`); if (slave.inflation !== 0) { r.push(`blood, guts and ${slave.inflationType}.`); } else { diff --git a/src/events/scheduled/seIndependenceDay.js b/src/events/scheduled/seIndependenceDay.js index 71ba2489b09331bf3aa32f70fc9ee0558f8ed03a..25057c4281f1970fbf4dfc394a3929f96b7c2f01 100644 --- a/src/events/scheduled/seIndependenceDay.js +++ b/src/events/scheduled/seIndependenceDay.js @@ -238,7 +238,7 @@ App.Events.SEIndependenceDay = class SEIndependenceDay extends App.Events.BaseEv } else if (arc.FSPetiteAdmiration >= lockLow) { r.push(`as the Size Enthusiast, you command enough respect that your citizens will listen to you so long as you do not abuse the privilege.`); } else if (arc.FSIntellectualDependency >= lockLow) { - r.push(`as the Shepard of the Slow, you command enough respect that your citizens are likely to listen to you so long as you do not abuse the privilege.`); + r.push(`as the Shepherd of the Slow, you command enough respect that your citizens are likely to listen to you so long as you do not abuse the privilege.`); } else { r.push(`as the owner of the arcology, you command enough respect that your citizens will listen to you so long as you do not abuse the privilege.`); } @@ -315,7 +315,7 @@ App.Events.SEIndependenceDay = class SEIndependenceDay extends App.Events.BaseEv } else if (V.PC.career === "gang" || V.PC.career === "hoodlum" || (V.PC.career === "street urchin" && V.PC.actualAge >= 18)) { r.push(`You share a bloody anecdote about the fate of one of your former gang members. The moral of the story is that you have to know your limits.`); } else if (V.PC.career === "street urchin") { - r.push(`You share a depressing anecdote about how far some of the other street kids had to go to eek out even a meager living; the moral of the story is that you've been hardened by a tough life. Though you left out the parts about what you yourself had to go through, you can tell the crowd knows to some extent.`); + r.push(`You share a depressing anecdote about how far some of the other street kids had to go to eke out even a meager living; the moral of the story is that you've been hardened by a tough life. Though you left out the parts about what you yourself had to go through, you can tell the crowd knows to some extent.`); } else if (V.PC.career === "escort" || V.PC.career === "prostitute" || (V.PC.career === "child prostitute" && V.PC.actualAge >= 18)) { r.push(`You share a rather sordid anecdote from your background as`); if (V.PC.career === "escort") { diff --git a/src/facilities/brothel/brothelAssignmentScene.js b/src/facilities/brothel/brothelAssignmentScene.js index 102f96c9e5a38dfcfbf04c63a35889a66abe96d7..0855304e682657578140cde35bd5e9cbf4f1647c 100644 --- a/src/facilities/brothel/brothelAssignmentScene.js +++ b/src/facilities/brothel/brothelAssignmentScene.js @@ -131,7 +131,7 @@ App.Facilities.Brothel.assignmentScene = function(slave) { ); if (slave.attrXX > slave.attrXY) { r.push( - Spoken(slave, `"I hear from the other slaves there's this nice lady who goes there every morning and pay sto have a whore suck her nipples for, like, an hour. I,"`), + Spoken(slave, `"I hear from the other slaves there's this nice lady who goes there every morning and pays to have a whore suck her nipples for, like, an hour. I,"`), `${he} licks ${his} lips,`, Spoken(slave, `"could do that."`) ); @@ -177,7 +177,7 @@ App.Facilities.Brothel.assignmentScene = function(slave) { case "cumslut": r.push(`${He} licks ${his} lips unconsciously and motions`); if (slave.attrXX > slave.attrXY) { - r.push(`tounging a clit.`); + r.push(`tonguing a clit.`); } else { r.push(`sucking cock.`); } diff --git a/src/gui/Encyclopedia/encyclopediaCredits.js b/src/gui/Encyclopedia/encyclopediaCredits.js index 24ed2b0f157e040e67bae4a3434c6aa4b37f0931..6150f4a5d403adc46aafefec8450180a1f6d3e7b 100644 --- a/src/gui/Encyclopedia/encyclopediaCredits.js +++ b/src/gui/Encyclopedia/encyclopediaCredits.js @@ -33,7 +33,7 @@ App.Encyclopedia.addArticle("Credits", function() { n: "Lolimodder", d: ["your loli expertise will be missed."] }, { n: "pregmodfan", - d: ["for tremendous amounts of work with compilers, decompilers, etc. Single-handedly kicked this mod into its new git home. Contributed lots of bugfixes as well as fixed the RA considerably. Revamped pregnancy tracking as well then further expanded it — and then expanding it more with superfetation. Also for ppmod, ramod, implmod, cfpmod and psmod (preg speed). Added a pregnancy adapatation upgrade to the incubator."] + d: ["for tremendous amounts of work with compilers, decompilers, etc. Single-handedly kicked this mod into its new git home. Contributed lots of bugfixes as well as fixed the RA considerably. Revamped pregnancy tracking as well then further expanded it — and then expanding it more with superfetation. Also for ppmod, ramod, implmod, cfpmod and psmod (preg speed). Added a pregnancy adaptation upgrade to the incubator."] }, { n: "FCGudder", d: ["for advanced economy reports, image improvements, cleaning and fixing extended-extended family mode, extending building widgets, anaphrodisiacs, name cleaning, height overhauling, proper slave summary caching, new shelter slaves, some crazy ass shit with vector art, fixing seDeath, coding jQuery in ui support and likely one to two of these other anon credits."] diff --git a/src/gui/options/options.js b/src/gui/options/options.js index 6a697ab680915906a2bfb850b6f88769834d0aef..38813c95b1e43752018e680f04033d9c5d3cdad5 100644 --- a/src/gui/options/options.js +++ b/src/gui/options/options.js @@ -720,7 +720,7 @@ App.UI.optionsPassage = function() { .addValue("Enabled", 1).on().addValue("Disabled", 0).off() .addComment("This will enable an option to export slaves as a Slave Bot, compatible with SillyTavern for LLM-backed roleplay. Available in the Records tab."); - options.addOption("Allow sufficiently large clitori to evaluate true in canPenetrate()", "clitoralPenetration", V.experimental) + options.addOption("Allow a sufficiently large enough clitoris to evaluate true in canPenetrate()", "clitoralPenetration", V.experimental) .addValue("Enabled", 1).on().addValue("Disabled", 0).off() .addComment("canPenetrate() was originally built to assume dicks, so not all scenes may make sense without one. May also lead to awkward pregnancies."); diff --git a/src/interaction/sellSlave.js b/src/interaction/sellSlave.js index 3b4609a1587d1cbf7a64805bee3d5798f01c2c48..48e4758eae3b4cfe1c43a85503b63aac3b7c170a 100644 --- a/src/interaction/sellSlave.js +++ b/src/interaction/sellSlave.js @@ -304,7 +304,7 @@ App.Interact.sellSlave = function(slave) { } if (slave.geneticQuirks.progeria !== 2 && slave.geneticQuirks.neoteny === 2 && slave.actualAge > slave.visualAge + 5) { - t.push(`${He} appears to be neotonic, which will turn off some but attract others. Overall should prove positive though.`); + t.push(`${He} appears to be neotenic, which will turn off some but attract others. Overall should prove positive though.`); } if (App.Data.Careers.Leader.bodyguard.includes(slave.career)) { diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js index 1f1db1e02980e46e6ecd11fac1bc7b31a9138fc6..f8a8279de347a2f593298dac288e630ba617b5ec 100644 --- a/src/js/birth/birth.js +++ b/src/js/birth/birth.js @@ -3697,7 +3697,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen } r.push(`basking in his attention as he strips ${him}. Placing ${his} child outside the room, ${he} returns to get more intimate with ${his} catch.`); } else { - r.push(`While managing ${V.brothelName}, ${slave.slaveName}'s water breaks. Knowing ${he} lacks the time to leave, ${he} sets up a sign reading "Birthshow ${cashFormat(100)} a viewer" and takes a seat.`); + r.push(`While managing ${V.brothelName}, ${slave.slaveName}'s water breaks. Knowing ${he} lacks the time to leave, ${he} sets up a sign reading "Birthshow: ${cashFormat(100)} a viewer" and takes a seat.`); humiliation = 1; r.push(clothingBirth()); r.push(`Upon completing ${his} show, ${he} reclines with ${firstText} child and begins counting the credits ${he} bought in. In total ${he} made ${cashFormat(100 * birthScene)} and feels that business will be up in the brothel as patrons line up hoping another showing.`); diff --git a/src/js/upgrade.js b/src/js/upgrade.js index c5ae3e582770b81d4a1e81fee38620aaceff44d6..08fabb3e51776922b57a7fa009fc682b8f40eea5 100644 --- a/src/js/upgrade.js +++ b/src/js/upgrade.js @@ -60,7 +60,7 @@ App.Upgrade = class Upgrade { } /** - * Renders the upgrade onscreen. + * Renders the upgrade on-screen. * * @returns {HTMLDivElement} */ @@ -71,7 +71,7 @@ App.Upgrade = class Upgrade { } /** - * Refreshes the upgrade onscreen. + * Refreshes the upgrade on-screen. * * @returns {void} */ diff --git a/src/npc/descriptions/belly/belly.js b/src/npc/descriptions/belly/belly.js index ec5849caa32544cb797be66f668de56a94159fa2..0dc54fa6635ba33317c4304fbeb8110b39dc3926 100644 --- a/src/npc/descriptions/belly/belly.js +++ b/src/npc/descriptions/belly/belly.js @@ -10844,9 +10844,9 @@ App.Desc.belly = function(slave, descType = DescType.NORMAL) { if (isBellyFluidLargest) { // TODO: write me } else if (slave.bellyImplant > 0) { - r.push(`${slave.slaveName}'s jacket fails to even come close to closing over ${his} gaint implant-filled belly, leaving ${him} with only a single straining button to keep ${his} attire together. ${He}'s so bulbous, ${his} skirt is forced scandalously low beneath ${his} inflated middle.`); + r.push(`${slave.slaveName}'s jacket fails to even come close to closing over ${his} giant implant-filled belly, leaving ${him} with only a single straining button to keep ${his} attire together. ${He}'s so bulbous, ${his} skirt is forced scandalously low beneath ${his} inflated middle.`); } else { - r.push(`${slave.slaveName}'s jacket fails to even come close to closing over ${his} gaint pregnant belly, leaving ${him} with only a single straining button to keep ${his} attire together. ${He}'s grown so large, ${his} skirt is forced scandalously low beneath ${his} gravid mound.`); + r.push(`${slave.slaveName}'s jacket fails to even come close to closing over ${his} giant pregnant belly, leaving ${him} with only a single straining button to keep ${his} attire together. ${He}'s grown so large, ${his} skirt is forced scandalously low beneath ${his} gravid mound.`); } } else if (slave.weight > 190) { r.push(`${slave.slaveName}'s jacket fails to even come close to closing over ${his} massively fat belly, leaving ${him} with only the button below ${his} breasts done.`); @@ -12329,7 +12329,7 @@ App.Desc.belly = function(slave, descType = DescType.NORMAL) { if (isBellyFluidLargest) { // TODO: write me } else if (slave.bellyImplant > 0) { - r.push(`${slave.slaveName}'s titanic implant-filled belly stretches ${his} once loose dress into a more form fitting attire. It is specially tailored to be modest yet draw attention to ${his} abnormaly large middle.`); + r.push(`${slave.slaveName}'s titanic implant-filled belly stretches ${his} once loose dress into a more form fitting attire. It is specially tailored to be modest yet draw attention to ${his} abnormally large middle.`); } else { r.push(`${slave.slaveName}'s titanic pregnant belly stretches ${his} once loose dress into a more form fitting attire, showing off ${his} protruding navel and the many bulges of life filling ${him}. Even at ${his} abnormal size, its special tailoring allows it to retain its modesty.`); } @@ -12337,7 +12337,7 @@ App.Desc.belly = function(slave, descType = DescType.NORMAL) { if (isBellyFluidLargest) { // TODO: write me } else if (slave.bellyImplant > 0) { - r.push(`${slave.slaveName}'s gigantic implant-filled belly completely fills ${his} once loose dress. It is specially tailored to be modest yet draw attention to ${his} abnormaly large middle.`); + r.push(`${slave.slaveName}'s gigantic implant-filled belly completely fills ${his} once loose dress. It is specially tailored to be modest yet draw attention to ${his} abnormally large middle.`); } else { r.push(`${slave.slaveName}'s gigantic pregnant belly completely fills ${his} once loose dress. It is specially tailored to be modest yet draw attention to ${his} abnormal pregnancy.`); } diff --git a/src/npc/descriptions/style/footwear.js b/src/npc/descriptions/style/footwear.js index 199ceacfb34c6a2b57a467f0e504cbbc1d4c176e..2e8ad428531cfb5907f555f9058c3ce01a3d6ba4 100644 --- a/src/npc/descriptions/style/footwear.js +++ b/src/npc/descriptions/style/footwear.js @@ -3246,7 +3246,7 @@ App.Desc.footwear = function(slave) { } r.push(`even the highest shelf quite dustable.`); if (!bothFeet) { - r.push(`Ìf ${he} could stand that is.`); + r.push(`If ${he} could stand that is.`); } break; default: diff --git a/src/npc/descriptions/style/hairClothing.js b/src/npc/descriptions/style/hairClothing.js index 71636e389dc0cac9d0325ec797c00a98f17dbb81..319f8ad73a4f30d62f217386f6ffc8e7b04a270b 100644 --- a/src/npc/descriptions/style/hairClothing.js +++ b/src/npc/descriptions/style/hairClothing.js @@ -2642,7 +2642,7 @@ App.Desc.hairClothing = function(slave) { case "pasties": case "a sweater and cutoffs": case "a button-up shirt and panties": - r.push(`is braided into two dutch braids that are securedby cute hair ties.`); + r.push(`is braided into two dutch braids that are secured by cute hair ties.`); break; case "a sports bra": case "sport shorts and a t-shirt": diff --git a/src/player/desc/pLongBoobs.js b/src/player/desc/pLongBoobs.js index 8eb104be97429831d83c8e2d393d57cec7b17160..a0d3d13b85aea0420c854282afc15247e39b7d4b 100644 --- a/src/player/desc/pLongBoobs.js +++ b/src/player/desc/pLongBoobs.js @@ -375,7 +375,7 @@ App.Desc.Player.boobs = function(PC = V.PC) { if (V.boobAccessibility === 1) { r.push(`On the bright side, you've had the penthouse remodeled for ${girlP}s with such substantial bosoms already, so fitting through doors and using furniture isn't a concern.`); } else if (V.pregAccessibility === 1 || V.ballsAccessibility === 1 || V.buttAccessibility === 1) { - r.push(`Still, the halls and doors of the penthouse have been remodeled to accommodate other enormous assets, so there's plenty of room for your substantial busom. Too bad everything is still at the perfect height to jab you in the tits.`); + r.push(`Still, the halls and doors of the penthouse have been remodeled to accommodate other enormous assets, so there's plenty of room for your substantial bosom. Too bad everything is still at the perfect height to jab you in the tits.`); } else { r.push(`Even worse, the penthouse was not designed to handle ${girlP}s with bosoms as substantial as yours; you crowd whichever halls or doors you use and find an uncomfortable number of objects poking and prodding your tits.`); if (PC.boobsImplant >= 600000) { diff --git a/src/pregmod/FCTV/FCTVshows.js b/src/pregmod/FCTV/FCTVshows.js index 3b5bd7345ae2230c1e75054b3b37f3fb27e17a2c..b8b6a7a39f36851cef8d7c391e41e2b3bf1d18d9 100644 --- a/src/pregmod/FCTV/FCTVshows.js +++ b/src/pregmod/FCTV/FCTVshows.js @@ -1065,7 +1065,7 @@ App.Data.FCTV.channels = { r.push(`dangling cock – even soft, it looks massive –`); } r.push(`but manages to shake the proffered hand. "Thanks for having me!" She gestures widely to the room. "What's with the lights and... umm... décor?"</p>`); - r.push(`<p>The milk maid smiles. "A happy cow is a productive cow, Ma'am. The cows spend lots of time here, and Master says 'a pleasant and relaxing environment makes a big difference in their production.' Master says that it's an investment to make the cows feel like they're in a fancy spa, but that it's so cheap it pays for itself in extra milk lickity-split."</p>`); + r.push(`<p>The milk maid smiles. "A happy cow is a productive cow, Ma'am. The cows spend lots of time here, and Master says 'a pleasant and relaxing environment makes a big difference in their production.' Master says that it's an investment to make the cows feel like they're in a fancy spa, but that it's so cheap it pays for itself in extra milk lickety-split."</p>`); r.push(`<p>Bess looks impressed. "You've got a pretty smart master! Seems like he takes good care of the cows, too!"</p>`); r.push(`<p>The milk maid gives an emphatic nod. "My Master's daddy, and his daddy's daddy were dairy farmers, so he knows what he's doin'. Master said that lots of folks think slaves don't deserve any care or fancy treatment, that slaves are animals and you can't give 'em anything without putting ideas in their heads. Master said those folks are right we don't <i>deserve</i> anything, but that otherwise those folks just don't know jack shit about raising livestock."</p>`); r.push(`<p>Bess smiles. "I guess G-9 isn't at the top of the quality and quantity charts by accident!" She moves over toward one of the occupied milkers to take a better look. Rather than a chair, it's set up almost like a massage table, and the slave is lying face-down on the table's comfortable padding. The chest area of the table is almost completely missing, allowing the cow's 15,000 CC udders to hang downward. Rather than hang painfully, however, they're well supported by some kind of strong fabric that looks soft but stretchy. Their supported shape seems ideal for milking, opening up the milk ducts and letting gravity drain the milk toward the exposed nipples. A clear cup is attached to each teat, rich milk flooding rhythmically down wide tubes to be collected in a massive intermediary reservoir. Bess turns back to the milk maid. "So I think I understand what the setup in the front is for, but what's all this going on in the back?"</p>`); @@ -1396,7 +1396,7 @@ App.Data.FCTV.channels = { } r.push(`and two massive nipples, eventually revealing the two hosts that look to be in their early twenties.`); if (V.FCTV.channel[num(10, true)] < 2) { - r.push(`A muscular man wearing athletic clothes, and a buxom young woman in a bikini that looks more like a microkini on her large breasts and hips. The pair is helpfully labeled on screen as Mike and Mindy, and as the camera gets closer it reveals that both have rather sizable endowments. Mike's crotch is soaked, and Mindy's bikini top allows small rivulets of milk to stream down from the sodden fabric.`); + r.push(`A muscular man wearing athletic clothes, and a buxom young woman in a bikini that looks more like a micro bikini on her large breasts and hips. The pair is helpfully labeled on screen as Mike and Mindy, and as the camera gets closer it reveals that both have rather sizable endowments. Mike's crotch is soaked, and Mindy's bikini top allows small rivulets of milk to stream down from the sodden fabric.`); } else { r.push(`The fluid enthusiast Mike and Mindy pair are wearing their usual style in new colors, the clothes appearing to be as soddenly wet as any other episode.`); }