Skip to content
Snippets Groups Projects
Commit a0cf19c3 authored by lowercasedonkey's avatar lowercasedonkey
Browse files

start

parent e7fa1668
No related branches found
No related tags found
1 merge request!8205Endweek Economics toward JS: Personal notes + Reputation
/**
* @returns {DocumentFragment}
*/
App.EndWeek.personalNotes = function() {
const el = new DocumentFragment();
let r = [];
let _milk;
let _milkSale;
if (V.useTabs === 0) {
App.UI.DOM.appendNewElement("h2", el, `Personal Notes`);
}
// <br>
if (V.playerAging !== 0) {
r.push(`Your birthday is `);
if (V.PC.birthWeek === 51) {
r.push(`next week`);
if (V.playerAging === 2) {
r.push(`; you'll be turning ${V.PC.actualAge + 1}`);
}
} else {
r.push(`in ${52 - V.PC.birthWeek} weeks`);
}
r.push(`.`);
}
r.push(App.Desc.Player.boobs());
r.push(App.Desc.Player.belly());
r.push(App.Desc.Player.crotch());
r.push(App.Desc.Player.butt());
if (V.PC.lactation > 0) {
if (V.PC.rules.lactation !== "none" && V.PC.rules.lactation !== "induce") {
V.PC.lactationDuration = 2;
if (V.PC.rules.lactation === "sell") {
/* watch this be a disaster */
_milk = milkAmount(V.PC);
r.push(`Whenever you have a free moment and a chest swollen with milk, you spend your time attached to the nearest milker. As a result, you produce${_milk} liters of sellable milk over the week.`);
if (V.arcologies[0].FSPastoralistLaw === 1) {
_milkSale = _milk * (28 + Math.trunc(V.arcologies[0].FSPastoralist / 30));
r.push(`Since breast milk is ${V.arcologies[0].name}'s only legal dairy product, and yours is in a class all of its own, society can't get enough of it and you make <span class="yellowgreen">${cashFormat(_milkSale)}.</span>`);
} else if ((V.arcologies[0].FSPastoralist !== "unset")) {
_milkSale = _milk * (12 + Math.trunc(V.arcologies[0].FSPastoralist / 30));
r.push(`Since milk is fast becoming a major part of the ${V.arcologies[0].name}'s dietary culture, and yours is in a class all of its own, you make <span class="yellowgreen">${cashFormat(_milkSale)}.</span>`);
} else {
_milkSale = _milk * 8;
r.push(`Your milk is sold for <span class="yellowgreen">${cashFormat(_milkSale)}.</span>`);
}
cashX(_milkSale, "personalBusiness");
} else {
r.push(`You regularly see to your breasts to make sure your milk production doesn't dry up; be it by hand, milker, or mouth, you keep yourself comfortably drained.`);
}
} else {
if (V.PC.belly < 1500) {
V.PC.lactationDuration--;
if (V.PC.lactationDuration === 0) {
r.push(`With no reason to continue production, your <span class="yellow">lactation has stopped.</span>`);
V.PC.lactation = 0;
}
}
}
}
if (V.PC.preg > 0) {
const _oldCount = V.PC.pregType;
if (V.PC.preg <= 2) {
fetalSplit(V.PC, 1000);
WombCleanYYFetuses(V.PC);
}
if (V.pregnancyMonitoringUpgrade === 1) {
if (_oldCount < V.PC.pregType) {
r.push(`While making use of the advanced pregnancy monitoring equipment, you are surprised to find <span class="lime">your womb is a little more occupied than last checkup.</span>`);
} else if (_oldCount > V.PC.pregType) {
r.push(`While making use of the advanced pregnancy monitoring equipment, you are surprised to find <span class="orange">your womb houses less life than last checkup.</span>`);
if (V.PC.pregType === 0) {
r.push(`For all intents and purposes, <span class="yellow">you are no longer pregnant.</span>`);
TerminatePregnancy(V.PC);
}
}
} else if (_oldCount > V.PC.pregType && V.PC.pregType === 0) {
TerminatePregnancy(V.PC);
}
if (V.PC.preg === 15) {
if (V.PC.pregKnown === 0) {
r.push(`Your areolae have gotten dark. Some cursory tests reveal <span class="lime">you are about fifteen weeks pregnant.</span> How did that manage to slip past you?`);
V.PC.pregKnown = 1;
} else {
r.push(`Your areolae have gotten dark. Just another step along your pregnancy.`);
}
} else if (V.PC.belly >= 1500) {
if ((V.PC.preg > 20) && (V.PC.lactation === 0)) {
if (V.PC.preg > random(18, 30)) {
r.push(`A moist sensation on your breasts draws your attention; <span class="lime">your milk has come in.</span>`);
V.PC.lactation = 1;
}
}
if (V.PC.lactation === 1) {
V.PC.lactationDuration = 2;
}
}
if (V.PC.preg >= V.PC.pregData.normalBirth / 4) {
const _gigantomastiaMod = V.PC.geneticQuirks.gigantomastia === 2 ? (V.PC.geneticQuirks.macromastia === 2 ? 3 : 2) : 1;
/* trim this down */
let _boobTarget;
if (V.PC.geneMods.NCS === 1) {
_boobTarget = 100;
} else if (V.PC.geneticQuirks.androgyny === 2) {
_boobTarget = 400;
} else if (V.PC.physicalAge >= 18) {
if (V.PC.pregType >= 8) {
_boobTarget = 1500;
/* 2000 */
} else if (V.PC.pregType >= 5) {
_boobTarget = 1400;
} else if (V.PC.pregType >= 2) {
_boobTarget = 1000;
} else {
_boobTarget = 800;
}
} else if (V.PC.physicalAge >= 13) {
if (V.PC.pregType >= 8) {
_boobTarget = 1500;
/* 1800 */
} else if (V.PC.pregType >= 5) {
_boobTarget = 1400;
} else if (V.PC.pregType >= 2) {
_boobTarget = 1000;
} else {
_boobTarget = 800;
}
} else if (V.PC.physicalAge >= 8) {
if (V.PC.pregType >= 8) {
_boobTarget = 1400;
} else if (V.PC.pregType >= 5) {
_boobTarget = 1000;
} else if (V.PC.pregType >= 2) {
_boobTarget = 800;
} else {
_boobTarget = 600;
}
} else {
if (V.PC.pregType >= 8) {
_boobTarget = 1000;
} else if (V.PC.pregType >= 5) {
_boobTarget = 8000;
} else if (V.PC.pregType >= 2) {
_boobTarget = 600;
} else {
_boobTarget = 400;
}
}
/* _boobTarget *= _gigantomastiaMod;*/
if (V.PC.geneMods.NCS === 0) {
/*
if (V.PC.pregType >= 30) {
if (V.PC.weight <= 65) {
r.push(`${He} has <span class="lime">gained weight</span> in order to better sustain ${himself} and ${his} children.`);
V.PC.weight += 1;
}
if (random(1,100) > 60) {
if ((V.PC.boobs - V.PC.boobsImplant) < _boobTarget) {
r.push(`${His} breasts <span class="lime">greatly swell</span> to meet the upcoming demand.`);
V.PC.boobs += 100;
if (V.PC.boobShape !== "saggy" && V.PC.preg > V.PC.pregData.normalBirth/1.25 && (V.PC.breastMesh !== 1) && (V.PC.drugs !== "sag-B-gone")) {
r.push(`${His} immensely engorged <span class="orange">breasts become saggy</span> in the last stages of ${his} pregnancy as ${his} body undergoes changes in anticipation of the forthcoming birth.`);
V.PC.boobShape = "saggy";
}
}
if (V.PC.geneticQuirks.androgyny !== 2) {
if (V.PC.hips < 2) {
r.push(`${His} hips <span class="lime">widen</span> for ${his} upcoming birth.`);
V.PC.hips += 1;
}
if (V.PC.butt < 14) {
r.push(`${His} butt <span class="lime">swells with added fat</span> from ${his} changing body.`);
V.PC.butt += 1;
}
}
}
} else if ((V.PC.pregType >= 10)) {
if (random(1,100) > 80 && ((V.PC.boobs - V.PC.boobsImplant) < _boobTarget)) {
V.PC.boobs += 50;
if (V.PC.boobShape !== "saggy" && (V.PC.breastMesh !== 1) && (V.PC.drugs !== "sag-B-gone")) {
if (V.PC.preg > random(V.PC.pregData.normalBirth/1.25, V.PC.pregData.normalBirth*2.05)) {
r.push(`${His} swollen <span class="orange">breasts become saggy</span> in the last stages of ${his} pregnancy as ${his} body undergoes changes in anticipation of the forthcoming birth.`);
V.PC.boobShape = "saggy";
}
}
}
}
*/
if ((V.PC.boobs - V.PC.boobsImplant) < _boobTarget) {
if (V.PC.boobs >= 1400) {
if (random(1, 100) > 90) {
r.push(`Unsurprisingly, your cow tits <span class="lime">have swollen even larger</span> with your pregnancy.`);
V.PC.boobs += 25;
}
} else if (V.PC.boobs >= 1200) {
if (random(1, 100) > 90) {
r.push(`Your already huge breasts have <span class="lime">grown even heavier</span> with your pregnancy.`);
V.PC.boobs += 25;
if (V.PC.boobs >= 1400) {
r.push(`Your desk is steadily starting to disappear; <span class="lime">H-cups will do that.</span>`);
}
}
} else if (V.PC.boobs >= 1000) {
if (random(1, 100) > 75) {
r.push(`Your already large breasts have <span class="lime">grown even larger</span> with your pregnancy.`);
V.PC.boobs += 25;
if (V.PC.boobs >= 1200) {
r.push(`Nothing fits comfortably now; your tailor says <span class="lime">it's your G-cup knockers.</span> Your back agrees.`);
}
}
} else if (V.PC.boobs >= 800) {
if (random(1, 100) > 75) {
r.push(`Your breasts have <span class="lime">grown a bit larger</span> to feed your coming child`);
if (V.PC.pregType > 1) {
r.push(`ren`);
}
r.push(`.`);
V.PC.boobs += 25;
if (V.PC.boobs >= 1000) {
r.push(`You popped your bra when you put it on; <span class="lime">time to order some F-cups.</span>`);
}
}
} else if (V.PC.boobs >= 650) {
if (random(1, 100) > 80) {
r.push(`Your breasts have <span class="lime">grown a bit larger</span> to feed your coming child`);
if (V.PC.pregType > 1) {
r.push(`ren`);
}
r.push(`.`);
V.PC.boobs += 25;
if (V.PC.boobs >= 800) {
r.push(`Their prominence, and a quick measuring, reveals <span class="lime">you now sport DDs.</span>`);
}
}
} else if (V.PC.boobs >= 500) {
if (random(1, 100) > 80) {
r.push(`Your breasts have <span class="lime">grown a bit larger</span> to feed your coming child`);
if (V.PC.pregType > 1) {
r.push(`ren`);
}
r.push(`.`);
V.PC.boobs += 25;
if (V.PC.boobs >= 650) {
r.push(`They're big, sensitive, <span class="lime">and now a D-cup.</span>`);
}
}
} else if (V.PC.boobs >= 400) {
if (random(1, 100) > 80) {
r.push(`Your breasts have <span class="lime">gotten heavier</span> alongside your pregnancy.`);
V.PC.boobs += 25;
if (V.PC.boobs >= 500) {
r.push(`They spill dramatically out of your bra now, which means <span class="lime">you've graduated to a C-cup.</span>`);
}
}
} else if (V.PC.boobs >= 300) {
if (random(1, 100) > 75) {
r.push(`Your breasts have <span class="lime">swollen</span> alongside your pregnancy.`);
V.PC.boobs += 25;
if (V.PC.boobs >= 400) {
r.push(`A quick measuring after your top started to feel too constricting reveals <span class="lime">you are now a B-cup!</span>`);
}
}
} else {
if (random(1, 100) > 75) {
r.push(`Your chest <span class="lime">has filled out slightly</span> with your pregnancy.`);
V.PC.boobs += 25;
if (V.PC.boobs >= 300) {
r.push(`They've gotten so big that <span class="lime">you can now fill an A-cup bra.</span>`);
}
}
}
if (_sagCheck) {
if (V.PC.boobShape !== "saggy" && V.PC.preg > random(V.PC.pregData.normalBirth / 1.25, V.PC.pregData.normalBirth * 2.5) && (V.PC.breastMesh !== 1) && (V.PC.drugs !== "sag-B-gone")) {
r.push(`${His} <span class="orange">breasts become saggy</span> in the last stages of ${his} pregnancy as ${his} body undergoes changes in anticipation of the forthcoming birth.`);
V.PC.boobShape = "saggy";
}
}
}
/*
if (V.PC.preg > V.PC.pregData.normalBirth/1.25 && V.PC.physicalAge >= 18 && V.PC.hips === 1 && V.PC.hipsImplant === 0 && random(1,100) > 90) {
r.push(`${His} hips <span class="lime">widen</span> to better support ${his} gravidity.`);
V.PC.hips += 1;
} else if (V.PC.preg > V.PC.pregData.normalBirth/1.42 && V.PC.physicalAge >= 18 && V.PC.hips === 0 && V.PC.hipsImplant === 0 && random(1,100) > 70) {
r.push(`${His} hips <span class="lime">widen</span> to better support ${his} gravidity.`);
V.PC.hips += 1;
}
*/
}
}
/* --------------- main labor triggers: -------- */
if (V.PC.preg > V.PC.pregData.normalBirth / 8) {
if (WombBirthReady(V.PC, V.PC.pregData.normalBirth * 1.075) > 0) { // check for really ready fetuses - 43 weeks - max, overdue
V.PC.labor = 1;
} else if (WombBirthReady(V.PC, V.PC.pregData.normalBirth) > 0 && (random(1, 100) > 50)) { // check for really ready fetuses - 40 weeks - normal*/
V.PC.labor = 1;
} else if (WombBirthReady(V.PC, V.PC.pregData.normalBirth / 1.1111) > 0 && (random(1, 100) > 90)) { // check for really ready fetuses - 36 weeks minimum */
V.PC.labor = 1;
}
if (V.PC.labor === 1) {
// <br>
if (V.PC.birthsTotal > 0) {
r.push(`<span class="red">A dull cramp runs down your middle.</span> You'll be giving birth soon.`);
} else {
r.push(`You begin to experience <span class="red">odd cramps</span> in your lower body. Contractions, more than likely.`);
}
}
/*
if (V.dangerousPregnancy === 1 && V.PC.labor !== 1) {
if (V.PC.pregAdaptation < 500) {
_miscarriageChance = -10;
_miscarriageChance += ((V.PC.bellyPreg/1000)-V.PC.pregAdaptation);
r.push(` // this could use to not be linear`);
if (V.PC.inflation > 0) {
_miscarriageChance += 10;
}
_miscarriageChance -= (V.PC.curatives === 1 ? 100 : 0);
if (V.PC.health.health < -20) {
_miscarriageChance -= (V.PC.health.health);
} else if (V.PC.health.health > 80) {
_miscarriageChance -= (V.PC.health.health/10);
}
if (V.PC.weight < -50) {
_miscarriageChance -= (V.PC.weight);
}
if (V.PC.bellyAccessory === "a support band") {
_miscarriageChance -= 30;
}
_miscarriageChance = Math.round(_miscarriageChance);
if (_miscarriageChance > random(0,100)) {
_chance = random(1,100);
if (V.PC.preg >= V.PC.pregData.normalBirth/1.33) {
V.PC.labor = 1, V.birthee = 1;
_miscarriage = 1;
} else if (V.PC.preg > V.PC.pregData.normalBirth/1.48) {
V.PC.labor = 1, V.PC.prematureBirth = 1;
_miscarriage = 1;
} else if (V.PC.preg > V.PC.pregData.normalBirth/1.6 && _chance > 10) {
V.PC.labor = 1, V.PC.prematureBirth = 1;
_miscarriage = 1;
} else if (V.PC.preg > V.PC.pregData.normalBirth/1.73 && _chance > 40) {
V.PC.labor = 1, V.PC.prematureBirth = 1;
_miscarriage = 1;
} else if (V.PC.preg > V.PC.pregData.normalBirth/1.81 && _chance > 75) {
V.PC.labor = 1, V.PC.prematureBirth = 1;
_miscarriage = 1;
} else {
r.push(`${His} overwhelmed body has <span class="orange">forced ${him} to miscarry,</span> possibly saving ${his} life.`);
V.PC.preg = 0;
if (V.PC.sexualFlaw === "breeder") {
r.push(`${He} is <span class="mediumorchid">filled with violent, all-consuming hatred</span> at ${himself} for failing to carry to term and you for allowing this to happen.`);
if (V.PC.pregType > 4) {
r.push(`The loss of so many children at once <span class="red">shatters the distraught breeder's mind.</span>`);
V.PC.fetish = "mindbroken", V.PC.behavioralQuirk = "none", V.PC.behavioralFlaw = "none", V.PC.sexualQuirk = "none", V.PC.sexualFlaw = "none", V.PC.devotion = 0, V.PC.trust = 0;
} else {
r.push(`${He} cares little for what punishment awaits ${his} actions.`);
V.PC.devotion -= 25*V.PC.pregType;
}
} else if (V.PC.devotion < -50) {
r.push(`${He} is <span class="mediumorchid">filled with violent, consuming hatred</span> and <span class="gold">fear.</span> Even though ${he} knew ${his} bab`);
if (V.PC.pregType > 1) {
r.push(`ies were`);
} else {
r.push(`y was`);
}
r.push(` likely destined for a slave orphanage, it seems ${he} cared for `);
if (V.PC.pregType > 1) {
r.push(`them`);
} else {
r.push(`it`);
}
r.push(` and blames you for the loss.`);
V.PC.devotion -= 25, V.PC.trust -= 25;
} else if (V.PC.devotion < -20) {
r.push(`${He} is <span class="mediumorchid">afflicted by desperate, inconsolable grief</span> and <span class="gold">horror.</span> Even though ${he} knew ${his} bab`);
if (V.PC.pregType > 1) {
r.push(`ies were`);
} else {
r.push(`y was`);
}
r.push(` likely destined for a slave orphanage, it seems ${he} cared for `);
if (V.PC.pregType > 1) {
r.push(`them`);
} else {
r.push(`it`);
}
r.push(`.`);
V.PC.devotion -= 10, V.PC.trust -= 20;
} else if (V.PC.fetish === "pregnancy") {
r.push(`${He} is <span class="mediumorchid">filled with deep regret</span> and <span class="gold">fear.</span>`);
if (V.PC.fetishKnown === 1) {
r.push(`To a pregnancy fetishist, ending it like this hurts far worse than birth ever would.`);
} else {
r.push(`It appears ${he} was more attached to ${his} baby bump than ${he} let on and is hurting even more for it.`);
}
_fetishModifier = V.PC.fetishStrength/2;
V.PC.devotion -= 1*_fetishModifier, V.PC.trust -= 1*_fetishModifier;
} else if (V.PC.devotion <= 20) {
r.push(`${He} is <span class="mediumorchid">consumed by enduring sorrow</span> and <span class="gold">horror.</span> Even though ${he} knew ${his} bab`);
if (V.PC.pregType > 1) {
r.push(`ies were`);
} else {
r.push(`y was`);
}
r.push(` likely destined for a slave orphanage, it seems ${he} cared for `);
if (V.PC.pregType > 1) {
r.push(`them`);
} else {
r.push(`it`);
}
r.push(`.`);
V.PC.devotion -= 5, V.PC.trust -= 5;
} else if (V.PC.devotion <= 50) {
r.push(`${He} is dully obedient. ${He} has been broken to slave life so thoroughly that even this is neither surprising nor affecting.`);
} else {
r.push(`${He} is <span class="mediumorchid">disappointed by this development</span> and <span class="gold">afraid</span> of your reaction. By failing to carry to term, ${he} has failed your will.`);
V.PC.devotion -= 10, V.PC.trust -= 10;
}
TerminatePregnancy(V.PC);
actX(V.PC, "abortions");
if (V.PC.abortionTat > -1) {
V.PC.abortionTat++;
r.push(`The temporary tattoo of a child has been replaced with ${his} `);
V.ordinalSuffix(V.PC.abortionTat)
r.push(` crossed out infant.`);
cashX(forceNeg(V.modCost), "slaveMod", V.PC);
}
_miscarriage = 1;
}
}
}
if (V.seeExtreme === 1) {
if (_miscarriage !== 1 && V.PC.bellyPreg >= 100000 && V.PC.geneMods.rapidCellGrowth !== 1) {
r.push(` // If ${he} can't relieve the pressure that way, will ${he} hold?`);
if (V.PC.bellyPreg >= 500000 || V.PC.wombImplant !== "restraint") {
if ((V.PC.belly > (V.PC.pregAdaptation*3200)) || V.PC.bellyPreg >= 500000) {
_burstChance = -80;
_burstChance += ((V.PC.belly/1000)-V.PC.pregAdaptation);
r.push(` // this could use to not be linear`);
if (V.PC.health.health < -20) {
_burstChance -= (V.PC.health.health);
} else if (V.PC.health.health > 80) {
_burstChance -= (V.PC.health.health/10);
}
if (V.PC.weight < 0) {
_burstChance -= V.PC.weight;
}
_burstChance -= V.PC.bellySag;
_burstChance -= V.PC.muscles;
if (V.PC.bellyAccessory === "a support band") {
_burstChance -= 10;
}
if (V.PC.pregControl === "slow gestation") {
_burstChance -= 20;
}
if (V.PC.assignment === "get treatment in the clinic") {
if (S.Nurse) {
_burstChance -= 100;
} else {
_burstChance -= 30;
}
} else if (V.PC.assignment === "work in the dairy" && V.dairyPregSetting === 3) {
_burstChance -= 250;
}
if (V.PC.pregControl === "speed up") {
if (_burstChance > 0) {
_burstChance *= 4;
}
}
_burstChance = Math.round(_burstChance);
if (_burstChance > random(0,100)) {
V.PC.burst = 1;
} else {
r.push(`Constant <span class="red">`);
if (V.PC.geneticQuirks.uterineHypersensitivity === 2) {
r.push(`painful orgasms`);
} else {
r.push(`sharp pains`);
}
r.push(`</span> from ${his} womb strongly suggest <span class="red">${his} body is beginning to break.</span>`);
}
}
}
}
}
}
*/
}
}
return el;
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment