diff --git a/devNotes/twine CSS b/devNotes/twine CSS index ddf1b25561a2705ef105aa96a5e21e63d645e6e6..c4958e7d1280c5ea63369c3f73d8675b425fb6a1 100644 --- a/devNotes/twine CSS +++ b/devNotes/twine CSS @@ -18,7 +18,6 @@ hr { opacity: 1 !important; } - /* default is 54em */ #passages { max-width: 100%; @@ -630,8 +629,8 @@ body.lightTheme .optionMacroSelected { /* Last line shouldn't grow */ #passage-wardrobe-use .optionValue::after { - flex-grow: 1000000000; - content: ''; + flex-grow: 1000000000; + content: ''; } diff --git a/devTools/check.py b/devTools/check.py index d1f009e00df4c127c09efdd79730c9801ce0dde2..07cee14ca24984aae9b1ae177b7a2253d85d8299 100755 --- a/devTools/check.py +++ b/devTools/check.py @@ -71,6 +71,6 @@ try: tagfound = [] except UnicodeDecodeError as e: myprint(e) - print(" Hint: In linux, you can get more details about unicode errors by running:") + print(" Hint: In Linux, you can get more details about Unicode errors by running:") print(" isutf8", fileinput.filename()) print(" :Note it might be caused by ", filename) diff --git a/devTools/javaSanityCheck/src/element/BracketElement.java b/devTools/javaSanityCheck/src/element/BracketElement.java index b9848941653e6cb3715e60ac7342a1d087e0ebba..89b0a67ef6a1e031fd4ae0e29808c9d11b8ce33e 100644 --- a/devTools/javaSanityCheck/src/element/BracketElement.java +++ b/devTools/javaSanityCheck/src/element/BracketElement.java @@ -6,23 +6,23 @@ import org.arkerthan.sanityCheck.SyntaxError; * @author Arkerthan */ public class BracketElement extends Element { - //int state = 0; + //int state = 0; - public BracketElement(int line, int pos) { - super(line, pos); - } + public BracketElement(int line, int pos) { + super(line, pos); + } - @Override - public int handleChar(char c) throws SyntaxError { - if (c == ')') { - return 2; - } else { - return 0; - } - } + @Override + public int handleChar(char c) throws SyntaxError { + if (c == ')') { + return 2; + } else { + return 0; + } + } - @Override - public String getShortDescription() { - return getPositionAsString() + " (???"; - } + @Override + public String getShortDescription() { + return getPositionAsString() + " (???"; + } } diff --git a/player variables documentation - Pregmod.txt b/player variables documentation - Pregmod.txt index fabe9f727c8c985d3639b5176b95d59e88b1715d..fd738724ae3fe01aadbdc3fb6d073cca9e350d8f 100644 --- a/player variables documentation - Pregmod.txt +++ b/player variables documentation - Pregmod.txt @@ -68,7 +68,7 @@ Do you know you are pregnant (currently unused due to lack of menstrual cycle) 0 - no 1 - yes -fertKnown: +fertKnown: Menstrual cycle known variable. To be used for fert cycle discover and things like pregnancy without a first period diff --git a/sanityCheck.sh b/sanityCheck.sh index e1f9d84c281d02b4474ceb9338a132cc70692ae7..64f908ff52c0ec800f1c0c68ecdbc4c0cb9ec1e2 100755 --- a/sanityCheck.sh +++ b/sanityCheck.sh @@ -116,7 +116,7 @@ $GREP 'elseif $ ' -- 'src/*' | myprint "missing ; before statement" $GREP "[^]a-zA-Z0-9 \")}'+-\*\`] *>>" -- 'src/*' | myprint "StrangeCharacterAtEndOfCommand" # Check for a . inside a <<>> $GREP "<<[a-zA-Z]\([^\"'>]\|[^\"'>]>[^\"'>]\)*[a-zA-Z][.][^a-zA-Z]" | myprint "StrangeCharacterAfterDot" -# Check for @@. instead of .@@ +# Check for @@. instead of .@@ $GREP -E "@@(\.|,|;|:)\s" -- src/*.tw | myprint "WrongSelectorPunctuation" $GREP "@@[a-z]\+;" -- 'src/*' | myprint "SelectorMissingDot" diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 170aa548ebc8cb70dd8d23a1b3996c5723b51c05..6cb3faa5285febddecd0c19a173d4477104c9566 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -1098,21 +1098,24 @@ skin color accepts string "pure white" +"ivory" +"white" "extremely pale" +"very pale" "pale" "extremely fair" "very fair" "fair" -"white" "light" -"lightened" "light olive" +"tan" "olive" -"natural" -"tanned" -"bronzed" +"bronze" "dark olive" "dark" +"light beige" +"beige" +"dark beige" "light brown" "brown" "dark brown" @@ -1878,7 +1881,7 @@ readyOva: Number of ready to be impregnated ova (override normal cases), default - 0. For delayed impregnations with multiples. Used onetime on next call of the SetPregType widget. After SetPregType use it to override .pregType, it set back to 0 automatically. -fertKnown: +fertKnown: Menstrual cycle known variable. To be used for fert cycle discover and things like pregnancy without a first period diff --git a/src/Mods/DinnerParty/dinnerPartyExecution.tw b/src/Mods/DinnerParty/dinnerPartyExecution.tw index c5b2d6138a68cf763926a3a820307abab521a913..6f8c9cb2309ec814d00428b9c85d0b2d8da65e25 100644 --- a/src/Mods/DinnerParty/dinnerPartyExecution.tw +++ b/src/Mods/DinnerParty/dinnerPartyExecution.tw @@ -570,7 +570,7 @@ <</if>> <</if>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> /* generate enemies <<if _generateEnemies == 1>> diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js index ed48735bad97416fc1b9e717b0f9cd04fecf638a..8345f314899cd5ff53543a1d8e0fb7e2c4231498 100644 --- a/src/SpecialForce/SpecialForce.js +++ b/src/SpecialForce/SpecialForce.js @@ -724,7 +724,7 @@ window.UnitText = function(input) { switch(input) { case 'firebase': if (S.Firebase >= 0) { const text0 = `<br>''Firebase:''`; - if (S.Firebase >= 1) appear = `has had some organization put into it.`; barracks = `The majority of weapons, armor, and ammunition have been separated from the soldiers' cots into their own armory.`; garage = `A section near the outer wall of the arcology has been converted to a garage with an adjoining vehicle maintenance bay`; drone = `.`; if (V.terrain === "oceanic") garage += ` for inter-arcology travel`; + if (S.Firebase >= 1) appear = `has had some organization put into it.`; barracks = `The majority of weapons, armor, and ammunition have been separated from the soldiers' cots into their own armory.`; garage = `A section near the outer wall of the arcology has been converted to a garage with an adjoining vehicle maintenance bay`; drone = `.`; if (V.terrain === "oceanic") garage += ` for inter-arcology travel`; if (S.Firebase >= 2) barracks = `A barracks has been constructed near the armory, allowing soldiers a quieter place to sleep and store their personal spoils.`; drone = `; as well as a facility for the storage, maintenance, and deployment of armed combat drones.`; if (S.Firebase >= 3) appear = `has become more permanent.`; barracks = `A command center has been constructed near the barracks and armory, allowing for additional support personnel.`; if (S.Firebase >= 4) hangar = `Hangar space for storing and repairing aircraft has been converted from unused space on the other side of the garage.`; diff --git a/src/art/artJS.js b/src/art/artJS.js index 830f4cb7811159459d6417c621c4cba68a3c98a8..596837587b905b7fa576dbddd8e21bc9f30522ba 100644 --- a/src/art/artJS.js +++ b/src/art/artJS.js @@ -272,11 +272,14 @@ window.skinColorCatcher = function (artSlave) { case "white": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#F4EAF0"; colorSlave.areolaColor = "#FCCCDC"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#F4EAF0"; colorSlave.areolaColor = "#FCCCDC"; colorSlave.labiaColor = "#F977A3"; @@ -304,9 +307,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#F4C9AA"; colorSlave.areolaColor = "#F19795"; colorSlave.labiaColor = "#F977A3"; @@ -317,20 +318,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#C39696"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#E1B585"; colorSlave.areolaColor = "#C39696"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#D58E5F"; colorSlave.areolaColor = "#B17777"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#D58E5F"; colorSlave.areolaColor = "#B17777"; colorSlave.labiaColor = "#F977A3"; @@ -341,11 +341,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#825633"; colorSlave.areolaColor = "#734B2F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#784F2F"; colorSlave.areolaColor = "#583E2F"; @@ -386,11 +389,14 @@ window.skinColorCatcher = function (artSlave) { case "black": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#FEE4CA"; colorSlave.areolaColor = "#E0B3A2"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#FEE4CA"; colorSlave.areolaColor = "#E0B3A2"; colorSlave.labiaColor = "#F977A3"; @@ -418,9 +424,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#D59D73"; colorSlave.areolaColor = "#8D6859"; colorSlave.labiaColor = "#F977A3"; @@ -431,20 +435,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#7C594B"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#AC7C4A"; colorSlave.areolaColor = "#7C594B"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#985C34"; colorSlave.areolaColor = "#764B3A"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#985C34"; colorSlave.areolaColor = "#764B3A"; colorSlave.labiaColor = "#F977A3"; @@ -455,11 +458,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#65422C"; colorSlave.areolaColor = "#4B3121"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#5A3C24"; colorSlave.areolaColor = "#493326"; @@ -504,11 +510,14 @@ window.skinColorCatcher = function (artSlave) { case "latina": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#FEDECE"; colorSlave.areolaColor = "#E3BBAB"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#FEDECE"; colorSlave.areolaColor = "#E3BBAB"; colorSlave.labiaColor = "#F977A3"; @@ -536,9 +545,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#DAA782"; colorSlave.areolaColor = "#9E7666"; colorSlave.labiaColor = "#F977A3"; @@ -549,20 +556,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#92684C"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#B27554"; colorSlave.areolaColor = "#92684C"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#B6784E"; colorSlave.areolaColor = "#8F5A45"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#B6784E"; colorSlave.areolaColor = "#8F5A45"; colorSlave.labiaColor = "#F977A3"; @@ -573,11 +579,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#775031"; colorSlave.areolaColor = "#69452F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#774A31"; colorSlave.areolaColor = "#614330"; @@ -622,11 +631,14 @@ window.skinColorCatcher = function (artSlave) { case "asian": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#FFF8EE"; colorSlave.areolaColor = "#F7DBD0"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#FFF8EE"; colorSlave.areolaColor = "#F7DBD0"; colorSlave.labiaColor = "#F977A3"; @@ -654,9 +666,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#F4D1A3"; colorSlave.areolaColor = "#BA8E83"; colorSlave.labiaColor = "#F977A3"; @@ -667,20 +677,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#AC8074"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#CFB48D"; colorSlave.areolaColor = "#AC8074"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#C38C4D"; colorSlave.areolaColor = "#A67A6F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#C38C4D"; colorSlave.areolaColor = "#A67A6F"; colorSlave.labiaColor = "#F977A3"; @@ -691,11 +700,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#855834"; colorSlave.areolaColor = "#734B2F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#83522B"; colorSlave.areolaColor = "#68442A"; @@ -736,11 +748,14 @@ window.skinColorCatcher = function (artSlave) { case "middle eastern": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#E8CFCF"; colorSlave.areolaColor = "#DCADBC"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#E8CFCF"; colorSlave.areolaColor = "#DCADBC"; colorSlave.labiaColor = "#F977A3"; @@ -768,9 +783,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#EDA571"; colorSlave.areolaColor = "#B16854"; colorSlave.labiaColor = "#F977A3"; @@ -781,20 +794,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#A7624F"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#CC8D53"; colorSlave.areolaColor = "#A7624F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#CA7136"; colorSlave.areolaColor = "#9B5959"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#CA7136"; colorSlave.areolaColor = "#9B5959"; colorSlave.labiaColor = "#F977A3"; @@ -805,11 +817,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#684528"; colorSlave.areolaColor = "#563826"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#6E4730"; colorSlave.areolaColor = "#604534"; @@ -850,11 +865,14 @@ window.skinColorCatcher = function (artSlave) { case "amerindian": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#FDE4BF"; colorSlave.areolaColor = "#F0BEAA"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#FDE4BF"; colorSlave.areolaColor = "#F0BEAA"; colorSlave.labiaColor = "#F977A3"; @@ -882,9 +900,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#F4D1A3"; colorSlave.areolaColor = "#BA8E83"; colorSlave.labiaColor = "#F977A3"; @@ -895,20 +911,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#AC8074"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#CFB48D"; colorSlave.areolaColor = "#AC8074"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#C38C4D"; colorSlave.areolaColor = "#A67A6F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#C38C4D"; colorSlave.areolaColor = "#A67A6F"; colorSlave.labiaColor = "#F977A3"; @@ -919,11 +934,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#855834"; colorSlave.areolaColor = "#734B2F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#83522B"; colorSlave.areolaColor = "#68442A"; @@ -964,11 +982,14 @@ window.skinColorCatcher = function (artSlave) { case "southern european": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#EBDBE4"; colorSlave.areolaColor = "#FFE4E0"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#EBDBE4"; colorSlave.areolaColor = "#FFE4E0"; colorSlave.labiaColor = "#F977A3"; @@ -996,9 +1017,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#F2BC94"; colorSlave.areolaColor = "#EE8280"; colorSlave.labiaColor = "#F977A3"; @@ -1009,20 +1028,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#BF7577"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#DCA972"; colorSlave.areolaColor = "#BF7577"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#D0814C"; colorSlave.areolaColor = "#A96767"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#D0814C"; colorSlave.areolaColor = "#A96767"; colorSlave.labiaColor = "#F977A3"; @@ -1033,11 +1051,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#7F5431"; colorSlave.areolaColor = "#734B2F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#784F2F"; colorSlave.areolaColor = "#583E2F"; @@ -1078,11 +1099,14 @@ window.skinColorCatcher = function (artSlave) { case "semitic": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#E8CFCF"; colorSlave.areolaColor = "#DCADBC"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#E8CFCF"; colorSlave.areolaColor = "#DCADBC"; colorSlave.labiaColor = "#F977A3"; @@ -1110,9 +1134,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#EDA571"; colorSlave.areolaColor = "#B16854"; colorSlave.labiaColor = "#F977A3"; @@ -1123,20 +1145,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#A7624F"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#CC8D53"; colorSlave.areolaColor = "#A7624F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#CA7136"; colorSlave.areolaColor = "#9B5959"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#CA7136"; colorSlave.areolaColor = "#9B5959"; colorSlave.labiaColor = "#F977A3"; @@ -1147,11 +1168,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#684528"; colorSlave.areolaColor = "#563826"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#6E4730"; colorSlave.areolaColor = "#604534"; @@ -1192,11 +1216,14 @@ window.skinColorCatcher = function (artSlave) { case "malay": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#FBD1B2"; colorSlave.areolaColor = "#F39E7D"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#FBD1B2"; colorSlave.areolaColor = "#F39E7D"; colorSlave.labiaColor = "#F977A3"; @@ -1224,9 +1251,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#EA9760"; colorSlave.areolaColor = "#AB6755"; colorSlave.labiaColor = "#F977A3"; @@ -1237,20 +1262,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#976051"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#BA855E"; colorSlave.areolaColor = "#976051"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#A46138"; colorSlave.areolaColor = "#8F5E51"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#A46138"; colorSlave.areolaColor = "#8F5E51"; colorSlave.labiaColor = "#F977A3"; @@ -1261,11 +1285,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#804A28"; colorSlave.areolaColor = "#5F3F27"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#6F4523"; colorSlave.areolaColor = "#623C20"; @@ -1306,11 +1333,14 @@ window.skinColorCatcher = function (artSlave) { case "indo-aryan": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#F8D4BE"; colorSlave.areolaColor = "#F8B6A4"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#F8D4BE"; colorSlave.areolaColor = "#F8B6A4"; colorSlave.labiaColor = "#F977A3"; @@ -1338,9 +1368,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#E8B68E"; colorSlave.areolaColor = "#D08661"; colorSlave.labiaColor = "#F977A3"; @@ -1351,20 +1379,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#C36E45"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#C17848"; colorSlave.areolaColor = "#C36E45"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#C17848"; colorSlave.areolaColor = "#A75A34"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#C17848"; colorSlave.areolaColor = "#A75A34"; colorSlave.labiaColor = "#F977A3"; @@ -1375,11 +1402,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#8A593C"; colorSlave.areolaColor = "#714931"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#845834"; colorSlave.areolaColor = "#614635"; @@ -1420,11 +1450,14 @@ window.skinColorCatcher = function (artSlave) { case "pacific islander": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#FBD1B2"; colorSlave.areolaColor = "#F39E7D"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#FBD1B2"; colorSlave.areolaColor = "#F39E7D"; colorSlave.labiaColor = "#F977A3"; @@ -1452,9 +1485,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#EA9760"; colorSlave.areolaColor = "#AB6755"; colorSlave.labiaColor = "#F977A3"; @@ -1465,20 +1496,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#976051"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#BA855E"; colorSlave.areolaColor = "#976051"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#A46138"; colorSlave.areolaColor = "#8F5E51"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#A46138"; colorSlave.areolaColor = "#8F5E51"; colorSlave.labiaColor = "#F977A3"; @@ -1489,11 +1519,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#804A28"; colorSlave.areolaColor = "#5F3F27"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#6F4523"; colorSlave.areolaColor = "#623C20"; @@ -1534,11 +1567,14 @@ window.skinColorCatcher = function (artSlave) { case "mixed race": switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#FEE5CC"; colorSlave.areolaColor = "#E3BBAB"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#FEE5CC"; colorSlave.areolaColor = "#E3BBAB"; colorSlave.labiaColor = "#F977A3"; @@ -1566,9 +1602,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#DAA782"; colorSlave.areolaColor = "#9E7666"; colorSlave.labiaColor = "#F977A3"; @@ -1579,20 +1613,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#92684C"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#B27554"; colorSlave.areolaColor = "#92684C"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#B6784E"; colorSlave.areolaColor = "#8F5A45"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#B6784E"; colorSlave.areolaColor = "#8F5A45"; colorSlave.labiaColor = "#F977A3"; @@ -1603,11 +1636,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#775031"; colorSlave.areolaColor = "#69452F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#774A31"; colorSlave.areolaColor = "#5E4434"; @@ -1652,11 +1688,14 @@ window.skinColorCatcher = function (artSlave) { default: switch (artSlave.skin) { case "pure white": + case "ivory": + case "white": colorSlave.skinColor = "#FEE5CC"; colorSlave.areolaColor = "#E3BBAB"; colorSlave.labiaColor = "#F977A3"; break; case "extremely pale": + case "very pale": colorSlave.skinColor = "#FEE5CC"; colorSlave.areolaColor = "#E3BBAB"; colorSlave.labiaColor = "#F977A3"; @@ -1684,9 +1723,7 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#ce6876"; break; - case "white": case "light": - case "lightened": colorSlave.skinColor = "#DAA782"; colorSlave.areolaColor = "#9E7666"; colorSlave.labiaColor = "#F977A3"; @@ -1697,20 +1734,19 @@ window.skinColorCatcher = function (artSlave) { colorSlave.areolaColor = "#92684C"; colorSlave.labiaColor = "#F977A3"; break; - case "olive": + case "tan": colorSlave.skinColor = "#B27554"; colorSlave.areolaColor = "#92684C"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#c1a785"; break; - case "natural": - case "tanned": + case "olive": colorSlave.skinColor = "#B6784E"; colorSlave.areolaColor = "#8F5A45"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#9e4c44"; break; - case "bronzed": + case "bronze": colorSlave.skinColor = "#B6784E"; colorSlave.areolaColor = "#8F5A45"; colorSlave.labiaColor = "#F977A3"; @@ -1721,11 +1757,14 @@ window.skinColorCatcher = function (artSlave) { colorSlave.labiaColor = "#F977A3"; break; case "dark": + case "light beige": colorSlave.skinColor = "#775031"; colorSlave.areolaColor = "#69452F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#714536"; break; + case "beige": + case "dark beige": case "light brown": colorSlave.skinColor = "#774A31"; colorSlave.areolaColor = "#5E4434"; diff --git a/src/cheats/mod_EditChildCheatNew.tw b/src/cheats/mod_EditChildCheatNew.tw index b27d66826b906fbb12b981f5932386f35b0401cb..e5639559c9744983e4fcb349f24d8b9540b798df 100644 --- a/src/cheats/mod_EditChildCheatNew.tw +++ b/src/cheats/mod_EditChildCheatNew.tw @@ -702,21 +702,24 @@ <<textbox "$tempSlave.skin" $tempSlave.skin>> <br> <<radiobutton "$tempSlave.skin" "pure white">> Pure White + <<radiobutton "$tempSlave.skin" "ivory">> Ivory + <<radiobutton "$tempSlave.skin" "white">> White <<radiobutton "$tempSlave.skin" "extremely pale">> Extremely Pale + <<radiobutton "$tempSlave.skin" "very pale">> Very Pale <<radiobutton "$tempSlave.skin" "pale">> Pale <<radiobutton "$tempSlave.skin" "extremely fair">> Extremely Fair <<radiobutton "$tempSlave.skin" "very fair">> Very Fair <<radiobutton "$tempSlave.skin" "fair">> Fair - <<radiobutton "$tempSlave.skin" "white">> White <<radiobutton "$tempSlave.skin" "light">> Light - <<radiobutton "$tempSlave.skin" "lightened">> Lightened <<radiobutton "$tempSlave.skin" "light olive">> Light Olive + <<radiobutton "$tempSlave.skin" "tan">> Tan <<radiobutton "$tempSlave.skin" "olive">> Olive - <<radiobutton "$tempSlave.skin" "natural">> Natural - <<radiobutton "$tempSlave.skin" "tanned">> Tanned - <<radiobutton "$tempSlave.skin" "bronzed">> Bronzed + <<radiobutton "$tempSlave.skin" "bronze">> Bronze <<radiobutton "$tempSlave.skin" "dark olive">> Dark Olive <<radiobutton "$tempSlave.skin" "dark">> Dark + <<radiobutton "$tempSlave.skin" "light beige">> Light Beige + <<radiobutton "$tempSlave.skin" "beige">> Beige + <<radiobutton "$tempSlave.skin" "dark beige">> Dark Beige <<radiobutton "$tempSlave.skin" "light brown">> Light Brown <<radiobutton "$tempSlave.skin" "brown">> Brown <<radiobutton "$tempSlave.skin" "dark brown">> Dark Brown @@ -729,21 +732,24 @@ <<textbox "$tempSlave.origSkin" $tempSlave.origSkin>> <br> <<radiobutton "$tempSlave.origSkin" "pure white">> Pure White + <<radiobutton "$tempSlave.origSkin" "ivory">> Ivory + <<radiobutton "$tempSlave.origSkin" "white">> White <<radiobutton "$tempSlave.origSkin" "extremely pale">> Extremely Pale + <<radiobutton "$tempSlave.origSkin" "very pale">> Very Pale <<radiobutton "$tempSlave.origSkin" "pale">> Pale <<radiobutton "$tempSlave.origSkin" "extremely fair">> Extremely Fair <<radiobutton "$tempSlave.origSkin" "very fair">> Very Fair <<radiobutton "$tempSlave.origSkin" "fair">> Fair - <<radiobutton "$tempSlave.origSkin" "white">> White <<radiobutton "$tempSlave.origSkin" "light">> Light - <<radiobutton "$tempSlave.origSkin" "lightened">> Lightened <<radiobutton "$tempSlave.origSkin" "light olive">> Light Olive + <<radiobutton "$tempSlave.origSkin" "tan">> Tan <<radiobutton "$tempSlave.origSkin" "olive">> Olive - <<radiobutton "$tempSlave.origSkin" "natural">> Natural - <<radiobutton "$tempSlave.origSkin" "tanned">> Tanned - <<radiobutton "$tempSlave.origSkin" "bronzed">> Bronzed + <<radiobutton "$tempSlave.origSkin" "bronze">> Bronze <<radiobutton "$tempSlave.origSkin" "dark olive">> Dark Olive <<radiobutton "$tempSlave.origSkin" "dark">> Dark + <<radiobutton "$tempSlave.origSkin" "light beige">> Light Beige + <<radiobutton "$tempSlave.origSkin" "beige">> Beige + <<radiobutton "$tempSlave.origSkin" "dark beige">> Dark Beige <<radiobutton "$tempSlave.origSkin" "light brown">> Light Brown <<radiobutton "$tempSlave.origSkin" "brown">> Brown <<radiobutton "$tempSlave.origSkin" "dark brown">> Dark Brown diff --git a/src/cheats/mod_EditSlaveCheat.tw b/src/cheats/mod_EditSlaveCheat.tw index b40ecbd297d7da61cbfa95db39902462abe04b02..4eba97996242a5fe7fbbec99455c1939006964ad 100644 --- a/src/cheats/mod_EditSlaveCheat.tw +++ b/src/cheats/mod_EditSlaveCheat.tw @@ -137,21 +137,24 @@ <<textbox "$tempSlave.skin" $tempSlave.skin>> <br> <<radiobutton "$tempSlave.skin" "pure white">> Pure White +<<radiobutton "$tempSlave.skin" "ivory">> Ivory +<<radiobutton "$tempSlave.skin" "white">> White <<radiobutton "$tempSlave.skin" "extremely pale">> Extremely Pale +<<radiobutton "$tempSlave.skin" "very pale">> Very Pale <<radiobutton "$tempSlave.skin" "pale">> Pale <<radiobutton "$tempSlave.skin" "extremely fair">> Extremely Fair <<radiobutton "$tempSlave.skin" "very fair">> Very Fair <<radiobutton "$tempSlave.skin" "fair">> Fair -<<radiobutton "$tempSlave.skin" "white">> White <<radiobutton "$tempSlave.skin" "light">> Light -<<radiobutton "$tempSlave.skin" "lightened">> Lightened <<radiobutton "$tempSlave.skin" "light olive">> Light Olive +<<radiobutton "$tempSlave.skin" "tan">> Tan <<radiobutton "$tempSlave.skin" "olive">> Olive -<<radiobutton "$tempSlave.skin" "natural">> Natural -<<radiobutton "$tempSlave.skin" "tanned">> Tanned -<<radiobutton "$tempSlave.skin" "bronzed">> Bronzed +<<radiobutton "$tempSlave.skin" "bronze">> Bronze <<radiobutton "$tempSlave.skin" "dark olive">> Dark Olive <<radiobutton "$tempSlave.skin" "dark">> Dark +<<radiobutton "$tempSlave.skin" "light beige">> Light Beige +<<radiobutton "$tempSlave.skin" "beige">> Beige +<<radiobutton "$tempSlave.skin" "dark beige">> Dark Beige <<radiobutton "$tempSlave.skin" "light brown">> Light Brown <<radiobutton "$tempSlave.skin" "brown">> Brown <<radiobutton "$tempSlave.skin" "dark brown">> Dark Brown @@ -165,21 +168,24 @@ <<textbox "$tempSlave.origSkin" $tempSlave.origSkin>> <br> <<radiobutton "$tempSlave.origSkin" "pure white">> Pure White +<<radiobutton "$tempSlave.origSkin" "ivory">> Ivory +<<radiobutton "$tempSlave.origSkin" "white">> White <<radiobutton "$tempSlave.origSkin" "extremely pale">> Extremely Pale +<<radiobutton "$tempSlave.origSkin" "very pale">> Very Pale <<radiobutton "$tempSlave.origSkin" "pale">> Pale <<radiobutton "$tempSlave.origSkin" "extremely fair">> Extremely Fair <<radiobutton "$tempSlave.origSkin" "very fair">> Very Fair <<radiobutton "$tempSlave.origSkin" "fair">> Fair -<<radiobutton "$tempSlave.origSkin" "white">> White <<radiobutton "$tempSlave.origSkin" "light">> Light -<<radiobutton "$tempSlave.origSkin" "lightened">> Lightened <<radiobutton "$tempSlave.origSkin" "light olive">> Light Olive +<<radiobutton "$tempSlave.origSkin" "tan">> Tan <<radiobutton "$tempSlave.origSkin" "olive">> Olive -<<radiobutton "$tempSlave.origSkin" "natural">> Natural -<<radiobutton "$tempSlave.origSkin" "tanned">> Tanned -<<radiobutton "$tempSlave.origSkin" "bronzed">> Bronzed +<<radiobutton "$tempSlave.origSkin" "bronze">> Bronze <<radiobutton "$tempSlave.origSkin" "dark olive">> Dark Olive <<radiobutton "$tempSlave.origSkin" "dark">> Dark +<<radiobutton "$tempSlave.origSkin" "light beige">> Light Beige +<<radiobutton "$tempSlave.origSkin" "beige">> Beige +<<radiobutton "$tempSlave.origSkin" "dark beige">> Dark Beige <<radiobutton "$tempSlave.origSkin" "light brown">> Light Brown <<radiobutton "$tempSlave.origSkin" "brown">> Brown <<radiobutton "$tempSlave.origSkin" "dark brown">> Dark Brown diff --git a/src/cheats/mod_editSlaveCheatNew.tw b/src/cheats/mod_editSlaveCheatNew.tw index 0afe5c873c5854526cf0e03c8aac1884946fd3a8..fd627ac6ba68694ffb52b8eb68c1e563e57aa6cf 100644 --- a/src/cheats/mod_editSlaveCheatNew.tw +++ b/src/cheats/mod_editSlaveCheatNew.tw @@ -1286,21 +1286,24 @@ <<textbox "$tempSlave.skin" $tempSlave.skin>> <br> <<radiobutton "$tempSlave.skin" "pure white">> Pure White + <<radiobutton "$tempSlave.skin" "ivory">> Ivory + <<radiobutton "$tempSlave.skin" "white">> White <<radiobutton "$tempSlave.skin" "extremely pale">> Extremely Pale + <<radiobutton "$tempSlave.skin" "very pale">> Very Pale <<radiobutton "$tempSlave.skin" "pale">> Pale <<radiobutton "$tempSlave.skin" "extremely fair">> Extremely Fair <<radiobutton "$tempSlave.skin" "very fair">> Very Fair <<radiobutton "$tempSlave.skin" "fair">> Fair - <<radiobutton "$tempSlave.skin" "white">> White <<radiobutton "$tempSlave.skin" "light">> Light - <<radiobutton "$tempSlave.skin" "lightened">> Lightened <<radiobutton "$tempSlave.skin" "light olive">> Light Olive + <<radiobutton "$tempSlave.skin" "tan">> Tan <<radiobutton "$tempSlave.skin" "olive">> Olive - <<radiobutton "$tempSlave.skin" "natural">> Natural - <<radiobutton "$tempSlave.skin" "tanned">> Tanned - <<radiobutton "$tempSlave.skin" "bronzed">> Bronzed + <<radiobutton "$tempSlave.skin" "bronze">> Bronze <<radiobutton "$tempSlave.skin" "dark olive">> Dark Olive <<radiobutton "$tempSlave.skin" "dark">> Dark + <<radiobutton "$tempSlave.skin" "light beige">> Light Beige + <<radiobutton "$tempSlave.skin" "beige">> Beige + <<radiobutton "$tempSlave.skin" "dark beige">> Dark Beige <<radiobutton "$tempSlave.skin" "light brown">> Light Brown <<radiobutton "$tempSlave.skin" "brown">> Brown <<radiobutton "$tempSlave.skin" "dark brown">> Dark Brown @@ -1313,21 +1316,24 @@ <<textbox "$tempSlave.origSkin" $tempSlave.origSkin>> <br> <<radiobutton "$tempSlave.origSkin" "pure white">> Pure White + <<radiobutton "$tempSlave.origSkin" "ivory">> Ivory + <<radiobutton "$tempSlave.origSkin" "white">> White <<radiobutton "$tempSlave.origSkin" "extremely pale">> Extremely Pale + <<radiobutton "$tempSlave.origSkin" "very pale">> Very Pale <<radiobutton "$tempSlave.origSkin" "pale">> Pale <<radiobutton "$tempSlave.origSkin" "extremely fair">> Extremely Fair <<radiobutton "$tempSlave.origSkin" "very fair">> Very Fair <<radiobutton "$tempSlave.origSkin" "fair">> Fair - <<radiobutton "$tempSlave.origSkin" "white">> White <<radiobutton "$tempSlave.origSkin" "light">> Light - <<radiobutton "$tempSlave.origSkin" "lightened">> Lightened <<radiobutton "$tempSlave.origSkin" "light olive">> Light Olive + <<radiobutton "$tempSlave.origSkin" "tan">> Tan <<radiobutton "$tempSlave.origSkin" "olive">> Olive - <<radiobutton "$tempSlave.origSkin" "natural">> Natural - <<radiobutton "$tempSlave.origSkin" "tanned">> Tanned - <<radiobutton "$tempSlave.origSkin" "bronzed">> Bronzed + <<radiobutton "$tempSlave.origSkin" "bronze">> Bronze <<radiobutton "$tempSlave.origSkin" "dark olive">> Dark Olive <<radiobutton "$tempSlave.origSkin" "dark">> Dark + <<radiobutton "$tempSlave.origSkin" "light beige">> Light Beige + <<radiobutton "$tempSlave.origSkin" "beige">> Beige + <<radiobutton "$tempSlave.origSkin" "dark beige">> Dark Beige <<radiobutton "$tempSlave.origSkin" "light brown">> Light Brown <<radiobutton "$tempSlave.origSkin" "brown">> Brown <<radiobutton "$tempSlave.origSkin" "dark brown">> Dark Brown @@ -1490,7 +1496,7 @@ <<radiobutton "$tempSlave.earT" "neko">> Cat <<radiobutton "$tempSlave.earT" "inu">> Dog <<radiobutton "$tempSlave.earT" "kit">> Fox - <<radiobutton "$tempSlave.earT" "tanuki">> TANUKI + <<radiobutton "$tempSlave.earT" "tanuki">> Tanuki <br><br> ''Sense of Smell:'' @@ -2137,7 +2143,7 @@ <<radiobutton "$tempSlave.tailShape" "inu">> Dog <<radiobutton "$tempSlave.tailShape" "kit">> Fox <<radiobutton "$tempSlave.tailShape" "kitsune">> 3 Fox Tails - <<radiobutton "$tempSlave.tailShape" "tanuki">> TANUKI + <<radiobutton "$tempSlave.tailShape" "tanuki">> Tanuki <<radiobutton "$tempSlave.tailShape" "ushi">> Bovine <br><br> diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw index d94cb4ca98e62d305942b710fd522ba44c5419ef..2508553d8b50acc3534c62cc2970162c6968000e 100644 --- a/src/events/intro/introSummary.tw +++ b/src/events/intro/introSummary.tw @@ -708,21 +708,24 @@ __''Player Character''__ <<options $PC.skin>> Your skin tone is: <<option "pure white" "Pure White" >> + <<option "ivory" "Ivory" >> + <<option "white" "White" >> <<option "extremely pale" "Extremely Pale" >> + <<option "very pale" "Very Pale" >> <<option "pale" "Pale" >> <<option "extremely fair" "Extremely Fair" >> <<option "very fair" "Very Fair" >> <<option "fair" "Fair" >> - <<option "white" "White" >> <<option "light" "Light" >> - <<option "lightened" "Lightened" >> <<option "light olive" "Light Olive" >> + <<option "tan" "Tan" >> <<option "olive" "Olive" >> - <<option "natural" "Natural" >> - <<option "tanned" "Tanned" >> - <<option "bronzed" "Bronzed" >> + <<option "bronze" "Bronze" >> <<option "dark olive" "Dark Olive" >> <<option "dark" "Dark" >> + <<option "light beige" "Light Beige" >> + <<option "beige" "Beige" >> + <<option "dark beige" "Dark Beige" >> <<option "light brown" "Light Brown" >> <<option "brown" "Brown" >> <<option "dark brown" "Dark Brown" >> diff --git a/src/facilities/nursery/longChildDescription.tw b/src/facilities/nursery/longChildDescription.tw index 3344fd88ec1e03552f433a60c914f5a345c8a6c8..22c06a20d683fc445791605aa76b805b1b2cc512 100644 --- a/src/facilities/nursery/longChildDescription.tw +++ b/src/facilities/nursery/longChildDescription.tw @@ -1176,7 +1176,7 @@ $He is <<if $activeChild.markings == "birthmark" && $activeChild.prestige == 0 && $activeChild.pornPrestige < 2>> $He has a large, liver-colored birthmark, detracting from $his beauty. <</if>> - <<if ($activeChild.skin == "tanned") && ($activeChild.origSkin != "tanned")>> + <<if ($activeChild.skin == "sun tanned")>> <<if ($activeChild.releaseRules != "restrictive" && $activeChild.releaseRules != "masturbation" && $activeChild.releaseRules != "chastity")>> <<if ($activeChild.fetishStrength > 60) && ($activeChild.fetishKnown == 1)>> $His tan is slightly uneven, since $he enjoys @@ -1218,7 +1218,7 @@ $He is <<if ($activeChild.hColor == "red")>> <<if ($activeChild.hLength >= 10)>> <<if ($activeChild.markings == "freckles") || ($activeChild.markings == "heavily freckled")>> - <<if ($activeChild.skin == "pale") || ($activeChild.skin == "fair")>> + <<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10)>> It goes perfectly with $his $activeChild.skin skin and freckles. <</if>> <</if>> diff --git a/src/gui/css/wardrobeUse.css b/src/gui/css/wardrobeUse.css index 3ac2e643af9ecbf4f2a364a08730c0fb0351cfde..5473c4a0862a4c3d2d65d54bc3cc36ab81dc23b6 100644 --- a/src/gui/css/wardrobeUse.css +++ b/src/gui/css/wardrobeUse.css @@ -19,6 +19,6 @@ /* Last line shouldn't grow */ #passage-wardrobe-use .optionValue::after { - flex-grow: 1000000000; - content: ''; + flex-grow: 1000000000; + content: ''; } diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw index d4fc0bab886973ca288559240644826786db39aa..eda7434c3afe442db4f201c72d9d9bf3d4277eed 100644 --- a/src/init/setupVars.tw +++ b/src/init/setupVars.tw @@ -33,6 +33,7 @@ equine: {type: "equine", normalOvaMin:1, normalOvaMax: 1, normalBirth: 48, minLi <<set setup.filterRaces = ["Amerindian", "Asian", "Black", "Indo-Aryan", "Latina", "Malay", "Middle Eastern", "Mixed Race", "Pacific Islander", "Semitic", "Southern European", "White"]>> <<set setup.filterRacesLowercase = ["amerindian", "asian", "black", "indo-aryan", "latina", "malay", "middle eastern", "mixed race", "pacific islander", "semitic", "southern european", "white"]>> <<set setup.filterRegions = ["Africa", "Asia", "Australia", "Europe", "Middle East", "North America", "South America"]>> +<<set setup.naturalSkins = ["pure white", "ivory", "white", "extremely pale", "very pale", "pale", "extremely fair", "very fair", "fair", "light", "light olive", "tan", "olive", "bronze", "dark olive", "dark", "light beige", "beige", "dark beige", "light brown", "brown", "dark brown", "black", "ebony", "pure black"]>> /* START Custom Nationalities region filter */ /* Not currently weighted, but will accept weights */ diff --git a/src/interaction/main/mainLinks.js b/src/interaction/main/mainLinks.js index bbfe369e411dae61084a5dd8c70f3723014a4cf7..6812e51f7ab6c9c7d4cd950f4cc19eadb9e962ee 100644 --- a/src/interaction/main/mainLinks.js +++ b/src/interaction/main/mainLinks.js @@ -149,7 +149,7 @@ App.UI.View.MainLinks = function() { r += 'are'; } else { r += 'is'; - } + } r += ' ready to be implanted.</span>'; } } diff --git a/src/interaction/main/useGuard.js b/src/interaction/main/useGuard.js index 163dc22b62c767ae656f9cfd4903c35ec96d88c3..c5eba9ec0b08a3dc81309fad3bc45479cb8fd2f7 100644 --- a/src/interaction/main/useGuard.js +++ b/src/interaction/main/useGuard.js @@ -14,7 +14,7 @@ App.Interact.UseGuard = function(slave) { let He = capFirstChar(he); let His = capFirstChar(his); /* eslint-enable */ - + r = `${slave.slaveName} is standing behind your left shoulder, guarding your person. `; switch (slave.clothes) { case "attractive lingerie": diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js index d2205db5d56c915b3512b73345a685407846cf8f..a92b3ca508f6aa2d5f0b8e424a7fe0fc4fb7db83 100644 --- a/src/js/DefaultRules.js +++ b/src/js/DefaultRules.js @@ -1286,7 +1286,12 @@ window.DefaultRules = (function() { } if (_priorities.length > 1) { _priorities = _priorities.sort(function(a, b) { - if (a.weight > b.weight) return -1; if (a.weight < b.weight) return 1; return 0; + if (a.weight > b.weight) { + return -1; + } + if (a.weight < b.weight) { + return 1; return 0; + } }); if (slave.drugs !== _priorities[0].drug) { slave.drugs = _priorities[0].drug; @@ -1297,9 +1302,15 @@ window.DefaultRules = (function() { } else { r += `${slave.drugs}, since `; } - r += `that part of ${his} body is ${Math.trunc(_priorities[0].weight*100)}% `; - if (_priorities[0].weight < 1) r+= "below "; - else r+= "above "; + r += `that part of ${his} body is `; + if (!isNaN(_priorities[0].weight)) { + r += `${Math.trunc(_priorities[0].weight*100)}% `; + } + if (_priorities[0].weight < 1) { + r+= "below "; + } else { + r+= "above "; + } r += "the targeted size."; } return; @@ -2086,8 +2097,7 @@ window.DefaultRules = (function() { if (slave.dietCum === 2) { r += `<br>${slave.slaveName} has been put on a diet based on cum.`; slave.dietMilk = 0; - } - if (slave.dietCum === 1) { + } else if (slave.dietCum === 1) { r += `<br>${slave.slaveName} has had cum added to ${his} diet.`; } else { r += `<br>${slave.slaveName} has had cum removed from ${his} diet.`; @@ -2104,8 +2114,7 @@ window.DefaultRules = (function() { if (slave.dietMilk === 2) { r += `<br>${slave.slaveName} has been put on a diet based on human milk.`; slave.dietCum = 0; - } - if (slave.dietMilk === 1) { + } else if (slave.dietMilk === 1) { r += `<br>${slave.slaveName} has had human milk added to ${his} diet.`; } else { r += `<br>${slave.slaveName} has had human milk removed from ${his} diet.`; diff --git a/src/js/PenthouseNaming.js b/src/js/PenthouseNaming.js index 8fe4bac44d5299a539ded3cc6f420516bfb57bff..2df44f652f07d3cc675630f57efad64c2aa24eff 100644 --- a/src/js/PenthouseNaming.js +++ b/src/js/PenthouseNaming.js @@ -1,118 +1,80 @@ -/* eslint-disable no-undef */ /** * @return {string} */ window.MasterSuiteUIName = function () { const V = State.variables; - let name = ""; - if (V.masterSuiteNameCaps === "The Master Suite") { - name = "Master Suite"; - } else { - name = V.masterSuiteNameCaps; - } + const name = (V.masterSuiteNameCaps === "The Master Suite") ? "Master Suite" : V.masterSuiteNameCaps; return `<<link "${name}""Master Suite">><</link>> `; }; + /** * @return {string} */ window.HeadGirlSuiteUIName = function () { const V = State.variables; - let name = ""; - if (V.HGSuiteNameCaps === "The Head Girl Suite") { - name = "Head Girl Suite"; - } else { - name = V.HGSuiteNameCaps; - } + const name = (V.HGSuiteNameCaps === "The Head Girl Suite") ? "Head Girl Suite" : V.HGSuiteNameCaps; return `<<link "${name}""Head Girl Suite">><</link>> `; }; + /** * @return {string} */ window.ServantQuartersUIName = function () { const V = State.variables; - let name = ""; - if (V.servantsQuartersNameCaps === "The Servants' Quarters") { - name = "Servants' Quarters"; - } else { - name = V.servantsQuartersNameCaps; - } + const name = (V.servantsQuartersNameCaps === "The Servants' Quarters") ? "Servants' Quarters" : V.servantsQuartersNameCaps; return `<<link "${name}""Servants' Quarters">><</link>> `; }; + /** * @return {string} */ window.SpaUIName = function() { const V = State.variables; - let name = ""; - if (V.spaNameCaps === "The Spa") { - name = "Spa"; - } else { - name = V.spaNameCaps; - } + const name = (V.spaNameCaps === "The Spa") ? "Spa" : V.spaNameCaps; return `<<link "${name}""Spa">><</link>> `; }; + /** * @return {string} */ window.NurseryUIName = function () { const V = State.variables; - let name = ""; - if (V.nurseryNameCaps === "The Nursery") { - name = "Nursery"; - } else { - name = V.nurseryNameCaps; - } + const name = (V.nurseryNameCaps === "The Nursery") ? "Nursery" : V.nurseryNameCaps; return `<<link "${name}""Nursery">><</link>> `; }; + /** * @return {string} */ window.ClinicUIName = function () { const V = State.variables; - let name = ""; - if (V.clinicNameCaps === "The Clinic") { - name = "Clinic"; - } else { - name = V.clinicNameCaps; - } + const name = (V.clinicNameCaps === "The Clinic") ? "Clinic" : V.clinicNameCaps; return `<<link "${name}""Clinic">><</link>> `; }; + /** * @return {string} */ window.SchoolRoomUIName = function () { const V = State.variables; - let name = ""; - if (V.schoolroomNameCaps === "The Schoolroom") { - name = "Schoolroom"; - } else { - name = V.schoolroomNameCaps; - } + const name = (V.schoolroomNameCaps === "The Schoolroom") ? "Schoolroom" : V.schoolroomNameCaps; return `<<link "${name}""Schoolroom">><</link>> `; }; + /** * @return {string} */ window.CellblockUIName = function () { const V = State.variables; - let name = ""; - if (V.cellblockNameCaps === "The Cellblock") { - name = "Cellblock"; - } else { - name = V.cellblockNameCaps; - } + const name = (V.cellblockNameCaps === "The Cellblock") ? "Cellblock" : V.cellblockNameCaps; return `<<link "${name}""Cellblock">><</link>> `; }; + /** * @return {string} */ window.IncubatorUIName = function () { const V = State.variables; - let name = ""; - if (V.incubatorNameCaps === "The Incubator") { - name = "Incubator"; - } else { - name = V.incubatorNameCaps; - } + const name = (V.incubatorNameCaps === "The Incubator") ? "Incubator" : V.incubatorNameCaps; return `<<link "${name}""Incubator">><</link>> `; }; diff --git a/src/js/SetBellySize.js b/src/js/SetBellySize.js index 657bd987bd790568386715dd8e0b09ab6cc8e16e..78d2eec4a50fdf0a59d1e954863fd2848acf0610 100644 --- a/src/js/SetBellySize.js +++ b/src/js/SetBellySize.js @@ -1,13 +1,8 @@ /** @param {App.Entity.SlaveState} slave */ window.SetBellySize = function SetBellySize(slave) { - let _implantSize; WombNormalizePreg(slave); /* now with support for legacy code that advances pregnancy by setting .preg++ */ - if (slave.bellyImplant > 0) { - _implantSize = slave.bellyImplant; - } else { - _implantSize = 0; - } + const _implantSize = (slave.bellyImplant > 0) ? slave.bellyImplant : 0; if (slave.inflation === 3) { slave.bellyFluid = 10000; diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 22696073c0033b4bc8a0688621cd5437f00f1c88..3e5e8b1448ded1cc369b79c17a23da020a4ff3d8 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -1613,7 +1613,8 @@ App.Entity.SlaveState = class SlaveState { */ this.clothes = "no clothing"; /** - * may accept strings, use at own risk "none" + * may accept strings, use at own risk + * * "none" * * "ancient Egyptian" * * "cruel retirement counter" * * "uncomfortable leather" @@ -2321,7 +2322,7 @@ App.Entity.SlaveState = class SlaveState { static makeSkeleton() { return { porn: { - fame: { } + fame: { } }, skill: { }, }; diff --git a/src/js/assayJS.js b/src/js/assayJS.js index 1f10b570c62e3e6a45aa6d455d063fe7335cf495..8fc1d6f6ee9bd8d9f2a35d6ec5f068209612565e 100644 --- a/src/js/assayJS.js +++ b/src/js/assayJS.js @@ -137,7 +137,11 @@ window.newSlave = /** @param {App.Entity.SlaveState} slave */ function newSlave( slave.eyebrowHColor = slave.hColor; } if (slave.override_Skin !== 1) { - slave.origSkin = slave.skin; + if ((slave.skin === "sun tanned") || (slave.skin === "spray tanned")) { + slave.origSkin = randomRaceSkin(slave.origRace); + } else { + slave.origSkin = slave.skin; + } } slave.override_Race = 0; @@ -566,48 +570,48 @@ window.PCTitle = function PCTitle() { V.PCTitle = PlayerName(); if (V.cheater === 1) { - V.PCTitle = (V.PCTitle + " the Cheater"); + V.PCTitle = (`${V.PCTitle } the Cheater`); } else if (V.arcologies[0].FSRestart > 10) { - V.PCTitle = (V.PCTitle + " of the Societal Elite"); + V.PCTitle = (`${V.PCTitle } of the Societal Elite`); } else if (V.rep > 18000) { - V.PCTitle = (V.PCTitle + " the Great"); + V.PCTitle = (`${V.PCTitle } the Great`); } else if (V.rep > 17000) { - V.PCTitle = ("the exalted " + V.PCTitle); + V.PCTitle = (`the exalted ${ V.PCTitle}`); } else if (V.rep > 16000) { - V.PCTitle = ("the illustrious " + V.PCTitle); + V.PCTitle = (`the illustrious ${ V.PCTitle}`); } else if (V.rep > 15000) { - V.PCTitle = ("the prestigious " + V.PCTitle); + V.PCTitle = (`the prestigious ${ V.PCTitle}`); } else if (V.rep > 14000) { - V.PCTitle = ("the renowned " + V.PCTitle); + V.PCTitle = (`the renowned ${ V.PCTitle}`); } else if (V.rep > 13000) { - V.PCTitle = ("the famed " + V.PCTitle); + V.PCTitle = (`the famed ${ V.PCTitle}`); } else if (V.rep > 12000) { - V.PCTitle = ("the celebrated " + V.PCTitle); + V.PCTitle = (`the celebrated ${ V.PCTitle}`); } else if (V.rep > 11000) { - V.PCTitle = ("the honored " + V.PCTitle); + V.PCTitle = (`the honored ${ V.PCTitle}`); } else if (V.rep > 10000) { - V.PCTitle = ("the acclaimed " + V.PCTitle); + V.PCTitle = (`the acclaimed ${ V.PCTitle}`); } else if (V.rep > 9000) { - V.PCTitle = ("the eminent " + V.PCTitle); + V.PCTitle = (`the eminent ${ V.PCTitle}`); } else if (V.rep > 8250) { - V.PCTitle = ("the prominent " + V.PCTitle); + V.PCTitle = (`the prominent ${ V.PCTitle}`); } else if (V.rep > 7500) { - V.PCTitle = ("the distinguished " + V.PCTitle); + V.PCTitle = (`the distinguished ${ V.PCTitle}`); } else if (V.rep > 6750) { - V.PCTitle = ("the admired " + V.PCTitle); + V.PCTitle = (`the admired ${ V.PCTitle}`); } else if (V.rep > 6000) { - V.PCTitle = ("the esteemed " + V.PCTitle); + V.PCTitle = (`the esteemed ${ V.PCTitle}`); } else if (V.rep > 5250) { - V.PCTitle = ("the respected " + V.PCTitle); + V.PCTitle = (`the respected ${ V.PCTitle}`); } else if (V.rep > 4500) { - V.PCTitle = ("the known " + V.PCTitle); + V.PCTitle = (`the known ${ V.PCTitle}`); } else if (V.rep > 3750) { - V.PCTitle = ("the recognized " + V.PCTitle); + V.PCTitle = (`the recognized ${ V.PCTitle}`); } else if (V.rep > 3000) { - V.PCTitle = ("the rumored " + V.PCTitle); + V.PCTitle = (`the rumored ${ V.PCTitle}`); } - V.PCTitle = (V.PCTitle + ", "); + V.PCTitle = (`${V.PCTitle }, `); if (V.PC.name === "FC Dev") { titles.push("the Creator"); @@ -635,7 +639,7 @@ window.PCTitle = function PCTitle() { } if (V.SF.Active < -1) { - switch(V.SF.BadOutcome) { + switch (V.SF.BadOutcome) { case "lockdown": titles.push("The War Host"); break; @@ -652,17 +656,17 @@ window.PCTitle = function PCTitle() { if (V.mercenaries >= 5) { if (V.mercenariesTitle === "Evocati") { - titles.push("Princeps of the " + V.mercenariesTitle); + titles.push(`Princeps of the ${ V.mercenariesTitle}`); } else if (V.mercenariesTitle === "Knights") { if (V.PC.title === 1) { - titles.push("Lord Commander of the " + V.mercenariesTitle); + titles.push(`Lord Commander of the ${ V.mercenariesTitle}`); } else { - titles.push("Lady Commander of the " + V.mercenariesTitle); + titles.push(`Lady Commander of the ${ V.mercenariesTitle}`); } } else if (V.mercenariesTitle === "Immortals") { - titles.push("Tyrant of the " + V.mercenariesTitle); + titles.push(`Tyrant of the ${ V.mercenariesTitle}`); } else { - titles.push("Commander of the " + V.mercenariesTitle); + titles.push(`Commander of the ${ V.mercenariesTitle}`); } } else if (V.mercenaries >= 1) { titles.push("Commander of the Mercenaries"); @@ -1004,9 +1008,9 @@ window.PCTitle = function PCTitle() { if (schoolsPerfected.length === 1) { schoolTitle += schoolsPerfected[0]; } else if (schoolsPerfected.length === 2) { - schoolTitle += schoolsPerfected[0] + " and " + schoolsPerfected[1]; + schoolTitle += `${schoolsPerfected[0] } and ${ schoolsPerfected[1]}`; } else { - schoolsPerfected[schoolsPerfected.length - 1] = "and " + schoolsPerfected[schoolsPerfected.length - 1]; + schoolsPerfected[schoolsPerfected.length - 1] = `and ${ schoolsPerfected[schoolsPerfected.length - 1]}`; schoolTitle += schoolsPerfected.join(", "); } titles.push(schoolTitle); @@ -1017,9 +1021,9 @@ window.PCTitle = function PCTitle() { if (schoolsPresent.length === 1) { schoolTitle += schoolsPresent[0]; } else if (schoolsPresent.length === 2) { - schoolTitle += schoolsPresent[0] + " and " + schoolsPresent[1]; + schoolTitle += `${schoolsPresent[0] } and ${ schoolsPresent[1]}`; } else { - schoolsPresent[schoolsPresent.length - 1] = "and " + schoolsPresent[schoolsPresent.length - 1]; + schoolsPresent[schoolsPresent.length - 1] = `and ${ schoolsPresent[schoolsPresent.length - 1]}`; schoolTitle += schoolsPresent.join(", "); } titles.push(schoolTitle); @@ -1088,9 +1092,9 @@ window.PCTitle = function PCTitle() { if (titles.length === 1) { V.PCTitle += titles[0]; } else if (titles.length === 2) { - V.PCTitle += titles[0] + " and " + titles[1]; + V.PCTitle += `${titles[0] } and ${ titles[1]}`; } else { - titles[titles.length - 1] = "and " + titles[titles.length - 1]; + titles[titles.length - 1] = `and ${ titles[titles.length - 1]}`; V.PCTitle += titles.join(", "); } }; @@ -1186,104 +1190,104 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi if (slave.visualAge < 13) { if (slave.genes === "XY" && slave.vagina === -1) { - r = "shota " + r; + r = `shota ${ r}`; } else { - r = "loli " + r; + r = `loli ${ r}`; } } if (slave.geneticQuirks.albinism === 2) { - r = "albino " + r; + r = `albino ${ r}`; } if (slave.dick > 9 && slave.balls > 9 && slave.boobs > 12000) { - r = "hyper " + r; + r = `hyper ${ r}`; } if (slave.boobs > 4000 && slave.lactation > 0) { if (slave.physicalAge < 13) { - r = r + " calf"; + r = `${r } calf`; } else { - r = r + " cow"; + r = `${r } cow`; } } else if (slave.lactation > 0) { - r = "milky " + r; + r = `milky ${ r}`; } if (slave.boobs > 20000) { - r = "supermassive titted " + r; + r = `supermassive titted ${ r}`; } else if (slave.boobs > 10000) { - r = "giant titted " + r; + r = `giant titted ${ r}`; } else if (slave.boobs > 4000) { - r = "huge titted " + r; + r = `huge titted ${ r}`; } else if (slave.boobs > 1000) { - r = "busty " + r; + r = `busty ${ r}`; } if (slave.dick > 5 && slave.balls > 5) { - r = "womb filling " + r; + r = `womb filling ${ r}`; } else if (slave.dick > 5) { - r = "well hung " + r; + r = `well hung ${ r}`; } if (slave.butt >= 12) { - r = "colossal assed " + r; + r = `colossal assed ${ r}`; } else if (slave.butt >= 12) { - r = "massive assed " + r; + r = `massive assed ${ r}`; } else if (slave.butt >= 8) { - r = "fat assed " + r; + r = `fat assed ${ r}`; } else if (slave.butt >= 6) { - r = "bottom heavy " + r; + r = `bottom heavy ${ r}`; } else if (slave.butt >= 4) { - r = "big bottomed " + r; + r = `big bottomed ${ r}`; } if (slave.weight > 10 && slave.weight < 100 && slave.boobs > 5000 && slave.butt > 5 && slave.hips >= 2 && slave.bellyPreg >= 30000 && slave.births >= 10) { - r = r + " fertility goddess"; + r = `${r } fertility goddess`; } else if (slave.births >= 6) { - r = r + " broodmother"; + r = `${r } broodmother`; } else if (slave.births >= 3) { - r = r + " breeder"; + r = `${r } breeder`; } if (slave.indenture > -1) { - r = "indentured " + r; + r = `indentured ${ r}`; } if (slave.preg > slave.pregData.normalBirth/4 && slave.pregKnown === 1) { - r = "pregnant " + r; + r = `pregnant ${ r}`; } else if (slave.bellyFluid >= 5000) { - r = "bloated " + r; + r = `bloated ${ r}`; } else if (slave.belly >= 5000) { - r = "gravid " + r; + r = `gravid ${ r}`; } if (slave.fuckdoll > 0) { - r = r + " fuckdoll"; + r = `${r } fuckdoll`; } } else { r = "slave"; /* I don't tihnk there is an 'else'? */ if ((slave.dick === 0) && (slave.vagina === -1)) { /* NULLS */ r = "null"; if ((slave.lactation > 0) && (slave.boobs > 2000)) { - r = r + " cow"; + r = `${r } cow`; } else if ((slave.boobsImplant > 0) && (slave.buttImplant > 0)) { - r = r + " bimbo "; + r = `${r } bimbo `; } else if (slave.boobs > 6000) { - r = r + " boob"; + r = `${r } boob`; } else if (slave.butt > 6) { - r = r + " ass"; + r = `${r } ass`; } else if ((slave.muscles > 30) && (slave.height < 185)) { - r = r + " muscle"; + r = `${r } muscle`; } if (slave.visualAge > 55) { - r = r + "GILF"; + r = `${r }GILF`; } else if (slave.visualAge > 35) { - r = r + "MILF"; + r = `${r }MILF`; } else if (slave.visualAge >= 25) { - r = r + "slave"; + r = `${r }slave`; } else { - r = r + "girl"; + r = `${r }girl`; } } @@ -1298,15 +1302,15 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi r = "slavegirl"; } if ((slave.muscles > 30) && (slave.height < 185)) { - r = "muscle " + r; + r = `muscle ${ r}`; } else if ((slave.lactation > 0) && (slave.boobs > 2000)) { - r = r + " cow"; + r = `${r } cow`; } else if ((slave.boobsImplant > 0) && (slave.buttImplant > 0)) { - r = r + " bimbo"; + r = `${r } bimbo`; } else if (slave.boobs > 6000) { - r = "boob" + r; + r = `boob${ r}`; } else if (slave.butt > 6) { - r = "ass" + r; + r = `ass${ r}`; } } @@ -1317,27 +1321,27 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi r = "futa "; } if ((slave.lactation > 0) && (slave.boobs > 2000)) { - r = r + "cow"; + r = `${r }cow`; } else if ((slave.boobsImplant > 0) && (slave.buttImplant > 0)) { - r = r + "bimbo "; + r = `${r }bimbo `; } else if (slave.boobs > 6000) { - r = r + "boob"; + r = `${r }boob`; } else if (slave.butt > 6) { - r = r + "ass"; + r = `${r }ass`; } else if ((slave.muscles > 30) && (slave.height < 185)) { - r = r + "muscle"; + r = `${r }muscle`; } if (slave.visualAge > 55) { - r = r + "GILF"; + r = `${r }GILF`; } else if (slave.visualAge > 35) { - r = r + "MILF"; + r = `${r }MILF`; } else if (slave.visualAge >= 25) { - r = r + "slave"; + r = `${r }slave`; } else { - r = r + "girl"; + r = `${r }girl`; } if (slave.dick > 5 && slave.balls > 5 && slave.boobs > 5000) { - r = "hyper " + r; + r = `hyper ${ r}`; } } @@ -1352,15 +1356,15 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi r = "tgirl"; } if ((slave.muscles > 30) && (slave.height < 185)) { - r = "muscle" + r; + r = `muscle${ r}`; } else if ((slave.lactation > 0) && (slave.boobs > 2000)) { - r = r + " cow"; + r = `${r } cow`; } else if ((slave.boobsImplant > 0) && (slave.buttImplant > 0)) { - r = r + " bimbo"; + r = `${r } bimbo`; } else if (slave.boobs > 6000) { - r = "topheavy " + r; + r = `topheavy ${ r}`; } else if (slave.butt > 6) { - r = "bottomheavy " + r; + r = `bottomheavy ${ r}`; } } @@ -1387,9 +1391,9 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi } } if (slave.lactation > 0) { - r = r + " cow"; + r = `${r } cow`; } else if ((slave.boobsImplant > 0) && (slave.buttImplant > 0)) { - r = r + " bimbo"; + r = `${r } bimbo`; } } } @@ -1400,18 +1404,18 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi if ((slave.shoulders > 1) || (slave.muscles >= 30)) { /* BITCHES: masculine shoulders or muscles */ r = "bitch"; if ((slave.muscles > 30) && (slave.height < 185)) { - r = "muscle" + r; + r = `muscle${ r}`; } else if (slave.lactation > 0) { - r = r + "cow"; + r = `${r }cow`; } else if ((slave.boobsImplant > 0) && (slave.buttImplant > 0)) { - r = "bimbo " + r; + r = `bimbo ${ r}`; } if (slave.visualAge > 55) { - r = "aged " + r; + r = `aged ${ r}`; } else if (slave.visualAge > 35) { - r = "mature " + r; + r = `mature ${ r}`; } else if (slave.visualAge < 25) { - r = "young " + r; + r = `young ${ r}`; } } } @@ -1420,61 +1424,61 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi if ((slave.dick !== 0) && (slave.vagina === -1) && (slave.balls === 0)) { r = "dick"; if (slave.visualAge > 55) { - r = r + "GILF"; + r = `${r }GILF`; } else if (slave.visualAge > 35) { - r = r + "MILF"; + r = `${r }MILF`; } else if (slave.visualAge >= 25) { - r = r + "slave"; + r = `${r }slave`; } else { - r = r + "girl"; + r = `${r }girl`; } if ((slave.muscles > 30) && (slave.height < 185)) { - r = "muscle" + r; + r = `muscle${ r}`; } else if ((slave.lactation > 0) && (slave.boobs > 2000)) { - r = r + " cow"; + r = `${r } cow`; } else if ((slave.boobsImplant > 0) && (slave.buttImplant > 0)) { - r = r + " bimbo"; + r = `${r } bimbo`; } else if (slave.boobs > 6000) { - r = "boob " + r; + r = `boob ${ r}`; } else if (slave.butt > 6) { - r = "ass " + r; + r = `ass ${ r}`; } } if ((slave.muscles > 30) && (slave.height > 185)) { - r = "amazon " + r; + r = `amazon ${ r}`; } else if ((slave.muscles < 30) && (slave.height > 185)) { - r = "statuesque " + r; + r = `statuesque ${ r}`; } else if ((slave.boobs < 800) && (slave.height < 150)) { - r = "petite " + r; + r = `petite ${ r}`; } else if ((slave.boobs > 800) && (slave.height < 150)) { - r = "shortstack " + r; + r = `shortstack ${ r}`; } if (slave.births >= 5) { - r = r + " broodmother"; + r = `${r } broodmother`; } else if (slave.births >= 2) { - r = r + " breeder"; + r = `${r } breeder`; } if (slave.geneticQuirks.albinism === 2) { - r = "albino " + r; + r = `albino ${ r}`; } if (slave.indenture > -1) { - r = "indentured " + r; + r = `indentured ${ r}`; } if (slave.preg > slave.pregData.normalBirth/4 && slave.pregKnown === 1) { - r = "pregnant " + r; + r = `pregnant ${ r}`; } else if (slave.bellyFluid >= 5000) { - r = "bloated " + r; + r = `bloated ${ r}`; } else if (slave.belly >= 5000) { - r = "gravid " + r; + r = `gravid ${ r}`; } if (slave.fuckdoll > 0) { - r = r + " fuckdoll"; + r = `${r } fuckdoll`; } } return r; @@ -1501,10 +1505,10 @@ window.DegradingName = /** @param {App.Entity.SlaveState} slave */ function Degr const suffixes = []; if (slave.fuckdoll > 0) { - slave.slaveName = "Fuckdoll No. " + slave.ID; + slave.slaveName = `Fuckdoll No. ${ slave.ID}`; slave.slaveSurname = 0; } else if (slave.assignment === "work in the dairy" && V.dairyRestraintsSetting >= 2) { - slave.slaveName = "Bioreactor No. " + slave.ID; + slave.slaveName = `Bioreactor No. ${ slave.ID}`; slave.slaveSurname = 0; } else { if (V.seeRace === 1) { diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js index eb1058eff1ac6ea21211d065c7377be04251644b..4a471bb83ddd71e203d96ac43060ef984b7eabae 100644 --- a/src/js/descriptionWidgets.js +++ b/src/js/descriptionWidgets.js @@ -1,7 +1,7 @@ App.Desc.eyes = /** - * @param {App.Entity.SlaveState} slave - * @return {string} Slave's eyes + * @param {App.Entity.SlaveState} slave + * @return {string} Slave's eyes */ function (slave) { "use strict"; @@ -649,7 +649,7 @@ function (slave) { } App.Desc.brand = -/** +/** * @param {App.Entity.SlaveState} slave * @returns {string} Slave's brand */ diff --git a/src/js/economyJS.js b/src/js/economyJS.js index fd675f8a63221953e9f3cada6555214eb7af9462..5e7bdcb36417207c2d5c5ef57135db6651b9b02e 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -880,7 +880,7 @@ window.getSlaveCost = function(s) { } if (isNaN(cost)) { - throw new Error('Cost calculation for slave ' + s.slaveName + ' (' + s.ID + ') failed.'); + throw new Error(`Cost calculation for slave ${ s.slaveName } (${ s.ID }) failed.`); } return cost; }; @@ -1297,12 +1297,12 @@ window.corpValue = function() { // Corporation Share Price // A positive q means adding shares to the market, negative means removing them -window.corpSharePrice = function(q) { +window.corpSharePrice = function(q = 0) { const V = State.variables; if (V.corpIncorporated === 0) { return 0; } else { - return Math.trunc(1000 * (corpValue() / (V.personalShares + V.publicShares + (q || 0)))); + return Math.trunc(1000 * (corpValue() / (V.personalShares + V.publicShares + q))); } }; diff --git a/src/js/familyTreeJS.js b/src/js/familyTreeJS.js index 9b9f993adb2c7622a993a46cbe42810d1d4bb96d..4819a4019cad81bb1a854391173009beb8d321c6 100644 --- a/src/js/familyTreeJS.js +++ b/src/js/familyTreeJS.js @@ -75,7 +75,7 @@ window.renderFamilyTree = function(slaves, filterID) { chartLayer .attr('width', chartWidth) .attr('height', chartHeight) - .attr('transform', 'translate('+[margin.left, margin.top]+')'); + .attr('transform', `translate(${[margin.left, margin.top]})`); } function runFtreeSim(data) { @@ -147,7 +147,7 @@ window.renderFamilyTree = function(slaves, filterID) { } else { ssym = '?'; } - return d.name + '('+ssym+')'; + return `${d.name }(${ssym})`; }) .attr('dy', 4) .attr('dx', function(d) { return -(8*d.name.length)/2; }) @@ -177,7 +177,7 @@ window.renderFamilyTree = function(slaves, filterID) { .attr('y2', function (d) { return d.target.y; }); node - .attr("transform", function (d) { return "translate(" + d.x + ", " + d.y + ")"; }); + .attr("transform", function (d) { return `translate(${ d.x }, ${ d.y })`; }); }; simulation.nodes(data.nodes) @@ -225,7 +225,7 @@ window.buildFamilyTree = function(slaves = State.variables.slaves, filterID) { var kids = {}; var fake_pc = { - slaveName: State.variables.PC.name + '(You)', + slaveName: `${State.variables.PC.name }(You)`, mother: State.variables.PC.mother, father: State.variables.PC.father, dick: State.variables.PC.dick, @@ -311,12 +311,12 @@ window.buildFamilyTree = function(slaves = State.variables.slaves, filterID) { } else if(names.length === 2) { name = names.join(' and '); } else { - names[-1] = 'and '+names[-1]; + names[-1] = `and ${names[-1]}`; name = names.join(', '); } node_lookup[key] = family_graph.nodes.length; //Outside extant slaves set - charList.push({ID: key, mother: 0, father: 0, is_mother: true, dick: 0, vagina: 1, slaveName: name+"'s mother"}); + charList.push({ID: key, mother: 0, father: 0, is_mother: true, dick: 0, vagina: 1, slaveName: `${name}'s mother`}); } var dkeys = Object.keys(outdads); @@ -329,12 +329,12 @@ window.buildFamilyTree = function(slaves = State.variables.slaves, filterID) { } else if(names.length === 2) { name = names.join(' and '); } else { - names[-1] = 'and '+names[-1]; + names[-1] = `and ${names[-1]}`; name = names.join(', '); } node_lookup[key] = family_graph.nodes.length; //Outside extant slaves set - charList.push({ID: key, mother: 0, father: 0, is_father: true, dick: 1, vagina: -1, slaveName: name+"'s father"}); + charList.push({ID: key, mother: 0, father: 0, is_father: true, dick: 1, vagina: -1, slaveName: `${name}'s father`}); } var charHash = {}; @@ -546,7 +546,7 @@ window.updateFamilyTree = function(activeSlave = lastActiveSlave, slaves = lastS slavesAdded[slave.ID] = true; } var data = { - "name": slave.slaveName + (slave.physicalAge?(" (" + slave.physicalAge + ")"):""), + "name": slave.slaveName + (slave.physicalAge?(` (${ slave.physicalAge })`):""), "class": slave.genes, "textClass": (activeSlaveId === slave.ID)?"emphasis":"", "marriages": [], @@ -586,7 +586,7 @@ window.updateFamilyTree = function(activeSlave = lastActiveSlave, slaves = lastS var spouse = getSlave(key, (slaves.genes === "XX")?"unknownXY":(slaves.genes === "XY")?"unknownXX":"unknown"); var spouseName; if (spouse.ID !== slave.ID){ - spouseName = spouse.slaveName + (spouse.physicalAge?(" (" + spouse.physicalAge + ")"):""); + spouseName = spouse.slaveName + (spouse.physicalAge?(` (${ spouse.physicalAge })`):""); } else { spouseName = (spouse.ID === -1)?"(yourself)":"(themselves)"; } diff --git a/src/js/foreachMacroJS.js b/src/js/foreachMacroJS.js index ea5e0afcd3ffed39d03bb4a9ef4e833376ad54fb..5aa54d90562c88b890c9458d1a7da4a2567a1c1f 100644 --- a/src/js/foreachMacroJS.js +++ b/src/js/foreachMacroJS.js @@ -31,15 +31,15 @@ Macro.add('foreach', { // We don't check for "instanceof Array" to also be able to pass arguments or other strange objects if(typeof resultLength !== 'number' || (resultLength % 1) !== 0) { - return this.error("bad evaluation: '" + result + "' is not an array or array-like object"); + return this.error(`bad evaluation: '${ result }' is not an array or array-like object`); } if(resultLength > Config.macros.maxLoopIterations) { - return this.error('Array too large for maxLoopIterations (' + resultLength + ' > ' + Config.macros.maxLoopIterations + ')'); + return this.error(`Array too large for maxLoopIterations (${ resultLength } > ${ Config.macros.maxLoopIterations })`); } if(!new RegExp(`^(${Patterns.variable})$`).test(variable)) { - return this.error('not a variable identifier: ' + variable); + return this.error(`not a variable identifier: ${ variable}`); } if(resultLength <= 0) { diff --git a/src/js/futureSocietyJS.js b/src/js/futureSocietyJS.js index 6978059a94ef3010a2c41179f75d09b8c285ac8c..5bd36ca99468d40d5e510cba1d6ea6fcd3909b89 100644 --- a/src/js/futureSocietyJS.js +++ b/src/js/futureSocietyJS.js @@ -11,9 +11,9 @@ window.FutureSocieties = (function() { function removeFS(FS) { const V = State.variables; const arcology = V.arcologies[0]; - const FSDecoration = FS + "Decoration"; - const FSSMR = FS + "SMR"; - let FSLaw = FS + "Law"; + const FSDecoration = `${FS }Decoration`; + const FSSMR = `${FS }SMR`; + let FSLaw = `${FS }Law`; if (arcology[FS] === undefined) { console.log(`ERROR: bad FS reference, $arcologies[0].${FS} not defined`); return; @@ -255,7 +255,7 @@ window.ValidateFacilityDecoration = function ValidateFacilityDecoration(decorati } }; -window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { +window.FSChange = function FSChange(FS, magnitude, bonusMultiplier = 1) { 'use strict'; const V = State.variables; let errorMessage = ''; @@ -268,7 +268,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSSupremacist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSSupremacist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'Subjugationist': @@ -278,7 +278,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSSubjugationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSSubjugationist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'GenderRadicalist': @@ -288,7 +288,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSGenderRadicalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSGenderRadicalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'GenderFundamentalist': @@ -298,7 +298,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSGenderFundamentalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSGenderFundamentalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'Paternalist': @@ -308,7 +308,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSPaternalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSPaternalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'Degradationist': @@ -318,7 +318,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSDegradationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSDegradationist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'AssetExpansionist': @@ -328,7 +328,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSAssetExpansionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSAssetExpansionist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'SlimnessEnthusiast': @@ -338,7 +338,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSSlimnessEnthusiast += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSSlimnessEnthusiast += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'TransformationFetishist': @@ -348,7 +348,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSTransformationFetishist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSTransformationFetishist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'BodyPurist': @@ -358,7 +358,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSBodyPurist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSBodyPurist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'MaturityPreferentialist': @@ -368,7 +368,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSMaturityPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSMaturityPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'YouthPreferentialist': @@ -378,7 +378,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSYouthPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSYouthPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'Pastoralist': @@ -388,7 +388,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSPastoralist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSPastoralist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'PhysicalIdealist': @@ -398,7 +398,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSPhysicalIdealist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSPhysicalIdealist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'ChattelReligionist': @@ -408,7 +408,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSChattelReligionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSChattelReligionist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'RomanRevivalist': @@ -418,7 +418,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSRomanRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSRomanRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'AztecRevivalist': @@ -428,7 +428,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSAztecRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSAztecRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'EgyptianRevivalist': @@ -438,7 +438,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSEgyptianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSEgyptianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'EdoRevivalist': @@ -448,7 +448,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSEdoRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSEdoRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'ArabianRevivalist': @@ -458,7 +458,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSArabianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSArabianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'ChineseRevivalist': @@ -468,7 +468,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSChineseRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSChineseRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'Repopulationist': @@ -478,7 +478,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSRepopulationFocus += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSRepopulationFocus += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'Eugenics': @@ -488,7 +488,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSRestart += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSRestart += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; case 'Hedonism': @@ -498,7 +498,7 @@ window.FSChange = function FSChange(FS, magnitude, bonusMultiplier) { } else { repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel), 'futureSocieties'); } - V.arcologies[0].FSHedonisticDecadence += 0.05 * magnitude * V.FSSingleSlaveRep * (bonusMultiplier || 1); + V.arcologies[0].FSHedonisticDecadence += 0.05 * magnitude * V.FSSingleSlaveRep * bonusMultiplier; } break; default: diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js index b415ba2cc7039db2a5014bdcb6ed2c84cab0445d..547c0c0b16a62c871134dafc19a89408c8990e3e 100644 --- a/src/js/generateGenetics.js +++ b/src/js/generateGenetics.js @@ -1,4 +1,3 @@ -/* eslint-disable no-undef */ // Generates a child's genetics based off mother and father and returns it as an object to be attached to an ovum window.generateGenetics = (function() { @@ -179,9 +178,11 @@ window.generateGenetics = (function() { // nationality function setNationality(father, mother) { - return (father === 0) ? "Stateless" - : (father.nationality === mother.nationality) ? mother.nationality - : "Stateless"; + if (father === 0 || father.nationality !== mother.nationality) { + return "Stateless"; + } else { + return mother.nationality; + } } // race @@ -189,9 +190,13 @@ window.generateGenetics = (function() { let race; let fatherRace = 0; if (father !== 0) { - race = (mother.origRace === father.origRace) ? mother.origRace - : (jsRandom(1, 4)) === 4 ? jsEither([father.origRace, mother.origRace]) - : "mixed race"; + if (mother.origRace === father.origRace) { + race = mother.origRace; + } else if (jsRandom(1, 4) === 4) { + race = jsEither([father.origRace, mother.origRace]); + } else { + race = "mixed race"; + } } else { if (((actor2 === -2 || actor2 === -5) && V.arcologies[0].FSSupremacistLawME === 1) || (actor2 === -6 && V.arcologies[0].FSSupremacist !== "unset")) { fatherRace = V.arcologies[0].FSSupremacistRace; @@ -200,9 +205,13 @@ window.generateGenetics = (function() { fatherRace = racesList.random(); } if (fatherRace !== 0) { - race = (mother.origRace === fatherRace) ? mother.origRace - : (jsRandom(1,4)) === 4 ? jsEither([fatherRace, mother.origRace]) - : "mixed race"; + if (mother.origRace === fatherRace) { + race = mother.origRace; + } else if (jsRandom(1, 4) === 4) { + race = jsEither([fatherRace, mother.origRace]); + } else { + race = "mixed race"; + } } else { race = mother.origRace; } @@ -214,29 +223,34 @@ window.generateGenetics = (function() { function setSkin(father, mother, actor2) { let fatherSkin = 0; let dadSkinIndex; - let skinToMelanin = { - "pure black": 21, - "ebony": 20, - "black": 19, - "dark brown": 18, - "brown": 17, - "light brown": 16, - "dark": 15, - "dark olive": 14, - "bronze": 13, - "tan": 11, - "olive": 10, - "light olive": 9, - "light": 8, - "white": 7, - "fair": 6, - "very fair": 5, - "extremely fair": 4, - "pale": 3, - "extremely pale": 2, + const skinToMelanin = { + "pure black": 25, + "ebony": 24, + "black": 23, + "dark brown": 22, + "brown": 21, + "light brown": 20, + "dark beige": 19, + "beige": 18, + "light beige": 17, + "dark": 16, + "dark olive": 15, + "bronze": 14, + "olive": 13, + "tan": 12, + "light olive": 11, + "light": 10, + "fair": 9, + "very fair": 8, + "extremely fair": 7, + "pale": 6, + "very pale": 5, + "extremely pale": 4, + "white": 3, + "ivory": 2, "pure white": 1 }; - let momSkinIndex = mother ? (skinToMelanin[mother.origSkin] || 13) : 8; + const momSkinIndex = mother ? (skinToMelanin[mother.origSkin] || 13) : 8; if (((actor2 === -2 || actor2 === -5) && V.arcologies[0].FSSupremacistLawME === 1) || (actor2 === -6 && V.arcologies[0].FSSupremacist !== "unset")) { fatherSkin = randomRaceSkin(V.arcologies[0].FSSupremacistRace); } else if (((actor2 === -2 || actor2 === -5) && V.arcologies[0].FSSubjugationistLawME === 1) || (actor2 === -6 && V.arcologies[0].FSSubjugationist !== "unset")) { @@ -248,7 +262,7 @@ window.generateGenetics = (function() { } else { dadSkinIndex = father !== 0 ? (skinToMelanin[father.origSkin] || 13) : 8; } - let skinIndex = Math.round(Math.random() * (dadSkinIndex - momSkinIndex) + momSkinIndex); + const skinIndex = Math.round(Math.random() * (dadSkinIndex - momSkinIndex) + momSkinIndex); let prop = ""; for (prop in skinToMelanin) { @@ -846,14 +860,14 @@ window.generateChild = function (mother, ova, destination) { if (!pregUpgrade) { if (genes.mother === -1) { if (genes.father <= 0) { - child.slaveName = "Your daughter"; + child.slaveName = `Your daughter`; } else { child.slaveName = `Your and ${genes.fatherName}'s daughter`; } child.slaveSurname = V.PC.surname; } else { if (genes.father === -1) { - child.slaveName = `${genes.motherName} and your daughter`; + child.slaveName = `${genes.motherName}'s and your daughter`; child.slaveSurname = V.PC.surname; } else if (genes.father > 0) { child.slaveName = `${genes.motherName} and ${genes.fatherName}'s daughter`; @@ -891,7 +905,7 @@ window.generateChild = function (mother, ova, destination) { } } else { if (genes.father === -1) { - child.slaveName = `${genes.motherName} and your son`; + child.slaveName = `${genes.motherName}'s and your son`; } else if (genes.father > 0) { child.slaveName = `${genes.motherName} and ${genes.fatherName}'s son`; } else { @@ -943,7 +957,7 @@ window.generateChild = function (mother, ova, destination) { child.slaveSurname = V.PC.surname; } else { if (genes.father === -1) { - child.slaveName = `${genes.motherName} and your son`; + child.slaveName = `${genes.motherName}'s and your son`; child.slaveSurname = V.PC.surname; } else if (genes.father > 0) { child.slaveName = `${genes.motherName} and ${genes.fatherName}'s son`; @@ -981,7 +995,7 @@ window.generateChild = function (mother, ova, destination) { } } else { if (genes.father === -1) { - child.slaveName = `${genes.motherName} and your son`; + child.slaveName = `${genes.motherName}'s and your son`; } else if (genes.father > 0) { child.slaveName = `${genes.motherName} and ${genes.fatherName}'s son`; } else { @@ -1112,14 +1126,14 @@ window.generateChild = function (mother, ova, destination) { if (!pregUpgrade) { if (genes.mother === -1) { if (genes.father <= 0) { - child.slaveName = "Your daughter"; + child.slaveName = `Your daughter`; } else { - child.slaveName = `Your and ${genes.fatherName}'s daughter`; + child.slaveName = `Yours and ${genes.fatherName}'s daughter`; } child.slaveSurname = V.PC.surname; } else { if (genes.father === -1) { - child.slaveName = `${genes.motherName} and your daughter`; + child.slaveName = `Yours and ${genes.motherName}'s daughter`; child.slaveSurname = V.PC.surname; } else if (genes.father > 0) { child.slaveName = `${genes.motherName} and ${genes.fatherName}'s daughter`; @@ -1151,13 +1165,13 @@ window.generateChild = function (mother, ova, destination) { if (childName.indexOf("ovum") === 0) { if (genes.mother === -1) { if (genes.father <= 0) { - child.slaveName = "Your daughter"; + child.slaveName = `Your daughter`; } else { - child.slaveName = `Your and ${genes.fatherName}'s daughter`; + child.slaveName = `Yours and ${genes.fatherName}'s daughter`; } } else { if (genes.father === -1) { - child.slaveName = `${genes.motherName} and your daughter`; + child.slaveName = `Yours and ${genes.motherName}'s daughter`; } else if (genes.father > 0) { child.slaveName = `${genes.motherName} and ${genes.fatherName}'s daughter`; } else { diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js index 3cfe0bfbe99e197505ec4243f2461ef1b725d5c9..819e7e455d154063e48f2a9062582b79b0ebab0d 100644 --- a/src/js/generateNewSlaveJS.js +++ b/src/js/generateNewSlaveJS.js @@ -1240,16 +1240,14 @@ window.GenerateNewSlave = (function() { } nationalityToRace(slave); } else { + slave.race = V.fixedRace; if (V.fixedNationality === 0) { - slave.race = V.fixedRace; - V.fixedRace = 0; raceToNationality(slave); } else { - slave.race = V.fixedRace; slave.nationality = V.fixedNationality; V.fixedNationality = 0; - V.fixedRace = 0; } + V.fixedRace = 0; } } @@ -1313,7 +1311,7 @@ window.GenerateNewSlave = (function() { break; case "latina": slave.lips = jsRandom(5, 25); - slave.skin = jsEither(["brown", "dark brown", "dark olive", "light olive", "tanned"]); + slave.skin = jsEither(["brown", "dark brown", "dark olive", "light olive", "tan"]); slave.hColor = jsEither(["black", "brown"]); if (slave.geneticQuirks.heterochromia === 2) { slave.geneticQuirks.heterochromia = jsEither(["blue", "brown", "green"]); @@ -1345,7 +1343,7 @@ window.GenerateNewSlave = (function() { case "semitic": case "southern european": slave.lips = jsRandom(5, 25); - slave.skin = jsEither(["fair", "light olive", "light", "tanned"]); + slave.skin = jsEither(["fair", "light olive", "light", "tan"]); slave.hColor = "black"; slave.hStyle = "neat"; if (slave.geneticQuirks.heterochromia === 2) { @@ -1361,7 +1359,7 @@ window.GenerateNewSlave = (function() { slave.geneticQuirks.heterochromia = jsEither(["blue", "brown", "green"]); } } - if (slave.skin === "pale" || slave.skin === "fair") { + if ((skinToneLevel(slave.skin) > 5) && (skinToneLevel(slave.skin) < 10)) { if (jsRandom(1, 4) === 1) { slave.markings = jsEither(["beauty mark", "beauty mark", "birthmark", "birthmark", "freckles", "freckles", "freckles", "heavily freckled"]); } diff --git a/src/js/hTagMacroJS.js b/src/js/hTagMacroJS.js index 64681ad4b2d674888901a44ca00d456f210377db..a0908716ab2f36f3a701760f96851d23201c3b35 100644 --- a/src/js/hTagMacroJS.js +++ b/src/js/hTagMacroJS.js @@ -20,7 +20,7 @@ Macro.add('htag', { let htag = 'div'; let attributes; function munge (val, key) { - return key + '="' + val + '"'; + return `${key }="${ val }"`; } if (1 > this.args.length) @@ -30,11 +30,11 @@ Macro.add('htag', { if ("object" === typeof this.args[0]) attributes = $.map(this.args[0], munge).join(" "); else - attributes = 'id="' + String(this.args[0]).trim() + '"'; + attributes = `id="${ String(this.args[0]).trim() }"`; if (Config.debug) this.debugView.modes({block: true}); - jQuery('<' + htag + ' ' + attributes + ' />') + jQuery(`<${ htag } ${ attributes } />`) .wiki(payload) .appendTo(this.output); } diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js index 2bbfa0e66945ce80ac3b0987975c0af345cc3505..5871a894ddf883a73b61d3d69aca48ebb98c1a88 100644 --- a/src/js/itemAvailability.js +++ b/src/js/itemAvailability.js @@ -1,159 +1,164 @@ /* eslint-disable no-undef */ /* intended to condense the clothing/toy/etc availability checks into something less asinine */ + +/** + * Checks whether item is accessible + * @param {string} string Name of the item + * @returns {boolean} + */ window.isItemAccessible = function(string) { const V = State.variables; if (V.cheatMode === 1) { return true; - } else { - switch (string) { /* no breaks needed because we always return */ - case "attractive lingerie for a pregnant woman": - return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtMaternityLingerie === 1); - case "a bunny outfit": - return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1); - case "body oil": - return (V.arcologies[0].FSPhysicalIdealist > 0 || V.clothesBoughtOil === 1); - case "chains": - return (V.arcologies[0].FSDegradationist > 0 || V.clothesBoughtChains === 1); - case "a chattel habit": - return (V.arcologies[0].FSChattelReligionist > 0 || V.clothesBoughtHabit === 1); - case "conservative clothing": - return (V.arcologies[0].FSPaternalist > 0 || V.clothesBoughtConservative === 1); - case "harem gauze": - return (V.arcologies[0].FSArabianRevivalist > 0 || V.clothesBoughtHarem === 1); - case "a huipil": - return (V.arcologies[0].FSAztecRevivalist > 0 || V.clothesBoughtHuipil === 1); - case "a kimono": - return (V.arcologies[0].FSEdoRevivalist > 0 || V.clothesBoughtKimono === 1 || V.continent === "Japan"); - case "a maternity dress": - return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtMaternityDress === 1); - case "a slutty qipao": - return (V.arcologies[0].FSChineseRevivalist > 0 || V.clothesBoughtQipao === 1); - case "a long qipao": - return (V.arcologies[0].FSChineseRevivalist > 0 || V.clothesBoughtCultural === 1); - case "stretch pants and a crop-top": - return (V.arcologies[0].FSHedonisticDecadence > 0 || V.clothesBoughtLazyClothes === 1); - case "a toga": - return (V.arcologies[0].FSRomanRevivalist > 0 || V.clothesBoughtToga === 1); - case "Western clothing": - return (V.arcologies[0].FSPastoralist > 0 || V.clothesBoughtWestern === 1); - case "battlearmor": - case "a military uniform": - case "a red army uniform": - case "battledress": - return (V.clothesBoughtMilitary === 1); - case "a biyelgee costume": - case "a dirndl": - case "lederhosen": - case "a mounty outfit": - case "a hanbok": - return (V.clothesBoughtCultural === 1); - case "a burqa": - case "a niqab and abaya": - return (V.clothesBoughtMiddleEastern === 1 || V.continent === "the Middle East"); - case "a hijab and blouse": - return (V.clothesBoughtMiddleEastern === 1 || V.clothesBoughtConservative === 1 || V.continent === "the Middle East"); - case "a burkini": - return (V.clothesBoughtMiddleEastern === 1 && V.clothesBoughtSwimwear === 1 || V.continent === "the Middle East"); - case "a Santa dress": - return (V.clothesBoughtCostume === 1); - case "a klan robe": - case "a slutty klan robe": - case "a schutzstaffel uniform": - case "a slutty schutzstaffel uniform": - return (V.clothesBoughtPol === 1); - case "nice business attire": - case "a nice nurse outfit": - case "a police uniform": - return (V.clothesBoughtCareer === 1); - case "a nice maid outfit": - return (V.clothesBoughtCareer === 1 || V.PC.career === "servant"); - case "a ball gown": - case "a gothic lolita dress": - //case 'a halter top dress': - //case 'a mini dress': - //case 'a slave gown': - return (V.clothesBoughtDresses === 1); - case "a cybersuit": - case "a latex catsuit": - return (V.clothesBoughtBodysuits === 1); - case "a button-up shirt and panties": - case "a button-up shirt": - case "cutoffs": - case "jeans": - case "leather pants and a tube top": - case "leather pants": - case "an oversized t-shirt": - case "a sweater and cutoffs": - case "a sweater and panties": - case "a sweater": - case "a t-shirt and jeans": - case "a t-shirt and panties": - case "a t-shirt": - case "a tank-top and panties": - case "a tank-top": - case "a tube top": - return (V.clothesBoughtCasual === 1); - case "boyshorts": - case "a bra": - case "kitty lingerie": - case "panties and pasties": - case "a skimpy loincloth": - case "a thong": - return (V.clothesBoughtUnderwear === 1); - case "leather pants and pasties": - case "a t-shirt and thong": - case "a tube top and thong": - case "an oversized t-shirt and boyshorts": - return (V.clothesBoughtUnderwear === 1 && V.clothesBoughtCasual === 1); - case "sport shorts and a sports bra": - case "sport shorts": - case "a sports bra": - return (V.clothesBoughtSports === 1); - case "sport shorts and a t-shirt": - return (V.clothesBoughtSports === 1 && V.clothesBoughtCasual === 1); - case "a nice pony outfit": - case "a slutty pony outfit": - return (V.clothesBoughtPony === 1); - case "a monokini": - case "a one-piece swimsuit": - return (V.clothesBoughtSwimwear === 1); - case "shimapan panties": - case "a striped bra": - case "striped panties": - case "striped underwear": - return (V.clothesBoughtPantsu === 1 || V.continent === "Japan"); - case "bowtie": - return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1); - case "ancient Egyptian": - return (V.arcologies[0].FSEgyptianRevivalist > 0 || V.clothesBoughtEgypt === 1); - case "pasties": /* an option in saChoosesOwnClothes.tw, but everything else (e.g. descriptions, artwork, option in wardrobeUse.tw) is missing or not hooked up correctly */ - return false; - case "massive dildo gag": - return (V.toysBoughtGags === 1); - case "a small empathy belly": - case "a medium empathy belly": - case "a large empathy belly": - case "a huge empathy belly": - return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtBelly === 1); - case "bullet vibrator": - case "smart bullet vibrator": - case "long dildo": - case "long, large dildo": - case "long, huge dildo": - return (V.toysBoughtDildos === 1); - case "vibrator": - return (V.toysBoughtVaginalAttachments === 1); - case "long plug": - case "long, large plug": - case "long, huge plug": - return (V.toysBoughtButtPlugs === 1); - case "tail": - case "cat tail": - case "fox tail": - return (V.toysBoughtButtPlugTails === 1); - default: - return true; - } + } + switch (string) { /* no breaks needed because we always return */ + case "attractive lingerie for a pregnant woman": + return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtMaternityLingerie === 1); + case "a bunny outfit": + return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1); + case "body oil": + return (V.arcologies[0].FSPhysicalIdealist > 0 || V.clothesBoughtOil === 1); + case "chains": + return (V.arcologies[0].FSDegradationist > 0 || V.clothesBoughtChains === 1); + case "a chattel habit": + return (V.arcologies[0].FSChattelReligionist > 0 || V.clothesBoughtHabit === 1); + case "conservative clothing": + return (V.arcologies[0].FSPaternalist > 0 || V.clothesBoughtConservative === 1); + case "harem gauze": + return (V.arcologies[0].FSArabianRevivalist > 0 || V.clothesBoughtHarem === 1); + case "a huipil": + return (V.arcologies[0].FSAztecRevivalist > 0 || V.clothesBoughtHuipil === 1); + case "a kimono": + return (V.arcologies[0].FSEdoRevivalist > 0 || V.clothesBoughtKimono === 1 || V.continent === "Japan"); + case "a maternity dress": + return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtMaternityDress === 1); + case "a slutty qipao": + return (V.arcologies[0].FSChineseRevivalist > 0 || V.clothesBoughtQipao === 1); + case "a long qipao": + return (V.arcologies[0].FSChineseRevivalist > 0 || V.clothesBoughtCultural === 1); + case "stretch pants and a crop-top": + return (V.arcologies[0].FSHedonisticDecadence > 0 || V.clothesBoughtLazyClothes === 1); + case "a toga": + return (V.arcologies[0].FSRomanRevivalist > 0 || V.clothesBoughtToga === 1); + case "Western clothing": + return (V.arcologies[0].FSPastoralist > 0 || V.clothesBoughtWestern === 1); + case "battlearmor": + case "a military uniform": + case "a red army uniform": + case "battledress": + return (V.clothesBoughtMilitary === 1); + case "a biyelgee costume": + case "a dirndl": + case "lederhosen": + case "a mounty outfit": + case "a hanbok": + return (V.clothesBoughtCultural === 1); + case "a burqa": + case "a niqab and abaya": + return (V.clothesBoughtMiddleEastern === 1 || V.continent === "the Middle East"); + case "a hijab and blouse": + return (V.clothesBoughtMiddleEastern === 1 || V.clothesBoughtConservative === 1 || V.continent === "the Middle East"); + case "a burkini": + return (V.clothesBoughtMiddleEastern === 1 && V.clothesBoughtSwimwear === 1 || V.continent === "the Middle East"); + case "a Santa dress": + return (V.clothesBoughtCostume === 1); + case "a klan robe": + case "a slutty klan robe": + case "a schutzstaffel uniform": + case "a slutty schutzstaffel uniform": + return (V.clothesBoughtPol === 1); + case "nice business attire": + case "a nice nurse outfit": + case "a police uniform": + return (V.clothesBoughtCareer === 1); + case "a nice maid outfit": + return (V.clothesBoughtCareer === 1 || V.PC.career === "servant"); + case "a ball gown": + case "a gothic lolita dress": + //case 'a halter top dress': + //case 'a mini dress': + //case 'a slave gown': + return (V.clothesBoughtDresses === 1); + case "a cybersuit": + case "a latex catsuit": + return (V.clothesBoughtBodysuits === 1); + case "a button-up shirt and panties": + case "a button-up shirt": + case "cutoffs": + case "jeans": + case "leather pants and a tube top": + case "leather pants": + case "an oversized t-shirt": + case "a sweater and cutoffs": + case "a sweater and panties": + case "a sweater": + case "a t-shirt and jeans": + case "a t-shirt and panties": + case "a t-shirt": + case "a tank-top and panties": + case "a tank-top": + case "a tube top": + return (V.clothesBoughtCasual === 1); + case "boyshorts": + case "a bra": + case "kitty lingerie": + case "panties and pasties": + case "a skimpy loincloth": + case "a thong": + return (V.clothesBoughtUnderwear === 1); + case "leather pants and pasties": + case "a t-shirt and thong": + case "a tube top and thong": + case "an oversized t-shirt and boyshorts": + return (V.clothesBoughtUnderwear === 1 && V.clothesBoughtCasual === 1); + case "sport shorts and a sports bra": + case "sport shorts": + case "a sports bra": + return (V.clothesBoughtSports === 1); + case "sport shorts and a t-shirt": + return (V.clothesBoughtSports === 1 && V.clothesBoughtCasual === 1); + case "a nice pony outfit": + case "a slutty pony outfit": + return (V.clothesBoughtPony === 1); + case "a monokini": + case "a one-piece swimsuit": + return (V.clothesBoughtSwimwear === 1); + case "shimapan panties": + case "a striped bra": + case "striped panties": + case "striped underwear": + return (V.clothesBoughtPantsu === 1 || V.continent === "Japan"); + case "bowtie": + return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1); + case "ancient Egyptian": + return (V.arcologies[0].FSEgyptianRevivalist > 0 || V.clothesBoughtEgypt === 1); + case "pasties": /* an option in saChoosesOwnClothes.tw, but everything else (e.g. descriptions, artwork, option in wardrobeUse.tw) is missing or not hooked up correctly */ + return false; + case "massive dildo gag": + return (V.toysBoughtGags === 1); + case "a small empathy belly": + case "a medium empathy belly": + case "a large empathy belly": + case "a huge empathy belly": + return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtBelly === 1); + case "bullet vibrator": + case "smart bullet vibrator": + case "long dildo": + case "long, large dildo": + case "long, huge dildo": + return (V.toysBoughtDildos === 1); + case "vibrator": + return (V.toysBoughtVaginalAttachments === 1); + case "long plug": + case "long, large plug": + case "long, huge plug": + return (V.toysBoughtButtPlugs === 1); + case "tail": + case "cat tail": + case "fox tail": + return (V.toysBoughtButtPlugTails === 1); + default: + return true; } }; diff --git a/src/js/pregJS.js b/src/js/pregJS.js index c3024a85201ec1b1d85af3d525ae407d35affe4e..2a2e4567a7dab86af5cea46bda172ffa6142acaf 100644 --- a/src/js/pregJS.js +++ b/src/js/pregJS.js @@ -383,7 +383,7 @@ window.setPregType = function(actor) { } } if (actor.geneticQuirks.superfetation === 2 && actor.womb.length > 0) { - ovum = Math.ceiling(ovum / 4); + ovum = Math.ceil(ovum / 4); } return ovum; }; @@ -402,7 +402,7 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) { let He; let r = ""; if (target.ID !== -1) { - pronouns = getPronouns(slave); + pronouns = getPronouns(target); He = capFirstChar(pronouns.pronoun); } if (V.seePreg !== 0) { diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js index 9a3d5fc2088be7cdb1593a848d65e360201436e1..76d3c507f30bd7425f3084209cccf76eec32287f 100644 --- a/src/js/rulesAssistant.js +++ b/src/js/rulesAssistant.js @@ -1,36 +1,66 @@ -/** @param {App.Entity.SlaveState} slave */ +/** + * @param {App.Entity.SlaveState} slave + * @param {Object[]} rules + * @returns {boolean} +*/ window.hasSurgeryRule = function (slave, rules) { return rules.some( rule => ruleApplied(slave, rule) && rule.set.autoSurgery > 0); }; -/** @param {App.Entity.SlaveState} slave */ +/** + * @param {App.Entity.SlaveState} slave + * @param {Object[]} rules + * @param {string} what + * @returns {boolean} +*/ window.hasRuleFor = function(slave, rules, what) { return rules.some( rule => ruleApplied(slave, rule) && rule[what] !== "no default setting"); }; -/** @param {App.Entity.SlaveState} slave */ +/** + * @param {App.Entity.SlaveState} slave + * @param {Object[]} rules + * @returns {boolean} +*/ window.hasHColorRule = function(slave, rules) { return hasRuleFor(slave, rules, "hColor"); }; -/** @param {App.Entity.SlaveState} slave */ +/** + * @param {App.Entity.SlaveState} slave + * @param {Object[]} rules + * @returns {boolean} + * */ window.hasHStyleRule = function(slave, rules) { return hasRuleFor(slave, rules, "hStyle"); }; -/** @param {App.Entity.SlaveState} slave */ +/** + * @param {App.Entity.SlaveState} slave + * @param {Object[]} rules + * @returns {boolean} + * */ window.hasEyeColorRule = function(slave, rules) { return hasRuleFor(slave, rules, "eyeColor"); }; -/** @param {App.Entity.SlaveState} slave */ +/** + * return if a rule is applied on a slave + * @param {App.Entity.SlaveState} slave + * @param {Object[]} rules + * @returns {boolean} +*/ window.lastPregRule = function(slave, rules) { return rules.some(rule => ruleApplied(slave, rule) && rule.set.preg === -1); }; +/** + * @param {Object[]} rules + * @returns {Object} + */ window.mergeRules = function mergeRules(rules) { const combinedRule = {}; rules.forEach(rule => { @@ -49,14 +79,22 @@ window.mergeRules = function mergeRules(rules) { return combinedRule; }; -// return if a rule is applied on a slave -/** @param {App.Entity.SlaveState} slave */ +/** + * return if a rule is applied on a slave + * @param {App.Entity.SlaveState} slave + * @param {Object} rule + * @returns {boolean} +*/ window.ruleApplied = function(slave, rule) { return slave.currentRules.includes(rule.ID); }; -// remove slave from the facility described by the rule -/** @param {App.Entity.SlaveState} slave */ +/** + * remove slave from the facility described by the rule + * @param {App.Entity.SlaveState} slave + * @param {Object} rule + * @returns {string} +*/ window.RAFacilityRemove = function RAFacilityRemove(slave, rule) { const V = State.variables; let r = ""; @@ -155,8 +193,11 @@ window.RAFacilityRemove = function RAFacilityRemove(slave, rule) { } }; -// return whether the rule applies to the slave -/** @param {App.Entity.SlaveState} slave */ +/** + * return whether the rule applies to the slave + * @param {Object} cond + * @param {App.Entity.SlaveState} slave + * @returns {boolean} flag */ window.ruleAppliesP = function ruleAppliesP(cond, slave) { let flag; @@ -196,6 +237,9 @@ window.ruleAppliesP = function ruleAppliesP(cond, slave) { return flag; }; +/** + * @returns {Object} + */ window.emptyDefaultRule = function emptyDefaultRule() { const id = generateNewID(); const rule = { @@ -339,9 +383,10 @@ window.emptyDefaultRule = function emptyDefaultRule() { return rule; }; -// Saves the slave, silently fires the RA, saves the slave's after-RA state, and then reverts the slave. -// Call and then check potential change against $slaveAfterRA to see if the RA would revert it. -/** @param {App.Entity.SlaveState} slave */ +/** + * Saves the slave, silently fires the RA, saves the slave's after-RA state, and then reverts the slave. + * Call and then check potential change against $slaveAfterRA to see if the RA would revert it. + * @param {App.Entity.SlaveState} slave */ window.RulesDeconfliction = function RulesDeconfliction(slave) { const before = clone(slave); DefaultRules(slave); diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index e476f2814d6f35b13dc802f3136ba18bdcb0c8f7..3dfc35e75707f5144ac42b17ba4672c0b701a4ae 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -167,7 +167,7 @@ window.rulesAssistantOptions = (function() { // it can be "bound" to a variable by setting its "onchange" method class EditorWithShortcuts extends Element { constructor(prefix, data=[], editor=false, ...args) { - super(prefix + ": ", editor, ...args); + super(`${prefix }: `, editor, ...args); this.selectedItem = null; data.forEach(item => this.appendChild(new ListItem(...item))); } @@ -199,9 +199,9 @@ window.rulesAssistantOptions = (function() { setValue(what) { if (this.value.tagName === "INPUT") - this.value.value = ""+what; + this.value.value = `${what}`; else - this.value.innerHTML = ""+what; + this.value.innerHTML = `${what}`; } getData(what) { @@ -305,7 +305,7 @@ window.rulesAssistantOptions = (function() { render(label) { const elem = document.createElement("div"); const lelem = document.createElement("em"); - lelem.innerText = label + ": "; + lelem.innerText = `${label }: `; elem.appendChild(lelem); return elem; } @@ -432,7 +432,7 @@ window.rulesAssistantOptions = (function() { V.defaultRules.push(rule); reload(this.root); } catch (e) { - alert("Couldn't import that rule:\n" + e.message); + alert(`Couldn't import that rule:\n${ e.message}`); } } } @@ -706,7 +706,7 @@ window.rulesAssistantOptions = (function() { const min = document.createElement("input"); min.setAttribute("type", "text"); - min.value = "" + data.value[0]; + min.value = `${ data.value[0]}`; min.onkeypress = e => { if (returnP(e)) this.setmin(min.value); }; min.onblur = e => this.setmin(min.value); this.min = min; @@ -720,7 +720,7 @@ window.rulesAssistantOptions = (function() { const max = document.createElement("input"); max.setAttribute("type", "text"); - max.value = "" + data.value[1]; + max.value = `${ data.value[1]}`; max.onkeypress = e => { if (returnP(e)) this.setmax(max.value); }; max.onblur = e => this.setmax(max.value); this.max = max; @@ -745,12 +745,12 @@ window.rulesAssistantOptions = (function() { setmin(value) { current_rule.condition.data.value[0] = this.parse(value); - this.min.value = ""+current_rule.condition.data.value[0]; + this.min.value = `${current_rule.condition.data.value[0]}`; } setmax(value) { current_rule.condition.data.value[1] = this.parse(value); - this.max.value = ""+current_rule.condition.data.value[1]; + this.max.value = `${current_rule.condition.data.value[1]}`; } info(attribute) { @@ -793,11 +793,11 @@ window.rulesAssistantOptions = (function() { } info(attribute) { - return "Insert a valid JSON array. Known values: " + { + return `Insert a valid JSON array. Known values: ${ { "fetish": "buttslut, cumslut, masochist, sadist, dom, submissive, boobs, pregnancy, none (AKA vanilla)", "amp": "Amputated: 1, Not amputated: 0", "genes": "XX, XY", - }[attribute]; + }[attribute]}`; } setValue(input) { @@ -1315,9 +1315,9 @@ window.rulesAssistantOptions = (function() { if (acc.fs === undefined && acc.rs === undefined) bellies.push([acc.name, acc.value]); else if (acc.fs === "repopulation" && V.arcologies[0].FSRepopulationFocus !== "unset") - bellies.push([acc.name + " (FS)", acc.value]); + bellies.push([`${acc.name } (FS)`, acc.value]); else if (acc.rs === "boughtBelly" && V.clothesBoughtBelly === 1) - bellies.push([acc.name + " (Purchased)", acc.value]); + bellies.push([`${acc.name } (Purchased)`, acc.value]); }); super("Corsetage", bellies); this.setValue(current_rule.set.bellyAccessory); @@ -1359,7 +1359,7 @@ window.rulesAssistantOptions = (function() { if (acc.fs === undefined && acc.rs === undefined) accs.push([acc.name, acc.value]); else if (acc.rs === "buyBigDildos" && V.toysBoughtDildos === 1) - accs.push([acc.name + " (Purchased)", acc.value]); + accs.push([`${acc.name } (Purchased)`, acc.value]); }); super("Vaginal accessories for virgins", accs); this.setValue(current_rule.set.virginAccessory); @@ -1374,7 +1374,7 @@ window.rulesAssistantOptions = (function() { if (acc.fs === undefined && acc.rs === undefined) accs.push([acc.name, acc.value]); else if (acc.rs === "buyBigDildos" && V.toysBoughtDildos === 1) - accs.push([acc.name + " (Purchased)", acc.value]); + accs.push([`${acc.name } (Purchased)`, acc.value]); }); super("Vaginal accessories for anal virgins", accs); this.setValue(current_rule.set.aVirginAccessory); @@ -1389,7 +1389,7 @@ window.rulesAssistantOptions = (function() { if (acc.fs === undefined && acc.rs === undefined) accs.push([acc.name, acc.value]); else if (acc.rs === "buyBigDildos" && V.toysBoughtDildos === 1) - accs.push([acc.name + " (Purchased)", acc.value]); + accs.push([`${acc.name } (Purchased)`, acc.value]); }); super("Vaginal accessories for other slaves", accs); this.setValue(current_rule.set.vaginalAccessory); @@ -1404,7 +1404,7 @@ window.rulesAssistantOptions = (function() { if (acc.fs === undefined && acc.rs === undefined) accs.push([acc.name, acc.value]); else if (acc.rs === "buyVaginalAttachments" && V.toysBoughtVaginalAttachments === 1) - accs.push([acc.name + " (Purchased)", acc.value]); + accs.push([`${acc.name } (Purchased)`, acc.value]); }); super("Vaginal attachments for slaves with vaginal accessories", accs); this.setValue(current_rule.set.vaginalAttachment); @@ -1461,7 +1461,7 @@ window.rulesAssistantOptions = (function() { if (acc.fs === undefined && acc.rs === undefined) accs.push([acc.name, acc.value]); else if (acc.rs === "buyBigPlugs" && V.toysBoughtButtPlugs === 1) - accs.push([acc.name + " (Purchased)", acc.value]); + accs.push([`${acc.name } (Purchased)`, acc.value]); }); super("Buttplugs for anal virgins", accs); this.setValue(current_rule.set.aVirginButtplug); @@ -1476,7 +1476,7 @@ window.rulesAssistantOptions = (function() { if (acc.fs === undefined && acc.rs === undefined) accs.push([acc.name, acc.value]); else if (acc.rs === "buyBigPlugs" && V.toysBoughtButtPlugs === 1) - accs.push([acc.name + " (Purchased)", acc.value]); + accs.push([`${acc.name } (Purchased)`, acc.value]); }); super("Buttplugs for other slaves", accs); this.setValue(current_rule.set.buttplug); @@ -1491,7 +1491,7 @@ window.rulesAssistantOptions = (function() { if (acc.fs === undefined && acc.rs === undefined) accs.push([acc.name, acc.value]); else if (acc.rs === "buyTails" && V.toysBoughtButtPlugTails === 1) - accs.push([acc.name + " (Purchased)", acc.value]); + accs.push([`${acc.name } (Purchased)`, acc.value]); }); super("Buttplug attachments for slaves with buttplugs", accs); this.setValue(current_rule.set.buttplugAttachment); @@ -1757,9 +1757,10 @@ window.rulesAssistantOptions = (function() { ["No default setting", "no default setting"], ["Abort all", "all"], ]; - if (V.pregnancyMonitoringUpgrade === 1 && V.geneticMappingUpgrade === 1) + if (V.pregnancyMonitoringUpgrade === 1 && V.geneticMappingUpgrade === 1) { pairs.push(["Abort boys", "male"]); pairs.push(["Abort girls", "female"]); + } super("Pregnancy termination", pairs); this.setValue(current_rule.set.abortion); this.onchange = (value) => current_rule.set.abortion = value; @@ -3642,10 +3643,33 @@ window.rulesAssistantOptions = (function() { const items = [ ["no default setting"], ["natural"], + ["pure white"], + ["ivory"], + ["white"], + ["extremely pale"], + ["very pale"], ["pale"], - ["lightened"], - ["tanned"], + ["extremely fair"], + ["very fair"], + ["fair"], + ["light"], + ["light olive"], + ["tan"], + ["olive"], + ["bronze"], + ["dark olive"], ["dark"], + ["light beige"], + ["beige"], + ["dark beige"], + ["light brown"], + ["brown"], + ["dark brown"], + ["black"], + ["ebony"], + ["pure black"], + ["sun tanned"], + ["spray tanned"], ["dyed red"], ["dyed green"], ["dyed blue"], diff --git a/src/js/rulesAutosurgery.js b/src/js/rulesAutosurgery.js index 2b33dbadf8065db6b686ce4d03ae2fef10748e70..8a6158e1ffa067b99ba3b875e5551f083eb7ae83 100644 --- a/src/js/rulesAutosurgery.js +++ b/src/js/rulesAutosurgery.js @@ -1,24 +1,32 @@ -/* eslint-disable no-undef */ window.rulesAutosurgery = (function() { "use strict"; let V; let r; return rulesAutoSurgery; - /** @param {App.Entity.SlaveState} slave */ + /** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ function rulesAutoSurgery(slave) { V = State.variables; r = ""; const surgeries = []; const thisSurgery = ProcessHGTastes(slave); - if (slave.health > 20) + if (slave.health > 20) { CommitSurgery(slave, thisSurgery, surgeries); - if (surgeries.length > 0) + } + if (surgeries.length > 0) { PrintResult(slave, thisSurgery, surgeries); + } return r; } - /** @param {App.Entity.SlaveState} slave */ + /** + * @param {App.Entity.SlaveState} slave + * @param {Object[]} ruleset + * @returns {Object} + */ function autoSurgerySelector(slave, ruleset) { const surgery = {}; ruleset.forEach(rule => { @@ -31,7 +39,10 @@ window.rulesAutosurgery = (function() { return surgery; } - /** @param {App.Entity.SlaveState} slave */ + /** + * @param {App.Entity.SlaveState} slave + * @returns {Object} + */ function ProcessHGTastes(slave) { let thisSurgery; switch (V.HGTastes) { @@ -50,7 +61,7 @@ window.rulesAutosurgery = (function() { surgery_boobs: 0, surgery_holes: 0 }; - break ; + break; case 2: thisSurgery = { surgery_lactation: 0, @@ -107,19 +118,23 @@ window.rulesAutosurgery = (function() { .map(x => x.set)); if ((thisSurgery.surgery_hips !== "no default setting") && (thisSurgery.surgery_butt !== "no default setting")) { if (slave.hips < -1) { - if (thisSurgery.surgery_butt > 2) + if (thisSurgery.surgery_butt > 2) { thisSurgery.surgery_butt = 2; + } } else if (slave.hips < 0) { - if (thisSurgery.surgery_butt > 4) + if (thisSurgery.surgery_butt > 4) { thisSurgery.surgery_butt = 4; + } } else if (slave.hips > 0) { - if (thisSurgery.surgery_butt > 8) + if (thisSurgery.surgery_butt > 8) { thisSurgery.surgery_butt = 8; + } } else if (slave.hips > 1) { // true } else { - if (thisSurgery.surgery_butt > 6) + if (thisSurgery.surgery_butt > 6) { thisSurgery.surgery_butt = 6; + } } } break; @@ -127,7 +142,11 @@ window.rulesAutosurgery = (function() { return thisSurgery; } - /** @param {App.Entity.SlaveState} slave */ + /** + * @param {App.Entity.SlaveState} slave + * @param {Object} thisSurgery + * @param {string[]} surgeries + */ function CommitSurgery(slave, thisSurgery, surgeries) { if (slave.health > 20 && surgeries.length < 3) { if (slave.eyes === -1 && thisSurgery.surgery_eyes === 1) { @@ -200,10 +219,11 @@ window.rulesAutosurgery = (function() { if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.boobShape === "normal" || slave.boobShape === "wide-set") && thisSurgery.surgery_cosmetic > 0 && slave.breastMesh !== 1) { - if (slave.boobs > 800) + if (slave.boobs > 800) { slave.boobShape = "torpedo-shaped"; - else + } else { slave.boobShape = "perky"; + } surgeries.push("more interestingly shaped breasts"); cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; @@ -282,21 +302,21 @@ window.rulesAutosurgery = (function() { if (slave.anus > 3 && thisSurgery.surgery_cosmetic > 0) { surgeries.push("a restored anus"); slave.anus = 3; - if (slave.skill.anal > 10) + if (slave.skill.anal > 10) { slave.skill.anal -= 10; + } cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; - } else if (slave.vagina > 3 && thisSurgery.surgery_cosmetic > 0) { surgeries.push("a restored pussy"); slave.vagina = 3; - if (slave.skill.vaginal > 10) + if (slave.skill.vaginal > 10) { slave.skill.vaginal -= 10; + } cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; - } else if (slave.anus > 0 && V.surgeryUpgrade === 1 && thisSurgery.surgery_holes === 2) { surgeries.push("a virgin anus"); slave.anus = 0; @@ -306,16 +326,15 @@ window.rulesAutosurgery = (function() { cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; - } else if (slave.vagina > 0 && V.surgeryUpgrade === 1 && thisSurgery.surgery_holes === 2) { surgeries.push("a virgin pussy"); slave.vagina = 0; - if (slave.skill.vaginal > 10) + if (slave.skill.vaginal > 10) { slave.skill.vaginal -= 10; + } cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; - } else if (slave.anus > 1 && thisSurgery.surgery_holes === 1) { surgeries.push("a tighter anus"); slave.anus = 1; @@ -325,7 +344,6 @@ window.rulesAutosurgery = (function() { cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; - } else if (slave.vagina > 1 && thisSurgery.surgery_holes === 1) { surgeries.push("a tighter pussy"); slave.vagina = 1; @@ -353,19 +371,21 @@ window.rulesAutosurgery = (function() { } else if (slave.balls > 0 && slave.vasectomy === 0 && thisSurgery.surgery_vasectomy === true) { surgeries.push("vasectomy"); V.surgeryType = "vasectomy"; - if (V.PC.medicine >= 100) + if (V.PC.medicine >= 100) { slave.health -= 5; - else + } else { slave.health -= 10; + } slave.vasectomy = 1; cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); } else if (slave.balls > 0 && slave.vasectomy === 1 && thisSurgery.surgery_vasectomy === false) { surgeries.push("undo vasectomy"); V.surgeryType = "vasectomy undo"; - if (V.PC.medicine >= 100) + if (V.PC.medicine >= 100) { slave.health -=5; - else + } else { slave.health -= 10; + } slave.vasectomy = 0; cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); } @@ -375,7 +395,7 @@ window.rulesAutosurgery = (function() { surgeries.push("a nicer face"); if (slave.faceShape === "masculine") slave.faceShape = "androgynous"; slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/50)-5*V.surgeryUpgrade; - slave.face = Math.clamp(slave.face+20,-100,100); + slave.face = Math.clamp(slave.face+20, -100, 100); cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -426,8 +446,9 @@ window.rulesAutosurgery = (function() { surgeries.push("surgery to remove her lip implants"); slave.lips -= slave.lipsImplant; slave.lipsImplant = 0; - if (slave.skill.oral > 10) + if (slave.skill.oral > 10) { slave.skill.oral -= 10; + } cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -435,8 +456,9 @@ window.rulesAutosurgery = (function() { surgeries.push("bigger lips"); slave.lipsImplant += 10; slave.lips += 10; - if (slave.skill.oral > 10) + if (slave.skill.oral > 10) { slave.skill.oral -= 10; + } cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -450,7 +472,7 @@ window.rulesAutosurgery = (function() { surgeries.push("a nicer face"); if (slave.faceShape === "masculine") slave.faceShape = "androgynous"; slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/50)-5*V.surgeryUpgrade; - slave.face = Math.clamp(slave.face+20,-100,100); + slave.face = Math.clamp(slave.face+20, -100, 100); cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -497,7 +519,7 @@ window.rulesAutosurgery = (function() { else slave.health -= 10; } else if (slave.waist >= -95 && V.seeExtreme === 1 && thisSurgery.surgery_cosmetic === 2) { surgeries.push("a narrower waist"); - slave.waist = Math.clamp(slave.waist-20,-100,100); + slave.waist = Math.clamp(slave.waist-20, -100, 100); cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -534,14 +556,14 @@ window.rulesAutosurgery = (function() { else slave.health -= 50; } bellyIn(slave); - } else if (slave.bellyImplant >= 0 && thisSurgery.surgery_bellyImplant === "remove") { surgeries.push("belly implant removal"); V.surgeryType = "bellyOut"; - if (V.PC.medicine >= 100) + if (V.PC.medicine >= 100) { slave.health -= 5; - else + } else { slave.health -= 10; + } slave.preg = 0; slave.bellyImplant = -1; slave.cervixImplant = 0; @@ -550,14 +572,18 @@ window.rulesAutosurgery = (function() { } } - /** @param {App.Entity.SlaveState} slave */ + /** + * @param {App.Entity.SlaveState} slave + * @param {Object} thisSurgery + * @param {string[]} surgeries + */ function PrintResult(slave, thisSurgery, surgeries) { let surgeriesDisplay = ""; - if (surgeries.length === 1) + if (surgeries.length === 1) { surgeriesDisplay = surgeries[0]; - else { + } else { surgeriesDisplay = surgeries.slice(0, surgeries.length - 1).join(", "); - surgeriesDisplay += ", and" + surgeries[surgeries.length - 1]; + surgeriesDisplay += `, and${surgeries[surgeries.length - 1]}`; } r += `${V.assistantName === "your personal assistant" ? "Your personal assistant" : V.assistantName}, ordered to apply surgery, gives ${slave.slaveName} <span class="lime">${surgeriesDisplay}.</span>`; } @@ -565,11 +591,11 @@ window.rulesAutosurgery = (function() { /** @param {App.Entity.SlaveState} slave */ function bellyIn(slave) { // less hacky version of calling surgery degradation silently - if (slave.devotion > 50) + if (slave.devotion > 50) { slave.devotion += 4; - else if (slave.devotion >= -20) + } else if (slave.devotion >= -20) { slave.trust -= 5; - else { + } else { slave.trust -= 5; slave.devotion -= 5; } diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js index f7d8af1a04120583cc9781fec97e59e49ec39625..c26283f07835f92710a468c1e16794d3149ecda4 100644 --- a/src/js/sexActsJS.js +++ b/src/js/sexActsJS.js @@ -1,21 +1,19 @@ -/* eslint-disable no-unused-vars */ -/* eslint-disable no-undef */ /* times is how many times to increment the anal counts. if left undefined it will assume it to be 1. */ -window.AnalVCheck = function AnalVCheck(times) { +window.AnalVCheck = function AnalVCheck(times = 1) { const V = State.variables; const slave = V.activeSlave; const pronouns = getPronouns(slave); - const he = pronouns.pronoun, - //him = pronouns.object, - his = pronouns.possessive; + const he = pronouns.pronoun; + //him = pronouns.object, + const his = pronouns.possessive; // hers = pronouns.possessivePronoun, // himself = pronouns.objectReflexive, // boy = pronouns.noun; - const He = capFirstChar(he), - His = capFirstChar(his); + const He = capFirstChar(he); + const His = capFirstChar(his); let r = ``; if (canDoAnal(slave) && slave.anus === 0) { r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `; @@ -48,13 +46,8 @@ window.AnalVCheck = function AnalVCheck(times) { if (canImpreg(slave, V.PC)) { r += knockMeUp(slave, 10, 1, -1, 1); } - if (!times) { - V.analTotal += 1; - slave.analCount += 1; - } else { - V.analTotal += times; - slave.analCount += times; - } + V.analTotal += times; + slave.analCount += times; } return r; }; @@ -63,16 +56,16 @@ window.AnalVCheck = function AnalVCheck(times) { times is how many times to increment the vaginal counts. if left undefined it will assume it to be 1. */ -window.VaginalVCheck = function VaginalVCheck(times) { +window.VaginalVCheck = function VaginalVCheck(times = 1) { const V = State.variables; const slave = V.activeSlave; const pronouns = getPronouns(slave); - const he = pronouns.pronoun, - him = pronouns.object, - his = pronouns.possessive, - hers = pronouns.possessivePronoun, - himself = pronouns.objectReflexive, - boy = pronouns.noun; + const he = pronouns.pronoun; + const him = pronouns.object; + const his = pronouns.possessive; + const hers = pronouns.possessivePronoun; + const himself = pronouns.objectReflexive; + const boy = pronouns.noun; const He = capFirstChar(he); const His = capFirstChar(his); let r = ``; @@ -108,15 +101,9 @@ window.VaginalVCheck = function VaginalVCheck(times) { if (canImpreg(slave, V.PC)) { r += knockMeUp(slave, 10, 0, -1, 1); } - if (!times) { - V.vaginalTotal += 1; - slave.vaginalCount += 1; - } else { - V.vaginalTotal += times; - slave.vaginalCount += times; - } + V.vaginalTotal += times; + slave.vaginalCount += times; } - return r; }; @@ -125,16 +112,16 @@ window.VaginalVCheck = function VaginalVCheck(times) { bothTimes is how many times to increment both holes counts (usually it is half of analTimes). In both cases if left undefined it will assume it to be 1. */ -window.BothVCheck = function BothVCheck(analTimes, bothTimes) { +window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) { const V = State.variables; const slave = V.activeSlave; const pronouns = getPronouns(slave); - const he = pronouns.pronoun, - him = pronouns.object, - his = pronouns.possessive, - hers = pronouns.possessivePronoun, - himself = pronouns.objectReflexive, - boy = pronouns.noun; + const he = pronouns.pronoun; + const him = pronouns.object; + const his = pronouns.possessive; + const hers = pronouns.possessivePronoun; + const himself = pronouns.objectReflexive; + const boy = pronouns.noun; const He = capFirstChar(he); const His = capFirstChar(his); let r = ``; @@ -200,28 +187,16 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) { slave.anus = 1; } if (canDoAnal(slave)) { - if (!bothTimes) { - V.vaginalTotal += 1; - V.analTotal += 1; - slave.vaginalCount += 1; - slave.analCount += 1; - } else { - V.vaginalTotal += bothTimes; - V.analTotal += bothTimes; - slave.vaginalCount += bothTimes; - slave.analCount += bothTimes; - } + V.vaginalTotal += bothTimes; + V.analTotal += bothTimes; + slave.vaginalCount += bothTimes; + slave.analCount += bothTimes; if (canImpreg(slave, V.PC)) { r += knockMeUp(slave, 10, 2, -1, 1); } } else { - if (!bothTimes) { - V.vaginalTotal += 1; - slave.vaginalCount += 1; - } else { - V.vaginalTotal += bothTimes; - slave.vaginalCount += bothTimes; - } + V.vaginalTotal += bothTimes; + slave.vaginalCount += bothTimes; if (canImpreg(slave, V.PC)) { r += knockMeUp(slave, 10, 0, -1, 1); } @@ -249,13 +224,8 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) { } slave.anus = 1; } - if (!analTimes) { - V.analTotal += 1; - slave.analCount += 1; - } else { - V.analTotal += analTimes; - slave.analCount += analTimes; - } + V.analTotal += analTimes; + slave.analCount += analTimes; if (canImpreg(slave, V.PC)) { r += knockMeUp(slave, 10, 1, -1, 1); } @@ -285,16 +255,16 @@ window.SimpleVCheck = function SimpleVCheck(times) { This also checks for a valid Vagina/Accessory, though most code I've seen does this already, you never know when someone might use the routine and forget to do such. */ -window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) { +window.PartnerVCheck = function PartnerVCheck(analTimes = 1, bothTimes = 1) { const V = State.variables; const partner = V.slaves[V.partner]; const pronouns = getPronouns(partner); - const he = pronouns.pronoun, - him = pronouns.object, - his = pronouns.possessive, - hers = pronouns.possessivePronoun, - himself = pronouns.objectReflexive, - boy = pronouns.noun; + const he = pronouns.pronoun; + const him = pronouns.object; + const his = pronouns.possessive; + const hers = pronouns.possessivePronoun; + const himself = pronouns.objectReflexive; + const boy = pronouns.noun; const He = capFirstChar(he); const His = capFirstChar(his); let r = ``; @@ -317,28 +287,16 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) { } if (canDoAnal(partner)) { - if (!bothTimes) { - V.vaginalTotal += 1; - V.analTotal += 1; - partner.vaginalCount += 1; - partner.analCount += 1; - } else { - V.vaginalTotal += bothTimes; - V.analTotal += bothTimes; - partner.vaginalCount += bothTimes; - partner.analCount += bothTimes; - } + V.vaginalTotal += bothTimes; + V.analTotal += bothTimes; + partner.vaginalCount += bothTimes; + partner.analCount += bothTimes; if (canImpreg(partner, V.PC)) { r += knockMeUp(partner, 10, 2, -1); } } else { - if (!bothTimes) { - V.vaginalTotal += 1; - partner.vaginalCount += 1; - } else { - V.vaginalTotal += bothTimes; - partner.vaginalCount += bothTimes; - } + V.vaginalTotal += bothTimes; + partner.vaginalCount += bothTimes; if (canImpreg(partner, V.PC)) { r += knockMeUp(partner, 10, 0, -1); } @@ -348,13 +306,8 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) { r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. @@.lime;This breaks in ${partner.slaveName}'s virgin ass.@@ `; partner.anus = 1; } - if (!analTimes) { - V.analTotal += 1; - partner.analCount += 1; - } else { - V.analTotal += analTimes; - partner.analCount += analTimes; - } + V.analTotal += analTimes; + partner.analCount += analTimes; if (canImpreg(partner, V.PC)) { r += knockMeUp(partner, 10, 1, -1); } @@ -367,14 +320,11 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) { If count is left undefined it will assume it to be 1. Intended to be a simple "I want to fuck x and not have to code a bunch of logic for it". @param {App.Entity.SlaveState} slave */ -window.SimpleSexAct = function SimpleSexAct(slave, count) { +window.SimpleSexAct = function SimpleSexAct(slave, fuckCount = 1) { const V = State.variables; let fuckTarget = 0; - let fuckCount = 1; - let r = ``; - if (count) { - fuckCount = count; - } + let r = ""; + for (let i = 0; i < fuckCount; i++) { fuckTarget = jsRandom(1, 100); if (slave.nipples === "fuckable" && V.PC.dick === 1 && fuckTarget > 80) { @@ -407,13 +357,10 @@ window.SimpleSexAct = function SimpleSexAct(slave, count) { Pregnancy chance is handled in saLongTermEffects.tw. @param {App.Entity.SlaveState} slave */ -window.SimpleSlaveFucking = function SimpleSlaveFucking(slave, count) { +window.SimpleSlaveFucking = function SimpleSlaveFucking(slave, fuckCount = 1) { const V = State.variables; let fuckTarget = 0; - let fuckCount = 1; - if (count) { - fuckCount = count; - } + for (let i = 0; i < fuckCount; i++) { fuckTarget = jsRandom(1, 100); if (slave.nipples === "fuckable" && fuckTarget > 80) { @@ -440,14 +387,11 @@ window.SimpleSlaveFucking = function SimpleSlaveFucking(slave, count) { @param {App.Entity.SlaveState} subslave @param {App.Entity.SlaveState} domslave */ -window.SimpleSlaveSlaveFucking = function SimpleSlaveSlaveFucking(subslave, domslave, count) { +window.SimpleSlaveSlaveFucking = function SimpleSlaveSlaveFucking(subslave, domslave, fuckCount = 1) { const V = State.variables; let fuckTarget = 0; - let fuckCount = 1; - let r = ``; - if (count) { - fuckCount = count; - } + let r = ""; + for (let j = 0; j < fuckCount; j++) { //there is a reason randomization happens inside cycle - to spread fuck around, otherwise cycle isn't even needed fuckTarget = jsRandom(1, 100); @@ -524,23 +468,13 @@ window.SimpleSlaveSlaveFucking = function SimpleSlaveSlaveFucking(subslave, doms }; /** @param {App.Entity.SlaveState} slave */ -window.SimpleVaginaFuck = function SimpleVaginaFuck(slave, count) { - if (count) { - State.variables.vaginalTotal += count; - slave.vaginalCount += count; - } else { - State.variables.vaginalTotal++; - slave.vaginalCount++; - } +window.SimpleVaginaFuck = function SimpleVaginaFuck(slave, count = 1) { + State.variables.vaginalTotal += count; + slave.vaginalCount += count; }; /** @param {App.Entity.SlaveState} slave */ -window.SimpleAssFuck = function SimpleAssFuck(slave, count) { - if (count) { - State.variables.analTotal += count; - slave.analCount += count; - } else { - State.variables.analTotal++; - slave.analCount++; - } +window.SimpleAssFuck = function SimpleAssFuck(slave, count = 1) { + State.variables.analTotal += count; + slave.analCount += count; }; diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js index 0b118dd295aaf85c07aa0bee8c963727fca41a7c..65c36860e91c80c56b5f0b828539ef608787d956 100644 --- a/src/js/slaveCostJS.js +++ b/src/js/slaveCostJS.js @@ -218,7 +218,7 @@ window.Beauty = (function() { break; case "freckles": case "heavily freckled": - if (slave.skin === "pale" || slave.skin === "fair") { + if ((skinToneLevel(slave.skin) > 5) && (skinToneLevel(slave.skin) < 10)) { beauty += 2; if (slave.hColor === "red") { beauty += 2; diff --git a/src/js/slaveGenerationJS.js b/src/js/slaveGenerationJS.js index d87b6c35d4829b6e35ac15e55329fcbc94354599..f9359ebaf05f3f8120460158166ca28249fe4271 100644 --- a/src/js/slaveGenerationJS.js +++ b/src/js/slaveGenerationJS.js @@ -1,4 +1,3 @@ -/* eslint-disable no-undef */ window.nationalityToRace = /** @param {App.Entity.SlaveState} slave */ function nationalityToRace(slave) { slave.race = hashChoice(setup.raceSelector[slave.nationality] || setup.raceSelector[""]); }; @@ -14,7 +13,7 @@ window.raceToNationality = /** @param {App.Entity.SlaveState} slave */ function } /* No success after 100 attempts, so just randomize according to race */ if (setup.raceSelector[slave.nationality] && !(slave.race in setup.raceSelector[slave.nationality]) && i === 100) { - slave.nationality = hashChoice(setup[slave.race.toLowerCase().replace(/[ -]/g, '')+'Nationalities']); + slave.nationality = hashChoice(setup[`${slave.race.toLowerCase().replace(/[ -]/g, "")}Nationalities`]); } }; @@ -22,10 +21,10 @@ window.generateName = function generateName(nationality, race, male, filter) { filter = filter || _.stubTrue; /* default: allow all */ const lookup = (male ? setup.malenamePoolSelector : setup.namePoolSelector); const result = jsEither( - (lookup[nationality + "." + race] || lookup[nationality] || + (lookup[`${nationality }.${ race}`] || lookup[nationality] || (male ? setup.whiteAmericanMaleNames : setup.whiteAmericanSlaveNames)).filter(filter)); /* fallback for males without specific male name sets: return female name */ - if(male && !result) { + if (male && !result) { return generateName(nationality, race, false); } return result; @@ -34,13 +33,13 @@ window.generateName = function generateName(nationality, race, male, filter) { window.generateSurname = function generateSurname(nationality, race, male, filter) { filter = filter || _.stubTrue; /* default: allow all */ const result = jsEither( - (setup.surnamePoolSelector[nationality + "." + race] || + (setup.surnamePoolSelector[`${nationality }.${ race}`] || setup.surnamePoolSelector[nationality] || setup.whiteAmericanSlaveSurnames).filter(filter)); - if(male) { + if (male) { /* see if we have male equivalent of that surname, and return that if so */ - const maleLookup = setup.maleSurnamePoolSelector[nationality + "." + race] || setup.maleSurnamePoolSelector[nationality]; - if(maleLookup && maleLookup[result]) { + const maleLookup = setup.maleSurnamePoolSelector[`${nationality }.${ race}`] || setup.maleSurnamePoolSelector[nationality]; + if (maleLookup && maleLookup[result]) { return maleLookup[result]; } } @@ -48,7 +47,7 @@ window.generateSurname = function generateSurname(nationality, race, male, filte }; window.isMaleName = function isMaleName(name, nationality, race) { - const names = setup.malenamePoolSelector[nationality + "." + race] || + const names = setup.malenamePoolSelector[`${nationality }.${ race}`] || setup.malenamePoolSelector[nationality] || setup.whiteAmericanMaleNames; return names && names.includes(name); @@ -60,7 +59,7 @@ window.nationalityToName = /** @param {App.Entity.SlaveState} slave */ function slave.birthName = generateName(slave.nationality, slave.race, male); slave.birthSurname = generateSurname(slave.nationality, slave.race, male); - if(male && isMaleName(slave.birthName, slave.nationality, slave.race) && !V.allowMaleSlaveNames) { + if (male && isMaleName(slave.birthName, slave.nationality, slave.race) && !V.allowMaleSlaveNames) { slave.slaveName = generateName(slave.nationality, slave.race, false); } else { slave.slaveName = slave.birthName; diff --git a/src/js/slaveStatsChecker.js b/src/js/slaveStatsChecker.js index 7cb99cfa01d53f6d28a779adab6aac78c1fcab37..df3a9defce0e8be3c7b23f6a53b024ba02a74231 100644 --- a/src/js/slaveStatsChecker.js +++ b/src/js/slaveStatsChecker.js @@ -29,35 +29,48 @@ window.SlaveStatsChecker = (function() { function piercingScore(slave) { let score = 0; - if (slave.earPiercing > 0) + if (slave.earPiercing > 0) { score += slave.earPiercing*0.75 - 0.5; - if (slave.nosePiercing > 0) + } + if (slave.nosePiercing > 0) { score += slave.nosePiercing*0.75 - 0.5; - if (slave.eyebrowPiercing > 0) + } + if (slave.eyebrowPiercing > 0) { score += slave.eyebrowPiercing*0.75 - 0.5; - if (slave.navelPiercing > 0) + } + if (slave.navelPiercing > 0) { score += slave.navelPiercing*0.75 - 0.5; - if (slave.corsetPiercing > 0) + } + if (slave.corsetPiercing > 0) { score += slave.corsetPiercing*0.75 + 0.5; - if (slave.nipplesPiercing > 0) + } + if (slave.nipplesPiercing > 0) { score += slave.nipplesPiercing*0.75 - 0.25; - if (slave.areolaePiercing > 0) + } + if (slave.areolaePiercing > 0) { score += slave.areolaePiercing*0.75 + 0.5; - if (slave.lipsPiercing > 0) + } + if (slave.lipsPiercing > 0) { score += slave.lipsPiercing*0.75 - 0.25; - if (slave.tonguePiercing > 0 ) + } + if (slave.tonguePiercing > 0 ) { score += slave.tonguePiercing*0.75 - 0.25; - if (slave.clitPiercing === 3) /* smart piercing */ + } + if (slave.clitPiercing === 3) /* smart piercing */ { score += 1.25; - else if (slave.clitPiercing > 0) + } else if (slave.clitPiercing > 0) { score += slave.clitPiercing*0.75 - 0.25; + } - if (slave.vaginaPiercing > 0) + if (slave.vaginaPiercing > 0) { score += slave.vaginaPiercing*0.75 - 0.25; - if (slave.dickPiercing > 0) + } + if (slave.dickPiercing > 0) { score += slave.dickPiercing*0.75 - 0.25; - if (slave.anusPiercing > 0) + } + if (slave.anusPiercing > 0) { score += slave.anusPiercing*0.75 - 0.25; + } return score; } @@ -67,49 +80,59 @@ window.SlaveStatsChecker = (function() { function tatScore(slave) { let score = 0; - if (slave.boobsTat !== 0) + if (slave.boobsTat !== 0) { score += 1.25; - if (slave.buttTat !== 0) + } + if (slave.buttTat !== 0) { score += 1.25; - if (slave.lipsTat !== 0) + } + if (slave.lipsTat !== 0) { score += 1.25; - if (slave.shouldersTat !== 0) + } + if (slave.shouldersTat !== 0) { score += 1; - if (slave.backTat !== 0) + } + if (slave.backTat !== 0) { score += 1.25; - if (slave.armsTat !== 0) + } + if (slave.armsTat !== 0) { score += 1; - if (slave.legsTat !== 0) + } + if (slave.legsTat !== 0) { score += 1; - if (slave.stampTat !== 0) + } + if (slave.stampTat !== 0) { score += 1; - if (slave.vaginaTat !== 0) + } + if (slave.vaginaTat !== 0) { score += 1; - if (slave.dickTat !== 0) + } + if (slave.dickTat !== 0) { score += 1; + } if (slave.bellyTat !== 0) { - if ((slave.preg > slave.pregData.normalBirth/1.33 && slave.pregType >= 20) || slave.belly >= 300000) + if ((slave.preg > slave.pregData.normalBirth/1.33 && slave.pregType >= 20) || slave.belly >= 300000) { score += 0.75; - else if ((slave.preg > slave.pregData.normalBirth/2 && slave.pregType >= 20) || (slave.preg > slave.pregData.normalBirth/1.33 && slave.pregType >= 10) || slave.belly >= 150000) + } else if ((slave.preg > slave.pregData.normalBirth/2 && slave.pregType >= 20) || (slave.preg > slave.pregData.normalBirth/1.33 && slave.pregType >= 10) || slave.belly >= 150000) { score += 1; - else if (slave.belly >= 10000 || slave.bellyImplant >= 8000) + } else if (slave.belly >= 10000 || slave.bellyImplant >= 8000) { score += 1; - else if ((slave.preg >= slave.pregData.normalBirth/4 && slave.pregType >= 20) || (slave.preg > slave.pregData.normalBirth/4 && slave.pregType >= 10) || slave.belly >= 5000) + } else if ((slave.preg >= slave.pregData.normalBirth/4 && slave.pregType >= 20) || (slave.preg > slave.pregData.normalBirth/4 && slave.pregType >= 10) || slave.belly >= 5000) { score += 0.5; - else if (slave.belly >= 1500) + } else if (slave.belly >= 1500) { score += 0.25; - else + } else { score += 0.1; + } } - if (slave.anusTat === "bleached") + if (slave.anusTat === "bleached") { score += 0.5; - else if (slave.anusTat !== 0) + } else if (slave.anusTat !== 0) { score += 1.25; - + } if (slave.abortionTat > 0 || (slave.abortionTat === 0 && slave.pregKnown === 1)) { score += 1; } - return score; } }()); @@ -244,37 +267,29 @@ window.canPenetrate = /** @param {App.Entity.SlaveState} slave */ function(slave window.canSee = /** @param {App.Entity.SlaveState} slave */ function(slave) { if (!slave) { return null; - } else if (slave.eyes > -2) { - return true; } - return false; + return (slave.eyes > -2); }; window.canHear = /** @param {App.Entity.SlaveState} slave */ function(slave) { if (!slave) { return null; - } else if ((slave.hears > -2) && (slave.earwear !== "deafening ear plugs")) { - return true; } - return false; + return ((slave.hears > -2) && (slave.earwear !== "deafening ear plugs")); }; window.canSmell = /** @param {App.Entity.SlaveState} slave */ function(slave) { if (!slave) { return null; - } else if (slave.smells > -1) { - return true; } - return false; + return (slave.smells > -1); }; window.canTaste = /** @param {App.Entity.SlaveState} slave */ function(slave) { if (!slave) { return null; - } else if (slave.tastes > -1) { - return true; } - return false; + return (slave.tastes > -1); }; window.canWalk = /** @param {App.Entity.SlaveState} slave */ function(slave) { diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js index e4c0de4ec64032a55b3d63ccb216355e00ea03a8..8118682263bfde2dcf919590ba81280cdc4df63f 100644 --- a/src/js/slaveSummaryWidgets.js +++ b/src/js/slaveSummaryWidgets.js @@ -1881,6 +1881,9 @@ window.SlaveSummaryUncached = (function() { case "extremely pale": r += `E. Pal`; break; + case "very pale": + r += `V. Pal`; + break; case "light brown": r += `L. Br`; break; @@ -1893,16 +1896,16 @@ window.SlaveSummaryUncached = (function() { case "dark olive": r += `D. Oli`; break; - case "lightened": - r += `Ltnd`; + case "light beige": + r += `L. Bei`; break; - case "tanned": - r += `Tan`; + case "dark beige": + r += `D. Bei`; break; - case "natural": - r += `Nat`; + case "tan": + r += `Tan`; break; - case "bronzed": + case "bronze": r += `Bron`; break; case "ebony": @@ -1963,7 +1966,7 @@ window.SlaveSummaryUncached = (function() { r += `<span class="pink">NBP</span>`; } if (slave.anus === 0) { - r += ` <span class="lime">AV</span>`; + r += ` <span class="lime">AV</span>`; } r += `<span class="pink">`; if ((slave.vagina > 3) && (slave.anus > 3)) { diff --git a/src/js/spanMacroJS.js b/src/js/spanMacroJS.js index 005e6d1c7b6f0380b886b610df78d519f66902d8..19eb0a5bef19ee032a69f1dae269961c8c182db6 100644 --- a/src/js/spanMacroJS.js +++ b/src/js/spanMacroJS.js @@ -26,7 +26,7 @@ Macro.add('span', { Config.debug && this.debugView.modes({block: true}); - jQuery("<span id='" + String(result) + "' />") + jQuery(`<span id='${ String(result) }' />`) .wiki(payload) .appendTo(this.output); } diff --git a/src/js/storyJS.js b/src/js/storyJS.js index 766f197eb780d3049eb83746747ebe7b132b42da..2064a2eca9e7a3c43f76c6b2bf7ce89400da5701 100644 --- a/src/js/storyJS.js +++ b/src/js/storyJS.js @@ -1,5 +1,3 @@ -/* eslint-disable no-console */ -/* eslint-disable no-undef */ /* config.history.tracking = false;*/ // State.expired.disable; @@ -16,16 +14,14 @@ window.variableAsNumber = function(x, defaultValue, minValue, maxValue) { } return x; }; + window.isSexuallyPure = /** @param {App.Entity.SlaveState} slave */ function (slave) { if (!slave) { return null; } - if (slave.vagina < 1 && slave.anus < 1 && !slave.analCount && !slave.vaginalCount && !slave.oralCount && !slave.mammaryCount && !slave.penetrativeCount) { - return true; - } else { - return false; - } + return (slave.vagina < 1 && slave.anus < 1 && !slave.analCount && !slave.vaginalCount && !slave.oralCount && !slave.mammaryCount && !slave.penetrativeCount); }; + if (typeof interpolate === "undefined") { const interpolate = function(x0, y0, x1, y1, x) { if (x <= x0) { @@ -68,11 +64,8 @@ window.filterInPlace = function(arr, callback, thisArg) { window.canBreed = function(slave1, slave2) { if (!slave1 || !slave2) { return null; - } else if (slave1.eggType === slave2.ballType) { - return true; - } else { - return false; } + return (slave1.eggType === slave2.ballType); }; /** assuming slave1 is fertile, could slave2 impregnate slave1? @@ -149,46 +142,45 @@ window.milkAmount = /** @param {App.Entity.SlaveState} slave */ function (slave) let calcs; if (!slave) { return null; + } + calcs = slave.boobs - slave.boobsImplant - slave.boobsMilk; + if (calcs > 40000) { + milk = (158 + ((calcs - 10000) / 600)); + } else if (calcs > 25000) { + milk = (128 + ((calcs - 10000) / 500)); + } else if (calcs > 10000) { + milk = (78 + ((calcs - 10000) / 300)); + } else if (calcs > 5000) { + milk = (53 + ((calcs - 5000) / 200)); + } else if (calcs > 2000) { + milk = (29 + ((calcs - 2000) / 125)); + } else if (calcs > 800) { + milk = (16 + ((calcs - 800) / 80)); } else { - calcs = slave.boobs - slave.boobsImplant - slave.boobsMilk; - if (calcs > 40000) { - milk = (158 + ((calcs - 10000) / 600)); - } else if (calcs > 25000) { - milk = (128 + ((calcs - 10000) / 500)); - } else if (calcs > 10000) { - milk = (78 + ((calcs - 10000) / 300)); - } else if (calcs > 5000) { - milk = (53 + ((calcs - 5000) / 200)); - } else if (calcs > 2000) { - milk = (29 + ((calcs - 2000) / 125)); - } else if (calcs > 800) { - milk = (16 + ((calcs - 800) / 80)); - } else { - milk = (8 + ((calcs - 400) / 50)); - } - if (slave.lactation === 2) { - milk *= 1.2; - } - milk += (milk * ((slave.devotion - 50) / 200)); - if (slave.boobsImplant > 200) { - milk *= 0.9; - } - calcs = (slave.hormoneBalance / 50); - if (slave.balls !== 0 && calcs > -2) { - calcs -= 1; - } else if (slave.ovaries !== 1 && calcs < 2) { - calcs += 1; - } - milk *= (1 + (calcs * 0.1)); - milk *= (1 + (slave.preg / 100)); - milk *= (1 + (slave.health / 50)); - milk *= (1 + (slave.weight / 500)); - milk *= (1 + (slave.lactationAdaptation / 500)); - milk += (slave.boobsMilk / 100); - milk = Math.trunc(milk); - milk = Math.clamp(milk, 1, 1000000000000000000); - return milk; + milk = (8 + ((calcs - 400) / 50)); } + if (slave.lactation === 2) { + milk *= 1.2; + } + milk += (milk * ((slave.devotion - 50) / 200)); + if (slave.boobsImplant > 200) { + milk *= 0.9; + } + calcs = (slave.hormoneBalance / 50); + if (slave.balls !== 0 && calcs > -2) { + calcs -= 1; + } else if (slave.ovaries !== 1 && calcs < 2) { + calcs += 1; + } + milk *= (1 + (calcs * 0.1)); + milk *= (1 + (slave.preg / 100)); + milk *= (1 + (slave.health / 50)); + milk *= (1 + (slave.weight / 500)); + milk *= (1 + (slave.lactationAdaptation / 500)); + milk += (slave.boobsMilk / 100); + milk = Math.trunc(milk); + milk = Math.clamp(milk, 1, 1000000000000000000); + return milk; }; window.cumAmount = /** @param {App.Entity.SlaveState} slave */ function (slave) { @@ -196,46 +188,45 @@ window.cumAmount = /** @param {App.Entity.SlaveState} slave */ function (slave) let calcs = 0; if (!slave) { return null; + } + if (slave.drugs === "testicle enhancement") { + cum = ((slave.balls * 3.5) + 1); + } else if (slave.drugs === "hyper testicle enhancement") { + cum = ((slave.balls * 5) + 1); } else { - if (slave.drugs === "testicle enhancement") { - cum = ((slave.balls * 3.5) + 1); - } else if (slave.drugs === "hyper testicle enhancement") { - cum = ((slave.balls * 5) + 1); - } else { - cum = ((slave.balls * 2.5) + 1); - } - if (slave.ballType === "sterile") { - cum *= 0.8; - } - if (slave.diet === "cum production") { - cum *= 1.2; - } - calcs = (slave.hormoneBalance / 50); - cum *= (1 - (calcs * 0.1)); - if (slave.scrotum === 0) { - cum *= 0.8; - } - if (slave.prostate === 0) { - cum *= 0.2; // being generous here - } else if (slave.prostate === 2) { - cum *= 1.2; - } else if (slave.prostate === 3) { - cum *= 1.5; - } - if (slave.devotion > 50) { - cum += (cum * (slave.devotion / 100)); - } else if (slave.devotion < -50) { - cum += (cum * (slave.devotion / 100)); - } - if (slave.health > 50) { - cum += (cum * (slave.health / 50)); - } else if (slave.health < -50) { - cum += (cum * (slave.health / 50)); - } - cum = Math.trunc(cum); - cum = Math.clamp(cum, 1, 1000000000000000000); - return cum; + cum = ((slave.balls * 2.5) + 1); + } + if (slave.ballType === "sterile") { + cum *= 0.8; } + if (slave.diet === "cum production") { + cum *= 1.2; + } + calcs = (slave.hormoneBalance / 50); + cum *= (1 - (calcs * 0.1)); + if (slave.scrotum === 0) { + cum *= 0.8; + } + if (slave.prostate === 0) { + cum *= 0.2; // being generous here + } else if (slave.prostate === 2) { + cum *= 1.2; + } else if (slave.prostate === 3) { + cum *= 1.5; + } + if (slave.devotion > 50) { + cum += (cum * (slave.devotion / 100)); + } else if (slave.devotion < -50) { + cum += (cum * (slave.devotion / 100)); + } + if (slave.health > 50) { + cum += (cum * (slave.health / 50)); + } else if (slave.health < -50) { + cum += (cum * (slave.health / 50)); + } + cum = Math.trunc(cum); + cum = Math.clamp(cum, 1, 1000000000000000000); + return cum; }; window.lispReplace = function (text) { @@ -373,19 +364,19 @@ window.toJson = function(obj) { window.nippleColor = /** @param {App.Entity.SlaveState} slave */ function (slave) { slave = slave || State.variables.activeSlave; - if (slave.skin === "tanned" || slave.skin === "fair") { + if (skinToneLevel(slave.skin) < 8) { if (slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { - return "dark brown"; + return "brown"; } else { return "pink"; } - } else if ((slave.skin === "pale" || slave.race === "white")) { + } else if (skinToneLevel(slave.skin) < 14) { if (slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { - return "brown"; + return "dark brown"; } else { return "pink"; } - } else if ((slave.skin === "brown" || slave.race === "black")) { + } else if (skinToneLevel(slave.skin) > 20) { if (slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { return "black"; } else { diff --git a/src/js/summaryWidgets.js b/src/js/summaryWidgets.js index 5c5ccf5b4d1584d88d9ba9246bb0be650f42d25e..95f66624f929d17b5b7a630d7a28105c99ac19b1 100644 --- a/src/js/summaryWidgets.js +++ b/src/js/summaryWidgets.js @@ -8,29 +8,35 @@ window.SlaveStatClamp = function SlaveStatClamp(slave) { const V = State.variables; if (slave.devotion > 100) { - if (slave.trust < -95) + if (slave.trust < -95) { slave.trust = -100; - else if (slave.trust < 100 && slave.trust > 20) + } else if (slave.trust < 100 && slave.trust > 20) { slave.trust += Math.trunc((slave.devotion - 100) * 5) / 10; - else + } else { repX(4 * (slave.devotion - 100), "slavesViewOfPC", slave); + } slave.devotion = 100; - } else if (slave.devotion < -95) + } else if (slave.devotion < -95) { slave.devotion = -100; + } if (slave.trust > 100) { - if (slave.devotion < -95) + if (slave.devotion < -95) { slave.devotion = -100; - else if (slave.devotion < 100 && slave.devotion > 20) + } else if (slave.devotion < 100 && slave.devotion > 20) { slave.devotion += Math.trunc(slave.trust - 100); - else + } else { repX(4 * (slave.trust - 100), "slavesViewOfPC", slave); + } slave.trust = 100; - } else if (slave.trust < -95) + } else if (slave.trust < -95) { slave.trust = -100; - if (slave.trust < -100) + } + if (slave.trust < -100) { slave.trust = -100; - if (slave.devotion < -100) + } + if (slave.devotion < -100) { slave.devotion = -100; + } if (isNaN(slave.oralCount)) { slave.oralCount = 0; alert("Oral count has broken, report what you just did!"); @@ -51,10 +57,12 @@ window.SlaveStatClamp = function SlaveStatClamp(slave) { slave.penetrativeCount = 0; alert("Penetration count has broken, report what you just did!"); } - if (slave.foreskin === undefined) + if (slave.foreskin === undefined) { slave.foreskin = 0; - if (slave.amp !== 0 && slave.heels === 1) + } + if (slave.amp !== 0 && slave.heels === 1) { slave.heels = 0; + } if (slave.vagina < 0 && slave.mpreg === 0 && slave.preg === -1) { slave.preg = 0; WombFlush(slave); diff --git a/src/js/utilJS.js b/src/js/utilJS.js index f5966f08639a16495d499b82cc1a5233bf0d3f00..a6c32881385b6bdea60c17487485e03dbcbad98b 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -1506,9 +1506,8 @@ window.resyncSlaveToAge = function(slave) { slave.career = randomCareer(slave); }; -window.IncreasePCSkills = function(input, increase) { +window.IncreasePCSkills = function(input, increase = 1) { "use strict"; const player = State.variables.PC, oldSkill = player[input]; - increase = increase || 1; player[input] += increase; if (oldSkill <= 10) { if (player[input] >= 10) { @@ -1545,12 +1544,12 @@ window.randomRaceSkin = function(raceName) { skin = jsEither(["black", "brown", "dark brown"]); break; case "latina": - skin = jsEither(["brown", "dark brown", "dark olive", "light olive", "tanned"]); + skin = jsEither(["brown", "dark brown", "dark olive", "light olive", "tan"]); break; case "middle eastern": case "semitic": case "southern european": - skin = jsEither(["fair", "light olive", "light", "tanned"]); + skin = jsEither(["fair", "light olive", "light", "tan"]); break; case "white": skin = jsEither(["fair", "light", "pale"]); @@ -1570,20 +1569,22 @@ window.randomRaceEye = function(raceName) { case "indo-aryan": case "middle eastern": case "pacific islander": - eye = jsEither(["brown"]); + eye = jsEither(["brown", "brown", "brown", "brown", "green"]); break; case "amerindian": case "latina": - case "semitic": - case "southern european": - eye = jsEither(["brown", "green"]); + eye = jsEither(["brown", "brown", "brown", "green"]); break; case "malay": + case "southern european": + eye = jsEither(["blue", "brown", "brown", "brown", "brown", "brown", "brown", "green"]); + break; + case "semitic": case "white": - eye = jsEither(["blue", "brown", "green"]); + eye = jsEither(["blue", "brown", "brown", "brown", "green", "green"]); break; default: - eye = jsEither(["brown", "green"]); + eye = jsEither(["blue", "brown", "green"]); break; } return eye; @@ -1598,16 +1599,16 @@ window.randomRaceHair = function(raceName) { case "malay": case "middle eastern": case "pacific islander": - case "semitic": - case "southern european": - hair = jsEither(["black"]); + hair = jsEither(["black", "black", "black", "black", "black", "brown"]); break; case "black": case "latina": + case "semitic": + case "southern european": hair = jsEither(["black", "black", "brown", "brown"]); break; case "white": - hair = jsEither(["black", "blonde", "brown", "red"]); + hair = jsEither(["black", "black", "blonde", "brown", "brown", "red"]); break; default: hair = jsEither(["black", "black", "black", "black", "blonde", "brown", "brown", "red"]); @@ -1615,3 +1616,86 @@ window.randomRaceHair = function(raceName) { } return hair; }; + +window.skinToneLevel = function(skinTone) { + if (!setup.naturalSkins.includes(skinTone)) { + return undefined; + } else { + let skinNumber; + let skinToMelanin = { + "pure black": 25, + "ebony": 24, + "black": 23, + "dark brown": 22, + "brown": 21, + "light brown": 20, + "dark beige": 19, + "beige": 18, + "light beige": 17, + "dark": 16, + "dark olive": 15, + "bronze": 14, + "olive": 13, + "tan": 12, + "light olive": 11, + "light": 10, + "fair": 9, + "very fair": 8, + "extremely fair": 7, + "pale": 6, + "very pale": 5, + "extremely pale": 4, + "white": 3, + "ivory": 2, + "pure white": 1 + }; + skinNumber = skinToMelanin[skinTone]; + return skinNumber; + } +}; + +window.changeSkinTone = function(skin, value) { + if (!setup.naturalSkins.includes(skin)) { + return skin; + } else { + let skinToMelanin = { + "pure black": 25, + "ebony": 24, + "black": 23, + "dark brown": 22, + "brown": 21, + "light brown": 20, + "dark beige": 19, + "beige": 18, + "light beige": 17, + "dark": 16, + "dark olive": 15, + "bronze": 14, + "olive": 13, + "tan": 12, + "light olive": 11, + "light": 10, + "fair": 9, + "very fair": 8, + "extremely fair": 7, + "pale": 6, + "very pale": 5, + "extremely pale": 4, + "white": 3, + "ivory": 2, + "pure white": 1 + }; + let newSkin = (skinToMelanin[skin] + value); + if (newSkin > 25) { + newSkin = 25; + } else if (newSkin < 1) { + newSkin = 1; + } + let prop = ""; + for (prop in skinToMelanin) { + if (!skinToMelanin.hasOwnProperty(prop)) continue; + if (newSkin >= skinToMelanin[prop]) return prop; + } + return prop; + } +}; \ No newline at end of file diff --git a/src/npc/agent/agentCompany.tw b/src/npc/agent/agentCompany.tw index 1ccc467cca55ce81dbdd50bc6cf1c4838600c3fa..363c1501b78593746953ae8d3a15e5b75a71d8f9 100644 --- a/src/npc/agent/agentCompany.tw +++ b/src/npc/agent/agentCompany.tw @@ -29,7 +29,7 @@ Working in $activeArcology.name's penthouse office, $subSlave.slaveName gets a v <br><br> -_His2 question is answered when you bring $activeSlave.slaveName in close, putting $him in $subSlave.slaveName's view. $subSlave.slaveName's <<= App.Desc.eyeColor $subSlave>> eyes fly open with pleased surprise, but before _he2 can speak, $activeSlave.slaveName goes first. +_His2 question is answered when you bring $activeSlave.slaveName in close, putting $him in $subSlave.slaveName's view. $subSlave.slaveName's <<= App.Desc.eyeColor($subSlave)>> eyes fly open with pleased surprise, but before _he2 can speak, $activeSlave.slaveName goes first. <<if !canTalk($activeSlave)>> Unable to speak $himself, $he simply makes a heart shape with $his hands in view of the video call, and blows $his <<if $activeSlave.relationship == 4>>lover<<else>>wife<</if>> a kiss. <<else>> diff --git a/src/npc/agent/agentWorkaround.tw b/src/npc/agent/agentWorkaround.tw index 3e527fc6c204ded40dac91648063b7be83725d5b..91a2df7a4c361ab98f58adcaeed004dc9dc8e0d5 100644 --- a/src/npc/agent/agentWorkaround.tw +++ b/src/npc/agent/agentWorkaround.tw @@ -32,7 +32,7 @@ <<set $desc = SlaveTitle($slaves[$i])>> <<setLocalPronouns $slaves[$i]>> -You order $slaves[$i].slaveName to come into your office for orders. The devoted $desc has no prior warning that this is anything unusual, and from the <<if $slaves[$i].energy > 95>>horny glint<<else>>glow of sexual availability<</if>> in $his <<= App.Desc.eyeColor $slaves[$i]>> eyes as $he <<if canWalk($slaves[$i])>>enters<<else>>is helped in<</if>>, $he <<if $slaves[$i].energy > 95>>seems to be hoping<<else>>wouldn't mind hearing<</if>> that you've called $him in for a quick fuck. In fact, the matter at hand is about as far as it could possibly be from that, on the spectrum of interactions between <<= properMaster()>> and slave. +You order $slaves[$i].slaveName to come into your office for orders. The devoted $desc has no prior warning that this is anything unusual, and from the <<if $slaves[$i].energy > 95>>horny glint<<else>>glow of sexual availability<</if>> in $his <<= App.Desc.eyeColor($slaves[$i])>> eyes as $he <<if canWalk($slaves[$i])>>enters<<else>>is helped in<</if>>, $he <<if $slaves[$i].energy > 95>>seems to be hoping<<else>>wouldn't mind hearing<</if>> that you've called $him in for a quick fuck. In fact, the matter at hand is about as far as it could possibly be from that, on the spectrum of interactions between <<= properMaster()>> and slave. <br><br>You offer $him, without preamble, agency on your behalf in $activeArcology.name. As a $woman of intelligence, $he knows the basics of such an arrangement, but $he's stunned into silence by the offer, so you outline it briefly. Having a slave lead an arcology would be too much, even for the most open minded of Free Cities societies. So, $he would be freed, albeit subject to a set of private, restrictive contracts that would allow you to recall $him if you wish, and require $him to follow your directions, if you give $him any. But other than that, $he would be the effective leader of an entire arcology. It's an unusual arrangement, but one that's becoming more common as multiple arcologies come under united control. diff --git a/src/npc/databases/dSlavesDatabase.tw b/src/npc/databases/dSlavesDatabase.tw index e285912f701aeddd8bf09963a707f288ed6af721..f1e71c000e59e1b991ca490e969dffee3023e9f2 100644 --- a/src/npc/databases/dSlavesDatabase.tw +++ b/src/npc/databases/dSlavesDatabase.tw @@ -66,12 +66,12 @@ /% corrected skin to fair?, changed markings to 'freckled' Bane70 %/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Sylvia", _HS.birthName = "Sylvia", _HS.origin = "She was born a slave and knows no other life.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 26, _HS.physicalAge = 26, _HS.visualAge = 26, _HS.ovaryAge = 26, _HS.nationality = "Stateless", _HS.health = -10, _HS.devotion = 10, _HS.hColor = "black", _HS.hLength = 10, _HS.pubicHColor = "black", _HS.skin = "tanned", _HS.boobs = 500, _HS.butt = 2, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.clitPiercing = 3, _HS.clitSetting = "submissive", _HS.ovaries = 1, _HS.skill.vaginal = 15, _HS.skill.oral = 35, _HS.attrXY = 40, _HS.fetishKnown = 1>> +<<set _HS.slaveName = "Sylvia", _HS.birthName = "Sylvia", _HS.origin = "She was born a slave and knows no other life.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 26, _HS.physicalAge = 26, _HS.visualAge = 26, _HS.ovaryAge = 26, _HS.nationality = "Stateless", _HS.health = -10, _HS.devotion = 10, _HS.hColor = "black", _HS.hLength = 10, _HS.pubicHColor = "black", _HS.override_Skin = 1, _HS.skin = "spray tanned", _HS.boobs = 500, _HS.butt = 2, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.clitPiercing = 3, _HS.clitSetting = "submissive", _HS.ovaries = 1, _HS.skill.vaginal = 15, _HS.skill.oral = 35, _HS.attrXY = 40, _HS.fetishKnown = 1>> <<set $heroSlaves.push(_HS)>> /*Added origin, tweaked skills, added smart piercing set to submissive, removed buttslut -BoneyM*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Eryma", _HS.birthName = "Eryma", _HS.origin = "She is a former gladiator that wagered her freedom and lost.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 24, _HS.physicalAge = 24, _HS.visualAge = 24, _HS.ovaryAge = 24, _HS.health = 100, _HS.devotion = -30, _HS.height = 175, _HS.race = "white", _HS.eyeColor = "blue", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.skin = "tanned", _HS.hStyle = "long", _HS.boobs = 500, _HS.butt = 2, _HS.vaginaLube = 1, _HS.ovaries = 1, _HS.skill.combat = 1, _HS.intelligence = 20, _HS.intelligenceImplant = 30, _HS.attrXY = 40, _HS.fetish = "humiliation", _HS.behavioralFlaw = "arrogant">> +<<set _HS.slaveName = "Eryma", _HS.birthName = "Eryma", _HS.origin = "She is a former gladiator that wagered her freedom and lost.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 24, _HS.physicalAge = 24, _HS.visualAge = 24, _HS.ovaryAge = 24, _HS.health = 100, _HS.devotion = -30, _HS.height = 175, _HS.race = "white", _HS.eyeColor = "blue", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hStyle = "long", _HS.boobs = 500, _HS.butt = 2, _HS.vaginaLube = 1, _HS.ovaries = 1, _HS.skill.combat = 1, _HS.intelligence = 20, _HS.intelligenceImplant = 30, _HS.attrXY = 40, _HS.fetish = "humiliation", _HS.behavioralFlaw = "arrogant">> <<set $heroSlaves.push(_HS)>> /*fighter*/ /*Added combat skill, changed eye color and rules, added origin, added arrogant -BoneyM*/ @@ -83,7 +83,7 @@ /*Tweaked obedience downwards, increased weight and face, added origin, changed eye color, changed fetish to bisexual and added 'hates men' flaw -BoneyM*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Fio", _HS.birthName = "Fio", _HS.slaveSurname = "Rodan", _HS.birthSurname = "Rodan", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 21, _HS.physicalAge = 21, _HS.visualAge = 21, _HS.ovaryAge = 21, _HS.health = 20, _HS.devotion = -100, _HS.weight = -20, _HS.height = 175, _HS.hLength = 15, _HS.skin = "tanned", _HS.boobs = 500, _HS.butt = 2, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.skill.vaginal = 15, _HS.skill.oral = 15, _HS.skill.anal = 15, _HS.energy = 100, _HS.attrXY = 40, _HS.behavioralFlaw = "arrogant", _HS.customTat = "She has a tribal tattoo from her right elbow up the shoulder and across her back.">> +<<set _HS.slaveName = "Fio", _HS.birthName = "Fio", _HS.slaveSurname = "Rodan", _HS.birthSurname = "Rodan", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 21, _HS.physicalAge = 21, _HS.visualAge = 21, _HS.ovaryAge = 21, _HS.health = 20, _HS.devotion = -100, _HS.weight = -20, _HS.height = 175, _HS.hLength = 15, _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.boobs = 500, _HS.butt = 2, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.skill.vaginal = 15, _HS.skill.oral = 15, _HS.skill.anal = 15, _HS.energy = 100, _HS.attrXY = 40, _HS.behavioralFlaw = "arrogant", _HS.customTat = "She has a tribal tattoo from her right elbow up the shoulder and across her back.">> <<set $heroSlaves.push(_HS)>> /*Corrected tattoo syntax, added nympho and arrogant -BoneyM*/ @@ -112,7 +112,7 @@ /*Added 'submissive' and 'bitchy' -BoneyM*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Valentina", _HS.birthName = "Valentina", _HS.origin = "She was once the bodyguard to a Russian drug lord, and was sold into slavery after his death by cocaine overdose.", _HS.ID = _i++, _HS.nationality = "Russian", _HS.birthWeek = random(0,51), _HS.actualAge = 29, _HS.physicalAge = 29, _HS.visualAge = 29, _HS.ovaryAge = 29, _HS.health = 100, _HS.devotion = 100, _HS.muscles = 100, _HS.height = 175, _HS.eyeColor = "green", _HS.skin = "tanned", _HS.hLength = 30, _HS.hStyle = "shoulder length", _HS.boobs = 650, _HS.boobsImplant = 600, _HS.butt = 2, _HS.lips = 25, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.skill.oral = 15, _HS.skill.anal = 35, _HS.skill.combat = 1, _HS.intelligence = 30, _HS.attrXY = 40, _HS.fetish = "buttslut", _HS.fetishKnown = 1, _HS.customTat = "She has a red star tattoo on her back, and a hammer and sickle on her right buttock.", _HS.customDesc = "She has a Slavic face with high cheekbones and a strong, pointed jaw. She is a skilled martial artist.", _HS.faceShape = "masculine", _HS.career = "a bodyguard">> +<<set _HS.slaveName = "Valentina", _HS.birthName = "Valentina", _HS.origin = "She was once the bodyguard to a Russian drug lord, and was sold into slavery after his death by cocaine overdose.", _HS.ID = _i++, _HS.nationality = "Russian", _HS.birthWeek = random(0,51), _HS.actualAge = 29, _HS.physicalAge = 29, _HS.visualAge = 29, _HS.ovaryAge = 29, _HS.health = 100, _HS.devotion = 100, _HS.muscles = 100, _HS.height = 175, _HS.eyeColor = "green", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hLength = 30, _HS.hStyle = "shoulder length", _HS.boobs = 650, _HS.boobsImplant = 600, _HS.butt = 2, _HS.lips = 25, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.skill.oral = 15, _HS.skill.anal = 35, _HS.skill.combat = 1, _HS.intelligence = 30, _HS.attrXY = 40, _HS.fetish = "buttslut", _HS.fetishKnown = 1, _HS.customTat = "She has a red star tattoo on her back, and a hammer and sickle on her right buttock.", _HS.customDesc = "She has a Slavic face with high cheekbones and a strong, pointed jaw. She is a skilled martial artist.", _HS.faceShape = "masculine", _HS.career = "a bodyguard">> <<set $heroSlaves.push(_HS)>> /*Tweaked devotion up, changed eyes to green, corrected tattoo syntax, added combat skill -BoneyM*/ @@ -208,7 +208,7 @@ /*Reduced weight, changed eyes, added nail polish -BoneyM*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Kino", _HS.birthName = "Kino", _HS.origin = "She was formerly owned by someone who fancied themselves a geneticist, where she acquired permanently discolored hair and odd fetishes.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 21, _HS.physicalAge = 21, _HS.visualAge = 21, _HS.ovaryAge = 21, _HS.health = 40, _HS.devotion = -75, _HS.height = 155, _HS.race = "white", _HS.eyeColor = "blue-green", _HS.override_H_Color = 1, _HS.hColor = "blue", _HS.pubicHColor = "blue", _HS.skin = "tanned", _HS.hLength = 30, _HS.hStyle = "short, spiky, with a long shoulder-length lock leading from her temples down, one on each side", _HS.boobs = 650, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.skill.vaginal = 35, _HS.skill.oral = 35, _HS.skill.anal = 35, _HS.skill.combat = 1, _HS.intelligence = -30, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.customDesc = "She has a vertical scar through her right eye, is a dabbling artist, and is an oviposition fetishist.">> +<<set _HS.slaveName = "Kino", _HS.birthName = "Kino", _HS.origin = "She was formerly owned by someone who fancied themselves a geneticist, where she acquired permanently discolored hair and odd fetishes.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 21, _HS.physicalAge = 21, _HS.visualAge = 21, _HS.ovaryAge = 21, _HS.health = 40, _HS.devotion = -75, _HS.height = 155, _HS.race = "white", _HS.eyeColor = "blue-green", _HS.override_H_Color = 1, _HS.hColor = "blue", _HS.pubicHColor = "blue", _HS.override_Skin = 1, _HS.skin = "spray tanned", _HS.hLength = 30, _HS.hStyle = "short, spiky, with a long shoulder-length lock leading from her temples down, one on each side", _HS.boobs = 650, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.skill.vaginal = 35, _HS.skill.oral = 35, _HS.skill.anal = 35, _HS.skill.combat = 1, _HS.intelligence = -30, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.customDesc = "She has a vertical scar through her right eye, is a dabbling artist, and is an oviposition fetishist.">> <<set $heroSlaves.push(_HS)>> /*Added combat skill, increased health, added origin -BoneyM*/ @@ -257,7 +257,7 @@ /*Corrected customdesc syntax -BoneyM*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Aveline", _HS.birthName = "Aveline", _HS.origin = "She was sold into slavery from a remote, primitive village.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 34, _HS.physicalAge = 34, _HS.visualAge = 34, _HS.ovaryAge = 34, _HS.health = 20, _HS.devotion = -75, _HS.skin = "tanned", _HS.hLength = 25, _HS.hStyle = "in a bob", _HS.boobs = 400, _HS.butt = 3, _HS.vaginaLube = 1, _HS.ovaries = 1, _HS.intelligence = -30, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.stampTat = "She has a barcode tattooed above her butt.">> +<<set _HS.slaveName = "Aveline", _HS.birthName = "Aveline", _HS.origin = "She was sold into slavery from a remote, primitive village.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 34, _HS.physicalAge = 34, _HS.visualAge = 34, _HS.ovaryAge = 34, _HS.health = 20, _HS.devotion = -75, _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hLength = 25, _HS.hStyle = "in a bob", _HS.boobs = 400, _HS.butt = 3, _HS.vaginaLube = 1, _HS.ovaries = 1, _HS.intelligence = -30, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.stampTat = "She has a barcode tattooed above her butt.">> <<set $heroSlaves.push(_HS)>> /*Added barcode tattoo and origin -BoneyM*/ @@ -353,7 +353,7 @@ /*First slave that didn't need fixing -BoneyM*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Ervona", _HS.birthName = "Ervona", _HS.origin = "She was groomed just for you and believes herself to be madly in love with you.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 21, _HS.physicalAge = 21, _HS.visualAge = 21, _HS.ovaryAge = 21, _HS.health = 40, _HS.devotion = 100, _HS.height = 178, _HS.override_H_Color = 1, _HS.hColor = "white", _HS.pubicHColor = "white", _HS.skin = "bronzed", _HS.hLength = 25, _HS.hStyle = "chin length", _HS.boobs = 500, _HS.nipples = "inverted", _HS.nipplesPiercing = 1, _HS.butt = 3, _HS.clitPiercing = 1, _HS.ovaries = 1, _HS.clothes = "attractive lingerie", _HS.intelligence = 30, _HS.intelligenceImplant = 30, _HS.attrXY = 40>> +<<set _HS.slaveName = "Ervona", _HS.birthName = "Ervona", _HS.origin = "She was groomed just for you and believes herself to be madly in love with you.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 21, _HS.physicalAge = 21, _HS.visualAge = 21, _HS.ovaryAge = 21, _HS.health = 40, _HS.devotion = 100, _HS.height = 178, _HS.override_H_Color = 1, _HS.hColor = "white", _HS.pubicHColor = "white", _HS.skin = "bronze", _HS.hLength = 25, _HS.hStyle = "chin length", _HS.boobs = 500, _HS.nipples = "inverted", _HS.nipplesPiercing = 1, _HS.butt = 3, _HS.clitPiercing = 1, _HS.ovaries = 1, _HS.clothes = "attractive lingerie", _HS.intelligence = 30, _HS.intelligenceImplant = 30, _HS.attrXY = 40>> <<set $heroSlaves.push(_HS)>> /*love*/ /*Added origin, removed it from customdesc. Increased health.*/ @@ -417,7 +417,7 @@ /*martin's sibling*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Yvonne", _HS.birthName = "Yvonne", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 24, _HS.physicalAge = 24, _HS.visualAge = 24, _HS.ovaryAge = 24, _HS.health = 20, _HS.devotion = 100, _HS.height = 190, _HS.eyeColor = "hazel", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.skin = "lightened", _HS.hStyle = "long", _HS.waist = -55, _HS.boobs = 700, _HS.nipplesPiercing = 1, _HS.butt = 2, _HS.face = 55, _HS.vaginaLube = 1, _HS.clitPiercing = 3, _HS.clitSetting = "all", _HS.ovaries = 1, _HS.anusTat = "bleached", _HS.attrXY = 40, _HS.fetish = "pregnancy">> +<<set _HS.slaveName = "Yvonne", _HS.birthName = "Yvonne", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 24, _HS.physicalAge = 24, _HS.visualAge = 24, _HS.ovaryAge = 24, _HS.health = 20, _HS.devotion = 100, _HS.height = 190, _HS.eyeColor = "hazel", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.skin = "light", _HS.hStyle = "long", _HS.waist = -55, _HS.boobs = 700, _HS.nipplesPiercing = 1, _HS.butt = 2, _HS.face = 55, _HS.vaginaLube = 1, _HS.clitPiercing = 3, _HS.clitSetting = "all", _HS.ovaries = 1, _HS.anusTat = "bleached", _HS.attrXY = 40, _HS.fetish = "pregnancy">> <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> @@ -425,7 +425,7 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Lilliana", _HS.birthName = "Zuzanna", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 25, _HS.physicalAge = 25, _HS.visualAge = 25, _HS.ovaryAge = 25, _HS.health = 13, _HS.devotion = 100, _HS.muscles = 100, _HS.height = 190, _HS.eyeColor = "white", _HS.eyes = -2, _HS.override_H_Color = 1, _HS.override_Brow_H_Color = 1, _HS.override_Arm_H_Color = 1, _HS.override_Pubic_H_Color = 1, _HS.hColor = "white with red stripes", _HS.eyebrowHColor = "white", _HS.pubicHColor = "white", _HS.underArmHColor = "white", _HS.skin = "tanned", _HS.hLength = 100, _HS.hStyle = "back in a large ass length braid", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 400, _HS.nipplesPiercing = 1, _HS.butt = 4, _HS.face = 15, _HS.faceImplant = 65, _HS.lipsPiercing = 1, _HS.tonguePiercing = 1, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.anusTat = "bleached", _HS.makeup = 2, _HS.nails = 1, _HS.earPiercing = 1, _HS.nosePiercing = 1, _HS.eyebrowPiercing = 1, _HS.skill.whore = 15, _HS.skill.entertainment = 15, _HS.skill.combat = 1, _HS.clothes = "nice business attire", _HS.collar = "leather with cowbell", _HS.shoes = "heels", _HS.intelligence = -30, _HS.attrXY = 40, _HS.fetish = "boobs", _HS.fetishKnown = 1>> +<<set _HS.slaveName = "Lilliana", _HS.birthName = "Zuzanna", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 25, _HS.physicalAge = 25, _HS.visualAge = 25, _HS.ovaryAge = 25, _HS.health = 13, _HS.devotion = 100, _HS.muscles = 100, _HS.height = 190, _HS.eyeColor = "white", _HS.eyes = -2, _HS.override_H_Color = 1, _HS.override_Brow_H_Color = 1, _HS.override_Arm_H_Color = 1, _HS.override_Pubic_H_Color = 1, _HS.hColor = "white with red stripes", _HS.eyebrowHColor = "white", _HS.pubicHColor = "white", _HS.underArmHColor = "white", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hLength = 100, _HS.hStyle = "back in a large ass length braid", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 400, _HS.nipplesPiercing = 1, _HS.butt = 4, _HS.face = 15, _HS.faceImplant = 65, _HS.lipsPiercing = 1, _HS.tonguePiercing = 1, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.anusTat = "bleached", _HS.makeup = 2, _HS.nails = 1, _HS.earPiercing = 1, _HS.nosePiercing = 1, _HS.eyebrowPiercing = 1, _HS.skill.whore = 15, _HS.skill.entertainment = 15, _HS.skill.combat = 1, _HS.clothes = "nice business attire", _HS.collar = "leather with cowbell", _HS.shoes = "heels", _HS.intelligence = -30, _HS.attrXY = 40, _HS.fetish = "boobs", _HS.fetishKnown = 1>> <<set $heroSlaves.push(_HS)>> /*Blind*/ @@ -467,12 +467,12 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Caroline", _HS.birthName = "Carl", _HS.ID = _i++, _HS.prestige = 1, _HS.prestigeDesc = "She was once a rising free cities politician who argued for compulsory female enslavement, but she became an addict, fell into debt, and was subsequently enslaved.", _HS.birthWeek = random(0,51), _HS.genes = "XY", _HS.actualAge = 44, _HS.physicalAge = 44, _HS.visualAge = 44, _HS.ovaryAge = 44, _HS.health = 60, _HS.devotion = 90, _HS.height = 145, _HS.heightImplant = -1, _HS.race = "white", _HS.nationality = "French", _HS.eyeColor = "blue", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.skin = "tanned", _HS.hLength = 70, _HS.hStyle = "ass-length", _HS.waist = -55, _HS.heels = 1, _HS.boobs = 1100, _HS.boobsImplant = 400, _HS.nipplesPiercing = 1, _HS.areolae = 1, _HS.butt = 4, _HS.buttImplant = 2, _HS.face = 55, _HS.faceImplant = 65, _HS.lips = 55, _HS.lipsImplant = 2, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.preg = -2, _HS.anus = 2, _HS.anusTat = "bleached", _HS.makeup = 3, _HS.nails = 1, _HS.earPiercing = 1, _HS.navelPiercing = 1, _HS.legsTat = "degradation", _HS.stampTat = "degradation", _HS.skill.vaginal = 100, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 15, _HS.skill.entertainment = 35, _HS.drugs = "breast injections", _HS.addict = 1, _HS.clothes = "slutty jewelry", _HS.collar = "tight steel", _HS.intelligence = -90, _HS.intelligenceImplant = 30, _HS.attrXY = 40, _HS.fetish = "humiliation", _HS.behavioralFlaw = "arrogant", _HS.customTat = "She has a tattoo down her left arm, which reads 'Once a tall, muscular, handsome man with a big dick and big balls.'", _HS.customDesc = "Since becoming a slave she has been turned into a little bimbo.">> +<<set _HS.slaveName = "Caroline", _HS.birthName = "Carl", _HS.ID = _i++, _HS.prestige = 1, _HS.prestigeDesc = "She was once a rising free cities politician who argued for compulsory female enslavement, but she became an addict, fell into debt, and was subsequently enslaved.", _HS.birthWeek = random(0,51), _HS.genes = "XY", _HS.actualAge = 44, _HS.physicalAge = 44, _HS.visualAge = 44, _HS.ovaryAge = 44, _HS.health = 60, _HS.devotion = 90, _HS.height = 145, _HS.heightImplant = -1, _HS.race = "white", _HS.nationality = "French", _HS.eyeColor = "blue", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.override_Skin = 1, _HS.skin = "spray tanned", _HS.hLength = 70, _HS.hStyle = "ass-length", _HS.waist = -55, _HS.heels = 1, _HS.boobs = 1100, _HS.boobsImplant = 400, _HS.nipplesPiercing = 1, _HS.areolae = 1, _HS.butt = 4, _HS.buttImplant = 2, _HS.face = 55, _HS.faceImplant = 65, _HS.lips = 55, _HS.lipsImplant = 2, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.preg = -2, _HS.anus = 2, _HS.anusTat = "bleached", _HS.makeup = 3, _HS.nails = 1, _HS.earPiercing = 1, _HS.navelPiercing = 1, _HS.legsTat = "degradation", _HS.stampTat = "degradation", _HS.skill.vaginal = 100, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 15, _HS.skill.entertainment = 35, _HS.drugs = "breast injections", _HS.addict = 1, _HS.clothes = "slutty jewelry", _HS.collar = "tight steel", _HS.intelligence = -90, _HS.intelligenceImplant = 30, _HS.attrXY = 40, _HS.fetish = "humiliation", _HS.behavioralFlaw = "arrogant", _HS.customTat = "She has a tattoo down her left arm, which reads 'Once a tall, muscular, handsome man with a big dick and big balls.'", _HS.customDesc = "Since becoming a slave she has been turned into a little bimbo.">> <<set $heroSlaves.push(_HS)>> <<if $seePreg != 0>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "'Milkmaid' Megan", _HS.birthName = "Megan", _HS.origin = "She was sold to you from the public slave market, and was probably kidnapped or otherwise forced into slavery.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 34, _HS.physicalAge = 34, _HS.visualAge = 34, _HS.ovaryAge = 34, _HS.health = 100, _HS.devotion = 100, _HS.nationality = "American", _HS.skin = "lightened", _HS.hStyle = "long", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 1350, _HS.lactation = 1, _HS.lactationDuration = 4, _HS.butt = 3, _HS.vagina = 2, _HS.vaginaLube = 1, _HS.vaginaPiercing = 1, _HS.preg = 27, _HS.pregType = 1, _HS.pregWeek = 27, _HS.pregKnown = 1, _HS.belly = 5000, _HS.bellyPreg = 5000, _HS.births = 1, _HS.birthsTotal = 1, _HS.anus = 3, _HS.ovaries = 1, _HS.brand = "SLAVE", _HS.brandLocation = "buttocks", _HS.earPiercing = 1, _HS.skill.vaginal = 100, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 100, _HS.skill.entertainment = 35, _HS.skill.combat = 0, _HS.collar = "heavy gold", _HS.shoes = "flats", _HS.energy = 100, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.face = 0, _HS.intelligence = 0>> +<<set _HS.slaveName = "'Milkmaid' Megan", _HS.birthName = "Megan", _HS.origin = "She was sold to you from the public slave market, and was probably kidnapped or otherwise forced into slavery.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 34, _HS.physicalAge = 34, _HS.visualAge = 34, _HS.ovaryAge = 34, _HS.health = 100, _HS.devotion = 100, _HS.nationality = "American", _HS.skin = "light", _HS.hStyle = "long", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 1350, _HS.lactation = 1, _HS.lactationDuration = 4, _HS.butt = 3, _HS.vagina = 2, _HS.vaginaLube = 1, _HS.vaginaPiercing = 1, _HS.preg = 27, _HS.pregType = 1, _HS.pregWeek = 27, _HS.pregKnown = 1, _HS.belly = 5000, _HS.bellyPreg = 5000, _HS.births = 1, _HS.birthsTotal = 1, _HS.anus = 3, _HS.ovaries = 1, _HS.brand = "SLAVE", _HS.brandLocation = "buttocks", _HS.earPiercing = 1, _HS.skill.vaginal = 100, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 100, _HS.skill.entertainment = 35, _HS.skill.combat = 0, _HS.collar = "heavy gold", _HS.shoes = "flats", _HS.energy = 100, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.face = 0, _HS.intelligence = 0>> <<set $heroSlaves.push(_HS)>> <</if>> @@ -493,11 +493,11 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Annabelle", _HS.birthName = "Annabelle", _HS.origin = "She came to be a slave not long after fleeing farm life for the Free Cities.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.health = 20, _HS.devotion = -65, _HS.height = 155, _HS.nationality = "American", _HS.race = "white", _HS.eyeColor = "blue", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.skin = "tanned", _HS.hStyle = "braided into pigtails", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 500, _HS.butt = 4, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.skill.oral = 15, _HS.skill.anal = 15, _HS.skill.whore = 15, _HS.attrXY = 40, _HS.behavioralFlaw = "hates women", _HS.customDesc = "The pale skin within her tan lines is lightly freckled.", _HS.markings = "freckles">> +<<set _HS.slaveName = "Annabelle", _HS.birthName = "Annabelle", _HS.origin = "She came to be a slave not long after fleeing farm life for the Free Cities.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.health = 20, _HS.devotion = -65, _HS.height = 155, _HS.nationality = "American", _HS.race = "white", _HS.eyeColor = "blue", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hStyle = "braided into pigtails", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 500, _HS.butt = 4, _HS.vaginaLube = 1, _HS.anus = 1, _HS.ovaries = 1, _HS.skill.oral = 15, _HS.skill.anal = 15, _HS.skill.whore = 15, _HS.attrXY = 40, _HS.behavioralFlaw = "hates women", _HS.customDesc = "The pale skin within her tan lines is lightly freckled.", _HS.markings = "freckles">> <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "'Vampire' Elvira", _HS.birthName = "Elvira", _HS.career = "service worker", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 20, _HS.physicalAge = 20, _HS.visualAge = 20, _HS.ovaryAge = 20, _HS.health = 90, _HS.devotion = 100, _HS.height = 145, _HS.nationality = "Swedish", _HS.race = "white", _HS.eyeColor = "blue", _HS.hColor = "red", _HS.pubicHColor = "red", _HS.skin = "tanned", _HS.hLength = 85, _HS.hStyle = "ass-length", _HS.waist = -55, _HS.boobs = 650, _HS.boobsImplant = 200, _HS.nipplesPiercing = 2, _HS.butt = 3, _HS.buttImplant = 1, _HS.face = 55, _HS.faceImplant = 15, _HS.lips = 35, _HS.tonguePiercing = 1, _HS.vagina = 3, _HS.vaginaLube = 1, _HS.clitPiercing = 1, _HS.anus = 3, _HS.ovaries = 1, _HS.brand = "your initials", _HS.brandLocation = "buttocks", _HS.skill.vaginal = 100, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 100, _HS.skill.entertainment = 15, _HS.livingRules = "luxurious", _HS.clothes = "choosing her own clothes", _HS.collar = "heavy gold", _HS.intelligenceImplant = 30, _HS.energy = 100, _HS.attrXY = 40, _HS.fetishKnown = 1>> +<<set _HS.slaveName = "'Vampire' Elvira", _HS.birthName = "Elvira", _HS.career = "a service worker", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 20, _HS.physicalAge = 20, _HS.visualAge = 20, _HS.ovaryAge = 20, _HS.health = 90, _HS.devotion = 100, _HS.height = 145, _HS.nationality = "Swedish", _HS.race = "white", _HS.eyeColor = "blue", _HS.hColor = "red", _HS.pubicHColor = "red", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hLength = 85, _HS.hStyle = "ass-length", _HS.waist = -55, _HS.boobs = 650, _HS.boobsImplant = 200, _HS.nipplesPiercing = 2, _HS.butt = 3, _HS.buttImplant = 1, _HS.face = 55, _HS.faceImplant = 15, _HS.lips = 35, _HS.tonguePiercing = 1, _HS.vagina = 3, _HS.vaginaLube = 1, _HS.clitPiercing = 1, _HS.anus = 3, _HS.ovaries = 1, _HS.brand = "your initials", _HS.brandLocation = "buttocks", _HS.skill.vaginal = 100, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 100, _HS.skill.entertainment = 15, _HS.livingRules = "luxurious", _HS.clothes = "choosing her own clothes", _HS.collar = "heavy gold", _HS.intelligenceImplant = 30, _HS.energy = 100, _HS.attrXY = 40, _HS.fetishKnown = 1>> <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> @@ -561,7 +561,7 @@ /*Tweaked smart piercing setting, corrected piercings -BoneyM*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Fleshlight", _HS.birthName = "Fleshlight", _HS.origin = "Nothing remains of the person she originally was, either mentally or physically.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 21, _HS.physicalAge = 21, _HS.visualAge = 21, _HS.ovaryAge = 21, _HS.health = 20, _HS.devotion = 60, _HS.race = "white", _HS.eyeColor = "blue", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.skin = "tanned", _HS.hStyle = "long", _HS.waist = -55, _HS.boobs = 800, _HS.boobsImplant = 600, _HS.butt = 5, _HS.buttImplant = 2, _HS.lips = 55, _HS.lipsImplant = 2, _HS.lipsTat = "permanent makeup", _HS.vagina = 2, _HS.vaginaLube = 1, _HS.anus = 2, _HS.ovaries = 1, _HS.makeup = 3, _HS.nails = 3, _HS.skill.vaginal = 35, _HS.skill.oral = 35, _HS.skill.anal = 35, _HS.shoes = "heels", _HS.attrXY = 40, _HS.fetish = "mindbroken", _HS.fetishKnown = 1, _HS.customDesc = "She has many surgical scars and something seems off about her.", _HS.scars = 2>> +<<set _HS.slaveName = "Fleshlight", _HS.birthName = "Fleshlight", _HS.origin = "Nothing remains of the person she originally was, either mentally or physically.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 21, _HS.physicalAge = 21, _HS.visualAge = 21, _HS.ovaryAge = 21, _HS.health = 20, _HS.devotion = 60, _HS.race = "white", _HS.eyeColor = "blue", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.override_Skin = 1, _HS.skin = "spray tanned", _HS.hStyle = "long", _HS.waist = -55, _HS.boobs = 800, _HS.boobsImplant = 600, _HS.butt = 5, _HS.buttImplant = 2, _HS.lips = 55, _HS.lipsImplant = 2, _HS.lipsTat = "permanent makeup", _HS.vagina = 2, _HS.vaginaLube = 1, _HS.anus = 2, _HS.ovaries = 1, _HS.makeup = 3, _HS.nails = 3, _HS.skill.vaginal = 35, _HS.skill.oral = 35, _HS.skill.anal = 35, _HS.shoes = "heels", _HS.attrXY = 40, _HS.fetish = "mindbroken", _HS.fetishKnown = 1, _HS.customDesc = "She has many surgical scars and something seems off about her.", _HS.scars = 2>> <<set $heroSlaves.push(_HS)>> /*heels*/ /*Added origin, makeup and nails, changed eyes -BoneyM*/ diff --git a/src/npc/databases/ddSlavesDatabase.tw b/src/npc/databases/ddSlavesDatabase.tw index 2ca849d5dba0406443655d75f282352ec8f429b2..c5fcce7085c2d426a291e5421fceaa40d6e31e43 100644 --- a/src/npc/databases/ddSlavesDatabase.tw +++ b/src/npc/databases/ddSlavesDatabase.tw @@ -28,7 +28,7 @@ /*Added origin, removed anal virginity -BoneyM*/ <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "'Mrs.' Maria", _HS.birthName = "Maria", _HS.genes = "XY", _HS.origin = "She was once a successful drug lord, but was turned into her current self after making too many enemies.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 28, _HS.physicalAge = 28, _HS.visualAge = 28, _HS.ovaryAge = 28, _HS.health = 100, _HS.devotion = 75, _HS.muscles = 20, _HS.height = 175, _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.skin = "tanned", _HS.hLength = 10, _HS.boobs = 1000, _HS.boobsImplant = 600, _HS.nipplesPiercing = 1, _HS.lips = 55, _HS.lipsImplant = 10, _HS.vagina = -1, _HS.preg = -2, _HS.clitPiercing = 3, _HS.clitSetting = "anal", _HS.dick = 5, _HS.anus = 2, _HS.prostate = 1, _HS.balls = 2, _HS.scrotum = 2, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.intelligence = 100, _HS.intelligenceImplant = 30, _HS.attrXX = 40, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.customTat = "She has a brand of a former master on her left testicle.", _HS.brand = "a brand of a former master", _HS.stampTat = "She has a fairly generic tramp stamp.", _HS.career = "a gang leader">> +<<set _HS.slaveName = "'Mrs.' Maria", _HS.birthName = "Maria", _HS.genes = "XY", _HS.origin = "She was once a successful drug lord, but was turned into her current self after making too many enemies.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 28, _HS.physicalAge = 28, _HS.visualAge = 28, _HS.ovaryAge = 28, _HS.health = 100, _HS.devotion = 75, _HS.muscles = 20, _HS.height = 175, _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.override_Skin = 1, _HS.skin = "spray tanned", _HS.hLength = 10, _HS.boobs = 1000, _HS.boobsImplant = 600, _HS.nipplesPiercing = 1, _HS.lips = 55, _HS.lipsImplant = 10, _HS.vagina = -1, _HS.preg = -2, _HS.clitPiercing = 3, _HS.clitSetting = "anal", _HS.dick = 5, _HS.anus = 2, _HS.prostate = 1, _HS.balls = 2, _HS.scrotum = 2, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.intelligence = 100, _HS.intelligenceImplant = 30, _HS.attrXX = 40, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.customTat = "She has a brand of a former master on her left testicle.", _HS.brand = "a brand of a former master", _HS.stampTat = "She has a fairly generic tramp stamp.", _HS.career = "a gang leader">> <<set $heroSlaves.push(_HS)>> /*branded nut*/ /*Added brand to customtat, added origin -BoneyM*/ @@ -112,11 +112,11 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "'Buns' Jones", _HS.birthName = "Jones", _HS.genes = "XY", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.devotion = 31, _HS.nationality = "Chinese", _HS.race = "asian", _HS.override_H_Color = 1, _HS.override_Brow_H_Color = 1, _HS.override_Arm_H_Color = 1, _HS.override_Pubic_H_Color = 1, _HS.origHColor = "black", _HS.hColor = "dark brown with bleached highlights", _HS.eyebrowHColor = "black", _HS.pubicHColor = "black", _HS.underArmHColor = "black", _HS.skin = "tanned", _HS.hLength = 60, _HS.hStyle = "long and braided into a ponytail", _HS.waist = -55, _HS.boobs = 200, _HS.butt = 8, _HS.lips = 35, _HS.vagina = -1, _HS.vaginaTat = "rude words", _HS.preg = -2, _HS.dick = 3, _HS.prostate = 1, _HS.balls = 2, _HS.scrotum = 2, _HS.anusTat = "flowers", _HS.makeup = 1, _HS.nails = 1, _HS.earPiercing = 1, _HS.shouldersTat = "tribal patterns", _HS.armsTat = "rude words", _HS.stampTat = "rude words", _HS.skill.oral = 100, _HS.skill.entertainment = 15, _HS.clothes = "a slutty outfit", _HS.collar = "pretty jewelry", _HS.shoes = "heels", _HS.intelligence = 30, _HS.attrXX = 40, _HS.attrXY = 40, _HS.fetish = "buttslut", _HS.fetishKnown = 1, _HS.customDesc = "A palm sized ring adorns the end of her braid, perfect for grabbing and pulling during any occasion.">> +<<set _HS.slaveName = "'Buns' Jones", _HS.birthName = "Jones", _HS.genes = "XY", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.devotion = 31, _HS.nationality = "Chinese", _HS.race = "asian", _HS.override_H_Color = 1, _HS.override_Brow_H_Color = 1, _HS.override_Arm_H_Color = 1, _HS.override_Pubic_H_Color = 1, _HS.origHColor = "black", _HS.hColor = "dark brown with bleached highlights", _HS.eyebrowHColor = "black", _HS.pubicHColor = "black", _HS.underArmHColor = "black", _HS.override_Skin = 1, _HS.skin = "spray tanned", _HS.hLength = 60, _HS.hStyle = "long and braided into a ponytail", _HS.waist = -55, _HS.boobs = 200, _HS.butt = 8, _HS.lips = 35, _HS.vagina = -1, _HS.vaginaTat = "rude words", _HS.preg = -2, _HS.dick = 3, _HS.prostate = 1, _HS.balls = 2, _HS.scrotum = 2, _HS.anusTat = "flowers", _HS.makeup = 1, _HS.nails = 1, _HS.earPiercing = 1, _HS.shouldersTat = "tribal patterns", _HS.armsTat = "rude words", _HS.stampTat = "rude words", _HS.skill.oral = 100, _HS.skill.entertainment = 15, _HS.clothes = "a slutty outfit", _HS.collar = "pretty jewelry", _HS.shoes = "heels", _HS.intelligence = 30, _HS.attrXX = 40, _HS.attrXY = 40, _HS.fetish = "buttslut", _HS.fetishKnown = 1, _HS.customDesc = "A palm sized ring adorns the end of her braid, perfect for grabbing and pulling during any occasion.">> <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Mistress Izzy", _HS.birthName = "Isabella", _HS.genes = "XY", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.health = 70, _HS.devotion = 100, _HS.eyeColor = "black", _HS.hColor = "sparkling and shiny golden red", _HS.pubicHColor = "blonde", _HS.skin = "tanned", _HS.hLength = 60, _HS.hStyle = "in thick long heavy braids", _HS.waist = -100, _HS.boobs = 9200, _HS.boobsImplant = 6000, _HS.nipplesPiercing = 2, _HS.boobsTat = "bovine patterns", _HS.lactation = 2, _HS.lactationDuration = 2, _HS.milk = 3010, _HS.butt = 8, _HS.buttImplant = 1, _HS.buttTat = "bovine patterns", _HS.face = 55, _HS.faceImplant = 65, _HS.lips = 55, _HS.lipsImplant = 2, _HS.lipsPiercing = 2, _HS.lipsTat = "bovine patterns", _HS.tonguePiercing = 2, _HS.vagina = 2, _HS.vaginaPiercing = 2, _HS.vaginaTat = "bovine patterns", _HS.preg = -2, _HS.clitPiercing = 3, _HS.anus = 2, _HS.dick = 5, _HS.prostate = 1, _HS.balls = 3, _HS.scrotum = 2, _HS.anusPiercing = 2, _HS.anusTat = "bovine patterns", _HS.makeup = 2, _HS.nails = 2, _HS.brand = "SLUT", _HS.brandLocation = "buttocks", _HS.earPiercing = 2, _HS.nosePiercing = 2, _HS.eyebrowPiercing = 2, _HS.navelPiercing = 2, _HS.shouldersTat = "bovine patterns", _HS.armsTat = "bovine patterns", _HS.legsTat = "bovine patterns", _HS.stampTat = "bovine patterns", _HS.skill.vaginal = 35, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 100, _HS.skill.entertainment = 35, _HS.collar = "leather with cowbell", _HS.shoes = "heels", _HS.intelligence = 20, _HS.energy = 100, _HS.attrXX = 40, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.customTat = "She has tattoos of teasing, enticing messages begging others to come taste her addictive milk.", _HS.customDesc = "Her musky milky aura drives men and women around her giggly and dumb with lust.">> +<<set _HS.slaveName = "Mistress Izzy", _HS.birthName = "Isabella", _HS.genes = "XY", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.health = 70, _HS.devotion = 100, _HS.eyeColor = "black", _HS.hColor = "sparkling and shiny golden red", _HS.pubicHColor = "blonde", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hLength = 60, _HS.hStyle = "in thick long heavy braids", _HS.waist = -100, _HS.boobs = 9200, _HS.boobsImplant = 6000, _HS.nipplesPiercing = 2, _HS.boobsTat = "bovine patterns", _HS.lactation = 2, _HS.lactationDuration = 2, _HS.milk = 3010, _HS.butt = 8, _HS.buttImplant = 1, _HS.buttTat = "bovine patterns", _HS.face = 55, _HS.faceImplant = 65, _HS.lips = 55, _HS.lipsImplant = 2, _HS.lipsPiercing = 2, _HS.lipsTat = "bovine patterns", _HS.tonguePiercing = 2, _HS.vagina = 2, _HS.vaginaPiercing = 2, _HS.vaginaTat = "bovine patterns", _HS.preg = -2, _HS.clitPiercing = 3, _HS.anus = 2, _HS.dick = 5, _HS.prostate = 1, _HS.balls = 3, _HS.scrotum = 2, _HS.anusPiercing = 2, _HS.anusTat = "bovine patterns", _HS.makeup = 2, _HS.nails = 2, _HS.brand = "SLUT", _HS.brandLocation = "buttocks", _HS.earPiercing = 2, _HS.nosePiercing = 2, _HS.eyebrowPiercing = 2, _HS.navelPiercing = 2, _HS.shouldersTat = "bovine patterns", _HS.armsTat = "bovine patterns", _HS.legsTat = "bovine patterns", _HS.stampTat = "bovine patterns", _HS.skill.vaginal = 35, _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 100, _HS.skill.entertainment = 35, _HS.collar = "leather with cowbell", _HS.shoes = "heels", _HS.intelligence = 20, _HS.energy = 100, _HS.attrXX = 40, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.customTat = "She has tattoos of teasing, enticing messages begging others to come taste her addictive milk.", _HS.customDesc = "Her musky milky aura drives men and women around her giggly and dumb with lust.">> <<set $heroSlaves.push(_HS)>> /*Dropped desc = She has two cute horns protruding from her forehead. A few addicted milkslaves of her own tag along behind her. */ @@ -125,7 +125,7 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Aisha", _HS.birthName = "Aicha", _HS.genes = "XY", _HS.origin = "She sold herself into slavery to escape a life of boredom.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.health = -20, _HS.devotion = 45, _HS.height = 155, _HS.heightImplant = -1, _HS.race = "middle eastern", _HS.override_Eye_Color = 1, _HS.eyeColor = "blue", _HS.override_H_Color = 1, _HS.override_Brow_H_Color = 1, _HS.override_Arm_H_Color = 1, _HS.override_Pubic_H_Color = 1, _HS.hColor = "peachy fading into a red ombre at the bottom", _HS.eyebrowHColor = "red", _HS.pubicHColor = "red", _HS.underArmHColor = "red", _HS.skin = "lightened", _HS.hLength = 30, _HS.hStyle = "shoulder-length in a hime cut", _HS.waist = -55, _HS.boobs = 250, _HS.butt = 3.5, _HS.face = 55, _HS.faceImplant = 65, _HS.vagina = -1, _HS.preg = -2, _HS.clitPiercing = 3, _HS.anus = 1, _HS.dick = 5, _HS.dickTat = "flowers", _HS.prostate = 1, _HS.balls = 2, _HS.scrotum = 2, _HS.anusPiercing = 1, _HS.anusTat = "flowers", _HS.brand = "your initials", _HS.brandLocation = "back", _HS.earPiercing = 1, _HS.skill.oral = 15, _HS.skill.anal = 15, _HS.skill.entertainment = 15, _HS.clothes = "a comfortable bodysuit", _HS.collar = "pretty jewelry", _HS.shoes = "heels", _HS.intelligence = -30, _HS.attrXX = 40, _HS.attrXY = 40, _HS.customTat = "She has tattooed petals trailing from the nape of her neck down her back, ending between her butt cheeks.", _HS.customDesc = "Her red pubic hair is waxed into the shape of a heart. She has bright blue eyeshadow on her bottom lids.", _HS.pubicHStyle = "waxed">> +<<set _HS.slaveName = "Aisha", _HS.birthName = "Aicha", _HS.genes = "XY", _HS.origin = "She sold herself into slavery to escape a life of boredom.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.health = -20, _HS.devotion = 45, _HS.height = 155, _HS.heightImplant = -1, _HS.race = "middle eastern", _HS.override_Eye_Color = 1, _HS.eyeColor = "blue", _HS.override_H_Color = 1, _HS.override_Brow_H_Color = 1, _HS.override_Arm_H_Color = 1, _HS.override_Pubic_H_Color = 1, _HS.hColor = "peachy fading into a red ombre at the bottom", _HS.eyebrowHColor = "red", _HS.pubicHColor = "red", _HS.underArmHColor = "red", _HS.skin = "light", _HS.hLength = 30, _HS.hStyle = "shoulder-length in a hime cut", _HS.waist = -55, _HS.boobs = 250, _HS.butt = 3.5, _HS.face = 55, _HS.faceImplant = 65, _HS.vagina = -1, _HS.preg = -2, _HS.clitPiercing = 3, _HS.anus = 1, _HS.dick = 5, _HS.dickTat = "flowers", _HS.prostate = 1, _HS.balls = 2, _HS.scrotum = 2, _HS.anusPiercing = 1, _HS.anusTat = "flowers", _HS.brand = "your initials", _HS.brandLocation = "back", _HS.earPiercing = 1, _HS.skill.oral = 15, _HS.skill.anal = 15, _HS.skill.entertainment = 15, _HS.clothes = "a comfortable bodysuit", _HS.collar = "pretty jewelry", _HS.shoes = "heels", _HS.intelligence = -30, _HS.attrXX = 40, _HS.attrXY = 40, _HS.customTat = "She has tattooed petals trailing from the nape of her neck down her back, ending between her butt cheeks.", _HS.customDesc = "Her red pubic hair is waxed into the shape of a heart. She has bright blue eyeshadow on her bottom lids.", _HS.pubicHStyle = "waxed">> <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> @@ -133,7 +133,7 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "'Dragon Goddess' Chae-won", _HS.genes = "XY", _HS.birthName = "Chae-won", _HS.origin = "She is a former Kkangpae gang member who was sold into slavery by her former boss as a punishment.", _HS.ID = _i++, _HS.prestige = 1, _HS.prestigeDesc = "She is a famed Free Cities whore, and commands top prices.", _HS.birthWeek = random(0,51), _HS.actualAge = 26, _HS.physicalAge = 26, _HS.visualAge = 26, _HS.ovaryAge = 26, _HS.health = 50, _HS.devotion = 31, _HS.muscles = 50, _HS.height = 155, _HS.nationality = "Korean", _HS.race = "asian", _HS.override_H_Color = 1, _HS.override_Brow_H_Color = 1, _HS.override_Arm_H_Color = 1, _HS.override_Pubic_H_Color = 1, _HS.origHColor = "black", _HS.hColor = "onyx black and rainbow-streaked", _HS.eyebrowHColor = "black", _HS.pubicHColor = "black", _HS.underArmHColor = "black", _HS.skin = "tanned", _HS.hLength = 60, _HS.hStyle = "styled in high chignon resembling a traditional Japanese geisha's Shimada hairstyle, with plenty of decorated hairpins", _HS.waist = -55, _HS.boobs = 6000, _HS.boobsImplant = 3000, _HS.nipples = "huge", _HS.butt = 4.5, _HS.face = 55, _HS.faceImplant = 15, _HS.lips = 35, _HS.lipsTat = "permanent makeup", _HS.tonguePiercing = 1, _HS.vagina = -1, _HS.preg = -2, _HS.anus = 1, _HS.dick = 5, _HS.prostate = 1, _HS.balls = 4, _HS.scrotum = 4, _HS.anusTat = "bleached", _HS.nails = 3, _HS.earPiercing = 1, _HS.legsTat = "flowers", _HS.stampTat = "flowers", _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 100, _HS.clothes = "a slave gown", _HS.collar = "pretty jewelry", _HS.shoes = "heels", _HS.intelligence = -3, _HS.intelligenceImplant = 30, _HS.energy = 100, _HS.attrXX = 40, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.behavioralFlaw = "arrogant", _HS.customTat = "She has two neon-blue butterflies tattooed on her right temple and one more right above right eyebrow; a bright blue, luminescent tattoo of an oriental dragon is intertwining with floral tattoos on her right leg.", _HS.customDesc = "She is almost never seen without her long, thin, lavishly decorated smoking pipe, either holding it in hand, or carrying it tucked in her chignon.", _HS.career = "a gang member">> +<<set _HS.slaveName = "'Dragon Goddess' Chae-won", _HS.genes = "XY", _HS.birthName = "Chae-won", _HS.origin = "She is a former Kkangpae gang member who was sold into slavery by her former boss as a punishment.", _HS.ID = _i++, _HS.prestige = 1, _HS.prestigeDesc = "She is a famed Free Cities whore, and commands top prices.", _HS.birthWeek = random(0,51), _HS.actualAge = 26, _HS.physicalAge = 26, _HS.visualAge = 26, _HS.ovaryAge = 26, _HS.health = 50, _HS.devotion = 31, _HS.muscles = 50, _HS.height = 155, _HS.nationality = "Korean", _HS.race = "asian", _HS.override_H_Color = 1, _HS.override_Brow_H_Color = 1, _HS.override_Arm_H_Color = 1, _HS.override_Pubic_H_Color = 1, _HS.origHColor = "black", _HS.hColor = "onyx black and rainbow-streaked", _HS.eyebrowHColor = "black", _HS.pubicHColor = "black", _HS.underArmHColor = "black", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hLength = 60, _HS.hStyle = "styled in high chignon resembling a traditional Japanese geisha's Shimada hairstyle, with plenty of decorated hairpins", _HS.waist = -55, _HS.boobs = 6000, _HS.boobsImplant = 3000, _HS.nipples = "huge", _HS.butt = 4.5, _HS.face = 55, _HS.faceImplant = 15, _HS.lips = 35, _HS.lipsTat = "permanent makeup", _HS.tonguePiercing = 1, _HS.vagina = -1, _HS.preg = -2, _HS.anus = 1, _HS.dick = 5, _HS.prostate = 1, _HS.balls = 4, _HS.scrotum = 4, _HS.anusTat = "bleached", _HS.nails = 3, _HS.earPiercing = 1, _HS.legsTat = "flowers", _HS.stampTat = "flowers", _HS.skill.oral = 100, _HS.skill.anal = 100, _HS.skill.whore = 100, _HS.clothes = "a slave gown", _HS.collar = "pretty jewelry", _HS.shoes = "heels", _HS.intelligence = -3, _HS.intelligenceImplant = 30, _HS.energy = 100, _HS.attrXX = 40, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.behavioralFlaw = "arrogant", _HS.customTat = "She has two neon-blue butterflies tattooed on her right temple and one more right above right eyebrow; a bright blue, luminescent tattoo of an oriental dragon is intertwining with floral tattoos on her right leg.", _HS.customDesc = "She is almost never seen without her long, thin, lavishly decorated smoking pipe, either holding it in hand, or carrying it tucked in her chignon.", _HS.career = "a gang member">> <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> @@ -171,7 +171,7 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Buck", _HS.birthName = "Buck", _HS.genes = "XY", _HS.origin = "She was a soldier before being enslaved.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 23, _HS.physicalAge = 23, _HS.visualAge = 23, _HS.ovaryAge = 23, _HS.health = 90, _HS.devotion = -100, _HS.muscles = 50, _HS.height = 190, _HS.eyeColor = "blue", _HS.hColor = "black", _HS.pubicHColor = "black", _HS.skin = "tanned", _HS.hLength = 0, _HS.prostate = 1, _HS.hStyle = "shaved", _HS.waist = -55, _HS.boobs = 100, _HS.nipplesPiercing = 1, _HS.butt = 1, _HS.face = 15, _HS.vagina = -1, _HS.preg = -2, _HS.dick = 5, _HS.analArea = 1, _HS.prostate = 1, _HS.balls = 3, _HS.scrotum = 3, _HS.anusTat = "bleached", _HS.earPiercing = 1, _HS.nosePiercing = 1, _HS.navelPiercing = 1, _HS.skill.combat = 1, _HS.intelligence = -40, _HS.intelligenceImplant = 30, _HS.attrXX = 40, _HS.attrXY = 40, _HS.behavioralFlaw = "bitchy">> +<<set _HS.slaveName = "Buck", _HS.birthName = "Buck", _HS.genes = "XY", _HS.origin = "She was a soldier before being enslaved.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 23, _HS.physicalAge = 23, _HS.visualAge = 23, _HS.ovaryAge = 23, _HS.health = 90, _HS.devotion = -100, _HS.muscles = 50, _HS.height = 190, _HS.eyeColor = "blue", _HS.hColor = "black", _HS.pubicHColor = "black", _HS.override_Skin = 1, _HS.skin = "spray tanned", _HS.hLength = 0, _HS.prostate = 1, _HS.hStyle = "shaved", _HS.waist = -55, _HS.boobs = 100, _HS.nipplesPiercing = 1, _HS.butt = 1, _HS.face = 15, _HS.vagina = -1, _HS.preg = -2, _HS.dick = 5, _HS.analArea = 1, _HS.prostate = 1, _HS.balls = 3, _HS.scrotum = 3, _HS.anusTat = "bleached", _HS.earPiercing = 1, _HS.nosePiercing = 1, _HS.navelPiercing = 1, _HS.skill.combat = 1, _HS.intelligence = -40, _HS.intelligenceImplant = 30, _HS.attrXX = 40, _HS.attrXY = 40, _HS.behavioralFlaw = "bitchy">> <<set $heroSlaves.push(_HS)>> /*dickskilled*/ @@ -180,7 +180,7 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Danny 'The D'", _HS.slaveSurname = "Ildoe", _HS.birthName = "Danny 'The D'", _HS.birthSurname = "Ildoe", _HS.origin = "Born without limbs and abandoned by her parents, she was taken in by a posh family, given a massive cock and trained to be the wealthy lady's perfect living sex toy.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 28, _HS.visualAge = 28, _HS.physicalAge = 28, _HS.ovaryAge = 28, _HS.health = 100, _HS.amp = 1, _HS.devotion = 100, _HS.muscles = 50, _HS.height = 94, _HS.eyeColor = "blue", _HS.hColor = "black", _HS.pubicHColor = "black", _HS.skin = "tanned", _HS.hLength = 10, _HS.hStyle = "short", _HS.waist = 55, _HS.boobs = 50, _HS.hips = -1, _HS.butt = 0, _HS.face = 45, _HS.vagina = -1, _HS.preg = 0, _HS.dick = 6, _HS.balls = 10, _HS.scrotum = 7, _HS.prostate = 2, _HS.anusTat = "bleached", _HS.energy = 95, _HS.intelligenceImplant = 30, _HS.attrXX = 100, _HS.attrXY = 0, _HS.skill.oral = 95, _HS.fetish = "submissive", _HS.fetishKnown = 1, _HS.behavioralQuirk = "advocate">> +<<set _HS.slaveName = "Danny 'The D'", _HS.slaveSurname = "Ildoe", _HS.birthName = "Danny 'The D'", _HS.birthSurname = "Ildoe", _HS.origin = "Born without limbs and abandoned by her parents, she was taken in by a posh family, given a massive cock and trained to be the wealthy lady's perfect living sex toy.", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 28, _HS.visualAge = 28, _HS.physicalAge = 28, _HS.ovaryAge = 28, _HS.health = 100, _HS.amp = 1, _HS.devotion = 100, _HS.muscles = 50, _HS.height = 94, _HS.eyeColor = "blue", _HS.hColor = "black", _HS.pubicHColor = "black", _HS.override_Skin = 1, _HS.skin = "spray tanned", _HS.hLength = 10, _HS.hStyle = "short", _HS.waist = 55, _HS.boobs = 50, _HS.hips = -1, _HS.butt = 0, _HS.face = 45, _HS.vagina = -1, _HS.preg = 0, _HS.dick = 6, _HS.balls = 10, _HS.scrotum = 7, _HS.prostate = 2, _HS.anusTat = "bleached", _HS.energy = 95, _HS.intelligenceImplant = 30, _HS.attrXX = 100, _HS.attrXY = 0, _HS.skill.oral = 95, _HS.fetish = "submissive", _HS.fetishKnown = 1, _HS.behavioralQuirk = "advocate">> <<set $heroSlaves.push(_HS)>> /* needed an amputated slave for debug reasons -prndev */ diff --git a/src/npc/databases/dfSlavesDatabase.tw b/src/npc/databases/dfSlavesDatabase.tw index 91490615c5925716753acb78d342cd2c125174f7..1ca124f0c95cbb1c2218d9502f03bbee5cbbe675 100644 --- a/src/npc/databases/dfSlavesDatabase.tw +++ b/src/npc/databases/dfSlavesDatabase.tw @@ -7,17 +7,17 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Strawberry", _HS.birthName = "Strawberry", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 30, _HS.physicalAge = 30, _HS.visualAge = 30, _HS.ovaryAge = 30, _HS.health = 20, _HS.devotion = 40, _HS.height = 175, _HS.eyeColor = "dark brown", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.skin = "tanned", _HS.hStyle = "long", _HS.pubicHStyle = "waxed", _HS.waist = -55, _HS.boobs = 1000, _HS.boobsImplant = 400, _HS.nipplesPiercing = 1, _HS.butt = 5, _HS.buttImplant = 2, _HS.lips = 35, _HS.lipsImplant = 10, _HS.vagina = 2, _HS.vaginaLube = 1, _HS.vaginaPiercing = 2, _HS.preg = -2, _HS.anus = 2, _HS.ovaries = 1, _HS.skill.vaginal = 35, _HS.skill.oral = 35, _HS.skill.anal = 35, _HS.attrXY = 40, _HS.fetish = "humiliation", _HS.fetishKnown = 1, _HS.customTat = "Strawberries are tattooed on her right buttock and on her left cheek.", _HS.clitPiercing = 2, _HS.birthsTotal = 2>> +<<set _HS.slaveName = "Strawberry", _HS.birthName = "Strawberry", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 30, _HS.physicalAge = 30, _HS.visualAge = 30, _HS.ovaryAge = 30, _HS.health = 20, _HS.devotion = 40, _HS.height = 175, _HS.eyeColor = "dark brown", _HS.hColor = "blonde", _HS.pubicHColor = "blonde", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hStyle = "long", _HS.pubicHStyle = "waxed", _HS.waist = -55, _HS.boobs = 1000, _HS.boobsImplant = 400, _HS.nipplesPiercing = 1, _HS.butt = 5, _HS.buttImplant = 2, _HS.lips = 35, _HS.lipsImplant = 10, _HS.vagina = 2, _HS.vaginaLube = 1, _HS.vaginaPiercing = 2, _HS.preg = -2, _HS.anus = 2, _HS.ovaries = 1, _HS.skill.vaginal = 35, _HS.skill.oral = 35, _HS.skill.anal = 35, _HS.attrXY = 40, _HS.fetish = "humiliation", _HS.fetishKnown = 1, _HS.customTat = "Strawberries are tattooed on her right buttock and on her left cheek.", _HS.clitPiercing = 2, _HS.birthsTotal = 2>> /*vibe nips, muscles*/ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Melon", _HS.birthName = "Melon", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 23, _HS.physicalAge = 23, _HS.visualAge = 23, _HS.ovaryAge = 23, _HS.health = 20, _HS.devotion = 50, _HS.height = 175, _HS.eyeColor = "blue", _HS.hColor = "red", _HS.pubicHColor = "red", _HS.skin = "tanned", _HS.hLength = 10, _HS.hStyle = "short", _HS.pubicHStyle = "waxed", _HS.boobs = 1800, _HS.boobsImplant = 800, _HS.nipplesPiercing = 1, _HS.butt = 4, _HS.lips = 35, _HS.lipsImplant = 10, _HS.vagina = 2, _HS.vaginaLube = 1, _HS.vaginaPiercing = 2, _HS.preg = -2, _HS.anus = 2, _HS.ovaries = 1, _HS.skill.vaginal = 15, _HS.skill.oral = 100, _HS.skill.anal = 15, _HS.attrXY = 40, _HS.fetish = "submissive", _HS.fetishKnown = 1, _HS.customTat = "Watermelons are tattooed on her buttocks and on her face.", _HS.teeth = "removable", _HS.clitPiercing = 2, _HS.lipsPiercing = 2, _HS.birthsTotal = 1>> +<<set _HS.slaveName = "Melon", _HS.birthName = "Melon", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 23, _HS.physicalAge = 23, _HS.visualAge = 23, _HS.ovaryAge = 23, _HS.health = 20, _HS.devotion = 50, _HS.height = 175, _HS.eyeColor = "blue", _HS.hColor = "red", _HS.pubicHColor = "red", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hLength = 10, _HS.hStyle = "short", _HS.pubicHStyle = "waxed", _HS.boobs = 1800, _HS.boobsImplant = 800, _HS.nipplesPiercing = 1, _HS.butt = 4, _HS.lips = 35, _HS.lipsImplant = 10, _HS.vagina = 2, _HS.vaginaLube = 1, _HS.vaginaPiercing = 2, _HS.preg = -2, _HS.anus = 2, _HS.ovaries = 1, _HS.skill.vaginal = 15, _HS.skill.oral = 100, _HS.skill.anal = 15, _HS.attrXY = 40, _HS.fetish = "submissive", _HS.fetishKnown = 1, _HS.customTat = "Watermelons are tattooed on her buttocks and on her face.", _HS.teeth = "removable", _HS.clitPiercing = 2, _HS.lipsPiercing = 2, _HS.birthsTotal = 1>> /*vibe nips, saliva implant*/ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "Carambola", _HS.birthName = "Carambola", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 25, _HS.physicalAge = 25, _HS.visualAge = 25, _HS.ovaryAge = 25, _HS.health = 20, _HS.devotion = 90, _HS.height = 175, _HS.eyeColor = "light green", _HS.hColor = "dark blonde", _HS.pubicHColor = "dark blonde", _HS.skin = "tanned", _HS.hLength = 60, _HS.hStyle = "curly and long, and in pigtails", _HS.pubicHStyle = "waxed", _HS.boobs = 650, _HS.nipplesPiercing = 1, _HS.butt = 8, _HS.buttImplant = 4, _HS.lips = 35, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.vaginaPiercing = 2, _HS.preg = -2, _HS.anus = 3, _HS.ovaries = 1, _HS.skill.vaginal = 15, _HS.skill.oral = 15, _HS.skill.anal = 100, _HS.attrXY = 40, _HS.fetish = "buttslut", _HS.fetishKnown = 1, _HS.customTat = "Carambolas — starfruits — are tattooed on her buttocks and on her face.", _HS.clitPiercing = 2, _HS.tonguePiercing = 1, _HS.clothes = "no clothing", _HS.collar = "bell collar", _HS.heels = 1>> +<<set _HS.slaveName = "Carambola", _HS.birthName = "Carambola", _HS.ID = _i++, _HS.birthWeek = random(0,51), _HS.actualAge = 25, _HS.physicalAge = 25, _HS.visualAge = 25, _HS.ovaryAge = 25, _HS.health = 20, _HS.devotion = 90, _HS.height = 175, _HS.eyeColor = "light green", _HS.hColor = "dark blonde", _HS.pubicHColor = "dark blonde", _HS.override_Skin = 1, _HS.skin = "sun tanned", _HS.hLength = 60, _HS.hStyle = "curly and long, and in pigtails", _HS.pubicHStyle = "waxed", _HS.boobs = 650, _HS.nipplesPiercing = 1, _HS.butt = 8, _HS.buttImplant = 4, _HS.lips = 35, _HS.vagina = 1, _HS.vaginaLube = 1, _HS.vaginaPiercing = 2, _HS.preg = -2, _HS.anus = 3, _HS.ovaries = 1, _HS.skill.vaginal = 15, _HS.skill.oral = 15, _HS.skill.anal = 100, _HS.attrXY = 40, _HS.fetish = "buttslut", _HS.fetishKnown = 1, _HS.customTat = "Carambolas — starfruits — are tattooed on her buttocks and on her face.", _HS.clitPiercing = 2, _HS.tonguePiercing = 1, _HS.clothes = "no clothing", _HS.collar = "bell collar", _HS.heels = 1>> /*vibe nips, saliva implant lube*/ <<set $heroSlaves.push(_HS)>> diff --git a/src/npc/fKiss.tw b/src/npc/fKiss.tw index 4c4d902e74cec8955639f4aee4faa9fc8a75c1e3..cfaf60ef541a1654f3aa3eed073f85788f8607ac 100644 --- a/src/npc/fKiss.tw +++ b/src/npc/fKiss.tw @@ -40,7 +40,7 @@ You tell $activeSlave.slaveName to <<elseif ($activeSlave.relationship == -2)>> $He hurriedly complies, happy to be near the object of $his longing. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. <<else>> upon $his face. $He senses the intense look from the _womanP $he loves and finds it overwhelming, and after a moment glances away. <</if>> @@ -51,28 +51,28 @@ You tell $activeSlave.slaveName to <<elseif $activeSlave.devotion+$activeSlave.trust >= 175>> $He complies in a wifely fashion, moving $his body as $he approaches to best catch your desire. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>. <<else>> upon $his face. $He senses the intense look from the _womanP $he's married to and finds it affirming, and looks down with a smile. <</if>> <<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>> $He complies. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's forcibly married to disturbing, and quickly breaks eye contact. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's forcibly married to disturbing, and quickly breaks eye contact. <<else>> upon $his face. $He senses the intense look from the _womanP $he's forcibly married to and finds it disturbing, and quickly turns $his face away. <</if>> <<elseif $activeSlave.devotion < -20>> $He complies fearfully. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his tearing <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's forcibly married to horrifying, and quickly breaks eye contact. + into $his tearing <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's forcibly married to horrifying, and quickly breaks eye contact. <<else>> upon $his tear-streaked face. $He senses the intense look from the _womanP $he's forcibly married to and finds it horrifying, and quickly turns $his face away. <</if>> <<else>> $He complies obediently. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>. <<else>> upon $his face. $He senses the intense look from the _womanP $he's married to and finds it reassuring, and looks down with a slight smile. <</if>> @@ -80,7 +80,7 @@ You tell $activeSlave.slaveName to <<elseif ($activeSlave.devotion > 75)>> $He hurriedly complies, happy to be near you. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from $his beloved <<= WrittenMaster($activeSlave)>> disconcerting, and $his eyes flick downward after a moment. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from $his beloved <<= WrittenMaster($activeSlave)>> disconcerting, and $his eyes flick downward after a moment. <<else>> upon $his face. $He senses the intense look from $his beloved <<= WrittenMaster()>> and finds it disconcerting, and after a moment glances away. <</if>> @@ -88,35 +88,35 @@ You tell $activeSlave.slaveName to <<elseif ($activeSlave.devotion > 50)>> $He hurriedly complies, happy to be near you. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> disconcerting, and $he looks down after a moment, blushing. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> disconcerting, and $he looks down after a moment, blushing. <<else>> upon $his face. $He finds the intense attention from $his <<= WrittenMaster()>>disconcerting, and $he looks down after a moment, blushing. <</if>> <<elseif ($activeSlave.devotion > 20)>> $He hurriedly complies, happy to be near you. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, blushing nervously. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, blushing nervously. <<else>> upon $his face. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, blushing nervously. <</if>> <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust >= -20)>> $He visibly considers disobedience, but decides that complying with such an apparently harmless order is safe, for now. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, $his lower lip trembling with nervousness. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, $his lower lip trembling with nervousness. <<else>> upon $his face. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and turns away after a moment, $his lower lip trembling with nervousness. <</if>> <<elseif ($activeSlave.trust < -20)>> The command terrifies $him, but $he's more frightened still of the consequences of disobedience, and $he complies. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. After a mere instant of locked gazes, $he looks down fearfully, and begins to shake with terror, tears leaking silently down $his cheeks. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. After a mere instant of locked gazes, $he looks down fearfully, and begins to shake with terror, tears leaking silently down $his cheeks. <<else>> upon $his face. After a mere instant of locked faces, $he looks down fearfully, and begins to shake with terror, tears leaking silently down $his cheeks. <</if>> <<else>> $He pauses, obviously considering whether to resist, but eventually decides to save $his strength to fight more onerous orders, and gives in. Once $he's close, you take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. <<else>> upon $his face. $He faces you defiantly, but after a few moments $he loses the contest of wills and looks down. <</if>> @@ -135,16 +135,16 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <<if $activeSlave.fetish == "mindbroken">> $His mouth opens to accept the kiss, and is compliant with your questing tongue. You kiss your broken wife deeply. $His posture remains completely unchanged. Being kissed affects $him as little as being penetrated, being struck, being loved, or being your wife: not at all. When you pull away, <<if canSee($activeSlave)>> - $his <<= App.Desc.eyeColor>> eyes track you carefully, awaiting further use of $his body. + $his <<= App.Desc.eyeColor($activeSlave)>> eyes track you carefully, awaiting further use of $his body. <<else>> $he exposes $himself to you, awaiting further use of $his body. <</if>> <<elseif $activeSlave.devotion+$activeSlave.trust >= 175>> $His mouth accepts yours with love, matching itself perfectly to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> (Though you're quite careful around $his sharp dentition.)<</if>> $He melts into you, sighing ever so gently. When you finally break the kiss, $his mouth freezes in the shape it was in when last your lips touched, and a momentary look of longing crosses $his face.<<if ($activeSlave.amp != 1)>> A hand reaches dumbly up to $his mouth to trace $his lips where yours last touched.<</if>> <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. + $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. <<else>> @@ -169,7 +169,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu $He asks nervously before cringing, "I-i<<s>> that it, <<Master>>?" <</if>> <<else>> - $He accepts the kiss willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a wife by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your lips and tongue. When you finally break the kiss, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor>> eyes gaze into yours searchingly<<else>>$he gazes at you<</if>>, looking for answers that are not there. + $He accepts the kiss willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a wife by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your lips and tongue. When you finally break the kiss, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes gaze into yours searchingly<<else>>$he gazes at you<</if>>, looking for answers that are not there. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> @@ -181,16 +181,16 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <<elseif ($activeSlave.fetish == "mindbroken")>> $His mouth opens to accept the kiss, and is compliant with your questing tongue. $His posture remains completely unchanged. Being kissed affects $him as little as being penetrated, being struck, or being loved: not at all. When you pull away, <<if canSee($activeSlave)>> - $his <<= App.Desc.eyeColor>> eyes track you carefully, awaiting further use of $his body. + $his <<= App.Desc.eyeColor($activeSlave)>> eyes track you carefully, awaiting further use of $his body. <<else>> $he exposes $himself to you, awaiting further use of $his body. <</if>> <<elseif ($activeSlave.relationship == -2)>> $His mouth accepts yours with love, matching itself perfectly to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> (Though you're quite careful around $his sharp dentition.)<</if>> $He melts into you, sighing ever so gently. When you finally break the kiss, $his mouth freezes in the shape it was in when last your lips touched, and a momentary look of longing crosses $his face.<<if ($activeSlave.amp != 1)>> A hand reaches dumbly up to $his mouth to trace $his lips where yours last touched.<</if>> <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. + $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. <<else>> @@ -199,9 +199,9 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "dom") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> $He giggles into you and kisses you back with vigor, $his head pressing insistently forward. The two of you make out rather aggressively<<if ($activeSlave.teeth == "pointy")>>, $his sharp teeth drawing a bit of blood from your lips and tongue<</if>>. $He takes $his tendency towards sexual dominance right up to the edge of insubordination, $his active tongue only retreating when yours presses against it. When you finally shove $him away, $he's breathing hard through $his grin. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. + $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he liked that. <<else>> @@ -210,9 +210,9 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> $He stiffens with arousal. $His sexuality is complex, focusing on cum, but with a heavy layer of oral fixation. As your tongue plunders $his mouth, $he reacts almost as though $he's receiving oral, whimpering and moaning into you and pressing $himself lewdly against your <<if $PC.boobs == 1>>prominent breasts<<else>>manly chest<</if>>.<<if ($activeSlave.teeth == "pointy")>> $He's very careful to avoid spearing your tongue with $his sharp teeth.<</if>> $He achieves a weak orgasm before you tire of making out with $him. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. + $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he liked that. <<else>> @@ -221,16 +221,16 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <<elseif ($activeSlave.devotion > 50)>> $His mouth accepts yours with devotion, matching itself carefully to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> $He is exquisitely careful to keep $his sharp teeth clear of you.<</if>> $He presses $himself against you, $his warmth wonderful against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. When you finally break the kiss, $he runs $his tongue rapturously across $his moistened lips<<if ($activeSlave.amp != 1)>> and then runs a finger across them as well<</if>>, an openly sexual look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he's not confident in $his ability to express it in $language. + $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he's not confident in $his ability to express it in $language. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. <<else>> "I love you, <<Master>>," $he <<say>>s forthrightly. <</if>> <<elseif ($activeSlave.devotion > 20)>> - $He accepts the kiss willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your lips and tongue. When you finally break the kiss, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor>> eyes gaze into yours searchingly<<else>>$he gazes at you<</if>>, looking for answers that are not there. + $He accepts the kiss willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your lips and tongue. When you finally break the kiss, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes gaze into yours searchingly<<else>>$he gazes at you<</if>>, looking for answers that are not there. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> diff --git a/src/npc/removeActiveSlave.tw b/src/npc/removeActiveSlave.tw deleted file mode 100644 index 2fcc7d9b02572510c236ba64870302f723bbb052..0000000000000000000000000000000000000000 --- a/src/npc/removeActiveSlave.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Remove activeSlave [nobr] - -<<= removeActiveSlave() >> diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw index ed47234ff3fcefe2fdcf1117f867068a526b18be..a91108f02c53f07ff5b68d524bf5c6e8a877af3b 100644 --- a/src/npc/startingGirls/startingGirls.tw +++ b/src/npc/startingGirls/startingGirls.tw @@ -736,28 +736,31 @@ __You are customizing this slave:__ <br> <<options $activeSlave.skin>> ''Skin color:'' $activeSlave.skin - <<option "pure white" "Pure White">> - <<option "extremely pale" "Extremely Pale">> - <<option "pale" "Pale">> - <<option "extremely fair" "Extremely Fair">> - <<option "very fair" "Very Fair">> - <<option "fair" "Fair">> - <<option "white" "White">> - <<option "light" "Light">> - <<option "lightened" "Lightened">> - <<option "light olive" "Light Olive">> - <<option "olive" "Olive">> - <<option "natural" "Natural">> - <<option "tanned" "Tanned">> - <<option "bronzed" "Bronzed">> - <<option "dark olive" "Dark Olive">> - <<option "dark" "Dark">> - <<option "light brown" "Light Brown">> - <<option "brown" "Brown">> - <<option "dark brown" "Dark Brown">> - <<option "black" "Black">> - <<option "ebony" "Ebony">> - <<option "pure black" "Pure Black">> + <<option "pure white" "Pure White">> + <<option "ivory" "Ivory">> + <<option "white" "White">> + <<option "extremely pale" "Extremely Pale">> + <<option "very pale" "Very Pale">> + <<option "pale" "Pale">> + <<option "extremely fair" "Extremely Fair">> + <<option "very fair" "Very Fair">> + <<option "fair" "Fair">> + <<option "light" "Light">> + <<option "light olive" "Light Olive">> + <<option "tan" "Tan">> + <<option "olive" "Olive">> + <<option "bronze" "Bronze">> + <<option "dark olive" "Dark Olive">> + <<option "dark" "Dark">> + <<option "light beige" "Light Beige">> + <<option "beige" "Beige" >> + <<option "dark beige" "Dark Beige">> + <<option "light brown" "Light Brown">> + <<option "brown" "Brown">> + <<option "dark brown" "Dark Brown">> + <<option "black" "Black">> + <<option "ebony" "Ebony">> + <<option "pure black" "Pure Black">> <<option>> <<textbox2 "$activeSlave.skin" $activeSlave.skin "Starting Girls">> <</options>> @@ -1596,7 +1599,7 @@ __You are customizing this slave:__ <<link "Cali Girl">> <<set $archetyped = 1, $activeSlave.nationality = "American", $fixedNationality = "American">> <<StartingGirlsWorkaround>> - <<set $activeSlave.eyeColor = "blue", $activeSlave.skin = "tanned", $activeSlave.hColor = "blonde", $activeSlave.pubicHColor = "blonde", $activeSlave.markings = "none", $activeSlave.face = 95, $activeSlave.muscles = 20, $activeSlave.weight = -20, $activeSlave.height = Math.round(Height.forAge(190, $activeSlave))>> + <<set $activeSlave.eyeColor = "blue", $activeSlave.skin = "sun tanned", $activeSlave.override_Skin = 1, $activeSlave.hColor = "blonde", $activeSlave.pubicHColor = "blonde", $activeSlave.markings = "none", $activeSlave.face = 95, $activeSlave.muscles = 20, $activeSlave.weight = -20, $activeSlave.height = Math.round(Height.forAge(190, $activeSlave))>> <<goto "Starting Girls">> <</link>> //Tall, taut, and tan// diff --git a/src/player/actions/fCaress.tw b/src/player/actions/fCaress.tw index ae5a901d6a36162ea95b593e2d38338146ff5337..fd235fcc09eec72f530e7de09b8da80aabaf29fa 100644 --- a/src/player/actions/fCaress.tw +++ b/src/player/actions/fCaress.tw @@ -26,31 +26,31 @@ You tell $activeSlave.slaveName to <<if ($activeSlave.fetish == "mindbroken") && ($activeSlave.relationship != -3)>> $He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. <<elseif ($activeSlave.relationship == -2)>> - $He eagerly complies, happy to be near the object of $his longing. Once $he's close, you hold $his face in your palms and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. $He blushes furiously. + $He eagerly complies, happy to be near the object of $his longing. Once $he's close, you hold $his face in your palms and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. $He blushes furiously. <<elseif ($activeSlave.relationship == -3)>> <<if $activeSlave.fetish == "mindbroken">> - $He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. Once $he's close, you hold $his face in your palms and look into $his blank <<= App.Desc.eyeColor>> eyes. $He doesn't react. + $He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. Once $he's close, you hold $his face in your palms and look into $his blank <<= App.Desc.eyeColor($activeSlave)>> eyes. $He doesn't react. <<elseif $activeSlave.devotion+$activeSlave.trust >= 175>> - $He happily complies, eager to be close to the _womanP who married $him. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>. + $He happily complies, eager to be close to the _womanP who married $him. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>. <<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>> - $He complies. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's forcibly married to disturbing, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>. + $He complies. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's forcibly married to disturbing, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>. <<elseif $activeSlave.devotion < -20>> - $He complies out of fear. Once $he's close, you hold $his shaking face in your palms and look into $his teary <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's forcibly married to terrifying, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>. + $He complies out of fear. Once $he's close, you hold $his shaking face in your palms and look into $his teary <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's forcibly married to terrifying, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>. <<else>> - $He complies obediently. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>. + $He complies obediently. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>. <</if>> <<elseif ($activeSlave.devotion > 75)>> - $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from $his beloved <<= WrittenMaster()>> disconcerting, and $his eyes flick downward after a moment. $He blushes furiously. + $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from $his beloved <<= WrittenMaster()>> disconcerting, and $his eyes flick downward after a moment. $He blushes furiously. <<elseif ($activeSlave.devotion > 50)>> - $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster($activeSlave)>> disconcerting, and $he looks down after a moment, blushing. + $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster($activeSlave)>> disconcerting, and $he looks down after a moment, blushing. <<elseif ($activeSlave.devotion > 20)>> - $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster($activeSlave)>> worrying, and $he looks down after a moment, blushing nervously. + $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster($activeSlave)>> worrying, and $he looks down after a moment, blushing nervously. <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust >= -20)>> - $He visibly considers disobedience, but decides that complying with such an apparently harmless order is safe, for now. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster($activeSlave)>> worrying, and $he looks down after a moment, $his lower lip trembling with nervousness. + $He visibly considers disobedience, but decides that complying with such an apparently harmless order is safe, for now. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster($activeSlave)>> worrying, and $he looks down after a moment, $his lower lip trembling with nervousness. <<elseif ($activeSlave.trust < -20)>> - The command terrifies $him, but $he's more frightened still of the consequences of disobedience, and $he complies. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He looks down fearfully, and begins to shake with terror, tears leaking silently down $his cheeks. + The command terrifies $him, but $he's more frightened still of the consequences of disobedience, and $he complies. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He looks down fearfully, and begins to shake with terror, tears leaking silently down $his cheeks. <<else>> - $He pauses, obviously considering whether to resist, but eventually decides to save $his strength to fight more onerous orders, and gives in. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. + $He pauses, obviously considering whether to resist, but eventually decides to save $his strength to fight more onerous orders, and gives in. Once $he's close, you hold $his face in your palms and look into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. <</if>> You delicately lift $his head and touch your fingertips to $his chin, tenderly brushing along the line of $his mouth with your <<if $PC.title == 1>>manly<<else>>feminine<</if>> thumb. @@ -71,17 +71,17 @@ Then, you gently tilt $his <<if $activeSlave.face > 95>>overwhelmingly stunning< <</if>> with your fingertips. You use your fingers and thumbs to slowly slide along $his mouth, $his chin, $his cheeks then around $his face. You use a deft touch to thoroughly explore the shape of $his <<if $activeSlave.face > 95>>gorgeous<<elseif $activeSlave.face > 10>>nice<<elseif $activeSlave.face >= -10>>cute<<elseif $activeSlave.face >= -40>>fair<<else>>prominent<</if>> cheekbones. Grazing $his temple and brushing $his forehead simultaneously, you smoothly motion along $his eyelids and nose and you tenderly stroke $his face with both hands as you take $his head lightly and trace around it, gently massaging as you go. You work your way down, slowly and gradually, along $his neck with one hand, then the other, briefly pausing before continuing your path down to $his shoulders and<<if ($activeSlave.fetish != "mindbroken")>> $he starts to gasp as<<else>> starts to shudder as<</if>> you slide your hands down $his side, across $his back and along $his belly taking every moment to savor the contours of $his body before going back up again to $his face. <<if ($activeSlave.fetish == "mindbroken")>> - $His posture doesn't change. $He initially only reacts slightly to your physical touch but then stops reacting completely. When you stop, $his <<= App.Desc.eyeColor>> eyes track the movements of your hands briefly but then stare blankly ahead of $him, awaiting further use of $his body. + $His posture doesn't change. $He initially only reacts slightly to your physical touch but then stops reacting completely. When you stop, $his <<= App.Desc.eyeColor($activeSlave)>> eyes track the movements of your hands briefly but then stare blankly ahead of $him, awaiting further use of $his body. <<elseif ($activeSlave.relationship == -2)>> - $His eyes gradually close and $he slowly leans $his head back, relaxing as $he feels your caress. $He gently gasps as $he feels your warm <<if $PC.title == 1>>manly<<else>>feminine<</if>> hand. When you finally stop gently caressing $him, $his eyes remain closed and $his mouth still in a rapturous shape for a moment before $he slowly opens $his eyes and smiles at you, $he has an eager look on $his face.<<if ($activeSlave.amp != 1)>> A hand reaches dumbly up to $his face mimicking your last movements.<</if>> <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate love with $his <<= App.Desc.eyeColor>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate love with $his <<= App.Desc.eyeColor>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s dreamily.<</if>> $He looks as though $he wants much more than your mere caress. + $His eyes gradually close and $he slowly leans $his head back, relaxing as $he feels your caress. $He gently gasps as $he feels your warm <<if $PC.title == 1>>manly<<else>>feminine<</if>> hand. When you finally stop gently caressing $him, $his eyes remain closed and $his mouth still in a rapturous shape for a moment before $he slowly opens $his eyes and smiles at you, $he has an eager look on $his face.<<if ($activeSlave.amp != 1)>> A hand reaches dumbly up to $his face mimicking your last movements.<</if>> <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s dreamily.<</if>> $He looks as though $he wants much more than your mere caress. <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "dom") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> - As you start to touch $his <<if $activeSlave.face > 95>>gorgeous<<elseif $activeSlave.face > 10>>lovely<<elseif $activeSlave.face >= -10>>pretty<<elseif $activeSlave.face >= -40>>homely<<else>>ugly<</if>> face, $he smiles at you and takes your hand in $hers, following its movements. $He tries hard to stop $himself from losing $himself in your masterful hands. $He takes $his tendency towards sexual dominance right up to the edge of insubordination, when $he starts to caress your face in turn. When you finally stop, $his eyes are closed and $he's smiling. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate excitement with $his <<= App.Desc.eyeColor>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate excitement with $his <<= App.Desc.eyeColor>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he liked that.<<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s cheerfully.<</if>> $He looks at you, $his eyes almost begging you to give $him more than your mere caress. + As you start to touch $his <<if $activeSlave.face > 95>>gorgeous<<elseif $activeSlave.face > 10>>lovely<<elseif $activeSlave.face >= -10>>pretty<<elseif $activeSlave.face >= -40>>homely<<else>>ugly<</if>> face, $he smiles at you and takes your hand in $hers, following its movements. $He tries hard to stop $himself from losing $himself in your masterful hands. $He takes $his tendency towards sexual dominance right up to the edge of insubordination, when $he starts to caress your face in turn. When you finally stop, $his eyes are closed and $he's smiling. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he liked that.<<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s cheerfully.<</if>> $He looks at you, $his eyes almost begging you to give $him more than your mere caress. <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> - $He stiffens at your touch but slowly relaxes to your fingers on $his face. As you move your fingers along $his lips, $he reacts almost as though $he's receiving oral. $He starts to gently suck your fingers, moaning into your hand and pressing $himself lewdly against your <<if $PC.boobs == 1>>prominent breasts<<else>>manly chest<</if>>.<<if ($activeSlave.teeth == "pointy")>> $He's very careful to avoid spearing your tongue with $his sharp teeth.<</if>> $He achieves a weak orgasm before you stop caressing $him. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate undiminished lust with $his <<= App.Desc.eyeColor>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate undiminished lust with $his <<= App.Desc.eyeColor>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he liked that.<<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s lustfully.<</if>> $He looks at you as if $he wants more than your hands touching $him. + $He stiffens at your touch but slowly relaxes to your fingers on $his face. As you move your fingers along $his lips, $he reacts almost as though $he's receiving oral. $He starts to gently suck your fingers, moaning into your hand and pressing $himself lewdly against your <<if $PC.boobs == 1>>prominent breasts<<else>>manly chest<</if>>.<<if ($activeSlave.teeth == "pointy")>> $He's very careful to avoid spearing your tongue with $his sharp teeth.<</if>> $He achieves a weak orgasm before you stop caressing $him. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate undiminished lust with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate undiminished lust with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he liked that.<<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s lustfully.<</if>> $He looks at you as if $he wants more than your hands touching $him. <<elseif ($activeSlave.devotion > 50)>> - $He accepts your touch with devotion, leaning $his head back at your gentle caress along $his face. $He leans $his body forward, pressing $himself against you, and you feel the intense heat from $his body against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. $He gradually closes $his eyes and when you finally stop, <<if ($activeSlave.amp != 1)>>$he runs $his hand delightfully across $his face where you last touched $his<</if>>, a euphoric look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor>> eyes, since $he's not confident in $his ability to express it in $language.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s jubilantly.<</if>> $He looks at you longingly, almost as if $he's bursting to say that $he wants more than your mere caress. + $He accepts your touch with devotion, leaning $his head back at your gentle caress along $his face. $He leans $his body forward, pressing $himself against you, and you feel the intense heat from $his body against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. $He gradually closes $his eyes and when you finally stop, <<if ($activeSlave.amp != 1)>>$he runs $his hand delightfully across $his face where you last touched $his<</if>>, a euphoric look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he's not confident in $his ability to express it in $language.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s jubilantly.<</if>> $He looks at you longingly, almost as if $he's bursting to say that $he wants more than your mere caress. <<elseif ($activeSlave.devotion > 20)>> - $He accepts your touch willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your touch across $his face. When you finally move your hand away, $his <<= App.Desc.eyeColor>> eyes gaze into yours searchingly, looking for answers that are not there. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> + $He accepts your touch willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your touch across $his face. When you finally move your hand away, $his <<= App.Desc.eyeColor($activeSlave)>> eyes gaze into yours searchingly, looking for answers that are not there. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust < -20)>> $He shakes at your touch fearfully. As you move your hand along $his unresisting face, $his eagerness to avoid punishment leads $him to stiffen, $his nervousness is made apparent. You continue stroking $his cheek, enjoying $his fear, and the physical intimacy slowly does its work. $He starts to relax, $his resistance easing and $his eyes start to close. When finally move your hand away, $he looks at you for a long moment, $his eyes darting up at you, before visibly catching $himself with a reminder that $he's a slave and you're $his owner. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> <<elseif ($activeSlave.trust < -50)>> diff --git a/src/player/actions/fEmbrace.tw b/src/player/actions/fEmbrace.tw index 90eda24b6d164b1ac42ca4f560873e598e1cad8f..d55fc5ea984e9283c6ea4d94d89ac9502da0cd23 100644 --- a/src/player/actions/fEmbrace.tw +++ b/src/player/actions/fEmbrace.tw @@ -14,31 +14,31 @@ You tell $activeSlave.slaveName to <<if ($activeSlave.fetish == "mindbroken") && ($activeSlave.relationship != -3)>> $He complies automatically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. <<elseif ($activeSlave.relationship == -2)>> - $He excitedly complies, happy to be near the object of $his longing. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. $He blushes furiously. + $He excitedly complies, happy to be near the object of $his longing. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. $He blushes furiously. <<elseif ($activeSlave.relationship == -3)>> <<if $activeSlave.fetish == "mindbroken">> - $He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. Once $he's close, you hold $his face in your palms and look into $his blank <<= App.Desc.eyeColor>> eyes. $He shows no reaction. + $He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. Once $he's close, you hold $his face in your palms and look into $his blank <<= App.Desc.eyeColor($activeSlave)>> eyes. $He shows no reaction. <<elseif $activeSlave.devotion+$activeSlave.trust >= 175>> - $He lovingly complies, hurrying to come close to the _womanP who married $him. Once $he's close, you take your willing wife's head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>. + $He lovingly complies, hurrying to come close to the _womanP who married $him. Once $he's close, you take your willing wife's head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>. <<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>> - $He complies. Once $he's close, you take your reluctant wife's head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's forcibly married to disturbing, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>. + $He complies. Once $he's close, you take your reluctant wife's head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's forcibly married to disturbing, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>. <<elseif $activeSlave.devotion < -20>> - $He complies out of fear. Once $he's close, you take your unwilling wife's head in your hands and gaze deeply into $his teary <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's forcibly married to terrifying, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>. + $He complies out of fear. Once $he's close, you take your unwilling wife's head in your hands and gaze deeply into $his teary <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's forcibly married to terrifying, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>. <<else>> - $He complies obediently. Once $he's close, you take your willing wife's head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>. + $He complies obediently. Once $he's close, you take your willing wife's head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>. <</if>> <<elseif ($activeSlave.devotion > 75)>> - $He elatedly complies, joyful at being near to you. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from $his beloved <<= WrittenMaster()>> disconcerting, and $his eyes flick downward after a moment. $He blushes furiously. + $He elatedly complies, joyful at being near to you. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from $his beloved <<= WrittenMaster()>> disconcerting, and $his eyes flick downward after a moment. $He blushes furiously. <<elseif ($activeSlave.devotion > 50)>> - $He dotingly complies, being near you filling $him with delight. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> disconcerting, and $he looks down after a moment, blushing. + $He dotingly complies, being near you filling $him with delight. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> disconcerting, and $he looks down after a moment, blushing. <<elseif ($activeSlave.devotion > 20)>> - $He joyfully complies, happy to be near you. Once $he's close, you you take $his willing head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, blushing nervously. + $He joyfully complies, happy to be near you. Once $he's close, you you take $his willing head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, blushing nervously. <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust >= -20)>> - $He visibly considers disobedience, but decides that complying with such an apparently harmless order is safe, for now. Once $he's close, you take $his head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, $his lower lip trembling with nervousness. + $He visibly considers disobedience, but decides that complying with such an apparently harmless order is safe, for now. Once $he's close, you take $his head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, $his lower lip trembling with nervousness. <<elseif ($activeSlave.trust < -20)>> - The command terrifies $him, but $he's more frightened still of the consequences of disobedience, and $he complies. Once $he's close, you take $his trembling head in your hands and gaze deeply into $his <<= App.Desc.eyeColor>> eyes for a moment. $He looks down fearfully, and begins to shake with terror, tears streaking down $his cheeks. + The command terrifies $him, but $he's more frightened still of the consequences of disobedience, and $he complies. Once $he's close, you take $his trembling head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes for a moment. $He looks down fearfully, and begins to shake with terror, tears streaking down $his cheeks. <<else>> - $He pauses, obviously considering whether to resist, but eventually decides to save $his strength to fight more onerous orders, and gives in. Once $he's close, you take a moment to gaze deeply into $his <<= App.Desc.eyeColor>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. + $He pauses, obviously considering whether to resist, but eventually decides to save $his strength to fight more onerous orders, and gives in. Once $he's close, you take a moment to gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. <</if>> You walk around $him and put your hands around $his abdomen,<<if ($activeSlave.amp != 1)>> to gently pull $him close towards you<<else>> moving close towards $him on your desk<</if>> and then wrap your arms around $his shoulders.<<if ($activeSlave.amp != 1)>> When you press your hips against $hers,<<else>> You use your arms to prop $him up against you,<</if>> <<if ($activeSlave.trust > 20)>>letting $him lean while taking the weight of $his against you<<else>>$he tries to lean away from you, pushing against your arms<</if>>. You lovingly squeeze $him in your long, cradling embrace. @@ -63,24 +63,24 @@ You walk around $him and put your hands around $his abdomen,<<if ($activeSlave.a <</if>> <<if ($activeSlave.fetish == "mindbroken")>> - $His posture doesn't change. $He initially only reacts slightly to your physical touch but eventually $he relaxes in the warmth of your embrace against $him. You know that this may only be a physiological reaction, nothing more. For a brief moment you think you detect a spark of life in $his dull eyes but just as quickly, it is gone. When you stop, $his <<= App.Desc.eyeColor>> eyes track the movements of your hands briefly but then $he stares blankly ahead of $him, not understanding what is happening. + $His posture doesn't change. $He initially only reacts slightly to your physical touch but eventually $he relaxes in the warmth of your embrace against $him. You know that this may only be a physiological reaction, nothing more. For a brief moment you think you detect a spark of life in $his dull eyes but just as quickly, it is gone. When you stop, $his <<= App.Desc.eyeColor($activeSlave)>> eyes track the movements of your hands briefly but then $he stares blankly ahead of $him, not understanding what is happening. <<elseif ($activeSlave.relationship == -2)>> - In the warmth of your embrace, $he turns towards you, $his passionate <<= App.Desc.eyeColor>> eyes staring intently at your face. $He leans closer to you and kisses you as you hold $him. $His heart beats faster and then gradually slows as $he grows accustomed to your body against $hers. Eventually, $he relaxes totally and $his eyes gradually close, melting in your arms. When you finally stop and relax your embrace, $his eyes remain closed and $his mouth still in a rapturous shape for a moment before $he slowly opens $his eyes and smiles at you with a blissful look on $his face. <<if ($activeSlave.amp != 1)>> $His hand reaches to your arms and $he strokes them longingly.<</if>> <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He slowly opens them and does $his best to communicate love with $his <<= App.Desc.eyeColor>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s dreamily.<</if>> $He looks at you, almost begging you with $his eyes that $he wants much more than a mere embrace. + In the warmth of your embrace, $he turns towards you, $his passionate <<= App.Desc.eyeColor($activeSlave)>> eyes staring intently at your face. $He leans closer to you and kisses you as you hold $him. $His heart beats faster and then gradually slows as $he grows accustomed to your body against $hers. Eventually, $he relaxes totally and $his eyes gradually close, melting in your arms. When you finally stop and relax your embrace, $his eyes remain closed and $his mouth still in a rapturous shape for a moment before $he slowly opens $his eyes and smiles at you with a blissful look on $his face. <<if ($activeSlave.amp != 1)>> $His hand reaches to your arms and $he strokes them longingly.<</if>> <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He slowly opens them and does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s dreamily.<</if>> $He looks at you, almost begging you with $his eyes that $he wants much more than a mere embrace. <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "dom") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> In your soft, warm embrace, $he tries hard to stop $himself from losing $himself in your arms. <<if ($activeSlave.amp != 1)>> $He starts to embrace you in $his arms as well. When you gently squeeze $him in your arms, $he breathes more heavily and starts to lovingly squeeze you as well, $his tendency towards sexual dominance encouraging $him to compete with you in embraces against each other. <<else>> When you gently squeeze $him in your arms, $he breathes more heavily before relaxing against you. <</if>> When you finally stop and relax your embrace, $his eyes are closed and $he's smiling blissfully. - <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He slowly opens them and does $his best to communicate excitement with $his <<= App.Desc.eyeColor>> eyes. + <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He slowly opens them and does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<elseif !canTalk($activeSlave)>>$He signs that $he liked that. <<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s cheerfully. <</if>> $He eagerly looks at you, $his eyes almost seem to say that $he wants you to give $his <<Master>> more than a mere hug. <<elseif ($activeSlave.devotion > 50)>> - $He sighs devotedly in your arms and slowly relaxes. $He turns towards you, $his doting <<= App.Desc.eyeColor>> eyes staring intently at your face. You feel $his heart beating faster against your chest as you softly squeeze your arms tighter. $His hands reach to your arms and $he strokes them longingly as you squeeze. $He gradually closes $his eyes as $he leans $his body against yours, melting in your warm embrace, and you feel the intense heat from $his body against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. When you finally stop, <<if ($activeSlave.amp != 1)>>$he reaches to your face with $his hand and gently strokes your cheek<<else>>$he turns to you<</if>>, a euphoric look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor>> eyes, since $he's not confident in $his ability to express it in $language.<<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s elatedly.<</if>> $He looks at you longingly, almost as if $he's bursting to say that $he wants more than a mere embrace. + $He sighs devotedly in your arms and slowly relaxes. $He turns towards you, $his doting <<= App.Desc.eyeColor($activeSlave)>> eyes staring intently at your face. You feel $his heart beating faster against your chest as you softly squeeze your arms tighter. $His hands reach to your arms and $he strokes them longingly as you squeeze. $He gradually closes $his eyes as $he leans $his body against yours, melting in your warm embrace, and you feel the intense heat from $his body against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. When you finally stop, <<if ($activeSlave.amp != 1)>>$he reaches to your face with $his hand and gently strokes your cheek<<else>>$he turns to you<</if>>, a euphoric look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he's not confident in $his ability to express it in $language.<<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s elatedly.<</if>> $He looks at you longingly, almost as if $he's bursting to say that $he wants more than a mere embrace. <<elseif ($activeSlave.devotion > 20)>> - $He willingly gives $himself up to your embracing arms. As you are so close to $him, you sense considerable uneasiness in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your soft embrace against $his body. $He gradually closes $his eyes in the feeling of your gentle arms. When you finally stop and relax your embrace, $his <<= App.Desc.eyeColor>> eyes open to gaze puzzlingly at you. Even though $he has accepted life as a sex slave, $he looks as though $he is unsure of what to make of this non-sexual physical contact. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> + $He willingly gives $himself up to your embracing arms. As you are so close to $him, you sense considerable uneasiness in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your soft embrace against $his body. $He gradually closes $his eyes in the feeling of your gentle arms. When you finally stop and relax your embrace, $his <<= App.Desc.eyeColor($activeSlave)>> eyes open to gaze puzzlingly at you. Even though $he has accepted life as a sex slave, $he looks as though $he is unsure of what to make of this non-sexual physical contact. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust < -20)>> $He shakes at your touch fearfully. As you softly press $his trembling body against you, $his eagerness to avoid punishment leads $him to stiffen in your arms. While $he continues to shudder, you continue embracing $him, enjoying $his fear, and the physical intimacy slowly does its work. $He starts to relax, $his resistance easing and $his eyes start to close. When you relax your arms for a moment, $he opens $his eyes to look at you for a long moment, $his eyes darting up to your face, before visibly catching $himself with a reminder that $he's a slave and you're $his owner. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> <<elseif ($activeSlave.trust < -50)>> diff --git a/src/player/actions/fondleBoobs.tw b/src/player/actions/fondleBoobs.tw index 0c50d48bac79e9193a218e77ab4af3f84cdc3e1d..8ad35fcef8ea5f33c01ee9afabc8002c423aff63 100644 --- a/src/player/actions/fondleBoobs.tw +++ b/src/player/actions/fondleBoobs.tw @@ -150,15 +150,15 @@ You call $him over so you can fondle $his <</if>> You both alternate between taking your mouth to $his<<if ($activeSlave.lactation > 0)>> milky<</if>> nipples and $hers to yours, gently nuzzling and nibbling while simultaneously fondling each other all the while. Both of you continue to passionately lick, nibble, stroke and fondle one other until tiredly, $he slows down. When you eventually stop, $he looks up at you happily. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>>, since $he does not speak $language well enough to express $himself. + $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>, since $he does not speak $language well enough to express $himself. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>>. + $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he liked that. <<else>> "That wa<<s>> fun, <<Master>>," $he <<say>>s cheerfully. <</if>> - $He looks at you with $his <<= App.Desc.eyeColor>> eyes, smiling. + $He looks at you with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, smiling. <<elseif ($activeSlave.fetish == "submissive") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> $He eagerly comes over to you, to stand between you and your desk. You lean over while $he submissively lies down upon it, face up, with $his breasts pointed to the air. You place your hands on $his <<if ($activeSlave.boobs >= 20000)>> @@ -199,9 +199,9 @@ You call $him over so you can fondle $his <</if>> $He moans passionately at the continued stimulation of $his breasts and nipples. When you finally stop, $he reaches up to your face with $his hand and lovingly strokes it, a blissful look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. + $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. <<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>> - $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>>. + $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. <<else>> @@ -248,9 +248,9 @@ You call $him over so you can fondle $his <</if>> $He moans passionately at the continued punishment of $his breasts and nipples. Your rough play leaves red marks on $his breasts and nipples and $he becomes even more aroused. When you finally stop $he rubs the marks on $his breasts with $his hands, an ecstatic look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate pleasure with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. + $He does $his best to communicate pleasure with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. <<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>> - $He does $his best to communicate $his pleasure with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>>. + $He does $his best to communicate $his pleasure with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves it. <<else>> @@ -258,7 +258,7 @@ You call $him over so you can fondle $his <</if>> $He <<if canSee($activeSlave)>>looks<<else>>gazes<</if>> at you longingly, hungry for more. <<elseif ($activeSlave.devotion > 50)>> - $He devotedly comes over to you, to stand between you and your desk. $His doting <<= App.Desc.eyeColor>> eyes looking in yours. You place your hands on $his + $He devotedly comes over to you, to stand between you and your desk. $His doting <<= App.Desc.eyeColor($activeSlave)>> eyes looking in yours. You place your hands on $his <<if ($activeSlave.boobs >= 20000)>> colossal tits, before sinking your body into their immense softness, <<elseif ($activeSlave.boobs >= 10000)>> @@ -297,9 +297,9 @@ You call $him over so you can fondle $his <</if>> $He moans passionately at the continued stimulation of $his breasts and nipples. When you finally stop, $he reaches up to your face with $his hand and lovingly strokes it, a blissful look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. + $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. <<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>> - $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>>. + $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s euphorically. <</if>> @@ -342,7 +342,7 @@ You call $him over so you can fondle $his <<else>> Moving your head close to $his breasts, you nuzzle on a nipple slit with your lips and even lick it delicately with your tongue. Then you alternate, gently probing the depths of the other nipple. You dig deep into both $his breasts, teasing what was once the tips of $his<<if ($activeSlave.lactation > 0)>> milky<</if>> nipples with your fingers before vigorously fingering $his tits. <</if>> - You sense considerable uneasiness in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your hands on $his breasts. $He gradually loses $himself in the feeling of your gentle hands. When you finally stop, $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes gaze<<else>>face gazes<</if>> puzzlingly at you. Even though $he has accepted life as a sex slave, $he looks as though $he is unsure of what to make of this. + You sense considerable uneasiness in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your hands on $his breasts. $He gradually loses $himself in the feeling of your gentle hands. When you finally stop, $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes gaze<<else>>face gazes<</if>> puzzlingly at you. Even though $he has accepted life as a sex slave, $he looks as though $he is unsure of what to make of this. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> @@ -373,7 +373,7 @@ You call $him over so you can fondle $his <<else>> playing with $his<<if ($activeSlave.lactation > 0)>> milky<</if>> $activeSlave.nipples nipples so that they become sodden with fluid around your fingers. You plunge the depths of $his nipple cunts and vigorously work the unusual orifice. When you finally withdraw from $his nipples<<if ($activeSlave.lactation > 0)>>, a stream of pent-up milk flows out after you and<<else>>,<</if>> $he lets out a gasp. <</if>> - $His body softens as <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor>> eyes dart up to your face, before visibly catching $himself with a reminder<<else>>$he remembers<</if>> that $he's a slave and you're $his owner. When you finally stop, $he shivers but says nothing, uneasy at what you are going to do next. + $His body softens as <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes dart up to your face, before visibly catching $himself with a reminder<<else>>$he remembers<</if>> that $he's a slave and you're $his owner. When you finally stop, $he shivers but says nothing, uneasy at what you are going to do next. <<elseif ($activeSlave.trust < -50)>> $He is nearly frozen with fear, and does not resist as you start to massage $his <<if ($activeSlave.boobs >= 20000)>> diff --git a/src/player/actions/fondleButt.tw b/src/player/actions/fondleButt.tw index 8049725327c4c3d6741b1421540f868648dcc1de..bc4e81011ab65688ee2c293d89dab3e7ed8b22b2 100644 --- a/src/player/actions/fondleButt.tw +++ b/src/player/actions/fondleButt.tw @@ -142,7 +142,7 @@ as well as $his <</if>> buttocks a gentle smack. $He turns to face you, kissing you, but looking at you longingly as if $he wants more. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>> - $He does $his best to communicate love with $his <<= App.Desc.eyeColor>> eyes. + $He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. <<elseif SlaveStatsChecker.checkForLisp($activeSlave)>> "I love you, diff --git a/src/player/actions/fondleVagina.tw b/src/player/actions/fondleVagina.tw index 68e6f6241cc446605dd56bdf7bebcfb1673e6ec7..9f5034762dadf80574dd885f288ba6c0da3a997a 100644 --- a/src/player/actions/fondleVagina.tw +++ b/src/player/actions/fondleVagina.tw @@ -113,7 +113,7 @@ You call $him over so you can fondle $his <</if>> and rub it with your fingertips as your hand nears it. As $he becomes more aroused, $he grabs hold of your wrist lightly, moving $his hands along with the motion of your own. $His pussy juices run down $his leg as $he begins to moan audibly<<if ($activeSlave.amp != 1)>>, gently clamping your hand between $his thighs<</if>> as you continue to move your hand along $his pussy. $He moans loudly as $he shudders in orgasmic joy. <<if (($activeSlave.amp == 1) && !canTalk($activeSlave))>> - $He does $his best to communicate love with $his <<= App.Desc.eyeColor>> eyes. + $He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. <<elseif SlaveStatsChecker.checkForLisp($activeSlave)>> "I love you, diff --git a/src/pregmod/analyzePregnancy.tw b/src/pregmod/analyzePregnancy.tw index c4ce02e241f84cac57a4a6442dd32b3497042c75..364e7b2b8d41e8cb45157169cd2728fb1038a0cb 100644 --- a/src/pregmod/analyzePregnancy.tw +++ b/src/pregmod/analyzePregnancy.tw @@ -72,6 +72,8 @@ <<capture _ap>> <br> Ova: $activeSlave.womb[_ap].genetics.name + <br> + Age: $activeSlave.womb[_ap].age <<if $geneticMappingUpgrade == 1>> <br> diff --git a/src/pregmod/electiveSurgery.tw b/src/pregmod/electiveSurgery.tw index e3638da4bb35d81235c1b3756a5491762eb7323f..12ceb387b20e5449ed1507ffbffcba3548766e77 100644 --- a/src/pregmod/electiveSurgery.tw +++ b/src/pregmod/electiveSurgery.tw @@ -58,75 +58,83 @@ You're @@.orange;$PC.actualAge years old.@@ You have @@.orange;$PC.skin skin.@@<<if $PC.skin != $PC.origSkin>> Your original skin tone was $PC.origSkin.<</if>> <br> <<if $PC.skin != $PC.origSkin>> - [[Restore natural color|PC Surgery Degradation][$PC.skin = $PC.origSkin, cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Restore natural color|PC Surgery Degradation][$PC.skin = $PC.origSkin, cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "pure white">> - [[Pure White|PC Surgery Degradation][$PC.skin = "pure white", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Pure White|PC Surgery Degradation][$PC.skin = "pure white", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | +<<if $PC.skin != "ivory">> + [[Ivory|PC Surgery Degradation][$PC.skin = "ivory", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | +<</if>> +<<if $PC.skin != "white">> + [[White|PC Surgery Degradation][$PC.skin = "white", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "extremely pale">> - [[Extremely Pale|PC Surgery Degradation][$PC.skin = "extremely pale", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Extremely Pale|PC Surgery Degradation][$PC.skin = "extremely pale", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | +<</if>> +<<if $PC.skin != "very pale">> + [[Very Pale|PC Surgery Degradation][$PC.skin = "very pale", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "pale">> - [[Pale|PC Surgery Degradation][$PC.skin = "pale", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Pale|PC Surgery Degradation][$PC.skin = "pale", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "extremely fair">> - [[Extremely Fair|PC Surgery Degradation][$PC.skin = "extremely fair", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Extremely Fair|PC Surgery Degradation][$PC.skin = "extremely fair", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "very fair">> - [[Very Fair|PC Surgery Degradation][$PC.skin = "very fair", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Very Fair|PC Surgery Degradation][$PC.skin = "very fair", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "fair">> - [[Fair|PC Surgery Degradation][$PC.skin = "fair", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | -<</if>> -<<if $PC.skin != "white">> - [[White|PC Surgery Degradation][$PC.skin = "white", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Fair|PC Surgery Degradation][$PC.skin = "fair", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "light">> - [[Light|PC Surgery Degradation][$PC.skin = "light", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | -<</if>> -<<if $PC.skin != "lightened">> - [[Lightened|PC Surgery Degradation][$PC.skin = "lightened", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Light|PC Surgery Degradation][$PC.skin = "light", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "light olive">> - [[Light Olive|PC Surgery Degradation][$PC.skin = "light olive", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Light Olive|PC Surgery Degradation][$PC.skin = "light olive", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> -<<if $PC.skin != "olive">> - [[Olive|PC Surgery Degradation][$PC.skin = "olive", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | -<</if>> -<<if $PC.skin != "natural">> - [[Natural|PC Surgery Degradation][$PC.skin = "natural", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | +<<if $PC.skin != "tan">> + [[Tan|PC Surgery Degradation][$PC.skin = "tan", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> -<<if $PC.skin != "tanned">> - [[Tanned|PC Surgery Degradation][$PC.skin = "tanned", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | +<<if $PC.skin != "olive">> + [[Olive|PC Surgery Degradation][$PC.skin = "olive", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> -<<if $PC.skin != "bronzed">> - [[Bronzed|PC Surgery Degradation][$PC.skin = "bronzed", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | +<<if $PC.skin != "bronze">> + [[Bronze|PC Surgery Degradation][$PC.skin = "bronze", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "dark olive">> - [[Dark Olive|PC Surgery Degradation][$PC.skin = "dark olive", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Dark Olive|PC Surgery Degradation][$PC.skin = "dark olive", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "dark">> - [[Dark|PC Surgery Degradation][$PC.skin = "dark", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Dark|PC Surgery Degradation][$PC.skin = "dark", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | +<</if>> +<<if $PC.skin != "light beige">> + [[Light Beige|PC Surgery Degradation][$PC.skin = "light beige", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | +<</if>> +<<if $PC.skin != "beige">> + [[Beige|PC Surgery Degradation][$PC.skin = "beige", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | +<</if>> +<<if $PC.skin != "dark beige">> + [[Dark Beige|PC Surgery Degradation][$PC.skin = "dark beige", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "light brown">> - [[Light Brown|PC Surgery Degradation][$PC.skin = "light brown", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Light Brown|PC Surgery Degradation][$PC.skin = "light brown", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "brown">> - [[Brown|PC Surgery Degradation][$PC.skin = "brown", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Brown|PC Surgery Degradation][$PC.skin = "brown", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "dark brown">> - [[Dark Brown|PC Surgery Degradation][$PC.skin = "dark brown", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Dark Brown|PC Surgery Degradation][$PC.skin = "dark brown", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "black">> - [[Black|PC Surgery Degradation][$PC.skin = "black", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Black|PC Surgery Degradation][$PC.skin = "black", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "ebony">> - [[Ebony|PC Surgery Degradation][$PC.skin = "ebony", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Ebony|PC Surgery Degradation][$PC.skin = "ebony", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] | <</if>> <<if $PC.skin != "pure black">> - [[Pure Black|PC Surgery Degradation][$PC.skin = "pure black", cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] | + [[Pure Black|PC Surgery Degradation][$PC.skin = "pure black", cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] <</if>> -[[Custom Color|PC Skin Workaround][cashX(-2000, "PCmedical"), $surgeryType = "skinTone"]] +[[Custom Color|PC Skin Workaround][cashX(forceNeg(Math.trunc(2000 * $upgradeMultiplierMedicine)), "PCmedical"), $surgeryType = "skinTone"]] <br><br>"Maybe some breast work? I assure you they are lovely." She says as she brushes the back of your head with her own pair. "@@.yellowgreen;<<print cashFormat(5000)>>@@ for a reduction, @@.yellowgreen;<<print cashFormat(10000)>>@@ for implants, that includes size ups, and @@.yellowgreen;<<print cashFormat(15000)>>@@ for additional breast tissue. That last one might as well be real!<<if $PC.boobsBonus <= 0>> With a little work, we can even remove a small amount of fat from your breasts to bring your cup size down without damaging their inner workings. Though we'll have to build them up some before we can stick reasonable implants into you.<</if>>"<br> diff --git a/src/pregmod/fFeet.tw b/src/pregmod/fFeet.tw index 0c80bc675a7cc29232df385faf2fbabe6c4bda62..2264e05cbce0a89e33381bb46d715897d4341ecb 100644 --- a/src/pregmod/fFeet.tw +++ b/src/pregmod/fFeet.tw @@ -6,40 +6,40 @@ <<set _footSeed = random(1,100)>> <<if $activeSlave.weight > 190>> - <<set _thighs = 'massive flabby'>> + <<set _thighs = "massive flabby">> <<elseif $activeSlave.weight > 160>> - <<set _thighs = 'thick flabby'>> + <<set _thighs = "thick flabby">> <<elseif $activeSlave.weight > 130>> - <<set _thighs = 'flabby'>> + <<set _thighs = "flabby">> <<elseif $activeSlave.weight > 95>> - <<set _thighs = 'fat'>> + <<set _thighs = "fat">> <<elseif $activeSlave.weight > 30>> <<if $activeSlave.muscles > 75>> - <<set _thighs = 'toned fat'>> + <<set _thighs = "toned fat">> <<elseif $activeSlave.muscles < 15>> - <<set _thighs = 'fat'>> + <<set _thighs = "fat">> <<else>> - <<set _thighs = 'plush'>> + <<set _thighs = "plush">> <</if>> <<elseif $activeSlave.weight > 10>> <<if $activeSlave.muscles > 70>> - <<set _thighs = 'thick muscular'>> + <<set _thighs = "thick muscular">> <<elseif $activeSlave.muscles > 20>> - <<set _thighs = 'soft toned'>> + <<set _thighs = "soft toned">> <<else>> - <<set _thighs = 'soft'>> + <<set _thighs = "soft">> <</if>> <<elseif $activeSlave.weight >= -10>> <<if $activeSlave.muscles > 70>> - <<set _thighs = 'muscular'>> + <<set _thighs = "muscular">> <<elseif $activeSlave.muscles > 20>> - <<set _thighs = 'toned'>> + <<set _thighs = "toned">> <<else>> - <<set _thighs = 'average'>> + <<set _thighs = "average">> <</if>> <<elseif $activeSlave.weight >= -30>> <<if $activeSlave.muscles > 40>> - <<set _thighs = 'thin muscular'>> + <<set _thighs = "thin muscular">> <<elseif $activeSlave.muscles > 20>> <<set _thighs = "toned model's">> <<else>> @@ -47,9 +47,9 @@ <</if>> <<else>> <<if $activeSlave.muscles > 5>> - <<set _thighs = 'emaciated toned'>> + <<set _thighs = "emaciated toned">> <<else>> - <<set _thighs = 'emaciated'>> + <<set _thighs = "emaciated">> <</if>> <</if>> @@ -60,163 +60,163 @@ <</if>> <<if $activeSlave.height >= 185>> - <<set _legs = 'wonderfully long'>> + <<set _legs = "wonderfully long">> <<elseif $activeSlave.height >= 170>> - <<set _legs = 'long'>> + <<set _legs = "long">> <<elseif $activeSlave.height >= 160>> - <<set _legs = 'nice'>> + <<set _legs = "nice">> <<elseif $activeSlave.height >= 150>> - <<set _legs = 'short'>> + <<set _legs = "short">> <<else>> - <<set _legs = 'short little'>> + <<set _legs = "short little">> <</if>> <<if $activeSlave.boobs >= 30000>> - <<set _boobsa = 'skip'>> - <<set _boobs = 'room filling'>> + <<set _boobsa = "skip">> + <<set _boobs = "room filling">> <<elseif $activeSlave.boobs >= 20000>> - <<set _boobsa = 'beanbag sized'>> + <<set _boobsa = "beanbag sized">> <<elseif $activeSlave.boobs >= 8500>> - <<set _boobsa = 'obscenely massive'>> + <<set _boobsa = "obscenely massive">> <<elseif $activeSlave.boobs >= 8000>> - <<set _boobsa = 'Z-cup'>> + <<set _boobsa = "Z-cup">> <<elseif $activeSlave.boobs >= 7500>> - <<set _boobsa = 'Y-cup'>> + <<set _boobsa = "Y-cup">> <<elseif $activeSlave.boobs >= 7000>> - <<set _boobsa = 'X-cup'>> + <<set _boobsa = "X-cup">> <<elseif $activeSlave.boobs >= 6500>> - <<set _boobsa = 'V-cup'>> + <<set _boobsa = "V-cup">> <<elseif $activeSlave.boobs >= 5500>> - <<set _boobsa = 'U-cup'>> + <<set _boobsa = "U-cup">> <<elseif $activeSlave.boobs >= 5100>> - <<set _boobsa = 'T-cup'>> + <<set _boobsa = "T-cup">> <<elseif $activeSlave.boobs >= 4700>> - <<set _boobsa = 'S-cup'>> + <<set _boobsa = "S-cup">> <<elseif $activeSlave.boobs >= 4300>> - <<set _boobsa = 'R-cup'>> + <<set _boobsa = "R-cup">> <<elseif $activeSlave.boobs >= 3950>> - <<set _boobsa = 'Q-cup'>> + <<set _boobsa = "Q-cup">> <<elseif $activeSlave.boobs >= 3600>> - <<set _boobsa = 'P-cup'>> + <<set _boobsa = "P-cup">> <<elseif $activeSlave.boobs >= 3250>> - <<set _boobsa = 'O-cup'>> + <<set _boobsa = "O-cup">> <<elseif $activeSlave.boobs >= 2900>> - <<set _boobsa = 'N-cup'>> + <<set _boobsa = "N-cup">> <<elseif $activeSlave.boobs >= 2600>> - <<set _boobsa = 'M-cup'>> + <<set _boobsa = "M-cup">> <<elseif $activeSlave.boobs >= 2300>> - <<set _boobsa = 'L-cup'>> + <<set _boobsa = "L-cup">> <<elseif $activeSlave.boobs >= 2050>> - <<set _boobsa = 'K-cup'>> + <<set _boobsa = "K-cup">> <<elseif $activeSlave.boobs >= 1800>> - <<set _boobsa = 'J-cup'>> + <<set _boobsa = "J-cup">> <<elseif $activeSlave.boobs >= 1600>> - <<set _boobsa = 'I-cup'>> + <<set _boobsa = "I-cup">> <<elseif $activeSlave.boobs >= 1400>> - <<set _boobsa = 'H-cup'>> + <<set _boobsa = "H-cup">> <<elseif $activeSlave.boobs >= 1200>> - <<set _boobsa = 'G-cup'>> + <<set _boobsa = "G-cup">> <<elseif $activeSlave.boobs >= 1000>> - <<set _boobsa = 'F-cup'>> + <<set _boobsa = "F-cup">> <<elseif $activeSlave.boobs >= 800>> - <<set _boobsa = 'DD-cup'>> + <<set _boobsa = "DD-cup">> <<elseif $activeSlave.boobs >= 650>> - <<set _boobsa = 'D-cup'>> + <<set _boobsa = "D-cup">> <<elseif $activeSlave.boobs >= 400>> - <<set _boobsa = 'C-cup'>> + <<set _boobsa = "C-cup">> <<elseif $activeSlave.boobs >= 300>> - <<set _boobsa = 'B-cup'>> + <<set _boobsa = "B-cup">> <<else>> - <<set _boobsa = 'skip'>> - <<set _boobs = 'flat'>> + <<set _boobsa = "skip">> + <<set _boobs = "flat">> <</if>> <<if _boobsa != "skip">> <<set _boobs = "_boobsa $activeSlave.boobShape">> <</if>> <<if $activeSlave.balls == 1>> - <<set _balls = 'vestigial'>> + <<set _balls = "vestigial">> <<elseif $activeSlave.balls == 2>> - <<set _balls = 'small'>> + <<set _balls = "small">> <<elseif $activeSlave.balls == 3>> - <<set _balls = 'average'>> + <<set _balls = "average">> <<elseif $activeSlave.balls == 4>> - <<set _balls = 'large'>> + <<set _balls = "large">> <<elseif $activeSlave.balls == 5>> - <<set _balls = 'massive'>> + <<set _balls = "massive">> <<elseif $activeSlave.balls == 6>> - <<set _balls = 'huge'>> + <<set _balls = "huge">> <<elseif $activeSlave.balls == 7>> - <<set _balls = 'giant'>> + <<set _balls = "giant">> <<elseif $activeSlave.balls == 8>> - <<set _balls = 'enormous'>> + <<set _balls = "enormous">> <<elseif $activeSlave.balls == 9>> - <<set _balls = 'monstrous'>> + <<set _balls = "monstrous">> <<else>> - <<set _balls = 'overly massive'>> + <<set _balls = "overly massive">> <</if>> <<if $activeSlave.dick == 1>> - <<set _dick = 'tiny'>> + <<set _dick = "tiny">> <<elseif $activeSlave.dick == 2>> - <<set _dick = 'little'>> + <<set _dick = "little">> <<elseif $activeSlave.dick == 3>> - <<set _dick = 'average'>> + <<set _dick = "average">> <<elseif $activeSlave.dick == 4>> - <<set _dick = 'big'>> + <<set _dick = "big">> <<elseif $activeSlave.dick == 5>> - <<set _dick = 'huge'>> + <<set _dick = "huge">> <<elseif $activeSlave.dick == 6>> - <<set _dick = 'gigantic'>> + <<set _dick = "gigantic">> <<elseif $activeSlave.dick == 7>> - <<set _dick = 'massive'>> + <<set _dick = "massive">> <<elseif $activeSlave.dick == 8>> - <<set _dick = 'horse-sized'>> + <<set _dick = "horse-sized">> <<elseif $activeSlave.dick == 9>> - <<set _dick = 'monstrous'>> + <<set _dick = "monstrous">> <<elseif $activeSlave.dick == 10>> - <<set _dick = 'inhuman'>> + <<set _dick = "inhuman">> <<else>> - <<set _dick = 'hypertrophied'>> + <<set _dick = "hypertrophied">> <</if>> <<if $activeSlave.butt < 1>> - <<set _butt = 'flat'>> + <<set _butt = "flat">> <<elseif $activeSlave.butt < 2>> - <<set _butt = 'small'>> + <<set _butt = "small">> <<elseif $activeSlave.butt < 3>> - <<set _butt = 'plump'>> + <<set _butt = "plump">> <<elseif $activeSlave.butt < 4>> - <<set _butt = 'big bubble'>> + <<set _butt = "big bubble">> <<elseif $activeSlave.butt < 5>> - <<set _butt = 'huge'>> + <<set _butt = "huge">> <<elseif $activeSlave.butt < 6>> - <<set _butt = 'enormous'>> + <<set _butt = "enormous">> <<elseif $activeSlave.butt < 7>> - <<set _butt = 'gigantic'>> + <<set _butt = "gigantic">> <<elseif $activeSlave.butt < 8>> - <<set _butt = 'ridiculous'>> + <<set _butt = "ridiculous">> <<elseif $activeSlave.butt < 10>> - <<set _butt = 'immense'>> + <<set _butt = "immense">> <<else>> - <<set _butt = 'inhuman'>> + <<set _butt = "inhuman">> <</if>> <<if $activeSlave.hips > 2>> - <<set _hips = 'inhumanly wide'>> + <<set _hips = "inhumanly wide">> <<elseif $activeSlave.hips > 1>> - <<set _hips = 'very wide'>> + <<set _hips = "very wide">> <<elseif $activeSlave.hips > 0>> - <<set _hips = 'wide'>> + <<set _hips = "wide">> <<elseif $activeSlave.hips > -1>> - <<set _hips = 'ample'>> + <<set _hips = "ample">> <<elseif $activeSlave.hips > -2>> - <<set _hips = 'narrow'>> + <<set _hips = "narrow">> <<else>> - <<set _hips = 'very narrow'>> + <<set _hips = "very narrow">> <</if>> -<<if ($activeSlave.skin == $activeSlave.race) || $activeSlave.race == 'white' || $activeSlave.race == 'black'>> +<<if ($activeSlave.skin == $activeSlave.race) || ($activeSlave.race == "white") || ($activeSlave.race == "black") || ($seeRace == 1)>> <<set _skin = "$activeSlave.skin">> <<else>> <<set _skin = "$activeSlave.skin $activeSlave.race">> @@ -372,7 +372,7 @@ You call $activeSlave.slaveName to your office, telling $him to use $his feet to <<elseif $activeSlave.fetish == "cumslut" && $activeSlave.fetishKnown == 1 && $activeSlave.fetishStrength >= 60>> As a devoted cumslut, $activeSlave.slaveName eagerly strokes your cock with $his feet, delightedly smearing your precum on $his soles. $He <<if canSee($activeSlave)>>stares at your <<if $PC.balls >=2>>massive balls with a ravenous gaze, <<elseif $PC.balls >=1>>large balls with a hungry gaze, <<else>>balls with a steady gaze, <</if>><<else>>gingerly feels the weight of your <<if $PC.balls >=2>>massive balls <<elseif $PC.balls >=1>>large balls <<else>>balls <</if>>with $his feet, <</if>>shivering in anticipation. <<elseif $activeSlave.fetish == "humiliation" && $activeSlave.fetishKnown == 1 && $activeSlave.fetishStrength >= 60>> - $activeSlave.slaveName slowly strokes your cock with $his feet, getting off on the degrading use of $his feet and avoiding your gaze. $He is showing an embarrassed smile<<if $activeSlave.skin == 'black'>>, and if $his skin was any lighter you would see $his<<else>> and<</if>> bright blushing cheeks. + $activeSlave.slaveName slowly strokes your cock with $his feet, getting off on the degrading use of $his feet and avoiding your gaze. $He is showing an embarrassed smile<<if (skinToneLevel($activeSlave.skin) > 22)>>, and if $his skin was any lighter you would see $his<<else>> and<</if>> bright blushing cheeks. <<elseif $activeSlave.fetish == "boobs" && $activeSlave.fetishKnown == 1 && $activeSlave.fetishStrength >= 60>> As $activeSlave.slaveName deftly strokes your cock with $his feet, $his hands plays with $his <<if $activeSlave.boobs < 300>>erect nipples. <<elseif $activeSlave.boobs < 500>>small chest. <<elseif $activeSlave.boobs >= 18000>>_boobs breasts, though $he can't reach $his nipples. <<else>>_boobs breasts and erect nipples. <</if>> $He is certainly giving you plenty of sexy options for you to watch. <<elseif $activeSlave.fetish == "sadist" && $activeSlave.fetishKnown == 1 && $activeSlave.fetishStrength >= 60>> diff --git a/src/pregmod/fPat.tw b/src/pregmod/fPat.tw index 6ccb180a279bcba06d86422100bf9d26412744b5..329fd3be3ac07b5b884cf3fb1536985ffac059ea 100644 --- a/src/pregmod/fPat.tw +++ b/src/pregmod/fPat.tw @@ -31,39 +31,39 @@ You tell $activeSlave.slaveName to <<elseif ($activeSlave.relationship == -2)>> $He eagerly complies, happy to be near the object of $his longing. Once $he's close, you hold $his face in your palms and gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. <<else>> upon $his face. $He finds the intense look from the _womanP $he loves overwhelming, and after a moment glances away. <</if>> $He blushes furiously. <<elseif $activeSlave.relationship == -3>> <<if $activeSlave.fetish == "mindbroken">> - $He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. Once $he's close, you hold $his face in your palms and look into $his empty <<= App.Desc.eyeColor>> eyes. $He shows no reaction + $He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. Once $he's close, you hold $his face in your palms and look into $his empty <<= App.Desc.eyeColor($activeSlave)>> eyes. $He shows no reaction <<elseif $activeSlave.devotion+$activeSlave.trust >= 175>> $He complies in a wifely fashion, moving $his body as $he approaches to best enflame your desire, eager to be close to the _womanP who married $him. Once $he's close, you hold $his face in your palms and gaze <<if canSee($activeSlave)>> - deeply into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>. + deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>. <<else>> upon $his face. $He finds the intense look from the _womanP $he's married to affirming, and looks down with a smile. <</if>> <<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>> $He complies. Once $he's close, you hold $his face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his tearful <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's forcibly married to disturbing, and breaks eye contact. + into $his tearful <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's forcibly married to disturbing, and breaks eye contact. <<else>> upon $his face. $He can feel the intense gaze of the _womanP $he's forcibly married to, and finds it disturbing. $He quickly turns $his face away. <</if>> <<elseif $activeSlave.devotion < -20>> $He complies out of fear. Once $he's close, you hold $his quivering face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his teary <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's forcibly married to terrifying, and quickly breaks eye contact. + into $his teary <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's forcibly married to terrifying, and quickly breaks eye contact. <<else>> upon $his tear-streaked face. $He can feel the intense look from the _womanP $he's forcibly married to, and it is horrifying, causing $him to turn $his face away after only a moment. <</if>> <<else>> $He complies obediently. Once $he's close, you hold $his face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>. <<else>> upon $his face. The intense look from the _womanP $he's married to is reassuring to $him, and $he looks down with a slight smile. <</if>> @@ -71,7 +71,7 @@ You tell $activeSlave.slaveName to <<elseif ($activeSlave.devotion > 75)>> $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense look from $his beloved <<= WrittenMaster()>> disconcerting, and $his eyes flick downward after a moment. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from $his beloved <<= WrittenMaster()>> disconcerting, and $his eyes flick downward after a moment. <<else>> upon $his face. $He can feel the intense look from $his beloved <<Master>> and it is disconcerting, causing $him to glance away after only a moment, $his face flushed. <</if>> @@ -79,14 +79,14 @@ You tell $activeSlave.slaveName to <<elseif ($activeSlave.devotion > 50)>> $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> disconcerting, and $he looks down after a moment, blushing. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> disconcerting, and $he looks down after a moment, blushing. <<else>> upon $his face. $He finds the intense attention from $his <<= WrittenMaster()>> disconcerting, and it causes $him to glance away after only a moment, blushing. <</if>> <<elseif ($activeSlave.devotion > 20)>> $He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, blushing nervously. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, blushing nervously. <<else>> upon $his face. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and $he looks down after a moment, blushing nervously. <</if>> @@ -100,21 +100,21 @@ You tell $activeSlave.slaveName to <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust >= -20)>> $He visibly considers disobedience, but decides that complying with such an apparently harmless order is safe, for now. Once $he's close, you hold $his face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> troubling, and $he looks down after a moment, $his lower lip trembling with nervousness. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense attention from $his <<= WrittenMaster()>> troubling, and $he looks down after a moment, $his lower lip trembling with nervousness. <<else>> upon $his face. $He finds the intense attention from $his <<= WrittenMaster()>> worrying, and turns away after a moment, $his lower lip trembling with nervousness. <</if>> <<elseif ($activeSlave.trust < -20)>> The command terrifies $him, but $he's more frightened still of the consequences of disobedience, and $he complies. Once $he's close, you hold $his face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. After a mere instant of locked faces, $he looks down fearfully and begins to shake with terror, tears leaking silently down $his cheeks. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. After a mere instant of locked faces, $he looks down fearfully and begins to shake with terror, tears leaking silently down $his cheeks. <<else>> upon $his face. After a mere instant of locked faces, $he looks down fearfully and begins to shake with terror, tears leaking silently down $his cheeks. <</if>> <<else>> $He pauses, obviously considering whether to resist, but eventually decides to save $his strength to fight more onerous orders, and gives in. Once $he's close, you hold $his face in your palms and take a moment to gaze deeply <<if canSee($activeSlave)>> - into $his <<= App.Desc.eyeColor>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. + into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. <<else>> upon $his face. $He faces you defiantly, but after a few moments $he loses the contest of wills and looks down. <</if>> @@ -200,7 +200,7 @@ You move your hand down to caress $his forehead, and then slide your hand along <<if ($activeSlave.fetish == "mindbroken")>> When you stop, <<if canSee($activeSlave)>> - $his <<= App.Desc.eyeColor>> eyes track the movements of your hands briefly before returning to their usual stare, + $his <<= App.Desc.eyeColor($activeSlave)>> eyes track the movements of your hands briefly before returning to their usual stare, <<else>> $he stands at attention before you, <</if>> @@ -208,9 +208,9 @@ You move your hand down to caress $his forehead, and then slide your hand along <<elseif ($activeSlave.relationship == -2)>> When you finally stop petting $him, <<if canSee($activeSlave)>>$his eyes remain closed just for a second <</if>>and $his mouth stands open in slack-jawed joy, before $he slowly <<if canSee($activeSlave)>> opens $his eyes<<else>> turns $his gaze towards you<</if>> and smiles warmly at you. Pleasure lights up $his face<<if ($activeSlave.amp != 1)>> as $his hand traces the path yours took up to $his head and mimics your last movements<<else>> as $his gaze drifts off to the right in memory, tilting $his head from side to side in sympathetic memory of how it felt to have your hand on $his head<</if>>. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. + $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. <<else>> @@ -220,21 +220,21 @@ You move your hand down to caress $his forehead, and then slide your hand along <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "dom") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60) && !$activeSlave.amp != 1>> $He tries hard to stop from losing $himself in your incredibly skilled hands. $He takes $his tendency towards sexual dominance right up to the edge of insubordination, when $he starts to caress your face in turn. When you finally stop, $his eyes are closed and $he's smiling. When you are finally finished stroking your slave, they remove their hand from yours. Then you give them a playful flick on the nose, and the mischievous twinkle in your eye is only half playful, reminding $him of $his place in these walls. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate enjoyment with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. + $He does $his best to communicate enjoyment with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate enjoyment with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate enjoyment with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he liked that and would love to pet you next time. <<else>> "That wa<<s>> ni<<c>>e, <<Master>>," $he <<say>>s cheerfully. "Maybe next time I can <<s>>troke you..." <</if>> - $He looks at you, $his <<if canSee($activeSlave)>>lovely <<= App.Desc.eyeColor>> eyes<<else>>face<</if>> practically begging you to let $him take this farther. + $He looks at you, $his <<if canSee($activeSlave)>>lovely <<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>> practically begging you to let $him take this farther. <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "submissive") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> As you stroke $his head, $he reacts almost as though you're stroking $his nether regions, and begins to moan and press $himself lewdly against your <<if $PC.boobs == 1>>prominent breasts<<else>>manly chest<</if>>. $He achieves a weak orgasm before you finally stop caressing $his head; $he is your pet, after all. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. + $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he liked that. <<else>> @@ -244,9 +244,9 @@ You move your hand down to caress $his forehead, and then slide your hand along <<elseif ($activeSlave.devotion > 50)>> $He gradually closes $his eyes and when you finally stop, <<if ($activeSlave.amp != 1)>>$he runs $his hand delightedly across $his face; <</if>>a euphoric look quickly lighting up $his features. <<if ($activeSlave.accent >= 3)>> - $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>, since $he's not confident in $his ability to express it in $language. + $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he's not confident in $his ability to express it in $language. <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> - $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>facial expressions<</if>>. + $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. <<else>> @@ -254,7 +254,7 @@ You move your hand down to caress $his forehead, and then slide your hand along <</if>> $He <<if canSee($activeSlave)>>looks<<else>>gazes<</if>> at you longingly, almost as if $he's bursting to say that $he wants more than your mere caress. <<elseif ($activeSlave.devotion > 20)>> - When you finally move your hand away, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor>> eyes gaze into yours searchingly<<else>>$he gazes at you<</if>>, looking for answers that are not there. + When you finally move your hand away, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes gaze into yours searchingly<<else>>$he gazes at you<</if>>, looking for answers that are not there. <<if ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> diff --git a/src/pregmod/killedSlave.tw b/src/pregmod/killedSlave.tw index 993d24bd838fd233ef3d1a1374e17f9ad798ec91..9933056df25b2d9f01e587b5c1b9316ab38505e8 100644 --- a/src/pregmod/killedSlave.tw +++ b/src/pregmod/killedSlave.tw @@ -125,7 +125,7 @@ $activeSlave.slaveName gives an audible sigh of relief and begins to thank you p <</if>> <</if>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $nextLink = "AS Dump">> /* TODO: this will DEFINTELY need balancing */ diff --git a/src/pregmod/pcAppearanceIntro.tw b/src/pregmod/pcAppearanceIntro.tw index d7a0618c5d046761af878b92585647ae751f5d57..b1d17bf3dd1111ed95419ec47efc953a15568f18 100644 --- a/src/pregmod/pcAppearanceIntro.tw +++ b/src/pregmod/pcAppearanceIntro.tw @@ -91,11 +91,26 @@ You have $PC.skin skin. <<PlayerSkin>> <</link>> | +<<link "Ivory">> + <<set $PC.skin = "ivory">> + <<PlayerSkin>> +<</link>> +| +<<link "White">> + <<set $PC.skin = "white">> + <<PlayerSkin>> +<</link>> +| <<link "Extremely Pale">> <<set $PC.skin = "extremely pale">> <<PlayerSkin>> <</link>> | +<<link "Very Pale">> + <<set $PC.skin = "very pale">> + <<PlayerSkin>> +<</link>> +| <<link "Pale">> <<set $PC.skin = "pale">> <<PlayerSkin>> @@ -116,23 +131,18 @@ You have $PC.skin skin. <<PlayerSkin>> <</link>> | -<<link "White">> - <<set $PC.skin = "white">> - <<PlayerSkin>> -<</link>> -| <<link "Light">> <<set $PC.skin = "light">> <<PlayerSkin>> <</link>> | -<<link "Lightened">> - <<set $PC.skin = "lightened">> +<<link "Light Olive">> + <<set $PC.skin = "light olive">> <<PlayerSkin>> <</link>> | -<<link "Light Olive">> - <<set $PC.skin = "light olive">> +<<link "Tan">> + <<set $PC.skin = "tan">> <<PlayerSkin>> <</link>> | @@ -141,28 +151,33 @@ You have $PC.skin skin. <<PlayerSkin>> <</link>> | -<<link "Natural">> - <<set $PC.skin = "natural">> +<<link "Bronze">> + <<set $PC.skin = "bronze">> <<PlayerSkin>> <</link>> | -<<link "Tanned">> - <<set $PC.skin = "tanned">> +<<link "Dark Olive">> + <<set $PC.skin = "dark olive">> <<PlayerSkin>> <</link>> | -<<link "Bronzed">> - <<set $PC.skin = "bronzed">> +<<link "Dark">> + <<set $PC.skin = "dark">> <<PlayerSkin>> <</link>> | -<<link "Dark Olive">> - <<set $PC.skin = "dark olive">> +<<link "Light Beige">> + <<set $PC.skin = "light beige">> <<PlayerSkin>> <</link>> | -<<link "Dark">> - <<set $PC.skin = "dark">> +<<link "Beige">> + <<set $PC.skin = "beige">> + <<PlayerSkin>> +<</link>> +| +<<link "Dark Beige">> + <<set $PC.skin = "dark beige">> <<PlayerSkin>> <</link>> | diff --git a/src/pregmod/pcSurgeryDegredation.tw b/src/pregmod/pcSurgeryDegredation.tw index 84717c7cf5a31f1aa928999e422008a8fac86eb4..6210a3b954b599dc73ea7fcdff9fb0c05127269f 100644 --- a/src/pregmod/pcSurgeryDegredation.tw +++ b/src/pregmod/pcSurgeryDegredation.tw @@ -5,7 +5,7 @@ <<switch $surgeryType>> <<case "skinTone">> - After a few hours, you awaken in the recovery wing to find every <<if $showInches == 2>>inch<<else>>centimeter<</if>> of your body burning; though from what you did manage to see, you are, in fact, $PC.skin now. <<if !["pure white", "extremely pale", "pale", "extremely fair", "very fair", "fair", "white", "light", "lightened", "light olive", "olive", "natural", "tanned", "bronzed", "dark olive", "dark", "light brown", "brown", "dark brown", "black", "ebony", "pure black"].includes($PC.skin)>>The surgeon's assistant immediately covers her mouth to hide her giggle a the sight of you<<else>>The surgeon's assistant carefully seats herself besides you with a large drum of cream<</if>>. "This stuff is specially formulated to soothe burns like this and should have you feeling much better after a few applications.<<if $PC.dick == 1>> Now please, try not to get hard while I apply this. It will hurt like hell.<</if>>" She spends the next half hour gingerly applying the cream across every <<if $showInches == 2>>inch<<else>>centimeter<</if>> of your body. Her touch is so soft, it is hard to not get aroused, and as your body tenses, a wave of pain washes over you. "Calm down, and take a few applications first. Though I forgot to tell you, your erogenous zones were especially affected and will need plenty of extra attention." She winks at you. You doubt the validity of that claim but understand exactly what she means by it. The next few days will be very enjoyable, but for now, you opt to stay perfectly still and will the cream to work faster. + After a few hours, you awaken in the recovery wing to find every <<if $showInches == 2>>inch<<else>>centimeter<</if>> of your body burning; though from what you did manage to see, you are, in fact, $PC.skin now. <<if !["pure white", "ivory", "white", "extremely pale", "very pale", "pale", "extremely fair", "very fair", "fair", "light", "light olive", "tan", "olive", "bronze", "dark olive", "dark", "light beige", "beige", "dark beige", "light brown", "brown", "dark brown", "black", "ebony", "pure black"].includes($PC.skin)>>The surgeon's assistant immediately covers her mouth to hide her giggle a the sight of you<<else>>The surgeon's assistant carefully seats herself besides you with a large drum of cream<</if>>. "This stuff is specially formulated to soothe burns like this and should have you feeling much better after a few applications.<<if $PC.dick == 1>> Now please, try not to get hard while I apply this. It will hurt like hell.<</if>>" She spends the next half hour gingerly applying the cream across every <<if $showInches == 2>>inch<<else>>centimeter<</if>> of your body. Her touch is so soft, it is hard to not get aroused, and as your body tenses, a wave of pain washes over you. "Calm down, and take a few applications first. Though I forgot to tell you, your erogenous zones were especially affected and will need plenty of extra attention." She winks at you. You doubt the validity of that claim but understand exactly what she means by it. The next few days will be very enjoyable, but for now, you opt to stay perfectly still and will the cream to work faster. <<case "restoreFace">> After a few hours, you awaken in the recovery wing with a face both sore and somewhat numb. <<if $PC.belly >= 10000 || $PC.boobsBonus == 3>>Struggling to sit<<else>>Sitting<</if>> up, you catch sight of yourself in the mirror-covered wall across from your bed. Your face is back to the way it was before you had it altered (not counting any additional years added to it) and looking just as good as you remember. You attempt to smile at yourself, only to find your face doesn't want to comply; guess the drugs haven't completely worn off yet. You lie back down to sleep off the rest of the anesthesia before returning to your arcology. diff --git a/src/pregmod/rePregInventor.tw b/src/pregmod/rePregInventor.tw index fb66cdf0bc8dcb614f198d162190e29ef7e88ac9..74a1b71286d1d8c48e7954147c32c495c8895828 100644 --- a/src/pregmod/rePregInventor.tw +++ b/src/pregmod/rePregInventor.tw @@ -124,7 +124,7 @@ <<if $activeSlave.origEye == "implant">> $His pretty $activeSlave.eyeColor bionic eyes flash a shade cooler than normal and you can tell $he's struggling to accept your decision. <<else>> - You can see tears brimming in $his <<= App.Desc.eyeColor>> eyes. + You can see tears brimming in $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <</if>> You kiss $him on the head, make sweet love to $him to improve $his mood, then have $him escorted out of your office. <<= VaginalVCheck()>> diff --git a/src/pregmod/seBurst.tw b/src/pregmod/seBurst.tw index 7d4368e5661f24cbbd31cdead701bf667016b3e2..3b9ff5828d83bcc487020a4690cdc50afc43eb70 100644 --- a/src/pregmod/seBurst.tw +++ b/src/pregmod/seBurst.tw @@ -310,7 +310,7 @@ <</if>> <<set $activeSlave = $slaves[_b]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <br><br><hr style="margin:0"><br> <</if>> diff --git a/src/pregmod/seDeath.tw b/src/pregmod/seDeath.tw index 830a36069adb44b6445185337509d5edf6b15602..27e6a0cdc31efd6aa0a029e75c5b85a36aee4d15 100644 --- a/src/pregmod/seDeath.tw +++ b/src/pregmod/seDeath.tw @@ -30,7 +30,7 @@ <</if>> <<foreach _slave of _killedSlaves>> <<set $activeSlave = _slave>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</foreach>> <<unset _killedSlaves>> diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw index c5700cdcf5a57a0bdebee5006a2793c571f011fb..d12af5397e4a43a8225371f936854623d32ac659 100644 --- a/src/pregmod/sePlayerBirth.tw +++ b/src/pregmod/sePlayerBirth.tw @@ -122,7 +122,7 @@ While sitting at your desk planning your day, @@.lime;your water breaks,@@ thoro <</if>> <<else>> <<if $Concubine != 0>><<setLocalPronouns $Concubine 2>><<if !canWalk($Concubine)>><<set _concubinePresent = 2>><<else>><<set _concubinePresent = 1>><</if>><</if>> - You barely make it half-way down the hall before you feel the first of your many children drop into position at the entrance to your birth canal. You try to keep going, but as it forces its way through your pelvis, spreading it wider, you're forced to the ground. Fortunately the penthouse is littered with supply rooms and closets, so you drag your laboring body into the nearest one instead. $assistantName discretely directs + You barely make it half-way down the hall before you feel the first of your many children drop into position at the entrance to your birth canal. You try to keep going, but as it forces its way through your pelvis, spreading it wider, you're forced to the ground. Fortunately the penthouse is littered with supply rooms and closets, so you drag your laboring body into the nearest one instead. Fortunately, $assistantName discretely directs <<if $Nurse != 0>> <<setLocalPronouns $Nurse>> @@.pink;$Nurse.slaveName@@ to you with everything $he'll need to deliver your children.<<if _concubinePresent == 1>> @@.pink;$Concubine.slaveName@@ bursts in after $him and circles around behind you before wrapping _his2 arms around your contraction wracked middle. _He2'll be here to comfort you while you labor.<</if>> diff --git a/src/societies/aztec/slaveSacrifice.tw b/src/societies/aztec/slaveSacrifice.tw index ca94f7894a36f25aa1e743c9db3aae23c0f72e7e..fa1715ff4c228a8944949c82336d9c03c8e179d4 100644 --- a/src/societies/aztec/slaveSacrifice.tw +++ b/src/societies/aztec/slaveSacrifice.tw @@ -380,7 +380,7 @@ <<set $arcologies[0].FSAztecRevivalist += 1>> <</if>> <<set $slavesSacrificedThisWeek = ($slavesSacrificedThisWeek || 0) + 1>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> <<set $sacrificeType = 0>> \ No newline at end of file diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index b7d966a999e834ae19ee9269135ff4636588b9d0..d653d179f4f5559dbb8c3924a2bfbbaebbbc7304 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -2829,15 +2829,41 @@ Setting missing slave variables: <<set _Slave.override_Arm_H_Color = 0>> <</if>> -<<if _Slave.skin == "red dyed">> +<<switch _Slave.skin>> +<<case "red dyed">> <<set _Slave.skin = "dyed red">> -<</if>> -<<if _Slave.skin == "green dyed">> +<<case "green dyed">> <<set _Slave.skin = "dyed green">> -<</if>> -<<if _Slave.skin == "blue dyed">> +<<case "blue dyed">> <<set _Slave.skin = "dyed blue">> -<</if>> +<<case "tanned">> + <<set _Slave.skin = "tan">> +<<case "lightened">> + <<set _Slave.skin = "light">> +<<case "bronzed">> + <<set _Slave.skin = "bronze">> +<<case "darkened">> + <<set _Slave.skin = "dark">> +<<case "natural">> +<</switch>> + +<<switch _Slave.origSkin>> +<<case "red dyed">> + <<set _Slave.origSkin = "dyed red">> +<<case "green dyed">> + <<set _Slave.origSkin = "dyed green">> +<<case "blue dyed">> + <<set _Slave.origSkin = "dyed blue">> +<<case "tanned">> + <<set _Slave.origSkin = randomRaceSkin(_Slave.origRace)>> +<<case "lightened">> + <<set _Slave.origSkin = "light">> +<<case "bronzed">> + <<set _Slave.origSkin = "bronze">> +<<case "darkened">> + <<set _Slave.origSkin = "dark">> +<<case "natural">> +<</switch>> <<if _Slave.markings == "heavily">> <<set _Slave.markings = "heavily freckled">> diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw index a3415083dc58ff4f7b14a414e98f7219ce257659..262cd666f067111ee73cf305c54eb8ac5416597e 100644 --- a/src/uncategorized/PESS.tw +++ b/src/uncategorized/PESS.tw @@ -271,26 +271,26 @@ $He sees you examining at $him, and looks back at you submissively, too tired to <<if $slaves[$i].boobs < 400>> <<set $slaves[$i].boobs += 200>> <<set $slaves[$i].boobsImplant += 200>> - <<run cashX(-200, "slaveSurgery", $activeSlave)>> + <<run cashX(forceNeg(Math.trunc(200*$upgradeMultiplierMedicine)), "slaveSurgery", $activeSlave)>> <<elseif $slaves[$i].butt < 3>> <<set $slaves[$i].butt += 1>> <<set $slaves[$i].buttImplant += 1>> - <<run cashX(-200, "slaveSurgery", $activeSlave)>> + <<run cashX(forceNeg(Math.trunc(200*$upgradeMultiplierMedicine)), "slaveSurgery", $activeSlave)>> <<elseif $slaves[$i].face < 95 && $slaves[$i].faceImplant <= 10>> <<set $slaves[$i].face = Math.clamp($slaves[$i].face+20,-100,100)>> <<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>> - <<run cashX(-200, "slaveSurgery", $activeSlave)>> + <<run cashX(forceNeg(Math.trunc(200*$upgradeMultiplierMedicine)), "slaveSurgery", $activeSlave)>> <<elseif ($slaves[$i].waist > -10)>> <<set $slaves[$i].waist -= 20>> - <<run cashX(-200, "slaveSurgery", $activeSlave)>> + <<run cashX(forceNeg(Math.trunc(200*$upgradeMultiplierMedicine)), "slaveSurgery", $activeSlave)>> <<elseif $slaves[$i].visualAge > 35 && $slaves[$i].ageImplant == 0 && $slaves[$i].faceImplant <= 10>> <<set $slaves[$i].ageImplant = 1>><<AgeImplantAdjustment $slaves[$i]>> <<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>> - <<run cashX(-200, "slaveSurgery", $activeSlave)>> + <<run cashX(forceNeg(Math.trunc(200*$upgradeMultiplierMedicine)), "slaveSurgery", $activeSlave)>> <<elseif $slaves[$i].lips <= 40>> <<set $slaves[$i].lips += 10>> <<set $slaves[$i].lipsImplant += 10>> - <<run cashX(-200, "slaveSurgery", $activeSlave)>> + <<run cashX(forceNeg(Math.trunc(200*$upgradeMultiplierMedicine)), "slaveSurgery", $activeSlave)>> <</if>> <</if>> <</for>> @@ -379,7 +379,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to <br><<link "It can wait until after some lovemaking with the Concubine">> <<EventNameDelink $activeSlave>> <<replace "#result">> - When you enter your suite, the dim light reveals $activeSlave.slaveName waiting with $his beautiful body laid across the bed. When $he <<if canSee($activeSlave)>>sees<<else>>figures out<</if>> the kind of lovemaking you're in the mood for, $he spreads $his arms for you, smiling gently. $He kisses you lovingly, <<if !canTalk($activeSlave)>>taking your hand in $hers and drawing a heart on your palm with one finger.<<else>><<say>>ing, "<<Master>>, I love you."<</if>> <<if ($PC.vagina == 1)>>$He lies on $his side and raises one leg for you so you can straddle the other, sliding up to press your pussy against $his submissive groin. You grind against $him; the stimulation is so strong that $he writhes into the sheets, panting and whining.<<if $PC.dick == 1>> Your stiff dick, unused for once, slides deliciously between your warm bodies.<</if>><<else>><<if ($activeSlave.vagina > 0)>>$His pussy is warm and very wet, making penetration easy; $he gasps and arches $his back, clasping you between $his legs as $his <<= App.Desc.eyeColor>> eyes look deep into yours.<<elseif ($activeSlave.anus > 0)>>$His butt is relaxed and welcoming, and $he holds $his legs back to take missionary anal loving as $his <<= App.Desc.eyeColor>> eyes look deep into yours.<<else>>$He holds $his thighs together for frottage so $he can love you without losing $his virginity.<</if>><</if>> You both know each other quite well, and maintain the gentle communion for a long time. When $he senses your climax building, $he lets $himself climb to orgasm with you, holding <<if ($PC.dick == 0)>>your hips in $his hands<<else>>you in $his arms<</if>>. $He quickly cleans you with $his mouth and heads to the shower. When $he gets out you're back at work, but $he comes out to @@.hotpink;plant another kiss on you.@@ + When you enter your suite, the dim light reveals $activeSlave.slaveName waiting with $his beautiful body laid across the bed. When $he <<if canSee($activeSlave)>>sees<<else>>figures out<</if>> the kind of lovemaking you're in the mood for, $he spreads $his arms for you, smiling gently. $He kisses you lovingly, <<if !canTalk($activeSlave)>>taking your hand in $hers and drawing a heart on your palm with one finger.<<else>><<say>>ing, "<<Master>>, I love you."<</if>> <<if ($PC.vagina == 1)>>$He lies on $his side and raises one leg for you so you can straddle the other, sliding up to press your pussy against $his submissive groin. You grind against $him; the stimulation is so strong that $he writhes into the sheets, panting and whining.<<if $PC.dick == 1>> Your stiff dick, unused for once, slides deliciously between your warm bodies.<</if>><<else>><<if ($activeSlave.vagina > 0)>>$His pussy is warm and very wet, making penetration easy; $he gasps and arches $his back, clasping you between $his legs as $his <<= App.Desc.eyeColor($activeSlave)>> eyes look deep into yours.<<elseif ($activeSlave.anus > 0)>>$His butt is relaxed and welcoming, and $he holds $his legs back to take missionary anal loving as $his <<= App.Desc.eyeColor($activeSlave)>> eyes look deep into yours.<<else>>$He holds $his thighs together for frottage so $he can love you without losing $his virginity.<</if>><</if>> You both know each other quite well, and maintain the gentle communion for a long time. When $he senses your climax building, $he lets $himself climb to orgasm with you, holding <<if ($PC.dick == 0)>>your hips in $his hands<<else>>you in $his arms<</if>>. $He quickly cleans you with $his mouth and heads to the shower. When $he gets out you're back at work, but $he comes out to @@.hotpink;plant another kiss on you.@@ <<set $activeSlave.devotion += 10>> <<set $activeSlave.oralCount += 1>> <<set $oralTotal += 1>> @@ -487,7 +487,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to <<link "Trust $him to tell them">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You tell $him that you're sure $he'll let them know, since $he understands the situation and knows them all well. $His <<if $activeSlave.visualAge > 35>>mature<<elseif $activeSlave.face > 40>>lovely<<else>>attentive<</if>> face flicks <<if $activeSlave.height >= 185>>over<<else>>up<</if>> to look at you, @@.hotpink;$his <<= App.Desc.eyeColor>> eyes glittering at the compliment.@@ "Thank you, <<Master>>," $he murmurs. There's another flash on the horizon, followed by a series of smaller flashes and a low, slowly growing glow as secondaries go off and start a fire. $activeSlave.slaveName seems affected, a certain amount of moisture gathering in $his eyes, but $he turns away to return to $his duties when it becomes clear that you intend to keep watching for a while, and aren't going to have sex with $him right this minute. $He does $his best to communicate the new reality to those of your slaves who are obedient enough to understand the truth: though they are slaves, @@.mediumaquamarine;there is safety to be found in slavery.@@ + You tell $him that you're sure $he'll let them know, since $he understands the situation and knows them all well. $His <<if $activeSlave.visualAge > 35>>mature<<elseif $activeSlave.face > 40>>lovely<<else>>attentive<</if>> face flicks <<if $activeSlave.height >= 185>>over<<else>>up<</if>> to look at you, @@.hotpink;$his <<= App.Desc.eyeColor($activeSlave)>> eyes glittering at the compliment.@@ "Thank you, <<Master>>," $he murmurs. There's another flash on the horizon, followed by a series of smaller flashes and a low, slowly growing glow as secondaries go off and start a fire. $activeSlave.slaveName seems affected, a certain amount of moisture gathering in $his eyes, but $he turns away to return to $his duties when it becomes clear that you intend to keep watching for a while, and aren't going to have sex with $him right this minute. $He does $his best to communicate the new reality to those of your slaves who are obedient enough to understand the truth: though they are slaves, @@.mediumaquamarine;there is safety to be found in slavery.@@ <<for $i = 0; $i < _SL; $i++>> <<if $slaves[$i].devotion > 20>> <<set $slaves[$i].trust += 1>> diff --git a/src/uncategorized/PETS.tw b/src/uncategorized/PETS.tw index d399bc4640b50664802375c7c82942ee8a465f91..6365c1d636d0d459b1eb8dbe413e4e3c6893f379 100644 --- a/src/uncategorized/PETS.tw +++ b/src/uncategorized/PETS.tw @@ -373,7 +373,7 @@ You decide to knit up care's raveled sleave with a break in the spa. You have yo <br><<link "Leave the matter between the Attendant and the slave $he's helping">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You let $activeSlave.slaveName deal with $subSlave.slaveName's troubles; after a short time $he sends $subSlave.slaveName off to shower, and submerges, swimming over to you under the water. $He pokes out of the water, comically letting a huge mouthful of the warm, healthy mineral water run out of $his mouth in a stream before giggling at $himself and smiling at you. "<<Master>>, would you like me to tell you about $subSlave.slaveName?" $he asks. You shake your head, and tell $him no, you trust $him to do $his best to heal anything that ails $his charges. $He looks at you with huge <<= App.Desc.eyeColor>> eyes for a long moment before throwing $his <<if ($activeSlave.weight > 10)>>plush<<else>>taut<</if>> body into your arms. $He looks up at you and asks incredulously, "<<Master>>, you trust me?" You nod. $He looks shocked but kisses you and drops back down under the water. You feel the lovely sensation of $his <<if ($activeSlave.lips > 70)>>massive<<elseif ($activeSlave.lips > 40)>>pillowlike<<else>>nice<</if>> lips <<if ($PC.vagina == 1)>>nibbling their way up towards your clit<<else>>forming a seal around your dickhead<</if>>, and although $he has to come up periodically for air, $he gives you quite a @@.hotpink;loving@@ blowjob. + You let $activeSlave.slaveName deal with $subSlave.slaveName's troubles; after a short time $he sends $subSlave.slaveName off to shower, and submerges, swimming over to you under the water. $He pokes out of the water, comically letting a huge mouthful of the warm, healthy mineral water run out of $his mouth in a stream before giggling at $himself and smiling at you. "<<Master>>, would you like me to tell you about $subSlave.slaveName?" $he asks. You shake your head, and tell $him no, you trust $him to do $his best to heal anything that ails $his charges. $He looks at you with huge <<= App.Desc.eyeColor($activeSlave)>> eyes for a long moment before throwing $his <<if ($activeSlave.weight > 10)>>plush<<else>>taut<</if>> body into your arms. $He looks up at you and asks incredulously, "<<Master>>, you trust me?" You nod. $He looks shocked but kisses you and drops back down under the water. You feel the lovely sensation of $his <<if ($activeSlave.lips > 70)>>massive<<elseif ($activeSlave.lips > 40)>>pillowlike<<else>>nice<</if>> lips <<if ($PC.vagina == 1)>>nibbling their way up towards your clit<<else>>forming a seal around your dickhead<</if>>, and although $he has to come up periodically for air, $he gives you quite a @@.hotpink;loving@@ blowjob. <<set $activeSlave.devotion += 10>> <</replace>> <</link>> diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw index 77688338a7a1f53ef1236e4149579ef70c485bc8..b8c32c9edefacdfb055c60b2fcd3d3f44adf783f 100644 --- a/src/uncategorized/RECI.tw +++ b/src/uncategorized/RECI.tw @@ -75,11 +75,9 @@ <</if>> <</for>> -<<if ($activeSlave.skin == "tanned") || ($activeSlave.skin == "fair")>> +<<if (skinToneLevel($activeSlave.skin) < 10)>> <<set $skinDesc = "pink">> -<<elseif ($activeSlave.skin == "pale") || ($activeSlave.race == "white")>> - <<set $skinDesc = "pink">> -<<elseif ($activeSlave.skin == "brown") || ($activeSlave.race == "black")>> +<<elseif (skinToneLevel($activeSlave.skin) > 20)>> <<set $skinDesc = "dark brown">> <<else>> <<set $skinDesc = "brown">> @@ -153,7 +151,7 @@ $His $activeSlave.skin face displays nothing but honest gratitude and devotion. $his pathetically limp dick is practically dripping precum <<elseif ($activeSlave.clit > 0)>>$his big clit is visibly erect<<else>>a sheen is visible on $his pussylips<</if>>, $his nipples are <<if $activeSlave.nipples != "fuckable">>stiff<<else>>swollen tight<</if>>, and $he's starting to breathe a little hard. -When you finish and send the slave you were boning on their way with a light slap on the rump, you seat yourself to inspect $activeSlave.slaveName. As you do, <<if ($PC.dick == 0)>>your rather realistically modeled phallus dangles between your legs<<else>>your half-hard but still quite imposing cock hangs between your legs<</if>>, still slick from fucking the previous inspectee. $activeSlave.slaveName's <<if canSee($activeSlave)>><<= App.Desc.eyeColor>><<else>>blank<</if>> eyes focus on it with painful intensity, +When you finish and send the slave you were boning on their way with a light slap on the rump, you seat yourself to inspect $activeSlave.slaveName. As you do, <<if ($PC.dick == 0)>>your rather realistically modeled phallus dangles between your legs<<else>>your half-hard but still quite imposing cock hangs between your legs<</if>>, still slick from fucking the previous inspectee. $activeSlave.slaveName's <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>><<else>>blank<</if>> eyes focus on it with painful intensity, <<if ($activeSlave.chastityPenis == 1)>> and the $desc's chastity cage begins to bother $him even more. <<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>> @@ -207,7 +205,7 @@ $He arches $his back and bats $his eyes at you. "A lot." poor flaccid member, which $he uses a thumb and forefinger to pull upright. <<elseif ($activeSlave.labia > 0)>>pussy, whose lips are so generous that $he uses both hands to peel them apart.<<elseif ($activeSlave.vagina > 1)>>nice big cunt, which $he spreads shamelessly for you.<<else>>tight pussy.<</if>> <br><br> -You often pepper slaves with questions during this inspection; it helps you gauge their mental state, and it's just as important to verbally inspect slaves' minds as it is to visually inspect their parts. You remember with sudden clarity what $activeSlave.slaveName was like when you acquired $him. $He seemed older then.<<if $activeSlave.faceImplant > 0>> $His face has been improved since then, of course, making $him a good deal prettier.<</if>><<if $activeSlave.ageImplant > 0>> The age lift $he received has certainly hidden some of the most evident signs of $his years.<</if>> Decent care, diet, and exercise have done wonders. But more than all of that trivial physical stuff, the sexual hunger visible in $his <<= App.Desc.eyeColor>> eyes makes $him look like a teenager. You ask $him if $he remembers what $he was like when you enslaved $him. $He hesitates, wondering how to answer, but decides that honesty is the best policy and <<say>>s, "I remember it every day, <<Master>>. I'm grateful. I didn't think of my<<s>>elf a<<s>> too pretty, then." $He giggles. "Becoming a fuck<<s>>lave really improved my <<s>>elf e<<s>>teem. +You often pepper slaves with questions during this inspection; it helps you gauge their mental state, and it's just as important to verbally inspect slaves' minds as it is to visually inspect their parts. You remember with sudden clarity what $activeSlave.slaveName was like when you acquired $him. $He seemed older then.<<if $activeSlave.faceImplant > 0>> $His face has been improved since then, of course, making $him a good deal prettier.<</if>><<if $activeSlave.ageImplant > 0>> The age lift $he received has certainly hidden some of the most evident signs of $his years.<</if>> Decent care, diet, and exercise have done wonders. But more than all of that trivial physical stuff, the sexual hunger visible in $his <<= App.Desc.eyeColor($activeSlave)>> eyes makes $him look like a teenager. You ask $him if $he remembers what $he was like when you enslaved $him. $He hesitates, wondering how to answer, but decides that honesty is the best policy and <<say>>s, "I remember it every day, <<Master>>. I'm grateful. I didn't think of my<<s>>elf a<<s>> too pretty, then." $He giggles. "Becoming a fuck<<s>>lave really improved my <<s>>elf e<<s>>teem. <<if ($activeSlave.energy > 95)>> I can't imagine going back to having a<<s>> little <<s>>e<<x>> a<<s>> I u<<s>>ed to have. It would be awful. <<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> @@ -269,7 +267,7 @@ I try to be a good <<s>>lave girl for you, <<Master>>. Can I — can I be a good <<EventNameLink>> comes in for an inspection. You have a relaxed day scheduled, so you take the time to do an unusually thorough job. On a whim, you pull up $his complete file, flipping the virtual pages out across your desk. The induction pictures are particularly striking. $He doesn't look much like that, anymore, and that's a good thing. $He was not a pretty girl when you got here, though $he's pretty enough now. With a desk control gesture you flip a full frontal shot of $him on the day of $his enslavement up onto a wallscreen. <br><br> -$His <<= App.Desc.eyeColor>> eyes track your sudden motion, of course, and $he follows it to the screen. Suddenly, the $desc is eye to eye with a life-size picture of who $he used to be, just a few <<if $showInches == 2>>feet<<else>>meters<</if>> away. $He gasps with recognition, and then $his face clouds inscrutably. $He takes a couple of hesitant steps forward, and then reaches out to touch the cheek of the $girl in the picture. As $his fingertips brush the smooth surface of the wallscreen, $his other hand ghosts along $his own face. $His expression is not sad, so it's surprising when a single tear rolls down $his cheek. You order $him to tell you how the picture makes $him feel. +$His <<= App.Desc.eyeColor($activeSlave)>> eyes track your sudden motion, of course, and $he follows it to the screen. Suddenly, the $desc is eye to eye with a life-size picture of who $he used to be, just a few <<if $showInches == 2>>feet<<else>>meters<</if>> away. $He gasps with recognition, and then $his face clouds inscrutably. $He takes a couple of hesitant steps forward, and then reaches out to touch the cheek of the $girl in the picture. As $his fingertips brush the smooth surface of the wallscreen, $his other hand ghosts along $his own face. $His expression is not sad, so it's surprising when a single tear rolls down $his cheek. You order $him to tell you how the picture makes $him feel. <br><br> $He looks pensive, and goes through two false starts before $he clears $his throat, wrenches $his gaze away from $his picture, and <<say>>s introspectively, "<<Master>>, it'<<s>> <<s>>trange. We — we don't have picture<<s>> of our<<s>>elve<<s>>, from before we were en<<s>>laved. I didn't really reali<<z>>e how much I'd changed. <<S>>ome day<<s>> being a <<s>>lave i<<s>> hard. But <<s>>eeing that picture, it make<<s>> me feel better about it. You — you're really <<if $PC.title == 1>>hand<<s>>ome<<else>>pretty<</if>>, <<Master>>. I bet you alway<<s>> were." $He inclines $his head towards the homely $girl on the screen. "It'<<s>> hard to be ugly, <<Master>>. Really hard. I feel <<s>>orry for that $girl, and I'm glad I don't look like $him anymore." $He laughs suddenly, a little self-consciously. "The cra<<z>>y thing i<<s>>, if you'd told that $girl that <<if $activeSlave.assignment == "whore">> diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index a922ea2bfbdc5a804608e1f64efe3936c6ca6259..7cdea8252c6b66a016296eba82e4e28362084c30 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -361,7 +361,7 @@ With $his back arched and $his thighs together $his <<if $activeSlave.butt > 5>> <<case "sore shoulders">> -<<EventNameLink>> comes before you for a routine inspection. The <<if $activeSlave.muscles > 95>>heavily muscled<<elseif $activeSlave.muscles > 30>>ripped<<else>>toned<</if>><<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>> and heavily pregnant<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>pregnant<</if>> $desc is looking good, but as $he raises $his arms over $his head to spin $his nude torso under your gaze, $he winces slightly. <<if canSee($activeSlave)>>$His <<= App.Desc.eyeColor>> eyes flick up to see if you noticed, and $his face falls a little when $he sees that you did. You raise one eyebrow, and the obedient slave explains $himself<<elseif canHear($activeSlave)>>$His ears perk up to hear if you noticed. You clear your throat, startling $him and making $him explain $himself<<else>>$He tries to affect a stoic expression, but when you tentatively touch one of $his shoulders, $he grimaces slightly and quickly opts to explain $himself<</if>>. +<<EventNameLink>> comes before you for a routine inspection. The <<if $activeSlave.muscles > 95>>heavily muscled<<elseif $activeSlave.muscles > 30>>ripped<<else>>toned<</if>><<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>> and heavily pregnant<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>pregnant<</if>> $desc is looking good, but as $he raises $his arms over $his head to spin $his nude torso under your gaze, $he winces slightly. <<if canSee($activeSlave)>>$His <<= App.Desc.eyeColor($activeSlave)>> eyes flick up to see if you noticed, and $his face falls a little when $he sees that you did. You raise one eyebrow, and the obedient slave explains $himself<<elseif canHear($activeSlave)>>$His ears perk up to hear if you noticed. You clear your throat, startling $him and making $him explain $himself<<else>>$He tries to affect a stoic expression, but when you tentatively touch one of $his shoulders, $he grimaces slightly and quickly opts to explain $himself<</if>>. <<if !canTalk($activeSlave)>> $He uses gestures to beg your pardon, and explains that yesterday was arm day for $him, and $he went out a little hard. $His shoulders are a little sore, but $he gestures that $he's all right. <<else>> @@ -424,10 +424,12 @@ clings to you in $his sleep as the warmth of your body begins to move away from <<case "confident tanning">> It's an unusually nice day, with mild sunshine, light breezes, and nothing offensive or dangerous in the atmosphere. In the middle of the afternoon, you take a break from your busy schedule of sex and business and stroll out onto one of your penthouse balconies. It seems <<EventNameLink>> was struck by a similar impulse. <<if $activeSlave.assignment == "rest">>$He's assigned to do little but rest<<else>>This is one of $his rest periods<</if>>, so $he's come out here to lay naked on a towel and enjoy the sun. -<<if ["black", "brown", "dark brown", "dark olive", "dark", "ebony", "pure black"].includes($activeSlave.skin)>> +<<if (skinToneLevel($activeSlave.skin) > 20)>> $His $activeSlave.skin doesn't tan much, so $he's just out here to bask in its warmth. $His body shines with lotion from a bottle lying next to $him, but it's just general-purpose stuff. -<<elseif ($activeSlave.skin == "tanned")>> +<<elseif ($activeSlave.skin == "sun tanned")>> $His tanned skin shines with lotion from a bottle lying next to $him. +<<elseif ($activeSlave.skin == "spray tanned")>> + Since $his fake tan would otherwise be (rather ironically) ruined by the sun, $his skin shines with sunblock lotion from a bottle lying next to $him. <<else>> $His skin shines with sunblock lotion from a bottle lying next to $him. It would be foolish of $him to let the sun ruin $his $activeSlave.skin skin. <</if>> @@ -449,7 +451,7 @@ $He's lying on $his back with $his arms outstretched, $his <<if ($activeSlave.bo <<default>> nipples look pleasantly soft and warm in the sun. <</switch>> -As you consider $his radiant body, $he senses your presence, either realizing you're there through $his closed eyes or coming out of a light sleep at your proximity. $He opens $his <<= App.Desc.eyeColor>> eyes a slit and stretches deliciously, arching $his back luxuriantly, and murmurs, "Hi <<Master>>." +As you consider $his radiant body, $he senses your presence, either realizing you're there through $his closed eyes or coming out of a light sleep at your proximity. $He opens $his <<= App.Desc.eyeColor($activeSlave)>> eyes a slit and stretches deliciously, arching $his back luxuriantly, and murmurs, "Hi <<Master>>." <<case "devoted nympho">> @@ -585,7 +587,7 @@ provides just enough stimulation that $he climaxes. $His hands ball into fists a <</if>> of girlcum out onto $his legs and the floor. <</if>> -$He stands up straight, but this brings $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes up to gaze straight into yours<<else>>face to face with you<</if>>, and the mixed release, humiliation, and naughtiness of having climaxed prematurely right in front of $his <<= WrittenMaster()>> produces an aftershock, adding to the mess on the floor. +$He stands up straight, but this brings $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes up to gaze straight into yours<<else>>face to face with you<</if>>, and the mixed release, humiliation, and naughtiness of having climaxed prematurely right in front of $his <<= WrittenMaster()>> produces an aftershock, adding to the mess on the floor. <<case "devoted exhibition">> @@ -657,7 +659,7 @@ Slaves with powerful sex drives like $hers often find it necessary to masturbate <<case "terrified inspection">> -<<EventNameLink>> appears in the door of your office for a scheduled inspection. $He hesitates in the doorway, <<if canSee($activeSlave)>>staring fixedly downward with huge <<= App.Desc.eyeColor>> eyes<<else>>$his face towards the floor<</if>>, before stumbling forward to stand in front of your desk. $His chest is rising and falling with panicked hyperventilation. The poor +<<EventNameLink>> appears in the door of your office for a scheduled inspection. $He hesitates in the doorway, <<if canSee($activeSlave)>>staring fixedly downward with huge <<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>$his face towards the floor<</if>>, before stumbling forward to stand in front of your desk. $His chest is rising and falling with panicked hyperventilation. The poor $desc is terrified of you for some reason. <br><br> @@ -744,7 +746,7 @@ You pass one of the penthouse's several supply closets by chance, and are surpri <</if>> in the middle of the room with the machines all around $him. $He has <<if canDoVaginal($activeSlave)>><<if $activeSlave.vagina > 2>>two large dildos working $his gaping cunt, <<elseif $activeSlave.vagina > 1>>a large dildo working $his cunt, <<elseif $activeSlave.vagina > 0>>a dildo working $his tight pussy, <</if>><</if>><<if canDoAnal($activeSlave)>><<if $activeSlave.anus > 2>>two large dildos fucking $his enormous butthole, <<elseif $activeSlave.anus > 1>>a large dildo fucking $his butthole, <<elseif $activeSlave.anus > 0>>a dildo fucking $his tight butt, <</if>><</if>><<if $activeSlave.boobs > 1200>>has lubricated $his cavernous cleavage to titfuck another, <<elseif $activeSlave.boobs > 400>>has lubricated $his cleavage to titfuck another, <</if>><<if $activeSlave.nipples == "fuckable">>has a pair pistoning in and out of $his nipples, <</if>><<if $activeSlave.amp != 1>>is performing two handjobs at once, to either side, <</if>><<if $activeSlave.belly >= 5000>>has lubricated the sides of $his _belly <<if $activeSlave.bellyPreg >= 3000>> pregnancy<</if>>, along with $his inner thighs, to create a sort of belly job, <</if>><<if $activeSlave.skill.oral >= 60>>and is making use of $his outstanding oral skills to suck off two more.<<elseif $activeSlave.skill.oral > 30>>and is taking a throatfuck from one more.<<else>>and is giving the final one a blowjob.<</if>> When $he <<if canSee($activeSlave)>>sees that you've entered — which takes a while, since $he's distracted<<elseif canHear($activeSlave)>>hears that you've entered — which takes a while, given the amount of noise<<else>>realizes that you've entered — which takes a while, considering $his state<</if>> — $he tries to smile<<if $activeSlave.amp != 1>> and wave<</if>>. <br><br> -The source of the many-voiced personal assistant becomes clear: probably on the incorrigible $activeSlave.slaveName's request, your sultry personal assistant is voicing each and every one of the machines. When the nymphomaniac masturbator tries to smile <<if $activeSlave.amp != 1>> and wave<</if>>, there's an absolute chorus of "Back to work, slut," "Smile less, suck more," "Take it, bitch," et cetera. Yet another instance of $assistantName chuckles in your ear. "Care to join in, <<= properTitle()>>? I'm sure we can find room somewhere." +The source of the many-voiced personal assistant becomes clear: probably on the incorrigible $activeSlave.slaveName's request, your sultry personal assistant is voicing each and every one of the machines. When the nymphomaniac masturbator tries to smile <<if $activeSlave.amp != 1>> and wave<</if>>, there's an absolute chorus of "Back to work, slut", "Smile less, suck more", "Take it, bitch", et cetera. Yet another instance of $assistantName chuckles in your ear. "Care to join in, <<= properTitle()>>? I'm sure we can find room somewhere." <<case "sore ass">> @@ -1246,7 +1248,7 @@ Your order $him to turn around and present $his anus for inspection. $He doesn't In the morning the penthouse is a busy bustle of female energy. Slaves get up promptly, eat, shower, dress themselves, and head out to work. They chatter if able and allowed, and draw a good deal of strength from each other. As you pass by the kitchen, you are narrowly avoided by a rush of girls heading to the showers. They're almost bouncing, feeding off each others' youthful energy. At the back of the pack is <<EventNameLink>>. $He looks as young as any of them, but after they're out, $he leans against the door frame for a moment and exhales slowly. <br><br> -$His <<= App.Desc.eyeColor>> eyed gaze catches yours for a moment, and you are reminded that $he isn't as young as they are, not at all. $His face might look youthful, but $his eyes don't. <<if canSee($activeSlave)>>$He sees your consideration, and<<else>>You make yourself known, and $he<</if>> murmurs, "<<S>>orry, <<Master>>. Ju<<s>>t a little <<s>>low thi<<s>> morning." +$His <<= App.Desc.eyeColor($activeSlave)>> eyed gaze catches yours for a moment, and you are reminded that $he isn't as young as they are, not at all. $His face might look youthful, but $his eyes don't. <<if canSee($activeSlave)>>$He sees your consideration, and<<else>>You make yourself known, and $he<</if>> murmurs, "<<S>>orry, <<Master>>. Ju<<s>>t a little <<s>>low thi<<s>> morning." $He hurries after $his sisters, $his <<if $activeSlave.butt > 12>> massive @@ -1307,7 +1309,7 @@ Though it's late, $he's surprised to find the lights in the master suite off. Yo <<else>> sits on <</if>> -the edge of the bed, preparing to climb quietly in. $He clearly thinks you're asleep, and is doing $his best not to wake you. The dim, blue-toned light of your bedroom at night washes out $his $activeSlave.skin skin and robs $his <<= App.Desc.eyeColor>> eyes of their color, but it highlights +the edge of the bed, preparing to climb quietly in. $He clearly thinks you're asleep, and is doing $his best not to wake you. The dim, blue-toned light of your bedroom at night washes out $his $activeSlave.skin skin and robs $his <<= App.Desc.eyeColor($activeSlave)>> eyes of their color, but it highlights <<if ($activeSlave.belly >= 100000)>> $his _belly dome of a stomach, <<if $activeSlave.bellyPreg >= 3000>> @@ -1650,7 +1652,7 @@ $He hasn't been with you long; it's been a mere <<print $week-$activeSlave.weekA <<case "cage relief">> -You come face to face with <<EventNameLink>> in a hallway of your penthouse, entirely by happenstance. <<if canSee($activeSlave)>>$His <<= App.Desc.eyeColor>> eyes lock with yours, and $he stares at you dumbly for a long moment<<else>>Once $he regains $his footing after bumping into you, $he gazes towards you dumbly for a long moment<</if>>. Then $he squares $his <<if $activeSlave.shoulders > 0>>broad<<elseif $activeSlave.shoulders < 0>>pretty<<else>>feminine<</if>> shoulders and bites $his lower lip, obviously doing $his best to think quickly. Right when you're about to reprimand $him for not greeting you properly, $he surprises you by throwing $himself abjectly on the ground in front of you<<if $activeSlave.belly >= 10000>>, $his rear forced into the air by $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant<<else>>distended<</if>> belly<</if>>. +You come face to face with <<EventNameLink>> in a hallway of your penthouse, entirely by happenstance. <<if canSee($activeSlave)>>$His <<= App.Desc.eyeColor($activeSlave)>> eyes lock with yours, and $he stares at you dumbly for a long moment<<else>>Once $he regains $his footing after bumping into you, $he gazes towards you dumbly for a long moment<</if>>. Then $he squares $his <<if $activeSlave.shoulders > 0>>broad<<elseif $activeSlave.shoulders < 0>>pretty<<else>>feminine<</if>> shoulders and bites $his lower lip, obviously doing $his best to think quickly. Right when you're about to reprimand $him for not greeting you properly, $he surprises you by throwing $himself abjectly on the ground in front of you<<if $activeSlave.belly >= 10000>>, $his rear forced into the air by $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant<<else>>distended<</if>> belly<</if>>. <br><br> <<if !canTalk($activeSlave)>> $He uses gestures to apologize for $his rudeness, and then gets to $his knees so $he can use $his hands to gesture more clearly. $His hands are shaky as $he begs, making two false starts before unmistakably gesturing to ask you to cut $his balls off. Once $he <<if canSee($activeSlave)>>sees<<else>>figures<</if>> that you understand, $he begins to cry openly. $He gestures that $he can barely get off wearing $his chastity cage, that it hurts when $he does, and that $he's constantly oppressed by the need for release. $He thinks that it would be easier to be soft all the time, so $he could climax without discomfort. $He begs hard, and promises to be a good little bitch. @@ -2013,7 +2015,7 @@ At your <<if canSee($activeSlave)>>nod<<else>>acknowledgment<</if>>, $he <<if ($activeSlave.fetish == "submissive") && ($activeSlave.fetishKnown == 1)>> gives a submissive shudder, and turns to show you $his bare back. "<<Master>>, may I have a cor<<s>>et pier<<c>>ing? I would love to feel more, um, bound. Tied up. Plea<<s>>e?" - $He awaits your answer coquettishly, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor>> eyes huge<<else>>a look of begging on $his face<</if>>. + $He awaits your answer coquettishly, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes huge<<else>>a look of begging on $his face<</if>>. <<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishKnown == 1)>> blows you a wet kiss. "<<Master>>, may I have a tongue pier<<c>>ing? It would take my dick <<s>>ucking to the next level. Plea<<s>>e?" @@ -2289,7 +2291,7 @@ You complete the final rep of your first workout of the day, rack the bar, and j <</if>> <</if>> <br><br> -$His <<= App.Desc.eyeColor>> eyes track up your torso comically until $he's looking into your eyes. $He stares dumbly at you for a moment before realizing what $he's doing and blushing with embarrassment. $He's reasonably well broken, but is still coming to terms with $his sexual place as a $desc. +$His <<= App.Desc.eyeColor($activeSlave)>> eyes track up your torso comically until $he's looking into your eyes. $He stares dumbly at you for a moment before realizing what $he's doing and blushing with embarrassment. $He's reasonably well broken, but is still coming to terms with $his sexual place as a $desc. In particular, $he hasn't gotten used to the effects of $his training, the slave food, and the atmosphere in the penthouse, all of which are serving to fuel an acceleration of $his sex drive. <<if !canTalk($activeSlave)>> $He uses shaky hands to ask you to fuck $him, @@ -2300,7 +2302,7 @@ and turns to flee. <<case "dickgirl PC">> -Having just enjoyed one of your slaves, you take a quick post-coital rinse in one of the showers scattered around the arcology for the purpose. Thus refreshed, you step out and come face to face with <<EventNameLink>>, who is going about $his assigned business. $His <<= App.Desc.eyeColor>> eyes lock with yours for a surprised moment, and then flick down submissively. +Having just enjoyed one of your slaves, you take a quick post-coital rinse in one of the showers scattered around the arcology for the purpose. Thus refreshed, you step out and come face to face with <<EventNameLink>>, who is going about $his assigned business. $His <<= App.Desc.eyeColor($activeSlave)>> eyes lock with yours for a surprised moment, and then flick down submissively. <br><br> As $his gaze travels down your body towards the floor, <<if $activeSlave.attrXY <= 35>> @@ -2559,7 +2561,7 @@ To go by $his behavior, the likelihood that $he's actually eager to <<if $PC.dic <<EventNameLink>> is standing before you for an inspection. The obedient $desc -has run through the prescribed motions of a normal inspection, and you've reached the part of the routine where you usually ask the slave a few questions, give $him a few orders, or fuck $him. $His <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes are watching you closely<<else>>face is centered on you<</if>>, and $he's <<if canHear($activeSlave)>>listening carefully<<else>>waiting patiently<</if>> for direction. This is probably due to linguistic anxiety: $he can understand the most straightforward commands, but giving $him orders is often an exercise in <<if canSee($activeSlave)>>pointing and gesturing, or when that fails, simply<<else>>frustration, ending with you simply<</if>> pushing and pulling $his usually-compliant body into the proper place. +has run through the prescribed motions of a normal inspection, and you've reached the part of the routine where you usually ask the slave a few questions, give $him a few orders, or fuck $him. $His <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes are watching you closely<<else>>face is centered on you<</if>>, and $he's <<if canHear($activeSlave)>>listening carefully<<else>>waiting patiently<</if>> for direction. This is probably due to linguistic anxiety: $he can understand the most straightforward commands, but giving $him orders is often an exercise in <<if canSee($activeSlave)>>pointing and gesturing, or when that fails, simply<<else>>frustration, ending with you simply<</if>> pushing and pulling $his usually-compliant body into the proper place. <<case "kitchen molestation">> @@ -2656,7 +2658,7 @@ $He's chosen to do it in a dark corner and looks like $he's hurrying; $he clearl It's a sunny morning, with rare mild weather, and you're stuck at your desk, as usual. After the typical rush of slaves clears the kitchen after the breakfast hour, you see one peel off to stand out on a balcony for a moment with the light on $his face. You pay little attention to such a trifle, but then notice that it's <<EventNameLink>>. <br><br> -You head out and find that $he's looking up at the sun with $his <<= App.Desc.eyeColor>> eyes closed, letting the warmth and light envelop $his +You head out and find that $he's looking up at the sun with $his <<= App.Desc.eyeColor($activeSlave)>> eyes closed, letting the warmth and light envelop $his <<if ($activeSlave.face > 95)>> incredible <<elseif ($activeSlave.face > 40)>> @@ -2915,7 +2917,7 @@ $He comes to a stop right beside your elbow, waiting for further direction, just <</if>> showing unmistakably how badly $he needs release. <<else>> - $He keeps $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>> slightly downcast, $his back arched, $his chest pressed outward, and $his bottom stuck out a bit. $He's the perfect picture of an obedient little sex slave<<if $activeSlave.height > 185>> (though, of course, $he's anything but physically small)<</if>>. + $He keeps $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>> slightly downcast, $his back arched, $his chest pressed outward, and $his bottom stuck out a bit. $He's the perfect picture of an obedient little sex slave<<if $activeSlave.height > 185>> (though, of course, $he's anything but physically small)<</if>>. <</if>> <<case "tittymonster inspection">> @@ -3479,7 +3481,7 @@ $His <</if>> malnourished. <</if>> -$His $activeSlave.faceShape face is clearly conflicted, and <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor>> eyes shift<<else>>$he glances about<</if>> with nervous energy. $He is clearly unsure whether $he should say what $he came here to say. +$His $activeSlave.faceShape face is clearly conflicted, and <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes shift<<else>>$he glances about<</if>> with nervous energy. $He is clearly unsure whether $he should say what $he came here to say. <br><br> When you finally ask $him what $he wants, $he hesitates for a moment and then suddenly seems to gain $his courage<<if $activeSlave.accent > 1>>, speaking in an atrociously thick accent<<elseif $activeSlave.accent > 0>>, speaking in a cute little accent<</if>>. "Plea<<s>>e, <<Master>> I'm <<s>>o hungry! It <<s>>eem<<s>> like all I get to eat i<<s>> cum. It'<<s>> di<<s>>gu<<s>>ting! Plea<<s>>e! I have to eat <<s>>o much of it. Can I be allowed to eat regular food again? Plea<<s>>e, <<Master>>, I'm <<s>>o hungry. I need real food!" @@ -3718,7 +3720,7 @@ The slutty $desc wants it badly. You happen to come across <<EventNameLink>> during one of $his rest periods. $He's lying on a couch in the slave areas, <<if canSee($activeSlave)>>staring at the ceiling above $him<<else>>leaning back<</if>> with a dreamy expression on $his face. $He's <<if $activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation">>touching $himself idly.<<else>>not allowed to touch $himself, but $he's extremely aroused.<</if>> Whatever's on $his mind, it's so absorbing that $he doesn't realize you're there until you're standing over $him. <br><br> -"<<S>>orry, <<Master>>," $he <<say>>s apologetically, <<if $activeSlave.belly >= 10000>>struggling<<else>>scrambling<</if>> to $his feet. "I didn't noti<<c>>e you there." <<if canSee($activeSlave)>>Seeing your questioning look<<elseif canHear($activeSlave)>>Hearing your lack of response<<else>>Sensing a request to continue<</if>>, $he explains $himself further. "I was ju<<s>>t thinking about, um, my favorite pla<<c>>e. I can almo<<s>>t get off ju<<s>>t by thinking about it." There's a wild, perverted gleam <<if canSee($activeSlave)>>in $his <<= App.Desc.eyeColor>> eyes<<else>>on $his face<</if>>. $He's a confirmed sadist, so whatever $his favorite mental masturbation is probably quite strong. +"<<S>>orry, <<Master>>," $he <<say>>s apologetically, <<if $activeSlave.belly >= 10000>>struggling<<else>>scrambling<</if>> to $his feet. "I didn't noti<<c>>e you there." <<if canSee($activeSlave)>>Seeing your questioning look<<elseif canHear($activeSlave)>>Hearing your lack of response<<else>>Sensing a request to continue<</if>>, $he explains $himself further. "I was ju<<s>>t thinking about, um, my favorite pla<<c>>e. I can almo<<s>>t get off ju<<s>>t by thinking about it." There's a wild, perverted gleam <<if canSee($activeSlave)>>in $his <<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>on $his face<</if>>. $He's a confirmed sadist, so whatever $his favorite mental masturbation is probably quite strong. <<case "ass fitting">> @@ -4140,7 +4142,7 @@ in front of you, awaiting further direction. <</if>> showing unmistakably how badly $he needs release. <<else>> - $He keeps $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>face<</if>> slightly downcast, $his hands lightly smoothing the folds from $his tight skirt while $his breasts visibly rise and fall under $his even tighter blouse<<if $activeSlave.belly >= 5000>>. Between the two, there is little $he can do to cover $his exposed <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>middle<</if>><</if>>. $He's the perfect picture of an attentive little old world girlfriend<<if $activeSlave.height > 185>> (though, of course, $he's anything but physically small)<</if>>. + $He keeps $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>> slightly downcast, $his hands lightly smoothing the folds from $his tight skirt while $his breasts visibly rise and fall under $his even tighter blouse<<if $activeSlave.belly >= 5000>>. Between the two, there is little $he can do to cover $his exposed <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>middle<</if>><</if>>. $He's the perfect picture of an attentive little old world girlfriend<<if $activeSlave.height > 185>> (though, of course, $he's anything but physically small)<</if>>. <</if>> <<case "devoted shortstack">> @@ -4171,7 +4173,7 @@ in front of you, awaiting further direction. <<else>> $loli <</if>> -is looking good despite $his diminutive height. When $he raises $his arms above $his head to submit to an inspection under your gaze, the top of $his $activeSlave.hColor-haired head doesn't even reach your chest. Despite the discrepancy between your height and $hers, you notice an unmistakable flush of embarrassment tinging $his cheeks. <<if canSee($activeSlave)>>$His <<= App.Desc.eyeColor>> eyes flick up to gaze at you, but $he must crane $his head upwards as well to meet your gaze<<elseif canHear($activeSlave)>>$His ears perk up to hear at the sound of some minute noise you made, before $he cranes $his head upwards so that $his sightless eyes may meet your gaze<<else>>$He knows from training and experience how tall you are, and uses this knowledge to crane $his head exactly so that your gaze meets $his face directly<</if>>. +is looking good despite $his diminutive height. When $he raises $his arms above $his head to submit to an inspection under your gaze, the top of $his $activeSlave.hColor-haired head doesn't even reach your chest. Despite the discrepancy between your height and $hers, you notice an unmistakable flush of embarrassment tinging $his cheeks. <<if canSee($activeSlave)>>$His <<= App.Desc.eyeColor($activeSlave)>> eyes flick up to gaze at you, but $he must crane $his head upwards as well to meet your gaze<<elseif canHear($activeSlave)>>$His ears perk up to hear at the sound of some minute noise you made, before $he cranes $his head upwards so that $his sightless eyes may meet your gaze<<else>>$He knows from training and experience how tall you are, and uses this knowledge to crane $his head exactly so that your gaze meets $his face directly<</if>>. <<if !canTalk($activeSlave)>> $He uses gestures to beg your pardon, even as $he continues to blush rosily, and explains that $he doesn't understand why you keep $him in your penthouse, when there are such tall, beautiful slaves in abundance in your arcology. $He pauses, shuffling about a little shamefacedly before signing that $he thinks their bodies could be more fit to pleasure you. <<else>> @@ -4255,7 +4257,7 @@ face that the gag is a distressing addition to $his life. When you don't immedia <<else>> fatigue after $his long day. <</if>> -From $his new position beneath you, $he must crane $his neck so $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes<<else>>sightless eyes<</if>> may meet yours. With $his mouth gagged, $he is almost the perfect image of a submissive slave. +From $his new position beneath you, $he must crane $his neck so $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>sightless eyes<</if>> may meet yours. With $his mouth gagged, $he is almost the perfect image of a submissive slave. <<case "back stretch">> @@ -4793,7 +4795,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <br><<link "Embrace $him">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You gently grab $his face and stare deeply into $his <<= App.Desc.eyeColor>> eyes. <<if canSee($activeSlave)>>They are full of life as opposed to their usual dullness<<else>>They are as dull as always, but that isn't $his fault. $His facial expressions at the act tell you all you need to know<</if>>. You pull your wife into a tight embrace — $him coming back to you is more than enough of a gift; $he needn't do anything more for now. You pull the covers over the both of you and begin to doze off, smiling at the warmth cuddling ever closer to you. + You gently grab $his face and stare deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<if canSee($activeSlave)>>They are full of life as opposed to their usual dullness<<else>>They are as dull as always, but that isn't $his fault. $His facial expressions at the act tell you all you need to know<</if>>. You pull your wife into a tight embrace — $him coming back to you is more than enough of a gift; $he needn't do anything more for now. You pull the covers over the both of you and begin to doze off, smiling at the warmth cuddling ever closer to you. $He is @@.green;no longer mindbroken@@ and thanks to your care deeply and sincerely @@.hotpink;loves@@ and @@.mediumaquamarine;trusts@@ you. <<set $activeSlave.devotion = 100, $activeSlave.oldDevotion = 100, $activeSlave.trust = 100, $activeSlave.oldTrust = 100, $activeSlave.sexualQuirk = "romantic", $activeSlave.fetish = "none", $activeSlave.fetishKnown = 1>> <<set $activeSlave.intelligence = $genePool[_ress].intelligence>> @@ -5966,7 +5968,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<else>> kid <</if>> - cuddled up beside you. <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> lowers the temperature in the room and directs another slave to quietly put a couple of warm blankets over you and $activeSlave.slaveName. When you finally wake, several hours later, the effect is magical. You're ensconced in a little island of warmth and comfort, a tiny universe of relaxation populated only by yourself and your slave. $He woke before you did, but remained still to avoid disturbing you. <<if canSee($activeSlave)>>From the lazy, contented look in $his <<= App.Desc.eyeColor>> eyes as $he meets your waking gaze, $he did not mind waiting. @@.hotpink;$He was already looking at your face when you opened your eyes.@@<<else>>From the serene expression on $his face as $he meets your waking gaze, $he did not mind waiting. @@.hotpink;$He was already looking at your face, lost in the soothing sounds of your breathing, when you opened your eyes.@@<</if>> + cuddled up beside you. <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> lowers the temperature in the room and directs another slave to quietly put a couple of warm blankets over you and $activeSlave.slaveName. When you finally wake, several hours later, the effect is magical. You're ensconced in a little island of warmth and comfort, a tiny universe of relaxation populated only by yourself and your slave. $He woke before you did, but remained still to avoid disturbing you. <<if canSee($activeSlave)>>From the lazy, contented look in $his <<= App.Desc.eyeColor($activeSlave)>> eyes as $he meets your waking gaze, $he did not mind waiting. @@.hotpink;$He was already looking at your face when you opened your eyes.@@<<else>>From the serene expression on $his face as $he meets your waking gaze, $he did not mind waiting. @@.hotpink;$He was already looking at your face, lost in the soothing sounds of your breathing, when you opened your eyes.@@<</if>> <br><br> Since you're awake, $he rolls onto $his face and then further, to place $his back and <<if $activeSlave.butt > 5>>massive ass<<elseif $activeSlave.butt > 2>>healthy rear<<else>>butt<</if>> against you, making sure to drag $his $activeSlave.nipples nipples against you the whole way. You accept the invitation and spoon $him, <<if $activeSlave.height >= 185>>your bodies lining up well, since $he's as tall as you are<<elseif $activeSlave.height >= 160>>$his body fitting neatly within the embrace of your larger frame<<else>>$his small body fitting entirely within your embrace<</if>>. $His <<if $activeSlave.muscles > 30>>muscles<<else>>softness<</if>> and warmth awaken your desire, and $he feels <<if $PC.dick == 1>>your stiffening cock beginning to press against <<if $activeSlave.amp == 1>>$his perineum. $He shifts to slide $himself along its shaft<<if $PC.vagina == 1>> and down to where your pussy begins<</if>><<else>>the place between $his thighs. $He shifts to let your dick slide between them, and reaches down to massage its head<</if>><<else>>heat building against $his butt. <<if $activeSlave.amp == 1>>$He does $his best to grind against you, since $he can't caress you without hands<<else>>$He snakes a hand behind $himself to caress your womanhood, and begins to gently masturbate with the other<</if>><</if>>. <<if $PC.dick == 1>> @@ -6501,7 +6503,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<else>> going limp and slumping down onto <</if>> - the sheets beneath $him. When you climax soon after, $he expects you to get off $him so $he can clean up, but instead, the <<if $PC.dick == 1>>cock up $his butt returns to rock hardness<<if $PC.vagina == 1>> as you use a little manual stimulation of your own cunt to get your cock stiff again<</if>> and<<else>>strap-on up $his butt<</if>> goes back to pumping in and out of $him. $He slides a hand under $himself to <<if $activeSlave.vagina == -1>>jerk off<<else>>rub $himself<</if>> this time. When you finally finish, a long time later, the exhausted slave is lying on a bed wet with lube, <<if ($PC.dick == 1) || ($activeSlave.dick > 0)>> ejaculate,<</if>><<if ($PC.dick == 0) || ($activeSlave.vagina > -1)>> girlcum,<</if>> drool, and sweat. $He doesn't care, and you let $him curl up in $his sex-soaked nest. As you leave, you think $he's asleep already, but <<if !canSee($activeSlave)>>as you go<<else>>$his <<= App.Desc.eyeColor>> eyes open a slit as you go and<</if>> $he murmurs, @@.hotpink;Thank<<s>>,@@ <<Master>>." + the sheets beneath $him. When you climax soon after, $he expects you to get off $him so $he can clean up, but instead, the <<if $PC.dick == 1>>cock up $his butt returns to rock hardness<<if $PC.vagina == 1>> as you use a little manual stimulation of your own cunt to get your cock stiff again<</if>> and<<else>>strap-on up $his butt<</if>> goes back to pumping in and out of $him. $He slides a hand under $himself to <<if $activeSlave.vagina == -1>>jerk off<<else>>rub $himself<</if>> this time. When you finally finish, a long time later, the exhausted slave is lying on a bed wet with lube, <<if ($PC.dick == 1) || ($activeSlave.dick > 0)>> ejaculate,<</if>><<if ($PC.dick == 0) || ($activeSlave.vagina > -1)>> girlcum,<</if>> drool, and sweat. $He doesn't care, and you let $him curl up in $his sex-soaked nest. As you leave, you think $he's asleep already, but <<if !canSee($activeSlave)>>as you go<<else>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes open a slit as you go and<</if>> $he murmurs, @@.hotpink;Thank<<s>>,@@ <<Master>>." <<set $activeSlave.devotion += 5>> <<= AnalVCheck(5)>> <</replace>> @@ -7708,7 +7710,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<EventNameDelink $activeSlave>> <<replace "#result">> The simple thing to do would be to sedate $activeSlave.slaveName and haul $him to the remote surgery for $his punishment. That would deny $him the added weight of terror, however, and would stop your other slaves from learning by the sight of it. So, you restrain $him, pronounce judgment, and drag $his struggling, weeping form through the penthouse to the surgery. You make sure to point out all the things $he'll never get to see again. $activeSlave.slaveName is @@.mediumorchid;filled with implacable hatred@@ by this terrible punishment, and $his @@.red;health is slightly damaged@@ by the surgery. However, every single one of your other slaves not already obedient to you is @@.gold;utterly terrified@@ by the example set. - <<set $activeSlave.devotion -= 50, $activeSlave.trust -= 50, $activeSlave.health -= 20, $activeSlave.eyes = -2, $activeSlave.eyeColor = "dulled " + $activeSlave.eyeColor>> + <<set $activeSlave.devotion -= 50, $activeSlave.trust -= 50, $activeSlave.health -= 20, $activeSlave.eyes = -2, $activeSlave.eyeColor = "dulled " + $activeSlave.eyeColor($activeSlave)>> <<set $slaves.forEach(function(s) { if (s.devotion <= 20) { s.trust -= 10; } })>> <</replace>> <</link>> @@ -9271,7 +9273,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<link "Cheer $him up">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You close in on $him, and $he starts to present $himself with the force of long habit. However, you take $him by the hand and draw $him in close, running your fingertips along $his cheekbone, looking into $his <<= App.Desc.eyeColor>> eyes. <<if canSee($activeSlave)>>$He only holds your gaze for a brief moment before blushing and looking down again,<<else>>Once $he feels your hand stop, $he quickly glances down while<</if>> muttering another apology. You raise $his chin again with a gentle hand and give $him a deep kiss. After a moment $he hugs you with almost painful + You close in on $him, and $he starts to present $himself with the force of long habit. However, you take $him by the hand and draw $him in close, running your fingertips along $his cheekbone, looking into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<if canSee($activeSlave)>>$He only holds your gaze for a brief moment before blushing and looking down again,<<else>>Once $he feels your hand stop, $he quickly glances down while<</if>> muttering another apology. You raise $his chin again with a gentle hand and give $him a deep kiss. After a moment $he hugs you with almost painful <<if $activeSlave.belly >= 100000>> fierceness, a feat given the size of $his _belly <<if $activeSlave.bellyPreg >= 3000>>gravid <</if>>belly, where <<elseif $activeSlave.belly >= 5000>> @@ -9895,7 +9897,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<link "Join $him in the shower">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You step into the running water and help $him to $his feet with exaggerated gallantry. $He seems surprised <<if canSee($activeSlave)>>and stares at<<else>>faces<</if>> you through the steam for a moment before looking away with a blush. Before long you have $his back against the shower wall, $his titanic udders<<if $activeSlave.belly >= 5000>> and _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>> belly<</if>> offering an amusing challenge as they slide soapily between you as you fuck. $He comes in no time at all, and a brief massage of $his huge soapy nipples produces a whimpering aftershock orgasm. <<if canSee($activeSlave)>>$His <<= App.Desc.eyeColor>> eyes stare straight into yours<<else>>You stare into $his <<= App.Desc.eyeColor>> eyes<</if>> as $he writhes with overstimulation, @@.mediumaquamarine;$his trust in your stewardship of $his pleasure total.@@ + You step into the running water and help $him to $his feet with exaggerated gallantry. $He seems surprised <<if canSee($activeSlave)>>and stares at<<else>>faces<</if>> you through the steam for a moment before looking away with a blush. Before long you have $his back against the shower wall, $his titanic udders<<if $activeSlave.belly >= 5000>> and _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>> belly<</if>> offering an amusing challenge as they slide soapily between you as you fuck. $He comes in no time at all, and a brief massage of $his huge soapy nipples produces a whimpering aftershock orgasm. <<if canSee($activeSlave)>>$His <<= App.Desc.eyeColor($activeSlave)>> eyes stare straight into yours<<else>>You stare into $his <<= App.Desc.eyeColor($activeSlave)>> eyes<</if>> as $he writhes with overstimulation, @@.mediumaquamarine;$his trust in your stewardship of $his pleasure total.@@ <<if canDoVaginal($activeSlave)>><<= VaginalVCheck()>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck()>><</if>> <<set $activeSlave.devotion += 4>> <</replace>> @@ -10050,7 +10052,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<EventNameDelink $activeSlave>> <<replace "#result">> As the sterile doors of the surgical equipment hiss closed over $him, you whisper in $his ear that $he's about to be cut up. $He looks at you with a mix of fear and wild excitement. After nearly a whole week of constant surgery and expensive drug-induced recovery, <<if canSee($activeSlave)>>$he finally gets to see $his new body in the mirror<<elseif $activeSlave.amp == 1>>you finally describe all the new implants in $his body and how they make $him look<<else>>you finally let $him feel $his new body, even helping $his hands to the less obvious changes<</if>>. $He has cartoonishly huge lips, boobs, and buttocks; $he looks like a caricature of a bimbo. $He cries with gratitude <<if canSee($activeSlave)>>to see $himself<<elseif $activeSlave.amp == 1>>to hear how $he looks<<else>>as $he feels $his new body<</if>>, and can scarcely wait to recover enough to get fucked. @@.hotpink;$He has become extremely devoted to you.@@ - <<run cashX(-125, "slaveSurgery", $activeSlave)>> + <<run cashX(forceNeg(Math.trunc(125*$upgradeMultiplierMedicine)), "slaveSurgery", $activeSlave)>> <<set $activeSlave.devotion += 10>> <<set _surgeryAddict = Math.clamp(20000-$activeSlave.boobs, 0, 2000)>> <<set $activeSlave.boobsImplant += _surgeryAddict, $activeSlave.boobs += _surgeryAddict>> @@ -10248,7 +10250,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address $he says fervently, and gestures at the tablet. "I've noti<<c>>ed a couple of the girl<<s>> working better together re<<c>>ently, <<s>>o I'm making <<s>>ome minor adju<<s>>tment<<s>> to give them more <<sh>>ift<<s>> together." <br><br> - You're sure $he'll do $his best, and you tell $him so. $He thanks you again, and you both go back to your work. Though your Head Girl continues manipulating $his tablet diligently, $he can't seem to stop $himself from @@.hotpink;stealing the occasional glance at you.@@ $His <<= App.Desc.eyeColor>> eyes, dark in the dimness of the office, seem to have an unaccountable sheen. + You're sure $he'll do $his best, and you tell $him so. $He thanks you again, and you both go back to your work. Though your Head Girl continues manipulating $his tablet diligently, $he can't seem to stop $himself from @@.hotpink;stealing the occasional glance at you.@@ $His <<= App.Desc.eyeColor($activeSlave)>> eyes, dark in the dimness of the office, seem to have an unaccountable sheen. <<if $assistant != 0>> <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>>'s $assistantAppearance avatar appears on your desktop, glowing brightly, and ruins the moment. "$activeSlave.slaveName loooves $his <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Maaaster<<else>>Miiistress<</if>>," $he taunts, <<switch $assistantAppearance>> @@ -10587,7 +10589,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <br><<link "Work on broadening $his sexual horizons">> <<EventNameDelink $activeSlave>> <<replace "#result">> - $He seems a little too focused on $his hot cunt. You order $him to get up on your desk, and $he obeys eagerly, $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes shining<<else>>facial expression filled<</if>> with lust. <<if canSee($activeSlave)>>They focus<<else>>$He focuses<</if>> on <<if $PC.dick == 1>>your cock as you bring it to bear<<if $PC.vagina == 1>>, not to mention the pussy at its base<</if>><<else>>your strap-on as you step into it<</if>>, and $he's about to express $his gratitude when you push the slave, who is sitting on the edge of your desk with $his legs spread to provide you access to $his pussy, over onto $his back. $He barely has time to reorient $himself when $he feels <<if $activeSlave.anus > 2>>a sudden fullness in $his loose ass<<elseif $activeSlave.anus == 2>>a presence inside $his experienced ass<<else>>something starting to push its way up $his poor little bottom<</if>>. + $He seems a little too focused on $his hot cunt. You order $him to get up on your desk, and $he obeys eagerly, $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes shining<<else>>facial expression filled<</if>> with lust. <<if canSee($activeSlave)>>They focus<<else>>$He focuses<</if>> on <<if $PC.dick == 1>>your cock as you bring it to bear<<if $PC.vagina == 1>>, not to mention the pussy at its base<</if>><<else>>your strap-on as you step into it<</if>>, and $he's about to express $his gratitude when you push the slave, who is sitting on the edge of your desk with $his legs spread to provide you access to $his pussy, over onto $his back. $He barely has time to reorient $himself when $he feels <<if $activeSlave.anus > 2>>a sudden fullness in $his loose ass<<elseif $activeSlave.anus == 2>>a presence inside $his experienced ass<<else>>something starting to push its way up $his poor little bottom<</if>>. <br><br> $He cannot hide $his disappointment, but has the presence of mind not to protest as you assfuck $him hard enough that $his <<if $activeSlave.boobs > 2000>>ridiculous tits almost hit $him in the face with each stroke<<elseif $activeSlave.boobs > 800>>big boobs bounce all over the place<<else>>boobs bounce<</if>><<if $activeSlave.belly >= 10000>> and taut belly is forced back<</if>>. $His orgasm sneaks up on $him, and comes by surprise, forcing a squeal out of $him as $his sphincter tightens down involuntarily. $He gets up gingerly, clearly feeling sore, <<if (random(0,1) == 1)>> @@ -10939,7 +10941,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<else>> $He <<say>>s, a little tearfully, "<<Master>>, thi<<s>> guy wanted to u<<s>>e my butt in public. <<S>>o of cour<<s>>e I let him, and he made me <<s>>it in hi<<s>> lap to do it, and held my leg<<s>> back <<s>>o everyone could <<s>>ee! And then another guy thought it wa<<s>> hot and waited, and then fucked me in my a<<ss>> too. Another girl finally noti<<c>>ed and re<<s>>cued me after four cock<<s>>, <<Master>>. I'm really <<s>>ore." <</if>> - $He <<if canSee($activeSlave)>>looks up at you with big <<= App.Desc.eyeColor>> eyes<<else>>gazes at you<</if>> for a long moment, a final tear leaking down $his $activeSlave.skin cheek, before $he suddenly + $He <<if canSee($activeSlave)>>looks up at you with big <<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>gazes at you<</if>> for a long moment, a final tear leaking down $his $activeSlave.skin cheek, before $he suddenly <<if !canTalk($activeSlave)>> shakes with mute laughter. <<else>> @@ -11819,7 +11821,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <br><<link "Drive up $his anal count">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You make a ceremony of querying $assistantName, aloud for everyone to hear, into $activeSlave.slaveName's sexual history. $He soon realizes this is a sort of recitation of $his service for the benefit of the other slaves, and $he stands a little straighter. $His <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes glitter<<else>>face beams<</if>> with @@.mediumaquamarine;pride@@ as $assistantName finishes, "...and $his anus has been penetrated $activeSlave.analCount times." You announce that $activeSlave.analCount isn't nearly enough, detail a slave to fetch you a comfortable chair, seat yourself, and draw the compliant $activeSlave.slaveName's head down towards your <<if $PC.dick == 0>>pussy<<else>>cock<</if>>. $He gets eagerly to work, surrounded by a circle of slaves staring at the show. You select a favored girl and tell $him to get to work driving that anal count up. $activeSlave.slaveName keeps <<if $PC.dick == 0>>eating you out<<else>>sucking your dick<</if>> as the chosen girl pulls $activeSlave.slaveName's hips up a little and + You make a ceremony of querying $assistantName, aloud for everyone to hear, into $activeSlave.slaveName's sexual history. $He soon realizes this is a sort of recitation of $his service for the benefit of the other slaves, and $he stands a little straighter. $His <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes glitter<<else>>face beams<</if>> with @@.mediumaquamarine;pride@@ as $assistantName finishes, "...and $his anus has been penetrated $activeSlave.analCount times." You announce that $activeSlave.analCount isn't nearly enough, detail a slave to fetch you a comfortable chair, seat yourself, and draw the compliant $activeSlave.slaveName's head down towards your <<if $PC.dick == 0>>pussy<<else>>cock<</if>>. $He gets eagerly to work, surrounded by a circle of slaves staring at the show. You select a favored girl and tell $him to get to work driving that anal count up. $activeSlave.slaveName keeps <<if $PC.dick == 0>>eating you out<<else>>sucking your dick<</if>> as the chosen girl pulls $activeSlave.slaveName's hips up a little and <<if $activeSlave.butt > 18>> struggles into $his immense butt. <<elseif $activeSlave.butt > 10>> @@ -14236,7 +14238,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <</if>> thighs quivering a little from supporting $his body in its perch atop the machine, and from the fullness of $his anus. <<= AnalVCheck(3)>> - $He knows this is going to be challenging, and is breathing deeply, doing $his best to stay relaxed. You cannot resist slapping your <<if $PC.dick == 1>>big cock lightly<<else>>lubricated strap-on<</if>> against $his cheek, producing a groan of apprehension. + $He knows this is going to be challenging, and is breathing deeply, doing $his best to stay relaxed. You cannot resist slapping your <<if $PC.dick == 1>>big cock lightly<<else>>lubricated strap-on<</if>> against $his cheek, producing a groan of apprehension. <br><br> You push $him gently backward, letting $him get accustomed to the new angle.<<if $activeSlave.boobs > 2000>> $His monstrous tits spread to either side of $his <<if $activeSlave.belly >= 5000>>_belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<<else>>now upright torso<</if>>, and you take a moment to play with them as $he prepares $himself.<</if>> <<if canDoVaginal($activeSlave)>> @@ -14580,18 +14582,18 @@ You tell $him kindly that you understand, and that $he'll be trained to address <</if>> slave's shoulders possessively, and name them. "<<Sh>>oulder<<s>>." <br><br> - You continue from there. "Neck," "Chin," "Lip<<s>>," "Che<<s>>t," "Boob<<s>>," "N-nipple<<if $activeSlave.nipples == "fuckable">>cunt<</if>><<s>>," "Belly," "Hip<<s>>," + You continue from there. "Neck. Chin. Lip<<s>>. Che<<s>>t. Boob<<s>>. N-nipple<<if $activeSlave.nipples == "fuckable">>cunt<</if>><<s>>. Belly. Hip<<s>>, <<if ($activeSlave.dick > 0)>> <<if ($activeSlave.balls > 0)>> - "C-cock, oh <<Master>>, p-plea<<s>>e, augh, ball<<s>>," + c-cock, oh <<Master>>, p-plea<<s>>e, augh, ball<<s>>, <<else>> - "B-bitchclit, oh <<Master>>, p-plea<<s>>e," + b-bitchclit, oh <<Master>>, p-plea<<s>>e, <</if>> <</if>> <<if ($activeSlave.vagina > -1)>> - "Pu<<ss>>y," "Cliiiiiit, oh <<Master>> n-nuh," + pu<<ss>>y. Cliiiiiit, oh <<Master>> n-nuh, <</if>> - "Butt," and finally, "B-butt, um, butthole." + Butt," and finally, "B-butt, um, butthole." <br><br><span id="result2"> <<link "Now let $him review">> <<replace "#result2">> @@ -16403,7 +16405,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<link "Make love to $him">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You crane your neck down and kiss $him on the lips. $He awakens slowly, gently, $his <<= App.Desc.eyeColor>> eyes fluttering open, looking black in the nighttime gloom. $He smiles into your mouth, and you feel $his pulse quicken through the extensive contact down your bodies. You interlace your fingers between $hers and turn, pressing $him back down into the soft sheets. $He opens $himself for you, spreading $his legs wide and embracing you with them, making sure to run $his heels up the backs of your calves in a way that sends a shiver up your spine. Feeling this through your kissing mouths, $he smiles into you, a pleased expression $he maintains as you + You crane your neck down and kiss $him on the lips. $He awakens slowly, gently, $his <<= App.Desc.eyeColor($activeSlave)>> eyes fluttering open, looking black in the nighttime gloom. $He smiles into your mouth, and you feel $his pulse quicken through the extensive contact down your bodies. You interlace your fingers between $hers and turn, pressing $him back down into the soft sheets. $He opens $himself for you, spreading $his legs wide and embracing you with them, making sure to run $his heels up the backs of your calves in a way that sends a shiver up your spine. Feeling this through your kissing mouths, $he smiles into you, a pleased expression $he maintains as you <<if $activeSlave.belly >= 300000 && $PC.belly >= 5000>> struggle to find a position to handle both your pregnancy and $his <<if $activeSlave.bellyPreg >= 3000>>_belly gravid middle<<else>>_belly belly<</if>> and <<elseif $activeSlave.belly >= 300000>> @@ -16886,7 +16888,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <br><<link "Double penetrate $his mouth for insolence">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You step forward and caress the slave's throat, telling $him to suck like a good little $desc. You make no threat, but give $him the order in a voice of brass. $He knows what you can do to $him, and scrabbles forward to obey, @@.gold;terribly frightened.@@ $His fear is justified. You announce that $he's avoided serious punishment, but $he still needs correction for $him hesitation and insolence. $He can't beg or even moan, since $he's being facefucked by the feeder dildo by now, but $his <<= App.Desc.eyeColor>> eyes widen in terror. $He <<if canSee($activeSlave)>>can't watch you, since $he can't turn $his head,<<else>>can't see what you are doing,<</if>> so $he has almost no time to prepare when you haul $him head most of the way off the feeder and shove <<if $PC.dick == 1>>your own phallus<<else>>a strap-on<</if>> into $his mouth, too. $He gags instantly, almost vomiting, but forces $himself to relax as you begin to thrust into $his throat, alternately with the feeder. The liquid food provides plenty of lubrication, and a lot of liquid for $him to gag on, and before long $he's a degraded, humiliating mess. $He often clamps $his eyes shut as $he desperately concentrates on breathing, squeezing the tears out to run down $his $activeSlave.skin cheeks. + You step forward and caress the slave's throat, telling $him to suck like a good little $desc. You make no threat, but give $him the order in a voice of brass. $He knows what you can do to $him, and scrabbles forward to obey, @@.gold;terribly frightened.@@ $His fear is justified. You announce that $he's avoided serious punishment, but $he still needs correction for $him hesitation and insolence. $He can't beg or even moan, since $he's being facefucked by the feeder dildo by now, but $his <<= App.Desc.eyeColor($activeSlave)>> eyes widen in terror. $He <<if canSee($activeSlave)>>can't watch you, since $he can't turn $his head,<<else>>can't see what you are doing,<</if>> so $he has almost no time to prepare when you haul $him head most of the way off the feeder and shove <<if $PC.dick == 1>>your own phallus<<else>>a strap-on<</if>> into $his mouth, too. $He gags instantly, almost vomiting, but forces $himself to relax as you begin to thrust into $his throat, alternately with the feeder. The liquid food provides plenty of lubrication, and a lot of liquid for $him to gag on, and before long $he's a degraded, humiliating mess. $He often clamps $his eyes shut as $he desperately concentrates on breathing, squeezing the tears out to run down $his $activeSlave.skin cheeks. <<if ($suppository != 0) && ($activeSlave.drugs != "none")>>You leave the poor slave to take $his drugs up the ass, since the kitchen administers those by phallus, too. Fortunately for $him, $he doesn't object to that.<</if>> <<set $activeSlave.trust -= 4, $activeSlave.oralCount++, $oralTotal++>> <</replace>> @@ -16895,7 +16897,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <br><<link "Force-feed $him with your own cock">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You step forward and pull $him away from the feeder, telling $him that since $he doesn't like the cockfeeder $he can suck yours like a good little $desc. You make no threat, but order $him in a steely voice to suck you off until $he's earned a meal of your cum. $He knows what you can do to $him, and hurries forward to obey. $He rushes to open your clothes and get to work, but pauses when <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor>> eyes take in your massive testicles.<<else>>$his groping hand feels your massive testicles.<</if>> Realizing just how big $his meal will be, $he's obviously @@.gold;frightened.@@ You grab $his head, breaking $him out of $his shocked stillness, and explain that you can't let $him starve. If $he won't eat out of the feeder, you'll just have to feed $him some other way. With that, you ram your cock forward and start fucking $his <<if $activeSlave.face > 95>>heartbreakingly beautiful<<elseif $activeSlave.face > 10>>pretty<<else>>homely<</if>> face. After a few minutes of gagging oral, you start to approach your climax. Your thorough facefucking leaves $him unable to beg or even moan, but $his eyes widen in terror when $he realizes you're about to cum. You don't give $him any time to prepare, instead hilting yourself immediately, and letting $his throat's desperate attempts to swallow bring you over the edge. You begin your long release of pent-up jizz, spraying deciliter after deciliter of cum down $his throat and into $his stomach. By the time you've finished, you can tell $he's struggling for air and in pain from the massive quantity of thick fluid in $his stomach. You give $him a helpful hint before releasing $him, "if you take it all the way in your throat, you don't even have to taste what it's feeding you." You pull out of $his mouth and let $him go. $He gasps for air and almost immediately vomits some of your cum all over $himself, turning $him into a degraded, humiliating mess. $He lays on the floor and desperately concentrates on breathing, squeezing the tears out of $his eyes to run down $his $activeSlave.skin cheeks. + You step forward and pull $him away from the feeder, telling $him that since $he doesn't like the cockfeeder $he can suck yours like a good little $desc. You make no threat, but order $him in a steely voice to suck you off until $he's earned a meal of your cum. $He knows what you can do to $him, and hurries forward to obey. $He rushes to open your clothes and get to work, but pauses when <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes take in your massive testicles.<<else>>$his groping hand feels your massive testicles.<</if>> Realizing just how big $his meal will be, $he's obviously @@.gold;frightened.@@ You grab $his head, breaking $him out of $his shocked stillness, and explain that you can't let $him starve. If $he won't eat out of the feeder, you'll just have to feed $him some other way. With that, you ram your cock forward and start fucking $his <<if $activeSlave.face > 95>>heartbreakingly beautiful<<elseif $activeSlave.face > 10>>pretty<<else>>homely<</if>> face. After a few minutes of gagging oral, you start to approach your climax. Your thorough facefucking leaves $him unable to beg or even moan, but $his eyes widen in terror when $he realizes you're about to cum. You don't give $him any time to prepare, instead hilting yourself immediately, and letting $his throat's desperate attempts to swallow bring you over the edge. You begin your long release of pent-up jizz, spraying deciliter after deciliter of cum down $his throat and into $his stomach. By the time you've finished, you can tell $he's struggling for air and in pain from the massive quantity of thick fluid in $his stomach. You give $him a helpful hint before releasing $him, "if you take it all the way in your throat, you don't even have to taste what it's feeding you." You pull out of $his mouth and let $him go. $He gasps for air and almost immediately vomits some of your cum all over $himself, turning $him into a degraded, humiliating mess. $He lays on the floor and desperately concentrates on breathing, squeezing the tears out of $his eyes to run down $his $activeSlave.skin cheeks. <<if ($suppository != 0) && ($activeSlave.drugs != "none")>>You leave the poor slave to take $his drugs up the ass, since the kitchen administers those by phallus, too. Fortunately for $him, $he doesn't object to that.<</if>> <<set $activeSlave.trust -= 2, $activeSlave.oralCount++, $oralTotal++>> <</replace>> @@ -17051,7 +17053,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<else>> Knowing that $he'll need to get dressed before the next part of $his day, you help $him to <<if $activeSlave.livingRules == "luxurious">>$his room<<else>>the part of the common area with where clothes are kept<</if>>. $He lets you do most of the work, letting $himself be guided without a word. When you set $him on $his bed, <</if>> - there's a little unaccountable moisture in $his <<= App.Desc.eyeColor>> eyes @@.mediumaquamarine;for some reason.@@ $He gives you a kiss and thanks you prettily. + there's a little unaccountable moisture in $his <<= App.Desc.eyeColor($activeSlave)>> eyes @@.mediumaquamarine;for some reason.@@ $He gives you a kiss and thanks you prettily. <<set $activeSlave.trust += 4>> <</replace>> <</link>> @@ -17693,7 +17695,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<set $activeSlave.hColor = either("black", "blonde", "brown", "red")>> <<elseif ($arcologies[0].FSSubjugationistRace == "latina")>> <<set $activeSlave.race = "latina">> - <<set $activeSlave.skin = either("brown", "dark brown", "dark olive", "light olive", "tanned")>> + <<set $activeSlave.skin = either("brown", "dark brown", "dark olive", "light olive", "tan")>> <<set $activeSlave.hColor = either("black", "black", "brown", "brown")>> <<elseif ($arcologies[0].FSSubjugationistRace == "black")>> <<set $activeSlave.race = "black">> @@ -17705,7 +17707,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<set $activeSlave.hColor = either("black")>> <<elseif ($arcologies[0].FSSubjugationistRace == "middle eastern")>> <<set $activeSlave.race = "middle eastern">> - <<set $activeSlave.skin = either("dark olive", "light olive", "tanned")>> + <<set $activeSlave.skin = either("dark olive", "light olive", "tan")>> <<set $activeSlave.hColor = "black">> <<elseif ($arcologies[0].FSSubjugationistRace == "indo-aryan")>> <<set $activeSlave.race = "indo-aryan">> @@ -17713,7 +17715,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<set $activeSlave.hColor = "black">> <<elseif ($arcologies[0].FSSubjugationistRace == "amerindian")>> <<set $activeSlave.race = "amerindian">> - <<set $activeSlave.skin = either("dark", "light", "tanned")>> + <<set $activeSlave.skin = either("dark", "light", "tan")>> <<set $activeSlave.hColor = either("black")>> <<elseif ($arcologies[0].FSSubjugationistRace == "pacific islander")>> <<set $activeSlave.race = "pacific islander">> @@ -17729,7 +17731,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<set $activeSlave.hColor = either("black")>> <<elseif ($arcologies[0].FSSubjugationistRace == "semitic")>> <<set $activeSlave.race = "semitic">> - <<set $activeSlave.skin = either("dark olive", "light olive", "tanned")>> + <<set $activeSlave.skin = either("dark olive", "light olive", "tan")>> <<set $activeSlave.hColor = either("black")>> <<elseif ($arcologies[0].FSSubjugationistRace == "mixed race")>> <<set $activeSlave.race = "mixed race">> @@ -17877,7 +17879,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<link "Fuck $him">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You announce that you're going to fuck $his <<if $activeSlave.anus == 0>>virgin <</if>>asspussy. To your complete lack of surprise, $he can't hide $his horror at the prospect of <<if $PC.dick == 1>>having a cock inside $his<<else>>being fucked with a strap-on<</if>>, and $his <<if canSee($activeSlave)>>wide, <<= App.Desc.eyeColor>> eyes track<<else>>terrified face follows<</if>> your movements closely as you stand up and <<if $PC.dick == 1>>reveal the formidable member<<else>>don the strap-on<</if>> you're about to breed $him with. You order $him to kneel on the couch, which $he does, @@.gold;cringing in fear of being buttfucked, but knowing disobedience will be worse;@@ and then you order $him to reach down and spread $his butt for you, as wide as it'll go. $He complies, + You announce that you're going to fuck $his <<if $activeSlave.anus == 0>>virgin <</if>>asspussy. To your complete lack of surprise, $he can't hide $his horror at the prospect of <<if $PC.dick == 1>>having a cock inside $his<<else>>being fucked with a strap-on<</if>>, and $his <<if canSee($activeSlave)>>wide, <<= App.Desc.eyeColor($activeSlave)>> eyes track<<else>>terrified face follows<</if>> your movements closely as you stand up and <<if $PC.dick == 1>>reveal the formidable member<<else>>don the strap-on<</if>> you're about to breed $him with. You order $him to kneel on the couch, which $he does, @@.gold;cringing in fear of being buttfucked, but knowing disobedience will be worse;@@ and then you order $him to reach down and spread $his butt for you, as wide as it'll go. $He complies, <<if $activeSlave.butt > 12>> grabbing as much flesh as $he can of each monstrous buttock and heaving them as far apart as $he can manage in an attempt <<elseif $activeSlave.butt > 6>> @@ -18079,7 +18081,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<else>> closer than ever. <</if>> - You take your other hand and place a firm but loving grip under $his chin, lifting $his <<= App.Desc.eyeColor>>-eyed gaze to meet yours before kissing $him again. All the while, you + You take your other hand and place a firm but loving grip under $his chin, lifting $his <<= App.Desc.eyeColor($activeSlave)>>-eyed gaze to meet yours before kissing $him again. All the while, you <<if $PC.dick == 1>> fuck $him powerfully, withdrawing your dick almost all the way and then hilting yourself in $his soaked slit. <<= VaginalVCheck()>> @@ -18527,7 +18529,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<if $activeSlave.height < 170>> The short $desc has to go up on tiptoe to reach. <</if>> - "@@.hotpink;I really do love you,@@ <<Master>>," $he <<say>>s, <<if canSee($activeSlave)>><<= App.Desc.eyeColor>> eyes shining<<else>>face filled with joy<</if>>. + "@@.hotpink;I really do love you,@@ <<Master>>," $he <<say>>s, <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes shining<<else>>face filled with joy<</if>>. <<set $activeSlave.devotion += 5>> <</replace>> <</link>> @@ -18796,7 +18798,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<else>> disappointingly thin <</if>> - lips before starting to suck dick. Dissatisfied with $his reluctance, you order $him to open $his eyes and look up at you; $he obeys, the <<= App.Desc.eyeColor>> orbs glittering with a little moisture as $he concentrates on breathing past your penis. You ask if your cock <<if canTaste($activeSlave)>>tastes<<else>>feels<</if>> any different than usual. "Mmm hmm, M'," $he mumbles, producing a nice humming sensation against your cock. You tell $him that $he's <<if canTaste($activeSlave)>>tasting<<else>>feeling<</if>> another slave's <<if $activeSlave.vagina > -1>>pussy<<else>>ass<</if>>. $He gags, but only slightly, and controls $himself immediately. Your dick is desensitized from vigorous use, and $he has to suck it a long time before you cup the back of $his head, ram yourself all the way in, and blow your load straight down $his gullet. You tell $him $he's a good $desc. "Thank you, <<Master>>," $he <<say>>s @@.hotpink;submissively,@@ going back to $his polishing. + lips before starting to suck dick. Dissatisfied with $his reluctance, you order $him to open $his eyes and look up at you; $he obeys, the <<= App.Desc.eyeColor($activeSlave)>> orbs glittering with a little moisture as $he concentrates on breathing past your penis. You ask if your cock <<if canTaste($activeSlave)>>tastes<<else>>feels<</if>> any different than usual. "Mmm hmm, M'," $he mumbles, producing a nice humming sensation against your cock. You tell $him that $he's <<if canTaste($activeSlave)>>tasting<<else>>feeling<</if>> another slave's <<if $activeSlave.vagina > -1>>pussy<<else>>ass<</if>>. $He gags, but only slightly, and controls $himself immediately. Your dick is desensitized from vigorous use, and $he has to suck it a long time before you cup the back of $his head, ram yourself all the way in, and blow your load straight down $his gullet. You tell $him $he's a good $desc. "Thank you, <<Master>>," $he <<say>>s @@.hotpink;submissively,@@ going back to $his polishing. <<set $activeSlave.oralCount++, $oralTotal++>> <<set $activeSlave.devotion += 5>> <</replace>> @@ -19275,7 +19277,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<link "Gently acclimate $him to the age difference with some lovemaking">> <<EventNameDelink $activeSlave>> <<replace "#result">> - As you cross the breadth of your office to reach $activeSlave.slaveName, $he presents $himself for your sexual usage out of habit. However, you take $him by surprise by drawing $him into you arms, running the tips of your fingers through $his $activeSlave.hColor hair, and looking into $his <<= App.Desc.eyeColor>> eyes. <<if canSee($activeSlave)>>$He meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years your senior $he is<<else>>$He seems to feel the intensity of your gaze despite $his sightless eyes and blushes girlishly, as if forgetting how many years your senior $he is<</if>>. In lieu of words, you lift $his chin with a single beckoning finger and steal $his breath from $his lips with a firm kiss. Once $he's recovered $his wits $he clings to you with almost animalistic attachment. After a few moments $he moves to get down on $his knees, clearly defaulting to $his role as a sex slave in response to your unexpected intimacy. Instead, you + As you cross the breadth of your office to reach $activeSlave.slaveName, $he presents $himself for your sexual usage out of habit. However, you take $him by surprise by drawing $him into you arms, running the tips of your fingers through $his $activeSlave.hColor hair, and looking into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<if canSee($activeSlave)>>$He meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years your senior $he is<<else>>$He seems to feel the intensity of your gaze despite $his sightless eyes and blushes girlishly, as if forgetting how many years your senior $he is<</if>>. In lieu of words, you lift $his chin with a single beckoning finger and steal $his breath from $his lips with a firm kiss. Once $he's recovered $his wits $he clings to you with almost animalistic attachment. After a few moments $he moves to get down on $his knees, clearly defaulting to $his role as a sex slave in response to your unexpected intimacy. Instead, you <<if $activeSlave.belly >= 300000>> help $him to $his feet and guide $him to bed, aiding the <<if $activeSlave.bellyPreg >= 3000>>child-laden<<else>>tremendously swollen<</if>> older $woman onto the sheets before gently mounting $him. <<else>> @@ -19399,7 +19401,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<link "Gently acclimate $him to the age difference with some lovemaking">> <<EventNameDelink $activeSlave>> <<replace "#result">> - As you cross the breadth of your office to reach $activeSlave.slaveName, $he presents $himself for your sexual usage out of habit. However, you take $him by surprise by drawing $him into you arms, running the tips of your fingers through $his $activeSlave.hColor hair, and looking into $his <<= App.Desc.eyeColor>> eyes. <<if canSee($activeSlave)>>$He meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years $his senior you are<<else>>$He seems to feel the intensity of your gaze despite $his sightless eyes and blushes girlishly, as if forgetting how many years $his senior you are<</if>>. In lieu of words, you lift $his chin with a single beckoning finger and steal $his breath from $his lips with a firm kiss. Once $he's recovered $his wits $he clings to you with almost animalistic attachment. After a few moments $he moves to get down on $his knees, clearly defaulting to $his role as a sex slave in response to your unexpected intimacy. + As you cross the breadth of your office to reach $activeSlave.slaveName, $he presents $himself for your sexual usage out of habit. However, you take $him by surprise by drawing $him into you arms, running the tips of your fingers through $his $activeSlave.hColor hair, and looking into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<if canSee($activeSlave)>>$He meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years $his senior you are<<else>>$He seems to feel the intensity of your gaze despite $his sightless eyes and blushes girlishly, as if forgetting how many years $his senior you are<</if>>. In lieu of words, you lift $his chin with a single beckoning finger and steal $his breath from $his lips with a firm kiss. Once $he's recovered $his wits $he clings to you with almost animalistic attachment. After a few moments $he moves to get down on $his knees, clearly defaulting to $his role as a sex slave in response to your unexpected intimacy. Instead, you <<if $activeSlave.belly >= 300000>> help $him to $his feet and guide $him to bed, aiding the @@ -20403,7 +20405,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<default>> You grab each of $his nipples in a merciless grip and pinch them with abandon, adding a cruel twist as soon as you've got them held tightly enough. <</switch>> - $His <<= App.Desc.eyeColor>> eyes fly open and $he + $His <<= App.Desc.eyeColor($activeSlave)>> eyes fly open and $he <<if $activeSlave.voice == 1>> bellows with pain, $his deep voice very loud. <<elseif $activeSlave.voice == 2>> @@ -20556,7 +20558,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<default>> $activeSlave.clothes <</switch>> - You tell $him that you like how $he looks, and that $he's pretty. $He wasn't expecting such a blunt compliment, and <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor>> eyes flick down to<<else>>$he faces<</if>> the ground for a moment as $he blushes. "T-thank you, <<Master>>," $he stutters. + You tell $him that you like how $he looks, and that $he's pretty. $He wasn't expecting such a blunt compliment, and <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes flick down to<<else>>$he faces<</if>> the ground for a moment as $he blushes. "T-thank you, <<Master>>," $he stutters. <br><br> You add that $he looks so good that $he had better take $his nice clean <<switch $activeSlave.clothes>> diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw index 9ffe0404d7d6ded9ef2215a106ea8c52ac361139..191366441f0b8f3d0d7e13bc538ecfcb43cb646a 100644 --- a/src/uncategorized/RETS.tw +++ b/src/uncategorized/RETS.tw @@ -601,7 +601,7 @@ You look in on your slaves as a group of them heads for bed. $subSlave.slaveName <<else>> skinny <</if>> -waist to cup _his2 <<if $subSlave.dick > 0>>cock<<elseif $subSlave.vagina == -1>>asshole<<else>>pussy<</if>> possessively with one hand. $subSlave.slaveName closes _his2 <<= App.Desc.eyeColor $subSlave>> eyes. +waist to cup _his2 <<if $subSlave.dick > 0>>cock<<elseif $subSlave.vagina == -1>>asshole<<else>>pussy<</if>> possessively with one hand. $subSlave.slaveName closes _his2 <<= App.Desc.eyeColor($subSlave)>> eyes. <br><br> $activeSlave.slaveName chuckles into $subSlave.slaveName's ear, crooning, <<if $subSlave.bellyPreg >= 120000>> @@ -651,7 +651,7 @@ $subSlave.slaveName keeps _his2 eyes clamped shut and _his2 hands down at _his2 <<set _belly = bellyAdjective($subSlave)>> As you pass the showers, you hear what sounds like a muffled altercation over the noise of the showers running. You look in to see $subSlave.slaveName's $subSlave.skin body facing you, pressed hard up against the glass wall of one of the showers. _His2 <<if $subSlave.face > 95>>gorgeous<<elseif $subSlave.face > 40>>beautiful<<elseif $subSlave.face > 10>>pretty<<elseif $subSlave.face >= -10>>attractive<<else>>homely<</if>> face<<if $subSlave.belly >= 5000>> and <<if $subSlave.bellyPreg >= 5000>>pregnant<<else>>_belly<</if>> belly are<<else>> is<</if>> smashed against the glass, <<if $subSlave.belly >= 5000>>_his2 face <</if>>contorted in pain and fear. The apparent mystery is solved when you notice that there are four legs visible: there's a pair of <<if ($activeSlave.muscles > 95)>>ripped<<elseif ($activeSlave.muscles > 30)>>muscular<<elseif ($activeSlave.muscles > 5)>>toned<<else>>soft<</if>> $activeSlave.skin calves behind $subSlave.slaveName's. <<EventNameLink>>'s face appears at $subSlave.slaveName's ear, and though you can't hear exactly what $he says, it's something along the lines of "Take it, you whiny little bitch." $He's clearly got <<if canPenetrate($activeSlave)>>$his cock<<else>>a couple of fingers<</if>> up $subSlave.slaveName's asshole. <br><br> -Both slaves notice you at the same time. $subSlave.slaveName's <<if canSee($subSlave)>><<= App.Desc.eyeColor $subSlave>> eyes widen<<else>>face lights up<</if>>, but _his2 momentary look of hope is snuffed out when _he2 remembers who you are. $activeSlave.slaveName, on the other hand, looks a little doubtful. The rules allow $him to fuck your other slaves, but $he isn't quite sure what the right thing to do is, since $he isn't the most dominant force in the showers any more. +Both slaves notice you at the same time. $subSlave.slaveName's <<if canSee($subSlave)>><<= App.Desc.eyeColor($subSlave)>> eyes widen<<else>>face lights up<</if>>, but _his2 momentary look of hope is snuffed out when _he2 remembers who you are. $activeSlave.slaveName, on the other hand, looks a little doubtful. The rules allow $him to fuck your other slaves, but $he isn't quite sure what the right thing to do is, since $he isn't the most dominant force in the showers any more. <<case "repressed anal virgin">> @@ -1544,7 +1544,7 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p <<replace "#result">> You ask $activeSlave.slaveName what $he said in a neutral tone. $He gives you a quick glance, not sure whether to be aroused or afraid, but takes a breath to steady $himself and begins. For _his2 part, $subSlave.slaveName vainly tries to stop crying in front of you. When $activeSlave.slaveName reaches "<<HeP>>'<<s>> going to hold you down and <<sh>>ove <<hisP>> <<if $PC.dick == 1>>huge cockhead<<else>>bigge<<s>>t <<s>>trap-on<</if>> right up again<<s>>t thi<<s>> tight little hole," you hold up a hand to get $him to pause. $He does, and you suddenly shove $subSlave.slaveName towards the couch. _He2 crashes face-down into the cushions, already sobbing in terror. You place a hand on _his2 $activeSlave.skin back to hold _him2 down and then use the other to apply some lube to your <<if $PC.dick == 1>>penis<<else>>strap-on<</if>> before pressing it against the quivering slave's virgin anus. _He2 shakes with anguish, causing <<if $PC.dick == 1>>your cock to rub deliciously<<else>>the strap-on to slide amusingly<</if>> up and down _his2 asscrack. You make a come-on gesture to $activeSlave.slaveName, and $he continues, "You're going to do your be<<s>>t to relax like a good little _girl2." $subSlave.slaveName desperately takes in a huge breath. $activeSlave.slaveName, who has gotten the idea (and to go by $his furious masturbation, clearly likes it), gasps out, "But it'<<s>> going to be <<s>>o big! It'<<s>> going to burn!" Here you begin to apply inexorable pressure. $subSlave.slaveName manages one more deep breath, but it becomes a squeal of anguish and _he2 tries frantically to burrow into the couch, away from the penetrating <<if $PC.dick == 1>>cock<<else>>strap-on<</if>>. "You're going to panic, and <<s>>truggle, and <<heP>>'<<s>> going to hold you down and rape your butt while you <<s>>cream and cry..." - $activeSlave.slaveName trails off as $he shakes with orgasm; $he doesn't say any more, but the @@.hotpink;wild satisfaction@@ <<if canSee($activeSlave)>>in $his <<= App.Desc.eyeColor>> eyes<<else>>on $his face<</if>> says it for $him. $subSlave.slaveName, meanwhile, is a mess, but hurries @@.gold;fearfully@@ to obey your instructions to go clean _himself2, and hides _his2 @@.mediumorchid;hatred@@ as _he2 gingerly applies an enema to _his2 @@.lime;loosened butt.@@ + $activeSlave.slaveName trails off as $he shakes with orgasm; $he doesn't say any more, but the @@.hotpink;wild satisfaction@@ <<if canSee($activeSlave)>>in $his <<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>on $his face<</if>> says it for $him. $subSlave.slaveName, meanwhile, is a mess, but hurries @@.gold;fearfully@@ to obey your instructions to go clean _himself2, and hides _his2 @@.mediumorchid;hatred@@ as _he2 gingerly applies an enema to _his2 @@.lime;loosened butt.@@ <<set $activeSlave.devotion += 5>> <<set $subSlave.trust -= 10, $subSlave.devotion -= 5, $subSlave.analCount++, $subSlave.anus = 1>> <<set $analTotal++>> diff --git a/src/uncategorized/arcadeReport.tw b/src/uncategorized/arcadeReport.tw index 87c0197b9d1d7ca2e29445cc73df4f6185cf0a13..f95fd0e9b898f1bc1fdddd9844fd336f21c69ded 100644 --- a/src/uncategorized/arcadeReport.tw +++ b/src/uncategorized/arcadeReport.tw @@ -255,7 +255,7 @@ <<if $activeSlave != 0>> <<setLocalPronouns $activeSlave>> <br> $activeSlave.slaveName is low-quality merchandise, so $he has been converted into a Fuckdoll. - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<if $activeSlave == 0>> /% if not zero then technically there was an error INVALID SLAVE %/ <<set $fuckdolls++, _SL-->> <</if>> diff --git a/src/uncategorized/corporationDevelopments.tw b/src/uncategorized/corporationDevelopments.tw index 3dfe357eb9594c13d9e593c51a9492c84c28844d..b2ceef8760c28fc4760f0f9531eb81e1951e97e0 100644 --- a/src/uncategorized/corporationDevelopments.tw +++ b/src/uncategorized/corporationDevelopments.tw @@ -417,7 +417,7 @@ _corpDivWhoreSlavesRoom = corpDivWhoreSlavesRoom()>> <</if>> <<if $corpDivArcade > 0>> - <br>Sex Arcade: The division is exploiting @@.green;$corpDivArcadeSlaves slaves.@@ <<if _corpDivArcadeProc > 0>>During operations <<if _corpDivArcadeProc > 1>>@@.red;_corpDivArcadeProc slaves@@<<else>>@@.green;one slave@@<</if>> wore out.<</if>> + <br>Sex Arcade: The division is exploiting @@.green;$corpDivArcadeSlaves slaves.@@ <<if _corpDivArcadeProc > 0>>During operations <<if _corpDivArcadeProc > 1>>@@.red;_corpDivArcadeProc slaves@@<<else>>@@.green;one slave@@<</if>> wore out.<</if>> It earned @@.yellowgreen;<<print cashFormat(_corpDivArcadeRev)>>@@ in revenue. <<if $corpDivArcadeFromMarket == 1 && _corpDivArcadeSlavesRoom > 0>> It replenished its slave stock and bought <<print _corpDivArcadeSlavesRoom>> fresh slaves from the market. @@ -450,7 +450,7 @@ _corpDivWhoreSlavesRoom = corpDivWhoreSlavesRoom()>> <</if>> <<if $corpDivWhore > 0>> - <br>Escort Service: The division is whoring out @@.green;$corpDivWhoreSlaves slaves.@@ <<if _corpDivWhoreProc > 0>>During operations <<if _corpDivWhoreProc > 1>>@@.red;_corpDivWhoreProc slaves@@<<else>>@@.green;one slave@@<</if>> lost their appeal.<</if>> + <br>Escort Service: The division is whoring out @@.green;$corpDivWhoreSlaves slaves.@@ <<if _corpDivWhoreProc > 0>>During operations <<if _corpDivWhoreProc > 1>>@@.red;_corpDivWhoreProc slaves@@<<else>>@@.green;one slave@@<</if>> lost their appeal.<</if>> It earned @@.yellowgreen;<<print cashFormat(_corpDivWhoreRev)>>@@ in revenue. <<if $corpDivWhoreFromMarket == 1 && $corpDivTrainSurgerySwitch > 0 && _corpDivWhoreSlavesRoom > 0>> It replenished its slave stock and bought <<print _corpDivWhoreSlavesRoom>> trained whores from the market. diff --git a/src/uncategorized/customSlave.tw b/src/uncategorized/customSlave.tw index 27618357c8450dc6400df64204e7e1558d6f47ab..282907037a1444bdb79104034ac5d262e823ee09 100644 --- a/src/uncategorized/customSlave.tw +++ b/src/uncategorized/customSlave.tw @@ -620,11 +620,26 @@ Skin tone: <span id = "skin"> <<CustomSlaveSkin>> <</link>> | +<<link "Ivory">> + <<set $customSlave.skin = "ivory">> + <<CustomSlaveSkin>> +<</link>> +| +<<link "White">> + <<set $customSlave.skin = "white">> + <<CustomSlaveSkin>> +<</link>> +| <<link "Extremely Pale">> <<set $customSlave.skin = "extremely pale">> <<CustomSlaveSkin>> <</link>> | +<<link "Very Pale">> + <<set $customSlave.skin = "very pale">> + <<CustomSlaveSkin>> +<</link>> +| <<link "Pale">> <<set $customSlave.skin = "pale">> <<CustomSlaveSkin>> @@ -645,23 +660,18 @@ Skin tone: <span id = "skin"> <<CustomSlaveSkin>> <</link>> | -<<link "White">> - <<set $customSlave.skin = "white">> - <<CustomSlaveSkin>> -<</link>> -| <<link "Light">> <<set $customSlave.skin = "light">> <<CustomSlaveSkin>> <</link>> | -<<link "Lightened">> - <<set $customSlave.skin = "lightened">> +<<link "Light Olive">> + <<set $customSlave.skin = "light olive">> <<CustomSlaveSkin>> <</link>> | -<<link "Light Olive">> - <<set $customSlave.skin = "light olive">> +<<link "Tan">> + <<set $customSlave.skin = "tan">> <<CustomSlaveSkin>> <</link>> | @@ -670,28 +680,33 @@ Skin tone: <span id = "skin"> <<CustomSlaveSkin>> <</link>> | -<<link "Natural">> - <<set $customSlave.skin = "natural">> +<<link "Bronze">> + <<set $customSlave.skin = "bronze">> <<CustomSlaveSkin>> <</link>> | -<<link "Tanned">> - <<set $customSlave.skin = "tanned">> +<<link "Dark Olive">> + <<set $customSlave.skin = "dark olive">> <<CustomSlaveSkin>> <</link>> | -<<link "Bronzed">> - <<set $customSlave.skin = "bronzed">> +<<link "Dark">> + <<set $customSlave.skin = "dark">> <<CustomSlaveSkin>> <</link>> | -<<link "Dark Olive">> - <<set $customSlave.skin = "dark olive">> +<<link "Light Beige">> + <<set $customSlave.skin = "light beige">> <<CustomSlaveSkin>> <</link>> | -<<link "Dark">> - <<set $customSlave.skin = "dark">> +<<link "Beige">> + <<set $customSlave.skin = "beige">> + <<CustomSlaveSkin>> +<</link>> +| +<<link "Dark Beige">> + <<set $customSlave.skin = "dark beige">> <<CustomSlaveSkin>> <</link>> | diff --git a/src/uncategorized/dairyReport.tw b/src/uncategorized/dairyReport.tw index dd1e51dbf7fbcfbe5b4beb29e9d505e75f266655..88f68bcb0d943aa61afb68ca808cd50cca08380c 100644 --- a/src/uncategorized/dairyReport.tw +++ b/src/uncategorized/dairyReport.tw @@ -1114,7 +1114,7 @@ $dairyNameCaps produced <<print _milkWeek+_outputMilk>> liters of milk<<if _cumW <</if>> <</if>> <<set $activeSlave = $slaves[$i]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<break>> <</if>> <</for>> diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index 5bce7a753228d4898f6c64b28fed714d598c57b3..c9c0d80109e20c8233e21098ef3dc45f3dc36549 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -2040,7 +2040,7 @@ $He is <<if $activeSlave.markings == "birthmark" && $activeSlave.prestige == 0 && $activeSlave.pornPrestige < 2>> $He has a large, liver-colored birthmark, detracting from $his beauty. <</if>> - <<if ($activeSlave.skin == "tanned") && ($activeSlave.origSkin != "tanned")>> + <<if ($activeSlave.skin == "sun tanned")>> <<if ($activeSlave.releaseRules != "restrictive" && $activeSlave.releaseRules != "masturbation" && $activeSlave.releaseRules != "chastity")>> <<if ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> $His tan is slightly uneven, since $he enjoys @@ -2082,7 +2082,7 @@ $He is <<if ($activeSlave.hColor == "red")>> <<if ($activeSlave.hLength >= 10)>> <<if ($activeSlave.markings == "freckles") || ($activeSlave.markings == "heavily freckled")>> - <<if ($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")>> + <<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10)>> It goes perfectly with $his $activeSlave.skin skin and freckles. <</if>> <</if>> diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw index 8a44a769948b53540f29139ae1aed3b82d148a35..43657866041973194fc8f487ecbea69cbae59dba 100644 --- a/src/uncategorized/main.tw +++ b/src/uncategorized/main.tw @@ -86,6 +86,17 @@ <<if $seeFCNN == 1>><center>FCNN: <<print $fcnn.random()>> [[Hide|Main][$seeFCNN = 0]]</center><</if>> <<if ($seeDesk == 1) && ($seeFCNN == 0)>><br><</if>> +/* Check if custom rules have an assignation operator */ +<<set _RL = $defaultRules.length>> +<<set _regex = /[^!=<>]=[^=<>]/gi>> +<<set $rulesError = false>> +<<for _itr = 0; _itr < _RL; _itr++>> + <<if $defaultRules[_itr].condition.function == "custom" && $defaultRules[_itr].condition.data.match(_regex)>> + <<set $rulesError = true>> + <<break>> + <</if>> +<</for>> + __''MAIN MENU''__ //[[Summary Options]]// <<if $rulesAssistantMain != 0>> | //<span id="RAButton"><<link "Rules Assistant Options" "Rules Assistant">><</link>></span>// @@.cyan;[R]@@ @@ -94,7 +105,7 @@ __''MAIN MENU''__ //[[Summary Options]]// <<else>> | //<<link "Stop applying Rules Assistant at week end" "Main">><<set $rulesAssistantAuto = 0>><</link>>// <</if>> - | //<<link "Re-apply Rules Assistant now (this will only check slaves in the Penthouse)" "Main">><<for _i = 0;_i < _SL;_i++>><<if $slaves[_i].assignmentVisible == 1 && $slaves[_i].useRulesAssistant == 1>><<= DefaultRules($slaves[_i])>><</if>><</for>><</link>>// + | //<<if $rulesError>>@@.yellow; WARNING: some custom rules will change slave variables @@<</if>><<link "Re-apply Rules Assistant now (this will only check slaves in the Penthouse)" "Main">><<for _i = 0;_i < _SL;_i++>><<if $slaves[_i].assignmentVisible == 1 && $slaves[_i].useRulesAssistant == 1>><<= DefaultRules($slaves[_i])>><</if>><</for>><</link>>// <</if>> <<if $useSlaveSummaryTabs == 1>> @@ -129,49 +140,49 @@ __''MAIN MENU''__ //[[Summary Options]]// <<if $JobIDArray['take classes'].length > 0>> <button class="tablinks" onclick="opentab(event, 'take classes')" id="tab take classes"> Students - ($JobIDArray['take classes'].length) + ($JobIDArray['take classes'].length) </button> <</if>> <<if $JobIDArray['please you'].length > 0>> <button class="tablinks" onclick="opentab(event, 'please you')" id="tab please you"> Fucktoys - ($JobIDArray['please you'].length) + ($JobIDArray['please you'].length) </button> <</if>> <<if $JobIDArray['whore'].length > 0>> <button class="tablinks" onclick="opentab(event, 'whore')" id="tab whore"> Whores - ($JobIDArray['whore'].length) + ($JobIDArray['whore'].length) </button> <</if>> <<if $JobIDArray['serve the public'].length > 0>> <button class="tablinks" onclick="opentab(event, 'serve the public')" id="tab serve the public"> - Public Servants - ($JobIDArray['serve the public'].length) + Public Servants + ($JobIDArray['serve the public'].length) </button> <</if>> <<if $JobIDArray['be a servant'].length > 0>> <button class="tablinks" onclick="opentab(event, 'be a servant')" id="tab be a servant"> - Servants - ($JobIDArray['be a servant'].length) + Servants + ($JobIDArray['be a servant'].length) </button> <</if>> <<if $JobIDArray['get milked'].length > 0>> <button class="tablinks" onclick="opentab(event, 'get milked')" id="tab milked"> - Cows - ($JobIDArray['get milked'].length) + Cows + ($JobIDArray['get milked'].length) </button> <</if>> <<if $JobIDArray['work a glory hole'].length > 0>> <button class="tablinks" onclick="opentab(event, 'work a glory hole')" id="tab work a glory hole"> - Gloryhole - ($JobIDArray['work a glory hole'].length) + Gloryhole + ($JobIDArray['work a glory hole'].length) </button> <</if>> <<if $JobIDArray['be a subordinate slave'].length > 0>> <button class="tablinks" onclick="opentab(event, 'be a subordinate slave')" id="tab be a subordinate slave"> Subordinate slaves - ($JobIDArray['be a subordinate slave'].length) + ($JobIDArray['be a subordinate slave'].length) </button> <</if>> diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw index 4cbd0c22512aab1e01945ef223aafc24d124dcf7..f3d5229ce8c36805f512942d4fd896506aaf6b6b 100644 --- a/src/uncategorized/newSlaveIntro.tw +++ b/src/uncategorized/newSlaveIntro.tw @@ -93,7 +93,9 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.origSkin = $activeSlave.skin>> <</if>> <<if $activeSlave.skin != $activeSlave.origSkin>> - An epidermis scan reveals that $his skin was originally $activeSlave.origSkin, not $activeSlave.skin<<if $PC.medicine >= 75 || $PC.slaving >= 75>>, just as you suspected<</if>>. + <<if ($activeSlave.skin != "sun tanned") || ($activeSlave.skin != "spray tanned")>> + An epidermis scan reveals that $his skin was originally $activeSlave.origSkin, not $activeSlave.skin<<if $PC.medicine >= 75 || $PC.slaving >= 75>>, just as you suspected<</if>>. + <</if>> <</if>> diff --git a/src/uncategorized/pBioreactorPerfected.tw b/src/uncategorized/pBioreactorPerfected.tw index ac0c1f2706e53767e63a750ae250762243dec1bc..b735712326c34c48b5bc73ebad8117b0d27bbd48 100644 --- a/src/uncategorized/pBioreactorPerfected.tw +++ b/src/uncategorized/pBioreactorPerfected.tw @@ -175,7 +175,7 @@ You stop and consider the cow, from $his titanic breasts to $his <<if ($activeSl <<set $bioreactorsXY += 1>> <</if>> <</if>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $createBioreactors = 1>> <</replace>> <</link>> diff --git a/src/uncategorized/pBombing.tw b/src/uncategorized/pBombing.tw index c0d6b0ba6217e168255fd79ebb454e1dfdb5797a..34d421f2873936292394c3232eaa78c46720caf4 100644 --- a/src/uncategorized/pBombing.tw +++ b/src/uncategorized/pBombing.tw @@ -71,7 +71,7 @@ The implant is small, and went off too far ahead to do anything more than stun. <<run cashX(-1000, "event", $Bodyguard)>> <<set $Bodyguard.health -= 1000>> <<set $activeSlave = $Bodyguard>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> /* closes $Bodyguard != 0 */ <<elseif $personalArms > 0>> diff --git a/src/uncategorized/pMercenaryRomeo.tw b/src/uncategorized/pMercenaryRomeo.tw index de304d37efcbc28d137a53b5a5a48516ca79fa3c..a4b94636483b93fd770e4ba7f6128f835177589f 100644 --- a/src/uncategorized/pMercenaryRomeo.tw +++ b/src/uncategorized/pMercenaryRomeo.tw @@ -104,7 +104,7 @@ proffered by an attentive slave girl, he seems almost bashful. <</if>> $he gives the nearest camera a little nod and silently mouths the words "Thank you, <<= WrittenMaster($activeSlave)>>." Soon the romantic story of The Mercenary and the Slave $Girl is being told in bars and brothels across the Free City, with you naturally playing @@.green;a supporting role.@@ <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> <<unset $romeoID>> <</replace>> @@ -133,7 +133,7 @@ proffered by an attentive slave girl, he seems almost bashful. <<run repX(15000, "event")>> <<set _poster = "a poster for the movie that was made about the love between one of your mercenaries and " + $activeSlave.slaveName>> <<set $trinkets.push(_poster)>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> <<unset $romeoID>> <</replace>> diff --git a/src/uncategorized/pUndergroundRailroad.tw b/src/uncategorized/pUndergroundRailroad.tw index 58216bc0e6cd4dfd0a21f3e95638b0cbc3640732..fae96d32cb4fcebf856beb93ecb6795efd277ab9 100644 --- a/src/uncategorized/pUndergroundRailroad.tw +++ b/src/uncategorized/pUndergroundRailroad.tw @@ -169,7 +169,7 @@ that several nondescript citizens $he sees occasionally at work have passed a fe <<set $traitorStats.traitorBody = $slaves[_myBody].ID>> <</if>> <</if>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</replace>> <</link>> <br><<link "Tell $him to ignore the Daughters in the future">> @@ -202,7 +202,7 @@ that several nondescript citizens $he sees occasionally at work have passed a fe You announce that a treasonous slave will be publicly executed. Treason is understood in the Free Cities to be activity that tends to undermine slavery, and public interest is considerable when $activeSlave.slaveName is dragged out into a public atrium and <<if $arcologies[0].FSAztecRevivalist !== "unset">>has $his heart cut out of $his living body<<elseif $arcologies[0].FSEdoRevivalist !== "unset">>is boiled alive<<elseif $arcologies[0].FSRomanRevivalist !== "unset">>is crucified and left hanging until $he perishes<<else>>is summarily hanged<</if>>. The populace understands the necessity of the punishment, though they are @@.red;disturbed@@ that such a thing could happen in your penthouse of all places. The surviving slaves are @@.gold;terrified@@ at the display, but at least you can be sure they will remember the price of failing you. <<run repX(-500, "event", $activeSlave)>> <<run $slaves.forEach(function(s) { s.trust -= 10 + random(10); })>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</replace>> <</link>> <</if>> diff --git a/src/uncategorized/pePitFight.tw b/src/uncategorized/pePitFight.tw index 3441cacdc5c00efadca6108c39f416cdd1d8a156..c317330265f311f58965d36ffc64cc0fe8709f71 100644 --- a/src/uncategorized/pePitFight.tw +++ b/src/uncategorized/pePitFight.tw @@ -203,5 +203,5 @@ The umpire announces gravely that the fight is to the death and rings a bell. <</if>> <<if $activeSlave.health < -90>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> diff --git a/src/uncategorized/personalAssistantAppearance.tw b/src/uncategorized/personalAssistantAppearance.tw index 605a154263cdc67c0cbd31f40a74b531911030f5..e6d1e57057d0110770944a39ab6bbed633abfa2a 100644 --- a/src/uncategorized/personalAssistantAppearance.tw +++ b/src/uncategorized/personalAssistantAppearance.tw @@ -5,7 +5,7 @@ <<set _paSeed = random(1,8)>> <<switch $assistantAppearance>> <<case "monstergirl">> -_HeA's a cute little <<if $assistantFSAppearance == "supremacist">>$arcologies[0].FSSupremacistRace <<elseif $assistantFSAppearance == "subjugationist">>$arcologies[0].FSSubjugationistRace <</if>>monstergirl with <<if $arcologies[0].FSSupremacist != "unset" && $assistantFSAppearance != "subjugationist">><<if $arcologies[0].FSSupremacistRace == "black">><<print either("black", "brown", "dark brown")>><<elseif $arcologies[0].FSSupremacistRace == "white">><<print either("fair", "light", "pale")>><<elseif $arcologies[0].FSSupremacistRace == "latina">><<print either("brown", "dark brown", "dark olive")>><<elseif ["amerindian", "indo-aryan", "malay", "pacific islander"].includes($arcologies[0].FSSupremacistRace)>><<print either("dark", "light")>><<elseif $arcologies[0].FSSupremacistRace == "asian">><<print either("dark olive", "light olive", "light")>><<elseif ["middle eastern", "semitic", "southern european"].includes($arcologies[0].FSSupremacistRace)>><<print either("dark olive", "light olive", "tanned")>><<else>>pale<</if>><<elseif $assistantFSAppearance == "subjugationist">><<if $arcologies[0].FSSubjugationistRace == "black">><<print either("black", "brown", "dark brown")>><<elseif $arcologies[0].FSSubjugationistRace == "white">><<print either("fair", "light", "pale")>><<elseif $arcologies[0].FSSubjugationistRace == "latina">><<print either("brown", "dark brown", "dark olive")>><<elseif ["amerindian", "indo-aryan", "malay", "pacific islander"].includes($arcologies[0].FSSubjugationistRace)>><<print either("dark", "light")>><<elseif $arcologies[0].FSSubjugationistRace == "asian">><<print either("dark olive", "light olive", "light")>><<elseif ["middle eastern", "semitic", "southern european"].includes($arcologies[0].FSSubjugationistRace)>><<print either("dark olive", "light olive", "tanned")>><<else>>pale<</if>><<else>>pale<</if>> skin, perky breasts, green tentacles instead of hair, and two dicks. _HisA eyes are large, expressive, and surprisingly innocent. +_HeA's a cute little <<if $assistantFSAppearance == "supremacist">>$arcologies[0].FSSupremacistRace <<elseif $assistantFSAppearance == "subjugationist">>$arcologies[0].FSSubjugationistRace <</if>>monstergirl with <<if $arcologies[0].FSSupremacist != "unset" && $assistantFSAppearance != "subjugationist">><<if $arcologies[0].FSSupremacistRace == "black">><<print either("black", "brown", "dark brown")>><<elseif $arcologies[0].FSSupremacistRace == "white">><<print either("fair", "light", "pale")>><<elseif $arcologies[0].FSSupremacistRace == "latina">><<print either("brown", "dark brown", "dark olive")>><<elseif ["amerindian", "indo-aryan", "malay", "pacific islander"].includes($arcologies[0].FSSupremacistRace)>><<print either("dark", "light")>><<elseif $arcologies[0].FSSupremacistRace == "asian">><<print either("dark olive", "light olive", "light")>><<elseif ["middle eastern", "semitic", "southern european"].includes($arcologies[0].FSSupremacistRace)>><<print either("dark olive", "light olive", "tan")>><<else>>pale<</if>><<elseif $assistantFSAppearance == "subjugationist">><<if $arcologies[0].FSSubjugationistRace == "black">><<print either("black", "brown", "dark brown")>><<elseif $arcologies[0].FSSubjugationistRace == "white">><<print either("fair", "light", "pale")>><<elseif $arcologies[0].FSSubjugationistRace == "latina">><<print either("brown", "dark brown", "dark olive")>><<elseif ["amerindian", "indo-aryan", "malay", "pacific islander"].includes($arcologies[0].FSSubjugationistRace)>><<print either("dark", "light")>><<elseif $arcologies[0].FSSubjugationistRace == "asian">><<print either("dark olive", "light olive", "light")>><<elseif ["middle eastern", "semitic", "southern european"].includes($arcologies[0].FSSubjugationistRace)>><<print either("dark olive", "light olive", "tan")>><<else>>pale<</if>><<else>>pale<</if>> skin, perky breasts, green tentacles instead of hair, and two dicks. _HisA eyes are large, expressive, and surprisingly innocent. <<if $assistantFSOptions>> <<switch $assistantFSAppearance>> <<case "paternalist">> @@ -87,7 +87,7 @@ _HeA's a cute little <<if $assistantFSAppearance == "supremacist">>$arcologies[0 <<case "shemale">> -_HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantFSAppearance != "subjugationist">>$arcologies[0].FSSupremacistRace <<elseif $assistantFSAppearance == "subjugationist">>$arcologies[0].FSSubjugationistRace <</if>>bimbo shemale with bleached blonde hair, <<if $arcologies[0].FSSupremacist != "unset" && $assistantFSAppearance != "subjugationist">><<if $arcologies[0].FSSupremacistRace == "black">><<print either("black", "brown", "dark brown")>><<elseif $arcologies[0].FSSupremacistRace == "white">><<print either("fair", "pale")>><<elseif $arcologies[0].FSSupremacistRace == "latina">><<print either("brown", "dark brown", "dark olive")>><<elseif ["amerindian", "indo-aryan", "malay", "pacific islander"].includes($arcologies[0].FSSupremacistRace)>><<print either("dark", "light")>><<elseif $arcologies[0].FSSupremacistRace == "asian">><<print either("dark olive", "light olive")>><<elseif ["middle eastern", "semitic", "southern european"].includes($arcologies[0].FSSupremacistRace)>><<print either("dark olive", "tanned")>><<else>>tanned<</if>><<elseif $assistantFSAppearance == "subjugationist">><<if $arcologies[0].FSSubjugationistRace == "black">><<print either("black", "brown", "dark brown")>><<elseif $arcologies[0].FSSubjugationistRace == "white">><<print either("fair", "pale")>><<elseif $arcologies[0].FSSubjugationistRace == "latina">><<print either("brown", "dark brown", "dark olive")>><<elseif ["amerindian", "indo-aryan", "malay", "pacific islander"].includes($arcologies[0].FSSubjugationistRace)>><<print either("dark", "light")>><<elseif $arcologies[0].FSSubjugationistRace == "asian">><<print either("dark olive", "light olive")>><<elseif ["middle eastern", "semitic", "southern european"].includes($arcologies[0].FSSubjugationistRace)>><<print either("dark olive", "tanned")>><<else>>tanned<</if>><<else>>tanned<</if>> skin, huge lips, and ridiculous tits. _HisA cock hangs past _hisA knees when limp. +_HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantFSAppearance != "subjugationist">>$arcologies[0].FSSupremacistRace <<elseif $assistantFSAppearance == "subjugationist">>$arcologies[0].FSSubjugationistRace <</if>>bimbo shemale with bleached blonde hair, <<if $arcologies[0].FSSupremacist != "unset" && $assistantFSAppearance != "subjugationist">><<if $arcologies[0].FSSupremacistRace == "black">><<print either("black", "brown", "dark brown")>><<elseif $arcologies[0].FSSupremacistRace == "white">><<print either("fair", "pale")>><<elseif $arcologies[0].FSSupremacistRace == "latina">><<print either("brown", "dark brown", "dark olive")>><<elseif ["amerindian", "indo-aryan", "malay", "pacific islander"].includes($arcologies[0].FSSupremacistRace)>><<print either("dark", "light")>><<elseif $arcologies[0].FSSupremacistRace == "asian">><<print either("dark olive", "light olive")>><<elseif ["middle eastern", "semitic", "southern european"].includes($arcologies[0].FSSupremacistRace)>><<print either("dark olive", "tan")>><<else>>tanned<</if>><<elseif $assistantFSAppearance == "subjugationist">><<if $arcologies[0].FSSubjugationistRace == "black">><<print either("black", "brown", "dark brown")>><<elseif $arcologies[0].FSSubjugationistRace == "white">><<print either("fair", "pale")>><<elseif $arcologies[0].FSSubjugationistRace == "latina">><<print either("brown", "dark brown", "dark olive")>><<elseif ["amerindian", "indo-aryan", "malay", "pacific islander"].includes($arcologies[0].FSSubjugationistRace)>><<print either("dark", "light")>><<elseif $arcologies[0].FSSubjugationistRace == "asian">><<print either("dark olive", "light olive")>><<elseif ["middle eastern", "semitic", "southern european"].includes($arcologies[0].FSSubjugationistRace)>><<print either("dark olive", "tan")>><<else>>tanned<</if>><<else>>tanned<</if>> skin, huge lips, and ridiculous tits. _HisA cock hangs past _hisA knees when limp. <<if $assistantFSOptions>> <<switch $assistantFSAppearance>> <<case "paternalist">> diff --git a/src/uncategorized/reAnalPunishment.tw b/src/uncategorized/reAnalPunishment.tw index 89a94842852e156ea8e09b030cfdfbd845b6b724..06ee60b46d62fa39149000b14fdb430029a81696 100644 --- a/src/uncategorized/reAnalPunishment.tw +++ b/src/uncategorized/reAnalPunishment.tw @@ -29,7 +29,7 @@ As you're making the rounds through your penthouse, you hear $HeadGirl.slaveName speaking in the tones _he2 uses to castigate misbehaving slaves in the next room. When you appear in the doorway, you have little chance to survey the situation before <<EventNameLink>>, apparently the miscreant, flings $himself at your feet. $He clings to one of your legs convulsively, choking on tears as $he stares up at you and tries to muster an explanation. After two false starts, $he manages to start begging. "Plea<<s>>e, <<Master>>," $he wails miserably. "Plea<<s>>e don't let _him2 rape my butt." <br><br> -You shoot an amused glance at $HeadGirl.slaveName, who smiles back as _he2 explains the slave's minor sin and _his2 intention to sodomize the malefactor. _He2 does not bother to keep an edge of anticipation out of _his2 voice, and $activeSlave.slaveName cries harder and clings to you with renewed force as your Head Girl pronounces _his2 intention with cruel clarity.<<if $activeSlave.boobs > 4000>> The supplicant's breasts are so huge that $his embrace of your leg has completely surrounded it in deliciously heaving breastflesh.<<elseif $activeSlave.boobs > 1000>> The weight of the supplicant's breasts is quite noticeable as $his embrace of your leg presses them against it.<</if>> You look down at $activeSlave.slaveName. $He stares back with huge wet <<= App.Desc.eyeColor>> eyes, doing $his best to implore you with $his gaze, and scooting $his rear in towards your foot in an unconscious effort to protect it from the promised assrape. $He's quite authentically terrified; $his whole body is shaking. +You shoot an amused glance at $HeadGirl.slaveName, who smiles back as _he2 explains the slave's minor sin and _his2 intention to sodomize the malefactor. _He2 does not bother to keep an edge of anticipation out of _his2 voice, and $activeSlave.slaveName cries harder and clings to you with renewed force as your Head Girl pronounces _his2 intention with cruel clarity.<<if $activeSlave.boobs > 4000>> The supplicant's breasts are so huge that $his embrace of your leg has completely surrounded it in deliciously heaving breastflesh.<<elseif $activeSlave.boobs > 1000>> The weight of the supplicant's breasts is quite noticeable as $his embrace of your leg presses them against it.<</if>> You look down at $activeSlave.slaveName. $He stares back with huge wet <<= App.Desc.eyeColor($activeSlave)>> eyes, doing $his best to implore you with $his gaze, and scooting $his rear in towards your foot in an unconscious effort to protect it from the promised assrape. $He's quite authentically terrified; $his whole body is shaking. <br><br> $HeadGirl.slaveName is very much acting within _his2 duties, and $activeSlave.slaveName has now misbehaved twice by trying to go over your Head Girl's head by appealing to you. $HeadGirl.slaveName is ready to carry out the sentence: <<if canPenetrate($HeadGirl) && ($HeadGirl.dick > 2)>>_his2 cock is fully erect, and _he2's keeping it hard with one hand. _He2 slaps its head against _his2 other palm<<elseif $HeadGirl.dick > 0>>since _his2 dick isn't an appropriate instrument for inflicting anal pain, _he2's got an elephantine dildo ready. _He2 slaps it against _his2 palm<<else>>_He2's got an elephantine dildo ready, and _he2 slaps it against _his2 palm<</if>>, forcing a frightened moan from $activeSlave.slaveName. @@ -54,7 +54,7 @@ $HeadGirl.slaveName is very much acting within _his2 duties, and $activeSlave.sl <br><br> After enjoying the spectacle for a while, you judge that the slave's sphincter is loose enough and tell $HeadGirl.slaveName to flip the bitch over. @@.hotpink;_He2 obeys, chuckling,@@ sitting _himself2 down and hauling the reluctant slave onto _his2 lap by seizing a nipple and pulling it into position so the agonized slave is forced to follow. <<if canPenetrate($HeadGirl) && ($HeadGirl.dick > 2)>>$HeadGirl.slaveName reinserts _his2 dick, <<else>>$HeadGirl.slaveName maneuvers the dildo down over _his2 own crotch, approximating the position of a natural cock and using its base to stimulate _himself2. _He2 reinserts it,<</if>> intentionally missing twice to keep the experience unpleasant despite _his2 victim's well-fucked backdoor. <br><br> - $activeSlave.slaveName, now facing upward rather than having $his face ground into the floor, notices for the first time that <<if $PC.dick == 1>>you've got your dick out and hard<<else>>you've donned one of your punishment-sized strap-ons<</if>>. $His <<= App.Desc.eyeColor>> eyes @@.gold;fly open with horror@@ as you kneel down and smack its head against $his <<if $activeSlave.vagina > -1>>poor pussy<<else>>stretched taint<</if>>, but $he doesn't realize how comprehensively fucked $he is until you press it against the top of $his already-stretched anal sphincter. "Plea<<s>>e no, <<Master>>! It won't fit! Plea<<s>>e <<if $activeSlave.vagina > 0>>put it in my pu<<ss>>y<<else>>let me <<s>>uck it<</if>> in<<s>>tead," $he begs desperately. "I p-promi<<s>>e I'll be a g-good giiAAIIEEHH," $he howls. $He gasps for air, tears streaming down $his $activeSlave.skin cheeks, and then continues: "AAAH! FUCK! TAKE IT OUUUT! N-NOOO, PLEA<<S>>E DON'T THRU<<S>>T — AAAH! AAAH! AAAH!" + $activeSlave.slaveName, now facing upward rather than having $his face ground into the floor, notices for the first time that <<if $PC.dick == 1>>you've got your dick out and hard<<else>>you've donned one of your punishment-sized strap-ons<</if>>. $His <<= App.Desc.eyeColor($activeSlave)>> eyes @@.gold;fly open with horror@@ as you kneel down and smack its head against $his <<if $activeSlave.vagina > -1>>poor pussy<<else>>stretched taint<</if>>, but $he doesn't realize how comprehensively fucked $he is until you press it against the top of $his already-stretched anal sphincter. "Plea<<s>>e no, <<Master>>! It won't fit! Plea<<s>>e <<if $activeSlave.vagina > 0>>put it in my pu<<ss>>y<<else>>let me <<s>>uck it<</if>> in<<s>>tead," $he begs desperately. "I p-promi<<s>>e I'll be a g-good giiAAIIEEHH," $he howls. $He gasps for air, tears streaming down $his $activeSlave.skin cheeks, and then continues: "AAAH! FUCK! TAKE IT OUUUT! N-NOOO, PLEA<<S>>E DON'T THRU<<S>>T — AAAH! AAAH! AAAH!" <<set $activeSlave.trust -= 5, $activeSlave.analCount += 1>> <<set $analTotal += 1>> <<set $HeadGirl.devotion += 4, $HeadGirl.penetrativeCount += 1>> diff --git a/src/uncategorized/reBusyMasterSuite.tw b/src/uncategorized/reBusyMasterSuite.tw index 8f263e682c4051476ffe75f3f457737b224c4e49..4d8bb2367a3669fdfe5e3a912ec8648127b0dd1d 100644 --- a/src/uncategorized/reBusyMasterSuite.tw +++ b/src/uncategorized/reBusyMasterSuite.tw @@ -199,7 +199,7 @@ who has paused $his thrusting to issue a peremptory order to the slaves to stay <br><<link "Slide in up at the head of the bed for some oral">> <<replace "#result">> <<setLocalPronouns _msIdx[0] 2>> - _msIdx[0].slaveName's <<= App.Desc.eyeColor _msIdx[0]>> eyes widen when you push _him2 upright for a moment and slide in under _him2, but _he2 wraps _his2 + _msIdx[0].slaveName's <<= App.Desc.eyeColor(_msIdx[0])>> eyes widen when you push _him2 upright for a moment and slide in under _him2, but _he2 wraps _his2 <<if (_msIdx[0].lips > 95)>> facepussy <<elseif (_msIdx[0].lips > 70)>> diff --git a/src/uncategorized/reHGReplacement.tw b/src/uncategorized/reHGReplacement.tw index d87e3dcb8907dce3ef888b7fd6eb9b60ede7a4e4..30ead827d8e035e726d0bf5e01d24e69b03ecfd6 100644 --- a/src/uncategorized/reHGReplacement.tw +++ b/src/uncategorized/reHGReplacement.tw @@ -25,7 +25,7 @@ <<set $activeSlave.clothes = _clothesTemp>> <<set $HeadGirl.clothes = _clothesTemp2>> -There's a constant traffic of slaves in and out of your office as your chattel comes in and out for instructions, inspections, and sex. Your Head Girl $HeadGirl.slaveName is one of the most frequent visitors, since although you trust _him2, _he2's still a slave and has to check with you before acting on some matters.<<if $HeadGirl.relationship == -3>> (_He2's also your wife, making _his2 visits a pleasant diversion.)<<elseif $arcologies[0].FSEgyptianRevivalistLaw == 1>> (_He2's also your Consort, making _his2 visits a pleasant diversion.)<</if>> During one of _his2 visits, <<EventNameLink>> happens to come in for $his scheduled inspection. $He perches politely on the couch, waiting $his turn like a good $girl. $His <<= App.Desc.eyeColor>> eyes are watchful, however, and $he seems to be paying very close attention to your conversation with your Head Girl. +There's a constant traffic of slaves in and out of your office as your chattel comes in and out for instructions, inspections, and sex. Your Head Girl $HeadGirl.slaveName is one of the most frequent visitors, since although you trust _him2, _he2's still a slave and has to check with you before acting on some matters.<<if $HeadGirl.relationship == -3>> (_He2's also your wife, making _his2 visits a pleasant diversion.)<<elseif $arcologies[0].FSEgyptianRevivalistLaw == 1>> (_He2's also your Consort, making _his2 visits a pleasant diversion.)<</if>> During one of _his2 visits, <<EventNameLink>> happens to come in for $his scheduled inspection. $He perches politely on the couch, waiting $his turn like a good $girl. $His <<= App.Desc.eyeColor($activeSlave)>> eyes are watchful, however, and $he seems to be paying very close attention to your conversation with your Head Girl. When $HeadGirl.slaveName leaves, $he clears $his throat nervously. $He gathers $his courage, and <<say>>s, "<<Master>>, I think I would make a better Head Girl than $him." $He takes a deep breath and plunges on. "I'm ju<<s>>t a<<s>> <<s>>mart a<<s>> <<he 2>> i<<s>>. And, <<Master>>, I'm <<s>>ure you've noti<<c>>ed <<he 2>> i<<s>>n't very good at teaching other girl<<s>> vaginal <<s>>kill<<s>>. <<if $HeadGirl.vagina > 0>> diff --git a/src/uncategorized/reRebels.tw b/src/uncategorized/reRebels.tw index 2d1bc299ec545f6e10a4022421afed55c5a971f3..c9d1470ecf7ba75d5150e86093b690c9ae3892bb 100644 --- a/src/uncategorized/reRebels.tw +++ b/src/uncategorized/reRebels.tw @@ -63,18 +63,18 @@ You have a rebel problem. $slaves[_i].slaveName and $slaves[_j].slaveName are bo You start with $slaves[_i].slaveName and no sooner than you turn to $slaves[_j].slaveName do you hear the telltale clatter of the spoon hitting the floor. With a simple kick, the unfortunately loose $slaves[_i].slaveName is left struggling in the air. $slaves[_j].slaveName <<if canSee($slaves[_j])>>watches<<elseif canHear($slaves[_j])>>listens<<else>>stares blankly<</if>> in horror as the life drains from _his2 former accomplice. @@.gold;_He2 promises to never cross you again.@@ <<set $slaves[_j].trust -= 20>> <<set $activeSlave = $slaves[_i]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<elseif $slaves[_j].vagina > 3>> You start with $slaves[_i].slaveName before moving to $slaves[_j].slaveName as $he holds $his life between $his netherlips. Setting the spoon inside $slaves[_j].slaveName, you prepare to kick the stools out from under them; but the telltale clatter of the spoon hitting the floor saves you the trouble. With a simple kick, the unfortunately loose $slaves[_j].slaveName is left struggling in the air. $slaves[_i].slaveName <<if canSee($slaves[_i])>>watches<<elseif canHear($slaves[_i])>>listens<<else>>stares blankly<</if>> in horror as the life drains from $his former accomplice. @@.gold;$He promises to never cross you again.@@ <<set $slaves[_i].trust -= 20>> <<set $activeSlave = $slaves[_j]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<elseif random(1,100) == 69>> You start with $slaves[_i].slaveName before moving to $slaves[_j].slaveName as $he holds $his life between $his netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. They are both desperate to survive and clamp down as hard as they can, but it can't go on forever as the sounds of a spoon clattering to the floor fills the room. Both slaves freeze as they realize the other has lost their grip on the silverware, uncertain of what comes next. You answer the question by knocking the stools out from under them, allowing them both to hang. They came into this together and they are going out together. <<set $activeSlave = $slaves[_i]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $activeSlave = $slaves[_j]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<elseif $slaves[_i].vagina == $slaves[_j].vagina && random(1,100) > 50>> You start with $slaves[_i].slaveName before moving to $slaves[_j].slaveName as $he holds $his life between $his netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. They are both <<if $slaves[_i].vagina == 1>>quite tight, so it's no surprise when they put up a good show.<<else>>not the tightest slaves, so it's a surprise they manage to hold on as long as they do<</if>>. But it can't go on forever as the sound of the spoon clattering to the floor fills the room. <<if random(1,100) <= 50>> @@ -86,7 +86,7 @@ You have a rebel problem. $slaves[_i].slaveName and $slaves[_j].slaveName are bo <<set $slaves[_j].trust -= -20, $slaves[_j].behavioralFlaw = "odd">> <<set $activeSlave = $slaves[_i]>> <</if>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<elseif $slaves[_j].vagina > $slaves[_i].vagina && random(1,100) > 50>> You start with $slaves[_i].slaveName before moving to $slaves[_j].slaveName as $he holds $his life between $his netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. $slaves[_i].slaveName is the clear favorite in this game, but the looser $slaves[_j].slaveName refuses to give in, using _his2 experience to clamp down as hard as _he2 can. But it can't go on forever as the sound of the spoon clattering to the floor fills the room. <<if random(1,100) <= 90>> @@ -98,12 +98,12 @@ You have a rebel problem. $slaves[_i].slaveName and $slaves[_j].slaveName are bo <<set $slaves[_j].trust -= -20, $slaves[_j].behavioralFlaw = "odd">> <<set $activeSlave = $slaves[_i]>> <</if>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<else>> You start with $slaves[_i].slaveName before moving to $slaves[_j].slaveName as $he holds $his life between $his netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. In a show of underhandedness, $slaves[_j].slaveName kicks $slaves[_i].slaveName, knocking $him off balance and sending $him hanging. $slaves[_j].slaveName <<if canSee($slaves[_j])>>watches<<elseif canHear($slaves[_j])>>listens<<else>>stares blankly<</if>> as the life drains from _his2 accomplice, @@.gold;horrified at what _he2 just did.@@ The ordeal @@.red;leaves _him2 behaving strangely.@@ <<set $slaves[_j].trust = -100, $slaves[_j].behavioralFlaw = "odd">> <<set $activeSlave = $slaves[_i]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> <</replace>> <</link>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 7344c2dcd6fbd9b8c3081caf18d102ea14c09aaa..81bb13dbda4049188f272578d2acb9c4fdf67b2e 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -1472,7 +1472,7 @@ Alter $his race: [[White|Surgery Degradation][$activeSlave.race = "white",$activeSlave.skin = either("fair", "light", "pale"),$activeSlave.eyeColor = either("blue", "brown", "green"),$activeSlave.hColor = either("black", "blonde", "brown", "red"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | <</if>> <<if $activeSlave.race != "latina">> - [[Latina|Surgery Degradation][$activeSlave.race = "latina",$activeSlave.skin = either("brown", "dark brown", "dark olive", "light olive", "tanned"),$activeSlave.hColor = either("black", "black", "brown", "brown"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | + [[Latina|Surgery Degradation][$activeSlave.race = "latina",$activeSlave.skin = either("brown", "dark brown", "dark olive", "light olive", "tan"),$activeSlave.hColor = either("black", "black", "brown", "brown"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | <</if>> <<if $activeSlave.race != "black">> [[Black|Surgery Degradation][$activeSlave.race = "black",$activeSlave.skin = either("black", "brown", "dark brown"),$activeSlave.hColor = either("black", "black", "black", "brown"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | @@ -1481,7 +1481,7 @@ Alter $his race: [[Asian|Surgery Degradation][$activeSlave.race = "asian",$activeSlave.skin = either("dark olive", "light olive", "light"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | <</if>> <<if $activeSlave.race != "middle eastern">> - [[Middle Eastern|Surgery Degradation][$activeSlave.race = "middle eastern",$activeSlave.skin = either("fair", "light olive", "light", "tanned"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | + [[Middle Eastern|Surgery Degradation][$activeSlave.race = "middle eastern",$activeSlave.skin = either("fair", "light olive", "light", "tan"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | <</if>> <<if $activeSlave.race != "indo-aryan">> [[Indo-Aryan|Surgery Degradation][$activeSlave.race = "indo-aryan",$activeSlave.skin = either("dark", "light"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | @@ -1496,10 +1496,10 @@ Alter $his race: [[Amerindian|Surgery Degradation][$activeSlave.race = "amerindian",$activeSlave.skin = either("dark", "light"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | <</if>> <<if $activeSlave.race != "southern european">> - [[Southern European|Surgery Degradation][$activeSlave.race = "southern european",$activeSlave.skin = either("fair", "light olive", "light", "tanned"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | + [[Southern European|Surgery Degradation][$activeSlave.race = "southern european",$activeSlave.skin = either("fair", "light olive", "light", "tan"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | <</if>> <<if $activeSlave.race != "semitic">> - [[Semitic|Surgery Degradation][$activeSlave.race = "semitic",$activeSlave.skin = either("fair", "light olive", "light", "tanned"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | + [[Semitic|Surgery Degradation][$activeSlave.race = "semitic",$activeSlave.skin = either("fair", "light olive", "light", "tan"),$activeSlave.hColor = either("black"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] | <</if>> <<if $activeSlave.race != "mixed race">> [[Mixed Race|Surgery Degradation][$activeSlave.race = "mixed race",$activeSlave.skin = either("dark", "light", "pale"),$activeSlave.hColor = either("black", "black", "black", "black", "blonde", "brown", "brown", "red"),cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "race"]] diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw index c59480cb68a9e69214727528d61ed4491bb109cc..4d6da23a39cbb4c2f4f4b944950b6984acb05562 100644 --- a/src/uncategorized/resFailure.tw +++ b/src/uncategorized/resFailure.tw @@ -276,7 +276,7 @@ <<set $activeSlave.pubicHColor = "blonde">> <<set $activeSlave.underArmHColor = "blonde">> <<set $activeSlave.race = "white">> - <<set $activeSlave.skin = "tanned">> + <<set $activeSlave.skin = "sun tanned">> <<set $activeSlave.override_H_Color = 1>> <<set $activeSlave.override_Arm_H_Color = 1>> <<set $activeSlave.override_Brow_H_Color = 1>> @@ -805,56 +805,56 @@ The failure of a prominent organization within your arcology has @@.red;affected <<if ($slaves[$i].origin == "She was given to you by a failed branch campus of The Slavegirl School right after her majority.") || ($slaves[$i].origin == "She was given to you by a failed branch campus of The Slavegirl School after she was retrained as a slave girl.")>> <<slaveCost $slaves[$i]>> <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $i -= 1>> <</if>> <<elseif $RESFailure == "GRI">> <<if $slaves[$i].origin == "She was given to you by a failed subsidiary lab of the Growth Research Institute right after her use as a test subject ended.">> <<slaveCost $slaves[$i]>> <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $i -= 1>> <</if>> <<elseif $RESFailure == "SCP">> <<if $slaves[$i].origin == "She was given to you by a failed branch campus of St. Claver Preparatory after she served as a plastic surgeon's passing final exam.">> <<slaveCost $slaves[$i]>> <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $i -= 1>> <</if>> <<elseif $RESFailure == "LDE">> <<if $slaves[$i].origin == "She was given to you by a failed branch campus of the innovative École des Enculées right after her graduation.">> <<slaveCost $slaves[$i]>> <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $i -= 1>> <</if>> <<elseif $RESFailure == "TGA">> <<if $slaves[$i].origin == "She was given to you by a failed branch campus of the intense Gymnasium-Academy right after her majority.">> <<slaveCost $slaves[$i]>> <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $i -= 1>> <</if>> <<elseif $RESFailure == "HA">> <<if $slaves[$i].origin == "She was given to you by a failed branch campus of the Hippolyta Academy right after her majority.">> <<slaveCost $slaves[$i]>> <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $i -= 1>> <</if>> <<elseif $RESFailure == "TCR">> <<if $slaves[$i].origin == "She is a prized dairy cow given to you by a failed local pasture of The Cattle Ranch.">> <<slaveCost $slaves[$i]>> <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $i -= 1>> <</if>> <<else>> <<if ($slaves[$i].origin == "She was the leader of your arcology's Futanari Sisters until you engineered her community's failure and enslavement.") || ($slaves[$i].origin == "She was a Futanari Sister until you engineered her early enslavement.")>> <<slaveCost $slaves[$i]>> <<run cashX($slaveCost, "slaveTransfer")>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $i -= 1>> <</if>> <</if>> diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw index 84b316bf113b3b8843395c58901f96dbd22964cd..5cb722470de838864a2baeec7cca8ab9760a95f2 100644 --- a/src/uncategorized/salon.tw +++ b/src/uncategorized/salon.tw @@ -607,11 +607,6 @@ Treat nails: <</if>> /* SKIN */ - -<<set $tannableSkin = ["natural", "lightened", "white", "fair", "pale", "light", "extremely pale"]>> -<<set $lightenableSkin = ["natural", "dark", "dark olive", "black", "brown", "dark brown", "tanned"]>> -<<set $bleachableSkin = ["natural", "lightened", "pale", "fair", "light"]>> -<<set $darkenableSkin = ["natural", "lightened", "white", "fair", "pale", "light", "extremely pale", "light olive", "tanned", "brown", "dark brown"]>> <<set $dyedSkin = ["dyed red", "dyed green", "dyed blue", "dyed pink", "dyed gray", "tiger striped", "camouflage patterned"]>> <br><br> @@ -619,31 +614,53 @@ $His skin is $activeSlave.skin. <<if ($dyedSkin.indexOf($activeSlave.skin) != -1)>> [[Remove coloring|Salon][$activeSlave.skin = $activeSlave.origSkin,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] +<<elseif (($activeSlave.skin == "sun tanned") || ($activeSlave.skin == "spray tanned"))>> + [[Remove tanning|Salon][$activeSlave.skin = $activeSlave.origSkin,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] <</if>> <<if ($dyedSkin.indexOf($activeSlave.skin) == -1)>> <br> - Change skin tone: - <<set _needsSpacers = 0>> - <<if ($bleachableSkin.indexOf($activeSlave.skin) != -1)>> - <<if _needsSpacers == 1>> | <</if>> - [[Bleach|Salon][$activeSlave.skin = "pale",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] - <<set _needsSpacers = 1>> - <</if>> - <<if ($lightenableSkin.indexOf($activeSlave.skin) != -1)>> - <<if _needsSpacers == 1>> | <</if>> - [[Lighten|Salon][$activeSlave.skin = "lightened",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] - <<set _needsSpacers = 1>> + <<if ($activeSlave.skin == "sun tanned" || $activeSlave.skin == "spray tanned")>> + $His skin tanning must be removed before any advanced procedure to change $his skin color. + <<else>> + Change skin tone: + <<set _needsSpacers = 0>> + <<if (skinToneLevel($activeSlave.skin) > 1)>> + <<if _needsSpacers == 1>> | <</if>> + [[Bleach|Salon][$activeSlave.skin = changeSkinTone($activeSlave.skin, -2),cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] + <<set _needsSpacers = 1>> + <</if>> + <<if (skinToneLevel($activeSlave.skin) > 8)>> + <<if _needsSpacers == 1>> | <</if>> + [[Lighten|Salon][$activeSlave.skin = changeSkinTone($activeSlave.skin, -1),cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] + <<set _needsSpacers = 1>> + <</if>> + <<if (skinToneLevel($activeSlave.skin) < 18)>> + <<if _needsSpacers == 1>> | <</if>> + [[Darken|Salon][$activeSlave.skin = changeSkinTone($activeSlave.skin, 1),cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] + <<set _needsSpacers = 1>> + <</if>> + <<if (skinToneLevel($activeSlave.skin) < 25)>> + <<if _needsSpacers == 1>> | <</if>> + [[Blacken|Salon][$activeSlave.skin = changeSkinTone($activeSlave.skin, 2),cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] + <<set _needsSpacers = 1>> + <</if>> <</if>> - <<if ($tannableSkin.indexOf($activeSlave.skin) != -1)>> - <<if _needsSpacers == 1>> | <</if>> - [[Tan|Salon][$activeSlave.skin = "tanned",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] - <<set _needsSpacers = 1>> + <br> + <<set _needsSpacers = 0>> + <<if ($activeSlave.skin != "sun tanned")>> + <<if (skinToneLevel($activeSlave.skin) < 6)>> + $His skin is so light in color that any attempt at natural tanning is more likely to damage $his skin. + <<elseif (skinToneLevel($activeSlave.skin) > 20)>> + $His skin is so dark in color that any attempt at natural tanning is not likely to appear on $his skin. + <<else>> + [["Sun tan " + $his + " skin"|Salon][$activeSlave.skin = "sun tanned",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] + <<set _needsSpacers = 1>> + <</if>> <</if>> - <<if ($darkenableSkin.indexOf($activeSlave.skin) != -1)>> + <<if ($activeSlave.skin != "spray tanned")>> <<if _needsSpacers == 1>> | <</if>> - [[Darken|Salon][$activeSlave.skin = "dark",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] - <<set _needsSpacers = 1>> + [["Spray tan " + $his + " skin"|Salon][$activeSlave.skin = "spray tanned",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] <</if>> <</if>> diff --git a/src/uncategorized/scheduledEvent.tw b/src/uncategorized/scheduledEvent.tw index 6d9c95ec11bb3e296d5f22be7db86a9630caac5b..7ef2a974987c6d580ad47302bdd07c1e2acb0df1 100644 --- a/src/uncategorized/scheduledEvent.tw +++ b/src/uncategorized/scheduledEvent.tw @@ -4,7 +4,7 @@ <<if $expired == 1>> <<set $activeSlave = getSlave($expiree), $expiree = 0>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<for $i = 0; $i < $slaves.length; $i++>> <<if $slaves[$i].indenture == 0>> <<set $expiree = $slaves[$i].ID>> @@ -16,7 +16,7 @@ <<if $retired == 1>> <<set $activeSlave = getSlave($retiree), $retiree = 0>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<for $i = 0; $i < $slaves.length; $i++>> <<if $slaves[$i].indenture < 0>> <<if $slaves[$i].actualAge >= $retirementAge && $PhysicalRetirementAgePolicy != 1>> diff --git a/src/uncategorized/seBirth.tw b/src/uncategorized/seBirth.tw index e35f7fb49be0f9a92d2f9fc5e40fc135cd43639c..43ef5b9bbd839947c2b6daa7cb1874652624fdec 100644 --- a/src/uncategorized/seBirth.tw +++ b/src/uncategorized/seBirth.tw @@ -125,7 +125,7 @@ I need to break single passage to several widgets, as it's been overcomplicated <<set $slaves[$i].laborCount++>> <<else>> <<set $activeSlave = $slaves[$i]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $slaveDead = 0>> <</if>> <br><br><hr style="margin:0"><br> diff --git a/src/uncategorized/seExpiration.tw b/src/uncategorized/seExpiration.tw index 9a79351612b4d7cbb1f30b8ba298fd80796b4236..5ac57d0b37a25fca6c2b3f4501da50749b4b00a5 100644 --- a/src/uncategorized/seExpiration.tw +++ b/src/uncategorized/seExpiration.tw @@ -83,7 +83,7 @@ $activeSlave.slaveName's indentured servitude is ending this week, meaning that <<if $cash > 1000>> <<link "Enslave $him">> <<replace "#result">> - $He's beside $himself with joy when you accept $his plea and enslave $him. $He's given you the finest proof of loyalty a slave possibly can, having tasted a moment of freedom under the law, and thrown it away with utter contempt. $His <<= App.Desc.eyeColor>> eyes <<if canSee($activeSlave)>>watch you<<else>>are wide<</if>> with eager anticipation, radiating gladness that the prospect of separation from you has gone. + $He's beside $himself with joy when you accept $his plea and enslave $him. $He's given you the finest proof of loyalty a slave possibly can, having tasted a moment of freedom under the law, and thrown it away with utter contempt. $His <<= App.Desc.eyeColor($activeSlave)>> eyes <<if canSee($activeSlave)>>watch you<<else>>are wide<</if>> with eager anticipation, radiating gladness that the prospect of separation from you has gone. <<set $activeSlave.indenture = -1, $activeSlave.indentureRestrictions = 0>> <<run cashX(-1000, "event", $activeSlave)>> <<set $lowerClass -= 1>> diff --git a/src/uncategorized/seLethalPit.tw b/src/uncategorized/seLethalPit.tw index 08c63f6c1a043b8c9c6e25add00fecb84611b580..756e7b16bc4328cb1056d16ddabfafff02759b38 100644 --- a/src/uncategorized/seLethalPit.tw +++ b/src/uncategorized/seLethalPit.tw @@ -824,9 +824,9 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and <</if>> <<if $pitAnimal == 0>> <<set $activeSlave = getSlave(_loser.ID)>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> <<else>> <<set $activeSlave = getSlave(_loser.ID)>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw index 2f690eedde5b18df77136bd3a8a790ed445fcde4..64a38f05d82b344254879ad20b9cc83f8d089a4a 100644 --- a/src/uncategorized/seRetirement.tw +++ b/src/uncategorized/seRetirement.tw @@ -231,7 +231,7 @@ Your arcology has gained a well-off citizen. <<set _sr = $slaveIndices[_clonedSlave.relationshipTarget]>> /* must be reset since $activeSlave may already be removed from $slaves */ $He doesn't get far before $he <<if canHear(_clonedSlave)>>hears a desperate pursuit behind $him<<else>>feels a gentle tap on $his shoulder<</if>>. It's $his <<if _clonedSlave.relationship >= 5>>wife<<else>>lover<</if>>, $slaves[_sr].slaveName, <<if canHear(_clonedSlave)>>hurrying to catch<<else>>finally catching<</if>> up. Watching on the monitors, you see _clonedSlave.slaveName's mixed pleasure and pain at seeing _him2 again so soon, followed by a tearful explanation and an embrace so heartfelt that the pair of ex-slaves collapse to the floor together, sobbing. <<set $activeSlave = $slaves[_sr]>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <br><br> <<if $arcologies[0].FSPaternalist != "unset">> Of course, your paternalistic arcology thinks this @@.green;almost too romantic,@@ and there are jesting suggestions that outcomes this adorable ought to be illegal. The pair becomes celebrated citizens immediately. @@ -399,5 +399,5 @@ You have @@.yellowgreen;gained a menial slave.@@ <<else>> /* manually retired */ <<set $nextLink = "Main">> <<set $activeSlave = getSlave($retiree), $retiree = 0, $retired = 0>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <</if>> diff --git a/src/uncategorized/slaveSold.tw b/src/uncategorized/slaveSold.tw index 3c431f759851a11f82d62b45811f8d9f278908a4..ba512bd341d9758af1a1955e1ef972c51bea7aa5 100644 --- a/src/uncategorized/slaveSold.tw +++ b/src/uncategorized/slaveSold.tw @@ -1178,4 +1178,4 @@ <</if>> <</if>> -<<include "Remove activeSlave">> +<<= removeActiveSlave() >> diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw index 884228afd8c6e9f8feed39643007dd9ba542f629..884de09b0ab5ad4bf901d545273b1a1f1672ae8a 100644 --- a/src/uncategorized/storyCaption.tw +++ b/src/uncategorized/storyCaption.tw @@ -59,6 +59,7 @@ <span id="endWeekButton"><strong><<link [[($nextButton)|($nextLink)]]>> <<resetAssignmentFilter>> /* very important! */ <</link>></strong></span> @@.cyan;[Ent]@@ + <<if $rulesError && $rulesAssistantAuto == 1>><br>@@.yellow; WARNING: some custom rules will change slave variables@@<</if>> <<else>> <span id="nextButton"> /* target for miscWidgets' <<UpdateNextButton>> */ <strong><<link "$nextButton">> /* must use link so spacebar shortcut will work */ diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index 443ca315e3923270ba55ab0e49160202e09bca97..cef6b1015046ae7cc5c37a7e6fd17356f34b445a 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -32,7 +32,7 @@ <<if $surgeryType == "ocular implant">>At least the ocular implants are still good.<<set $stockpile.ocularImplant++>><</if>> <<if $surgeryType == "cochlear implant">>At least the cochlear implants are still good.<<set $stockpile.cochlearImplant++>><</if>> <<if $surgeryType == "electrolarynx">>At least the electrolarynx is still good.<<set $stockpile.electrolarynx++>><</if>> - <<include "Remove activeSlave">> + <<= removeActiveSlave() >> <<set $nextLink = "Main">> <<elseif $surgeryType == "breastShapePreservation" && (($activeSlave.health-($activeSlave.boobs/1000)) < random(-100,-80))>> $activeSlave.slaveName's mesh implantation @@.red;has gone wrong, resulting in a mastectomy!@@ @@ -355,7 +355,7 @@ As the remote surgery's long recovery cycle completes, <<set $activeSlave.eyes = 1>> <<case "newEyes">> - The implant surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as $he is allowed to open $his eyes and look around, $he notices nothing has changed; though the next time $he looks in the mirror, $he'll see a pair of familiar <<= App.Desc.eyeColor>> eyes peering back at $him. + The implant surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as $he is allowed to open $his eyes and look around, $he notices nothing has changed; though the next time $he looks in the mirror, $he'll see a pair of familiar <<= App.Desc.eyeColor($activeSlave)>> eyes peering back at $him. <<case "undeafen">> The inner ear surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as the bandages around $his ears are removed, $his head tilts towards any source of sound with manic speed as $he processes $his new hearing. Hearing the world as it is is a gift that those who do not need it cannot properly understand. @@ -2250,7 +2250,7 @@ As the remote surgery's long recovery cycle completes, titillated to find that $his clitoris has a hood. $He examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. $He's very sore, obviously, but the sudden sensation is almost too much for $him. $His resolution to investigate $his remodeled clit, but later, is almost visible. It's obvious that $he can hardly wait, @@.mediumaquamarine;anticipating@@ all the new sensations that this new patch of skin can offer $him. $He's @@.hotpink;grateful@@ to you for improving $his pussy. <<set $activeSlave.trust += 5, $activeSlave.devotion += 5>> <<elseif $activeSlave.devotion >= -20>> - quite surprised, and a little relieved, to find that $he has clit has a hood. $He examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. $He's very sore, obviously, but the sudden sensation is almost too much for $him. $He seems to have been worried that something more dramatic than a reversal of circumcision had been done to $him, but $his chief reaction is @@.hotpink;mystified submission@@ to you afterward. Your total power over $his body has been made clear to $him in a way that provokes confusion, not fear. + quite surprised, and a little relieved, to find that $his clit has a hood. $He examines it <<if canSee($activeSlave)>>carefully and then touches it, <</if>>very gently. $He's very sore, obviously, but the sudden sensation is almost too much for $him. $He seems to have been worried that something more dramatic than a reversal of circumcision had been done to $him, but $his chief reaction is @@.hotpink;mystified submission@@ to you afterward. Your total power over $his body has been made clear to $him in a way that provokes confusion, not fear. <<set $activeSlave.devotion += 5>> <<else>> shocked to find that $his clitoris has a hood. $He's not exactly resentful of you for doing this, since whatever $his feelings about circumcision might be, it's very far from what $he feared might be done to $his clit. $His reaction is dominated by @@.gold;fear of the unknown,@@ since $he's now wondering whether $he has any ability to predict your actions at all. Whatever $his mental model of you was before this, it probably didn't include you restoring $his clitoral hood. diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw index 14b7b490c910d33f821d9ad78854aa268662f9e4..310d359912f6cec77c03a666d8189fe388bfd3d8 100644 --- a/src/utility/descriptionWidgetsFlesh.tw +++ b/src/utility/descriptionWidgetsFlesh.tw @@ -2572,11 +2572,11 @@ $He's got a <<widget "AnusDescription">> -<<if ($activeSlave.skin == "tanned") || ($activeSlave.skin == "fair") || ($activeSlave.skin == "pale") || ($activeSlave.race == "white")>> +<<if (skinToneLevel($activeSlave.skin) < 13)>> <<set $skinDesc = "pink">> <<elseif ($activeSlave.anusTat == "bleached")>> <<set $skinDesc = $activeSlave.skin>> -<<elseif ($activeSlave.skin == "brown") || ($activeSlave.race == "black")>> +<<elseif (skinToneLevel($activeSlave.skin) > 19)>> <<set $skinDesc = "dark">> <<else>> <<set $skinDesc = "darker">> @@ -17348,7 +17348,8 @@ $He has <<widget "skinDescription">> <<if $activeSlave.fuckdoll > 0>> - The small areas of visible skin are <<print $activeSlave.skin>><<if $activeSlave.markings == "freckles">> and lightly freckled<<if (($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")) && ($activeSlave.hColor != "red")>>, an attractive combination<</if>><<elseif $activeSlave.markings == "heavily freckled">> and heavily freckled<<if (($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")) && ($activeSlave.hColor != "red")>>, an attractive combination<</if>><</if>>. + The small areas of visible skin are <<print $activeSlave.skin>><<if $activeSlave.markings == "freckles">> and lightly freckled<<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10) && ($activeSlave.hColor == "red")>>, an attractive combination<</if>><<elseif $activeSlave.markings == "heavily freckled">> and heavily freckled<<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10) && ($activeSlave.hColor == "red")>>, an attractive combination<</if>><</if>>. + <<if ($activeSlave.skin == "sun tanned" || $activeSlave.skin == "spray tanned")>>$His skin has been tanned <<if $activeSlave.skin == "sun tanned">>to a natural, healthy-looking tone<<elseif $activeSlave.skin == "spray tanned">>with obvious, garish-looking makeup<</if>>.<</if>> <<elseif ($seeNationality == 1)>> <<if $activeSlave.nationality == 0>> Ethnically, $he's @@ -17363,7 +17364,8 @@ $He has <<else>> $He's originally @@.tan;<<print $activeSlave.nationality>>;@@ ethnically, $he's <</if>> - @@.tan;<<print $activeSlave.race>>,@@ and $his skin is <<print $activeSlave.skin>><<if $activeSlave.markings == "freckles">> and lightly freckled<<if (($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")) && ($activeSlave.hColor != "red")>>, an attractive combination<</if>><<elseif $activeSlave.markings == "heavily freckled">> and heavily freckled<<if (($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")) && ($activeSlave.hColor != "red")>>, an attractive combination<</if>><</if>>. + @@.tan;<<print $activeSlave.race>>,@@ and $his skin is <<print $activeSlave.skin>><<if $activeSlave.markings == "freckles">> and lightly freckled<<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10) && ($activeSlave.hColor == "red")>>, an attractive combination<</if>><<elseif $activeSlave.markings == "heavily freckled">> and heavily freckled<<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10) && ($activeSlave.hColor == "red")>>, an attractive combination<</if>><</if>>. + <<if ($activeSlave.skin == "sun tanned" || $activeSlave.skin == "spray tanned")>>$His skin has been tanned <<if $activeSlave.skin == "sun tanned">>to a natural, healthy-looking tone<<elseif $activeSlave.skin == "spray tanned">>with obvious, garish-looking makeup<</if>>.<</if>> <<if $activeSlave.race != $activeSlave.origRace && $saleDescription != 1>> $He has received plastic surgery to appear <<print $activeSlave.race>>; $he is originally <<print $activeSlave.origRace>>. <<elseif $activeSlave.race != $activeSlave.origRace && $saleDescription == 1>> @@ -17378,7 +17380,8 @@ $He has <</if>> <</if>> <<elseif ($seeRace == 1)>> - Ethnically, $he's @@.tan;<<print $activeSlave.race>>,@@ and $his skin is <<print $activeSlave.skin>><<if $activeSlave.markings == "freckles">> and lightly freckled<<if (($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")) && ($activeSlave.hColor != "red")>>, an attractive combination<</if>><<elseif $activeSlave.markings == "heavily freckled">> and heavily freckled<<if (($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")) && ($activeSlave.hColor != "red")>>, an attractive combination<</if>><</if>>. + Ethnically, $he's @@.tan;<<print $activeSlave.race>>,@@ and $his skin is <<print $activeSlave.skin>><<if $activeSlave.markings == "freckles">> and lightly freckled<<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10) && ($activeSlave.hColor == "red")>>, an attractive combination<</if>><<elseif $activeSlave.markings == "heavily freckled">> and heavily freckled<<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10) && ($activeSlave.hColor == "red")>>, an attractive combination<</if>><</if>>. + <<if ($activeSlave.skin == "sun tanned" || $activeSlave.skin == "spray tanned")>>$His skin has been tanned <<if $activeSlave.skin == "sun tanned">>to a natural, healthy-looking tone<<elseif $activeSlave.skin == "spray tanned">>with obvious, garish-looking makeup<</if>>.<</if>> <<if $activeSlave.race != $activeSlave.origRace && $saleDescription != 1>> $He has received plastic surgery to appear <<print $activeSlave.race>>; $he is originally <<print $activeSlave.origRace>>. <<elseif $activeSlave.race != $activeSlave.origRace && $saleDescription == 1>> @@ -17393,7 +17396,8 @@ $He has <</if>> <</if>> <<else>> - $His skin is <<print $activeSlave.skin>><<if $activeSlave.markings == "freckles">> and lightly freckled<<if (($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")) && ($activeSlave.hColor != "red")>>, an attractive combination<</if>><<elseif $activeSlave.markings == "heavily freckled">> and heavily freckled<<if (($activeSlave.skin == "pale") || ($activeSlave.skin == "fair")) && ($activeSlave.hColor != "red")>>, an attractive combination<</if>><</if>>. + $His skin is <<print $activeSlave.skin>><<if $activeSlave.markings == "freckles">> and lightly freckled<<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10) && ($activeSlave.hColor == "red")>>, an attractive combination<</if>><<elseif $activeSlave.markings == "heavily freckled">> and heavily freckled<<if (skinToneLevel($activeSlave.skin) > 5) && (skinToneLevel($activeSlave.skin) < 10) && ($activeSlave.hColor == "red")>>, an attractive combination<</if>><</if>>. + <<if ($activeSlave.skin == "sun tanned" || $activeSlave.skin == "spray tanned")>>$His skin has been tanned <<if $activeSlave.skin == "sun tanned">>to a natural, healthy-looking tone<<elseif $activeSlave.skin == "spray tanned">>with obvious, garish-looking makeup<</if>>.<</if>> <</if>> <</widget>> diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw index a8518c8666a2dc53f8c266bcd897b1d8fa794380..69d3db3d6eb18bba1d151794dd6dc6397a20a408 100644 --- a/src/utility/descriptionWidgetsStyle.tw +++ b/src/utility/descriptionWidgetsStyle.tw @@ -294,8 +294,8 @@ $activeSlave.slaveName is which lacks arm or leg holes, so $his limbless torso is in a net. <<else>> <<if (($activeSlave.nails == 2) || ($activeSlave.nails == 7) || ($activeSlave.nails == 9)) && (($activeSlave.makeup == 3) || ($activeSlave.makeup == 6) || ($activeSlave.nails == 8))>> - $activeSlave.hColor to match $his monocolor style, - <<elseif ($activeSlave.skin == "dark") || ($activeSlave.skin == "black")>> + $activeSlave.hColor to match $his monochrome style, + <<elseif (skinToneLevel($activeSlave.skin) > 22)>> in white to create a striking contrast with $his $activeSlave.skin skin, <<elseif ($activeSlave.addict > 5)>> in the electric blue color of aphrodisiacs to signal $he's down to fuck high, diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw index 2ba0228468d6c47b19c76b56bd4115fc0833dad8..293728f53f602f104a74f6b358d813b13c29cc04 100644 --- a/src/utility/slaveCreationWidgets.tw +++ b/src/utility/slaveCreationWidgets.tw @@ -2065,7 +2065,7 @@ <<set $activeSlave.underArmHColor = "blonde">> <<set $activeSlave.eyebrowHColor = "blonde">> <<set $activeSlave.race = "white">> - <<set $activeSlave.skin = "tanned">> + <<set $activeSlave.skin = "sun tanned">> <<set $activeSlave.override_H_Color = 1>> <<set $activeSlave.override_Arm_H_Color = 1>> <<set $activeSlave.override_Pubic_H_Color = 1>>