From e7d672686c79019d2b17f2ad340d74a0fe0cdc46 Mon Sep 17 00:00:00 2001 From: Trinidad <anchaiscastilla@gmail.com> Date: Tue, 12 Sep 2023 21:51:13 +0200 Subject: [PATCH] modified: src/npc/descriptions/genericDescriptions.js --- src/npc/descriptions/genericDescriptions.js | 78 +++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/src/npc/descriptions/genericDescriptions.js b/src/npc/descriptions/genericDescriptions.js index f8fb9400143..645c8e7991b 100644 --- a/src/npc/descriptions/genericDescriptions.js +++ b/src/npc/descriptions/genericDescriptions.js @@ -1,3 +1,5 @@ +const { sticky } = require("../../../devTools/types/tippy/tippy"); + /** * @param {App.Entity.SlaveState} slave * @returns {string} @@ -28,6 +30,7 @@ globalThis.pretty = function(slave) { * @returns {string} */ globalThis.vaginaDesc = function(slave, withNoun = true) { + if (!slave) {return "ERROR"} let adj = []; let noun = ["vagina", "pussy", "cunt", "pussy", "cunt"]; if (slave.newVag && slave.vagina > 0) { @@ -40,21 +43,28 @@ globalThis.vaginaDesc = function(slave, withNoun = true) { case 0: adj.push(`virgin${slave.counter.reHymen ? "-again" : ""}`, "virgin"); noun.push("little slit", "flower"); + break; case 1: adj.push("tight", "narrow"); + break; case 2: adj.push("", "welcoming"); + break; case 3: adj.push("veteran"); + break; case 4: adj.push("baggy", "loose"); + break; case 5: case 6: adj.push("gaping"); + break; case 7: case 8: case 9: adj.push("cavernous"); + break; default: adj.push("ruined"); } @@ -74,6 +84,7 @@ globalThis.vaginaDesc = function(slave, withNoun = true) { * @returns {string} */ globalThis.dickDesc = function(slave, withNoun = true) { + if (!slave) {return "ERROR"} let adj =[]; let noun = ["dick", "dick", "cock", "cock", "penis", "prick", "phallus"] if (slave.dick === 0) { @@ -85,25 +96,35 @@ globalThis.dickDesc = function(slave, withNoun = true) { return `${jsEither(["micropenis", "tiny prick", "tiny weenie"])}`; } return "tiny"; + break; case 2: adj.push("cute", "small"); noun.push("weenie"); + break; case 3: adj.push("", "average"); + break; case 4: adj.push("big"); + break; case 5: adj.push("huge"); + break; case 6: adj.push("gigantic"); + break; case 7: adj.push("massive"); + break; case 8: adj.push("titanic", "truly imposing"); + break; case 9: adj.push("monstrous", "absurd"); + break; case 10: adj.push("inhuman"); + break; default: adj.push("hypertrophied"); } @@ -122,18 +143,23 @@ globalThis.dickDesc = function(slave, withNoun = true) { * @param {boolean} withNoun * @returns {string} */globalThis.anusDesc = function(slave, withNoun = true) { + if (!slave) {return "ERROR"} let adj = []; let noun = ["anus", "butthole", "asshole", "bumhole", "anus"]; switch (slave.anus) { case 0: adj.push("virgin"); noun.push("sphincter"); + break; case 1: adj.push("tight", "narrow", "welcoming"); + break; case 2: adj.push("loose", "veteran"); + break; case 3: adj.push("very loose", "lax"); + break; default: adj.push("gaping", "gaped"); } @@ -156,6 +182,7 @@ globalThis.dickDesc = function(slave, withNoun = true) { * @returns {string} */ globalThis.ballsDesc = function(slave, withNoun = true) { + if (!slave) {return "ERROR"} let adj =[]; let noun = ["balls", "balls", "balls", "testicles"] if (slave.balls === 0) { @@ -164,23 +191,32 @@ globalThis.ballsDesc = function(slave, withNoun = true) { switch (slave.balls) { case 1: return `vestigial${withNoun ? " " + jsEither(["testes", "testicles"]) : ""}`; + break; case 2: adj.push("small"); noun.push("testes"); + break; case 3: adj.push("", "average", "standard"); + break; case 4: adj.push("large"); + break; case 5: adj.push("massive"); + break; case 6: adj.push("huge"); + break; case 7: adj.push("giant"); + break; case 8: adj.push("enormous"); + break; case 9: adj.push("monstrous"); + break; default: adj.push("overly massive"); } @@ -200,6 +236,7 @@ globalThis.ballsDesc = function(slave, withNoun = true) { * @returns {string} */ globalThis.boobsDesc = function(slave, withNoun = true) { + if (!slave) {return "ERROR"} if (slave.boobs < 300 && slave.hormoneBalance < -20) { return `masculine${withNoun ? " chest" : ""}`; } @@ -220,6 +257,7 @@ globalThis.boobsDesc = function(slave, withNoun = true) { * @returns {string} */ globalThis.boobsLongDesc = function(slave, withNoun = true, withShape = true, withCup = true, withSurgery = true, withLactation = true) { + if (!slave) {return "ERROR"} if (slave.boobs < 300 && slave.hormoneBalance < -20) { return `masculine${withNoun ? " chest" : ""}`; } @@ -239,29 +277,39 @@ globalThis.boobsLongDesc = function(slave, withNoun = true, withShape = true, wi * @returns {string} */ globalThis.buttDesc = function(slave, withNoun = true) { + if (!slave) {return "ERROR"} let adj =[]; let noun = ["butt", "butt", "butt", "ass", "rear"] switch (slave.butt) { case 0: return `flat${withNoun ? " " + jsEither(["bottom"]) : ""}`; + break; case 1: adj.push("small"); + break; case 2: adj.push("plump", "curved"); + break; case 3: adj.push("round", "curvy", "big bubble", "big bubble"); + break; case 4: adj.push("huge", "massive"); + break; case 5: adj.push("enormous", "cushion-like"); + break; case 6: adj.push("gigantic", "titanic"); + break; case 7: adj.push("ridiculous"); + break; case 8: case 9: case 10: adj.push("immense"); + break; default: adj.push("inhuman"); } @@ -273,3 +321,33 @@ globalThis.buttDesc = function(slave, withNoun = true) { } return `${jsEither(adj)}`; } + +/** + * Returns the description of the slave lips + * @param {FC.HumanState} slave // admits V.PC as argument. + * @param {boolean} withNoun + * @param {boolean} withSurgery + * @returns {string} + */ +globalThis.lipsDesc = function(slave, withNoun = true, withSurgery = true) { + if (!slave) {return "ERROR"} + let adj = []; + let noun =["lips"]; + if (slave.lips < 11) { + adj.push("thin", "unattractive"); + } else if (slave.lips < 21) { + adj.push("regular", ""); + } else if (slave.lips < 41) { + adj.push("pretty", "attractive"); + } else if (slave.lips < 71) { + adj.push("plump", "plush"); + } else if (slave.lips < 96) { + adj.push("huge", "beestung"); + } else { + adj.push("pussy-like", "fuckhole"); + } + if (withNoun) { + return `${jsEither(adj)} ${jsEither(noun)}`; + } + return `${jsEither(adj)}`; +} \ No newline at end of file -- GitLab