diff --git a/artTools/README.md b/artTools/README.md index 07fce7668ed4cbc21e4aa67474d980ae238657ea..8324b0948d95f1afdf5c1a542b91fd6dd5871302 100644 --- a/artTools/README.md +++ b/artTools/README.md @@ -10,6 +10,8 @@ Note: This does not actually describe how to be an artist. killall inkscape artTools/vector_layer_split.py artTools/vector_source.svg tw src/art/vector/layers/ compile + python3 artTools/normalize_svg.py artTools/vector_source.svg + git commit -a ## 1. Be an artist diff --git a/artTools/vector_source_ndextras.svg b/artTools/vector_source_ndextras.svg index da6bb9b6091d01ef39ce2c493b933c94d96b7124..3ff331be51e3dbf74e112c42cda1412d94ba1281 100644 --- a/artTools/vector_source_ndextras.svg +++ b/artTools/vector_source_ndextras.svg @@ -1015,43 +1015,13 @@ <rect x="270.67728" y="413.32043" transform="rotate(0.45160762)" width="1.400056" height="9.8003931" id="rect15"/> </g> </g> - <g inkscape:groupmode="layer" id="Belly_" style="display:inline" inkscape:label="Belly_"/> - <g inkscape:groupmode="layer" id="Penis_" style="display:none" inkscape:label="Penis_"> - <g inkscape:groupmode="layer" id="Balls_8" style="display:none;opacity:1" inkscape:label="Balls_8"> - <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 236.3469,553.43633 c 10.78799,2.94037 22.0101,1.14132 24.42164,0.89468 20.66043,10.32815 40.83655,4.81655 51.07917,-16.08874 5.72866,-12.61253 -0.94678,-30.56012 -8.56506,-49.74716 -5.70643,-14.17929 -13.15939,-30.00415 -17.226,-34.51839 -25.60311,-25.78494 -34.15735,-6.96155 -56.96751,40.74686 -12.64856,21.51943 -23.27882,50.11228 7.25776,58.71275 z" id="path7946" style="fill:#000000"/> - <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 237.84992,551.46388 c 10.27384,2.88848 20.96111,1.12115 23.25776,0.87886 19.67583,10.14595 38.89037,4.73159 48.64485,-15.80491 5.45566,-12.38997 -0.20292,-30.9787 -7.45823,-49.8273 -5.43446,-13.92915 -11.21915,-29.47485 -15.09195,-33.90944 -24.38295,-25.33009 -34.54125,-5.881 -56.26432,40.9858 -12.04573,21.13977 -22.16941,49.22822 6.91189,57.67699 z" class="skin scrotum" id="path7948"/> - </g> - <g inkscape:label="Balls_7" style="display:none;opacity:1" id="Balls_7" inkscape:groupmode="layer"> - <path id="path7952" d="m 240.32171,545.03209 c 9.68156,2.6388 19.75272,1.02426 21.91693,0.80291 18.54148,9.26889 36.64832,4.32256 45.84045,-14.43865 5.14112,-11.31898 -0.84968,-27.42585 -7.68663,-44.64505 -5.12116,-12.72505 -11.80974,-26.9269 -15.45928,-30.97815 -22.97723,-23.14041 -30.65414,-6.24757 -51.12487,36.56782 -11.35131,19.31238 -20.89132,44.97272 6.5134,52.69112 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/> - <path id="path7954" class="skin scrotum" d="m 241.60976,542.86172 c 9.18709,2.58172 18.74388,1.00209 20.7976,0.78553 17.59455,9.0684 34.77661,4.22907 43.49927,-14.12636 4.87857,-11.07411 -0.18146,-27.68863 -6.66931,-44.53542 -4.85961,-12.4498 -10.0324,-26.34449 -13.49554,-30.30809 -21.80376,-22.63992 -30.88754,-5.25642 -50.31278,36.63291 -10.77155,18.89463 -19.82436,43.99996 6.18076,51.55143 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/> - </g> - <g inkscape:label="Balls_6" style="display:none;opacity:1" id="Balls_6" inkscape:groupmode="layer"> - <path id="path7940" d="m 244.11974,536.2743 c 8.57513,2.33723 17.49535,0.9072 19.41222,0.71115 16.42253,8.20962 32.46009,3.82857 40.60172,-12.78858 4.55359,-10.02543 -0.75257,-24.29157 -6.80818,-39.54293 -4.53591,-11.2708 -10.46011,-23.84964 -13.69257,-27.43791 -20.35135,-20.49589 -27.15093,-5.53359 -45.28222,32.38878 -10.05407,17.10533 -18.50383,39.83316 5.76903,46.66949 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/> - <path id="path7942" class="skin scrotum" d="m 245.22876,533.90601 c 8.11987,2.27495 16.5665,0.88301 18.38165,0.69219 15.55068,7.99086 30.73679,3.72656 38.44618,-12.4478 4.31185,-9.75824 -0.16038,-24.39855 -5.89457,-39.24353 -4.2951,-10.97046 -8.86699,-23.21412 -11.92783,-26.70676 -19.27093,-19.94975 -27.29949,-4.63183 -44.4682,32.28004 -9.52027,16.64948 -17.52147,38.77169 5.46277,45.42586 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/> - </g> - <g inkscape:groupmode="layer" id="Balls_5" style="display:none;opacity:1" inkscape:label="Balls_5"> - <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 247.74099,527.16294 c 7.46871,2.03567 15.23797,0.79016 16.90752,0.6194 14.30357,7.15036 28.27184,3.33458 35.36299,-11.1385 3.96604,-8.73188 -0.65548,-21.1573 -5.92974,-34.44082 -3.95066,-9.81656 -9.11047,-20.77239 -11.92586,-23.89767 -17.72547,-17.85136 -23.64772,-4.8196 -39.43958,28.20975 -8.75682,14.89827 -16.11633,34.69359 5.02467,40.64784 z" id="path7934" style="fill:#000000"/> - <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 248.70691,525.10023 c 7.07219,1.98142 14.42898,0.76908 16.00992,0.60288 13.54422,6.95982 26.7709,3.24573 33.48558,-10.8417 3.7555,-8.49915 -0.13969,-21.25046 -5.13401,-34.18004 -3.74092,-9.55497 -7.72291,-20.21887 -10.38882,-23.26086 -16.78446,-17.37568 -23.77711,-4.03419 -38.73059,28.11503 -8.2919,14.50125 -15.26072,33.76909 4.75792,39.56469 z" class="skin scrotum" id="path7936"/> - </g> - <g inkscape:label="Balls_4" style="display:none;opacity:1" id="Balls_4" inkscape:groupmode="layer"> - <path id="path7087" d="m 251.36225,517.52126 c 6.36228,1.7341 12.98059,0.6731 14.40281,0.52764 12.18462,6.09109 24.08361,2.84059 30.12426,-9.48843 3.37851,-7.43832 -0.55837,-18.02302 -5.0513,-29.3387 -3.3654,-8.36232 -7.76083,-17.69513 -10.15914,-20.35743 -15.09959,-15.20683 -20.14451,-4.10562 -33.59694,24.03071 -7.45957,12.69122 -13.72883,29.55403 4.28031,34.62621 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/> - <path id="path7089" class="skin scrotum" d="m 252.18508,515.76412 c 6.0245,1.68789 12.29144,0.65515 13.63818,0.51357 11.53776,5.92878 22.80502,2.7649 28.52497,-9.23559 3.19916,-7.24008 -0.11899,-18.10239 -4.37345,-29.11656 -3.18673,-8.13948 -6.57882,-17.22361 -8.8498,-19.81496 -14.29798,-14.80162 -20.25473,-3.43656 -32.99298,23.95003 -7.06352,12.35301 -12.99997,28.76648 4.05308,33.70351 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/> - </g> - <g inkscape:groupmode="layer" id="Balls_3" style="display:none;opacity:1" inkscape:label="Balls_3"> - <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 254.20165,507.75763 c 5.25585,1.43253 10.72321,0.55604 11.8981,0.43588 10.06567,5.03182 19.89538,2.3466 24.88554,-7.83836 2.79097,-6.14476 -0.46127,-14.88874 -4.17286,-24.23658 -2.78015,-6.90808 -6.41119,-14.61788 -8.39243,-16.81719 -12.47371,-12.56231 -16.6413,-3.39164 -27.7543,19.85167 -6.16232,10.48417 -11.34133,24.41447 3.53595,28.60458 z" id="path7081" style="fill:#000000"/> - <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 254.88139,506.30606 c 4.97681,1.39436 10.15391,0.54122 11.26644,0.42426 9.5313,4.89774 18.83914,2.28407 23.56437,-7.62949 2.64281,-5.981 -0.0983,-14.95431 -3.61289,-24.05307 -2.63255,-6.72399 -5.43474,-14.22836 -7.31079,-16.36906 -11.8115,-12.22756 -16.73235,-2.83893 -27.25537,19.78502 -5.83514,10.20478 -10.73922,23.76388 3.34824,27.84234 z" class="skin scrotum" id="path7083"/> - </g> - <g inkscape:label="Balls_2" style="display:none;opacity:1" id="Balls_2" inkscape:groupmode="layer"> - <path id="path1992-1" d="m 257.66607,496.61899 c 4.14944,1.13097 8.46586,0.43899 9.39342,0.34412 7.94674,3.97257 15.70719,1.85262 19.64687,-6.1883 2.20344,-4.85122 -0.36417,-11.7545 -3.29443,-19.13452 -2.1949,-5.45385 -5.06156,-11.54066 -6.62573,-13.27699 -9.84786,-9.91781 -13.13813,-2.67766 -21.91172,15.67268 -4.86509,8.27714 -8.95386,19.27496 2.79159,22.58301 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/> - <path id="path1992" class="skin scrotum" d="m 258.20272,495.47299 c 3.92914,1.10083 8.0164,0.42729 8.89473,0.33495 7.52486,3.86671 14.8733,1.80325 18.60382,-6.0234 2.08647,-4.72194 -0.0776,-11.80627 -2.85234,-18.98964 -2.07837,-5.30852 -4.29067,-11.23314 -5.77179,-12.9232 -9.32505,-9.65353 -13.21001,-2.2413 -21.51782,15.62006 -4.60678,8.05657 -8.4785,18.76133 2.6434,21.98123 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/> - </g> - <g inkscape:groupmode="layer" id="Balls_1" style="display:none;opacity:1" inkscape:label="Balls_1"> - <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 261.10793,485.5631 c 3.043,0.8294 6.20846,0.32194 6.88869,0.25236 5.82776,2.9133 11.5189,1.35863 14.40808,-4.5382 1.6159,-3.55766 -0.26707,-8.62019 -2.41598,-14.03235 -1.60964,-3.99959 -3.71191,-8.46337 -4.859,-9.73671 -7.22195,-7.27326 -9.63488,-1.96367 -16.06901,11.4936 -3.56783,6.07006 -6.56634,14.13534 2.04722,16.5613 z" id="path7075" style="fill:#000000"/> - <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 261.50148,484.72268 c 2.88145,0.8073 5.87885,0.31336 6.52297,0.24564 5.51838,2.83566 10.90738,1.32242 13.64316,-4.41728 1.53012,-3.46285 -0.0569,-8.65816 -2.09177,-13.9261 -1.52418,-3.89302 -3.14657,-8.23785 -4.23276,-9.47726 -6.83854,-7.07944 -9.68759,-1.64366 -15.78014,11.45501 -3.3784,5.90831 -6.21773,13.75867 1.93854,16.11999 z" class="skin scrotum" id="path7077"/> - </g> - <g inkscape:label="Balls_0" style="display:none" id="Balls_0" inkscape:groupmode="layer"> - <path id="path7093" d="m 264.41983,475.25851 c 1.93657,0.52783 3.95108,0.20488 4.38398,0.1606 3.70881,1.85403 7.33067,0.86464 9.16935,-2.88813 1.02837,-2.2641 -0.16996,-5.48591 -1.53754,-8.93023 -1.02438,-2.54535 -2.36227,-5.38611 -3.09228,-6.19647 -4.59607,-4.62873 -6.13167,-1.24969 -10.22637,7.31456 -2.27058,3.86301 -4.17884,8.99578 1.30286,10.53967 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/> - <path id="path7095" class="skin scrotum" d="m 264.67028,474.72366 c 1.83377,0.51377 3.74132,0.19942 4.15124,0.15633 3.51192,1.80462 6.9415,0.84159 8.68255,-2.81117 0.97378,-2.20377 -0.0362,-5.51008 -1.3312,-8.86262 -0.97,-2.47753 -2.00249,-5.24259 -2.69375,-6.03136 -4.35207,-4.50538 -6.16521,-1.04603 -10.04253,7.29001 -2.15002,3.76007 -3.95698,8.75606 1.23369,10.25881 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/> + <g inkscape:groupmode="layer" id="Belly_" style="display:none" inkscape:label="Belly_"/> + <g inkscape:groupmode="layer" id="Penis_" style="display:inline" inkscape:label="Penis_"> + <g inkscape:label="Balls" style="display:inline;opacity:1" id="Balls" inkscape:groupmode="layer"> + <g id="g5023"> + <path style="fill:#000000" sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 257.66607,496.61899 c 4.14944,1.13097 8.46586,0.43899 9.39342,0.34412 7.94674,3.97257 15.70719,1.85262 19.64687,-6.1883 2.20344,-4.85122 -0.36417,-11.7545 -3.29443,-19.13452 -2.1949,-5.45385 -5.06156,-11.54066 -6.62573,-13.27699 -9.84786,-9.91781 -13.13813,-2.67766 -21.91172,15.67268 -4.86509,8.27714 -8.95386,19.27496 2.79159,22.58301 z" id="path1992-1"/> + <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 258.20272,495.47299 c 3.92914,1.10083 8.0164,0.42729 8.89473,0.33495 7.52486,3.86671 14.8733,1.80325 18.60382,-6.0234 2.08647,-4.72194 -0.0776,-11.80627 -2.85234,-18.98964 -2.07837,-5.30852 -4.29067,-11.23314 -5.77179,-12.9232 -9.32505,-9.65353 -13.21001,-2.2413 -21.51782,15.62006 -4.60678,8.05657 -8.4785,18.76133 2.6434,21.98123 z" class="skin scrotum" id="path1992"/> + </g> </g> <g inkscape:label="Penis_10" inkscape:groupmode="layer" id="Penis_10" style="display:none;opacity:1"> <path inkscape:connector-curvature="0" d="m 177.54966,423.60207 c 0.58231,-0.24185 1.52523,0.0443 2.06579,-0.20185 25.72401,-11.7127 4.43582,-28.56687 -1.97404,-27.76071 -17.29805,6.06616 -10.64391,23.21603 -5.00792,24.16114 0.0809,0.0587 0.67287,1.50415 4.91615,3.80142 z" id="path8126" sodipodi:nodetypes="cscccc" style="fill:#000000"/> diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 0ca2d2c5ada9bb864cc5a267f700acc274ae6bee..20545982b49eb8f68280ad5aae9960417f91d4e9 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -6664,6 +6664,112 @@ window.properTitle = function properTitle() { else return "Ma'am"; }; +window.newSlave = function newSlave(slave) { + const V = State.variables; + + switch (slave.eyeColor) { + case "blind blue": + slave.origEye = "deep blue"; + break; + case "milky white": + case "implant": + slave.origEye = jsEither(["blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue"]); + break; + default: + slave.origEye = slave.eyeColor; + break; + } + slave.origHColor = slave.hColor; + slave.underArmHColor = slave.hColor; + slave.pubicHColor = slave.hColor; + slave.origSkin = slave.skin; + + if (V.surnamesForbidden === 1) { + slave.slaveSurname = 0; + } + + if (slave.preg > 0) { + slave.pregWeek = slave.preg; + } else { + slave.pregWeek = 0; + } + + if (V.familyTesting === 1) { + slave.sisters = 0; + slave.daughters = 0; + if (slave.mother === -1 || slave.father === -1) { + V.PC.daughters += 1; + } + if (areSisters(V.PC, slave) > 0) { + V.PC.sisters += 1; + } + for (let k = 0; k < V.slaves.length; k++) { + if (V.slaves[k].mother === slave.ID || V.slaves[k].father === slave.ID) { + slave.daughters++; + } + if (slave.mother === V.slaves[k].ID || slave.father === V.slaves[k].ID) { + V.slaves[k].daughters++; + } + if (areSisters(V.slaves[k], slave) > 0) { + slave.sisters++; + V.slaves[k].sisters++; + } + } + } + + if (slave.dick > 0 && + slave.balls > 0 && + slave.devotion <= 50 && + (slave.fetish !== "buttslut" || slave.fetishKnown !== 1) && + slave.sexualFlaw !== "hates women") { + V.REFeminizationCheckinIDs.push(slave.ID); + } + if (slave.actualAge > 35 && slave.face < 40 && slave.analSkill <= 30) { + V.REMILFCheckinIDs.push(slave.ID); + } + if (slave.attrXY <= 60 && slave.attrXX > 60 ) { + V.REOrientationCheckinIDs.push(slave.ID); + } + if (slave.face < -10) { + V.REUglyCheckinIDs.push(slave.ID); + } + if (slave.anus < 2) { + V.REButtholeCheckinIDs.push(slave.ID); + } + if (slave.boobs < 800) { + V.REReductionCheckinIDs.push(slave.ID); + } + + if (slave.fuckdoll > 0) { + slave.pronoun = "it", slave.possessivePronoun = "its", slave.possessive = "its", slave.object = "it", slave.objectReflexive = "itself", slave.noun = "toy"; + } else if (slave.dick > 0 && slave.vagina === -1 && V.diversePronouns === 1) { + slave.pronoun = "he", slave.possessivePronoun = "his", slave.possessive = "his", slave.object = "him", slave.objectReflexive = "himself", slave.noun = "boy"; + } else { + slave.pronoun = "she", slave.possessivePronoun = "hers", slave.possessive = "her", slave.object = "her", slave.objectReflexive = "herself", slave.noun = "girl"; + } + + SetBellySize(slave); + addSlave(slave); + + if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) { + V.genePool.push(slave); + } else { + if (V.genePool.findIndex(function(s) { return s.ID === slave.ID; }) === -1) { + V.genePool.push(slave); + } + } + + /* add to facilities array if needed */ + if (slave.assignment !== "rest") { + assignJob(slave, slave.assignment); + } + + /** do not run the Rules Assistant before adding the new slave to the slaves list! **/ + if (V.ui !== "start" && V.universalRulesNewSlavesRA === 1 && V.rulesAssistantAuto !== 0) { + DefaultRules(slave); + } +}; + window.addSlave = function addSlave(slave) { State.variables.slaves.push(slave); State.variables.slaveIndices[slave.ID] = State.variables.slaves.length - 1; @@ -6856,6 +6962,48 @@ window.SlaveFullName = function SlaveFullName(slave) { return pair.join(" "); }; +window.PlayerName = function PlayerName() { + const V = State.variables; + const surnamesFirstCountries = [ + "Cambodian", + "Chinese", + "Hungarian", + "Japanese", + "Korean", + "Mongolian", + "Taiwanese", + "Vietnamese"]; + let names = [V.PC.name, V.PC.surname || ""]; + + if ((V.surnameOrder !== 1) && (surnamesFirstCountries.includes(V.PC.nationality))) + names.reverse(); + return names.join(" ").trim(); +}; + +window.PoliteRudeTitle = function PoliteRudeTitle(slave) { + const V = State.variables, PC = V.PC, s = V.sEnunciate, ss = V.ssEnunciate; + + var r = ""; + if (slave.nationality == "Japanese") { + if (slave.trust > 0) { + r += `${PC.name}${PC.title > 0 ? "kun" : "chan"}`; + } else { + r += (PC.surname ? PC.surname : `${PC.name}${s}an`); + } + } else { + if (slave.intelligence < -2) { + r += V.titleEnunciate + } else if (slave.intelligence > 1) { + r += (PC.title > 0 ? `Ma${s}ter` : `Mi${s}tre${ss}`); + } else if (slave.trust > 0) { + r += PC.name; + } else { + r += (PC.surname ? PC.surname : PC.name); + } + } + return r; +}; + window.SlaveTitle = function SlaveTitle(slave) { const V = State.variables; let r = ""; @@ -7206,6 +7354,391 @@ window.SlaveTitle = function SlaveTitle(slave) { return r; }; +window.DegradingName = function DegradingName(slave) { + const V = State.variables; + const leadershipPosition = [ + "be the Attendant", + "be the Stewardess", + "be the Milkmaid", + "be the DJ", + "be your Concubine", + "be the Madam", + "be the Schoolteacher", + "be the Wardeness", + "be the Nurse", + "be your Head Girl", + "guard you", + "recruit girls"]; + let names = []; + let suffixes = []; + + if (slave.fuckdoll > 0) { + 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.slaveSurname = 0; + } else { + if (V.seeRace === 1) { + switch (slave.race) { + case "white": + names.push("Pale", "White"); + break; + case "asian": + names.push("Asian", "Yellow"); + break; + case "latina": + names.push("Brown", "Latina"); + break; + case "black": + names.push("Black", "Dark"); + break; + case "pacific islander": + names.push("Islander", "Sea"); + break; + case "malay": + names.push("Cinnamon", "Pinoy", "Spice"); + break; + case "southern european": + names.push("Mediterranean", "Olive"); + break; + case "amerindian": + names.push("Indian", "Reservation"); + break; + case "semitic": + names.push("Semitic"); + break; + case "middle eastern": + names.push("Arab", "Sand"); + break; + case "indo-aryan": + names.push("Brown", "Indian"); + break; + case "mixed race": + names.push("Mulatto", "Mutt"); + break; + } + } + names.push(slave.hColor); + if (slave.eyes === -2) { + names.push("Blind", "Eyeless", "Sightless"); + } + if (slave.boobs >= 2000) { + suffixes.push("Boob", "Boobs", "Titty"); + } + if (slave.boobs < 500 && slave.butt < 3) { + names.push("Girly", "Slim", "Thin"); + } + if (slave.boobs < 300) { + names.push("Flat"); + } + if (slave.anus > 2 || slave.vagina > 2) { + names.push("Gaping", "Hallway", "Slit", "Wideopen"); + } + if (slave.weight > 160) { + names.push("Cow", "Fat", "Whale", "Fatass", "Blimp"); + } else if (slave.weight > 30) { + names.push("Chubby", "Fat", "Whale"); + } else if (slave.weight <= -30) { + names.push("Bony", "Rail", "Skinny"); + } + if (slave.muscles > 30) { + names.push("Huge", "Muscles", "Ripped", "Strong"); + } + if (slave.fetishKnown === 1) { + if (slave.fetish == "buttslut") { + names.push("Anal", "Sodomy"); + } + if (slave.fetish == "cumslut") { + names.push("Cum", "Dicksuck", "Sucker"); + } + if (slave.fetish == "humiliation") { + names.push("Rape"); + } + if (slave.fetish == "masochist") { + names.push("Pain", "Rape", "Struggle"); + } + if (slave.fetish == "pregnancy") { + names.push("Fertile"); + } + } + if (slave.boobs*slave.lactation > 1000) { + names.push("Creamy", "Milky"); + suffixes.push("Cow"); + } + if (slave.oralSkill <= 30 && slave.analSkill <= 30) { + names.push("Cheap", "Fail", "Gutter"); + } + if (slave.nipples == "fuckable") { + names.push("Nipplefuck", "Nipplecunt"); + } else if (slave.nipples != "tiny" && slave.nipples != "cute") { + names.push("Pointy", "Titclit"); + suffixes.push("Nipples"); + } + if (slave.visualAge > 35) { + names.push("Mature"); + suffixes.push("Cougar", "MILF"); + } else if (slave.visualAge < 25) { + names.push("Girly", "Thin", "Young"); + } + if (slave.amp === 1) { + names.push("Stumpy"); + suffixes.push("Stumpy"); + } + if (slave.boobsImplant > 1000 || slave.buttImplant > 3) { + names.push("Fake", "Plastic", "Silicone"); + } + if (slave.dick > 5 && slave.balls > 5) { + names.push("Potent"); + suffixes.push("Cannon", "Daddy"); + } + if (slave.preg > 30) { + if (slave.broodmother === 2) { + names.push("Bursting", "Seeded"); + suffixes.push("Factory", "Nursery"); + } else if (slave.broodmother === 1) { + names.push("Bloated", "Stuffed"); + suffixes.push("Breeder", "Factory"); + } + } + if (slave.bellyPreg >= 450000) { + names.push("Bulging", "Squirming"); + } + if (slave.bellyPreg >= 5000) { + names.push("Preg"); + suffixes.push("Belly", "Mommy"); + } + if (slave.belly > 150000) { + suffixes.push("Balloon"); + } + if (slave.belly > 1500) { + suffixes.push("Belly"); + } + if (slave.dick > 0) { + if (slave.dick > 4) { + names.push("Dangle", "Hung"); + suffixes.push("Cock", "Dick"); + } + if (slave.balls === 0) { + names.push("Cut", "Gelded", "Soft"); + } else { + names.push("Erect", "Hard", "Stiff"); + } + } + if (slave.dick === 1) { + names.push("Micro", "Tiny"); + suffixes.push("Bitch"); + } + if (slave.height >= 185) { + names.push("Tall", "Top"); + suffixes.push("Tower"); + } else if (slave.height < 150) { + names.push("Stumpy", "Tiny"); + suffixes.push("Shortstack", "Stumpy"); + } + if (slave.whoreSkill > 95) { + names.push("Money", "Street"); + suffixes.push("Whore"); + } + if (slave.entertainSkill > 95) { + names.push("Easy", "Club"); + suffixes.push("Slut"); + } + if (slave.oralSkill > 95) { + names.push("Suck"); + suffixes.push("Throat"); + } + if (slave.vaginalSkill > 95) { + suffixes.push("Channel", "Kegel", "Pussy"); + } + if (slave.analSkill > 95) { + suffixes.push("Asspussy", "Sphincter"); + } + if (slave.intelligence > 1) { + names.push("Bright", "Clever", "Smart"); + if (slave.intelligenceImplant === 1) { + names.push("College", "Graduate", "Nerdy"); + } + } else if (slave.intelligence < -1) { + names.push("Cretin", "Dumb", "Retarded", "Stupid"); + } + if (slave.vagina === 1 && slave.vaginaSkill <= 10) { + names.push("Fresh", "New", "Tight"); + } + if (slave.devotion < -75) { + names.push("Angry", "Biter", "Caged"); + } else if (slave.devotion < -50) { + names.push("Cell", "Cuffs"); + } else if (slave.devotion < -20) { + names.push("Bag", "Box"); + } else if (slave.devotion <= 20) { + names.push("Sad", "Whiner"); + } else if (slave.devotion > 50) { + names.push("Prize"); + if (slave.visualAge > 35) { + names.push("Queen"); + } else if (slave.visualAge < 25) { + names.push("Princess"); + } + } + if (slave.trust < -50) { + names.push("Screaming"); + suffixes.push("Sobber"); + } else if (slave.trust < -20) { + names.push("Crying"); + suffixes.push("Meat", "Tears", "Thing", "Weeper"); + } else if (slave.trust < 20) { + names.push("Begging"); + } + + + if (slave.dick === 0) { + if (slave.vagina === -1) { + suffixes.push("Null"); + } else { + if (slave.visualAge < 25) { + suffixes.push("Girl"); + } + } + } else { + if (slave.vagina != -1) { + suffixes.push("Futa"); + } else { + if (slave.balls > 0) { + if (slave.boobs > 300 && slave.butt > 2) { /* SHEMALES: cock & balls, T&A above minimum */ + suffixes.push("Shemale"); + } else { + if (slave.shoulders < 1 && slave.muscles <= 30) { + if (slave.faceShape == "masculine" || slave.faceShape == "androgynous") { /* SISSIES: feminine shoulders or muscles, masculine faces */ + suffixes.push("Sissy"); + } else { /* TRAPS: feminine shoulders or muscles, feminine faces */ + suffixes.push("Trap"); + } + } else { /* BITCHES: masculine shoulders or muscles */ + suffixes.push("Bitch"); + } + } + } else { + if (slave.visualAge > 35) { + suffixes.push("DickMILF"); + } else if (slave.visualAge >= 25) { + suffixes.push("Dickslave"); + } else { + suffixes.push("Dickgirl"); + } + } + } + } + if (slave.anus > 0) { + suffixes.push("Anus", "Asshole", "Backdoor", "Butt", "Butthole"); + } + if (slave.anus === 1) { + suffixes.push("Tightass", "Tightbutt"); + } + if (slave.vagina > 0) { + suffixes.push("Cunt", "Pussy", "Vagina"); + } + if (slave.boobs < 500 && slave.butt < 3 && slave.dick > 0) { + suffixes.push("Bitch", "Bottom", "Sissy", "Trap"); + } + if (slave.energy > 95) { + suffixes.push("Fuck", "Fuckaddict", "Nympho", "Sexaddict"); + } + if (slave.fetishKnown === 1) { + if (slave.fetish == "humiliation") { + suffixes.push("Rapebait", "Showgirl"); + } + if (slave.fetish == "submissive") { + suffixes.push("Bottom", "Fuckee", "Rapebait"); + } + if (slave.fetish == "dom") { + suffixes.push("Dom", "Fucker", "Top"); + } + if (slave.fetish == "pregnancy") { + suffixes.push("Breeder", "Mommy"); + } + if (slave.fetish == "boobs") { + suffixes.push("Boob", "Boobie", "Tit", "Titty"); + } + } + if (slave.births >= 2) { + suffixes.push("Breeder"); + if (slave.births >= 5) { + suffixes.push("Broodmother"); + } + } + if (slave.areolae > 2) { + suffixes.push("Areolas", "Headlights"); + } + if (slave.lips > 40) { + suffixes.push("Lips", "Pillows"); + } + if (slave.labia > 1) { + suffixes.push("Curtains", "Flower", "Lips"); + } + if (slave.breedingMark === 1) { + suffixes.push("Breeder", "Oven", "Womb"); + } + if (slave.butt > 5) { + suffixes.push("Ass", "Bottom", "Butt"); + } + if (slave.vagina === 0) { + suffixes.push("Virgin"); + } + + slave.slaveName = jsEither(names); + } + if (leadershipPosition.includes(slave.assignment)) { + switch (slave.assignment) { + case "be the Attendant": + slave.slaveName = jsEither(["Bath", "Spa"]); + break; + case "be the Stewardess": + slave.slaveName = jsEither(["Servant", "Maid"]); + break; + case "be the Milkmaid": + if (V.cumSlaves > 3) { + slave.slaveName = jsEither(["Fucker", "Milker"]); + } else { + slave.slaveName = jsEither(["Dairy", "Farm"]); + } + break; + case "be the DJ": + slave.slaveName = jsEither(["Bass", "Booth"]); + break; + case "be your Concubine": + slave.slaveName = jsEither(["Bed", "Master"]); + break; + case "be the Madam": + slave.slaveName = jsEither(["Madam", "Pimp"]); + break; + case "be the Schoolteacher": + slave.slaveName = jsEither(["Classroom", "Teacher"]); + break; + case "be the Wardeness": + slave.slaveName = jsEither(["Jail", "Prison"]); + break; + case "be the Nurse": + slave.slaveName = jsEither(["Clinic", "Nurse"]); + break; + case "be your Head Girl": + slave.slaveName = jsEither(["Chief", "Head"]); + break; + case "guard you": + slave.slaveName = jsEither(["Battle", "Guard"]); + break; + case "recruit girls": + slave.slaveName = jsEither(["Cam", "Recruiter"]); + break; + } + } + let surname = jsEither(suffixes); + if (typeof surname == "string" && surname.toLowerCase() == slave.slaveName.toLowerCase()) { + DegradingName(slave); + } + slave.slaveSurname = surname; +}; + window.SlaveSort = function SlaveSort(slaves, main=false) { const V = State.variables; if (main) { @@ -7261,6 +7794,59 @@ window.SlaveSort = function SlaveSort(slaves, main=false) { } }; +window.MenialPopCap = function MenialPopCap () { + const V = State.variables; + let popCap = 500; + let r = ""; + + for (let mwi = 20; mwi < V.sectors.length; mwi++) { + if (V.sectors[mwi].type === "Pens") { + popCap += 500; + } + } + let overMenialCap = V.helots + V.fuckdolls + V.menialBioreactors - popCap; + if (overMenialCap > 0) { + let price = menialSlaveCost(); + if (V.helots > 0) { + if (V.helots > overMenialCap) { + V.cash += overMenialCap * price; + V.menialDemandFactor -= overMenialCap; + V.helots -= overMenialCap; + overMenialCap = 0; + r += "You don't have enough room for all your menials and are obliged to sell some."; + } else { + V.cash += V.helots * price; + V.menialDemandFactor -= V.helots; + overMenialCap -= V.helots; + V.helots = 0; + r += "You don't have enough room for your menials and are obliged to sell them."; + } + } + if (overMenialCap > 0 && V.fuckdolls > 0) { + if (V.fuckdolls > overMenialCap) { + V.cash += overMenialCap * (price * 2); + V.menialDemandFactor -= overMenialCap; + V.fuckdolls -= overMenialCap; + overMenialCap = 0; + r += "You don't have enough room for all your fuckdolls and are obliged to sell some."; + } else { + V.cash += V.fuckdolls * (price * 2); + V.menialDemandFactor -= V.fuckdolls; + overMenialCap -= V.fuckdolls; + V.fuckdolls = 0; + r += "You don't have enough room for your fuckdolls and are obliged to sell them."; + } + } + if (overMenialCap > 0 && V.menialBioreactors > 0) { + V.cash += overMenialCap * (price - 100); + V.menialDemandFactor -= overMenialCap; + V.menialBioreactors -= overMenialCap; + r += "You don't have enough room for all your menial bioreactors and are obliged to sell some."; + } + } + return r; +}; + /*:: Summary Widgets JS [script]*/ window.SlaveStatClamp = function SlaveStatClamp(slave) { diff --git a/src/SecExp/attackReport.tw b/src/SecExp/attackReport.tw index 82a8c2056d6486748055f797014b18b53546949d..83696e8eb68695f6d26a749dcf1b2c097e6b1842 100644 --- a/src/SecExp/attackReport.tw +++ b/src/SecExp/attackReport.tw @@ -862,16 +862,6 @@ Your soldiers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander. <</if>> <<elseif $Bodyguard.prestige >= 2>> - <<if $deployingMilitia == 1>> - Your volunteers - <<if $deployingMercs == 1>> - and your mercenaries are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <<else>> - are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <</if>> - <<elseif $deployingMercs == 1>> - Your mercenaries are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <</if>> <<if $deployingMilitia == 1>> Your <<if $deployingMercs == 1 && $SFIntervention == 1>> @@ -1008,16 +998,6 @@ Your soldiers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander. <</if>> <<elseif $HeadGirl.prestige >= 2>> - <<if $deployingMilitia == 1>> - Your volunteers - <<if $deployingMercs == 1>> - and your mercenaries are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <<else>> - are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <</if>> - <<elseif $deployingMercs == 1>> - Your mercenaries are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <</if>> <<if $deployingMilitia == 1>> Your <<if $deployingMercs == 1 && $SFIntervention == 1>> diff --git a/src/SecExp/secBarracks.tw b/src/SecExp/secBarracks.tw index ba68110ef72d2289859ef1fee5a5bf158567a28d..c621fb3f53857f4b231f3651d05dfae0c45330c6 100644 --- a/src/SecExp/secBarracks.tw +++ b/src/SecExp/secBarracks.tw @@ -180,7 +180,7 @@ __Security Drones__ __Slaves__ <br>/* slaves */ You are free to organize your menial slaves into fighting units. Currently you have <<print commaNum($helots)>> slaves available, while <<print commaNum($slavesEmployedManpower)>> are already employed as soldiers. During all your battles you lost a total of <<print commaNum($slavesTotalCasualties)>>. -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <<set _menialPrice = menialSlaveCost()>> <<if $cash > _menialPrice>> <<if $PopCap > $helots+$fuckdolls+$menialBioreactors>> diff --git a/src/SecExp/secExpOptions.tw b/src/SecExp/secExpOptions.tw index 4ce4be5c242ee104fd86b749cff3ebd9c66cddef..1e0eae270ceedb2af9fe5090270dde3a50151ad2 100644 --- a/src/SecExp/secExpOptions.tw +++ b/src/SecExp/secExpOptions.tw @@ -409,7 +409,7 @@ __Rebellions buildup speed__: <br> __Debug/cheats:__ -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <br> <<link "Set loyalty high" "secExpOptions">> <<for _i = 0; _i < $militiaUnits.length; _i++>> diff --git a/src/SecExp/securityHQ.tw b/src/SecExp/securityHQ.tw index 78cfca082308ed3b0f03860860248433c513817c..40d44e15172e84ffb1cd3a35e3e69dd31291700c 100644 --- a/src/SecExp/securityHQ.tw +++ b/src/SecExp/securityHQ.tw @@ -21,7 +21,7 @@ You have <span id="secHel"><<print $secHelots>></span> slaves working in the HQ. <<else>> You have enough slaves to man all security systems. <</if>> -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <<set _menialPrice = menialSlaveCost()>> <<if $cash > _menialPrice>> <<if $PopCap > $helots+$fuckdolls+$menialBioreactors || $helots+$fuckdolls+$menialBioreactors == 0>> diff --git a/src/SecExp/weaponsManufacturing.tw b/src/SecExp/weaponsManufacturing.tw index 87a8c7b51ecef4abdbe6f744f97a14636c02beec..339b434aa738fab80187fa0a79fb8eeab57fc03d 100644 --- a/src/SecExp/weaponsManufacturing.tw +++ b/src/SecExp/weaponsManufacturing.tw @@ -32,7 +32,7 @@ many small old world nations as the advanced technology that free cities have av <<if $weapHelots> 0>>Assigned here are $weapHelots slaves working to produce as much equipment as possible<<else>>There are no assigned menial slaves here. The spaces is manned exclusively by low rank citizens.<</if>> You own <<print commaNum($helots)>> free menial slaves. This manufacturing complex can house 500 at most, with <<print 500 - $weapHelots>> free slots. <br> -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <<set _menialPrice = menialSlaveCost()>> <<if $cash > _menialPrice>> <<if $PopCap > $helots+$fuckdolls+$menialBioreactors || $helots+$fuckdolls+$menialBioreactors == 0>> diff --git a/src/art/vector/Arm.tw b/src/art/vector/Arm.tw index d6bba4c535eeb84f588a939c741430a8921e329b..09bcdb7d170f9151b2e132efc2c60303f9361de8 100644 --- a/src/art/vector/Arm.tw +++ b/src/art/vector/Arm.tw @@ -27,67 +27,67 @@ /* Arms position switch courtesy of Nov-X */ -<<if $args[0].amp != 1>> - <<if _artSlave.weight <= 20>> - <<if $args[0].devotion > 50>> - <<set _leftArmType = "High">> - <<set _rightArmType = "High">> - <<elseif $args[0].trust >= -20>> - <<if $args[0].devotion < -20>> - <<set _leftArmType = "Rebel">> - <<set _rightArmType = "Low">> - <<elseif $args[0].devotion <= 20>> - <<set _leftArmType = "Low">> - <<set _rightArmType = "Low">> - <<else>> - <<set _leftArmType = "Mid">> - <<set _rightArmType = "High">> - <</if>> +<<if _artSlave.amp != 1>> + +<<if _artSlave.weight <= 20>> + <<if $args[0].devotion > 50>> + <<set _leftArmType = "High">> + <<set _rightArmType = "High">> + <<elseif $args[0].trust >= -20>> + <<if $args[0].devotion < -20>> + <<set _leftArmType = "Rebel">> + <<set _rightArmType = "Low">> + <<elseif $args[0].devotion <= 20>> + <<set _leftArmType = "Low">> + <<set _rightArmType = "Low">> <<else>> <<set _leftArmType = "Mid">> - <<set _rightArmType = "Mid">> - <</if>> - <<elseif _artSlave.weight > 20>> - <<if $args[0].devotion > 50>> - <<set _leftArmType = "High">> <<set _rightArmType = "High">> - <<elseif $args[0].trust >= -20>> - <<if $args[0].devotion < -20>> - <<set _leftArmType = "Rebel">> - <<set _rightArmType = "Low">> - <<elseif $args[0].devotion <= 20>> - <<set _leftArmType = "Low">> - <<set _rightArmType = "Low">> - <<else>> - <<set _leftArmType = "Mid">> - <<set _rightArmType = "High">> - <</if>> + <</if>> + <<else>> + <<set _leftArmType = "Mid">> + <<set _rightArmType = "Mid">> + <</if>> +<<elseif _artSlave.weight > 20>> + <<if $args[0].devotion > 50>> + <<set _leftArmType = "High">> + <<set _rightArmType = "High">> + <<elseif $args[0].trust >= -20>> + <<if $args[0].devotion < -20>> + <<set _leftArmType = "Rebel">> + <<set _rightArmType = "Low">> + <<elseif $args[0].devotion <= 20>> + <<set _leftArmType = "Low">> + <<set _rightArmType = "Low">> <<else>> <<set _leftArmType = "Mid">> - <<set _rightArmType = "Mid">> + <<set _rightArmType = "High">> <</if>> + <<else>> + <<set _leftArmType = "Mid">> + <<set _rightArmType = "Mid">> <</if>> - - <<set _art = "Art_Vector_Arm_Right_"+_rightArmType >> - <<include _art>> - <<set _art = "Art_Vector_Arm_Left_"+_leftArmType >> - <<include _art>> - - /* shiny clothings */ - <<if $seeVectorArtHighlights == 1>> - <<if _artSlave.fuckdoll != 0 || _artSlave.clothes == "restrictive latex" || _artSlave.clothes == "a latex catsuit" || _artSlave.clothes == "body oil">> - /* only some arm positions have art (feel free to add more) */ - <<switch _leftArmType>> - <<case "High">> - <<include Art_Vector_Arm_Outfit_Shine_Left_High>> - <<case "Mid">> - <<include Art_Vector_Arm_Outfit_Shine_Left_Mid>> - <<case "Low">> - <<include Art_Vector_Arm_Outfit_Shine_Left_Low>> - <<default>> - /* no art for this arm position */ - <</switch>> - <</if>> +<</if>> + +<<set _art = "Art_Vector_Arm_Right_"+_rightArmType >> +<<include _art>> +<<set _art = "Art_Vector_Arm_Left_"+_leftArmType >> +<<include _art>> + +/* shiny clothings */ +<<if $seeVectorArtHighlights == 1>> + <<if _artSlave.fuckdoll != 0 || _artSlave.clothes == "restrictive latex" || _artSlave.clothes == "a latex catsuit" || _artSlave.clothes == "body oil">> + /* only some arm positions have art (feel free to add more) */ + <<switch _leftArmType>> + <<case "High">> + <<include Art_Vector_Arm_Outfit_Shine_Left_High>> + <<case "Mid">> + <<include Art_Vector_Arm_Outfit_Shine_Left_Mid>> + <<case "Low">> + <<include Art_Vector_Arm_Outfit_Shine_Left_Low>> + <<default>> + /* no art for this arm position */ + <</switch>> <</if>> <</if>> @@ -121,3 +121,5 @@ <</switch>> <</switch>> + +<</if>> /* closes amp check */ diff --git a/src/art/vector/Balls.tw b/src/art/vector/Balls.tw index 708874db7f66cb5d96de5445f68614178811c62e..306938f52d9d39875b119dd885f67f675ec617f6 100644 --- a/src/art/vector/Balls.tw +++ b/src/art/vector/Balls.tw @@ -1,25 +1,15 @@ :: Art_Vector_Balls_ [nobr] -<<if _artSlave.scrotum > 0 && _artSlave.balls > 0 && _artSlave.clothes != "a slave gown" && _artSlave.clothes != "a cheerleader outfit" && _artSlave.clothes != "cutoffs and a t-shirt" && _artSlave.clothes != "a halter top dress" && _artSlave.clothes != "a hijab and abaya" && _artSlave.clothes != "a leotard" && _artSlave.clothes != "a nice maid outfit" && _artSlave.clothes != "a slutty maid outfit" && _artSlave.clothes != "a military uniform" && _artSlave.clothes != "a mini dress" && _artSlave.clothes != "a nice nurse outfit" && _artSlave.clothes != "a slutty nurse outfit" && _artSlave.clothes != "a scalemail bikini" && _artSlave.clothes != "a schoolgirl outfit" && _artSlave.clothes != "a ball gown" && _artSlave.clothes != "battledress" && _artSlave.clothes != "a slutty outfit" && _artSlave.clothes != "spats and a tank top" && _artSlave.clothes != "a succubus outfit" && _artSlave.clothes != "nice business attire" && _artSlave.clothes != "slutty business attire" && _artSlave.clothes != "attractive lingerie for a pregnant woman" && _artSlave.clothes != "a bunny outfit" && _artSlave.clothes != "a chattel habit" && _artSlave.clothes != "conservative clothing" && _artSlave.clothes != "harem gauze" && _artSlave.clothes != "a huipil" && _artSlave.clothes != "a kimono" && _artSlave.clothes != "a maternity dress" && _artSlave.clothes != "a slutty qipao" && _artSlave.clothes != "stretch pants and a crop-top" && _artSlave.clothes != "a toga" && _artSlave.clothes != "a penitent nuns habit" && _artSlave.clothes != "a schutzstaffel uniform" && _artSlave.clothes != "a slutty schutzstaffel uniform" && _artSlave.clothes != "a red army uniform" && _artSlave.clothes != "an apron" && _artSlave.clothes != "battlearmor" && _artSlave.clothes != "a dirndl" && _artSlave.clothes != "a biyelgee costume" && _artSlave.clothes != "lederhosen" && _artSlave.clothes != "a mounty outfit" && _artSlave.clothes != "a long qipao">> - <<if _artSlave.scrotum >= 9>> - <<set _ballSize = 8>> - <<elseif _artSlave.scrotum >= 8>> - <<set _ballSize = 7>> - <<elseif _artSlave.scrotum >= 7>> - <<set _ballSize = 6>> - <<elseif _artSlave.scrotum >= 6>> - <<set _ballSize = 5>> - <<elseif _artSlave.scrotum >= 5>> - <<set _ballSize = 4>> - <<elseif _artSlave.scrotum >= 4>> - <<set _ballSize = 3>> - <<elseif _artSlave.scrotum >= 3>> - <<set _ballSize = 2>> - <<elseif _artSlave.scrotum >= 2>> - <<set _ballSize = 1>> - <<else>> - <<set _ballSize = 0>> - <</if>> - <<set _art = "Art_Vector_Balls_"+_ballSize>> +<<if _artSlave.scrotum > 0 && _artSlave.balls > 0 && !(["a slave gown","a cheerleader outfit","cutoffs and a t-shirt","a halter top dress","a hijab and abaya","a leotard","a nice maid outfit","a slutty maid outfit","a military uniform","a mini dress","a nice nurse outfit","a slutty nurse outfit","a scalemail bikini","a schoolgirl outfit","a ball gown","battledress","a slutty outfit","spats and a tank top","a succubus outfit","nice business attire","slutty business attire","attractive lingerie for a pregnant woman","a bunny outfit","a chattel habit","conservative clothing","harem gauze","a huipil","a kimono","a maternity dress","a slutty qipao","stretch pants and a crop-top","a toga","a penitent nuns habit","a schutzstaffel uniform","a slutty schutzstaffel uniform","a red army uniform","an apron","battlearmor","a dirndl","a biyelgee costume","lederhosen","a mounty outfit","a long qipao"].includes(_artSlave.clothes)) >> + <<set _art_scale_factor = _artSlave.scrotum/3 >> + <<set _art_translation_x = -271*(_art_scale_factor-1) >> + <<set _art_translation_y = -453*(_art_scale_factor-1) >> +/* +_art_balls_transform is for internal program usage. +_art_transform will affect the display. +*/ +<<set _art_balls_transform = "matrix(" + _art_scale_factor +",0,0," + _art_scale_factor + "," + _art_translation_x + "," + _art_translation_y + ")">> +<<set _art_transform = _art_balls_transform>> + <<set _art = "Art_Vector_Balls">> <<include _art>> -<</if>> \ No newline at end of file +<</if>> diff --git a/src/art/vector/Set_Colour_Outfit.tw b/src/art/vector/Set_Colour_Outfit.tw index a58c9d3dcceadef849c97b021964a850480fafb3..83c2590bf88c42d37ac14d74efc549f4fc32a55c 100644 --- a/src/art/vector/Set_Colour_Outfit.tw +++ b/src/art/vector/Set_Colour_Outfit.tw @@ -4,39 +4,6 @@ /* BEWARE: _outfitBaseColour is read by Wardrobe Use */ /* BEWARE: _glassesColour is read by Wardrobe Use */ -<<unset _outfitBaseColour>> - -<<if _artSlave.fuckdoll != 0 || _artSlave.clothes == "restrictive latex" || _artSlave.clothes == "a latex catsuit" || _artSlave.clothes == "a cybersuit">> - <<set _outfitBaseColour = "#515351" >> /* standard "black rubber" latex colour */ - <<if def _artSlave.clothingBaseColor>> - <<set _outfitBaseColour = _artSlave.clothingBaseColor >> /* latex colour selected by user */ - /* TODO: rewrite all textual descriptions not to explicitly mention the latex being of black colour. */ - <</if>> -<</if>> -<<if _artSlave.fuckdoll != 0 || _artSlave.clothes == "a comfortable bodysuit">> - <<set _outfitBaseColour = "#464646" >> /* bodysuit */ - <<if def _artSlave.clothingBaseColor>> - <<set _outfitBaseColour = _artSlave.clothingBaseColor >> /* bodysuit colour selected by user */ - <</if>> -<</if>> - -/* head addons */ -<<switch _artSlave.eyewear>> - <<case "corrective glasses" "glasses" "blurring glasses">> - <<set _glassesColour = "#010101">> - <<default>> - /* use colour for "glasses" by default */ - <<set _glassesColour = "#010101">> -<</switch>> - -<<switch _artSlave.collar>> - <<case "porcelain mask">> - <<set _glassesColour = "#FFFFFF">> - <<default>> - /* use colour for "mask" by default */ - <<set _glassesColour = "#010101">> -<</switch>> - -<<if def _artSlave.glassesColor>> - <<set _glassesColour = _artSlave.glassesColor>> /* glasses colour selected by user */ -<</if>> \ No newline at end of file +<<set _s = Art_Vector_Set_Colour_Outfit(_artSlave) >> +<<set _outfitBaseColour = _s.outfitBaseColour>> +<<set _glassesColour = _s.glassesColor>> diff --git a/src/art/vector/Set_Colour_Outfit_JS.tw b/src/art/vector/Set_Colour_Outfit_JS.tw new file mode 100644 index 0000000000000000000000000000000000000000..02d864d598e457cc7430fdcefb9d3a31c41f2235 --- /dev/null +++ b/src/art/vector/Set_Colour_Outfit_JS.tw @@ -0,0 +1,51 @@ +:: Art_Vector_Set_Colour_Outfit_JS [script] + +window.Art_Vector_Set_Colour_Outfit = function(artSlave) { + +var s = { + outfitBaseColour : undefined, + glassesColour : undefined + } + +if (artSlave.fuckdoll != 0 || artSlave.clothes == "restrictive latex" || artSlave.clothes == "a latex catsuit" || artSlave.clothes == "a cybersuit") { + s.outfitBaseColour = "#515351" ; /* standard "black rubber" latex colour */ + if (artSlave.clothingBaseColor) { + s.outfitBaseColour = artSlave.clothingBaseColor ; /* latex colour selected by user */ + /* TODO: rewrite all textual descriptions not to explicitly mention the latex being of black colour. */ + } +} + +if (artSlave.fuckdoll != 0 || artSlave.clothes == "a comfortable bodysuit") { + s.outfitBaseColour = "#464646" ; /* bodysuit */ + if (artSlave.clothingBaseColor) { + s.outfitBaseColour = artSlave.clothingBaseColor ; /* bodysuit colour selected by user */ + } +} + +/* head addons */ +switch (artSlave.eyewear) { + case "corrective glasses": + case "glasses": + case "blurring glasses": + s.glassesColour = "#010101"; + break; + default: + /* use colour for "glasses" by default */ + s.glassesColour = "#010101"; +} + +switch (artSlave.collar) { + case "porcelain mask": + s.glassesColour = "#FFFFFF"; + break; + default: + /* use colour for "mask" by default */ + s.glassesColour = "#010101"; +} + +if (artSlave.glassesColor) { + s.glassesColour = artSlave.glassesColor; /* glasses colour selected by user */ +} + +return s; +} diff --git a/src/art/vector/Set_Colour_Skin.tw b/src/art/vector/Set_Colour_Skin.tw index a0407cca400289c088b55baf6674eb6facbf8e4d..785d79b799f5d92ed48ff0c3ac89a38906e68c80 100644 --- a/src/art/vector/Set_Colour_Skin.tw +++ b/src/art/vector/Set_Colour_Skin.tw @@ -2,1616 +2,13 @@ /* BEWARE: _outfitBaseColour is set by Art_Vector_Set_Colour_Outfit_ */ -<<set _areolaStyle = "fill:#d76b93;" >> /* this is the default and can be customized later */ -<<set _labiaStyle = _areolaStyle >> /* this is the default and can be customized later */ -/* todo: introduce one "flesh" CSS class */ - -<<unset _headSkinStyle>> -<<unset _torsoSkinStyle >> -<<unset _boobSkinStyle>> -<<unset _penisSkinStyle>> -<<unset _scrotumSkinStyle>> -<<unset _bellySkinStyle>> - -<<if _artSlave.race == "white" || _artSlave.race == "surgically altered to look white">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#F4EAF0">> - <<set _areolaStyle = "fill:#FCCCDC;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#F4EAF0">> - <<set _areolaStyle = "fill:#FCCCDC;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#F5E1DF">> - <<set _areolaStyle = "fill:#EFBFCA;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#F5E1DF">> - <<set _areolaStyle = "fill:#EFBFCA;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#F5D5C9">> - <<set _areolaStyle = "fill:#E2B4B9;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#F5D5C9">> - <<set _areolaStyle = "fill:#E2B4B9;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#F4C9AA">> - <<set _areolaStyle = "fill:#F19795;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#F4C9AA">> - <<set _areolaStyle = "fill:#F19795;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#F4C9AA">> - <<set _areolaStyle = "fill:#F19795;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#E1B585">> - <<set _areolaStyle = "fill:#C39696;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#E1B585">> - <<set _areolaStyle = "fill:#C39696;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#D58E5F">> - <<set _areolaStyle = "fill:#B17777;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#D58E5F">> - <<set _areolaStyle = "fill:#B17777;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#D58E5F">> - <<set _areolaStyle = "fill:#B17777;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#A2805C">> - <<set _areolaStyle = "fill:#8E6454;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#825633">> - <<set _areolaStyle = "fill:#734B2F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#784F2F">> - <<set _areolaStyle = "fill:#583E2F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#784F2F">> - <<set _areolaStyle = "fill:#583E2F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#65422C">> - <<set _areolaStyle = "fill:#4A3A33;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#65422C">> - <<set _areolaStyle = "fill:#4A3A33;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#3F3A38;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "black" || _artSlave.race == "surgically altered to look black">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#FEE4CA">> - <<set _areolaStyle = "fill:#E0B3A2;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#FEE4CA">> - <<set _areolaStyle = "fill:#E0B3A2;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#E3C5A7">> - <<set _areolaStyle = "fill:#EFBDC9;" >> - <<set _labiaStyle = "fill:#CC9B88;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#E3C5A7">> - <<set _areolaStyle = "fill:#CC9B88;" >> - <<set _labiaStyle = "fill:#CC9B88;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#DEB892">> - <<set _areolaStyle = "fill:#AB806F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#DEB892">> - <<set _areolaStyle = "fill:#AB806F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#D59D73">> - <<set _areolaStyle = "fill:#8D6859;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#D59D73">> - <<set _areolaStyle = "fill:#8D6859;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#D59D73">> - <<set _areolaStyle = "fill:#8D6859;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#AC7C4A">> - <<set _areolaStyle = "fill:#7C594B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#AC7C4A">> - <<set _areolaStyle = "fill:#7C594B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#985C34">> - <<set _areolaStyle = "fill:#764B3A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#985C34">> - <<set _areolaStyle = "fill:#764B3A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#985C34">> - <<set _areolaStyle = "fill:#764B3A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#745C42">> - <<set _areolaStyle = "fill:#63463B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#65422C">> - <<set _areolaStyle = "fill:#4B3121;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#5A3C24">> - <<set _areolaStyle = "fill:#493326;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#5A3C24">> - <<set _areolaStyle = "fill:#493326;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#46362C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#583D3D">> - <<set _areolaStyle = "fill:#3B3028;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#4A3A33">> - <<set _areolaStyle = "fill:#332B27;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "latina" || _artSlave.race == "surgically altered to look latina">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#FEDECE">> - <<set _areolaStyle = "fill:#E3BBAB;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#FEDECE">> - <<set _areolaStyle = "fill:#E3BBAB;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#E6C2B0">> - <<set _areolaStyle = "fill:#D1A695;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#E6C2B0">> - <<set _areolaStyle = "fill:#D1A695;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#E1B59F">> - <<set _areolaStyle = "fill:#B48D7E;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#E1B59F">> - <<set _areolaStyle = "fill:#B48D7E;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#DAA782">> - <<set _areolaStyle = "fill:#9E7666;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#DAA782">> - <<set _areolaStyle = "fill:#9E7666;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#DAA782">> - <<set _areolaStyle = "fill:#9E7666;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#B27554">> - <<set _areolaStyle = "fill:#92684C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#B27554">> - <<set _areolaStyle = "fill:#92684C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#B6784E">> - <<set _areolaStyle = "fill:#8F5A45;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#B6784E">> - <<set _areolaStyle = "fill:#8F5A45;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#B6784E">> - <<set _areolaStyle = "fill:#8F5A45;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#8B644F">> - <<set _areolaStyle = "fill:#7B5749;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#775031">> - <<set _areolaStyle = "fill:#69452F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#774A31">> - <<set _areolaStyle = "fill:#614330;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#774A31">> - <<set _areolaStyle = "fill:#614330;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#74523E">> - <<set _areolaStyle = "fill:#573F30;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#6B4B4B">> - <<set _areolaStyle = "fill:#473426;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#634F45">> - <<set _areolaStyle = "fill:#4D3A2E;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "asian" || _artSlave.race == "surgically altered to look asian">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#FFF8EE">> - <<set _areolaStyle = "fill:#F7DBD0;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#FFF8EE">> - <<set _areolaStyle = "fill:#F7DBD0;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#F5E7DC">> - <<set _areolaStyle = "fill:#EABFB3;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#F5E7DC">> - <<set _areolaStyle = "fill:#EABFB3;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#F5D4B5">> - <<set _areolaStyle = "fill:#CB988B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#F5D4B5">> - <<set _areolaStyle = "fill:#CB988B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#F4D1A3">> - <<set _areolaStyle = "fill:#BA8E83;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#F4D1A3">> - <<set _areolaStyle = "fill:#BA8E83;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#F4D1A3">> - <<set _areolaStyle = "fill:#BA8E83;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#CFB48D">> - <<set _areolaStyle = "fill:#AC8074;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#CFB48D">> - <<set _areolaStyle = "fill:#AC8074;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#C38C4D">> - <<set _areolaStyle = "fill:#A67A6F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#C38C4D">> - <<set _areolaStyle = "fill:#A67A6F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#C38C4D">> - <<set _areolaStyle = "fill:#A67A6F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#9A774A">> - <<set _areolaStyle = "fill:#855E4E;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#855834">> - <<set _areolaStyle = "fill:#734B2F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#83522B">> - <<set _areolaStyle = "fill:#68442A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#83522B">> - <<set _areolaStyle = "fill:#68442A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#724826">> - <<set _areolaStyle = "fill:#5C3D26;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#724826">> - <<set _areolaStyle = "fill:#5C3D26;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#3F3A38;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "middle eastern" || _artSlave.race == "surgically altered to look middle eastern">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#E8CFCF">> - <<set _areolaStyle = "fill:#DCADBC;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#E8CFCF">> - <<set _areolaStyle = "fill:#DCADBC;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#FBCCC6">> - <<set _areolaStyle = "fill:#E79E8B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#FBCCC6">> - <<set _areolaStyle = "fill:#E79E8B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#EAAB92">> - <<set _areolaStyle = "fill:#D27B64;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#EAAB92">> - <<set _areolaStyle = "fill:#D27B64;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#EDA571">> - <<set _areolaStyle = "fill:#B16854;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#EDA571">> - <<set _areolaStyle = "fill:#B16854;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#EDA571">> - <<set _areolaStyle = "fill:#B16854;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#CC8D53">> - <<set _areolaStyle = "fill:#A7624F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#CC8D53">> - <<set _areolaStyle = "fill:#A7624F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#CA7136">> - <<set _areolaStyle = "fill:#9B5959;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#CA7136">> - <<set _areolaStyle = "fill:#9B5959;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#CA7136">> - <<set _areolaStyle = "fill:#9B5959;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#84684A">> - <<set _areolaStyle = "fill:#735143;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#684528">> - <<set _areolaStyle = "fill:#563826;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#6E4730">> - <<set _areolaStyle = "fill:#604534;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#6E4730">> - <<set _areolaStyle = "fill:#604534;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#604534">> - <<set _areolaStyle = "fill:#514039;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#604534 ">> - <<set _areolaStyle = "fill:#514039;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#3F3A38;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "amerindian" || _artSlave.race == "surgically altered to look amerindian">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#FDE4BF">> - <<set _areolaStyle = "fill:#F0BEAA;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#FDE4BF">> - <<set _areolaStyle = "fill:#F0BEAA;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#F5E7DC">> - <<set _areolaStyle = "fill:#CDA499;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#F5E7DC">> - <<set _areolaStyle = "fill:#CDA499;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#F5D4B5">> - <<set _areolaStyle = "fill:#CB988B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#F5D4B5">> - <<set _areolaStyle = "fill:#CB988B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#F4D1A3">> - <<set _areolaStyle = "fill:#BA8E83;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#F4D1A3">> - <<set _areolaStyle = "fill:#BA8E83;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#F4D1A3">> - <<set _areolaStyle = "fill:#BA8E83;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#CFB48D">> - <<set _areolaStyle = "fill:#AC8074;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#CFB48D">> - <<set _areolaStyle = "fill:#AC8074;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#C38C4D">> - <<set _areolaStyle = "fill:#A67A6F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#C38C4D">> - <<set _areolaStyle = "fill:#A67A6F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#C38C4D">> - <<set _areolaStyle = "fill:#A67A6F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#9A774A">> - <<set _areolaStyle = "fill:#855E4E;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#855834">> - <<set _areolaStyle = "fill:#734B2F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#83522B">> - <<set _areolaStyle = "fill:#68442A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#83522B">> - <<set _areolaStyle = "fill:#68442A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#724826">> - <<set _areolaStyle = "fill:#5C3D26;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#724826">> - <<set _areolaStyle = "fill:#5C3D26;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#3F3A38;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "southern european" || _artSlave.race == "surgically altered to look southern european">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#EBDBE4">> - <<set _areolaStyle = "fill:#FFE4E0;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#EBDBE4">> - <<set _areolaStyle = "fill:#FFE4E0;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#F0D0CC">> - <<set _areolaStyle = "fill:#EAACBA;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#F0D0CC">> - <<set _areolaStyle = "fill:#EAACBA;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#F1C6B5">> - <<set _areolaStyle = "fill:#DCA2A9;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#F1C6B5">> - <<set _areolaStyle = "fill:#DCA2A9;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#F2BC94">> - <<set _areolaStyle = "fill:#EE8280;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#F2BC94">> - <<set _areolaStyle = "fill:#EE8280;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#F2BC94">> - <<set _areolaStyle = "fill:#EE8280;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#DCA972">> - <<set _areolaStyle = "fill:#BF7577;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#DCA972">> - <<set _areolaStyle = "fill:#BF7577;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#D0814C">> - <<set _areolaStyle = "fill:#A96767;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#D0814C">> - <<set _areolaStyle = "fill:#A96767;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#D0814C">> - <<set _areolaStyle = "fill:#A96767;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#937453">> - <<set _areolaStyle = "fill:#7F5A4B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#7F5431">> - <<set _areolaStyle = "fill:#734B2F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#784F2F">> - <<set _areolaStyle = "fill:#583E2F ;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#784F2F">> - <<set _areolaStyle = "fill:#583E2F ;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#65422C">> - <<set _areolaStyle = "fill:#4A3A33;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#65422C">> - <<set _areolaStyle = "fill:#4A3A33;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#3F3A38;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "semitic" || _artSlave.race == "surgically altered to look semitic">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#E8CFCF">> - <<set _areolaStyle = "fill:#DCADBC;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#E8CFCF">> - <<set _areolaStyle = "fill:#DCADBC;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#FBCCC6">> - <<set _areolaStyle = "fill:#E79E8B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#FBCCC6">> - <<set _areolaStyle = "fill:#E79E8B;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#EAAB92">> - <<set _areolaStyle = "fill:#D27B64;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#EAAB92">> - <<set _areolaStyle = "fill:#D27B64;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#EDA571">> - <<set _areolaStyle = "fill:#B16854;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#EDA571">> - <<set _areolaStyle = "fill:#B16854;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#EDA571">> - <<set _areolaStyle = "fill:#B16854;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#CC8D53">> - <<set _areolaStyle = "fill:#A7624F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#CC8D53">> - <<set _areolaStyle = "fill:#A7624F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#CA7136">> - <<set _areolaStyle = "fill:#9B5959;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#CA7136">> - <<set _areolaStyle = "fill:#9B5959;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#CA7136">> - <<set _areolaStyle = "fill:#9B5959;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#84684A">> - <<set _areolaStyle = "fill:#735143;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#684528">> - <<set _areolaStyle = "fill:#563826;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#6E4730">> - <<set _areolaStyle = "fill:#604534;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#6E4730">> - <<set _areolaStyle = "fill:#604534;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#604534">> - <<set _areolaStyle = "fill:#514039;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#604534 ">> - <<set _areolaStyle = "fill:#514039;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#3F3A38;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "malay" || _artSlave.race == "surgically altered to look malay">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#FBD1B2">> - <<set _areolaStyle = "fill:#F39E7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#FBD1B2">> - <<set _areolaStyle = "fill:#F39E7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#E8B892">> - <<set _areolaStyle = "fill:#E2856C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#E8B892">> - <<set _areolaStyle = "fill:#E2856C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#EA9870">> - <<set _areolaStyle = "fill:#BE6C56;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#EA9870">> - <<set _areolaStyle = "fill:#BE6C56;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#EA9760">> - <<set _areolaStyle = "fill:#AB6755;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#EA9760">> - <<set _areolaStyle = "fill:#AB6755;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#EA9760">> - <<set _areolaStyle = "fill:#AB6755;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#BA855E">> - <<set _areolaStyle = "fill:#976051;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#BA855E">> - <<set _areolaStyle = "fill:#976051;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#A46138">> - <<set _areolaStyle = "fill:#8F5E51;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#A46138">> - <<set _areolaStyle = "fill:#8F5E51;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#A46138">> - <<set _areolaStyle = "fill:#8F5E51;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#7C563C">> - <<set _areolaStyle = "fill:#70493A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#804A28">> - <<set _areolaStyle = "fill:#5F3F27 ;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#6F4523">> - <<set _areolaStyle = "fill:#623C20;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#6F4523">> - <<set _areolaStyle = "fill:#623C20;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#6F3E27">> - <<set _areolaStyle = "fill:#553823;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#6F3E27">> - <<set _areolaStyle = "fill:#553823;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#3F3A38;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "indo-aryan" || _artSlave.race == "surgically altered to look indo-aryan">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#F8D4BE">> - <<set _areolaStyle = "fill:#F8B6A4;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#F8D4BE">> - <<set _areolaStyle = "fill:#F8B6A4;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#EFCCAF">> - <<set _areolaStyle = "fill:#EA9B86;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#EFCCAF">> - <<set _areolaStyle = "fill:#EA9B86;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#FCC49A">> - <<set _areolaStyle = "fill:#D29577;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#FCC49A">> - <<set _areolaStyle = "fill:#D29577;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#E8B68E">> - <<set _areolaStyle = "fill:#D08661;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#E8B68E">> - <<set _areolaStyle = "fill:#D08661;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#E8B68E">> - <<set _areolaStyle = "fill:#D08661;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#C17848">> - <<set _areolaStyle = "fill:#C36E45;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#C17848">> - <<set _areolaStyle = "fill:#C36E45;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#C17848">> - <<set _areolaStyle = "fill:#A75A34;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#C17848">> - <<set _areolaStyle = "fill:#A75A34;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#C17848">> - <<set _areolaStyle = "fill:#A75A34;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#83684B">> - <<set _areolaStyle = "fill:#715043;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#8A593C">> - <<set _areolaStyle = "fill:#714931;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#845834">> - <<set _areolaStyle = "fill:#614635;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#845834">> - <<set _areolaStyle = "fill:#614635;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#7C5842">> - <<set _areolaStyle = "fill:#5F4538;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#7C5842">> - <<set _areolaStyle = "fill:#5F4538;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#6B5449">> - <<set _areolaStyle = "fill:#473C37;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "pacific islander" || _artSlave.race == "surgically altered to look pacific islander">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#FBD1B2">> - <<set _areolaStyle = "fill:#F39E7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#FBD1B2">> - <<set _areolaStyle = "fill:#F39E7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#E8B892">> - <<set _areolaStyle = "fill:#E2856C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#E8B892">> - <<set _areolaStyle = "fill:#E2856C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#EA9870">> - <<set _areolaStyle = "fill:#BE6C56;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#EA9870">> - <<set _areolaStyle = "fill:#BE6C56;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#EA9760">> - <<set _areolaStyle = "fill:#AB6755;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#EA9760">> - <<set _areolaStyle = "fill:#AB6755;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#EA9760">> - <<set _areolaStyle = "fill:#AB6755;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#BA855E">> - <<set _areolaStyle = "fill:#976051;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#BA855E">> - <<set _areolaStyle = "fill:#976051;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#A46138">> - <<set _areolaStyle = "fill:#8F5E51;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#A46138">> - <<set _areolaStyle = "fill:#8F5E51;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#A46138">> - <<set _areolaStyle = "fill:#8F5E51;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#7C563C">> - <<set _areolaStyle = "fill:#70493A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#804A28">> - <<set _areolaStyle = "fill:#5F3F27 ;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#6F4523">> - <<set _areolaStyle = "fill:#623C20;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#6F4523">> - <<set _areolaStyle = "fill:#623C20;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#6F3E27">> - <<set _areolaStyle = "fill:#553823;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#6F3E27">> - <<set _areolaStyle = "fill:#553823;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#583E2F">> - <<set _areolaStyle = "fill:#3F3A38;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> - -<<elseif _artSlave.race == "mixed race" || _artSlave.race == "surgically altered to look mixed race">> - <<if _artSlave.skin == "pure white">> - <<set _skinColour = "#FEE5CC">> - <<set _areolaStyle = "fill:#E3BBAB;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely pale">> - <<set _skinColour = "#FEE5CC">> - <<set _areolaStyle = "fill:#E3BBAB;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "pale">> - <<set _skinColour = "#E6C2B0">> - <<set _areolaStyle = "fill:#D1A695;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "extremely fair">> - <<set _skinColour = "#E6C2B0">> - <<set _areolaStyle = "fill:#D1A695;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "very fair">> - <<set _skinColour = "#E1B59F">> - <<set _areolaStyle = "fill:#B48D7E;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "fair">> - <<set _skinColour = "#E1B59F">> - <<set _areolaStyle = "fill:#B48D7E;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "white">> - <<set _skinColour = "#DAA782">> - <<set _areolaStyle = "fill:#9E7666;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light">> - <<set _skinColour = "#DAA782">> - <<set _areolaStyle = "fill:#9E7666;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "lightened">> - <<set _skinColour = "#DAA782">> - <<set _areolaStyle = "fill:#9E7666;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light olive">> - <<set _skinColour = "#B27554">> - <<set _areolaStyle = "fill:#92684C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "olive">> - <<set _skinColour = "#B27554">> - <<set _areolaStyle = "fill:#92684C;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "natural">> - <<set _skinColour = "#B6784E">> - <<set _areolaStyle = "fill:#8F5A45;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tanned">> - <<set _skinColour = "#B6784E">> - <<set _areolaStyle = "fill:#8F5A45;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "bronzed">> - <<set _skinColour = "#B6784E">> - <<set _areolaStyle = "fill:#8F5A45;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark olive">> - <<set _skinColour = "#8B644F">> - <<set _areolaStyle = "fill:#7B5749;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark">> - <<set _skinColour = "#775031">> - <<set _areolaStyle = "fill:#69452F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "light brown">> - <<set _skinColour = "#774A31">> - <<set _areolaStyle = "fill:#5E4434;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "brown">> - <<set _skinColour = "#774A31">> - <<set _areolaStyle = "fill:#5E4434;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dark brown">> - <<set _skinColour = "#74523E">> - <<set _areolaStyle = "fill:#574135;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "ebony">> - <<set _skinColour = "#6B4B4B">> - <<set _areolaStyle = "fill:#413228;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "black">> - <<set _skinColour = "#634F45">> - <<set _areolaStyle = "fill:#4E3C32;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "camouflage patterned">> - <<set _skinColour = "#78875a">> - <<set _areolaStyle = "fill:#939F7A;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "red dyed">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed red">> - <<set _skinColour = "#bc4949">> - <<set _areolaStyle = "fill:#C96D6D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "green dyed">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed green">> - <<set _skinColour = "#A6C373">> - <<set _areolaStyle = "fill:#B7CF8F;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "blue dyed">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "dyed blue">> - <<set _skinColour = "#5b8eb7">> - <<set _areolaStyle = "fill:#7BA4C5;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <<elseif _artSlave.skin == "tiger striped">> - <<set _skinColour = "#e2d75d">> - <<set _areolaStyle = "fill:#E7DF7D;" >> - <<set _labiaStyle = "fill:#F977A3;" >> - <</if>> -<</if>> - -/* BEGIN SKIN COLOUR OVERRIDES FOR LATEX CLOTHING EMULATION */ - -<<if _artSlave.fuckdoll != 0>> - /* slave is a fuckdoll - display all skin as if it was black rubber */ - <<set _skinColour = _outfitBaseColour>> - <<set _areolaStyle = "fill:rgba(0,0,0,0.3);">> - <<set _labiaStyle = _areolaStyle >> -<</if>> - -/* slave wears restrictive latex - display most skin as if it was rubber */ -<<if _artSlave.clothes == "restrictive latex">> - /* nice latex does not cover any privates. */ - <<set _boobSkinStyle = "fill:"+_skinColour+";">> - <<set _penisSkinStyle = "fill:"+_skinColour+";">> - <<set _scrotumSkinStyle = "fill:"+_skinColour+";">> - <<set _torsoSkinStyle = "fill:"+_skinColour+";">> - /* rest of body is covered in latex */ - <<set _skinColour = _outfitBaseColour>> -<</if>> - -<<if _artSlave.clothes == "a latex catsuit">> - /* nice latex does not cover head. */ - <<set _headSkinStyle = "fill:"+_skinColour+";">> - /* rest of body is covered in latex */ - <<set _skinColour = _outfitBaseColour>> - /* catsuit covers areolae and crotch, too */ - <<set _areolaStyle = "fill:rgba(51,53,51,0.3);">> /* areolae are represented by a darker area */ - /* todo: gain control over piercings to do the same with them ^^ */ - <<set _labiaStyle = _areolaStyle >> -<</if>> - -<<if _artSlave.clothes == "a cybersuit">> - /* rest of body is covered in latex */ - <<set _skinColour = _outfitBaseColour>> - /* catsuit covers areolae and crotch, too */ - <<set _areolaStyle = "fill:rgba(51,53,51,0.3);">> /* areolae are represented by a darker area */ - /* todo: gain control over piercings to do the same with them ^^ */ - <<set _labiaStyle = _areolaStyle >> -<</if>> - -<<if _artSlave.clothes == "a comfortable bodysuit">> - /* nice bodysuit does not cover head. */ - <<set _headSkinStyle = "fill:"+_skinColour+";">> - /* rest of body is covered in bodysuit */ - <<set _skinColour = _outfitBaseColour>> - /* bodysuit covers areolae and crotch, too */ -<<set _areolaStyle = "fill:rgba(175,67,107,0.3);">> - /* todo: gain control over piercings to do the same with them ^^ */ - <<set _labiaStyle = _areolaStyle >> -<</if>> - -/* outfit dick coloring to match outfit rgba in svg */ -<<switch _artSlave.clothes>> -<<case "a cheerleader outfit">> - <<set _scrotumSkinStyle = "fill:rgba(250,186,0,1);">> - <<set _bellySkinStyle = "fill:rgba(250,186,0,1);">> -<<case "cutoffs and a t-shirt">> - <<set _scrotumSkinStyle = "fill:rgba(81,124,211,1);">> -<<case "a halter top dress">> - <<set _scrotumSkinStyle = "fill:rgba(94,51,124,1);">> - <<set _bellySkinStyle = "fill:rgba(94,51,124,1);">> -<<case "a hijab and abaya">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> - <<set _bellySkinStyle = "fill:rgba(51,51,51,1);">> -<<case "a nice maid outfit">> - <<set _scrotumSkinStyle = "fill:rgba(225,225,225,1);">> - <<set _bellySkinStyle = "fill:rgba(225,225,225,1);">> -<<case "a slutty maid outfit">> - <<set _scrotumSkinStyle = "fill:rgba(225,225,225,1);">> - <<set _bellySkinStyle = "fill:rgba(225,225,225,1);">> -<<case "a leotard">> - <<set _scrotumSkinStyle = "fill:rgba(120,15,55,1);">> - <<set _bellySkinStyle = "fill:rgba(120,15,55,1);">> -<<case "a military uniform">> - <<set _scrotumSkinStyle = "fill:rgba(34,42,18,1);">> - <<set _bellySkinStyle = "fill:rgba(34,42,18,1);">> -<<case "a mini dress">> - <<set _scrotumSkinStyle = "fill:rgba(39,174,96,1);">> - <<set _bellySkinStyle = "fill:rgba(39,174,96,1);">> -<<case "a nice nurse outfit">> - <<set _scrotumSkinStyle = "fill:rgba(0,128,128,1);">> - <<set _bellySkinStyle = "fill:rgba(0,128,128,1);">> -<<case "a slutty nurse outfit">> - <<set _scrotumSkinStyle = "fill:rgba(200,200,200,1);">> -<<case "a scalemail bikini">> - <<set _scrotumSkinStyle = "fill:rgba(133,146,158,1);">> -<<case "a schoolgirl outfit">> - <<set _scrotumSkinStyle = "fill:rgba(28,31,36,1);">> - <<set _bellySkinStyle = "fill:rgba(28,31,36,1);">> -<<case "a ball gown">> - <<set _scrotumSkinStyle = "fill:rgba(128,0,0,1);">> - <<set _bellySkinStyle = "fill:rgba(128,0,0,1);">> -<<case "battledress">> - <<set _scrotumSkinStyle = "fill:rgba(34,42,18,1);">> - <<set _bellySkinStyle = "fill:rgba(34,42,18,1);">> -<<case "a slave gown">> - <<set _scrotumSkinStyle = "fill:rgba(200,200,200,1);">> - <<set _bellySkinStyle = "fill:rgba(200,200,200,1);">> -<<case "a slutty outfit">> - <<set _scrotumSkinStyle = "fill:rgba(63,126,181,1);">> -<<case "spats and a tank top">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> -<<case "a succubus outfit">> - <<set _scrotumSkinStyle = "fill:rgba(128,0,0,1);">> - <<set _bellySkinStyle = "fill:rgba(128,0,0,1);">> -<<case "nice business attire">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> - <<set _bellySkinStyle = "fill:rgba(51,51,51,1);">> -<<case "slutty business attire">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> -<<case "attractive lingerie for a pregnant woman">> - <<set _scrotumSkinStyle = "fill:rgba(153,153,153,1);">> -<<case "a bunny outfit">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> - <<set _bellySkinStyle = "fill:rgba(51,51,51,1);">> -<<case "conservative clothing">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> - <<set _bellySkinStyle = "fill:rgba(51,51,51,1);">> -<<case "harem gauze">> - <<set _scrotumSkinStyle = "fill:rgba(0,168,131,1);">> -<<case "a huipil">> - <<set _scrotumSkinStyle = "fill:rgba(200,200,200,1);">> - <<set _bellySkinStyle = "fill:rgba(200,200,200,1);">> -<<case "a kimono">> - <<set _scrotumSkinStyle = "fill:rgba(0,91,150,1);">> - <<set _bellySkinStyle = "fill:rgba(0,91,150,1);">> -<<case "a maternity dress">> - <<set _scrotumSkinStyle = "fill:rgba(48,54,72,1);">> - <<set _bellySkinStyle = "fill:rgba(48,54,72,1);">> -<<case "a slutty qipao">> - <<set _scrotumSkinStyle = "fill:rgba(204,177,68,1);">> - <<set _bellySkinStyle = "fill:rgba(204,177,68,1);">> -<<case "stretch pants and a crop-top">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> -<<case "a toga">> - <<set _scrotumSkinStyle = "fill:rgba(200,200,200,1);">> - <<set _bellySkinStyle = "fill:rgba(200,200,200,1);">> -<<case "a penitent nuns habit">> - <<set _scrotumSkinStyle = "fill:rgba(114,93,73,1);">> -<<case "a chattel habit">> - <<set _scrotumSkinStyle = "fill:rgba(200,200,200,1);">> -<<case "a monokini">> - <<set _scrotumSkinStyle = "fill:rgba(33,47,61,1);">> -<<case "a schutzstaffel uniform">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> - <<set _bellySkinStyle = "fill:rgba(51,51,51,1);">> -<<case "a slutty schutzstaffel uniform">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> - <<set _bellySkinStyle = "fill:rgba(51,51,51,1);">> -<<case "a red army uniform">> - <<set _scrotumSkinStyle = "fill:rgba(114,93,73,1);">> - <<set _bellySkinStyle = "fill:rgba(114,93,73,1);">> -<<case "an apron">> - <<set _scrotumSkinStyle = "fill:rgba(255,105,180,1);">> - <<set _bellySkinStyle = "fill:rgba(255,105,180,1);">> -<<case "a fallen nuns habit">> - <<set _bellySkinStyle = "fill:rgba(51,51,51,1);">> -<<case "a dirndl">> - <<set _scrotumSkinStyle = "fill:rgba(128,0,51,1);">> -<<case "lederhosen">> - <<set _scrotumSkinStyle = "fill:rgba(93,83,108,1);">> -<<case "a long qipao">> - <<set _scrotumSkinStyle = "fill:rgba(0,128,0,1);">> -<<case "a mounty outfit">> - <<set _scrotumSkinStyle = "fill:rgba(51,51,51,1);">> -<<case "battlearmor">> - <<set _scrotumSkinStyle = "fill:rgba(200,200,200,1);">> -<<case "a biyelgee costume">> - <<set _scrotumSkinStyle = "fill:rgba(33,68,120,1);">> -<</switch>> - -/* END SKIN COLOUR OVERRIDES FOR LATEX CLOTHING EMULATION */ - +<<set _s = Art_Vector_Set_Colour_Skin(_artSlave, _outfitBaseColour) >> +<<set _areolaStyle = _s.areolaStyle>> +<<set _bellySkinStyle = _s.bellySkinStyle>> +<<set _boobSkinStyle = _s.boobSkinStyle>> +<<set _headSkinStyle = _s.headSkinStyle>> +<<set _labiaStyle = _s.labiaStyle>> +<<set _penisSkinStyle = _s.penisSkinStyle>> +<<set _scrotumSkinStyle = _s.scrotumSkinStyle>> +<<set _skinColour = _s.skinColour>> +<<set _torsoSkinStyle = _s.torsoSkinStyle>> diff --git a/src/art/vector/Set_Colour_Skin_JS.tw b/src/art/vector/Set_Colour_Skin_JS.tw new file mode 100644 index 0000000000000000000000000000000000000000..c22b55f469cc992fb6cc08bffdec7223e249a2e9 --- /dev/null +++ b/src/art/vector/Set_Colour_Skin_JS.tw @@ -0,0 +1,1667 @@ +:: Art_Vector_Set_Colour_Skin_JS [script] + +window.Art_Vector_Set_Colour_Skin = function(artSlave, outfitBaseColour) { + +/* create an aggregator object yielding all computed styles */ +var s = { + areolaStyle: "fill: #d76b93;", /* this is the default and can be customized later */ + labiaStyle: "fill: #d76b93;", /* this is the default and can be customized later */ + /* todo: introduce fleshStyle */ + /* these need to be declared so they can be set conditionally */ + headSkinStyle: undefined, + torsoSkinStyle: undefined, + boobSkinStyle: undefined, + penisSkinStyle: undefined, + scrotumSkinStyle: undefined, + bellySkinStyle: undefined, + skinColour: undefined + }; + +if (artSlave.race == "white" || artSlave.race == "surgically altered to look white") { + if (artSlave.skin == "pure white") { + s.skinColour = "#F4EAF0"; + s.areolaStyle = "fill:#FCCCDC;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#F4EAF0"; + s.areolaStyle = "fill:#FCCCDC;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#F5E1DF"; + s.areolaStyle = "fill:#EFBFCA;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#F5E1DF"; + s.areolaStyle = "fill:#EFBFCA;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#F5D5C9"; + s.areolaStyle = "fill:#E2B4B9;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#F5D5C9"; + s.areolaStyle = "fill:#E2B4B9;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#F4C9AA"; + s.areolaStyle = "fill:#F19795;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#F4C9AA"; + s.areolaStyle = "fill:#F19795;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#F4C9AA"; + s.areolaStyle = "fill:#F19795;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#E1B585"; + s.areolaStyle = "fill:#C39696;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#E1B585"; + s.areolaStyle = "fill:#C39696;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#D58E5F"; + s.areolaStyle = "fill:#B17777;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#D58E5F"; + s.areolaStyle = "fill:#B17777;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#D58E5F"; + s.areolaStyle = "fill:#B17777;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#A2805C"; + s.areolaStyle = "fill:#8E6454;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#825633"; + s.areolaStyle = "fill:#734B2F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#784F2F"; + s.areolaStyle = "fill:#583E2F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#784F2F"; + s.areolaStyle = "fill:#583E2F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#65422C"; + s.areolaStyle = "fill:#4A3A33;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#65422C"; + s.areolaStyle = "fill:#4A3A33;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#3F3A38;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "black" || artSlave.race == "surgically altered to look black") { + if (artSlave.skin == "pure white") { + s.skinColour = "#FEE4CA"; + s.areolaStyle = "fill:#E0B3A2;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#FEE4CA"; + s.areolaStyle = "fill:#E0B3A2;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#E3C5A7"; + s.areolaStyle = "fill:#EFBDC9;"; + s.labiaStyle = "fill:#CC9B88;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#E3C5A7"; + s.areolaStyle = "fill:#CC9B88;"; + s.labiaStyle = "fill:#CC9B88;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#DEB892"; + s.areolaStyle = "fill:#AB806F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#DEB892"; + s.areolaStyle = "fill:#AB806F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#D59D73"; + s.areolaStyle = "fill:#8D6859;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#D59D73"; + s.areolaStyle = "fill:#8D6859;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#D59D73"; + s.areolaStyle = "fill:#8D6859;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#AC7C4A"; + s.areolaStyle = "fill:#7C594B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#AC7C4A"; + s.areolaStyle = "fill:#7C594B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#985C34"; + s.areolaStyle = "fill:#764B3A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#985C34"; + s.areolaStyle = "fill:#764B3A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#985C34"; + s.areolaStyle = "fill:#764B3A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#745C42"; + s.areolaStyle = "fill:#63463B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#65422C"; + s.areolaStyle = "fill:#4B3121;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#5A3C24"; + s.areolaStyle = "fill:#493326;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#5A3C24"; + s.areolaStyle = "fill:#493326;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#46362C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#583D3D"; + s.areolaStyle = "fill:#3B3028;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#4A3A33"; + s.areolaStyle = "fill:#332B27;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "latina" || artSlave.race == "surgically altered to look latina") { + if (artSlave.skin == "pure white") { + s.skinColour = "#FEDECE"; + s.areolaStyle = "fill:#E3BBAB;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#FEDECE"; + s.areolaStyle = "fill:#E3BBAB;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#E6C2B0"; + s.areolaStyle = "fill:#D1A695;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#E6C2B0"; + s.areolaStyle = "fill:#D1A695;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#E1B59F"; + s.areolaStyle = "fill:#B48D7E;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#E1B59F"; + s.areolaStyle = "fill:#B48D7E;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#DAA782"; + s.areolaStyle = "fill:#9E7666;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#DAA782"; + s.areolaStyle = "fill:#9E7666;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#DAA782"; + s.areolaStyle = "fill:#9E7666;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#B27554"; + s.areolaStyle = "fill:#92684C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#B27554"; + s.areolaStyle = "fill:#92684C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#B6784E"; + s.areolaStyle = "fill:#8F5A45;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#B6784E"; + s.areolaStyle = "fill:#8F5A45;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#B6784E"; + s.areolaStyle = "fill:#8F5A45;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#8B644F"; + s.areolaStyle = "fill:#7B5749;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#775031"; + s.areolaStyle = "fill:#69452F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#774A31"; + s.areolaStyle = "fill:#614330;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#774A31"; + s.areolaStyle = "fill:#614330;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#74523E"; + s.areolaStyle = "fill:#573F30;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#6B4B4B"; + s.areolaStyle = "fill:#473426;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#634F45"; + s.areolaStyle = "fill:#4D3A2E;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "asian" || artSlave.race == "surgically altered to look asian") { + if (artSlave.skin == "pure white") { + s.skinColour = "#FFF8EE"; + s.areolaStyle = "fill:#F7DBD0;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#FFF8EE"; + s.areolaStyle = "fill:#F7DBD0;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#F5E7DC"; + s.areolaStyle = "fill:#EABFB3;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#F5E7DC"; + s.areolaStyle = "fill:#EABFB3;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#F5D4B5"; + s.areolaStyle = "fill:#CB988B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#F5D4B5"; + s.areolaStyle = "fill:#CB988B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#F4D1A3"; + s.areolaStyle = "fill:#BA8E83;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#F4D1A3"; + s.areolaStyle = "fill:#BA8E83;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#F4D1A3"; + s.areolaStyle = "fill:#BA8E83;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#CFB48D"; + s.areolaStyle = "fill:#AC8074;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#CFB48D"; + s.areolaStyle = "fill:#AC8074;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#C38C4D"; + s.areolaStyle = "fill:#A67A6F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#C38C4D"; + s.areolaStyle = "fill:#A67A6F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#C38C4D"; + s.areolaStyle = "fill:#A67A6F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#9A774A"; + s.areolaStyle = "fill:#855E4E;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#855834"; + s.areolaStyle = "fill:#734B2F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#83522B"; + s.areolaStyle = "fill:#68442A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#83522B"; + s.areolaStyle = "fill:#68442A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#724826"; + s.areolaStyle = "fill:#5C3D26;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#724826"; + s.areolaStyle = "fill:#5C3D26;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#3F3A38;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "middle eastern" || artSlave.race == "surgically altered to look middle eastern") { + if (artSlave.skin == "pure white") { + s.skinColour = "#E8CFCF"; + s.areolaStyle = "fill:#DCADBC;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#E8CFCF"; + s.areolaStyle = "fill:#DCADBC;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#FBCCC6"; + s.areolaStyle = "fill:#E79E8B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#FBCCC6"; + s.areolaStyle = "fill:#E79E8B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#EAAB92"; + s.areolaStyle = "fill:#D27B64;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#EAAB92"; + s.areolaStyle = "fill:#D27B64;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#EDA571"; + s.areolaStyle = "fill:#B16854;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#EDA571"; + s.areolaStyle = "fill:#B16854;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#EDA571"; + s.areolaStyle = "fill:#B16854;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#CC8D53"; + s.areolaStyle = "fill:#A7624F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#CC8D53"; + s.areolaStyle = "fill:#A7624F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#CA7136"; + s.areolaStyle = "fill:#9B5959;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#CA7136"; + s.areolaStyle = "fill:#9B5959;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#CA7136"; + s.areolaStyle = "fill:#9B5959;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#84684A"; + s.areolaStyle = "fill:#735143;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#684528"; + s.areolaStyle = "fill:#563826;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#6E4730"; + s.areolaStyle = "fill:#604534;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#6E4730"; + s.areolaStyle = "fill:#604534;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#604534"; + s.areolaStyle = "fill:#514039;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#604534 "; + s.areolaStyle = "fill:#514039;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#3F3A38;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "amerindian" || artSlave.race == "surgically altered to look amerindian") { + if (artSlave.skin == "pure white") { + s.skinColour = "#FDE4BF"; + s.areolaStyle = "fill:#F0BEAA;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#FDE4BF"; + s.areolaStyle = "fill:#F0BEAA;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#F5E7DC"; + s.areolaStyle = "fill:#CDA499;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#F5E7DC"; + s.areolaStyle = "fill:#CDA499;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#F5D4B5"; + s.areolaStyle = "fill:#CB988B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#F5D4B5"; + s.areolaStyle = "fill:#CB988B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#F4D1A3"; + s.areolaStyle = "fill:#BA8E83;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#F4D1A3"; + s.areolaStyle = "fill:#BA8E83;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#F4D1A3"; + s.areolaStyle = "fill:#BA8E83;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#CFB48D"; + s.areolaStyle = "fill:#AC8074;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#CFB48D"; + s.areolaStyle = "fill:#AC8074;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#C38C4D"; + s.areolaStyle = "fill:#A67A6F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#C38C4D"; + s.areolaStyle = "fill:#A67A6F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#C38C4D"; + s.areolaStyle = "fill:#A67A6F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#9A774A"; + s.areolaStyle = "fill:#855E4E;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#855834"; + s.areolaStyle = "fill:#734B2F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#83522B"; + s.areolaStyle = "fill:#68442A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#83522B"; + s.areolaStyle = "fill:#68442A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#724826"; + s.areolaStyle = "fill:#5C3D26;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#724826"; + s.areolaStyle = "fill:#5C3D26;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#3F3A38;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "southern european" || artSlave.race == "surgically altered to look southern european") { + if (artSlave.skin == "pure white") { + s.skinColour = "#EBDBE4"; + s.areolaStyle = "fill:#FFE4E0;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#EBDBE4"; + s.areolaStyle = "fill:#FFE4E0;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#F0D0CC"; + s.areolaStyle = "fill:#EAACBA;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#F0D0CC"; + s.areolaStyle = "fill:#EAACBA;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#F1C6B5"; + s.areolaStyle = "fill:#DCA2A9;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#F1C6B5"; + s.areolaStyle = "fill:#DCA2A9;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#F2BC94"; + s.areolaStyle = "fill:#EE8280;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#F2BC94"; + s.areolaStyle = "fill:#EE8280;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#F2BC94"; + s.areolaStyle = "fill:#EE8280;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#DCA972"; + s.areolaStyle = "fill:#BF7577;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#DCA972"; + s.areolaStyle = "fill:#BF7577;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#D0814C"; + s.areolaStyle = "fill:#A96767;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#D0814C"; + s.areolaStyle = "fill:#A96767;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#D0814C"; + s.areolaStyle = "fill:#A96767;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#937453"; + s.areolaStyle = "fill:#7F5A4B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#7F5431"; + s.areolaStyle = "fill:#734B2F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#784F2F"; + s.areolaStyle = "fill:#583E2F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#784F2F"; + s.areolaStyle = "fill:#583E2F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#65422C"; + s.areolaStyle = "fill:#4A3A33;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#65422C"; + s.areolaStyle = "fill:#4A3A33;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#3F3A38;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "semitic" || artSlave.race == "surgically altered to look semitic") { + if (artSlave.skin == "pure white") { + s.skinColour = "#E8CFCF"; + s.areolaStyle = "fill:#DCADBC;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#E8CFCF"; + s.areolaStyle = "fill:#DCADBC;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#FBCCC6"; + s.areolaStyle = "fill:#E79E8B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#FBCCC6"; + s.areolaStyle = "fill:#E79E8B;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#EAAB92"; + s.areolaStyle = "fill:#D27B64;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#EAAB92"; + s.areolaStyle = "fill:#D27B64;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#EDA571"; + s.areolaStyle = "fill:#B16854;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#EDA571"; + s.areolaStyle = "fill:#B16854;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#EDA571"; + s.areolaStyle = "fill:#B16854;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#CC8D53"; + s.areolaStyle = "fill:#A7624F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#CC8D53"; + s.areolaStyle = "fill:#A7624F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#CA7136"; + s.areolaStyle = "fill:#9B5959;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#CA7136"; + s.areolaStyle = "fill:#9B5959;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#CA7136"; + s.areolaStyle = "fill:#9B5959;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#84684A"; + s.areolaStyle = "fill:#735143;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#684528"; + s.areolaStyle = "fill:#563826;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#6E4730"; + s.areolaStyle = "fill:#604534;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#6E4730"; + s.areolaStyle = "fill:#604534;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#604534"; + s.areolaStyle = "fill:#514039;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#604534 "; + s.areolaStyle = "fill:#514039;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#3F3A38;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "malay" || artSlave.race == "surgically altered to look malay") { + if (artSlave.skin == "pure white") { + s.skinColour = "#FBD1B2"; + s.areolaStyle = "fill:#F39E7D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#FBD1B2"; + s.areolaStyle = "fill:#F39E7D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#E8B892"; + s.areolaStyle = "fill:#E2856C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#E8B892"; + s.areolaStyle = "fill:#E2856C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#EA9870"; + s.areolaStyle = "fill:#BE6C56;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#EA9870"; + s.areolaStyle = "fill:#BE6C56;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#EA9760"; + s.areolaStyle = "fill:#AB6755;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#EA9760"; + s.areolaStyle = "fill:#AB6755;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#EA9760"; + s.areolaStyle = "fill:#AB6755;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#BA855E"; + s.areolaStyle = "fill:#976051;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#BA855E"; + s.areolaStyle = "fill:#976051;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#A46138"; + s.areolaStyle = "fill:#8F5E51;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#A46138"; + s.areolaStyle = "fill:#8F5E51;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#A46138"; + s.areolaStyle = "fill:#8F5E51;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#7C563C"; + s.areolaStyle = "fill:#70493A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#804A28"; + s.areolaStyle = "fill:#5F3F27;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#6F4523"; + s.areolaStyle = "fill:#623C20;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#6F4523"; + s.areolaStyle = "fill:#623C20;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#6F3E27"; + s.areolaStyle = "fill:#553823;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#6F3E27"; + s.areolaStyle = "fill:#553823;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#3F3A38;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "indo-aryan" || artSlave.race == "surgically altered to look indo-aryan") { + if (artSlave.skin == "pure white") { + s.skinColour = "#F8D4BE"; + s.areolaStyle = "fill:#F8B6A4;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#F8D4BE"; + s.areolaStyle = "fill:#F8B6A4;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#EFCCAF"; + s.areolaStyle = "fill:#EA9B86;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#EFCCAF"; + s.areolaStyle = "fill:#EA9B86;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#FCC49A"; + s.areolaStyle = "fill:#D29577;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#FCC49A"; + s.areolaStyle = "fill:#D29577;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#E8B68E"; + s.areolaStyle = "fill:#D08661;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#E8B68E"; + s.areolaStyle = "fill:#D08661;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#E8B68E"; + s.areolaStyle = "fill:#D08661;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#C17848"; + s.areolaStyle = "fill:#C36E45;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#C17848"; + s.areolaStyle = "fill:#C36E45;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#C17848"; + s.areolaStyle = "fill:#A75A34;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#C17848"; + s.areolaStyle = "fill:#A75A34;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#C17848"; + s.areolaStyle = "fill:#A75A34;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#83684B"; + s.areolaStyle = "fill:#715043;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#8A593C"; + s.areolaStyle = "fill:#714931;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#845834"; + s.areolaStyle = "fill:#614635;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#845834"; + s.areolaStyle = "fill:#614635;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#7C5842"; + s.areolaStyle = "fill:#5F4538;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#7C5842"; + s.areolaStyle = "fill:#5F4538;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#6B5449"; + s.areolaStyle = "fill:#473C37;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "pacific islander" || artSlave.race == "surgically altered to look pacific islander") { + if (artSlave.skin == "pure white") { + s.skinColour = "#FBD1B2"; + s.areolaStyle = "fill:#F39E7D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#FBD1B2"; + s.areolaStyle = "fill:#F39E7D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#E8B892"; + s.areolaStyle = "fill:#E2856C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#E8B892"; + s.areolaStyle = "fill:#E2856C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#EA9870"; + s.areolaStyle = "fill:#BE6C56;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#EA9870"; + s.areolaStyle = "fill:#BE6C56;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#EA9760"; + s.areolaStyle = "fill:#AB6755;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#EA9760"; + s.areolaStyle = "fill:#AB6755;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#EA9760"; + s.areolaStyle = "fill:#AB6755;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#BA855E"; + s.areolaStyle = "fill:#976051;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#BA855E"; + s.areolaStyle = "fill:#976051;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#A46138"; + s.areolaStyle = "fill:#8F5E51;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#A46138"; + s.areolaStyle = "fill:#8F5E51;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#A46138"; + s.areolaStyle = "fill:#8F5E51;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#7C563C"; + s.areolaStyle = "fill:#70493A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#804A28"; + s.areolaStyle = "fill:#5F3F27;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#6F4523"; + s.areolaStyle = "fill:#623C20;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#6F4523"; + s.areolaStyle = "fill:#623C20;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#6F3E27"; + s.areolaStyle = "fill:#553823;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#6F3E27"; + s.areolaStyle = "fill:#553823;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#583E2F"; + s.areolaStyle = "fill:#3F3A38;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } + +} else if (artSlave.race == "mixed race" || artSlave.race == "surgically altered to look mixed race") { + if (artSlave.skin == "pure white") { + s.skinColour = "#FEE5CC"; + s.areolaStyle = "fill:#E3BBAB;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely pale") { + s.skinColour = "#FEE5CC"; + s.areolaStyle = "fill:#E3BBAB;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "pale") { + s.skinColour = "#E6C2B0"; + s.areolaStyle = "fill:#D1A695;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "extremely fair") { + s.skinColour = "#E6C2B0"; + s.areolaStyle = "fill:#D1A695;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "very fair") { + s.skinColour = "#E1B59F"; + s.areolaStyle = "fill:#B48D7E;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "fair") { + s.skinColour = "#E1B59F"; + s.areolaStyle = "fill:#B48D7E;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "white") { + s.skinColour = "#DAA782"; + s.areolaStyle = "fill:#9E7666;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light") { + s.skinColour = "#DAA782"; + s.areolaStyle = "fill:#9E7666;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "lightened") { + s.skinColour = "#DAA782"; + s.areolaStyle = "fill:#9E7666;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light olive") { + s.skinColour = "#B27554"; + s.areolaStyle = "fill:#92684C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "olive") { + s.skinColour = "#B27554"; + s.areolaStyle = "fill:#92684C;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "natural") { + s.skinColour = "#B6784E"; + s.areolaStyle = "fill:#8F5A45;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tanned") { + s.skinColour = "#B6784E"; + s.areolaStyle = "fill:#8F5A45;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "bronzed") { + s.skinColour = "#B6784E"; + s.areolaStyle = "fill:#8F5A45;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark olive") { + s.skinColour = "#8B644F"; + s.areolaStyle = "fill:#7B5749;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark") { + s.skinColour = "#775031"; + s.areolaStyle = "fill:#69452F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "light brown") { + s.skinColour = "#774A31"; + s.areolaStyle = "fill:#5E4434;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "brown") { + s.skinColour = "#774A31"; + s.areolaStyle = "fill:#5E4434;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dark brown") { + s.skinColour = "#74523E"; + s.areolaStyle = "fill:#574135;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "ebony") { + s.skinColour = "#6B4B4B"; + s.areolaStyle = "fill:#413228;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "black") { + s.skinColour = "#634F45"; + s.areolaStyle = "fill:#4E3C32;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "camouflage patterned") { + s.skinColour = "#78875a"; + s.areolaStyle = "fill:#939F7A;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "red dyed") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed red") { + s.skinColour = "#bc4949"; + s.areolaStyle = "fill:#C96D6D;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "green dyed") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed green") { + s.skinColour = "#A6C373"; + s.areolaStyle = "fill:#B7CF8F;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "blue dyed") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "dyed blue") { + s.skinColour = "#5b8eb7"; + s.areolaStyle = "fill:#7BA4C5;"; + s.labiaStyle = "fill:#F977A3;"; + } else if (artSlave.skin == "tiger striped") { + s.skinColour = "#e2d75d"; + s.areolaStyle = "fill:#E7DF7D;"; + s.labiaStyle = "fill:#F977A3;"; + } +} + +/* BEGIN SKIN COLOUR OVERRIDES FOR LATEX CLOTHING EMULATION */ + +if (artSlave.fuckdoll != 0) { + /* slave is a fuckdoll - display all skin as if it was black rubber */ + s.skinColour = outfitBaseColour; + s.areolaStyle = "fill:rgba(0,0,0,0.3);"; + s.labiaStyle = s.areolaStyle; +} + +/* slave wears restrictive latex - display most skin as if it was rubber */ +if (artSlave.clothes == "restrictive latex") { + /* nice latex does not cover any privates. */ + s.boobSkinStyle = "fill:"+s.skinColour+";"; + s.penisSkinStyle = "fill:"+s.skinColour+";"; + s.scrotumSkinStyle = "fill:"+s.skinColour+";"; + s.torsoSkinStyle = "fill:"+s.skinColour+";"; + /* rest of body is covered in latex */ + s.skinColour = outfitBaseColour; +} + +if (artSlave.clothes == "a latex catsuit") { + /* nice latex does not cover head. */ + s.headSkinStyle = "fill:"+s.skinColour+";"; + /* rest of body is covered in latex */ + s.skinColour = outfitBaseColour; + /* catsuit covers areolae and crotch, too */ + s.areolaStyle = "fill:rgba(51,53,51,0.3);"; /* areolae are represented by a darker area */ + /* todo: gain control over piercings to do the same with them ^^ */ + s.labiaStyle = s.areolaStyle; +} + +if (artSlave.clothes == "a cybersuit") { + /* rest of body is covered in latex */ + s.skinColour = outfitBaseColour; + /* catsuit covers areolae and crotch, too */ + s.areolaStyle = "fill:rgba(51,53,51,0.3);"; /* areolae are represented by a darker area */ + /* todo: gain control over piercings to do the same with them ^^ */ + s.labiaStyle = s.areolaStyle; +} + +/* END SKIN COLOUR OVERRIDES FOR LATEX CLOTHING EMULATION */ + +if (artSlave.clothes == "a comfortable bodysuit") { + /* nice bodysuit does not cover head. */ + s.headSkinStyle = "fill:"+s.skinColour+";"; + /* rest of body is covered in bodysuit */ + s.skinColour = outfitBaseColour; + /* bodysuit covers areolae and crotch, too */ +s.areolaStyle = "fill:rgba(175,67,107,0.3);"; + /* todo: gain control over piercings to do the same with them ^^ */ + s.labiaStyle = s.areolaStyle; +} + +/* outfit dick coloring to match outfit rgba in svg */ +switch (artSlave.clothes) { +case "a cheerleader outfit": + s.scrotumSkinStyle = "fill:rgba(250,186,0,1);"; + s.bellySkinStyle = "fill:rgba(250,186,0,1);"; + break; +case "cutoffs and a t-shirt": + s.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; + break; +case "a halter top dress": + s.scrotumSkinStyle = "fill:rgba(94,51,124,1);"; + s.bellySkinStyle = "fill:rgba(94,51,124,1);"; + break; +case "a hijab and abaya": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + s.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "a nice maid outfit": + s.scrotumSkinStyle = "fill:rgba(225,225,225,1);"; + s.bellySkinStyle = "fill:rgba(225,225,225,1);"; + break; +case "a slutty maid outfit": + s.scrotumSkinStyle = "fill:rgba(225,225,225,1);"; + s.bellySkinStyle = "fill:rgba(225,225,225,1);"; + break; +case "a leotard": + s.scrotumSkinStyle = "fill:rgba(120,15,55,1);"; + s.bellySkinStyle = "fill:rgba(120,15,55,1);"; + break; +case "a military uniform": + s.scrotumSkinStyle = "fill:rgba(34,42,18,1);"; + s.bellySkinStyle = "fill:rgba(34,42,18,1);"; + break; +case "a mini dress": + s.scrotumSkinStyle = "fill:rgba(39,174,96,1);"; + s.bellySkinStyle = "fill:rgba(39,174,96,1);"; + break; +case "a nice nurse outfit": + s.scrotumSkinStyle = "fill:rgba(0,128,128,1);"; + s.bellySkinStyle = "fill:rgba(0,128,128,1);"; + break; +case "a slutty nurse outfit": + s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + break; +case "a scalemail bikini": + s.scrotumSkinStyle = "fill:rgba(133,146,158,1);"; + break; +case "a schoolgirl outfit": + s.scrotumSkinStyle = "fill:rgba(28,31,36,1);"; + s.bellySkinStyle = "fill:rgba(28,31,36,1);"; + break; +case "a ball gown": + s.scrotumSkinStyle = "fill:rgba(128,0,0,1);"; + s.bellySkinStyle = "fill:rgba(128,0,0,1);"; + break; +case "battledress": + s.scrotumSkinStyle = "fill:rgba(34,42,18,1);"; + s.bellySkinStyle = "fill:rgba(34,42,18,1);"; + break; +case "a slave gown": + s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + s.bellySkinStyle = "fill:rgba(200,200,200,1);"; + break; +case "a slutty outfit": + s.scrotumSkinStyle = "fill:rgba(63,126,181,1);"; + break; +case "spats and a tank top": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "a succubus outfit": + s.scrotumSkinStyle = "fill:rgba(128,0,0,1);"; + s.bellySkinStyle = "fill:rgba(128,0,0,1);"; + break; +case "nice business attire": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + s.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "slutty business attire": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "attractive lingerie for a pregnant woman": + s.scrotumSkinStyle = "fill:rgba(153,153,153,1);"; + break; +case "a bunny outfit": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + s.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "conservative clothing": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + s.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "harem gauze": + s.scrotumSkinStyle = "fill:rgba(0,168,131,1);"; + break; +case "a huipil": + s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + s.bellySkinStyle = "fill:rgba(200,200,200,1);"; + break; +case "a kimono": + s.scrotumSkinStyle = "fill:rgba(0,91,150,1);"; + s.bellySkinStyle = "fill:rgba(0,91,150,1);"; + break; +case "a maternity dress": + s.scrotumSkinStyle = "fill:rgba(48,54,72,1);"; + s.bellySkinStyle = "fill:rgba(48,54,72,1);"; + break; +case "a slutty qipao": + s.scrotumSkinStyle = "fill:rgba(204,177,68,1);"; + s.bellySkinStyle = "fill:rgba(204,177,68,1);"; + break; +case "stretch pants and a crop-top": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "a toga": + s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + s.bellySkinStyle = "fill:rgba(200,200,200,1);"; + break; +case "a penitent nuns habit": + s.scrotumSkinStyle = "fill:rgba(114,93,73,1);"; + break; +case "a chattel habit": + s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + break; +case "a monokini": + s.scrotumSkinStyle = "fill:rgba(33,47,61,1);"; + break; +case "a schutzstaffel uniform": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + s.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "a slutty schutzstaffel uniform": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + s.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "a red army uniform": + s.scrotumSkinStyle = "fill:rgba(114,93,73,1);"; + s.bellySkinStyle = "fill:rgba(114,93,73,1);"; + break; +case "an apron": + s.scrotumSkinStyle = "fill:rgba(255,105,180,1);"; + s.bellySkinStyle = "fill:rgba(255,105,180,1);"; + break; +case "a fallen nuns habit": + s.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "a dirndl": + s.scrotumSkinStyle = "fill:rgba(128,0,51,1);"; + break; +case "lederhosen": + s.scrotumSkinStyle = "fill:rgba(93,83,108,1);"; + break; +case "a long qipao": + s.scrotumSkinStyle = "fill:rgba(0,128,0,1);"; + break; +case "a mounty outfit": + s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + break; +case "battlearmor": + s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + break; +case "a biyelgee costume": + s.scrotumSkinStyle = "fill:rgba(33,68,120,1);"; +} + +return s; +} diff --git a/src/art/vector/layers/Balls.tw b/src/art/vector/layers/Balls.tw new file mode 100644 index 0000000000000000000000000000000000000000..f18ca283b81e084623a97aef28a3f50d8bba641b --- /dev/null +++ b/src/art/vector/layers/Balls.tw @@ -0,0 +1,3 @@ +:: Art_Vector_Balls [nobr] + +<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><g transform="'+_art_transform+'"id="g5023"><path style="fill:#000000" sodipodi:nodetypes="ccccccc" d="m 257.66607,496.61899 c 4.14944,1.13097 8.46586,0.43899 9.39342,0.34412 7.94674,3.97257 15.70719,1.85262 19.64687,-6.1883 2.20344,-4.85122 -0.36417,-11.7545 -3.29443,-19.13452 -2.1949,-5.45385 -5.06156,-11.54066 -6.62573,-13.27699 -9.84786,-9.91781 -13.13813,-2.67766 -21.91172,15.67268 -4.86509,8.27714 -8.95386,19.27496 2.79159,22.58301 z" id="path1992-1"/><path sodipodi:nodetypes="ccccccc" d="m 258.20272,495.47299 c 3.92914,1.10083 8.0164,0.42729 8.89473,0.33495 7.52486,3.86671 14.8733,1.80325 18.60382,-6.0234 2.08647,-4.72194 -0.0776,-11.80627 -2.85234,-18.98964 -2.07837,-5.30852 -4.29067,-11.23314 -5.77179,-12.9232 -9.32505,-9.65353 -13.21001,-2.2413 -21.51782,15.62006 -4.60678,8.05657 -8.4785,18.76133 2.6434,21.98123 z" class="skin scrotum" id="path1992"/></g></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_0.tw b/src/art/vector/layers/Balls_0.tw deleted file mode 100644 index d47036b922c3c17c524ec1c1d688a8e82bd97932..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_0.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_0 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path7093" d="m 264.41983,475.25851 c 1.93657,0.52783 3.95108,0.20488 4.38398,0.1606 3.70881,1.85403 7.33067,0.86464 9.16935,-2.88813 1.02837,-2.2641 -0.16996,-5.48591 -1.53754,-8.93023 -1.02438,-2.54535 -2.36227,-5.38611 -3.09228,-6.19647 -4.59607,-4.62873 -6.13167,-1.24969 -10.22637,7.31456 -2.27058,3.86301 -4.17884,8.99578 1.30286,10.53967 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path7095" class="skin scrotum" d="m 264.67028,474.72366 c 1.83377,0.51377 3.74132,0.19942 4.15124,0.15633 3.51192,1.80462 6.9415,0.84159 8.68255,-2.81117 0.97378,-2.20377 -0.0362,-5.51008 -1.3312,-8.86262 -0.97,-2.47753 -2.00249,-5.24259 -2.69375,-6.03136 -4.35207,-4.50538 -6.16521,-1.04603 -10.04253,7.29001 -2.15002,3.76007 -3.95698,8.75606 1.23369,10.25881 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_1.tw b/src/art/vector/layers/Balls_1.tw deleted file mode 100644 index ef18b97112a55078be1c1214dfa4b942b019fc6e..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_1.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_1 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccccccc" d="m 261.10793,485.5631 c 3.043,0.8294 6.20846,0.32194 6.88869,0.25236 5.82776,2.9133 11.5189,1.35863 14.40808,-4.5382 1.6159,-3.55766 -0.26707,-8.62019 -2.41598,-14.03235 -1.60964,-3.99959 -3.71191,-8.46337 -4.859,-9.73671 -7.22195,-7.27326 -9.63488,-1.96367 -16.06901,11.4936 -3.56783,6.07006 -6.56634,14.13534 2.04722,16.5613 z" id="path7075" style="fill:#000000"/><path sodipodi:nodetypes="ccccccc" d="m 261.50148,484.72268 c 2.88145,0.8073 5.87885,0.31336 6.52297,0.24564 5.51838,2.83566 10.90738,1.32242 13.64316,-4.41728 1.53012,-3.46285 -0.0569,-8.65816 -2.09177,-13.9261 -1.52418,-3.89302 -3.14657,-8.23785 -4.23276,-9.47726 -6.83854,-7.07944 -9.68759,-1.64366 -15.78014,11.45501 -3.3784,5.90831 -6.21773,13.75867 1.93854,16.11999 z" class="skin scrotum" id="path7077"/></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_2.tw b/src/art/vector/layers/Balls_2.tw deleted file mode 100644 index cc1e2cc0f5384a71b7181c7372a8f1707ae97c4f..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_2.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_2 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path1992-1" d="m 257.66607,496.61899 c 4.14944,1.13097 8.46586,0.43899 9.39342,0.34412 7.94674,3.97257 15.70719,1.85262 19.64687,-6.1883 2.20344,-4.85122 -0.36417,-11.7545 -3.29443,-19.13452 -2.1949,-5.45385 -5.06156,-11.54066 -6.62573,-13.27699 -9.84786,-9.91781 -13.13813,-2.67766 -21.91172,15.67268 -4.86509,8.27714 -8.95386,19.27496 2.79159,22.58301 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path1992" class="skin scrotum" d="m 258.20272,495.47299 c 3.92914,1.10083 8.0164,0.42729 8.89473,0.33495 7.52486,3.86671 14.8733,1.80325 18.60382,-6.0234 2.08647,-4.72194 -0.0776,-11.80627 -2.85234,-18.98964 -2.07837,-5.30852 -4.29067,-11.23314 -5.77179,-12.9232 -9.32505,-9.65353 -13.21001,-2.2413 -21.51782,15.62006 -4.60678,8.05657 -8.4785,18.76133 2.6434,21.98123 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_3.tw b/src/art/vector/layers/Balls_3.tw deleted file mode 100644 index cad29b295218fbfdc9070751f4437b7e4dfb82e8..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_3.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_3 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccccccc" d="m 254.20165,507.75763 c 5.25585,1.43253 10.72321,0.55604 11.8981,0.43588 10.06567,5.03182 19.89538,2.3466 24.88554,-7.83836 2.79097,-6.14476 -0.46127,-14.88874 -4.17286,-24.23658 -2.78015,-6.90808 -6.41119,-14.61788 -8.39243,-16.81719 -12.47371,-12.56231 -16.6413,-3.39164 -27.7543,19.85167 -6.16232,10.48417 -11.34133,24.41447 3.53595,28.60458 z" id="path7081" style="fill:#000000"/><path sodipodi:nodetypes="ccccccc" d="m 254.88139,506.30606 c 4.97681,1.39436 10.15391,0.54122 11.26644,0.42426 9.5313,4.89774 18.83914,2.28407 23.56437,-7.62949 2.64281,-5.981 -0.0983,-14.95431 -3.61289,-24.05307 -2.63255,-6.72399 -5.43474,-14.22836 -7.31079,-16.36906 -11.8115,-12.22756 -16.73235,-2.83893 -27.25537,19.78502 -5.83514,10.20478 -10.73922,23.76388 3.34824,27.84234 z" class="skin scrotum" id="path7083"/></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_4.tw b/src/art/vector/layers/Balls_4.tw deleted file mode 100644 index 6e734a38e63b6ac2328b244497f4d84c4d6aae3d..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_4.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_4 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path7087" d="m 251.36225,517.52126 c 6.36228,1.7341 12.98059,0.6731 14.40281,0.52764 12.18462,6.09109 24.08361,2.84059 30.12426,-9.48843 3.37851,-7.43832 -0.55837,-18.02302 -5.0513,-29.3387 -3.3654,-8.36232 -7.76083,-17.69513 -10.15914,-20.35743 -15.09959,-15.20683 -20.14451,-4.10562 -33.59694,24.03071 -7.45957,12.69122 -13.72883,29.55403 4.28031,34.62621 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path7089" class="skin scrotum" d="m 252.18508,515.76412 c 6.0245,1.68789 12.29144,0.65515 13.63818,0.51357 11.53776,5.92878 22.80502,2.7649 28.52497,-9.23559 3.19916,-7.24008 -0.11899,-18.10239 -4.37345,-29.11656 -3.18673,-8.13948 -6.57882,-17.22361 -8.8498,-19.81496 -14.29798,-14.80162 -20.25473,-3.43656 -32.99298,23.95003 -7.06352,12.35301 -12.99997,28.76648 4.05308,33.70351 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_5.tw b/src/art/vector/layers/Balls_5.tw deleted file mode 100644 index adee714c3a0c635133ba5a08947bc96d9085044e..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_5.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_5 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccccccc" d="m 247.74099,527.16294 c 7.46871,2.03567 15.23797,0.79016 16.90752,0.6194 14.30357,7.15036 28.27184,3.33458 35.36299,-11.1385 3.96604,-8.73188 -0.65548,-21.1573 -5.92974,-34.44082 -3.95066,-9.81656 -9.11047,-20.77239 -11.92586,-23.89767 -17.72547,-17.85136 -23.64772,-4.8196 -39.43958,28.20975 -8.75682,14.89827 -16.11633,34.69359 5.02467,40.64784 z" id="path7934" style="fill:#000000"/><path sodipodi:nodetypes="ccccccc" d="m 248.70691,525.10023 c 7.07219,1.98142 14.42898,0.76908 16.00992,0.60288 13.54422,6.95982 26.7709,3.24573 33.48558,-10.8417 3.7555,-8.49915 -0.13969,-21.25046 -5.13401,-34.18004 -3.74092,-9.55497 -7.72291,-20.21887 -10.38882,-23.26086 -16.78446,-17.37568 -23.77711,-4.03419 -38.73059,28.11503 -8.2919,14.50125 -15.26072,33.76909 4.75792,39.56469 z" class="skin scrotum" id="path7936"/></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_6.tw b/src/art/vector/layers/Balls_6.tw deleted file mode 100644 index e7128008925e9531930a8747746e3090d71658c6..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_6.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_6 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path7940" d="m 244.11974,536.2743 c 8.57513,2.33723 17.49535,0.9072 19.41222,0.71115 16.42253,8.20962 32.46009,3.82857 40.60172,-12.78858 4.55359,-10.02543 -0.75257,-24.29157 -6.80818,-39.54293 -4.53591,-11.2708 -10.46011,-23.84964 -13.69257,-27.43791 -20.35135,-20.49589 -27.15093,-5.53359 -45.28222,32.38878 -10.05407,17.10533 -18.50383,39.83316 5.76903,46.66949 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path7942" class="skin scrotum" d="m 245.22876,533.90601 c 8.11987,2.27495 16.5665,0.88301 18.38165,0.69219 15.55068,7.99086 30.73679,3.72656 38.44618,-12.4478 4.31185,-9.75824 -0.16038,-24.39855 -5.89457,-39.24353 -4.2951,-10.97046 -8.86699,-23.21412 -11.92783,-26.70676 -19.27093,-19.94975 -27.29949,-4.63183 -44.4682,32.28004 -9.52027,16.64948 -17.52147,38.77169 5.46277,45.42586 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_7.tw b/src/art/vector/layers/Balls_7.tw deleted file mode 100644 index 7dd1203022f8e3661995589a96e1dfb77659e648..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_7.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_7 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path7952" d="m 240.32171,545.03209 c 9.68156,2.6388 19.75272,1.02426 21.91693,0.80291 18.54148,9.26889 36.64832,4.32256 45.84045,-14.43865 5.14112,-11.31898 -0.84968,-27.42585 -7.68663,-44.64505 -5.12116,-12.72505 -11.80974,-26.9269 -15.45928,-30.97815 -22.97723,-23.14041 -30.65414,-6.24757 -51.12487,36.56782 -11.35131,19.31238 -20.89132,44.97272 6.5134,52.69112 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path7954" class="skin scrotum" d="m 241.60976,542.86172 c 9.18709,2.58172 18.74388,1.00209 20.7976,0.78553 17.59455,9.0684 34.77661,4.22907 43.49927,-14.12636 4.87857,-11.07411 -0.18146,-27.68863 -6.66931,-44.53542 -4.85961,-12.4498 -10.0324,-26.34449 -13.49554,-30.30809 -21.80376,-22.63992 -30.88754,-5.25642 -50.31278,36.63291 -10.77155,18.89463 -19.82436,43.99996 6.18076,51.55143 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >> \ No newline at end of file diff --git a/src/art/vector/layers/Balls_8.tw b/src/art/vector/layers/Balls_8.tw deleted file mode 100644 index 602139a3bff3f29c048fc7394e3caeb17ce0a7d8..0000000000000000000000000000000000000000 --- a/src/art/vector/layers/Balls_8.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Art_Vector_Balls_8 [nobr] - -<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccccccc" d="m 236.3469,553.43633 c 10.78799,2.94037 22.0101,1.14132 24.42164,0.89468 20.66043,10.32815 40.83655,4.81655 51.07917,-16.08874 5.72866,-12.61253 -0.94678,-30.56012 -8.56506,-49.74716 -5.70643,-14.17929 -13.15939,-30.00415 -17.226,-34.51839 -25.60311,-25.78494 -34.15735,-6.96155 -56.96751,40.74686 -12.64856,21.51943 -23.27882,50.11228 7.25776,58.71275 z" id="path7946" style="fill:#000000"/><path sodipodi:nodetypes="ccccccc" d="m 237.84992,551.46388 c 10.27384,2.88848 20.96111,1.12115 23.25776,0.87886 19.67583,10.14595 38.89037,4.73159 48.64485,-15.80491 5.45566,-12.38997 -0.20292,-30.9787 -7.45823,-49.8273 -5.43446,-13.92915 -11.21915,-29.47485 -15.09195,-33.90944 -24.38295,-25.33009 -34.54125,-5.881 -56.26432,40.9858 -12.04573,21.13977 -22.16941,49.22822 6.91189,57.67699 z" class="skin scrotum" id="path7948"/></svg></html>' >> \ No newline at end of file diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw index bda313366b43d9d2db047f0537b38e9e828ba9c9..7b18ef63fde7b037b6b782c052b18e4624aebfd4 100644 --- a/src/events/intro/introSummary.tw +++ b/src/events/intro/introSummary.tw @@ -471,7 +471,7 @@ __''Player Character''__ [[feminine Mistress|Intro Summary][$PC.title = 0, $PCCreationSex = "feminine ''Mistress''"]] <</if>> - <br>Everyone calls you ''<<PlayerName>>.'' + <br>Everyone calls you ''<<= PlayerName()>>.'' <br> With ''<<textbox "$PC.name" $PC.name>>'' as your given name and <<if $PC.surname == 0>> @@ -734,7 +734,7 @@ __''Player Character''__ <<else>> feminine ''Mistress' <</if>> - and everyone that matters calls you <<PlayerName>>. + and everyone that matters calls you <<= PlayerName()>>. <br> You are $PC.actualAge years old which is diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw index f2ab6d6654bbc4bcb7a7111c09bf42d36ee126ce..0900270de98236157689f9fbc24369d0e3c7126b 100644 --- a/src/gui/Encyclopedia/encyclopedia.tw +++ b/src/gui/Encyclopedia/encyclopedia.tw @@ -6,7 +6,7 @@ PLAYING FREE CITIES **********/ <<case "Playing Free Cities">> - Welcome to the Free Cities, <<PlayerName>>! + Welcome to the Free Cities, <<= PlayerName()>>! <br><br> //Future room for lore text// diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw index 029db52dbd097f97120ad237350cb3289c97adc4..a456dac92a11b97cd3da1b97ba31eb5fdd3027ed 100644 --- a/src/js/DefaultRules.tw +++ b/src/js/DefaultRules.tw @@ -53,6 +53,7 @@ window.DefaultRules = (function() { ProcessSmartPiercings(slave, rule); ProcessTattoos(slave, rule); ProcessPorn(slave, rule); + ProcessLabel(slave, rule); return r; } @@ -1769,6 +1770,18 @@ window.DefaultRules = (function() { } } + if (rule.haircuts !== undefined && (rule.haircuts !== "no default setting")) { + if (slave.bald != 1) { + if (rule.haircuts === 1 && slave.haircuts !== 1) { + r += `<br>${slave.slaveName}'s hair will now be maintained at ${lengthToEitherUnit(slave.hLength)} long.`; + slave.haircuts = 1; + } else if (rule.haircuts === 0 && slave.haircuts !== 0) { + r += `<br>${slave.slaveName}'s hair length will no longer be maintained.`; + slave.haircuts = 0; + } + } + } + if (rule.pubicHColor !== undefined && (rule.pubicHColor !== "no default setting")) { if (slave.pubicHStyle != "bald" && slave.pubicHStyle != "hairless") { if ((slave.pubicHColor !== rule.pubicHColor)) { @@ -2171,6 +2184,13 @@ window.DefaultRules = (function() { } } } + + function ProcessLabel(slave, rule) { + if (rule.label !== "no default setting" && slave.customLabel !== rule.label) { + slave.customLabel = rule.label; + r += `<br>${slave.slaveName}'s label has been set to ${rule.label}`; + } + } return DefaultRules; })(); diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw index 9a03663c6dc5bc6d7014240ce59e5101f416b599..76303be830a69013e8af655f18fe2034769f3463 100644 --- a/src/js/assayJS.tw +++ b/src/js/assayJS.tw @@ -236,6 +236,112 @@ window.properTitle = function properTitle() { else return "Ma'am"; }; +window.newSlave = function newSlave(slave) { + const V = State.variables; + + switch (slave.eyeColor) { + case "blind blue": + slave.origEye = "deep blue"; + break; + case "milky white": + case "implant": + slave.origEye = jsEither(["blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue"]); + break; + default: + slave.origEye = slave.eyeColor; + break; + } + slave.origHColor = slave.hColor; + slave.underArmHColor = slave.hColor; + slave.pubicHColor = slave.hColor; + slave.origSkin = slave.skin; + + if (V.surnamesForbidden === 1) { + slave.slaveSurname = 0; + } + + if (slave.preg > 0) { + slave.pregWeek = slave.preg; + } else { + slave.pregWeek = 0; + } + + if (V.familyTesting === 1) { + slave.sisters = 0; + slave.daughters = 0; + if (slave.mother === -1 || slave.father === -1) { + V.PC.daughters += 1; + } + if (areSisters(V.PC, slave) > 0) { + V.PC.sisters += 1; + } + for (let k = 0; k < V.slaves.length; k++) { + if (V.slaves[k].mother === slave.ID || V.slaves[k].father === slave.ID) { + slave.daughters++; + } + if (slave.mother === V.slaves[k].ID || slave.father === V.slaves[k].ID) { + V.slaves[k].daughters++; + } + if (areSisters(V.slaves[k], slave) > 0) { + slave.sisters++; + V.slaves[k].sisters++; + } + } + } + + if (slave.dick > 0 && + slave.balls > 0 && + slave.devotion <= 50 && + (slave.fetish !== "buttslut" || slave.fetishKnown !== 1) && + slave.sexualFlaw !== "hates women") { + V.REFeminizationCheckinIDs.push(slave.ID); + } + if (slave.actualAge > 35 && slave.face < 40 && slave.analSkill <= 30) { + V.REMILFCheckinIDs.push(slave.ID); + } + if (slave.attrXY <= 60 && slave.attrXX > 60 ) { + V.REOrientationCheckinIDs.push(slave.ID); + } + if (slave.face < -10) { + V.REUglyCheckinIDs.push(slave.ID); + } + if (slave.anus < 2) { + V.REButtholeCheckinIDs.push(slave.ID); + } + if (slave.boobs < 800) { + V.REReductionCheckinIDs.push(slave.ID); + } + + if (slave.fuckdoll > 0) { + slave.pronoun = "it", slave.possessivePronoun = "its", slave.possessive = "its", slave.object = "it", slave.objectReflexive = "itself", slave.noun = "toy"; + } else if (slave.dick > 0 && slave.vagina === -1 && V.diversePronouns === 1) { + slave.pronoun = "he", slave.possessivePronoun = "his", slave.possessive = "his", slave.object = "him", slave.objectReflexive = "himself", slave.noun = "boy"; + } else { + slave.pronoun = "she", slave.possessivePronoun = "hers", slave.possessive = "her", slave.object = "her", slave.objectReflexive = "herself", slave.noun = "girl"; + } + + SetBellySize(slave); + addSlave(slave); + + if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) { + V.genePool.push(slave); + } else { + if (V.genePool.findIndex(function(s) { return s.ID === slave.ID; }) === -1) { + V.genePool.push(slave); + } + } + + /* add to facilities array if needed */ + if (slave.assignment !== "rest") { + assignJob(slave, slave.assignment); + } + + /** do not run the Rules Assistant before adding the new slave to the slaves list! **/ + if (V.ui !== "start" && V.universalRulesNewSlavesRA === 1 && V.rulesAssistantAuto !== 0) { + DefaultRules(slave); + } +}; + window.addSlave = function addSlave(slave) { State.variables.slaves.push(slave); State.variables.slaveIndices[slave.ID] = State.variables.slaves.length - 1; @@ -428,6 +534,48 @@ window.SlaveFullName = function SlaveFullName(slave) { return pair.join(" "); }; +window.PlayerName = function PlayerName() { + const V = State.variables; + const surnamesFirstCountries = [ + "Cambodian", + "Chinese", + "Hungarian", + "Japanese", + "Korean", + "Mongolian", + "Taiwanese", + "Vietnamese"]; + let names = [V.PC.name, V.PC.surname || ""]; + + if ((V.surnameOrder !== 1) && (surnamesFirstCountries.includes(V.PC.nationality))) + names.reverse(); + return names.join(" ").trim(); +}; + +window.PoliteRudeTitle = function PoliteRudeTitle(slave) { + const V = State.variables, PC = V.PC, s = V.sEnunciate, ss = V.ssEnunciate; + + var r = ""; + if (slave.nationality == "Japanese") { + if (slave.trust > 0) { + r += `${PC.name}${PC.title > 0 ? "kun" : "chan"}`; + } else { + r += (PC.surname ? PC.surname : `${PC.name}${s}an`); + } + } else { + if (slave.intelligence < -2) { + r += V.titleEnunciate + } else if (slave.intelligence > 1) { + r += (PC.title > 0 ? `Ma${s}ter` : `Mi${s}tre${ss}`); + } else if (slave.trust > 0) { + r += PC.name; + } else { + r += (PC.surname ? PC.surname : PC.name); + } + } + return r; +}; + window.SlaveTitle = function SlaveTitle(slave) { const V = State.variables; let r = ""; @@ -778,6 +926,391 @@ window.SlaveTitle = function SlaveTitle(slave) { return r; }; +window.DegradingName = function DegradingName(slave) { + const V = State.variables; + const leadershipPosition = [ + "be the Attendant", + "be the Stewardess", + "be the Milkmaid", + "be the DJ", + "be your Concubine", + "be the Madam", + "be the Schoolteacher", + "be the Wardeness", + "be the Nurse", + "be your Head Girl", + "guard you", + "recruit girls"]; + let names = []; + let suffixes = []; + + if (slave.fuckdoll > 0) { + 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.slaveSurname = 0; + } else { + if (V.seeRace === 1) { + switch (slave.race) { + case "white": + names.push("Pale", "White"); + break; + case "asian": + names.push("Asian", "Yellow"); + break; + case "latina": + names.push("Brown", "Latina"); + break; + case "black": + names.push("Black", "Dark"); + break; + case "pacific islander": + names.push("Islander", "Sea"); + break; + case "malay": + names.push("Cinnamon", "Pinoy", "Spice"); + break; + case "southern european": + names.push("Mediterranean", "Olive"); + break; + case "amerindian": + names.push("Indian", "Reservation"); + break; + case "semitic": + names.push("Semitic"); + break; + case "middle eastern": + names.push("Arab", "Sand"); + break; + case "indo-aryan": + names.push("Brown", "Indian"); + break; + case "mixed race": + names.push("Mulatto", "Mutt"); + break; + } + } + names.push(slave.hColor); + if (slave.eyes === -2) { + names.push("Blind", "Eyeless", "Sightless"); + } + if (slave.boobs >= 2000) { + suffixes.push("Boob", "Boobs", "Titty"); + } + if (slave.boobs < 500 && slave.butt < 3) { + names.push("Girly", "Slim", "Thin"); + } + if (slave.boobs < 300) { + names.push("Flat"); + } + if (slave.anus > 2 || slave.vagina > 2) { + names.push("Gaping", "Hallway", "Slit", "Wideopen"); + } + if (slave.weight > 160) { + names.push("Cow", "Fat", "Whale", "Fatass", "Blimp"); + } else if (slave.weight > 30) { + names.push("Chubby", "Fat", "Whale"); + } else if (slave.weight <= -30) { + names.push("Bony", "Rail", "Skinny"); + } + if (slave.muscles > 30) { + names.push("Huge", "Muscles", "Ripped", "Strong"); + } + if (slave.fetishKnown === 1) { + if (slave.fetish == "buttslut") { + names.push("Anal", "Sodomy"); + } + if (slave.fetish == "cumslut") { + names.push("Cum", "Dicksuck", "Sucker"); + } + if (slave.fetish == "humiliation") { + names.push("Rape"); + } + if (slave.fetish == "masochist") { + names.push("Pain", "Rape", "Struggle"); + } + if (slave.fetish == "pregnancy") { + names.push("Fertile"); + } + } + if (slave.boobs*slave.lactation > 1000) { + names.push("Creamy", "Milky"); + suffixes.push("Cow"); + } + if (slave.oralSkill <= 30 && slave.analSkill <= 30) { + names.push("Cheap", "Fail", "Gutter"); + } + if (slave.nipples == "fuckable") { + names.push("Nipplefuck", "Nipplecunt"); + } else if (slave.nipples != "tiny" && slave.nipples != "cute") { + names.push("Pointy", "Titclit"); + suffixes.push("Nipples"); + } + if (slave.visualAge > 35) { + names.push("Mature"); + suffixes.push("Cougar", "MILF"); + } else if (slave.visualAge < 25) { + names.push("Girly", "Thin", "Young"); + } + if (slave.amp === 1) { + names.push("Stumpy"); + suffixes.push("Stumpy"); + } + if (slave.boobsImplant > 1000 || slave.buttImplant > 3) { + names.push("Fake", "Plastic", "Silicone"); + } + if (slave.dick > 5 && slave.balls > 5) { + names.push("Potent"); + suffixes.push("Cannon", "Daddy"); + } + if (slave.preg > 30) { + if (slave.broodmother === 2) { + names.push("Bursting", "Seeded"); + suffixes.push("Factory", "Nursery"); + } else if (slave.broodmother === 1) { + names.push("Bloated", "Stuffed"); + suffixes.push("Breeder", "Factory"); + } + } + if (slave.bellyPreg >= 450000) { + names.push("Bulging", "Squirming"); + } + if (slave.bellyPreg >= 5000) { + names.push("Preg"); + suffixes.push("Belly", "Mommy"); + } + if (slave.belly > 150000) { + suffixes.push("Balloon"); + } + if (slave.belly > 1500) { + suffixes.push("Belly"); + } + if (slave.dick > 0) { + if (slave.dick > 4) { + names.push("Dangle", "Hung"); + suffixes.push("Cock", "Dick"); + } + if (slave.balls === 0) { + names.push("Cut", "Gelded", "Soft"); + } else { + names.push("Erect", "Hard", "Stiff"); + } + } + if (slave.dick === 1) { + names.push("Micro", "Tiny"); + suffixes.push("Bitch"); + } + if (slave.height >= 185) { + names.push("Tall", "Top"); + suffixes.push("Tower"); + } else if (slave.height < 150) { + names.push("Stumpy", "Tiny"); + suffixes.push("Shortstack", "Stumpy"); + } + if (slave.whoreSkill > 95) { + names.push("Money", "Street"); + suffixes.push("Whore"); + } + if (slave.entertainSkill > 95) { + names.push("Easy", "Club"); + suffixes.push("Slut"); + } + if (slave.oralSkill > 95) { + names.push("Suck"); + suffixes.push("Throat"); + } + if (slave.vaginalSkill > 95) { + suffixes.push("Channel", "Kegel", "Pussy"); + } + if (slave.analSkill > 95) { + suffixes.push("Asspussy", "Sphincter"); + } + if (slave.intelligence > 1) { + names.push("Bright", "Clever", "Smart"); + if (slave.intelligenceImplant === 1) { + names.push("College", "Graduate", "Nerdy"); + } + } else if (slave.intelligence < -1) { + names.push("Cretin", "Dumb", "Retarded", "Stupid"); + } + if (slave.vagina === 1 && slave.vaginaSkill <= 10) { + names.push("Fresh", "New", "Tight"); + } + if (slave.devotion < -75) { + names.push("Angry", "Biter", "Caged"); + } else if (slave.devotion < -50) { + names.push("Cell", "Cuffs"); + } else if (slave.devotion < -20) { + names.push("Bag", "Box"); + } else if (slave.devotion <= 20) { + names.push("Sad", "Whiner"); + } else if (slave.devotion > 50) { + names.push("Prize"); + if (slave.visualAge > 35) { + names.push("Queen"); + } else if (slave.visualAge < 25) { + names.push("Princess"); + } + } + if (slave.trust < -50) { + names.push("Screaming"); + suffixes.push("Sobber"); + } else if (slave.trust < -20) { + names.push("Crying"); + suffixes.push("Meat", "Tears", "Thing", "Weeper"); + } else if (slave.trust < 20) { + names.push("Begging"); + } + + + if (slave.dick === 0) { + if (slave.vagina === -1) { + suffixes.push("Null"); + } else { + if (slave.visualAge < 25) { + suffixes.push("Girl"); + } + } + } else { + if (slave.vagina != -1) { + suffixes.push("Futa"); + } else { + if (slave.balls > 0) { + if (slave.boobs > 300 && slave.butt > 2) { /* SHEMALES: cock & balls, T&A above minimum */ + suffixes.push("Shemale"); + } else { + if (slave.shoulders < 1 && slave.muscles <= 30) { + if (slave.faceShape == "masculine" || slave.faceShape == "androgynous") { /* SISSIES: feminine shoulders or muscles, masculine faces */ + suffixes.push("Sissy"); + } else { /* TRAPS: feminine shoulders or muscles, feminine faces */ + suffixes.push("Trap"); + } + } else { /* BITCHES: masculine shoulders or muscles */ + suffixes.push("Bitch"); + } + } + } else { + if (slave.visualAge > 35) { + suffixes.push("DickMILF"); + } else if (slave.visualAge >= 25) { + suffixes.push("Dickslave"); + } else { + suffixes.push("Dickgirl"); + } + } + } + } + if (slave.anus > 0) { + suffixes.push("Anus", "Asshole", "Backdoor", "Butt", "Butthole"); + } + if (slave.anus === 1) { + suffixes.push("Tightass", "Tightbutt"); + } + if (slave.vagina > 0) { + suffixes.push("Cunt", "Pussy", "Vagina"); + } + if (slave.boobs < 500 && slave.butt < 3 && slave.dick > 0) { + suffixes.push("Bitch", "Bottom", "Sissy", "Trap"); + } + if (slave.energy > 95) { + suffixes.push("Fuck", "Fuckaddict", "Nympho", "Sexaddict"); + } + if (slave.fetishKnown === 1) { + if (slave.fetish == "humiliation") { + suffixes.push("Rapebait", "Showgirl"); + } + if (slave.fetish == "submissive") { + suffixes.push("Bottom", "Fuckee", "Rapebait"); + } + if (slave.fetish == "dom") { + suffixes.push("Dom", "Fucker", "Top"); + } + if (slave.fetish == "pregnancy") { + suffixes.push("Breeder", "Mommy"); + } + if (slave.fetish == "boobs") { + suffixes.push("Boob", "Boobie", "Tit", "Titty"); + } + } + if (slave.births >= 2) { + suffixes.push("Breeder"); + if (slave.births >= 5) { + suffixes.push("Broodmother"); + } + } + if (slave.areolae > 2) { + suffixes.push("Areolas", "Headlights"); + } + if (slave.lips > 40) { + suffixes.push("Lips", "Pillows"); + } + if (slave.labia > 1) { + suffixes.push("Curtains", "Flower", "Lips"); + } + if (slave.breedingMark === 1) { + suffixes.push("Breeder", "Oven", "Womb"); + } + if (slave.butt > 5) { + suffixes.push("Ass", "Bottom", "Butt"); + } + if (slave.vagina === 0) { + suffixes.push("Virgin"); + } + + slave.slaveName = jsEither(names); + } + if (leadershipPosition.includes(slave.assignment)) { + switch (slave.assignment) { + case "be the Attendant": + slave.slaveName = jsEither(["Bath", "Spa"]); + break; + case "be the Stewardess": + slave.slaveName = jsEither(["Servant", "Maid"]); + break; + case "be the Milkmaid": + if (V.cumSlaves > 3) { + slave.slaveName = jsEither(["Fucker", "Milker"]); + } else { + slave.slaveName = jsEither(["Dairy", "Farm"]); + } + break; + case "be the DJ": + slave.slaveName = jsEither(["Bass", "Booth"]); + break; + case "be your Concubine": + slave.slaveName = jsEither(["Bed", "Master"]); + break; + case "be the Madam": + slave.slaveName = jsEither(["Madam", "Pimp"]); + break; + case "be the Schoolteacher": + slave.slaveName = jsEither(["Classroom", "Teacher"]); + break; + case "be the Wardeness": + slave.slaveName = jsEither(["Jail", "Prison"]); + break; + case "be the Nurse": + slave.slaveName = jsEither(["Clinic", "Nurse"]); + break; + case "be your Head Girl": + slave.slaveName = jsEither(["Chief", "Head"]); + break; + case "guard you": + slave.slaveName = jsEither(["Battle", "Guard"]); + break; + case "recruit girls": + slave.slaveName = jsEither(["Cam", "Recruiter"]); + break; + } + } + let surname = jsEither(suffixes); + if (typeof surname == "string" && surname.toLowerCase() == slave.slaveName.toLowerCase()) { + DegradingName(slave); + } + slave.slaveSurname = surname; +}; + window.SlaveSort = function SlaveSort(slaves, main=false) { const V = State.variables; if (main) { @@ -832,3 +1365,56 @@ window.SlaveSort = function SlaveSort(slaves, main=false) { slaves.sort((a, b) => V.slaveIndices[a] - V.slaveIndices[b]); } }; + +window.MenialPopCap = function MenialPopCap () { + const V = State.variables; + let popCap = 500; + let r = ""; + + for (let mwi = 20; mwi < V.sectors.length; mwi++) { + if (V.sectors[mwi].type === "Pens") { + popCap += 500; + } + } + let overMenialCap = V.helots + V.fuckdolls + V.menialBioreactors - popCap; + if (overMenialCap > 0) { + let price = menialSlaveCost(); + if (V.helots > 0) { + if (V.helots > overMenialCap) { + V.cash += overMenialCap * price; + V.menialDemandFactor -= overMenialCap; + V.helots -= overMenialCap; + overMenialCap = 0; + r += "You don't have enough room for all your menials and are obliged to sell some."; + } else { + V.cash += V.helots * price; + V.menialDemandFactor -= V.helots; + overMenialCap -= V.helots; + V.helots = 0; + r += "You don't have enough room for your menials and are obliged to sell them."; + } + } + if (overMenialCap > 0 && V.fuckdolls > 0) { + if (V.fuckdolls > overMenialCap) { + V.cash += overMenialCap * (price * 2); + V.menialDemandFactor -= overMenialCap; + V.fuckdolls -= overMenialCap; + overMenialCap = 0; + r += "You don't have enough room for all your fuckdolls and are obliged to sell some."; + } else { + V.cash += V.fuckdolls * (price * 2); + V.menialDemandFactor -= V.fuckdolls; + overMenialCap -= V.fuckdolls; + V.fuckdolls = 0; + r += "You don't have enough room for your fuckdolls and are obliged to sell them."; + } + } + if (overMenialCap > 0 && V.menialBioreactors > 0) { + V.cash += overMenialCap * (price - 100); + V.menialDemandFactor -= overMenialCap; + V.menialBioreactors -= overMenialCap; + r += "You don't have enough room for all your menial bioreactors and are obliged to sell some."; + } + } + return r; +}; diff --git a/src/js/rulesAssistant.tw b/src/js/rulesAssistant.tw index e8b82c20452fd6edd8d29076065bb28a89cb041e..2116d3a4d48478d80ea42a5b3fbf5246abab99c2 100644 --- a/src/js/rulesAssistant.tw +++ b/src/js/rulesAssistant.tw @@ -208,6 +208,7 @@ window.emptyDefaultRule = function emptyDefaultRule() { nails: "no default setting", hColor: "no default setting", hLength: "no default setting", + haircuts: "no default setting", hStyle: "no default setting", pubicHColor: "no default setting", pubicHStyle: "no default setting", @@ -288,6 +289,7 @@ window.emptyDefaultRule = function emptyDefaultRule() { pregSpeed: "no default setting", bellyImplantVol: -1, teeth: "no default setting", + label: "no default setting", } }; return rule; diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw index 501d897b1bd3ef193f815cfa2d5feea2644a4e01..e42f161bc1d53ce764ca5babe06b2181558da7d1 100644 --- a/src/js/rulesAssistantOptions.tw +++ b/src/js/rulesAssistantOptions.tw @@ -890,6 +890,7 @@ window.rulesAssistantOptions = (function() { this.appendChild(new AutosurgerySection()); this.appendChild(new RegimenSection()); this.appendChild(new BehaviourSection()); + this.appendChild(new OtherSection()); } render() { @@ -960,6 +961,13 @@ window.rulesAssistantOptions = (function() { this.appendChild(new PornList()); } } + + class OtherSection extends Section { + constructor() { + super("Other Settings"); + this.appendChild(new LabelList()); + } + } class CosmeticSection extends Section { constructor() { @@ -969,6 +977,7 @@ window.rulesAssistantOptions = (function() { this.appendChild(new MakeupList()); this.appendChild(new NailsList()); this.appendChild(new HairLengthList()); + this.appendChild(new HaircutsList()); this.appendChild(new HairColourList()); this.appendChild(new HairStyleList()); this.appendChild(new PubicHairColourList()); @@ -2076,6 +2085,20 @@ window.rulesAssistantOptions = (function() { this.onchange = (value) => current_rule.set.hLength = value; } } + + class HaircutsList extends List { + constructor() { + const pairs = [ + ["no default setting"], + ["maintain hair length", 1], + ["do not maintain hair length", 0] + ]; + super("Hair length maintenance", pairs); + this.setValue(current_rule.set.haircuts); + this.onchange = (value) => current_rule.set.haircuts = value; + } + } + class HairColourList extends List { constructor() { const pairs = [ @@ -3117,5 +3140,16 @@ window.rulesAssistantOptions = (function() { } } + class LabelList extends List { + constructor() { + const items = [ + ["no default setting"], + ]; + super("Custom label", items, true); + this.setValue(current_rule.set.label); + this.onchange = (value) => current_rule.set.label = value; + } + } + return rulesAssistantOptions; })(); diff --git a/src/js/slaveSummaryWidgets.tw b/src/js/slaveSummaryWidgets.tw index 17e58512ca4e98dc6f5df78eed0967f9bf2f9e3c..bd421f076f289582a65ff9c392e034135e653f98 100644 --- a/src/js/slaveSummaryWidgets.tw +++ b/src/js/slaveSummaryWidgets.tw @@ -70,7 +70,7 @@ window.SlaveSummaryUncached = (function(){ short_race(slave); else if (V.abbreviateRace === 2) long_race(slave); - r += `</span>`; + r += `</span> `; } if (V.abbreviateNationality === 1) short_nationality(slave); @@ -79,7 +79,7 @@ window.SlaveSummaryUncached = (function(){ if (V.abbreviatePhysicals === 1) short_skin(slave); else - r += `<span class="pink">${slave.skin.charAt(0).toUpperCase() + slave.skin.slice(1)} skin.</span>`; + r += `<span class="pink">${slave.skin.charAt(0).toUpperCase() + slave.skin.slice(1)} skin.</span> `; if (V.abbreviateGenitalia === 1) short_genitals(slave); else if (V.abbreviateGenitalia === 2) @@ -128,14 +128,14 @@ window.SlaveSummaryUncached = (function(){ short_sex_skills(slave); if (slave.combatSkill > 0) r += `C`; - r += `</span>`; + r += `</span> `; short_prestige(slave); } else if (V.abbreviateSkills === 2) { long_intelligence(slave); long_sex_skills(slave); if (slave.combatSkill > 0) r += `Trained fighter.`; - r += `</span>`; + r += `</span> `; long_prestige(slave); } if (V.abbreviateMental === 1) { @@ -887,7 +887,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.pregType >= 20) { r += `a brood of offspring.`; } else if (slave.pregType >= 10) { - r += `slave.pregType babies.`; + r += `${slave.pregType} babies.`; } else if (slave.pregType === 9) { r += `nonuplets.`; } else if (slave.pregType === 8) { @@ -2635,7 +2635,7 @@ window.SlaveSummaryUncached = (function(){ let _SSkills = (slave.analSkill + slave.oralSkill); r += `<span class="aquamarine">`; if (((_SSkills + slave.whoreSkill + slave.entertainSkill) >= 400) && ((slave.vagina < 0) || (slave.vaginalSkill >= 100))) { - r += `Masterful Sex Slave.`; + r += `Masterful Sex Slave. `; } else { _SSkills += slave.vaginalSkill; if (_SSkills > 180) { @@ -2649,6 +2649,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `Sexually unskilled${V.summaryStats? `[${Math.trunc(_SSkills)}]` : ''}.`; } + r += " "; if (slave.whoreSkill >= 100) { r += `Masterful whore${V.summaryStats? `[${slave.whoreSkill}]`: ''}.`; } else if (slave.whoreSkill >= 60) { @@ -2658,6 +2659,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.whoreSkill >= 10) { r += `Basic whore${V.summaryStats? `[${slave.whoreSkill}]`: ''}.`; } + r += " "; if (slave.entertainSkill >= 100) { r += `Masterful entertainer${V.summaryStats? `[${slave.entertainSkill}]`: ''}.`; } else if (slave.entertainSkill >= 60) { @@ -2667,8 +2669,8 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.entertainSkill >= 10) { r += `Basic entertainer${V.summaryStats? `[${slave.entertainSkill}]`: ''}.`; } + r += " "; } - r += " "; } function long_prestige(slave) { diff --git a/src/js/utilJS.tw b/src/js/utilJS.tw index 4c8b2174f9185413989ebba9c9eaf3734fbc2482..f3bf1e4d432ce9d29e410ddc90600b94b80f2c50 100644 --- a/src/js/utilJS.tw +++ b/src/js/utilJS.tw @@ -97,7 +97,7 @@ window.Height = (function(){ "Finnish": 165.3, "French Guianan": 157, "French Polynesian": undefined, "French": 162.5, "Gabonese": 158.4, "Gambian": 157.8, "Georgian": 160.5, "German": 162.8, "Ghanan": 158.5, "Greek": 165, "Greenlandic": undefined, "Grenadian": undefined, "Guamanian": undefined, "Guatemalan": 147.3, "Guinean": 158.8, "Guyanese": 157.9, "Haitian": 158.6, "Honduran": 152.0, "Hungarian": 164, "I-Kiribati": undefined, "Icelandic": 168, "Indian": 151.9, "Indonesian": 147, "Iranian": 157.2, "Iraqi": 155.8, "Irish": 163, "Israeli": 166, "Italian": 162.5, "Ivorian": 158.9, - "Jamaican": 160.8, "Japanese": 158, "Jordanian": 158.2, "Kazakh": 159.8, "Kenyan": 159.4, "Kittitian": 156.9, "Korean": 156.15, "Kosovan": undefined, "Kurdish": undefined, "Kuwaiti": 156.1, + "Jamaican": 160.8, "Japanese": 158, "Jordanian": 158.2, "Kazakh": 159.8, "Kenyan": 159.4, "Kittitian": 156.9, "Korean": 156.15, "Kosovan": 165.7, "Kurdish": undefined, "Kuwaiti": 156.1, "Kyrgyz": 158.6, "Laotian": undefined, "Latvian": 165.7, "Lebanese": 165, "Liberian": 157.3, "Libyan": 160.5, "a Liechtensteiner": 164.3, "Lithuanian": 167.5, "Luxembourgian": 164.8, "Macedonian": undefined, "Malagasy": 154.3, "Malawian": 155, "Malaysian": 154.7, "Maldivian": undefined, "Malian": 160.4, "Maltese": 159.9, "Marshallese": undefined, "Mauritanian": undefined, "Mauritian": undefined, "Mexican": 154, "Micronesian": undefined, "Moldovan": 161.2, "Monégasque": undefined, "Mongolian": 157.7, "Montenegrin": 168.4, "Moroccan": 158.5, "Mosotho": 157.6, @@ -123,8 +123,8 @@ window.Height = (function(){ "Egyptian": 170.3, "Emirati": 170.3, "Equatoguinean": undefined, "Eritrean": undefined, "Estonian": 179.1, "Ethiopian": undefined, "Fijian": 170.4, "Filipina": 163.5, "Finnish": 178.9, "French Guianan": 168, "French Polynesian": undefined, "French": 175.6, "Gabonese": undefined, "Gambian": 168, "Georgian": 172.7, "German": 175.4, "Ghanan": 169.5, "Greek": 177, "Greenlandic": undefined, "Grenadian": undefined, "Guamanian": undefined, "Guatemalan": 157.5, "Guinean": undefined, "Guyanese": 168.6, "Haitian": undefined, "Honduran": undefined, "Hungarian": 176, "I-Kiribati": undefined, "Icelandic": 181, - "Indian": 164.7, "Indonesian": 158, "Iranian": 170.3, "Iraqi": 165.4, "Irish": 177, "Israeli": 177, "Italian": 176.5, "Ivorian": undefined, "Jamaican": 171.8, "Japanese": 172, "Jordanian": undefined, - "Kazakh": 169, "Kenyan": 170.0, "Kittitian": 164.4, "Korean": 168.15, "Kosovan": undefined, "Kurdish": undefined, "Kuwaiti": 169.2, "Kyrgyz": 170.4, "Laotian": 160.5, "Latvian": 174.2, "Lebanese": 176, + "Indian": 164.7, "Indonesian": 158, "Iranian": 170.3, "Iraqi": 165.4, "Irish": 177, "Israeli": 177, "Italian": 176.5, "Ivorian": 170.1, "Jamaican": 171.8, "Japanese": 172, "Jordanian": undefined, + "Kazakh": 169, "Kenyan": 170.0, "Kittitian": 164.4, "Korean": 168.15, "Kosovan": 179.5, "Kurdish": undefined, "Kuwaiti": 169.2, "Kyrgyz": 170.4, "Laotian": 160.5, "Latvian": 174.2, "Lebanese": 176, "Liberian": undefined, "Libyan": 171.3, "a Liechtensteiner": 175.4, "Lithuanian": 177.2, "Luxembourgian": 179.9, "Macedonian": undefined, "Malagasy": 161.5, "Malawian": 166, "Malaysian": 166.3, "Maldivian": undefined, "Malian": 171.3, "Maltese": 169.9, "Marshallese": undefined, "Mauritanian": undefined, "Mauritian": undefined, "Mexican": 167, "Micronesian": undefined, "Moldovan": undefined, "Monégasque": undefined, "Mongolian": 168.4, "Montenegrin": 183.2, "Moroccan": 172.7, "Mosotho": undefined, "Motswana": undefined, "Mozambican": undefined, "Namibian": undefined, "Nauruan": undefined, diff --git a/src/npc/acquisition.tw b/src/npc/acquisition.tw index 00f939a22712ce1ff1669cbe5aa1b431b94c2018..0c04374057e25782ed74e77e61d7a9e4f44e6637 100644 --- a/src/npc/acquisition.tw +++ b/src/npc/acquisition.tw @@ -142,7 +142,7 @@ You've done it. You arrive at your new arcology, $arcologies[0].name, and head straight to the penthouse to enter the access codes that will tell the $arcologies[0].name systems to recognize you as their owner. The penthouse office is ready to receive the codes, and they authenticate. A voice activates in your earpiece. <br><br> //Congratulations. I am a personal assistant program, and it is my pleasure to assist you, -<<PlayerName>> +<<= PlayerName()>> the new owner of $arcologies[0].name. I will offer useful information whenever possible in italics. Your new arcology has some unusual equipment. The previous owner kept a small stable of sex slaves. The penthouse therefore has a body modification studio for tattooing, bleaching and piercing, and an auto salon for more prosaic things like hair care. It also has a remote surgery, a small surgical theater that can be operated remotely by a qualified surgeon if you can pay the fee. Finally, it has a slave nutrition system connected to the arcology's hydroponics bays. This system produces a tasty protein-rich drink that provides the physically active female body all its necessary nutrients while leaving the lower digestive tract extremely clean. It even causes a mild increase in sex drive. <br><br> The previous owner seems to have left in something of a hurry. diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw index 98fb32dabca09173ea6c0a29e18e6932b7b54876..51aa204bd24b26b3845beaabc5463f2f02c95780 100644 --- a/src/npc/fFeelings.tw +++ b/src/npc/fFeelings.tw @@ -13,7 +13,7 @@ <<elseif ($activeSlave.trust >= -50)>> <<if !canTalk($activeSlave)>>gestures<<elseif (_lisping == 1)>>lisps<<else>>mutters<</if>> hesitantly that it's wrong to keep $him a slave, and that you should free $him. <<else>> - <<if !canTalk($activeSlave)>>gestures a perfunctory plea not to hurt $him.<<else>>mutters a perfunctory "Plea<<s>>e don't hurt me, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>."<</if>> + <<if !canTalk($activeSlave)>>gestures a perfunctory plea not to hurt $him.<<else>>mutters a perfunctory "Plea<<s>>e don't hurt me, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>."<</if>> <</if>> <<elseif ($activeSlave.devotion < -20)>> @@ -1039,7 +1039,7 @@ My favorite part of my body i<<s>> <<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>> Of cour<<s>>e, I'm your wife, <<Master>>." $He sighs. "Any other que<<s>>tion<<s>>? <<elseif $activeSlave.devotion < -20>> - I'm your wife, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle>><<else>><<Master>><</if>>." $He <<say>>s, $his voice wavering. "Plea<<s>>e let me go... + I'm your wife, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>." $He <<say>>s, $his voice wavering. "Plea<<s>>e let me go... <<else>> Of cour<<s>>e, I'm your wife, <<Master>>." $He <<say>>s. "It i<<s>>n't <<s>>o bad, I'm <<s>>tarting to like it. <</if>> diff --git a/src/pregmod/SecForceEX/SpecialForceBarracksAdditionalColonelInteractions.tw b/src/pregmod/SecForceEX/SpecialForceBarracksAdditionalColonelInteractions.tw index 769f9a64500139d06f4768b245369536e65b9465..c0f6aecc27076a96b4a119d79fd21e1fc26da5f9 100644 --- a/src/pregmod/SecForceEX/SpecialForceBarracksAdditionalColonelInteractions.tw +++ b/src/pregmod/SecForceEX/SpecialForceBarracksAdditionalColonelInteractions.tw @@ -29,7 +29,7 @@ <<if $PC.slaving < 10>> Your total lack of slavery skill (which is very unusual and very concerning for an arcology owner) means that you are of little to no help or even a hindrance. <<elseif $PC.slaving >= 100>> - Your mastery of slaving allows you assist The Colonel greatly. However the shop owner is so impressed by your understanding of slavery that she is more than happy for an endorsement from you. As you are exiting the shop you hear your pre-recorded message which bears the slogan "This is (<<if def $PC.customTitle>>$PC.customTitle <</if>> <<PlayerName>>) and this is my favorite Paternalist shop in $arcologies[0].name." + Your mastery of slaving allows you assist The Colonel greatly. However the shop owner is so impressed by your understanding of slavery that she is more than happy for an endorsement from you. As you are exiting the shop you hear your pre-recorded message which bears the slogan "This is (<<if def $PC.customTitle>>$PC.customTitle <</if>> <<= PlayerName()>>) and this is my favorite Paternalist shop in $arcologies[0].name." <<if $arcologies[0].prosperity < 20>> <<set $arcologies[0].prosperity++>> <</if>> diff --git a/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw b/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw index 988baf9a0a8198824572888bc7af16d9d478c281..3f2b200d772c423a18da8d89f2415fa42a08a5f6 100644 --- a/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw +++ b/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw @@ -93,7 +93,7 @@ <<case 0>> Is well-stocked with high-quality personal weapons and light armour, but contains little in the way of exceptional armament. <<case 1>> - Has large stocks of the absolute latest personal weapons and light armour, and Has added first-generation exo-suits to improve soldier lethality. + Has large stocks of the absolute latest personal weapons and light armour, and has added first-generation exo-suits to improve soldier lethality. <<case 2>> Acquired advanced tactical helmets and second-generation exo-suits to further improve soldier lethality. <<case 3>> diff --git a/src/pregmod/fMarry.tw b/src/pregmod/fMarry.tw index 5632317141d9abaa79a631b261782c738ee184f3..47c784f81f84ea393a2d896f993d9e009dc64372 100644 --- a/src/pregmod/fMarry.tw +++ b/src/pregmod/fMarry.tw @@ -585,9 +585,9 @@ You tell $activeSlave.slaveName that you're going to marry $him. (A proposal, of <<elseif $assistantAppearance == "schoolgirl">> "To get this marriage started," $assistantName concludes, "$activeSlave.slaveName, the rules say you should now <<if $PC.dick == 1>>suck the <<if $PC.title == 1>>groom<<else>>bride<</if>>'s dick<<if $PC.vagina == 1>> and eat <<if $PC.title == 1>>his<<else>>$his<</if>> pussy<</if>><<else>>eat the <<if $PC.title == 1>>groom<<else>>bride<</if>>'s pussy<</if>>." The slave <<if _reactionType == 0>>only starts when you push $his head to your crotch<<elseif _reactionType == 1>>eagerly complies<<elseif _reactionType == 2>>reluctantly obeys<<else>>hurries to obey<</if>>. Pleased by the sight, $assistantName's avatar starts to jill off. <<elseif $assistantAppearance == "angel">> - "To consummate the marriage," $assistantName concludes, "$activeSlave.slaveName, you must now join <<PlayerName>> in their bedroom and consummate this marriage." The slave <<if _reactionType == 0>>stares blankly<<else>>looks confused<</if>>. "After the wedding ends, would be the time." $assistantName says, covering _his2 face in embarrassment at the thought. + "To consummate the marriage," $assistantName concludes, "$activeSlave.slaveName, you must now join <<= PlayerName()>> in their bedroom and consummate this marriage." The slave <<if _reactionType == 0>>stares blankly<<else>>looks confused<</if>>. "After the wedding ends, would be the time." $assistantName says, covering _his2 face in embarrassment at the thought. <<elseif $assistantAppearance == "cherub">> - "To consummate the marriage," $assistantName concludes, "$activeSlave.slaveName, you should <<if $PC.dick == 1>>suck the <<if $PC.title == 1>>groom<<else>>the bride<</if>>'s cock<<if $PC.vagina == 1>>and lick their pussy,<</if>><<else>>lick the <<if $PC.title == 1>>groom<<else>>the bride<</if>>'s pussy<</if>>, in the privacy of <<PlayerName>>'s bedroom, of course." $assistantName hides _his2 face in _his2 hands at the thought. + "To consummate the marriage," $assistantName concludes, "$activeSlave.slaveName, you should <<if $PC.dick == 1>>suck the <<if $PC.title == 1>>groom<<else>>the bride<</if>>'s cock<<if $PC.vagina == 1>>and lick their pussy,<</if>><<else>>lick the <<if $PC.title == 1>>groom<<else>>the bride<</if>>'s pussy<</if>>, in the privacy of <<= PlayerName()>>'s bedroom, of course." $assistantName hides _his2 face in _his2 hands at the thought. <<elseif $assistantAppearance == "incubus">> "To get this marriage started," $assistantName concludes, "$activeSlave.slaveName, you will now <<if $PC.dick == 1>>suck the <<if $PC.title == 1>>groom<<else>>bride<</if>>'s dick<<if $PC.vagina == 1>> and eat <<if $PC.title == 1>>his<<else>>$his<</if>> pussy<</if>><<else>>eat the <<if $PC.title == 1>>groom<<else>>bride<</if>>'s pussy<</if>>." The slave <<if _reactionType == 0>>only starts when you push $his head to your crotch<<elseif _reactionType == 1>>eagerly complies<<elseif _reactionType == 2>>reluctantly obeys<<else>>hurries to obey<</if>>. Enjoying the sight, $assistantName's avatar begins to furiously stroke its shaft. <<elseif $assistantAppearance == "succubus">> diff --git a/src/pregmod/fSlaveSlaveDickConsummate.tw b/src/pregmod/fSlaveSlaveDickConsummate.tw index b2c04bd4c6738dbbddb6d9f2a87afd6fd201da91..aea96c436eb26f1de291af1154f04bc517e552ed 100644 --- a/src/pregmod/fSlaveSlaveDickConsummate.tw +++ b/src/pregmod/fSlaveSlaveDickConsummate.tw @@ -133,7 +133,7 @@ You call $slaverapistx.slaveName into the room. <<if _isIncest == 1>> <<if $activeSlave.father == $slaverapistx.ID && $activeSlave.mother == $slaverapistx.ID>> the slave that is both $his mother and $his father, - <<elseif $slaverapistx.mother == $activeSlave.ID>> + <<elseif $slaverapistx.mother == $activeSlave.ID || $slaverapistx.father == $activeSlave.ID>> $his own daughter, <<elseif $activeSlave.mother == $slaverapistx.ID>> $his own mother, @@ -151,7 +151,7 @@ You call $slaverapistx.slaveName into the room. $activeSlave.slaveName's simple mind does not even acknowledge that $slaverapistx.slaveName is <<if $activeSlave.father == $slaverapistx.ID && $activeSlave.mother == $slaverapistx.ID>> the slave that is both $his mother and $his father, - <<elseif $slaverapistx.mother == $activeSlave.ID>> + <<elseif $slaverapistx.mother == $activeSlave.ID || $slaverapistx.father == $activeSlave.ID>> $his own daughter, <<elseif $activeSlave.mother == $slaverapistx.ID>> $his own mother, @@ -170,7 +170,7 @@ You call $slaverapistx.slaveName into the room. $activeSlave.slaveName is fully naked and <<if canSee($activeSlave)>>looking up at<<else>>waiting in front of<</if>> <<if $activeSlave.father == $slaverapistx.ID && $activeSlave.mother == $slaverapistx.ID>> the slave that is both $his mother and $his father, - <<elseif $slaverapistx.mother == $activeSlave.ID>> + <<elseif $slaverapistx.mother == $activeSlave.ID || $slaverapistx.father == $activeSlave.ID>> $his own daughter, <<elseif $activeSlave.mother == $slaverapistx.ID>> $his own mother, @@ -229,7 +229,7 @@ You call $slaverapistx.slaveName into the room. $slaverapistx.slaveName sees <<if $slaverapistx.father == $activeSlave.ID && $slaverapistx.mother == $activeSlave.ID>> the slave that is both _his2 mother and _his2 father - <<elseif $activeSlave.mother == $slaverapistx.ID>> + <<elseif $activeSlave.mother == $slaverapistx.ID || $activeSlave.father == $slaverapistx.ID>> _his2 own daughter <<elseif $slaverapistx.mother == $activeSlave.ID>> _his2 own mother diff --git a/src/pregmod/fSlaveSlaveVagConsummate.tw b/src/pregmod/fSlaveSlaveVagConsummate.tw index 6c68793ec9e17aefeafdf72e81e6ca9c9f3adb4d..fee45e8ed23f2412b0bcaf86f692db2153e360ea 100644 --- a/src/pregmod/fSlaveSlaveVagConsummate.tw +++ b/src/pregmod/fSlaveSlaveVagConsummate.tw @@ -104,7 +104,7 @@ Next, you see to $activeSlave.slaveName. $activeSlave.slaveName is fully naked and <<if canSee($activeSlave)>>looking up at<<else>>waiting in front of<</if>> <<if $activeSlave.father == $slaverapistx.ID && $activeSlave.mother == $slaverapistx.ID>> the slave that is both $his mother and $his father, - <<elseif $slaverapistx.mother == $activeSlave.ID>> + <<elseif $slaverapistx.mother == $activeSlave.ID || $slaverapistx.father == $activeSlave.ID>> $his own daughter, <<elseif $activeSlave.mother == $slaverapistx.ID>> $his own mother, diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw index d88dd61b1ba8d90afe156ab109c3abccc6cc05aa..1b94a07042edcc51e8f76816544f54560e8643d5 100644 --- a/src/pregmod/incubator.tw +++ b/src/pregmod/incubator.tw @@ -311,7 +311,7 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu with a powerful musculature. <<elseif $tanks[$i].muscles <= -6 && $tanks[$i].muscles >= -30>> quite weak. - <<elseif $tanks[$i].muscles <= -31 && $tanks[$i].muscles >= 95>> + <<elseif $tanks[$i].muscles <= -31 && $tanks[$i].muscles >= -95>> very weak. <<elseif $tanks[$i].muscles <= -96>> extremely weak. diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw index c46da7508ce97b7746dd16b519c4ef1d0edb8d0a..3bb86444fe97dce9745938992b09ba527ef6b581 100644 --- a/src/pregmod/managePersonalAffairs.tw +++ b/src/pregmod/managePersonalAffairs.tw @@ -281,7 +281,7 @@ On formal occasions, you are announced as $PCTitle. By slaves, however, you pref <<set $rep -= 500>> <<replace "#nameResult">> <<set $PC.name = _PCNamet>> - You will now be known as <<PlayerName>>. + You will now be known as <<= PlayerName()>>. <</replace>> <</link>> <</replace>> diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw index ad1e0387cb57eb704d129f7f7057867f00dfaeee..d8279f16a9db46cd2964cf650e4d72b644891ad3 100644 --- a/src/pregmod/newChildIntro.tw +++ b/src/pregmod/newChildIntro.tw @@ -106,7 +106,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank <<if $arcologies[0].FSDegradationist != "unset">> <br><<link "Have your PA assign her a degrading name">> <<replace "#naming">> - <<DegradingName $activeSlave>> + <<run DegradingName($activeSlave)>> <<set $activeSlave.birthName = $activeSlave.slaveName>> $assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry. <</replace>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 1a55deb6d6f2233c2ef81062e942661bc986c272..a3a315596760e839ded651bba2a8d659f0eb945a 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -3025,3 +3025,7 @@ Done! if (x.set.preg === -1) x.set.preg = true; else x.set.preg = false; })>> + +<<run $defaultRules.filter(x => x.set.haircuts === undefined).forEach(x => { x.set.haircuts = "no default setting"; })>> + +<<run $defaultRules.filter(x => x.set.label === undefined).forEach(x => { x.set.label = "no default setting"; })>> diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw index 5fbe202a88562cb11214386f26d00f326c4e68ab..1b6b60fe1ec6829812df78dcf11e5ab588830c7d 100644 --- a/src/uncategorized/REFI.tw +++ b/src/uncategorized/REFI.tw @@ -741,7 +741,6 @@ There was a glint of envy <<if canSee($activeSlave)>>in her eyes when she saw<<e <<else>> urethral torment. <</if>> - <<if $activeSlave.dick > 0>>dick abuse<<else>>clit torture<</if>> @@.hotpink;She has become more devoted to you,@@ and @@.lightcoral;she has started to get off on pain.@@ <<set $activeSlave.devotion += 4>> <<set $activeSlave.fetish = "masochist", $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 65>> diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 98fc844576559fc25845cabd3d8295f95e462058..a3ee5b5746226af7cb2fa41d2e16a69a5eaa8651 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -861,7 +861,7 @@ One morning, despite the fact that she is not allowed to speak without being spo <</if>> "I'm tired, can I have the day off?" She didn't even call you <<= WrittenMaster()>>. <<else>> - boldly, "I'm tired, can I have the day off, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>?" + boldly, "I'm tired, can I have the day off, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>?" <</if>> <<case "fearful humiliation">> @@ -2471,7 +2471,7 @@ She's chosen to do it in a dark corner and looks like she's hurrying; she clearl <<if !canTalk($activeSlave)>> She nervously gestures that she wasn't doing anything. <<else>> - "I wa<<s>>n't doing anything, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>!" she lies. + "I wa<<s>>n't doing anything, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>!" she lies. <</if>> <<case "hates oral">> @@ -3424,7 +3424,7 @@ During her weekly inspection, <<EventNameLink $activeSlave>> has trouble followi <<case "chastity">>h-having my p-part<<s>> locked up in ch-cha<<s>>tity <<default>>n-never knowing what th-the p-punishment will be <</switch>> -wh-when I'm bad, e-everything, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>. Oh, oh, I'm <<s>>orry, p-plea<<s>>e, I'm <<s>>orry I, I'm like thi<<s>>, I'm crying, p-plea<<s>>e <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>, plea<<s>>e don't..." She trails off, giving you a look of supplication. +wh-when I'm bad, e-everything, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>. Oh, oh, I'm <<s>>orry, p-plea<<s>>e, I'm <<s>>orry I, I'm like thi<<s>>, I'm crying, p-plea<<s>>e <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>, plea<<s>>e don't..." She trails off, giving you a look of supplication. <<case "frightening dick">> @@ -6098,21 +6098,21 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?" <<if $activeSlave.preg > 38 && $activeSlave.pregControl != "labor supressors">> and I think it might be time <<s>>oon, <</if>> - <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>." + <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>." <br><br> You then conduct a more thorough inspection, from the top of her $activeSlave.hColor-haired head on down. She complies submissively, obviously expecting to be abused at any moment. She obediently <<if ($activeSlave.boobs > 1000)>>lifts each of her massive breasts one by one to display each of them from all angles.<<elseif $activeSlave.belly >= 5000>> allows you to do as you will to her gravid stomach.<<else>>opens her mouth and sticks out her tongue on command.<</if>> She even obeys an instruction to <<if ($activeSlave.dick > 1)>>take herself by the dickhead and pull her member flat up against her abdomen.<<elseif ($activeSlave.dick > 0)>>take her little dickhead between a thumb and forefinger and hold herself out straight to reveal how tiny she really is.<<elseif ($activeSlave.clit > 1)>>push back her hood to reveal all of her enormous clit.<<elseif ($activeSlave.labia > 1)>>spread her meaty labia to reveal her cunt.<<elseif $activeSlave.vagina == -1>>really show off her smooth groin, displaying every bit of it, down to the tiny hole that's its only feature.<<else>>spread her pussylips to show off her cunt.<</if>> <br><br> Finally the inspection reaches her backdoor, so you tell her to turn around, bend over, and pull her buttocks apart as wide as she can. She tenses in fear, obviously expecting anal rape, but after a moment of hesitation, she obeys. She turns, <<if $activeSlave.belly >= 10000>>carefully bends<<else>>bends<</if>>, and <<if ($activeSlave.butt > 5)>>grabs a handful of buttcheek in both hands, trembling as she spreads her ass to reveal<<elseif ($activeSlave.butt > 2)>>harshly pulls her own buttcheeks apart, clearly hoping that if she treats herself this way, you won't. She reveals<<else>>even though her trim ass has already revealed everything, uses her hands to spread herself even wider to show off<</if>> her <<if ($activeSlave.anus > 2)>>poor, overused asshole, which despite her terror is still gaping a little.<<elseif ($activeSlave.anus > 1)>>her asshole, which is clenched tight in terror.<<else>>invitingly tight asshole, which is clenched hard in terror.<</if>> Maintaining your neutral tone, you ask her how she feels about anal sex. <<if ($activeSlave.anus == 0)>> - "It'<<s>> <<s>>-<<s>>cary, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>. I'm afraid it'll h-hurt," she gasps out. + "It'<<s>> <<s>>-<<s>>cary, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>. I'm afraid it'll h-hurt," she gasps out. <<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "buttslut")>> - "It's o-okay, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>. I d-don't hate it," she gasps out. + "It's o-okay, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>. I d-don't hate it," she gasps out. <<elseif ($activeSlave.sexualFlaw == "hates anal")>> - "I h-hate it, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>. It'<<s>> d-dirty and it hurt<<s>>," she gasps out. + "I h-hate it, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>. It'<<s>> d-dirty and it hurt<<s>>," she gasps out. <<elseif ($activeSlave.anus > 2)>> - "It'<<s>> not that bad, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>. I'm u<<s>>ed to getting a<<ss>>fucked, I gue<<ss>>," she <<say>>s haltingly. + "It'<<s>> not that bad, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>. I'm u<<s>>ed to getting a<<ss>>fucked, I gue<<ss>>," she <<say>>s haltingly. <<else>> - "I h-hate it, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>. I'm n-not u<<s>>ed to it, and it hurt<<s>>," she gasps out. + "I h-hate it, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>. I'm n-not u<<s>>ed to it, and it hurt<<s>>," she gasps out. <</if>> Without another word, you tell her she can go. She looks around to gape uncomprehendingly at you for a moment before letting go of her buttocks, straightening up, and <<if $activeSlave.belly >= 10000>>quickly waddling<<else>>fleeing<</if>>, feeling rather mystified that you @@.mediumaquamarine;didn't use her.@@ <<set $activeSlave.trust += 4>> @@ -8604,7 +8604,7 @@ You tell her kindly that you understand, and that she'll be trained to address t <<if !canTalk($activeSlave)>> She slowly spells out a question with her hands, asking if she's a good slave. <<else>> - She mumbles a hesitant question: "<<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>, am I a good <<s>>lave?" + She mumbles a hesitant question: "<<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>, am I a good <<s>>lave?" <</if>> You tell her that she is, running a hand <<if $activeSlave.hStyle == "shaved bald">>across her bald scalp<<else>>through her hair<</if>>. She seems @@.hotpink;reassured,@@ and thankful when you give her a cup of her proper rations from your own hand. <<set $activeSlave.devotion += 4, $activeSlave.oralCount++, $oralTotal++>> @@ -8617,13 +8617,13 @@ You tell her kindly that you understand, and that she'll be trained to address t <<if !canTalk($activeSlave)>> She sadly gestures at the spigot and then flicks her own head. <<else>> - She <<say>>s sadly, "<<S>>orry <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>. I'm trying to be a good <<s>>lave but it'<<s>> hard." + She <<say>>s sadly, "<<S>>orry <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>. I'm trying to be a good <<s>>lave but it'<<s>> hard." <</if>> You kindly tell her that you know she's trying, and that that's what really matters. <<if !canTalk($activeSlave)>> Her hands awkwardly ask, "Really?" <<else>> - "Really, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>?" she asks hopefully. + "Really, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>?" she asks hopefully. <</if>> You whisper into her ear that yes, she will be all right as long as she does her best. She wiggles her butt against you a little and giggles <<if $PC.dick == 1>>at the responding stiffness she feels between her buttocks<<else>>as you shove her to her knees<</if>>. She shimmies down and <<if $PC.dick == 1>>takes you into her mouth<<if $PC.vagina == 1>> and does her best to reach the top of your pussy with the tip of her tongue<</if>><<else>>eats you out<</if>>, <<if canSee($activeSlave)>>looking you in the eyes the whole time and <</if>>@@.hotpink;smiling@@ as much as she can manage with <<if $PC.dick == 1>>a dick in her mouth<<else>>her tongue working your clit<</if>>. <<set $activeSlave.devotion += 4, $activeSlave.oralCount++, $oralTotal++>> @@ -9205,7 +9205,7 @@ You tell her kindly that you understand, and that she'll be trained to address t <<if !canTalk($activeSlave)>> She frantically uses her hands to promise you perfect obedience if you'll only spare her from emasculation. <<else>> - She begs through tears, "Plea<<s>>e no, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>! Plea<<s>>e let me keep them! Plea<<s>>e!" + She begs through tears, "Plea<<s>>e no, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>! Plea<<s>>e let me keep them! Plea<<s>>e!" <</if>> You patiently inform her that she can - for now, and so long as she is a good little girl. She flees from the room backwards, bowing, scraping, and profusely thanking you, repeating desperate @@.gold;promises of good behavior.@@ <<set $activeSlave.trust -= 5>> @@ -18055,7 +18055,7 @@ You tell her kindly that you understand, and that she'll be trained to address t <<else>> into your shoulder, <</if>> - stroking it reassuringly and murmuring kindness. She clings to you, mostly for lack of any other comfort in the whole world, and sobs convulsively, @@.mediumaquamarine;her terror flowing out of her@@ in a torrent as you gently rub her back. When she's mostly cried herself out, you tell her that she'll be all right. You're sure she'll be a good slave one day. You understand that her life is hard. She'll make mistakes, and you'll punish her for them, but that's part of slave training, and that's all right. If she does her best, she'll be all right. She sniffles, cuffing tears away. "Th-thank you, <<if $activeSlave.rudeTitle == 1>><<PoliteRudeTitle $activeSlave>><<else>><<Master>><</if>>, I'll d-do my b-be<<s>>t," she manages to <<say>>. + stroking it reassuringly and murmuring kindness. She clings to you, mostly for lack of any other comfort in the whole world, and sobs convulsively, @@.mediumaquamarine;her terror flowing out of her@@ in a torrent as you gently rub her back. When she's mostly cried herself out, you tell her that she'll be all right. You're sure she'll be a good slave one day. You understand that her life is hard. She'll make mistakes, and you'll punish her for them, but that's part of slave training, and that's all right. If she does her best, she'll be all right. She sniffles, cuffing tears away. "Th-thank you, <<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>, I'll d-do my b-be<<s>>t," she manages to <<say>>. <<set $activeSlave.trust += 5>> <</replace>> <</link>> diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw index 71284883363cdabb9c89247445885fa2048b2dfe..aa8a46e18b2f68df95ddc21083ae567a615fa841 100644 --- a/src/uncategorized/REroyalblood.tw +++ b/src/uncategorized/REroyalblood.tw @@ -535,6 +535,114 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad <</link>> //You will be despised for this action, and trade will be greatly damaged.// <</if>> +<br><<link "Offer a generous amount of cash in exchange for both the Queen and her court ladies.">> + <<replace "#result">> + <<set $cash -= 500000>> + You take a tablet and transmit a communication request to the new arcology owner with your intent. Once his shock wears off, he readily accepts with little need for negotiation. Soon, a flight of VTOLs land in the new arcology laden with goods. When they take off again they have the Queen, who is resigned to her fate, and a gaggle of terrified court ladies chained together. + <br><br> + Eventually they all arrive in your penthouse. The Queen seems almost relieved and basks in the opulence of her new surroundings. Yet, it seems likely that her relief has more to do with saving her from a lifetime of gang rape at the mercy of her former subjects, than it does the familiar luxury. She submits to biometric scanning obediently and without fuss<<if $seePreg != 0>>, during which you discover to her surprise that she is pregnant. Since she hasn't begun to show yet, it's unclear whether the child is the former King's or the new arcology owner's. You don't have the means to discern the father of the child, but you notice she cradles her ever so slightly rounded stomach protectively nonetheless<</if>>. Meanwhile, the ladies seem comforted by the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over. + /* ladies */ + <<for $i = 0; $i < 3; $i++>> + <<set $activeSlaveOneTimeMinAge = 21>> + <<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>> + <<include "Generate XX Slave">> + <<set _origin = "She was a member of the court in an ancient kingdom, till it was overthrown and she was sold for credits.">> + <<set $activeSlave.origin = _origin>> + <<set $activeSlave.career = "a lady courtier">> + <<set $activeSlave.prestige = 1>> + <<set $activeSlave.prestigeDesc = "She was once a lady of the court of an ancient kingdom.">> + <<set $activeSlave.face = random(25,76)>> + <<set $activeSlave.devotion = random(10,20)>> + <<set $activeSlave.trust = random(-20,-30)>> + <<set $activeSlave.boobs = random(3,10)*100>> + <<set $activeSlave.vagina = 1>> + <<set $activeSlave.dick = 0>> + <<set $activeSlave.foreskin = 0>> + <<set $activeSlave.balls = 0>> + <<set $activeSlave.ovaries = 1>> + <<set $activeSlave.pubicHStyle = "waxed">> + <<set $activeSlave.underArmHStyle = "waxed">> + <<set $activeSlave.shoulders = random(-1,1)>> + <<set $activeSlave.hips = 1>> + <<set $activeSlave.butt = 1>> + <<set $activeSlave.anus = 0>> + <<set $activeSlave.weight = 0>> + <<set $activeSlave.intelligence = either(-1, 1, 2)>> + <<set $activeSlave.intelligenceImplant = 1>> + <<set $activeSlave.entertainSkill = 25>> + <<set $activeSlave.whoreSkill = 0>> + <<set $activeSlave.health = random(30,60)>> + <<set $activeSlave.canRecruit = 0>> + <<set $activeSlave.behavioralFlaw = either("bitchy", "arrogant")>> + <<AddSlave $activeSlave>> /* skip New Slave Intro */ + <<set $activeSlave.recruiter = 0>> /* override New Slave Intro */ + <</for>> + /*Queen*/ + <<set _queen.origin = "She was the Queen of a royal kingdom, till her husband was overthrown and she was sold for credits.">> + <<set _queen.recruiter = 0>> + <<set _queen.mother = $missingParentID>> + <<set $missingParentID-->> + <<set _queen.father = $missingParentID>> + <<set $missingParentID-->> + <<AddSlave _queen>> /* skip New Slave Intro */ + <</replace>> +<</link>> // It will cost about <<print cashFormat(500000)>> to enslave the Queen and her court ladies.// +<<if $securityForceActive == 1>> +<br><<link "Dispatch $securityForceName on a night time raid to acquire the Queen and her court ladies.">> + <<replace "#result">> + Seizing a tablet, you quickly send a message to The Colonel. After dark, a flight of VTOLs land in the new arcology laden with troops. When they take off again they have the Queen, who is resigned to her fate, and a gaggle of terrified court ladies chained together. + <br><br> + Eventually they all arrive in your penthouse. The Queen seems almost relieved and basks in the opulence of her new surroundings. Yet, it seems likely that her relief has more to do with saving her from a lifetime of gang rape at the mercy of her former subjects, than it does the familiar luxury. She submits to biometric scanning obediently and without fuss<<if $seePreg != 0>>, during which you discover to her surprise that she is pregnant. Since she hasn't begun to show yet, it's unclear whether the child is the former King's or the new arcology owner's. You don't have the means to discern the father of the child, but you notice she cradles her ever so slightly rounded stomach protectively nonetheless<</if>>. Meanwhile, the ladies seem comforted by the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over. + <<set $arcologies[0].prosperity -= 13>> + <<set $rep -= 13000>> + /* ladies */ + <<for $i = 0; $i < 3; $i++>> + <<set $activeSlaveOneTimeMinAge = 21>> + <<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>> + <<include "Generate XX Slave">> + <<set _origin = "She was a member of the court in an ancient kingdom, till it was overthrown and she was acquired by "+$securityForceName+".">> + <<set $activeSlave.origin = _origin>> + <<set $activeSlave.career = "a lady courtier">> + <<set $activeSlave.prestige = 1>> + <<set $activeSlave.prestigeDesc = "She was once a lady of the court of an ancient kingdom.">> + <<set $activeSlave.face = random(25,76)>> + <<set $activeSlave.devotion = random(10,20)>> + <<set $activeSlave.trust = random(-20,-30)>> + <<set $activeSlave.boobs = random(3,10)*100>> + <<set $activeSlave.vagina = 1>> + <<set $activeSlave.dick = 0>> + <<set $activeSlave.foreskin = 0>> + <<set $activeSlave.balls = 0>> + <<set $activeSlave.ovaries = 1>> + <<set $activeSlave.pubicHStyle = "waxed">> + <<set $activeSlave.underArmHStyle = "waxed">> + <<set $activeSlave.shoulders = random(-1,1)>> + <<set $activeSlave.hips = 1>> + <<set $activeSlave.butt = 1>> + <<set $activeSlave.anus = 0>> + <<set $activeSlave.weight = 0>> + <<set $activeSlave.intelligence = either(-1, 1, 2)>> + <<set $activeSlave.intelligenceImplant = 1>> + <<set $activeSlave.entertainSkill = 25>> + <<set $activeSlave.whoreSkill = 0>> + <<set $activeSlave.health = random(30,60)>> + <<set $activeSlave.canRecruit = 0>> + <<set $activeSlave.behavioralFlaw = either("bitchy", "arrogant")>> + <<AddSlave $activeSlave>> /* skip New Slave Intro */ + <<set $activeSlave.recruiter = 0>> /* override New Slave Intro */ + <</for>> + /*Queen*/ + <<set _queen.origin = "She was the Queen of a royal kingdom, till her husband was overthrown and she was acquired by "+$securityForceName+".">> + <<set _queen.recruiter = 0>> + <<set _queen.mother = $missingParentID>> + <<set $missingParentID-->> + <<set _queen.father = $missingParentID>> + <<set $missingParentID-->> + <<AddSlave _queen>> /* skip New Slave Intro */ + <</replace>> +<</link>> //You will be despised for this action, and trade will be greatly damaged.// +<</if>> + <<if $cash >= 2500000 && $familyTesting == 1>> <br><<link "Send a unheard amount of credits and goods to retrieve the entire court.">> <<replace "#result">> @@ -672,6 +780,6 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad <<set $missingParentID-->> <<AddSlave _queen>> /* skip New Slave Intro */ <</replace>> -<</link>> //You will loathed for this action and trade will be crippled.// +<</link>> //You will be loathed for this action and trade will be crippled.// <</if>> </span> \ No newline at end of file diff --git a/src/uncategorized/addCustomDescriptors.tw b/src/uncategorized/addCustomDescriptors.tw index 248cb6f54b1f8d088fe435beccec6df9abf2dfcf..2a736e69c17e1da6abfd29974380c85ae4d017e4 100644 --- a/src/uncategorized/addCustomDescriptors.tw +++ b/src/uncategorized/addCustomDescriptors.tw @@ -97,7 +97,7 @@ You may enter custom descriptors for your slave's hair color, hair style, tattoo | <<link "Give her a random full feudal Japanese name">><<set $activeSlave.slaveName = setup.edoSlaveNames.random(), $activeSlave.slaveSurname = setup.edoSlaveSurnames.random()>><<goto "Rename">><</link>> <</if>> <<if $arcologies[0].FSDegradationist > -1>> - | <<link "Give her a degrading full name">><<DegradingName $activeSlave>><<goto "Rename">><</link>> + | <<link "Give her a degrading full name">><<run DegradingName($activeSlave)>><<goto "Rename">><</link>> <</if>> <<else>> //You must break her will further before you can successfully force a new name on her.// diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index aee0913f8daddb17ed2dd3630f9f1281a4bbf654..8b6568038493540edb409fb06c59c5ab57d9cbc8 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -779,7 +779,7 @@ The Hippolyta Academy have a <<if $HA.schoolProsperity > 4>>very prosperous<<els <</if>> <<if $marketAssistantLimit != 0>> -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <<set $seed = menialSlaveCost()>> <br> Your ''business assistant'' manages the menial slave market. @@ -814,5 +814,5 @@ Your ''business assistant'' manages the menial slave market. <<else>> Prices are average, so <<if $assistant == 0>>it<<else>>she<</if>> does not make any significant moves. <</if>> -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <</if>> diff --git a/src/uncategorized/buySlaves.tw b/src/uncategorized/buySlaves.tw index 11536381a54c195e746e650cc28bfc65cb4a0cad..7262d941600aab7dc7ef7eb9a926f072975bc2cb 100644 --- a/src/uncategorized/buySlaves.tw +++ b/src/uncategorized/buySlaves.tw @@ -272,7 +272,7 @@ __Sex Slave Purchase Options__ __Menial Slaves__ <br> -<<MenialPopCap>> +<<= MenialPopCap()>> The parts of your arcology you own can house a total of $PopCap menial slaves. <<set _menialPrice = menialSlaveCost()>> diff --git a/src/uncategorized/costs.tw b/src/uncategorized/costs.tw deleted file mode 100644 index 1f42e6b34c69b9bd224c77c279819ba49068d66e..0000000000000000000000000000000000000000 --- a/src/uncategorized/costs.tw +++ /dev/null @@ -1,526 +0,0 @@ -:: Costs [nobr] - -<<set $costs = ($brothel*$facilityCost)+($arcade*$facilityCost*0.5)+($club*$facilityCost)+($dairy*$facilityCost)+($incubator*$facilityCost*10)>> - -<<set $costs += (0.1*$brothelUpgradeDrugs*$brothel*$facilityCost)+(0.2*$arcadeUpgradeInjectors*$arcade*$facilityCost)+(0.2*$arcadeUpgradeCollectors*$arcade*$facilityCost)+(0.2*$clubUpgradePDAs*$club*$facilityCost)+(0.2*$dairyFeedersUpgrade*$dairy*$facilityCost)+(0.1*$dairyPregUpgrade*$dairy*$facilityCost)+(0.2*$dairyStimulatorsUpgrade*$facilityCost)+(0.2*$servantsQuartersUpgradeMonitoring*$servantsQuarters*$facilityCost)+(0.2*$incubatorUpgradeWeight*$incubator*$facilityCost)+(0.2*$incubatorUpgradeMuscles*$incubator*$facilityCost)+(0.2*$incubatorUpgradeReproduction*$incubator*$facilityCost)+(0.2*$incubatorUpgradeGrowthStims*$incubator*$facilityCost)+(0.5*$incubatorUpgradeSpeed*$incubator*$facilityCost)>> - -<<if $dairy > 0>> - <<set $costs += ($bioreactorsXY+$bioreactorsXX+$bioreactorsHerm+$bioreactorsBarren)*100>> -<</if>> - -<<if $brothel > 0>> - <<set $costs += $brothelAdsSpending>> -<</if>> -<<if $club > 0>> - <<set $costs += $clubAdsSpending>> -<</if>> - -<<if $incubator > 0>> - <<set $costs += ($incubatorWeightSetting+$incubatorMusclesSetting+$incubatorReproductionSetting+$incubatorGrowthStimsSetting)*500>> -<</if>> - -<<if ($masterSuitePregnancySlaveLuxuries == 1)>> - <<set $costs += 500>> -<</if>> -<<if ($masterSuitePregnancyFertilitySupplements == 1)>> - <<set $costs += 1000>> -<</if>> - -<<set $costs += ($girls*(250+($economy*500)))>> - -<<if $arcologies[0].FSRepopulationFocusLaw == 1 && $PC.pregKnown == 1>> - <<set $costs -= 500>> -<</if>> - -/* security expansion */ -<<if $secExp == 1>> - <<set $costs += ($edictsUpkeep + $SFSupportUpkeep)>> - - <<if $propHub != 0>> - <<set $costs += $propHubUpkeep>> - <</if>> - <<if $secHQ != 0>> - <<set $costs += ($secHQUpkeep)+(20*$secHelots)>> - <</if>> - <<if $secBarracks != 0>> - <<set $costs += $secBarracksUpkeep>> - <</if>> - <<if $riotCenter != 0>> - <<set $costs += $riotUpkeep>> - <</if>> - - <<if $soldierWages == 0>> - <<set _soldierMod = 1>> - <<elseif $soldierWages == 1>> - <<set _soldierMod = 1.5>> - <<else>> - <<set _soldierMod = 2>> - <</if>> - - <<set _mL = $militiaUnits.length>> - <<for _i = 0; _i < _mL; _i++>> - <<set $costs += $militiaUnits[_i].troops*$soldierUpkeep * _soldierMod>> - <</for>> - <<set _sL = $slaveUnits.length>> - <<for _i = 0; _i < _sL; _i++>> - <<set $costs += $militiaUnits[_i].troops*$soldierUpkeep * 0.5 * _soldierMod>> - <</for>> - <<set _meL = $mercUnits.length>> - <<for _i = 0; _i < _meL; _i++>> - <<set $costs += $militiaUnits[_i].troops*$soldierUpkeep * 1.5 * _soldierMod>> - <</for>> -<</if>> - -<<set $costs += $citizenOrphanageTotal*100>> -<<set $costs += $privateOrphanageTotal*500>> -<<if $breederOrphanageTotal > 0>> - <<set $costs += 50>> -<</if>> - -<<if $peacekeepers != 0>> - <<if $peacekeepers.undermining != 0>> - <<set $costs += $peacekeepers.undermining>> - <</if>> -<</if>> - -<<if $mercenaries > 0>> - <<set _mercCosts = $mercenaries*2000>> - <<if $barracks>><<set _mercCosts *= 0.5>><</if>> - <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>><<set _mercCosts *= 0.5>><</if>> - <<set $costs += _mercCosts>> -<</if>> - -<<set $costs += $FSSpending>> - -<<for $i = 0; $i < $slaves.length; $i++>> - -<<switch $slaves[$i].assignment>> -<<case "be confined in the arcade">> - <<set $costs += ($rulesCost*.75)>> -<<case "work in the dairy">> - <<if $dairyRestraintsSetting >= 2>> - <<set $costs += ($rulesCost*.75)>> - <<elseif $slaves[$i].livingRules == "normal">> - <<set $costs += ($rulesCost*1.5)>> - <<elseif $dairyDecoration == "Degradationist">> - <<set $costs += ($rulesCost*.9)>> - <<else>> - <<set $costs += $rulesCost>> - <</if>> -<<case "work in the brothel">> - <<if $slaves[$i].livingRules == "normal">> - <<set $costs += ($rulesCost*1.5)>> - <<else>> - <<set $costs += $rulesCost>> - <</if>> -<<case "serve in the club" "learn in the schoolroom">> - <<set $costs += ($rulesCost*1.5)>> -<<case "get treatment in the clinic">> - <<if $slaves[$i].livingRules == "luxurious">> - <<set $costs += ($rulesCost*2)>> - <<elseif $slaves[$i].livingRules == "normal">> - <<set $costs += ($rulesCost*1.5)>> - <<else>> - <<set $costs += $rulesCost>> - <</if>> -<<case "rest in the spa">> - <<if $slaves[$i].livingRules == "luxurious">> - <<set $costs += ($rulesCost*1.75)>> - <<elseif $slaves[$i].livingRules == "normal">> - <<set $costs += ($rulesCost*1.5)>> - <<else>> - <<set $costs += $rulesCost>> - <</if>> -<<case "be a servant">> - <<if $slaves[$i].livingRules == "normal">> - <<set $costs += ($rulesCost*1.5)>> - <<else>> - <<if $servantsQuartersDecoration == "Degradationist">> - <<set $costs += ($rulesCost*.9)>> - <<else>> - <<set $costs += $rulesCost>> - <</if>> - <</if>> -<<case "be confined in the cellblock">> - <<if $slaves[$i].livingRules == "normal">> - <<set $costs += ($rulesCost*1.25)>> - <<else>> - <<set $costs += ($rulesCost*.9)>> - <</if>> -<<case "be the Madam" "be the DJ" "be the Nurse" "be the Wardeness" "be the Attendant" "be the Schoolteacher" "be the Stewardess" "be the Milkmaid">> - <<set $costs += ($rulesCost*2)>> -<<default>> - <<if $slaves[$i].livingRules == "luxurious">> - <<if $slaves[$i].relationship >= 4>> - <<set $costs += ($rulesCost*3)>> - <<else>> - <<set $costs += ($rulesCost*4)>> - <</if>> - <<elseif $slaves[$i].livingRules == "normal">> - <<set $costs += ($rulesCost*2)>> - <<else>> - <<set $costs += $rulesCost>> - <</if>> -<</switch>> - -<<set $costs += $foodCost*4>> -<<switch $slaves[$i].diet>> -<<case "fattening" "muscle building">> - <<set $costs += $foodCost>> -<<case "restricted" "slimming">> - <<set $costs -= $foodCost>> -<</switch>> -<<if $slaves[$i].weight > 130>> - <<set $costs += $foodCost*2>> -<<elseif $slaves[$i].weight > 50>> - <<set $costs += $foodCost>> -<<elseif $slaves[$i].weight < -50>> - <<set $costs -= $foodCost>> -<</if>> -<<if $slaves[$i].drugs == "appetite suppressors">> - <<set $costs -= $foodCost>> -<</if>> -<<if $slaves[$i].lactation > 0>> - <<set $costs += $foodCost*$slaves[$i].lactation*(1+Math.trunc($slaves[$i].boobs/10000))>> -<</if>> -<<if $slaves[$i].preg > 5>> - <<if $slaves[$i].assignment == "work in the dairy" && $dairyFeedersSetting > 0>> - <<elseif ($slaves[$i].assignment == "serve in the master suite" || $slaves[$i].assignment == "be your concubine") && $masterSuiteUpgradePregnancy == 1>> - <<else>> - <<if $slaves[$i].pregControl == "speed up">> - <<set $costs += $foodCost*$slaves[$i].pregType*3>> - <<else>> - <<set $costs += $foodCost*$slaves[$i].pregType>> - <</if>> - <</if>> -<</if>> - -<<switch $slaves[$i].diet>> -<<case "XX" "XY" "fertility">> - <<set $costs += 25>> -<<case "cleansing">> - <<set $costs += 50>> -<<case "XXY">> - <<set $costs += 75>> -<</switch>> - -<<if $boobAccessibility != 1>> - <<if ($slaves[$i].boobs > 20000)>> - <<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2) && ($slaves[$i].assignment != "be confined in the arcade")>> - <<set $costs += 50>> - <</if>> - <</if>> -<</if>> - -<<if $pregAccessibility != 1>> - <<if ($slaves[$i].belly >= 60000)>> - <<if ($slaves[$i].assignment != "labor in the production line") && ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2) && ($slaves[$i].assignment != "be confined in the arcade")>> - <<set $costs += 100>> - <</if>> - <</if>> -<</if>> - -<<if $dickAccessibility != 1>> - <<if ($slaves[$i].dick > 45)>> - <<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2) && ($slaves[$i].assignment != "be confined in the arcade")>> - <<set $costs += 50>> - <</if>> - <</if>> -<</if>> - -<<if $ballsAccessibility != 1>> - <<if ($slaves[$i].balls > 90)>> - <<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2) && ($slaves[$i].assignment != "be confined in the arcade")>> - <<set $costs += 50>> - <</if>> - <</if>> -<</if>> - -<<if $buttAccessibility != 1>> - <<if ($slaves[$i].butt > 15)>> - <<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2) && ($slaves[$i].assignment != "be confined in the arcade")>> - <<set $costs += 50>> - <</if>> - <</if>> -<</if>> - -<<if $slaves[$i].boobs > 10000>> -<<if $slaves[$i].boobsImplantType == 1>> - <<set $costs += 50>> -<</if>> -<</if>> -<<if $slaves[$i].butt > 10>> -<<if $slaves[$i].buttImplantType == 1>> - <<set $costs += 50>> -<</if>> -<</if>> - -<<if $slaves[$i].preg > 35>> -<<if $slaves[$i].universalRulesBirthing == 1>> -<<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2)>> - <<set $costs += 50>> -<</if>> -<</if>> -<</if>> - -<<if $CitizenRetirement == 1>> - <<set $costs += 250>> -<</if>> - -<<if ($slaves[$i].assignment == "be a servant") || ($slaves[$i].assignment == "work as a servant")>> - <<if $slaves[$i].trust < -20>> - <<set $costs -= ($rulesCost*4)>> - <<elseif $slaves[$i].devotion < -20>> - <<set $costs -= ($rulesCost*2)>> - <<elseif $slaves[$i].devotion <= 20>> - <<set $costs -= ($rulesCost*3)>> - <<elseif $slaves[$i].devotion <= 50>> - <<set $costs -= ($rulesCost*4)>> - <<else>> - <<set $costs -= ($rulesCost*5)>> - <</if>> - <<if ($slaves[$i].fetish == "submissive")>> - <<set $costs -= ($rulesCost)>> - <<elseif ($slaves[$i].fetish == "dom")>> - <<set $costs += ($rulesCost)>> - <</if>> - <<if ($slaves[$i].relationship < -1)>> - <<set $costs -= ($rulesCost)>> - <</if>> - <<if ($slaves[$i].energy < 20)>> - <<set $costs -= ($rulesCost)>> - <<elseif ($slaves[$i].energy < 40)>> - <<set $costs -= ($rulesCost/2)>> - <</if>> - <<if ($slaves[$i].lactation > 0)>> - <<set $costs -= 25>> - <</if>> - <<if ($slaves[$i].assignment == "be a servant")>> - <<set $costs -= ($rulesCost)>> - <</if>> - <<if setup.servantCareers.includes($slaves[$i].career) || $slaves[$i].skillS >= $masteredXP>> - <<set $costs -= ($rulesCost)>> - <</if>> -<</if>> - -<<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2) && ($slaves[$i].assignment != "be confined in the arcade")>> -<<if ($slaves[$i].amp != 0)>> - <<if ($slaves[$i].amp == 1)>> - <<set $costs += $rulesCost>> - <<else>> - <<set $costs += $rulesCost/2>> - <</if>> -<<elseif !canWalk($slaves[$i])>> - <<set $costs += $rulesCost>> -<</if>> -<</if>> - -<<if !canSee($slaves[$i]) && ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2) && ($slaves[$i].assignment != "be confined in the arcade")>> - <<set $costs += 50>> -<<elseif $slaves[$i].eyes <= -1>> - <<if $slaves[$i].eyewear != "corrective glasses">> - <<if $slaves[$i].eyewear != "corrective contacts">> - <<set $costs += 25>> - <</if>> - <</if>> -<<elseif ($slaves[$i].eyewear == "blurring glasses") || ($slaves[$i].eyewear == "blurring contacts")>> - <<set $costs += 25>> -<</if>> - -<<if ($servantsQuartersUpgradeMonitoring == 1)>> - <<if ($slaves[$i].assignment == "work as a servant")>> - <<set $costs -= ($rulesCost)>> - <</if>> -<</if>> - -<<if ($slaves[$i].inflation == 3)>> - <<switch $slaves[$i].inflationType>> - <<case "water">> - <<set $costs += 100>> - <<case "food">> - <<set $costs += ($foodCost*4)>> - <<case "curative" "aphrodisiac" "tightener">> - <<set $costs += (100+($drugsCost*2))>> - <</switch>> -<<elseif ($slaves[$i].inflation == 2)>> - <<switch $slaves[$i].inflationType>> - <<case "water">> - <<set $costs += 50>> - <<case "food">> - <<set $costs += ($foodCost*2)>> - <<case "curative" "aphrodisiac" "tightener">> - <<set $costs += (50+($drugsCost*2))>> - <</switch>> -<<elseif ($slaves[$i].inflation == 1)>> - <<switch $slaves[$i].inflationType>> - <<case "water">> - <<set $costs += 25>> - <<case "food">> - <<set $costs += $foodCost>> - <<case "curative" "aphrodisiac" "tightener">> - <<set $costs += (25+($drugsCost*2))>> - <</switch>> -<</if>> - -<<if ($slaves[$i].drugs == "female hormone injections") || ($slaves[$i].drugs == "male hormone injections")>> - <<set $costs += ($drugsCost*5)>> -<<elseif ($slaves[$i].drugs == "anti-aging cream")>> - <<set $costs += ($drugsCost*10)>> -<<elseif ($slaves[$i].drugs == "sag-B-gone")>> - <<set $costs += ($drugsCost/10)>> -<<elseif ($slaves[$i].drugs != "no drugs")>> - <<if $slaves[$i].drugs == "intensive breast injections" || $slaves[$i].drugs == "intensive butt injections" || $slaves[$i].drugs == "intensive penis enhancement" || $slaves[$i].drugs == "intensive testicle enhancement" || $slaves[$i].drugs == "growth stimulants">> - <<set $costs += $drugsCost*5>> - <<else>> - <<set $costs += $drugsCost*2>> - <</if>> -<</if>> -<<if $slaves[$i].curatives == 1 && $slaves[$i].assignmentVisible != 1>> -<<elseif $slaves[$i].curatives > 0>> - <<set $costs += $drugsCost+($slaves[$i].curatives*$drugsCost)>> -<<elseif ndef $slaves[$i].curatives>> - <<set $slaves[$i].curatives = 0>> -<</if>> -<<if ($slaves[$i].aphrodisiacs > 0)>> - <<set $costs += $drugsCost*Math.abs($slaves[$i].aphrodisiacs)>> -<<elseif ndef $slaves[$i].aphrodisiacs>> - <<set $slaves[$i].aphrodisiacs = 0>> -<</if>> - -<<set $costs += $drugsCost*Math.abs($slaves[$i].hormones)*0.5>> - -<<if $slaves[$i].bodySwap > 0>> - <<set $costs += $drugsCost*10*$slaves[$i].bodySwap>> -<</if>> - -<<if ($slaves[$i].preg == -1) && isFertile($slaves[$i])>> - <<set $costs += $drugsCost*0.5>> -<</if>> - -<<if ($studio == 1)>> - <<set $costs += $slaves[$i].pornFameSpending>> -<</if>> - -<</for>> - -<<if $Recruiter != 0>> - <<set $costs += 250>> -<</if>> -<<if $TSS.schoolPresent == 1>> - <<set $costs += 1000>> -<</if>> -<<if $GRI.schoolPresent == 1>> - <<set $costs += 1000>> -<</if>> -<<if $SCP.schoolPresent == 1>> - <<set $costs += 1000>> -<</if>> -<<if $LDE.schoolPresent == 1>> - <<set $costs += 1000>> -<</if>> -<<if $TGA.schoolPresent == 1>> - <<set $costs += 1000>> -<</if>> -<<if $TCR.schoolPresent == 1>> - <<set $costs += 1000>> -<</if>> -<<if ($TFS.schoolPresent == 1) && (($PC.dick == 0) || ($PC.vagina == 0) || ($PC.boobs == 0))>> - <<set $costs += 1000>> -<</if>> -<<if $TSS.subsidize != 0>> - <<set $costs += 1000>> -<</if>> -<<if $GRI.subsidize != 0>> - <<set $costs += 1000>> -<</if>> -<<if $SCP.subsidize != 0>> - <<set $costs += 1000>> -<</if>> -<<if $LDE.subsidize != 0>> - <<set $costs += 1000>> -<</if>> -<<if $TGA.subsidize != 0>> - <<set $costs += 1000>> -<</if>> -<<if $HA.subsidize != 0>> - <<set $costs += 1000>> -<</if>> -<<if $TCR.subsidize != 0>> - <<set $costs += 1000>> -<</if>> -<<if $TFS.subsidize != 0>> - <<set $costs += 1000>> -<</if>> - -<<if $alwaysSubsidizeGrowth == 1>> - <<set $costs += $policyCost>> -<</if>> -<<if $alwaysSubsidizeRep == 1>> - <<set $costs += $policyCost>> -<</if>> -<<if $RegularParties == 1>> - <<set $costs += $policyCost>> -<</if>> - -<<if $ProImmigrationCash == 1>> - <<set $costs += $policyCost>> -<</if>> -<<if $AntiEnslavementCash == 1>> - <<set $costs += $policyCost>> -<</if>> - -<<if $CoursingAssociation == 1>> - <<set $costs += 1000>> -<</if>> - -<<if $PC.actualAge >= $IsInPrimePC && $PC.actualAge < $IsPastPrimePC>> -<<set _cost = 10000*$AgeEffectOnTrainerPricingPC>> -<<if ($personalAttention == "trading") || ($personalAttention == "warfare") || ($personalAttention == "slaving") || ($personalAttention == "engineering") || ($personalAttention == "medicine") || ($personalAttention == "hacking")>> - <<set $costs += _cost>> -<</if>> -<</if>> - -<<if $cyberMod != 0 && $researchLab.built == "true">> - <<set $costs += ((100*$researchLab.maxSpace)+(300*$researchLab.hired)+(100*$researchLab.hired))>> -<</if>> - -<<if $PC.preg == -1>> - <<set $costs += 25>> -<<elseif $PC.fertDrugs == 1>> - <<set $costs += 50>> -<<elseif $PC.preg >= 16>> - <<set $costs += 100>> -<</if>> -<<if $PC.staminaPills == 1>> - <<set $costs += 50>> -<</if>> - -<<if $PC.career == "servant">> - <<if $personalAttention == "upkeep">> - <<if $PC.belly >= 5000>> - <<set $costs = ($costs*0.80)>> - <<else>> - <<set $costs = ($costs*0.75)>> - <</if>> - <<else>> - <<set $costs = ($costs*0.90)>> - <</if>> -<</if>> - -<<if $secExp == 1>> - <<if $terrain == "oceanic" || $terrain == "marine">> - <<if $docks > 0>> - <<set $costs *= 1 - $docks * 0.05>> - <</if>> - <<else>> - <<if $railway > 0>> - <<set $costs *= 1 - $railway * 0.05>> - <</if>> - <</if>> -<</if>> - -<<if $costs < 0>> - <<set $costs = 0>> -<<else>> - <<set $costs = Math.trunc($costs)>> -<</if>> diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw index 2002f5adb0b728dabaccb0fb2c32687331a77db5..15547fb5b686b1716da435521b79c42014599e60 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -443,7 +443,7 @@ trainer fees: <<print cashFormat(_cost)>> <</if>> <</if>> <<if $slaves[$i].preg > 35>> - <<if $slaves[$i].universalRulesBirthing == 1>> + <<if $universalRulesBirthing == 1>> <<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2)>> <br> Coverage cost for daily pregnancy scanning: <<print cashFormat(50)>> <<set $individualCosts += 50>> diff --git a/src/uncategorized/futureSociety.tw b/src/uncategorized/futureSociety.tw index f0f5de340ba29eb2ee0a7a2274632bacbcb0fc81..8e6b352842ee99600212677aeaca782271ebc3c5 100644 --- a/src/uncategorized/futureSociety.tw +++ b/src/uncategorized/futureSociety.tw @@ -547,7 +547,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <br> <<link "Rename all your slaves according to Degradationist custom">> <<for $i = 0; $i < $slaves.length; $i++>> - <<DegradingName $slaves[$i]>> + <<run DegradingName($slaves[$i])>> <</for>> <<replace "#mass">> <br>Slaves renamed.<br> diff --git a/src/uncategorized/initRules.tw b/src/uncategorized/initRules.tw index 2dc97f98aaeb64670811464707fb82fd24bea6c0..aaf8c51768ee4e10d5c1dc0409c37c5d5d6c9c96 100644 --- a/src/uncategorized/initRules.tw +++ b/src/uncategorized/initRules.tw @@ -47,6 +47,7 @@ nails: "no default setting", hColor: "no default setting", hLength: "no default setting", + haircuts: "no default setting", hStyle: "no default setting", pubicHColor: "no default setting", pubicHStyle: "no default setting", @@ -169,6 +170,7 @@ nails: "no default setting", hColor: "no default setting", hLength: "no default setting", + haircuts: "no default setting", hStyle: "no default setting", pubicHColor: "no default setting", pubicHStyle: "no default setting", diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw index db21552434811307bd116dd97bfb5e057fc2c75d..77f90dd8787dc195e2fdbea3fb772551267c7593 100644 --- a/src/uncategorized/main.tw +++ b/src/uncategorized/main.tw @@ -56,7 +56,6 @@ <<set $nextButton = "END WEEK", $nextLink = "End Week", $showEncyclopedia = 1, $encyclopedia = "How to Play">> -/*<<include "Costs">>*/ <<set $costs = getCost($slaves)>> <<set diff --git a/src/uncategorized/matchmaking.tw b/src/uncategorized/matchmaking.tw index 5e90eda66f0d5a2db177828add840ec429081ee6..493ec1041fb85247f98f0d9efadd3fee4afdb33c 100644 --- a/src/uncategorized/matchmaking.tw +++ b/src/uncategorized/matchmaking.tw @@ -274,9 +274,9 @@ Despite her devotion and trust, she is still a slave, and probably knows that he <<elseif $assistantAppearance == "schoolgirl">> "To get this marriage started," $assistantName concludes, "$eventSlave.slaveName, the rules say you should now <<if $PC.dick == 1>>suck the <<if $PC.title == 1>>groom<<else>>bride<</if>>'s dick<<if $PC.vagina == 1>> and eat <<if $PC.title == 1>>his<<else>>her<</if>> pussy<</if>><<else>>eat the <<if $PC.title == 1>>groom<<else>>bride<</if>>'s pussy<</if>>." The slave complies eagerly. Pleased by the sight, $assistantName's avatar starts to jill off. <<elseif $assistantAppearance == "angel">> - "To consummate the marriage," $assistantName concludes, "$eventSlave.slaveName, you must now join <<PlayerName>> in their bedroom and consummate this marriage." The slave looks confused. "After the wedding ends, would be the time." $assistantName says, covering her face in embarrassment at the thought. + "To consummate the marriage," $assistantName concludes, "$eventSlave.slaveName, you must now join <<= PlayerName()>> in their bedroom and consummate this marriage." The slave looks confused. "After the wedding ends, would be the time." $assistantName says, covering her face in embarrassment at the thought. <<elseif $assistantAppearance == "cherub">> - "To consummate the marriage," $assistantName concludes, "$eventSlave.slaveName, you should <<if $PC.dick == 1>>suck the <<if $PC.title == 1>>groom<<else>>the bride<</if>>'s cock<<if $PC.vagina == 1>>and lick their pussy,<</if>><<else>>lick the <<if $PC.title == 1>>groom<<else>>the bride<</if>>'s pussy<</if>>, in the privacy of <<PlayerName>>'s bedroom, of course." $assistantName hides her face in her hands at the thought. + "To consummate the marriage," $assistantName concludes, "$eventSlave.slaveName, you should <<if $PC.dick == 1>>suck the <<if $PC.title == 1>>groom<<else>>the bride<</if>>'s cock<<if $PC.vagina == 1>>and lick their pussy,<</if>><<else>>lick the <<if $PC.title == 1>>groom<<else>>the bride<</if>>'s pussy<</if>>, in the privacy of <<= PlayerName()>>'s bedroom, of course." $assistantName hides her face in her hands at the thought. <<elseif $assistantAppearance == "incubus">> "To get this marriage started," $assistantName concludes, "$eventSlave.slaveName, you will now <<if $PC.dick == 1>>suck the <<if $PC.title == 1>>groom<<else>>bride<</if>>'s dick<<if $PC.vagina == 1>> and eat <<if $PC.title == 1>>his<<else>>her<</if>> pussy<</if>><<else>>eat the <<if $PC.title == 1>>groom<<else>>bride<</if>>'s pussy<</if>>." The slave complies eagerly. Enjoying the sight, $assistantName's avatar begins to furiously stroke its shaft. <<elseif $assistantAppearance == "succubus">> diff --git a/src/uncategorized/pPeacekeepersDeficit.tw b/src/uncategorized/pPeacekeepersDeficit.tw index a95c9610ca72fca50acd5e8c570f17f5fc5e8af8..2151aa50c1a20029ebdbe0f57897faa6dade972c 100644 --- a/src/uncategorized/pPeacekeepersDeficit.tw +++ b/src/uncategorized/pPeacekeepersDeficit.tw @@ -6,7 +6,7 @@ General $peacekeepers.generalName's peacekeeping force has stabilized the neighb <br><br> -It's a video link, and the general is in the field somewhere, wearing scuffed armor with his insignia of rank on the neck protector. He looks tired, and stress worse than simple fatigue is etched on his face, but he looks at you directly and gets on with it. "<<PlayerName>>," he says, "to start, I'd like to assure you this is a secure line from my end. We rely on structural security more than you in the Free Cities, with your cutting-edge computing power, but it's effective." He's in what looks like a field command post, in what's almost certainly an improvised secure communications booth. "The situation is this," he explains. "I have two problems, and I hope you may be able to solve them both at once in a way that will be beneficial to you." +It's a video link, and the general is in the field somewhere, wearing scuffed armor with his insignia of rank on the neck protector. He looks tired, and stress worse than simple fatigue is etched on his face, but he looks at you directly and gets on with it. "<<= PlayerName()>>," he says, "to start, I'd like to assure you this is a secure line from my end. We rely on structural security more than you in the Free Cities, with your cutting-edge computing power, but it's effective." He's in what looks like a field command post, in what's almost certainly an improvised secure communications booth. "The situation is this," he explains. "I have two problems, and I hope you may be able to solve them both at once in a way that will be beneficial to you." <br><br> diff --git a/src/uncategorized/pPeacekeepersIndependence.tw b/src/uncategorized/pPeacekeepersIndependence.tw index 2ecf9872cce85738afff4cba8fda2fedfaff0f5c..e4047a076933145ea6429a1fe5951e5f0fd50ac2 100644 --- a/src/uncategorized/pPeacekeepersIndependence.tw +++ b/src/uncategorized/pPeacekeepersIndependence.tw @@ -4,7 +4,7 @@ <<set $peacekeepers.strength = -10>> -General $peacekeepers.generalName contacts you again, looking more tired and battered than ever. There's a strange light in his eyes, though, as though he's resolved to make a big bet. And once he starts speaking, it turns out that he is. "<<PlayerName>>," he says, "<<if $peacekeepers.attitude > 10>>you've been supportive of my peacekeeping mission here in the past<<else>>I understand your attitude towards my peacekeeping mission here must be mixed<</if>>. But all that's about to change." He straightens up, falling back on a military bearing. "The support - funding, supply, everything - for my men and women here is ending, effective now. Right now, in fact. I'm not sure how I'm going to get everyone home." He looks through the video feed at you. +General $peacekeepers.generalName contacts you again, looking more tired and battered than ever. There's a strange light in his eyes, though, as though he's resolved to make a big bet. And once he starts speaking, it turns out that he is. "<<= PlayerName()>>," he says, "<<if $peacekeepers.attitude > 10>>you've been supportive of my peacekeeping mission here in the past<<else>>I understand your attitude towards my peacekeeping mission here must be mixed<</if>>. But all that's about to change." He straightens up, falling back on a military bearing. "The support - funding, supply, everything - for my men and women here is ending, effective now. Right now, in fact. I'm not sure how I'm going to get everyone home." He looks through the video feed at you. <br><br> diff --git a/src/uncategorized/pRivalryHostage.tw b/src/uncategorized/pRivalryHostage.tw index 32a987532bd2ce2948d325f60d139d20b78f5d12..cff5a9bba7b33599f30ec57c1acea15a02d426ad 100644 --- a/src/uncategorized/pRivalryHostage.tw +++ b/src/uncategorized/pRivalryHostage.tw @@ -222,7 +222,7 @@ Only a few days into your inter-arcology war, you receive a video message from y but you do remember her, and your rival knows it. This is obviously the best they could come up with to provoke an emotional reaction. <br><br> -"Hello, <<PlayerName>>," your rival sneers. "Sorry to pull you away from +"Hello, <<= PlayerName()>>," your rival sneers. "Sorry to pull you away from <<switch $rivalryFS>> <<case "Racial Subjugationism">> whipping some poor $arcologies[0].FSSubjugationistRace girl's back bloody, diff --git a/src/uncategorized/pRivalryPeacekeepers.tw b/src/uncategorized/pRivalryPeacekeepers.tw index 2d2c01caeab3ae069126aac9de3cf1209d2569ce..211f982dc27a2123c04b33832a5be80315da83b5 100644 --- a/src/uncategorized/pRivalryPeacekeepers.tw +++ b/src/uncategorized/pRivalryPeacekeepers.tw @@ -2,7 +2,7 @@ <<set $nextButton = "Continue", $nextLink = "P rivalry actions">> -This is a busy time, and $assistantName's call prioritization functions are invaluable. You don't have time for everyone. General $peacekeepers.generalName is fairly high up the list, though. "<<PlayerName>>, thank you for taking the time to speak with me," he greets you. "I understand you've got a lot on your plate right now, so I'll be brief. My intel shop has discovered a slaving ring in the area under my control, run by your rival." He gestures to someone out of view, and a limited overview of his intelligence is delivered to $assistantName. The general has given you just enough to verify the ownership of the operation. It does indeed belong to the enemy. +This is a busy time, and $assistantName's call prioritization functions are invaluable. You don't have time for everyone. General $peacekeepers.generalName is fairly high up the list, though. "<<= PlayerName()>>, thank you for taking the time to speak with me," he greets you. "I understand you've got a lot on your plate right now, so I'll be brief. My intel shop has discovered a slaving ring in the area under my control, run by your rival." He gestures to someone out of view, and a limited overview of his intelligence is delivered to $assistantName. The general has given you just enough to verify the ownership of the operation. It does indeed belong to the enemy. <br><br> diff --git a/src/uncategorized/peConcubineInterview.tw b/src/uncategorized/peConcubineInterview.tw index c809bea0769d41af991fdb2b1c77b604ec5f3578..73975d0d0c8a37dd2a9661abe6229140fe4ad0fd 100644 --- a/src/uncategorized/peConcubineInterview.tw +++ b/src/uncategorized/peConcubineInterview.tw @@ -71,7 +71,7 @@ You receive an official communication from a popular talk show ehosted in one of <</if>> They seat themselves in comfortable leather chairs and the interview begins in earnest. <br> - The host asks her some soft, nonjudgmental questions about her life and how she became your slave. Then he hits her: "So, $activeSlave.slaveName. Tell us about <<PlayerName>>." + The host asks her some soft, nonjudgmental questions about her life and how she became your slave. Then he hits her: "So, $activeSlave.slaveName. Tell us about <<= PlayerName()>>." <<if $activeSlave.devotion > 95>> @@.green;Without a moment's hesitation,@@ she <<if _lisps>>lisps<<else>>proclaims<</if>>, "I love <<if $PC.title != 0>>him. He'<<s>> so hand<<s>>ome, and," she manages to blush prettily, "he'<<s>> <<s>>o good to me."<<else>>her. <<Sh>>e'<<s>> <<s>>o pretty, and," she manages to blush cutely, "<<sh>>e'<<s>> <<s>>o good to me."<</if>> <<set $rep += 100>> @@ -107,7 +107,7 @@ You receive an official communication from a popular talk show ehosted in one of <<else>> giving it a good feel. <</if>> - "Now I'm sure our viewers are wondering," He says, patting the firm dome. "Is it <<PlayerName>>'s?" + "Now I'm sure our viewers are wondering," He says, patting the firm dome. "Is it <<= PlayerName()>>'s?" <<if $activeSlave.pregSource == -1>> <<if $activeSlave.bellyPreg >= 450000>> "Of cour<<s>>e they are!" She proclaims proudly as she runs her hands across her quivering mass. "All $activeSlave.pregType of them!" diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index 0806d18c3ddd3215c4f290195f612d53a3f00972..ca27ffe0baf147a5e8f8722d4602bb3e30080a88 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -6450,9 +6450,9 @@ ** Voice. ** Small chance for any non-childlike voice. */ - <<if ((_countNCS < 3) && ($slaves[$i].voice < 3) && (random(1,100) > ($slaves[$i].voice * 15)))>> + <<if ((_countNCS < 3) && ($slaves[$i].voice < 3) && $slaves[$i].voice != 0 && (random(1,100) > ($slaves[$i].voice * 15)))>> $possessiveCap @@.orange;NCS@@ has @@.lime;raised the pitch of $possessive voice, $pronoun now sounds more <<if $slaves[$i].voice == 1>>feminine<<else>>childlike<</if>>.@@ - <<set $slaves[$i].voice -= 1, _countNCS++>> + <<set $slaves[$i].voice += 1, _countNCS++>> <</if>> /* * Pussy/Ass-Pussy rejuvination. diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index cc04943c887fc8b51f96ee12230c58f565c514b1..4a5c5e1afae662be1c3afc308050aef2048b151a 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -6,6 +6,7 @@ <<set $nextButton = "Confirm changes", $nextLink = "AS Dump", $returnTo = "Main", _SL = $slaves.length>> <<setLocalPronouns $activeSlave>> +<<run Enunciate($activeSlave)>> <<if ($activeSlave.assignmentVisible == 0)>> <<switch $activeSlave.assignment>> diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw index 7ad2a3c6d5d40c515a47d4f48069c4608c1ecffa..f2b15026381e470c29a192833fa11850db7b56cd 100644 --- a/src/utility/descriptionWidgetsStyle.tw +++ b/src/utility/descriptionWidgetsStyle.tw @@ -326,7 +326,7 @@ $activeSlave.slaveName is <<elseif ($activeSlave.pregKnown == 1)>> "I'm Pregnant!" across the front in large letters. <<else>> - "Property of <<PlayerName>>" across the front. + "Property of <<= PlayerName()>>" across the front. <</if>> <<if ($activeSlave.amp == 1)>> /* no description yet */ diff --git a/src/utility/descriptionWidgetsTattoos.tw b/src/utility/descriptionWidgetsTattoos.tw index bfff48142ea8c49ef9ac697cfc716a44cf5816e4..45fa1a52c1e43a4534de27f2cd36e4a8c052bec9 100644 --- a/src/utility/descriptionWidgetsTattoos.tw +++ b/src/utility/descriptionWidgetsTattoos.tw @@ -79,7 +79,7 @@ <<case "sacrament">> $His face is subtly tattooed to give $him a decidedly angelic appearance. <<case "possessive">> - 'Property of <<PlayerName>>' is tattooed across $his forehead. + 'Property of <<= PlayerName()>>' is tattooed across $his forehead. <<case "paternalist">> 'Beloved $desc' is tattooed across one of $his cheeks. <<default>> @@ -120,7 +120,7 @@ <<case "sacrament">> Each of $his breasts is tattooed with a depiction of a crucifix, with $his nipples forming the center. <<case "possessive">> - Your personal symbol is tattooed above $his left breast, '<<PlayerName>>' above $his right, leaving the rest of $his chest and breasts bare. + Your personal symbol is tattooed above $his left breast, '<<= PlayerName()>>' above $his right, leaving the rest of $his chest and breasts bare. <<case "paternalist">> '<<if $PC.title == 1>>Master<<else>>Mistress<</if>>'s' is tattooed across the top of $his right breast; 'Darling' is tattooed across the top of $his left. <<default>> diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw index 690460ea8ccaccf5fd9a7ca1d74c4dc5762ba164..af245756fe09a2d9692ee9035af692e3d739d132 100644 --- a/src/utility/miscWidgets.tw +++ b/src/utility/miscWidgets.tw @@ -1060,52 +1060,6 @@ <</widget>> -/% - Call as <<MenialPopCap>> - Applies the menial popcap without asking. -%/ -<<widget "MenialPopCap">> - -<<set $PopCap = 500>> -<<for _mwi = 20; _mwi < $sectors.length; _mwi++>> - <<if $sectors[_mwi].type == "Pens">> - <<set $PopCap += 500>> - <</if>> -<</for>> -<<set _OverMenialCap = ($helots+$fuckdolls+$menialBioreactors)-$PopCap>> -<<if _OverMenialCap > 0>> - <<set _Price = menialSlaveCost()>> - <<if $helots > 0>> - <<if $helots > _OverMenialCap>> - <<set $cash += _OverMenialCap*_Price, $menialDemandFactor -= _OverMenialCap, - $helots -= _OverMenialCap, _OverMenialCap = 0>> - You don't have enough room for all your menials and are obliged to sell some. - <<else>> - <<set $cash += $helots*_Price, $menialDemandFactor -= $helots, - _OverMenialCap -= $helots, $helots = 0>> - You don't have enough room for your menials and are obliged to sell them. - <</if>> - <</if>> - <<if (_OverMenialCap > 0) && ($fuckdolls > 0)>> - <<if $fuckdolls > _OverMenialCap>> - <<set $cash += _OverMenialCap*(_Price*2), $menialDemandFactor -= _OverMenialCap, - $fuckdolls -= _OverMenialCap, _OverMenialCap = 0>> - You don't have enough room for all your fuckdolls and are obliged to sell some. - <<else>> - <<set $cash += $fuckdolls*(_Price*2), $menialDemandFactor -= $fuckdolls, - _OverMenialCap -= $fuckdolls, $fuckdolls = 0>> - You don't have enough room for your fuckdolls and are obliged to sell them. - <</if>> - <</if>> - <<if (_OverMenialCap > 0) && ($menialBioreactors > 0)>> - <<set $cash += _OverMenialCap*(_Price-100), $menialDemandFactor -= _OverMenialCap, - $menialBioreactors -= _OverMenialCap>> - You don't have enough room for all your menial bioreactors and are obliged to sell some. - <</if>> -<</if>> - -<</widget>> - /% Call as <<OralSkillIncrease>> $args[0]: Slave. @@ -1292,119 +1246,9 @@ $args[0]: Slave. %/ <<widget "AddSlave">> - -<<switch $args[0].eyeColor>> -<<case "blind blue">><<set $args[0].origEye = "deep blue">> -<<case "milky white" "implant">><<set $args[0].origEye = either("blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue")>> -<<default>><<set $args[0].origEye = $args[0].eyeColor>> -<</switch>> -<<set $args[0].origHColor = $args[0].hColor>> -<<set $args[0].underArmHColor = $args[0].hColor>> -<<set $args[0].pubicHColor = $args[0].hColor>> -<<set $args[0].origSkin = $args[0].skin>> - -<<if $surnamesForbidden == 1>> - <<set $args[0].slaveSurname = 0>> -<</if>> - -<<if $args[0].preg > 0>> - <<set $args[0].pregWeek = $args[0].preg>> -<<else>> - <<set $args[0].pregWeek = 0>> -<</if>> - -<<if $familyTesting == 1>> - <<set $args[0].sisters = 0>> - <<set $args[0].daughters = 0>> - <<if $args[0].mother == -1 || $args[0].father == -1>> - <<set $PC.daughters += 1>> - <</if>> - <<if areSisters($PC, $args[0]) > 0>> - <<set $PC.sisters += 1>> - <</if>> - <<for _k = 0; _k < $slaves.length; _k++>> - <<if $slaves[_k].mother == $args[0].ID || $slaves[_k].father == $args[0].ID>> - <<set $args[0].daughters += 1>> - <</if>> - <<if $args[0].mother == $slaves[_k].ID || $args[0].father == $slaves[_k].ID>> - <<set $slaves[_k].daughters += 1>> - <</if>> - <<if areSisters($slaves[_k], $args[0]) > 0>> - <<set $args[0].sisters += 1>> - <<set $slaves[_k].sisters += 1>> - <</if>> - <</for>> -<</if>> - -<<if $args[0].dick > 0>> - <<if $args[0].balls > 0>> - <<if $args[0].devotion <= 50>> - <<if ($args[0].fetish != "buttslut") || ($args[0].fetishKnown != 1)>> - <<if $args[0].sexualFlaw != "hates women">> - <<set $REFeminizationCheckinIDs.push($args[0].ID)>> - <</if>> - <</if>> - <</if>> - <</if>> -<</if>> -<<if $args[0].actualAge > 35>> - <<if $args[0].face < 40>> - <<if $args[0].analSkill <= 30>> - <<set $REMILFCheckinIDs.push($args[0].ID)>> - <</if>> - <</if>> -<</if>> -<<if $args[0].attrXY <= 60>> - <<if $args[0].attrXX > 60>> - <<set $REOrientationCheckinIDs.push($args[0].ID)>> - <</if>> -<</if>> -<<if $args[0].face < -10>> - <<set $REUglyCheckinIDs.push($args[0].ID)>> -<</if>> -<<if $args[0].anus < 2>> - <<set $REButtholeCheckinIDs.push($args[0].ID)>> -<</if>> -<<if $args[0].boobs < 800>> - <<set $REReductionCheckinIDs.push($args[0].ID)>> -<</if>> - -<<if $args[0].fuckdoll > 0>> - <<set $args[0].pronoun = "it", $args[0].possessivePronoun = "its", $args[0].possessive = "its", $args[0].object = "it", $args[0].objectReflexive = "itself", $args[0].noun = "toy">> -<<elseif $args[0].dick > 0 && $args[0].vagina == -1 && $diversePronouns == 1>> - <<set $args[0].pronoun = "he", $args[0].possessivePronoun = "his", $args[0].possessive = "his", $args[0].object = "him", $args[0].objectReflexive = "himself", $args[0].noun = "boy">> -<<else>> - <<set $args[0].pronoun = "she", $args[0].possessivePronoun = "hers", $args[0].possessive = "her", $args[0].object = "her", $args[0].objectReflexive = "herself", $args[0].noun = "girl">> -<</if>> - -<<run SetBellySize($args[0])>> - -<<run addSlave($args[0])>> -<<if $args[0].origin != "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && $args[0].ID != $boomerangSlave.ID>> - <<set $genePool.push($args[0])>> -<<else>> - <<set _t = $genePool.findIndex(function(s) { return s.ID == $args[0].ID; })>> - <<if _t == -1>> /* traitor or boomerang somehow not found */ - <<set $genePool.push($args[0])>> - <</if>> -<</if>> - -/* add to facilities array if needed */ -<<if $args[0].assignment != "rest">> - <<= assignJob($args[0], $args[0].assignment)>> -<</if>> - -/** do not run the Rules Assistant before adding the new slave to the slaves list! **/ -<<if $ui != "start">> -<<if $universalRulesNewSlavesRA == 1>> -<<if $rulesAssistantAuto != 0>> - <<silently>> - <<run DefaultRules($args[0])>> - <</silently>> -<</if>> -<</if>> -<</if>> - +<<silently>> /* making absolutely sure the call to DefaultRules() doesn't print anything */ + <<run newSlave($args[0])>> +<</silently>> <</widget>> <<widget "Master">><<if def $args[0]>><<run Enunciate($args[0])>><<elseif ndef $titleEnunciate>><<run Enunciate($activeSlave)>><</if>>$titleEnunciate<</widget>> @@ -2020,15 +1864,12 @@ This experience <</widget>> /* see how they are on a single line? This permits "."s and other things to be appended directly onto the widget result */ -<<widget "PlayerName">><<if $surnameOrder != 1>><<switch $PC.nationality>><<case "Cambodian" "Chinese" "Hungarian" "Japanese" "Korean" "Mongolian" "Taiwanese" "Vietnamese">><<if $PC.surname>>$PC.surname <</if>>$PC.name<<default>>$PC.name<<if $PC.surname>> $PC.surname<</if>><</switch>><<else>>$PC.name<<if $PC.surname>> $PC.surname<</if>><</if>><</widget>> - -<<widget "PoliteRudeTitle">><<switch $args[0].nationality>><<case "Japanese">><<if $args[0].trust > 0>>$PC.name<<if $PC.title > 0>>kun<<else>>chan<</if>><<else>><<if $PC.surname>><<print $PC.surname>><<else>><<print $PC.name>><<s>>an<</if>><</if>><<default>><<if $args[0].intelligence < -2>><<Master>><<elseif $args[0].intelligence > 1>><<if $PC.title > 0>>Ma<<s>>ther<<else>>Mi<<s>>tre<<ss>><</if>><<elseif $args[0].trust > 0>>$PC.name<<else>><<if $PC.surname>>$PC.surname<<else>>$PC.name<</if>><</if>><</switch>><</widget>> /* Call as <<EventNameLink>> $args[0]: Slave. */ -<<widget "EventNameLink">><<if $surnameOrder != 1>><<switch $args[0].nationality>><<case "Cambodian" "Chinese" "Hungarian" "Japanese" "Korean" "Mongolian" "Taiwanese" "Vietnamese">><<if $args[0].slaveSurname>><<set _name = $args[0].slaveSurname>><<set _name += " " + $args[0].slaveName>><<else>><<set _name = $args[0].slaveName>><</if>><<default>><<set _name = $args[0].slaveName>><<if $args[0].slaveSurname>><<set _name += " " + $args[0].slaveSurname>><</if>><</switch>><<else>><<set _name = $args[0].slaveName>><<if $args[0].slaveSurname>><<set _name += " " + $args[0].slaveSurname>><</if>><</if>><span id="name"><<print "[[_name|Long Slave Description][$nextLink = passage(), $eventDescription = 1]]">></span><</widget>> +<<widget "EventNameLink">><<if $surnameOrder != 1>><<switch $args[0].nationality>><<case "Cambodian" "Chinese" "Hungarian" "Japanese" "Korean" "Mongolian" "Taiwanese" "Vietnamese">><<if $args[0].slaveSurname>><<set _nameLink = $args[0].slaveSurname>><<set _nameLink += " " + $args[0].slaveName>><<else>><<set _nameLink = $args[0].slaveName>><</if>><<default>><<set _nameLink = $args[0].slaveName>><<if $args[0].slaveSurname>><<set _nameLink += " " + $args[0].slaveSurname>><</if>><</switch>><<else>><<set _nameLink = $args[0].slaveName>><<if $args[0].slaveSurname>><<set _nameLink += " " + $args[0].slaveSurname>><</if>><</if>><span id="name"><<print "[[_nameLink|Long Slave Description][$nextLink = passage(), $eventDescription = 1]]">></span><</widget>> /* Call as <<EventNameDelink>> @@ -2036,389 +1877,6 @@ This experience */ <<widget "EventNameDelink">><<replace "#name">><<= SlaveFullName($args[0])>><</replace>><</widget>> -/* - Call as <<DegradingName $slave>> where $slave is any slave object - $args[0]: Slave - */ -<<widget "DegradingName">> -<<if $args[0].fuckdoll > 0>> - <<set $args[0].slaveName = "Fuckdoll No. " + random(1000,9999), $args[0].slaveSurname = 0>> -<<elseif ($args[0].assignment == "work in the dairy") && ($dairyRestraintsSetting >= 2)>> - <<set $args[0].slaveName = "Bioreactor No. " + random(1000,9999), $args[0].slaveSurname = 0>> -<<else>> - -<<set _names = []>> - -<<if ($seeRace == 1)>> -<<switch $args[0].race>> -<<case "white">> - <<set _names.push("Pale", "White")>> -<<case "asian">> - <<set _names.push("Asian", "Yellow")>> -<<case "latina">> - <<set _names.push("Brown", "Latina")>> -<<case "black">> - <<set _names.push("Black", "Dark")>> -<<case "pacific islander">> - <<set _names.push("Islander", "Sea")>> -<<case "malay">> - <<set _names.push("Cinnamon", "Pinoy", "Spice")>> -<<case "southern european">> - <<set _names.push("Mediterranean", "Olive")>> -<<case "amerindian">> - <<set _names.push("Indian", "Reservation")>> -<<case "semitic">> - <<set _names.push("Semitic")>> -<<case "middle eastern">> - <<set _names.push("Arab", "Sand")>> -<<case "indo-aryan">> - <<set _names.push("Brown", "Indian")>> -<<case "mixed race">> - <<set _names.push("Mulatto", "Mutt")>> -<</switch>> -<</if>> - -<<set _names.push($args[0].hColor)>> - -<<if ($args[0].eyes == -2)>> - <<set _names.push("Blind", "Eyeless", "Sightless")>> -<</if>> - -<<if ($args[0].boobs < 500) && ($args[0].butt < 3)>> - <<set _names.push("Girly", "Slim", "Thin")>> -<</if>> -<<if ($args[0].boobs < 300)>> - <<set _names.push("Flat")>> -<</if>> -<<if ($args[0].anus > 2) || ($args[0].vagina > 2)>> - <<set _names.push("Gaping", "Hallway", "Slit", "Wideopen")>> -<</if>> -<<if ($args[0].weight > 160)>> - <<set _names.push("Cow", "Fat", "Whale")>> -<<elseif ($args[0].weight > 30)>> - <<set _names.push("Chubby", "Fat", "Whale")>> -<<elseif ($args[0].weight <= -30)>> - <<set _names.push("Bony", "Rail", "Skinny")>> -<</if>> -<<if ($args[0].muscles > 30)>> - <<set _names.push("Huge", "Muscles", "Ripped", "Strong")>> -<</if>> -<<if ($args[0].fetish == "buttslut") && ($args[0].fetishKnown == 1)>> - <<set _names.push("Anal", "Sodomy")>> -<</if>> -<<if ($args[0].fetish == "cumslut") && ($args[0].fetishKnown == 1)>> - <<set _names.push("Cum", "Dicksuck", "Sucker")>> -<</if>> -<<if ($args[0].fetish == "humiliation") && ($args[0].fetishKnown == 1)>> - <<set _names.push("Rape")>> -<</if>> -<<if ($args[0].fetish == "masochist") && ($args[0].fetishKnown == 1)>> - <<set _names.push("Pain", "Rape", "Struggle")>> -<</if>> -<<if ($args[0].fetish == "pregnancy") && ($args[0].fetishKnown == 1)>> - <<set _names.push("Fertile")>> -<</if>> -<<if (($args[0].boobs*$args[0].lactation) > 1000)>> - <<set _names.push("Creamy", "Milky")>> -<</if>> -<<if ($args[0].oralSkill <= 30) && ($args[0].analSkill <= 30)>> - <<set _names.push("Cheap", "Fail", "Gutter")>> -<</if>> -<<if $args[0].nipples == "fuckable">> - <<set _names.push("Nipplefuck", "Nipplecunt")>> -<<elseif ($args[0].nipples != "tiny") && ($args[0].nipples != "cute")>> - <<set _names.push("Pointy", "Titclit")>> -<</if>> -<<if ($args[0].visualAge > 35)>> - <<set _names.push("Mature")>> -<</if>> -<<if ($args[0].visualAge < 25)>> - <<set _names.push("Girly", "Thin", "Young")>> -<</if>> -<<if ($args[0].amp == 1)>> - <<set _names.push("Stumpy")>> -<</if>> -<<if ($args[0].boobsImplant > 1000) || ($args[0].buttImplant > 3)>> - <<set _names.push("Fake", "Plastic", "Silicone")>> -<</if>> -<<if ($args[0].dick > 5) && ($args[0].balls > 5)>> - <<set $prefixes.push("Potent")>> -<</if>> -<<if ($args[0].broodmother == 2) && ($args[0].preg > 30)>> - <<set $prefixes.push("Bursting", "Seeded")>> -<</if>> -<<if ($args[0].broodmother == 1) && ($args[0].preg > 30)>> - <<set $prefixes.push("Bloated", "Stuffed")>> -<</if>> -<<if $args[0].bellyPreg >= 450000>> - <<set $prefixes.push("Bulging", "Squirming")>> -<</if>> -<<if ($args[0].bellyPreg >= 5000)>> - <<set _names.push("Preg")>> -<</if>> -<<if ($args[0].dick > 4)>> - <<set _names.push("Dangle", "Hung")>> -<</if>> -<<if ($args[0].dick > 0) && ($args[0].balls == 0)>> - <<set _names.push("Cut", "Gelded", "Soft")>> -<</if>> -<<if ($args[0].dick > 0) && ($args[0].balls > 0)>> - <<set _names.push("Erect", "Hard", "Stiff")>> -<</if>> -<<if ($args[0].dick == 1)>> - <<set _names.push("Micro", "Tiny")>> -<</if>> -<<if ($args[0].height >= 185)>> - <<set _names.push("Tall", "Top")>> -<</if>> -<<if ($args[0].height < 150)>> - <<set _names.push("Stumpy", "Tiny")>> -<</if>> -<<if ($args[0].whoreSkill > 95)>> - <<set _names.push("Money", "Street")>> -<</if>> -<<if ($args[0].entertainSkill > 95)>> - <<set _names.push("Easy", "Club")>> -<</if>> -<<if ($args[0].oralSkill > 95)>> - <<set _names.push("Suck")>> -<</if>> -<<if ($args[0].intelligence > 1)>> - <<set _names.push("Bright", "Clever", "Smart")>> - <<if ($args[0].intelligenceImplant == 1)>> - <<set _names.push("College", "Graduate", "Nerdy")>> - <</if>> -<<elseif ($args[0].intelligence < -1)>> - <<set _names.push("Cretin", "Dumb", "Retarded", "Stupid")>> -<</if>> -<<if ($args[0].vagina == 1) && ($args[0].vaginalSkill <= 10)>> - <<set _names.push("Fresh", "New", "Tight")>> -<</if>> -<<if ($args[0].devotion < -75)>> - <<set _names.push("Angry", "Biter", "Caged")>> -<<elseif ($args[0].devotion < -50)>> - <<set _names.push("Cell", "Cuffs")>> -<<elseif ($args[0].devotion < -20)>> - <<set _names.push("Bag", "Box")>> -<<elseif ($args[0].devotion <= 20)>> - <<set _names.push("Sad", "Whiner")>> -<</if>> -<<if ($args[0].trust < -50)>> - <<set _names.push("Screaming")>> -<<elseif ($args[0].trust < -20)>> - <<set _names.push("Crying")>> -<<elseif ($args[0].trust < 20)>> - <<set _names.push("Begging")>> -<</if>> - -<<set _suffixes = []>> - -<<if $args[0].dick == 0>> - <<if $args[0].vagina == -1>> /* NULLS */ - <<set _suffixes.push("Null")>> - <<else>> /* FEMALES */ - <<if $args[0].visualAge < 25>> - <<set _suffixes.push("Girl")>> - <</if>> - <</if>> -<<else>> - <<if $args[0].vagina != -1>> - <<set _suffixes.push("Futa")>> - <<else>> - <<if $args[0].balls > 0>> - <<if ($args[0].boobs > 300) && ($args[0].butt > 2)>> /* SHEMALES: cock & balls, T&A above minimum */ - <<set _suffixes.push("Shemale")>> - <<else>> - <<if ($args[0].shoulders < 1) && ($args[0].muscles <= 30)>> - <<if ($args[0].faceShape == "masculine") || ($args[0].faceShape == "androgynous")>> /* SISSIES: feminine shoulders or muscles, masculine faces */ - <<set _suffixes.push("Sissy")>> - <<else>> /* TRAPS: feminine shoulders or muscles, feminine faces */ - <<set _suffixes.push("Trap")>> - <</if>> - <<else>> /* BITCHES: masculine shoulders or muscles */ - <<set _suffixes.push("Bitch")>> - <</if>> - <</if>> - <<else>> - <<if $args[0].visualAge > 35>> - <<set _suffixes.push("DickMILF")>> - <<elseif $args[0].visualAge >= 25>> - <<set _suffixes.push("Dickslave")>> - <<else>> - <<set _suffixes.push("Dickgirl")>> - <</if>> - <</if>> - <</if>> -<</if>> - -<<if ($args[0].anus > 0)>> - <<set _suffixes.push("Anus", "Asshole", "Backdoor", "Butt", "Butthole")>> -<</if>> -<<if ($args[0].vagina > 0)>> - <<set _suffixes.push("Cunt", "Pussy", "Vagina")>> -<</if>> -<<if ($args[0].boobs < 500) && ($args[0].butt < 3) && ($args[0].dick > 0)>> - <<set _suffixes.push("Bitch", "Bottom", "Sissy", "Trap")>> -<</if>> -<<if ($args[0].energy > 95)>> - <<set _suffixes.push("Fuck", "Fuckaddict", "Nympho", "Sexaddict")>> -<</if>> -<<if ($args[0].weight > 160)>> - <<set _names.push("Blimp", "Fatass")>> -<</if>> -<<if ($args[0].fetish == "humiliation") && ($args[0].fetishKnown == 1)>> - <<set _suffixes.push("Rapebait", "Showgirl")>> -<</if>> -<<if ($args[0].fetish == "submissive") && ($args[0].fetishKnown == 1)>> - <<set _suffixes.push("Bottom", "Fuckee", "Rapebait")>> -<</if>> -<<if ($args[0].fetish == "dom") && ($args[0].fetishKnown == 1)>> - <<set _suffixes.push("Dom", "Fucker", "Top")>> -<</if>> -<<if ($args[0].fetish == "pregnancy") && ($args[0].fetishKnown == 1)>> - <<set _suffixes.push("Breeder", "Mommy")>> -<</if>> -<<if ($args[0].fetish == "boobs") && ($args[0].fetishKnown == 1)>> - <<set _suffixes.push("Boob", "Boobie", "Tit", "Titty")>> -<</if>> -<<if (($args[0].boobs*$args[0].lactation) > 1000)>> - <<set _suffixes.push("Cow")>> -<</if>> -<<if $args[0].births >= 5>> - <<set _suffixes.push("Broodmother")>> -<</if>> -<<if $args[0].births >= 2>> - <<set _suffixes.push("Breeder")>> -<</if>> -<<if ($args[0].nipples != "tiny") && ($args[0].nipples != "cute")>> - <<set _suffixes.push("Nipples")>> -<</if>> -<<if ($args[0].areolae > 2)>> - <<set _suffixes.push("Areolas", "Headlights")>> -<</if>> -<<if ($args[0].lips > 40)>> - <<set _suffixes.push("Lips", "Pillows")>> -<</if>> -<<if ($args[0].labia > 1)>> - <<set _suffixes.push("Curtains", "Flower", "Lips")>> -<</if>> -<<if ($args[0].visualAge > 35)>> - <<set _suffixes.push("Cougar", "MILF")>> -<</if>> -<<if ($args[0].amp == 1)>> - <<set _suffixes.push("Stumpy")>> -<</if>> -<<if ($args[0].bellyPreg > 5000)>> - <<set _suffixes.push("Belly", "Mommy")>> -<</if>> -<<if $args[0].belly >= 1500>> - <<set _suffixes.push("Belly")>> -<</if>> -<<if ($args[0].dick > 5) && ($args[0].balls > 5)>> - <<set _suffixes.push("Cannon", "Daddy")>> -<</if>> -<<if $args[0].breedingMark == 1>> - <<set _suffixes.push("Breeder", "Oven", "Womb")>> -<</if>> -<<if ($args[0].broodmother == 2) && ($args[0].preg > 30)>> - <<set _suffixes.push("Factory", "Nursery")>> -<</if>> -<<if ($args[0].broodmother == 1) && ($args[0].preg > 30)>> - <<set _suffixes.push("Breeder", "Factory")>> -<</if>> -<<if $args[0].belly > 150000>> - <<set _suffixes.push("Balloon")>> -<</if>> -<<if ($args[0].dick > 4)>> - <<set _suffixes.push("Cock", "Dick")>> -<</if>> -<<if ($args[0].dick == 1)>> - <<set _suffixes.push("Bitch")>> -<</if>> -<<if ($args[0].boobs >= 800)>> - <<set _suffixes.push("Boob", "Boobs", "Titty")>> -<</if>> -<<if ($args[0].butt > 5)>> - <<set _suffixes.push("Ass", "Bottom", "Butt")>> -<</if>> -<<if ($args[0].vagina == 0)>> - <<set _suffixes.push("Virgin")>> -<</if>> -<<if ($args[0].height >= 185)>> - <<set _suffixes.push("Tower")>> -<</if>> -<<if ($args[0].height < 150)>> - <<set _suffixes.push("Shortstack", "Stumpy")>> -<</if>> -<<if ($args[0].whoreSkill > 95)>> - <<set _suffixes.push("Whore")>> -<</if>> -<<if ($args[0].entertainSkill > 95)>> - <<set _suffixes.push("Slut")>> -<</if>> -<<if ($args[0].oralSkill > 95)>> - <<set _suffixes.push("Throat")>> -<</if>> -<<if ($args[0].vaginalSkill > 95)>> - <<set _suffixes.push("Channel", "Kegel", "Pussy")>> -<</if>> -<<if ($args[0].analSkill > 95)>> - <<set _suffixes.push("Asspussy", "Sphincter")>> -<</if>> -<<if ($args[0].anus == 1)>> - <<set _suffixes.push("Tightass", "Tightbutt")>> -<</if>> -<<if $args[0].devotion > 50>> - <<set _names.push("Prize")>> - <<if ($args[0].visualAge > 35)>> - <<set _suffixes.push("Queen")>> - <<elseif ($args[0].visualAge < 25)>> - <<set _names.push("Princess")>> - <</if>> -<</if>> -<<if ($args[0].trust < -50)>> - <<set _suffixes.push("Sobber")>> -<<elseif ($args[0].trust < -20)>> - <<set _suffixes.push("Meat", "Tears", "Thing", "Weeper")>> -<</if>> - -<<set $args[0].slaveName = _names.random()>> -<<switch $args[0].assignment>> -<<case "guard you">> - <<set $args[0].slaveName = either("Battle", "Guard")>> -<<case "recruit girls">> - <<set $args[0].slaveName = either("Cam", "Recruiter")>> -<<case "be the Madam">> - <<set $args[0].slaveName = either("Madam", "Pimp")>> -<<case "be the DJ">> - <<set $args[0].slaveName = either("Bass", "Booth")>> -<<case "be the Milkmaid">> - <<if $cumSlaves > 3>> - <<set $args[0].slaveName = either("Fucker", "Milker")>> - <</if>> -<<case "be the Milkmaid">> - <<set $args[0].slaveName = either("Dairy", "Farm")>> -<<case "be your Head Girl">> - <<set $args[0].slaveName = either("Chief", "Head")>> -<<case "be the Schoolteacher">> - <<set $args[0].slaveName = either("Classroom", "Teacher")>> -<<case "be the Attendant">> - <<set $args[0].slaveName = either("Bath", "Spa")>> -<<case "be the Wardeness">> - <<set $args[0].slaveName = either("Jail", "Prison")>> -<<case "be your concubine">> - <<set $args[0].slaveName = either("Bed", "Master")>> -<</switch>> - -<<set _surname = _suffixes.random()>> -<<if _surname == $args[0].slaveName.toLowerCase()>> - <<DegradingName $args[0]>> -<</if>> -<<set $args[0].slaveSurname = _surname>> - -<</if>> -<</widget>> - <<widget "CreateSimpleTabs">> <head> diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw index 00942e1206cea8f69154d5c0908cb8d6d5689422..8f555d878e1ac3771e40026e1ecd021efa1a3b87 100644 --- a/src/utility/slaveCreationWidgets.tw +++ b/src/utility/slaveCreationWidgets.tw @@ -2483,7 +2483,7 @@ <</if>> <<elseif $arcologies[_market].FSDegradationist > 20>> They can be depended upon to be terrified into abject submission. - <<DegradingName $activeSlave>> + <<run DegradingName($activeSlave)>> <<if $activeSlave.trust > -10>> <<set $activeSlave.trust -= random(0,10)>> <</if>> diff --git a/src/utility/slaveGenerationWidgets.tw b/src/utility/slaveGenerationWidgets.tw index b26c54402fc864a9eb12a1c716519389d80f192e..88cfab7227152fa1d20c89065f31106f98e6c18f 100644 --- a/src/utility/slaveGenerationWidgets.tw +++ b/src/utility/slaveGenerationWidgets.tw @@ -28,7 +28,7 @@ <<elseif $arcologies[0].FSEdoRevivalist > 20>> <<set $args[0].slaveName = setup.edoSlaveNames.random(), $args[0].slaveSurname = setup.edoSlaveSurnames.random()>> <<elseif $arcologies[0].FSDegradationist != "unset">> - <<DegradingName $args[0]>> + <<run DegradingName($args[0])>> <</if>> <</if>>