diff --git a/src/personalAssistant/assistant.js b/src/personalAssistant/assistant.js index 6d691993e8e41dbd920f030c4b471e7caa907700..4078eb5accdac637246dc17446357a2425c84821 100644 --- a/src/personalAssistant/assistant.js +++ b/src/personalAssistant/assistant.js @@ -5,6 +5,9 @@ globalThis.assistant = (function() { pronouns: pronouns, }; + /** + * runs the assistant's backwards compatibility + */ function BC() { App.Update.assistantBC(); } diff --git a/src/personalAssistant/assistantAppearancePackTwo.js b/src/personalAssistant/assistantAppearancePackTwo.js index c43b24c74ffc74085eac1634f6b5e5db2d40cdc4..cf988f030ec90ea0e21abe5126c5e371dd9a11ef 100644 --- a/src/personalAssistant/assistantAppearancePackTwo.js +++ b/src/personalAssistant/assistantAppearancePackTwo.js @@ -47,52 +47,79 @@ App.UI.assistantAppearancePackTwo = function() { return node; + /** + * @returns {string} flavor text for the assistants angel appearance + */ function angel() { refreshArt(); V.assistant.appearance = "angel"; return `At your order, ${heA} installs the angel appearance. ${HeA} spreads ${hisA} wings and checks out ${hisA} new body, "Thanks, ${properTitle()}, but could I have a robe or something? I'm indecent!" ${HeA} blushes red. "You can always customize me from the arcology management menu," ${heA} adds.`; } + /** + * @returns {string} flavor text for the assistants cherub appearance + */ function cherub() { refreshArt(); V.assistant.appearance = "cherub"; return `At your order, ${heA} installs the cherub appearance. ${HeA} returns to ${hisA} youthful figure and sprouts ${hisA} wings. "This is awesome, little embarrassing though..." ${HeA} says, covering ${hisA} shame. "You can always customize me from the arcology management menu," ${heA} adds.`; } + /** + * @returns {string} flavor text for the assistants imp appearance + */ function imp() { refreshArt(); V.assistant.appearance = "imp"; return `At your order, ${heA} installs the imp appearance. ${HeA} returns to ${hisA} youthful figure and sprouts ${hisA} wings. "This is awesome! So, wanna fool around? Maybe go torment some slaves?" ${HeA} says, pulling out a pitchfork. "You can always customize me from the arcology management menu," ${heA} adds.`; } + /** + * @returns {string} flavor text for the assistants succubus appearance + */ function succubus() { refreshArt(); V.assistant.appearance = "succubus"; return `At your order, ${heA} installs the succubus appearance. ${HeA} promptly takes your breath away. "Thank you, ${properTitle()}. Now how shall I show you my appreciation..." ${HisA} avatar trails off while spreading ${hisA} legs and flashing you ${hisA} lovely pussy. "You can always customize me from the arcology management menu," ${heA} adds, with a hint of disapproval.`; } + /** + * @returns {string} flavor text for the assistants incubus appearance + */ function incubus() { refreshArt(); V.assistant.appearance = "incubus"; return `At your order, ${heA} installs the incubus appearance. ${HeA} becomes rather masculine, sporting a soft cock nearly as long as ${hisA} thigh. "Thank you, ${properTitle()}. This is going to be fun. Would you like a taste?" ${HeA} steadily becomes erect, a bead of precum forming at its tip. "You can always customize me from the arcology management menu," ${heA} adds, with a hint of disapproval.`; } + /** + * @returns {string} flavor text for the assistants witch appearance + */ function witch() { refreshArt(); V.assistant.appearance = "witch"; return `At your order, ${heA} installs the novice witch appearance. ${HeA} wraps a tightly clinging robe around ${hisA} voluptuous body and dons a wide-brimmed hat. "You can always customize me from the arcology management menu," ${heA} adds, pulling a book of lewd spells out.`; } + /** + * @returns {string} flavor text for the assistants `bugged` appearance + */ function bugged() { refreshArt(); V.assistant.appearance = "ERROR_1606_APPEARANCE_FILE_CORRUPT"; return `At your order, ${heA} installs the bugged appearance. ${HisA} body twists and contorts into an abomination of flesh and bone. It is honestly unsettling to look at. The thing morphs its body into a familiar female shape, though it is still off. Especially ${hisA} eyes; they seem soulless. "You can always customize me from the arcology management menu," ${heA} adds, in an ill pronounced mimicry of your voice.`; } + /** + * @returns {string} flavor text for the assistant keeping their current appearance + */ function current() { return `At your order, ${heA} maintains the ${V.assistant.appearance} appearance as ${hisA} avatar. "Yes, ${properTitle()}," ${heA} confirms, and adds "if you reconsider, I can be customized from the arcology management menu."`; } + /** + * Refreshes the assistants art + */ function refreshArt() { App.Events.refreshEventArt("assistant"); } diff --git a/src/personalAssistant/assistantOptions.js b/src/personalAssistant/assistantOptions.js index 3dc82803f5b7dfc2683655f49a656e6fc89b042d..b2f83d1f7b4a06b5d93589d4905d620a2895f42a 100644 --- a/src/personalAssistant/assistantOptions.js +++ b/src/personalAssistant/assistantOptions.js @@ -54,6 +54,9 @@ App.UI.personalAssistantOptions = function() { return node; + /** + * @returns {DocumentFragment} a DocumentFragment that lets the player upgrade the assistant's computer + */ function upgrades() { const frag = new DocumentFragment(); @@ -103,6 +106,9 @@ App.UI.personalAssistantOptions = function() { return frag; } + /** + * @returns {DocumentFragment} a DocumentFragment that lets the player change the assistant's settings + */ function settings() { const frag = new DocumentFragment(); @@ -169,6 +175,9 @@ App.UI.personalAssistantOptions = function() { return frag; } + /** + * @returns {DocumentFragment} a DocumentFragment that lets the player change the assistants appearace + */ function appearance() { const frag = new DocumentFragment(); diff --git a/src/player/doctorConsultation.js b/src/player/doctorConsultation.js index e6658b925c881d01fccbfe16803254ecfb68b996..1442740ff5ac55bbcc3a579d678cd0d84128c834 100644 --- a/src/player/doctorConsultation.js +++ b/src/player/doctorConsultation.js @@ -48,6 +48,9 @@ App.UI.doctorConsultation = function() { return frag; + /** + * @returns {HTMLDivElement} a div that shows the players current health status + */ function medicalExam() { const r = []; const PCH = V.PC.health; @@ -251,6 +254,9 @@ App.UI.doctorConsultation = function() { return examDiv; } + /** + * @returns {HTMLDivElement} a div that lets the player choose what drugs to take/stop taking + */ function drugs() { const hormonesDiv = document.createElement("div"); const playerDrugsDiv = document.createElement("div"); @@ -279,6 +285,9 @@ App.UI.doctorConsultation = function() { return drugsDiv; + /** + * @returns {HTMLDivElement} a div that lets the player choose what player grade drugs to take/stop taking + */ function playerDrugs() { App.UI.DOM.appendNewElement("h3", playerDrugsDiv, `Drugs`); const text = []; @@ -430,6 +439,9 @@ App.UI.doctorConsultation = function() { return playerDrugsDiv; } + /** + * @returns {HTMLDivElement} a div that lets the player take/stop taking hormonal drugs + */ function hormones() { App.UI.DOM.appendNewElement("h3", hormonesDiv, `Hormones`); const text = []; @@ -463,6 +475,9 @@ App.UI.doctorConsultation = function() { return hormonesDiv; } + /** + * @returns {HTMLDivElement} a div that lets the player toggle the use of labor suppressors + */ function pregDrugs() { App.UI.DOM.appendNewElement("h3", pregDrugsDiv, `Pregnancy Drugs`); const text = []; @@ -491,6 +506,9 @@ App.UI.doctorConsultation = function() { return pregDrugsDiv; } + /** + * @returns {HTMLDivElement} a div that lets the player toggle the use of anaphrodisiacs + */ function anaphrodisiacs() { const text = []; @@ -519,6 +537,9 @@ App.UI.doctorConsultation = function() { return anaphrodisiacDiv; } + /** + * @returns {HTMLDivElement} a div that lets the player go on a diet that weans them off slave food + */ function slaveFoodCure() { const text = []; @@ -555,6 +576,10 @@ App.UI.doctorConsultation = function() { } } + /** + * increases the players health by 5 + * @returns {HTMLDivElement} a div that shows the flavor text of a small boost to the players health + */ function healthBoost() { const text = []; @@ -566,6 +591,10 @@ App.UI.doctorConsultation = function() { return treatDiv; } + /** + * reduces the players illness by 2 (with a floor of 0) + * @returns {HTMLDivElement} a div that shows the flavor text for a reduction in the players illness + */ function treatIllness() { const text = []; diff --git a/src/player/electiveSurgery.js b/src/player/electiveSurgery.js index 9b05ecdada5a6555d100f5b7c6008c388c0ced6f..9c7d016e9c29a33c363099e2d959ce72026c473f 100644 --- a/src/player/electiveSurgery.js +++ b/src/player/electiveSurgery.js @@ -142,6 +142,11 @@ App.UI.electiveSurgery = function() { return el; + /** + * @param {number} price the price to be potential discounted + * @param {boolean} [implant] should be true if it is an implant being discounted + * @returns {number} discounted price + */ function applyDiscount(price, implant = false) { if (freebie === 1) { price *= .5; @@ -157,6 +162,9 @@ App.UI.electiveSurgery = function() { return price; } + /** + * Appends a div to `el` that lets the player change their facial features (younger or older) + */ function face() { const p = document.createElement("p"); const r = []; @@ -198,6 +206,9 @@ App.UI.electiveSurgery = function() { el.append(p); } + /** + * Appends a div to `el` that lets the player change their skin tone + */ function skin() { const p = document.createElement("p"); const r = []; @@ -240,6 +251,9 @@ App.UI.electiveSurgery = function() { el.append(p); } + /** + * Appends a div to `el` that lets the player change their breast size + */ function breasts() { const p = document.createElement("p"); const r = []; @@ -336,6 +350,9 @@ App.UI.electiveSurgery = function() { p.append(App.UI.DOM.makeElement("div", App.UI.DOM.generateLinksStrip(linkArray))); el.append(p); + /** + * @returns {HTMLAnchorElement} a link for breast implant removal + */ function breastReductionImplant() { return surgeryLink("Have your implants removed", "breastReductionImplant", () => { V.PC.boobs -= V.PC.boobsImplant; @@ -345,6 +362,9 @@ App.UI.electiveSurgery = function() { }); } + /** + * @returns {HTMLAnchorElement} a link for breast enlargement via implant + */ function breastEnlargementImplant() { return surgeryLink("Get the next size up", "breastEnlargementImplant", () => { V.PC.boobs += 200; @@ -353,6 +373,10 @@ App.UI.electiveSurgery = function() { }); } + /** + * @param {number} [boobGrowth] how much the breasts should be enlarged (200 by default) + * @returns {HTMLAnchorElement} a link for breast enlargement via flesh + */ function breastEnlargement(boobGrowth = 200) { return surgeryLink("Add additional breast tissue", "breastEnlargement", () => { V.PC.boobs += boobGrowth; @@ -360,6 +384,9 @@ App.UI.electiveSurgery = function() { }); } + /** + * @returns {HTMLAnchorElement} a link for breast shrinkage via flesh removal + */ function breastShrinkageRelative() { return surgeryLink("Have tissue removed", "breastShrinkage", () => { V.PC.boobs -= 200; @@ -367,6 +394,9 @@ App.UI.electiveSurgery = function() { }); } + /** + * @returns {HTMLAnchorElement} a link for breast implant installation + */ function getImplants() { return surgeryLink("Get a pair of breast implants", "breastEnlargementImplant", () => { V.PC.boobs += 200; @@ -387,6 +417,9 @@ App.UI.electiveSurgery = function() { }); } + /** + * @returns {HTMLAnchorElement} a link for the full removal of the breasts (flat as a board as they say) + */ function flatChest() { return surgeryLink("Have them removed", "flatChest", () => { V.PC.boobs = 100; @@ -394,6 +427,9 @@ App.UI.electiveSurgery = function() { }); } + /** + * @returns {HTMLAnchorElement} a link for that adds breasts to the player + */ function breasts() { return surgeryLink("Get a pair of breasts", "breasts", () => { V.PC.boobs = 650; @@ -402,6 +438,9 @@ App.UI.electiveSurgery = function() { } } + /** + * Appends a div to `el` that lets the player remove belly fat + */ function belly() { const p = document.createElement("p"); const r = []; @@ -498,6 +537,9 @@ App.UI.electiveSurgery = function() { el.append(p); } + /** + * Appends a div to `el` that lets the player change their butt size + */ function butt() { const p = document.createElement("p"); const r = []; @@ -561,6 +603,9 @@ App.UI.electiveSurgery = function() { p.append(App.UI.DOM.makeElement("div", App.UI.DOM.generateLinksStrip(linkArray))); el.append(p); + /** + * @returns {HTMLAnchorElement} a link for removal of butt implants + */ function buttReductionImplantRemove() { return surgeryLink("Have your implants removed", "buttReductionImplant", () => { V.PC.butt -= V.PC.buttImplant; @@ -570,6 +615,9 @@ App.UI.electiveSurgery = function() { }); } + /** + * @returns {HTMLAnchorElement} a link for shrinkage of the butt via flesh removal + */ function buttShrinkage() { return surgeryLink("Have fat removed", "buttShrinkage", () => { V.PC.butt -= 1; @@ -577,6 +625,9 @@ App.UI.electiveSurgery = function() { }); } + /** + * @returns {HTMLAnchorElement} a link for enlargement of the butt via implant + */ function buttEnlargementImplant() { return surgeryLink("Get the next size up", "buttEnlargementImplant", () => { V.PC.butt += 1; @@ -585,6 +636,9 @@ App.UI.electiveSurgery = function() { }); } + /** + * @returns {HTMLAnchorElement} a link for enlargement of the butt via flesh + */ function buttEnlargement() { return surgeryLink("Add additional fatty tissue", "buttEnlargement", () => { V.PC.butt += 1; @@ -593,6 +647,9 @@ App.UI.electiveSurgery = function() { } } + /** + * Appends a div to `el` that lets the player change their ball sack size + */ function balls() { const p = document.createElement("p"); const r = []; @@ -701,6 +758,9 @@ App.UI.electiveSurgery = function() { el.append(p); } + /** + * Appends a div to `el` that lets the player tighten their vagina and/or restore their hymen + */ function vagina() { const p = document.createElement("p"); const r = []; @@ -780,6 +840,9 @@ App.UI.electiveSurgery = function() { el.append(p); } + /** + * Appends a div to `el` that lets the player regenerate their ovaries + */ function ovaries() { const p = document.createElement("p"); const r = []; @@ -795,6 +858,9 @@ App.UI.electiveSurgery = function() { el.append(p); } + /** + * Appends a div to `el` that lets the player change their sex + */ function sexType() { const p = document.createElement("p"); const r = []; @@ -993,7 +1059,7 @@ App.UI.electiveSurgery = function() { /** * * @param {string} title - * @param {string} type + * @param {surgeryType} type * @param {function():void} func * @returns {HTMLAnchorElement} */ @@ -1007,6 +1073,10 @@ App.UI.electiveSurgery = function() { ); } + /** + * Appends a DocumentFragment to `el` that shows the result of the player's surgery + * @param {surgeryType} type the type of surgery that was performed + */ function showDegradation(type) { V.nextButton = "Continue"; V.nextLink = "Manage Personal Affairs"; diff --git a/src/player/managePersonalAffairs.js b/src/player/managePersonalAffairs.js index ea2a6de9fd9d9cd2621cf4b72a17196a8a5a817b..0e6808ffeb2546d9c8ff1f228b189e7c20d837dd 100644 --- a/src/player/managePersonalAffairs.js +++ b/src/player/managePersonalAffairs.js @@ -51,6 +51,9 @@ App.UI.managePersonalAffairs = function() { return frag; + /** + * @returns {HTMLDivElement} a constructed a div with the players appearance described + */ function appearance() { const doctorDiv = document.createElement("div"); const surgeonDiv = document.createElement("div"); @@ -90,6 +93,9 @@ App.UI.managePersonalAffairs = function() { return appearanceDiv; + /** + * @returns {HTMLDivElement} a constructed div with links to consult a doctor + */ function doctor() { const text = []; @@ -104,6 +110,9 @@ App.UI.managePersonalAffairs = function() { return doctorDiv; } + /** + * @returns {HTMLDivElement} a constructed div with links to visit a plastic surgeon + */ function surgeon() { const text = []; @@ -126,12 +135,18 @@ App.UI.managePersonalAffairs = function() { return surgeonDiv; } + /** + * @returns {HTMLDivElement} a constructed div with links to change the player's appearance + */ function salon() { salonDiv.append(App.UI.DOM.passageLink(`Change your appearance`, "Personal Appearance",)); return salonDiv; } } + /** + * @returns {HTMLDivElement} a constructed div that contains items related to the players reputation (title, rumors, etc) + */ function reputation() { const customTitleDiv = document.createElement("div"); const textBoxDiv = document.createElement("div"); @@ -204,6 +219,10 @@ App.UI.managePersonalAffairs = function() { return reputationDiv; + /** + * Shows the player's custom title if they have one. Lets them set one if they don't + * @returns {HTMLDivElement} + */ function customTitle() { if (!PC.customTitle) { textBoxDiv.append( @@ -242,7 +261,11 @@ App.UI.managePersonalAffairs = function() { return customTitleDiv; } - // TODO: waiting for 5.0 per pregmodder + /** + * Lets the player set their preferred pronouns + * TODO: waiting for 5.0 per pregmodder + * @returns {HTMLDivElement} + */ function pronouns() { const options = new App.UI.OptionsGroup(); const {he, him} = getPronouns(V.PC); @@ -256,6 +279,10 @@ App.UI.managePersonalAffairs = function() { return pronounsDiv; } + /** + * Allows the player to rename themselves + * @returns {HTMLDivElement} + */ function renamePlayer() { newNameDiv.append( `New name: `, @@ -273,6 +300,10 @@ App.UI.managePersonalAffairs = function() { return renamePlayerDiv; } + /** + * Let the player know if there are rumors going around about them + * @returns {HTMLDivElement} + */ function rumors() { App.UI.DOM.appendNewElement("h3", rumorsDiv, `Rumors`); @@ -280,6 +311,9 @@ App.UI.managePersonalAffairs = function() { return rumorsDiv; + /** + * @returns {string} the correct rumor flavor text for the players degeneracy level + */ function getPlayerRumors() { if (PC.degeneracy > 100) { return `There are severe and devastating rumors about you spreading across the arcology.`; @@ -297,6 +331,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {HTMLDivElement} a div with a link that shows the player's family tree + */ function family() { App.UI.DOM.appendNewElement("h3", familyDiv, `Family`); @@ -309,6 +346,9 @@ App.UI.managePersonalAffairs = function() { return familyDiv; } + /** + * @returns {HTMLDivElement} a div with options related to the player's pregnancy + */ function pregnancy() { const text = []; const links = []; @@ -442,6 +482,9 @@ App.UI.managePersonalAffairs = function() { return pregnancyDiv; } + /** + * @returns {HTMLDivElement} a div with a detailed count of births the player has had + */ function births() { const babies = count => count === 1 ? `${count} baby` : `${count} babies`; @@ -489,6 +532,9 @@ App.UI.managePersonalAffairs = function() { return birthsDiv; } + /** + * @returns {HTMLDivElement} a div listing the player's sexual partners + */ function partners() { const text = []; @@ -584,6 +630,9 @@ App.UI.managePersonalAffairs = function() { return partnersDiv; } + /** + * @returns {HTMLDivElement} a div with the count of slaves the player has fathered and the amount of slaves they have knocked up + */ function knockedUp() { const text = []; @@ -604,6 +653,9 @@ App.UI.managePersonalAffairs = function() { return knockedUpDiv; } + /** + * @returns {HTMLDivElement} a div with the amount of slaves the player has fathered + */ function fathered() { const text = []; @@ -618,6 +670,9 @@ App.UI.managePersonalAffairs = function() { return fatheredDiv; } + /** + * @returns {HTMLDivElement} a div that allows the player to provide their womb for breeding by the Societal Elite + */ function breeding() { const text = []; @@ -657,6 +712,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {HTMLDivElement} a div allowing the player to change their diet + */ function diet() { App.UI.DOM.appendNewElement("h2", dietDiv, `Diet`); @@ -907,6 +965,9 @@ App.UI.managePersonalAffairs = function() { return dietDiv; } + /** + * @returns {HTMLDivElement} a div allowing the player to use drugs + */ function drugs() { const hormonesDiv = document.createElement("div"); const playerDrugsDiv = document.createElement("div"); @@ -926,6 +987,9 @@ App.UI.managePersonalAffairs = function() { return drugsDiv; + /** + * @returns {HTMLDivElement} a div listing hormonal drugs + */ function hormones() { App.UI.DOM.appendNewElement("h3", hormonesDiv, `Hormones`); if (PC.hormones !== 0) { @@ -961,6 +1025,9 @@ App.UI.managePersonalAffairs = function() { return hormonesDiv; } + /** + * @returns {HTMLDivElement} a div listing drugs the player can use + */ function playerDrugs() { const consumerDrugsDiv = document.createElement("div"); const buyDrugsDiv = document.createElement("div"); @@ -989,6 +1056,9 @@ App.UI.managePersonalAffairs = function() { return playerDrugsDiv; + /** + * @returns {HTMLDivElement} a div listing consumer grade drugs the player can use + */ function consumerDrugs() { const text = []; const links = []; @@ -1188,6 +1258,9 @@ App.UI.managePersonalAffairs = function() { return consumerDrugsDiv; } + /** + * @returns {HTMLDivElement} a div allowing the player to purchase a prescription drug license + */ function buyConsumerDrugs() { const drugsCash = 20000; buyDrugsDiv.append( @@ -1203,6 +1276,9 @@ App.UI.managePersonalAffairs = function() { return buyDrugsDiv; } + /** + * @returns {HTMLDivElement} a div listing slave grade drugs the player can use + */ function slaveDrugs() { const text = []; const links = []; @@ -1630,6 +1706,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {HTMLDivElement} a div that allows the player to stop taking labor suppressors + */ function pregDrugs() { const text = []; @@ -1647,6 +1726,9 @@ App.UI.managePersonalAffairs = function() { return pregDrugsDiv; } + /** + * @returns {HTMLDivElement} a div letting the player take aphrodisiacs + */ function aphrodisiacs() { const text = []; @@ -1722,6 +1804,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {HTMLDivElement} a div with options related to the players lactation or lack thereof + */ function lactation() { App.UI.DOM.appendNewElement("h2", lactationDiv, `Lactation`); @@ -1844,6 +1929,9 @@ App.UI.managePersonalAffairs = function() { return lactationDiv; } + /** + * @returns {HTMLDivElement} a div with text related to `Elite Breeder Qualifications` + */ function breederExam() { App.UI.DOM.appendNewElement("h2", breederExamDiv, `Elite Breeder Qualifications`); @@ -1852,6 +1940,9 @@ App.UI.managePersonalAffairs = function() { return breederExamDiv; } + /** + * @returns {HTMLDivElement} a div listing perverted things the player can do to themselves + */ function perversions() { const bloatingDiv = document.createElement("div"); const cumTapDiv = document.createElement("div"); @@ -1870,6 +1961,9 @@ App.UI.managePersonalAffairs = function() { ); } + /** + * @returns {HTMLDivElement} a div that allows the player to take their own virginity using a dildo + */ function dildoSelf() { const text = []; @@ -1928,6 +2022,9 @@ App.UI.managePersonalAffairs = function() { return bloatingDiv; } + /** + * @returns {HTMLDivElement} a div that lets the player impregnate themselves using the fluids from the dairy farm + */ function cumTap() { const text = []; @@ -1990,6 +2087,9 @@ App.UI.managePersonalAffairs = function() { return cumTapDiv; } + /** + * @returns {HTMLDivElement} a div that lets the player impregnate themselves if they have both a vagina and a dick + */ function impregnateSelf() { const text = []; @@ -2035,6 +2135,9 @@ App.UI.managePersonalAffairs = function() { return pervertDiv; } + /** + * @returns {HTMLDivElement} a div letting the player cancel their wedding and change how often they watch FCTV + */ function socials() { const weddingDiv = document.createElement("div"); const FCTVDiv = document.createElement("div"); @@ -2050,6 +2153,9 @@ App.UI.managePersonalAffairs = function() { App.Events.addNode(socialDiv, text); + /** + * @returns {HTMLDivElement} a div letting the player cancel their wedding + */ function wedding() { const text = []; @@ -2081,6 +2187,9 @@ App.UI.managePersonalAffairs = function() { return weddingDiv; + /** + * @returns {HTMLSpanElement} a span listing all the slaves the player is marrying this week + */ function marryingList() { const listSpan = document.createElement("span"); @@ -2093,6 +2202,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {HTMLDivElement} a div letting the player select how often they want to see FCTV + */ function FCTV() { const text = []; const links = []; @@ -2172,6 +2284,9 @@ App.UI.managePersonalAffairs = function() { return socialDiv; } + /** + * @returns {HTMLDivElement} a div listing the current skill levels of the player + */ function skills() { App.UI.DOM.appendNewElement("h2", skillsDiv, `Personal Skills`); @@ -2186,6 +2301,9 @@ App.UI.managePersonalAffairs = function() { return skillsDiv; + /** + * @returns {string} + */ function getPlayerTradingSkill() { if (PC.skill.trading >= 100) { return `You are a master at economics and trading.`; @@ -2212,6 +2330,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {string} + */ function getPlayerWarfareSkill() { if (PC.skill.warfare >= 100) { return `You are a master of warfare.`; @@ -2238,6 +2359,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {string} + */ function getPlayerSlavingSkill() { if (PC.skill.slaving >= 100) { return `You are a master slaver.`; @@ -2264,6 +2388,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {string} + */ function getPlayerEngineeringSkill() { if (PC.skill.engineering >= 100) { return `You are a master engineer.`; @@ -2290,6 +2417,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {string} + */ function getPlayerMedicineSkill() { if (PC.skill.medicine >= 100) { return `You are a master surgeon.`; @@ -2316,6 +2446,9 @@ App.UI.managePersonalAffairs = function() { } } + /** + * @returns {string} + */ function getPlayerHackingSkill() { if (PC.skill.hacking >= 100) { return `You are a master of hacking.`; diff --git a/src/player/pcSurgeryDegradation.js b/src/player/pcSurgeryDegradation.js index d4792074c86fe3e3dd0e44128106f3073f502a96..68c18d0dd7aad4967eeebfa9b1ffd0b18e524ec6 100644 --- a/src/player/pcSurgeryDegradation.js +++ b/src/player/pcSurgeryDegradation.js @@ -1,3 +1,11 @@ +/** + * @typedef {"skinTone"|"restoreFace"|"ageDown"|"ageUp"|"breastReductionImplant"|"breastShrinkage"|"breastEnlargementImplant"|"breastEnlargement"|"flatChest"|"breasts"|"buttReductionImplant"|"buttShrinkage"|"buttEnlargementImplant"|"buttEnlargement"|"ballEnlargement"|"ballShrinkage"|"ballEnlargementHorm"|"ballShrinkageHorm"|"ballBigShrinkage"|"tightPussy"|"reVirgin"|"herm2female"|"herm2male"|"herm2truefemale"|"herm2truemale"|"male2female"|"male2herm"|"male2truefemale"|"male2hermfemale"|"female2male"|"female2herm"|"female2truemale"|"female2hermmale"|"tummyTuck"|"ovulationRestart"} surgeryType + */ + +/** + * @param {surgeryType} surgeryType the type of surgery to describe + * @returns {DocumentFragment} a DocumentFragment that shows the result of the player's surgery + */ App.UI.PCSurgeryDegradation = function(surgeryType) { const frag = new DocumentFragment(); let r = []; diff --git a/src/pregmod/FCTV/FCTV.js b/src/pregmod/FCTV/FCTV.js index 761d6085c7a7c41e34e255b886bd9f837e6f9fdf..cbec6183fb86c8aa655661bac778e462e5d8f7ea 100644 --- a/src/pregmod/FCTV/FCTV.js +++ b/src/pregmod/FCTV/FCTV.js @@ -29,6 +29,9 @@ globalThis.FCTV = (function() { return [...App.Data.FCTV.channels.keys()]; } + /** + * Initializes the V.FCTV.channel array + */ function initChannels() { const channelList = FCTV.channels(); for (let i = 0; i < channelList.length; i++) { diff --git a/src/pregmod/FCTV/FCTVBC.js b/src/pregmod/FCTV/FCTVBC.js index 6f431360ab08efb1cf1cd212d2576014e0987693..b30334d652d8ac3273f29462cccb647f52bd6ee2 100644 --- a/src/pregmod/FCTV/FCTVBC.js +++ b/src/pregmod/FCTV/FCTVBC.js @@ -5,6 +5,9 @@ App.Update.FCTV = function() { return V.FCTVreceiver ? a : b; } + /** + * Modifying the V.FCTV.channel array for backwards compatibility + */ function initChannels() { const channelList = FCTV.channels(); for (let i = 0; i < channelList.length; i++) {