diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt index 0ad822b466ee8a9fd4d00701d20da634123d8f50..2953c34658c964b684d3a83d80108c3d585ea4d8 100644 --- a/devNotes/Useful JS Function Documentation.txt +++ b/devNotes/Useful JS Function Documentation.txt @@ -359,14 +359,8 @@ Other Functions: isItemAccessible(itemName) - Returns if the string is available for use. Defaults to true. UtilJS [script] - arraySwap() - swaps inputted array. - html5passage(passage_function) - circumvents sugarcube, allowing a plain HTML5 UI within it - capFirstChar() - Capitalizes the first character of a given string. - - addA() - Adds an `a ` or, if the first character is a vocal, an `an ` in front of a given string. - cmToInchString() - takes an integer e.g. $activeSlave.hLength, returns a string in the format 10 inches cmToFootInchString() - takes an integer e.g. $activeSlave.height, returns a string in the format 6'5" @@ -378,11 +372,6 @@ UtilJS [script] FSChangePorn() - //Currently unused, widget version routes directly through FSChange() - ordinalSuffix(i) - takes a value as an input and then appends the appropriate suffix. e.g.$Day === 1 "today is the <<print ordinalSuffix($Day)>> of the month" - would print "today is the 1st of the month" - - removeDuplicates() - Takes an array and returns a new array without duplicate entries - HackingSkillMultiplier() - outputs a value based off of the PC's hacking skill. upgradeMultiplierArcology() - outputs a value based off of the PC's engineering skill. @@ -395,6 +384,3 @@ UtilJS [script] SkillIncrease() - Depreciates the sugarcube functions. - jsNdef - A .js port of sugarcube's ndef. - - jsDef - A .js port of sugarcube's def. diff --git a/devNotes/standaloneFunctions.md b/devNotes/standaloneFunctions.md new file mode 100644 index 0000000000000000000000000000000000000000..838817b4e50801ccda2b96b6e1331c041be84e21 --- /dev/null +++ b/devNotes/standaloneFunctions.md @@ -0,0 +1,34 @@ +# Standalone JS Functions + +Collection of custom functions without dependencies on FC specific variables/data structures. + +## utilJS.js + +* `arraySwap(array, a , b)`: + Swaps two values in an array. + +* `capFirstChar(string)`: + Capitalizes the first character of `string`. + +* `addA(word)`: + Adds an `an ` if the first character is a vocal, otherwise `a `. + +* `ordinalSuffix(i)`: + Takes a number and appends the appropriate suffix. + Example: `ordinalSuffix(1)` gives `1st`. + +* `ordinalSuffixWords(i)`: + Takes a number and returns the appropriate ordinal. + Example: `ordinalSuffix(1)` gives `first`. + For number greater than 19 identical to `ordinalSuffix(i)` + +* `removeDuplicates(array)`: + Takes an array and returns a new array without duplicate entries. + +* `jsDef(x)`: + Returns whether x is undefined. A JS port of sugarcube's def. + +* `between(a, low, high)`: + Returns `true` if `a` is between `low` and `high`, otherwise `false`. + + diff --git a/player variables documentation - Pregmod.txt b/player variables documentation - Pregmod.txt index 48b54feced0a464cd28a3d48cedda491582e5398..3f5e48965366778a2d85785396349e50d2405258 100644 --- a/player variables documentation - Pregmod.txt +++ b/player variables documentation - Pregmod.txt @@ -1,13 +1,15 @@ Player variables documentation - Pregmod +Shares the vast majority of slave variables. Only ones in use are listed here. For more, see /player/js/playerState.js. + **anything labeled accepts string will return any string entered into it** -name: +slaveName: your first name accepts string -surname: +slaveSurname: your last name accepts string @@ -30,20 +32,174 @@ Player's gender "XY" "XX" -dick: +degeneracy: + +How strong/are there rumors about you doing unsavory things with your slaves +0 - 10 - occasional whispers +11 - 25 - minor rumors +26 - 50 - rumors +51 - 75 - bad rumors +70 - 100 - severe rumors +101+ - life ruining rumors + +refreshment: + +your favorite refreshment +accepts string + +refreshmentType: + +(uncommon in events) +The method of consumption of .refreshment +0 - smoked +1 - drank +2 - eaten +3 - snorted +4 - injected +5 - popped +6 - orally dissolved + +career: + +Your career before becoming owner +"wealth" +"capitalist" +"mercenary" +"slaver" +"engineer" +"medicine" +"celebrity" +"escort" +"servant" +"gang" +"BlackHat" +"arcology owner" + +rumor: + +"wealth" +"diligence" +"force" +"social engineering" +"luck" + +actualAge: + +(uncommon in events) +your actualAge +14+ + +physicalAge: + +your body's age +14+ + +visualAge: + +(uncommon in events) +how old you look +14+ + +ovaryAge: + +How old your ovaries are +Used to delay menopause temporarily + +birthWeek: + +your week of birth in a year +accepts int between 0-51 + +ageImplant: + +have you had age altering surgery, not yet in use +0 - no +1 - yes + +boobs: (common in events) -Player has a cock +0 - 299 - masculine chest (if title = 1) or flat chested (if title = 0) +300-399 - A-cup; +400-499 - B-cup +500-649 - C-cup +650-799 - D-cup +800-999 - DD-cup +1000-1199 - F-cup +1200-1399 - G-cup +1400-1599 - H-cup + +boobsImplant: + +Size, if any, of breast implants +0 - none +1+ - yes + +lactation: + +is player lactating 0 - no 1 - yes +lactationDuration: + +how many more weeks the player will lactate for +0+ + +butt: + +how big your butt is +2 - normal +3 - big +4 - huge +5 - enormous + +buttImplant: + +do you have butt implants +0 - no +1+ - size + vagina: (common in events) Player has a pussy +-1 - no +0 - virgin +1 - tight +2 - reasonably tight +3 - loose +4 - cavernous + +newVag: + +have you had a loose vagina restored 0 - no 1 - yes +dick: + +(common in events) +Player has a cock +0 - no +4 - big + +balls: + +how big your balls are (sizes above 0 requires dick == 1) +0 - none +3 - normal +5 - massive +9 - monstrous +14 - hypertrophied +30 - melons + +ballsImplant: + +how big your balls implants are (requires dick == 1) +0 - none +1+ size added + preg: (uncommon in events) @@ -85,7 +241,7 @@ Menstrual cycle control variable. belly: (uncommon in events) -how big your belly is in CCs (preg only) +how big your belly is in CCs thresholds 100 - bloated 1500 - early pregnancy @@ -100,10 +256,6 @@ thresholds 105000 - full term septuplets 120000 - full term octuplets -mpreg: - -used for <<KnockMeUp>> compatibility - pregSource: who knocked you up @@ -132,158 +284,41 @@ are you giving birth this week 0 - no 1 - yes -births: +skill: -how many children you've had -accepts int + trading: -boobsBonus: + your trading skill + accepts int between -100 and 100 -(rare in events) -breast size --3 - B-cup --2 - C-cup --1 - D-cup - 0 - DD-cup - 1 - F-cup - 2 - G-cup - 3 - H-cup + warfare: -degeneracy: + your warfare skill + accepts int between -100 and 100 -How strong/are there rumors about you doing unsavory things with your slaves -0 - 10 - occasional whispers -11 - 25 - minor rumors -26 - 50 - rumors -51 - 75 - bad rumors -70 - 100 - severe rumors -101+ - life ruining rumors + hacking: -voiceImplant: + your hacking skill + accepts int between -100 and 100 -no effect + slaving: -accent: + your slaving skill + accepts int between -100 and 100 -no effect + engineering: -shoulders: + your engineering skill + accepts int between -100 and 100 -no effect + medicine: -shouldersImplant: + your medicine skill + accepts int between -100 and 100 -no effect + cumTap: -boobs: - -(common in events) -0 - masculine chest (if title = 1) or flat chested (if title = 0)(WIP) -1 - feminine bust - -lactation: - -is player lactating -0 - no -1 - yes - -lactationDuration: - -how many more weeks the player will lactate for -0+ - -career: - -Your career before becoming owner -"wealth" -"capitalist" -"mercenary" -"slaver" -"engineer" -"medicine" -"celebrity" -"escort" -"servant" -"gang" -"BlackHat" -"arcology owner" - -rumor: - -"wealth" -"diligence" -"force" -"social engineering" -"luck" - -birthWeek: - -your week of birth in a year -accepts int between 0-51 - -age: - -(uncommon in events) -your age (obsolete, not in use) -0 - young -1 - typical -2 - middle age - -sexualEnergy: - -how much fucking you can do in a week -accepts int - -refreshment: - -your favorite refreshment -accepts string - -refreshmentType: - -(uncommon in events) -The method of consumption of .refreshment -0 - smoked -1 - drank -2 - eaten -3 - snorted -4 - injected -5 - popped -6 - orally dissolved - -trading: - -your trading skill -accepts int between -100 and 100 - -warfare: - -your warfare skill -accepts int between -100 and 100 - -hacking: - -your hacking skill -accepts int between -100 and 100 - -slaving: - -your slaving skill -accepts int between -100 and 100 - -engineering: - -your engineering skill -accepts int between -100 and 100 - -medicine: - -your medicine skill -accepts int between -100 and 100 - -cumTap: - -how acclimated you are to taking huge loads + how acclimated you are to taking huge loads race: @@ -312,25 +347,27 @@ do you have markings? "freckles" "heavily freckled" -eyeColor: +eye: + right:/left: + iris: -your eye color -accepts string + your eye color + accepts string -origEye: + pupil: -your original eye color -accepts string + your pupil shape + accepts string -pupil: + sclerae: -your pupil shape -accepts string + your sclerae color + accepts string -sclerae: + origColor: -your sclerae color -accepts string + your genetic eye color + accepts string hColor: @@ -369,123 +406,76 @@ daughters: how many daughters you have -birthElite: - -how many children you've carried for the SE - -birthMaster: - -how many children you've carried for your former master (servant start only) - -birthDegenerate: - -how many slave babies you've had - -birthClient: - -how many whoring babies you've had - -birthOther: - -untracked births - -birthArcOwner: - -how many children you've carried for other arc owners - -birthCitizen: +counter: -how many children you've had by sex with citizens (not whoring) + birthsTotal: -birthSelf: + how many children you've had + accepts int -how many times you've giving birth to your own selfcest babies + birthElite: -birthLab: + how many children you've carried for the SE -how many designer babies you've produced + birthMaster: -slavesFathered: + how many children you've carried for your former master (servant start only) -how many slave babies you are the father of + birthDegenerate: -slavesKnockedUp: + how many slave babies you've had -how many slaves you've gotten pregnant + birthClient: -intelligence: + how many whoring babies you've had -100 + birthOther: -face: + untracked births -100 + birthArcOwner: -actualAge: + how many children you've carried for other arc owners -(uncommon in events) -your actualAge -14+ + birthCitizen: -physicalAge: + how many children you've had by sex with citizens (not whoring) -your body's age -14+ + birthSelf: -visualAge: + how many times you've giving birth to your own selfcest babies -(uncommon in events) -how old you look -14+ + birthLab: -boobsImplant: + how many designer babies you've produced + + birthFuta: -do you have breast implants -0 - no -1 - yes + how many babies you've had with the Futanari Sisters -butt: + storedCum: -how big your butt is -0 - normal -1 - big -2 - huge -3 - enormous + How many units of your cum are stored away for artificially inseminating slaves -buttImplant: + laborCount: -do you have butt implants -0 - no -1 - yes + Have you experienced labor. -balls: + slavesFathered: -how big your balls are (requires dick == 1) -0 - normal -1 - big -2 - huge -3 - massive + how many slave babies you are the father of -ballsImplant: + slavesKnockedUp: -how big your balls implants are (requires dick == 1) -0 - normal -1 - large -2 - huge -3 - enormous -4 - monstrous + how many slaves you've gotten pregnant -ageImplant: +intelligence: -have you had age altering surgery, not yet in use -0 - no -1 - yes +100 -newVag: +face: -have you had a loose vagina restored -0 - no -1 - yes +100 reservedChildren: @@ -507,56 +497,17 @@ have you been drugged with fertility drugs 0 - no 1+ - how many weeks they will remain in your system +sexualEnergy: + +how much fucking you can do in a week +accepts int + staminaPills: Are you taking pills to fuck more slaves each week? 0 - no 1 - yes -ovaryAge: - -How old your ovaries are -Used to delay menopause temporarily - -eggType: - -Used for compatibility. -"human" - -ballType: - -Used for compatibility. -"human" - -storedCum: - -How many units of your cum are stored away for artificially inseminating slaves - -behavioralFlaw: - -Used for compatibility. -"none" - -behavioralQuirk: - -Used for compatibility. -"none" - -sexualFlaw: - -Used for compatibility. -"none" - -sexualQuirk: - -Used for compatibility. -"none" - -fetish: - -Used for compatibility. -"none" - pubicHStyle: Used for compatibility. @@ -566,3 +517,19 @@ underArmHStyle: Used for compatibility. "hairless" + +rules: + living: + + Your starting expenses. Increases each NG+ until max. Keep in mind that this is in terms of an arcology owner. + "spare" + "normal" + "luxurious" + + lactation: + + How you are handling your lactation? + "none" + "induce" + "maintain" + "sell" diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index e407e129de1fd909b422390c983ece2c566d4f42..7c9c1734ce6f1af4f77133dfc8a76aa6093bc12e 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -358,6 +358,7 @@ You should have received a copy of the GNU General Public License along with thi <<set $neighboringArcologies = 3>> <<set $newDescriptions = 0>> <<set $familyTesting = 0>> + <<set $showDistantRelatives = 0>> <<set $inbreeding = 1>> <<set $allowFamilyTitles = 0>> <<set $surnameOrder = 0>> diff --git a/src/js/heroCreator.js b/src/js/heroCreator.js index cfc178de66e528fb16493b0138b9ff32d34fc977..2f78670c4df783498796bac7561bf6d7b93bd5ae 100644 --- a/src/js/heroCreator.js +++ b/src/js/heroCreator.js @@ -43,7 +43,13 @@ App.Utils.getHeroSlave = function(heroSlave, baseHeroSlave) { } const newSlave = clone(baseHeroSlave); + let albinismOverride = null + if (heroSlave.albinismOverride !== null) { + albinismOverride = heroSlave.albinismOverride; + delete heroSlave.albinismOverride; + } deepAssign(newSlave, heroSlave); + newSlave.albinismOverride = albinismOverride; repairLimbs(newSlave); generatePuberty(newSlave); return newSlave; diff --git a/src/js/statsChecker/eyeChecker.js b/src/js/statsChecker/eyeChecker.js index 058e3c1016904d72a7900d94480c5603734035b7..a98ddd2201a6e7205d31b4d5f56c0b86ac5a947d 100644 --- a/src/js/statsChecker/eyeChecker.js +++ b/src/js/statsChecker/eyeChecker.js @@ -242,7 +242,7 @@ window.getGeneticEyeColor = function(slave, side) { if (side !== "left" && side !== "right") { return "ERROR:" + side; } if (slave.geneticQuirks.albinism === 2) { - return "red"; + return slave.albinismOverride.eyeColor; } else { if (side === "left" && typeof slave.geneticQuirks.heterochromia === "string") { return slave.geneticQuirks.heterochromia; diff --git a/src/js/utilJS.js b/src/js/utilJS.js index 251986164ae21ba68da0d37fafaeadb8e055d97d..b15f8aacceca1f5aea2c30e320a6e04cbdab916c 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -1688,6 +1688,10 @@ window.lengthToEitherUnit = function(s) { return `${s}cm`; }; +/** + * @param {number} i + * @returns {string} + */ window.ordinalSuffix = function ordinalSuffix(i) { let j = i % 10; let k = i % 100; @@ -1702,6 +1706,11 @@ window.ordinalSuffix = function ordinalSuffix(i) { } return `${i}th`; }; + +/** + * @param {number} i + * @returns {string} + */ window.ordinalSuffixWords = function(i) { const text = ["zeroth", "first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth", "thirteenth", "fourteenth", "fifteenth", "sixteenth", "seventeenth", "eighteenth", "nineteenth"]; if (i < text.length) { @@ -1712,7 +1721,7 @@ window.ordinalSuffixWords = function(i) { /** * @param {Iterable<any>} array - * @returns {Set<any>} + * @returns {any[]} */ window.removeDuplicates = function removeDuplicates(array) { return [...new Set(array)]; diff --git a/src/npc/databases/dSlavesDatabase.tw b/src/npc/databases/dSlavesDatabase.tw index fdb85c1845360a7334001faf6f05a16fb433d740..4ba697c08010344609504bdfb6076b0ce09dee9d 100644 --- a/src/npc/databases/dSlavesDatabase.tw +++ b/src/npc/databases/dSlavesDatabase.tw @@ -497,7 +497,7 @@ <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> -<<set _HS.slaveName = "'Virago' Kissa", _HS.birthName = "", _HS.birthSurname = "", _HS.origin = "In spite of the great demand for $his kind, $he has apparently eluded enslavement until recently.", _HS.career = "a wanderer", _HS.ID = _i++, _HS.prestige = 1, _HS.prestigeDesc = "$He is a natural albino.", _HS.birthWeek = random(0,51), setHealth(_HS, 100, 0, 0, 0, 0), _HS.devotion = 100, _HS.muscles = 50, _HS.height = 190, _HS.nationality = "Ugandan", _HS.race = "black", _HS.eye.origColor = "pale grey", _HS.origHColor = "white", _HS.pubicHColor = "white", _HS.origSkin = "extremely pale", _HS.hLength = 100, _HS.hStyle = "extremely long and bushy", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 600, _HS.face = 55, _HS.lips = 35, _HS.vaginaLube = 1, _HS.clitPiercing = 3, _HS.clitSetting = "oral", _HS.ovaries = 1, _HS.anusTat = "bleached", _HS.skill.oral = 100, _HS.skill.whoring =100, _HS.skill.entertainment = 100, _HS.skill.combat = 3, _HS.rules.living = "luxurious", _HS.rules.speech = "permissive", _HS.rules.release = "permissive", _HS.collar = "pretty jewelry", _HS.shoes = "flats", _HS.intelligence = 100, _HS.intelligenceImplant = 30, _HS.attrXY = 40, _HS.fetish = "cumslut", _HS.fetishKnown = 1, _HS.behavioralFlaw = "odd", _HS.geneticQuirks = {albinism: 2}, _HS.custom.tattoo = "$His entire body is tattooed with a detailed map of $his arteries which, combined with $his albinism, gives $him a quasi-translucent quality.", _HS.custom.desc = "$His eyes are unsettling; though $his irises are a pale grey color, in some lights the whole eye takes on a red cast.">> +<<set _HS.slaveName = "'Virago' Kissa", _HS.birthName = "", _HS.birthSurname = "", _HS.origin = "In spite of the great demand for $his kind, $he has apparently eluded enslavement until recently.", _HS.career = "a wanderer", _HS.ID = _i++, _HS.prestige = 1, _HS.prestigeDesc = "$He is a natural albino.", _HS.birthWeek = random(0,51), setHealth(_HS, 100, 0, 0, 0, 0), _HS.devotion = 100, _HS.muscles = 50, _HS.height = 190, _HS.nationality = "Ugandan", _HS.race = "black", _HS.hLength = 100, _HS.hStyle = "extremely long and bushy", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 600, _HS.face = 55, _HS.lips = 35, _HS.vaginaLube = 1, _HS.clitPiercing = 3, _HS.clitSetting = "oral", _HS.ovaries = 1, _HS.anusTat = "bleached", _HS.skill.oral = 100, _HS.skill.whoring =100, _HS.skill.entertainment = 100, _HS.skill.combat = 3, _HS.rules.living = "luxurious", _HS.rules.speech = "permissive", _HS.rules.release = "permissive", _HS.collar = "pretty jewelry", _HS.shoes = "flats", _HS.intelligence = 100, _HS.intelligenceImplant = 30, _HS.attrXY = 40, _HS.fetish = "cumslut", _HS.fetishKnown = 1, _HS.behavioralFlaw = "odd", _HS.geneticQuirks = {albinism: 2}, _HS.albinismOverride = {eyeColor: "pale grey", hColor: "white", skin: "extremely pale"}, _HS.custom.tattoo = "$His entire body is tattooed with a detailed map of $his arteries which, combined with $his albinism, gives $him a quasi-translucent quality.", _HS.custom.desc = "$His eyes are unsettling; though $his irises are a pale grey color, in some lights the whole eye takes on a red cast.">> <<set $heroSlaves.push(_HS)>> <<set _HS = App.Entity.SlaveState.makeSkeleton()>> diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js index c8e06a6faf1479e8ce669a00825732b84766d925..09f3446a0071ef3ae385e8e3dab938e6ba6df45c 100644 --- a/src/player/js/PlayerState.js +++ b/src/player/js/PlayerState.js @@ -35,6 +35,12 @@ App.Entity.PlayerSkillsState = class { */ App.Entity.PlayerRulesState = class { constructor() { + /** + * Your starting expenses. + * * "spare" + * * "normal" + * * "luxurious" + */ this.living = "luxurious"; this.speech = "permissive"; this.release = "permissive"; @@ -1117,6 +1123,8 @@ App.Entity.PlayerState = class PlayerState { * * 4: gaping */ this.anus = 0; + /** used to calculate size of area around anus. */ + this.analArea = 1; /** * dick size * * 0: none @@ -1133,8 +1141,6 @@ App.Entity.PlayerState = class PlayerState { * * 11+: hypertrophied */ this.dick = 4; - /** used to calculate size of area around anus. */ - this.analArea = 1; /** * is dick pierced * * 0: no @@ -2015,6 +2021,7 @@ App.Entity.PlayerState = class PlayerState { brand: {}, scar: {}, skill: {}, + rules: {}, custom: {}, }; } diff --git a/src/pregmod/editGenetics.tw b/src/pregmod/editGenetics.tw index 20d3c162903144a333911f2a11ba3b6006d88767..ffdff2c224314e36be059b912c2d31464ea0b95b 100644 --- a/src/pregmod/editGenetics.tw +++ b/src/pregmod/editGenetics.tw @@ -43,9 +43,6 @@ <th>Mother</th><td colspan="2"><%= tmpl.parentFullName(s.mother) %></td> <th>Age</th><td><%- tmpl.ageDesc(s) %></td> </tr> - <% if(s.origin) { %><tr><td colspan="8"><i><%- s.origin %></td></i></tr><% } %> - <% if(s.prestigeDesc) { %><tr><td colspan="8"><i><%- s.prestigeDesc %></td></i></tr><% } %> - <% if(s.custom.desc) { %><tr><td colspan="8"><i><%- s.custom.desc %></td></i></tr><% } %> <% if(s.birthName !== s.slaveName || s.birthSurname !== s.slaveSurname) { %><tr><td colspan="8"><i>Currently called <%= tmpl.currentFullName(s) %>.</td></i></tr><% } %> <tr><td></td><td colspan="6"><hr></td><td></td></tr> <tr> diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw index 6769847984529e211a1f641d1d7cc9bb58076333..1d67e9a6b2a15affd9f3ab147c0fc5a326314ddd 100644 --- a/src/pregmod/managePersonalAffairs.tw +++ b/src/pregmod/managePersonalAffairs.tw @@ -54,60 +54,60 @@ You current eye color is <<print App.Desc.eyeColor($PC)>>. <br> Side: -[[Left|Salon][$artificialEyeSide = "left"]] -| [[Right|Salon][$artificialEyeSide = "right"]] -| [[Both|Salon][$artificialEyeSide = "both"]] +[[Left|Manage Personal Affairs][$artificialEyeSide = "left"]] +| [[Right|Manage Personal Affairs][$artificialEyeSide = "right"]] +| [[Both|Manage Personal Affairs][$artificialEyeSide = "both"]] <br> Iris: -[[Amber|Salon][$artificialEyeColor = "amber"]] -| [[Black|Salon][$artificialEyeColor = "black"]] -| [[Blue|Salon][$artificialEyeColor = "blue"]] -| [[Brown|Salon][$artificialEyeColor = "brown"]] -| [[Green|Salon][$artificialEyeColor = "green"]] -| [[Hazel|Salon][$artificialEyeColor = "hazel"]] -| [[Orange|Salon][$artificialEyeColor = "orange"]] -| [[Pale-Grey|Salon][$artificialEyeColor = "pale-grey"]] -| [[Pink|Salon][$artificialEyeColor = "pink"]] -| [[Red|Salon][$artificialEyeColor = "red"]] -| [[Sky-Blue|Salon][$artificialEyeColor = "sky-blue"]] -| [[Turquoise|Salon][$artificialEyeColor = "turquoise"]] -| [[White|Salon][$artificialEyeColor = "white"]] -| [[Yellow|Salon][$artificialEyeColor = "yellow"]] +[[Amber|Manage Personal Affairs][$artificialEyeColor = "amber"]] +| [[Black|Manage Personal Affairs][$artificialEyeColor = "black"]] +| [[Blue|Manage Personal Affairs][$artificialEyeColor = "blue"]] +| [[Brown|Manage Personal Affairs][$artificialEyeColor = "brown"]] +| [[Green|Manage Personal Affairs][$artificialEyeColor = "green"]] +| [[Hazel|Manage Personal Affairs][$artificialEyeColor = "hazel"]] +| [[Orange|Manage Personal Affairs][$artificialEyeColor = "orange"]] +| [[Pale-Grey|Manage Personal Affairs][$artificialEyeColor = "pale-grey"]] +| [[Pink|Manage Personal Affairs][$artificialEyeColor = "pink"]] +| [[Red|Manage Personal Affairs][$artificialEyeColor = "red"]] +| [[Sky-Blue|Manage Personal Affairs][$artificialEyeColor = "sky-blue"]] +| [[Turquoise|Manage Personal Affairs][$artificialEyeColor = "turquoise"]] +| [[White|Manage Personal Affairs][$artificialEyeColor = "white"]] +| [[Yellow|Manage Personal Affairs][$artificialEyeColor = "yellow"]] <br> Pupil: -[[Circular|Salon][$artificialEyeShape = "circular"]] -| [[Almond-Shaped|Salon][$artificialEyeShape = "almond-shaped"]] -| [[Bright|Salon][$artificialEyeShape = "bright"]] -| [[Catlike|Salon][$artificialEyeShape = "catlike"]] -| [[Demonic|Salon][$artificialEyeShape = "demonic"]] -| [[Devilish|Salon][$artificialEyeShape = "devilish"]] -| [[Goat-Like|Salon][$artificialEyeShape = "goat-like"]] -| [[Heart-Shaped|Salon][$artificialEyeShape = "heart-shaped"]] -| [[Hypnotic|Salon][$artificialEyeShape = "hypnotic"]] -| [[Serpent-Like|Salon][$artificialEyeShape = "serpent-like"]] -| [[Star-Shaped|Salon][$artificialEyeShape = "star-shaped"]] -| [[Teary|Salon][$artificialEyeShape = "teary"]] -| [[Vacant|Salon][$artificialEyeShape = "vacant"]] -| [[Wide-Eyed|Salon][$artificialEyeShape = "wide-eyed"]] +[[Circular|Manage Personal Affairs][$artificialEyeShape = "circular"]] +| [[Almond-Shaped|Manage Personal Affairs][$artificialEyeShape = "almond-shaped"]] +| [[Bright|Manage Personal Affairs][$artificialEyeShape = "bright"]] +| [[Catlike|Manage Personal Affairs][$artificialEyeShape = "catlike"]] +| [[Demonic|Manage Personal Affairs][$artificialEyeShape = "demonic"]] +| [[Devilish|Manage Personal Affairs][$artificialEyeShape = "devilish"]] +| [[Goat-Like|Manage Personal Affairs][$artificialEyeShape = "goat-like"]] +| [[Heart-Shaped|Manage Personal Affairs][$artificialEyeShape = "heart-shaped"]] +| [[Hypnotic|Manage Personal Affairs][$artificialEyeShape = "hypnotic"]] +| [[Serpent-Like|Manage Personal Affairs][$artificialEyeShape = "serpent-like"]] +| [[Star-Shaped|Manage Personal Affairs][$artificialEyeShape = "star-shaped"]] +| [[Teary|Manage Personal Affairs][$artificialEyeShape = "teary"]] +| [[Vacant|Manage Personal Affairs][$artificialEyeShape = "vacant"]] +| [[Wide-Eyed|Manage Personal Affairs][$artificialEyeShape = "wide-eyed"]] <br> Sclera: -[[White|Salon][$artificialEyeFill = "white"]] -| [[Amber|Salon][$artificialEyeFill = "amber"]] -| [[Black|Salon][$artificialEyeFill = "black"]] -| [[Blue|Salon][$artificialEyeFill = "blue"]] -| [[Brown|Salon][$artificialEyeFill = "brown"]] -| [[Green|Salon][$artificialEyeFill = "green"]] -| [[Hazel|Salon][$artificialEyeFill = "hazel"]] -| [[Orange|Salon][$artificialEyeFill = "orange"]] -| [[Pale-Grey|Salon][$artificialEyeFill = "pale-grey"]] -| [[Pink|Salon][$artificialEyeFill = "pink"]] -| [[Red|Salon][$artificialEyeFill = "red"]] -| [[Sky-Blue|Salon][$artificialEyeFill = "sky-blue"]] -| [[Turquoise|Salon][$artificialEyeFill = "turquoise"]] -| [[Yellow|Salon][$artificialEyeFill = "yellow"]] +[[White|Manage Personal Affairs][$artificialEyeFill = "white"]] +| [[Amber|Manage Personal Affairs][$artificialEyeFill = "amber"]] +| [[Black|Manage Personal Affairs][$artificialEyeFill = "black"]] +| [[Blue|Manage Personal Affairs][$artificialEyeFill = "blue"]] +| [[Brown|Manage Personal Affairs][$artificialEyeFill = "brown"]] +| [[Green|Manage Personal Affairs][$artificialEyeFill = "green"]] +| [[Hazel|Manage Personal Affairs][$artificialEyeFill = "hazel"]] +| [[Orange|Manage Personal Affairs][$artificialEyeFill = "orange"]] +| [[Pale-Grey|Manage Personal Affairs][$artificialEyeFill = "pale-grey"]] +| [[Pink|Manage Personal Affairs][$artificialEyeFill = "pink"]] +| [[Red|Manage Personal Affairs][$artificialEyeFill = "red"]] +| [[Sky-Blue|Manage Personal Affairs][$artificialEyeFill = "sky-blue"]] +| [[Turquoise|Manage Personal Affairs][$artificialEyeFill = "turquoise"]] +| [[Yellow|Manage Personal Affairs][$artificialEyeFill = "yellow"]] <<if ndef $artificialEyeColor>> <<set $artificialEyeColor = "", $artificialEyeShape = "", $artificialEyeFill = "">> diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index d21f6e7bf2129cd3c13144cb61eeefa25e23e604..f8479dde9a96ec616ffd7c69d74b851f12e624ef 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -320,18 +320,17 @@ is <<set _nameloss = 1>> <</if>> <<elseif $activeSlave.slaveSurname != $activeSlave.birthSurname>> - <<if $activeSlave.slaveSurname === 0>> - $He once had a surname; - <<if $activeSlave.birthSurname === "">> - whatever it was, however, has been lost forever. - <<set _nameloss = 1>> - <</if>> - <<else>> + <<if $activeSlave.slaveSurname === 0 && $activeSlave.birthSurname === "">> + $He once had a surname; whatever it was, however, has been lost forever. + <<set _nameloss = 1>> + <<elseif $activeSlave.slaveSurname !== 0>> $activeSlave.slaveSurname is not $his original surname; <<if $activeSlave.birthSurname === "">> whatever it was, however, has been lost forever. <<set _nameloss = 1>> <</if>> + <<else>> + <<set _nameloss = 1>> <</if>> <</if>> <<if $activeSlave.birthName !== "" || $activeSlave.birthSurname !== "">>