diff --git a/devTools/types/FC/gameState.d.ts b/devTools/types/FC/gameState.d.ts index 53338f89c27c7ec8801427a3840c66c5e78fc29c..1f8e04625aa09294b95d587bcd800f33db544ced 100644 --- a/devTools/types/FC/gameState.d.ts +++ b/devTools/types/FC/gameState.d.ts @@ -151,6 +151,7 @@ declare namespace FC { heroSlaves: SlaveTemplate[]; endweekFlag?: boolean; + limitedCheatStart?: Bool } export interface GameVariables extends DefaultGameStateVariables, ResetOnNGPVariables, diff --git a/src/events/intro/acquisition.js b/src/events/intro/acquisition.js index 3c17f8154e88cc5cfbfb43806055319129234f7a..d101e80d46372baba212e1b767b994beddc4bd9b 100644 --- a/src/events/intro/acquisition.js +++ b/src/events/intro/acquisition.js @@ -25,6 +25,8 @@ App.Intro.acquisition = function() { V.targetAgeNursery = V.minimumSlaveAge; resetFamilyCounters(); + delete V.limitedCheatStart; + App.UI.DOM.appendNewElement("p", el, "You've done it."); App.UI.DOM.appendNewElement("p", el, `You arrive at your new arcology, ${V.arcologies[0].name}, and head straight to the penthouse to enter the access codes that will tell the ${V.arcologies[0].name} systems to recognize you as their owner. The penthouse office is ready to receive the codes, and they authenticate. A voice activates in your earpiece.`); App.UI.DOM.appendNewElement("p", el, `Congratulations. I am a personal assistant program, and it is my pleasure to assist you, ${PlayerName()} the new owner of ${V.arcologies[0].name}. I will offer useful information whenever possible in italics. Your new arcology has some unusual equipment. The previous owner kept a small stable of sex slaves. The penthouse therefore has a body modification studio for tattooing, bleaching and piercing, and an auto salon for more prosaic things like hair care. It also has a remote surgery, a small surgical theater that can be operated remotely by a qualified surgeon if you can pay the fee. Finally, it has a slave nutrition system connected to the arcology's hydroponics bays. This system produces a tasty protein-rich drink that provides the physically active female body all its necessary nutrients while leaving the lower digestive tract extremely clean. It even causes a mild increase in sex drive.`, ["note"]); diff --git a/src/events/intro/introSummary.js b/src/events/intro/introSummary.js index 6b2623414ee599a963a25aeed0f087a7c342626a..b4e33818e101639220a3e459711d8ad3cf9e8f9d 100644 --- a/src/events/intro/introSummary.js +++ b/src/events/intro/introSummary.js @@ -57,468 +57,7 @@ App.Intro.summary = function() { App.UI.DOM.link( "Continue", () => { - if (V.freshPC === 1 || V.saveImported === 0) { - switch (V.PC.career) { - case "arcology owner": - V.PC.skill.trading = 100; - V.PC.skill.warfare = 100; - V.PC.skill.hacking = 100; - V.PC.skill.slaving = 100; - V.PC.skill.engineering = 100; - V.PC.skill.medicine = 100; - V.PC.skill.combat = 100; - break; - case "wealth": - if (V.PC.vagina === 1) { - V.PC.vagina = 2; - } - V.PC.weight = 60; - V.PC.muscles = 0; - break; - case "trust fund": - V.PC.intelligenceImplant = 15; - V.PC.skill.warfare = -50; - V.PC.skill.slaving = -50; - V.PC.skill.engineering = -50; - V.PC.skill.medicine = -50; - V.PC.weight = 60; - V.PC.muscles = 0; - break; - case "rich kid": - V.PC.intelligenceImplant = 5; - V.PC.skill.trading = -25; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -25; - V.PC.weight = 60; - V.PC.muscles = 0; - break; - case "capitalist": - V.PC.skill.trading = 100; - V.PC.muscles = 0; - break; - case "entrepreneur": - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = 50; - V.PC.skill.warfare = -25; - V.PC.skill.slaving = -25; - V.PC.skill.engineering = -25; - V.PC.skill.medicine = -25; - V.PC.muscles = 0; - break; - case "business kid": - V.PC.intelligenceImplant = 5; - V.PC.skill.warfare = -80; - V.PC.skill.slaving = -80; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -20; - V.PC.muscles = 0; - break; - case "mercenary": - V.PC.skill.warfare = 100; - V.PC.skill.combat = 70; - V.PC.muscles = 50; - break; - case "recruit": - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = -25; - V.PC.skill.warfare = 50; - V.PC.skill.slaving = -25; - V.PC.skill.engineering = -25; - V.PC.skill.medicine = -25; - V.PC.skill.combat = 50; - V.PC.muscles = 40; - break; - case "child soldier": - V.PC.intelligenceImplant = 0; - V.PC.skill.trading = -100; - V.PC.skill.slaving = -80; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -80; - V.PC.skill.combat = 30; - break; - case "slaver": - V.PC.skill.slaving = 100; - V.PC.skill.combat = 50; - V.PC.muscles = 50; - break; - case "slave overseer": - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = -20; - V.PC.skill.warfare = -20; - V.PC.skill.slaving = 50; - V.PC.skill.engineering = -25; - V.PC.skill.medicine = -20; - V.PC.skill.combat = 30; - V.PC.muscles = 50; - break; - case "slave tender": - V.PC.intelligenceImplant = 0; - V.PC.skill.trading = -100; - V.PC.skill.warfare = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -60; - V.PC.skill.hacking = -100; - V.PC.muscles = 10; - break; - case "engineer": - V.PC.skill.engineering = 100; - break; - case "construction": - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = -25; - V.PC.skill.warfare = -50; - V.PC.skill.slaving = -25; - V.PC.skill.engineering = 50; - V.PC.skill.medicine = -25; - V.PC.skill.hacking = -20; - V.PC.muscles = 50; - break; - case "worksite helper": - V.PC.intelligenceImplant = 0; - V.PC.skill.trading = -80; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = 0; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -100; - break; - case "medicine": - V.PC.skill.medicine = 100; - V.PC.muscles = 0; - V.consumerDrugs = 1; - break; - case "medical assistant": - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = -25; - V.PC.skill.warfare = -50; - V.PC.skill.slaving = -25; - V.PC.skill.engineering = -25; - V.PC.skill.medicine = 50; - V.PC.skill.hacking = -20; - V.PC.muscles = 0; - break; - case "nurse": - V.PC.intelligenceImplant = 5; - V.PC.skill.trading = -100; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.hacking = -20; - V.PC.muscles = 0; - break; - case "celebrity": - if (V.PC.vagina === 1) { - V.PC.vagina = 2; - } - V.PC.muscles = -20; - break; - case "rising star": - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = -50; - V.PC.skill.warfare = -50; - V.PC.skill.slaving = -50; - V.PC.skill.engineering = -50; - V.PC.skill.medicine = -50; - V.PC.muscles = -20; - break; - case "child star": - V.PC.intelligenceImplant = 0; - V.PC.skill.trading = -100; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -20; - V.PC.muscles = 0; - break; - case "BlackHat": - V.PC.skill.hacking = 100; - V.PC.muscles = -20; - break; - case "hacker": - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = -50; - V.PC.skill.warfare = -50; - V.PC.skill.slaving = -50; - V.PC.skill.engineering = -50; - V.PC.skill.medicine = -50; - V.PC.skill.hacking = 50; - V.PC.muscles = -20; - break; - case "script kiddy": - V.PC.intelligenceImplant = 5; - V.PC.skill.trading = -80; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -80; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = 20; - V.PC.muscles = -20; - break; - case "escort": - if (V.PC.vagina >= 0) { - V.PC.vagina = 4; - } - V.PC.anus = 1; - V.PC.clothes = "a slutty outfit"; - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = 50; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = 10; - V.PC.skill.hacking = 10; - V.PC.muscles = 0; - break; - case "prostitute": - if (V.PC.vagina >= 0) { - V.PC.vagina = 3; - } - V.PC.anus = 1; - V.PC.clothes = "a slutty outfit"; - V.PC.intelligenceImplant = 0; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -50; - V.PC.skill.hacking = -20; - V.PC.muscles = 0; - break; - case "child prostitute": - if (V.PC.vagina >= 0) { - V.PC.vagina = 2; - } - V.PC.anus = 1; - V.PC.clothes = "a slutty outfit"; - V.PC.intelligenceImplant = 0; - V.PC.skill.trading = -50; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -80; - V.PC.muscles = -20; - break; - case "servant": - V.PC.clothes = "a nice maid outfit"; - V.PC.intelligenceImplant = 0; - if (V.PC.vagina >= 1) { - V.PC.vagina = 3; - } - if (V.PC.vagina >= 0) { - V.PC.geneticQuirks.fertility = 2; - } else { - V.PC.geneticQuirks.fertility = 1; - } - V.PC.skill.trading = -100; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -100; - V.PC.muscles = 0; - V.PC.digestiveSystem = "atrophied"; - break; - case "handmaiden": - V.PC.clothes = "a nice maid outfit"; - V.PC.intelligenceImplant = 0; - if (V.PC.vagina >= 1) { - V.PC.vagina = 3; - } - if (V.PC.vagina >= 0) { - V.PC.geneticQuirks.fertility = 2; - } else { - V.PC.geneticQuirks.fertility = 1; - } - V.PC.skill.trading = -100; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -100; - V.PC.muscles = 0; - V.PC.geneticQuirks.fertility = 1; - V.PC.digestiveSystem = "atrophied"; - break; - case "child servant": - V.PC.clothes = "a nice maid outfit"; - V.PC.intelligenceImplant = 0; - if (V.PC.vagina >= 1) { - V.PC.vagina = 2; - } - if (V.PC.vagina >= 0) { - V.PC.geneticQuirks.fertility = 2; - } else { - V.PC.geneticQuirks.fertility = 1; - } - V.PC.skill.trading = -100; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -100; - V.PC.muscles = 0; - V.PC.geneticQuirks.fertility = 1; - V.PC.digestiveSystem = "atrophied"; - break; - case "gang": - if (V.PC.vagina === 1) { - V.PC.vagina = 2; - } - V.PC.intelligenceImplant = 15; - V.PC.skill.trading = 50; - V.PC.skill.warfare = 50; - V.PC.skill.slaving = 50; - V.PC.skill.engineering = -100; - V.PC.skill.hacking = 50; - V.PC.skill.combat = 50; - V.PC.muscles = 60; - break; - case "hoodlum": - V.PC.intelligenceImplant = 0; - V.PC.skill.warfare = -20; - V.PC.skill.slaving = -20; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -50; - V.PC.skill.hacking = 0; - V.PC.skill.combat = 30; - break; - case "street urchin": - V.PC.intelligenceImplant = 0; - V.PC.skill.trading = -20; - V.PC.skill.warfare = -40; - V.PC.skill.slaving = -80; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -100; - V.PC.skill.combat = 10; - break; - case "test subject": - V.PC.intelligenceImplant = 0; - V.PC.skill.trading = -100; - V.PC.skill.warfare = -100; - V.PC.skill.slaving = -100; - V.PC.skill.engineering = -100; - V.PC.skill.medicine = -100; - V.PC.skill.hacking = -100; - V.PC.muscles = -100; - V.PC.boobs = 50000; - V.PC.lactation = 1; - V.PC.lactationAdaptation = 100; - if (V.PC.pubertyXX === 1) { - V.PC.pregType = 100; - V.PC.preg = 27; - } else { - V.PC.bellyImplant = 800000; - } - V.PC.pregAdaptation = 200; - V.PC.hips = 3; - V.PC.butt = 20; - V.PC.dick = 50; - V.PC.balls = 100; - V.PC.weight = 200; - V.PC.digestiveSystem = "atrophied"; - break; - } - if (V.PC.rumor === "diligence") { - V.PC.weight = 0; - if (V.PC.muscles < 30) { - V.PC.muscles += 20; - } - } else if (V.PC.rumor === "force") { - V.PC.muscles += 20; - } - // I hope this works - PCDatatypeCleanup(V.PC); - - if (V.PC.dick >= 3) { - V.PC.geneticQuirks.wellHung = 2; - } - if (V.PC.title === 0) { - V.PC.hLength = 15; - V.PC.waist = -20; - V.PC.voice = 2; - } - if (V.PC.eye.right.vision === 1 || V.PC.eye.left.vision === 1) { - V.PC.eyewear = "corrective glasses"; - } - if (V.PC.physicalAge >= 14) { - if (V.PC.balls > 0) { - V.PC.pubertyXY = 1; - } - if (V.PC.ovaries > 0) { - V.PC.pubertyXX = 1; - } - } - if (V.PC.pubertyXX === 0 && V.PC.pubertyXY === 0) { - if (V.PC.physicalAge < 11) { - V.PC.energy = 20; - } else if (V.PC.physicalAge < 12) { - V.PC.energy = 30; - } else if (V.PC.physicalAge < 13) { - V.PC.energy = 40; - } - } - if (V.PC.genes === "XX") { - if (V.PC.ovaries === 1 && V.PC.pubertyXX > 0) { - if (V.PC.balls > 0 && V.PC.pubertyXY > 0) { - V.PC.hormoneBalance = 10; - } else { - V.PC.hormoneBalance = 50; - } - } else if (V.PC.balls > 0 && V.PC.pubertyXY > 0) { - V.PC.hormoneBalance = -30; - } else { - V.PC.hormoneBalance = 10; - } - } else if (V.PC.genes === "XY") { - if (V.PC.ovaries === 1 && V.PC.pubertyXX > 0) { - if (V.PC.balls > 0 && V.PC.pubertyXY > 0) { - V.PC.hormoneBalance = -10; - } else { - V.PC.hormoneBalance = 30; - } - } else { - if (V.PC.balls > 0 && V.PC.pubertyXY > 0) { - V.PC.hormoneBalance = -50; - } else { - V.PC.hormoneBalance = -10; - } - } - } - if (V.PC.preg > 0 && V.PC.preg > V.PC.pregData.normalBirth / 2) { - V.PC.lactation = 1; - } - if (V.PC.pubertyXX === 1 && V.PC.physicalAge < V.PC.pubertyAgeXX) { - V.PC.pubertyAgeXX = 8; - } - if (V.PC.pubertyXY === 1 && V.PC.physicalAge < V.PC.pubertyAgeXY) { - V.PC.pubertyAgeXY = 8; - } - V.genePool.push(clone(V.PC)); - } - - V.PC.birthName = V.PC.slaveName; - V.PC.birthSurname = V.PC.slaveSurname; - - if (V.saveImported === 1 && V.freshPC === 0 && V.PC.rules.living !== "luxurious") { - if (V.PC.rules.living === "spare") { - V.PC.rules.living = "normal"; - } else { - V.PC.rules.living = "luxurious"; - } - } else if (["celebrity", "child star", "rich kid", "rising star", "trust fund", "wealth"].includes(V.PC.career)) { - V.PC.rules.living = "normal"; - } else { - V.PC.rules.living = "spare"; - } - App.Intro.initNationalities(); - SectorCounts(); // Update AProsperityCap + continueNormal(); }, [], "Starting Girls" @@ -647,6 +186,18 @@ App.Intro.summary = function() { "Intended for debugging: may have unexpected effects" ) ); + linkArray.push( + App.UI.DOM.link( + "Limited Cheat Start", + () => { + continueNormal(); + V.limitedCheatStart = 1; + }, + [], + "Starting Girls", + "Allow cheating when selecting starting slaves" + ) + ); App.UI.DOM.appendNewElement("div", el, App.UI.DOM.generateLinksStrip(linkArray)); return el; @@ -791,6 +342,473 @@ App.Intro.summary = function() { return el; } + + + function continueNormal() { + + if (V.freshPC === 1 || V.saveImported === 0) { + switch (V.PC.career) { + case "arcology owner": + V.PC.skill.trading = 100; + V.PC.skill.warfare = 100; + V.PC.skill.hacking = 100; + V.PC.skill.slaving = 100; + V.PC.skill.engineering = 100; + V.PC.skill.medicine = 100; + V.PC.skill.combat = 100; + break; + case "wealth": + if (V.PC.vagina === 1) { + V.PC.vagina = 2; + } + V.PC.weight = 60; + V.PC.muscles = 0; + break; + case "trust fund": + V.PC.intelligenceImplant = 15; + V.PC.skill.warfare = -50; + V.PC.skill.slaving = -50; + V.PC.skill.engineering = -50; + V.PC.skill.medicine = -50; + V.PC.weight = 60; + V.PC.muscles = 0; + break; + case "rich kid": + V.PC.intelligenceImplant = 5; + V.PC.skill.trading = -25; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -25; + V.PC.weight = 60; + V.PC.muscles = 0; + break; + case "capitalist": + V.PC.skill.trading = 100; + V.PC.muscles = 0; + break; + case "entrepreneur": + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = 50; + V.PC.skill.warfare = -25; + V.PC.skill.slaving = -25; + V.PC.skill.engineering = -25; + V.PC.skill.medicine = -25; + V.PC.muscles = 0; + break; + case "business kid": + V.PC.intelligenceImplant = 5; + V.PC.skill.warfare = -80; + V.PC.skill.slaving = -80; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -20; + V.PC.muscles = 0; + break; + case "mercenary": + V.PC.skill.warfare = 100; + V.PC.skill.combat = 70; + V.PC.muscles = 50; + break; + case "recruit": + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = -25; + V.PC.skill.warfare = 50; + V.PC.skill.slaving = -25; + V.PC.skill.engineering = -25; + V.PC.skill.medicine = -25; + V.PC.skill.combat = 50; + V.PC.muscles = 40; + break; + case "child soldier": + V.PC.intelligenceImplant = 0; + V.PC.skill.trading = -100; + V.PC.skill.slaving = -80; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -80; + V.PC.skill.combat = 30; + break; + case "slaver": + V.PC.skill.slaving = 100; + V.PC.skill.combat = 50; + V.PC.muscles = 50; + break; + case "slave overseer": + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = -20; + V.PC.skill.warfare = -20; + V.PC.skill.slaving = 50; + V.PC.skill.engineering = -25; + V.PC.skill.medicine = -20; + V.PC.skill.combat = 30; + V.PC.muscles = 50; + break; + case "slave tender": + V.PC.intelligenceImplant = 0; + V.PC.skill.trading = -100; + V.PC.skill.warfare = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -60; + V.PC.skill.hacking = -100; + V.PC.muscles = 10; + break; + case "engineer": + V.PC.skill.engineering = 100; + break; + case "construction": + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = -25; + V.PC.skill.warfare = -50; + V.PC.skill.slaving = -25; + V.PC.skill.engineering = 50; + V.PC.skill.medicine = -25; + V.PC.skill.hacking = -20; + V.PC.muscles = 50; + break; + case "worksite helper": + V.PC.intelligenceImplant = 0; + V.PC.skill.trading = -80; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = 0; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -100; + break; + case "medicine": + V.PC.skill.medicine = 100; + V.PC.muscles = 0; + V.consumerDrugs = 1; + break; + case "medical assistant": + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = -25; + V.PC.skill.warfare = -50; + V.PC.skill.slaving = -25; + V.PC.skill.engineering = -25; + V.PC.skill.medicine = 50; + V.PC.skill.hacking = -20; + V.PC.muscles = 0; + break; + case "nurse": + V.PC.intelligenceImplant = 5; + V.PC.skill.trading = -100; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.hacking = -20; + V.PC.muscles = 0; + break; + case "celebrity": + if (V.PC.vagina === 1) { + V.PC.vagina = 2; + } + V.PC.muscles = -20; + break; + case "rising star": + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = -50; + V.PC.skill.warfare = -50; + V.PC.skill.slaving = -50; + V.PC.skill.engineering = -50; + V.PC.skill.medicine = -50; + V.PC.muscles = -20; + break; + case "child star": + V.PC.intelligenceImplant = 0; + V.PC.skill.trading = -100; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -20; + V.PC.muscles = 0; + break; + case "BlackHat": + V.PC.skill.hacking = 100; + V.PC.muscles = -20; + break; + case "hacker": + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = -50; + V.PC.skill.warfare = -50; + V.PC.skill.slaving = -50; + V.PC.skill.engineering = -50; + V.PC.skill.medicine = -50; + V.PC.skill.hacking = 50; + V.PC.muscles = -20; + break; + case "script kiddy": + V.PC.intelligenceImplant = 5; + V.PC.skill.trading = -80; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -80; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = 20; + V.PC.muscles = -20; + break; + case "escort": + if (V.PC.vagina >= 0) { + V.PC.vagina = 4; + } + V.PC.anus = 1; + V.PC.clothes = "a slutty outfit"; + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = 50; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = 10; + V.PC.skill.hacking = 10; + V.PC.muscles = 0; + break; + case "prostitute": + if (V.PC.vagina >= 0) { + V.PC.vagina = 3; + } + V.PC.anus = 1; + V.PC.clothes = "a slutty outfit"; + V.PC.intelligenceImplant = 0; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -50; + V.PC.skill.hacking = -20; + V.PC.muscles = 0; + break; + case "child prostitute": + if (V.PC.vagina >= 0) { + V.PC.vagina = 2; + } + V.PC.anus = 1; + V.PC.clothes = "a slutty outfit"; + V.PC.intelligenceImplant = 0; + V.PC.skill.trading = -50; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -80; + V.PC.muscles = -20; + break; + case "servant": + V.PC.clothes = "a nice maid outfit"; + V.PC.intelligenceImplant = 0; + if (V.PC.vagina >= 1) { + V.PC.vagina = 3; + } + if (V.PC.vagina >= 0) { + V.PC.geneticQuirks.fertility = 2; + } else { + V.PC.geneticQuirks.fertility = 1; + } + V.PC.skill.trading = -100; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -100; + V.PC.muscles = 0; + V.PC.digestiveSystem = "atrophied"; + break; + case "handmaiden": + V.PC.clothes = "a nice maid outfit"; + V.PC.intelligenceImplant = 0; + if (V.PC.vagina >= 1) { + V.PC.vagina = 3; + } + if (V.PC.vagina >= 0) { + V.PC.geneticQuirks.fertility = 2; + } else { + V.PC.geneticQuirks.fertility = 1; + } + V.PC.skill.trading = -100; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -100; + V.PC.muscles = 0; + V.PC.geneticQuirks.fertility = 1; + V.PC.digestiveSystem = "atrophied"; + break; + case "child servant": + V.PC.clothes = "a nice maid outfit"; + V.PC.intelligenceImplant = 0; + if (V.PC.vagina >= 1) { + V.PC.vagina = 2; + } + if (V.PC.vagina >= 0) { + V.PC.geneticQuirks.fertility = 2; + } else { + V.PC.geneticQuirks.fertility = 1; + } + V.PC.skill.trading = -100; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -100; + V.PC.muscles = 0; + V.PC.geneticQuirks.fertility = 1; + V.PC.digestiveSystem = "atrophied"; + break; + case "gang": + if (V.PC.vagina === 1) { + V.PC.vagina = 2; + } + V.PC.intelligenceImplant = 15; + V.PC.skill.trading = 50; + V.PC.skill.warfare = 50; + V.PC.skill.slaving = 50; + V.PC.skill.engineering = -100; + V.PC.skill.hacking = 50; + V.PC.skill.combat = 50; + V.PC.muscles = 60; + break; + case "hoodlum": + V.PC.intelligenceImplant = 0; + V.PC.skill.warfare = -20; + V.PC.skill.slaving = -20; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -50; + V.PC.skill.hacking = 0; + V.PC.skill.combat = 30; + break; + case "street urchin": + V.PC.intelligenceImplant = 0; + V.PC.skill.trading = -20; + V.PC.skill.warfare = -40; + V.PC.skill.slaving = -80; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -100; + V.PC.skill.combat = 10; + break; + case "test subject": + V.PC.intelligenceImplant = 0; + V.PC.skill.trading = -100; + V.PC.skill.warfare = -100; + V.PC.skill.slaving = -100; + V.PC.skill.engineering = -100; + V.PC.skill.medicine = -100; + V.PC.skill.hacking = -100; + V.PC.muscles = -100; + V.PC.boobs = 50000; + V.PC.lactation = 1; + V.PC.lactationAdaptation = 100; + if (V.PC.pubertyXX === 1) { + V.PC.pregType = 100; + V.PC.preg = 27; + } else { + V.PC.bellyImplant = 800000; + } + V.PC.pregAdaptation = 200; + V.PC.hips = 3; + V.PC.butt = 20; + V.PC.dick = 50; + V.PC.balls = 100; + V.PC.weight = 200; + V.PC.digestiveSystem = "atrophied"; + break; + } + if (V.PC.rumor === "diligence") { + V.PC.weight = 0; + if (V.PC.muscles < 30) { + V.PC.muscles += 20; + } + } else if (V.PC.rumor === "force") { + V.PC.muscles += 20; + } + // I hope this works + PCDatatypeCleanup(V.PC); + + if (V.PC.dick >= 3) { + V.PC.geneticQuirks.wellHung = 2; + } + if (V.PC.title === 0) { + V.PC.hLength = 15; + V.PC.waist = -20; + V.PC.voice = 2; + } + if (V.PC.eye.right.vision === 1 || V.PC.eye.left.vision === 1) { + V.PC.eyewear = "corrective glasses"; + } + if (V.PC.physicalAge >= 14) { + if (V.PC.balls > 0) { + V.PC.pubertyXY = 1; + } + if (V.PC.ovaries > 0) { + V.PC.pubertyXX = 1; + } + } + if (V.PC.pubertyXX === 0 && V.PC.pubertyXY === 0) { + if (V.PC.physicalAge < 11) { + V.PC.energy = 20; + } else if (V.PC.physicalAge < 12) { + V.PC.energy = 30; + } else if (V.PC.physicalAge < 13) { + V.PC.energy = 40; + } + } + if (V.PC.genes === "XX") { + if (V.PC.ovaries === 1 && V.PC.pubertyXX > 0) { + if (V.PC.balls > 0 && V.PC.pubertyXY > 0) { + V.PC.hormoneBalance = 10; + } else { + V.PC.hormoneBalance = 50; + } + } else if (V.PC.balls > 0 && V.PC.pubertyXY > 0) { + V.PC.hormoneBalance = -30; + } else { + V.PC.hormoneBalance = 10; + } + } else if (V.PC.genes === "XY") { + if (V.PC.ovaries === 1 && V.PC.pubertyXX > 0) { + if (V.PC.balls > 0 && V.PC.pubertyXY > 0) { + V.PC.hormoneBalance = -10; + } else { + V.PC.hormoneBalance = 30; + } + } else { + if (V.PC.balls > 0 && V.PC.pubertyXY > 0) { + V.PC.hormoneBalance = -50; + } else { + V.PC.hormoneBalance = -10; + } + } + } + if (V.PC.preg > 0 && V.PC.preg > V.PC.pregData.normalBirth / 2) { + V.PC.lactation = 1; + } + if (V.PC.pubertyXX === 1 && V.PC.physicalAge < V.PC.pubertyAgeXX) { + V.PC.pubertyAgeXX = 8; + } + if (V.PC.pubertyXY === 1 && V.PC.physicalAge < V.PC.pubertyAgeXY) { + V.PC.pubertyAgeXY = 8; + } + V.genePool.push(clone(V.PC)); + } + + V.PC.birthName = V.PC.slaveName; + V.PC.birthSurname = V.PC.slaveSurname; + + if (V.saveImported === 1 && V.freshPC === 0 && V.PC.rules.living !== "luxurious") { + if (V.PC.rules.living === "spare") { + V.PC.rules.living = "normal"; + } else { + V.PC.rules.living = "luxurious"; + } + } else if (["celebrity", "child star", "rich kid", "rising star", "trust fund", "wealth"].includes(V.PC.career)) { + V.PC.rules.living = "normal"; + } else { + V.PC.rules.living = "spare"; + } + App.Intro.initNationalities(); + SectorCounts(); // Update AProsperityCap + } }; /** * @param {boolean} isIntro diff --git a/src/gui/storyCaption.js b/src/gui/storyCaption.js index 44219b7640a4133c1b451e77eea7e43e2ad0c242..60b633c15646395dfb9bee25c57533898e45196f 100644 --- a/src/gui/storyCaption.js +++ b/src/gui/storyCaption.js @@ -504,24 +504,38 @@ App.UI.storyCaption = function() { } function startingGirls() { + const f = new DocumentFragment(); + // @ts-ignore // In starting girls we know that there is always an active slave let cost = startingSlaveCost(V.activeSlave); - const p = document.createElement("p"); - + let p = document.createElement("p"); if (cost > V.cash) { const div = document.createElement("div"); div.classList.add("cash", "dec"); div.append("This slave will cost ", - App.UI.DOM.makeElement("span", cashFormat(cost), ["bold"]), ".", - App.UI.DOM.makeElement("div", `You only have: ${cashFormat(V.cash)}.`)); + App.UI.DOM.makeElement("span", cashFormat(cost), ["bold"]), "."); p.append(div); + + App.UI.DOM.appendNewElement("div", p, `You only have: ${cashFormat(V.cash)}.`); } else { const div = document.createElement("div"); div.append("This slave will cost ", - App.UI.DOM.makeElement("span", cashFormat(cost), ["cash"]), ".", - App.UI.DOM.makeElement("div", `You have ${cashFormat(V.cash)}.`)); + App.UI.DOM.makeElement("span", cashFormat(cost), ["cash"]), "."); p.append(div); + + App.UI.DOM.appendNewElement("div", p, `You have ${cashFormat(V.cash)}.`); } - return p; + f.append(p); + + if (V.limitedCheatStart) { + p = document.createElement("p"); + p.append("Edit cash: ", App.UI.DOM.makeTextBox(V.cash, cash => { + cashX(cash - V.cash, "cheating"); + App.UI.reload(); + }, true)); + f.append(p); + } + + return f; } };