diff --git a/devNotes/sugarcube stuff/building sugarcube.txt b/devNotes/sugarcube stuff/building sugarcube.txt index 83a18a070072c414d39537534932aefb07f18d67..e0ae54e0f31e705ee007d14e135c77e9411f8c5c 100644 --- a/devNotes/sugarcube stuff/building sugarcube.txt +++ b/devNotes/sugarcube stuff/building sugarcube.txt @@ -38,7 +38,6 @@ Run the node package manager (npm) in the repository: CAUTION: dependencies list (located in the package.json file in the repository root) may change from commit to commit and it differs between branches! Make sure to install correct dependencies after switching working branch. - Patching and building SugarCube. 3a. If you opted to use Mercurial, use it to apply the patch: diff --git a/src/SpecialForce/Upgrades.tw b/src/SpecialForce/Upgrades.tw index b9b91790c0a8d8dfc481d1f761f59f1c550c4159..b05bacee2b483ee8747d121c82310a9dfb95a7ca 100644 --- a/src/SpecialForce/Upgrades.tw +++ b/src/SpecialForce/Upgrades.tw @@ -1,4 +1,5 @@ :: Upgrades [nobr] + <br><br> <<if $SF.Size !== _max>> Total upgrade progress: <<print progress($SF.Size,_max)>> $SF.Size/_max(<<print ($SF.Size/_max).toFixed(2)*100>>%) <<if $SF.Size < 30>> <br>//<<print (30-$SF.Size )>> more upgrades is needed until the next tier unlocks.// <</if>> diff --git a/src/cheats/mod_EditNeighborArcologyCheatWidget.tw b/src/cheats/mod_EditNeighborArcologyCheatWidget.tw index 2143602b253485603f15ed60da71da1a418778ac..25012d357518216583f7c641e53f914cb706bd0b 100644 --- a/src/cheats/mod_EditNeighborArcologyCheatWidget.tw +++ b/src/cheats/mod_EditNeighborArcologyCheatWidget.tw @@ -1,7 +1,7 @@ :: MOD_Edit Neighbor Arcology Cheat Widget [widget nobr] /% - Call as <<EditNeighborCheat>> +Call as <<EditNeighborCheat>> %/ <<widget "EditNeighborCheat">> <<set _i = $args[0]>> diff --git a/src/facilities/nursery/childInteract.tw b/src/facilities/nursery/childInteract.tw index 1f61401755fb1d0e9b442473efca4df611a0d00b..6b173d6bb1f222c0188756610b46576e1c07aa02 100644 --- a/src/facilities/nursery/childInteract.tw +++ b/src/facilities/nursery/childInteract.tw @@ -8,7 +8,7 @@ <<setLocalPronouns $activeChild>> <<run Enunciate($activeChild)>> /* TODO: the encyclopedia will most likely need to be updated for children as well */ -<<set $encyclopedia = either("Drugs and Their Effects", "From Rebellious to Devoted", "Costs Summary", "Disease in the Free Cities", "Slave Couture", "Nymphomania", "Gender", "Independent Slaves", "Modern Anal")>> +<<set $encyclopedia = either("Costs Summary", "Disease in the Free Cities", "Drugs and Their Effects", "From Rebellious to Devoted", "Gender", "Independent Slaves", "Modern Anal", "Nymphomania", "Slave Couture")>> <<if $activeChild.dick > 0>><<set $showEncyclopedia = 1, $encyclopedia = "Gender">><</if>> <center> diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw index 715258fee35ae053ec813070f6fe09fd5651e5cb..0336df455a88cee7233ef9663b7ef8a8a249e178 100644 --- a/src/facilities/nursery/nursery.tw +++ b/src/facilities/nursery/nursery.tw @@ -385,9 +385,9 @@ Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $ <br><br> Target age for release: <<textbox "$targetAgeNursery" $targetAgeNursery "Nursery">> [[Minimum Legal Age|Nursery][$targetAgeNursery = $minimumSlaveAge]] - | [[Average Age of Fertility|Nursery][$targetAgeNursery = $fertilityAge]] - | [[Average Age of Potency|Nursery][$targetAgeNursery = $potencyAge]] - | [[Legal Adulthood|Nursery][$targetAgeNursery = 18]] +| [[Average Age of Fertility|Nursery][$targetAgeNursery = $fertilityAge]] +| [[Average Age of Potency|Nursery][$targetAgeNursery = $potencyAge]] +| [[Legal Adulthood|Nursery][$targetAgeNursery = 18]] //Setting will not be applied to rooms in use.// /*TODO: Rework these buttons to allow management that makes sense*/ diff --git a/src/facilities/nursery/nurseryWorkaround.tw b/src/facilities/nursery/nurseryWorkaround.tw index 0a0cfd46d6f934bb7c94584079f7af039a036a1d..fd5e886e88d3fb39c277f6631a5f3a1fdfbc6043 100644 --- a/src/facilities/nursery/nurseryWorkaround.tw +++ b/src/facilities/nursery/nurseryWorkaround.tw @@ -209,7 +209,7 @@ <</replace>> <</link>> <<elseif _tempDad.ID == $HeadGirl.ID>> - <br><<link "Permit your headgirl to name _his2 daughter">> + <br><<link "Permit your Head Girl to name _his2 daughter">> <<replace "#naming">> <<ParentNames _tempDad $activeSlave>> <<set $activeSlave.birthName = $activeSlave.slaveName>> diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw index 78fadcea9fb29e54d9b110e75f1dcd2096c44de2..2738bce06c3983eab06170f32f6472eb4e71043a 100644 --- a/src/init/setupVars.tw +++ b/src/init/setupVars.tw @@ -1979,10 +1979,10 @@ Then pick _namePool.random(), or display those names as possible choices, or do "Roman Revivalist": setup.romanSlaveSurnames }>> /* - * Male surname pools work differently: Most nationalities/races use the same so don't have any. - * Others have them not as arrays, but as objects, associating a female surname with the - * corresponding (and as far as the nationality/culture is concerned, identical) male surname. - */ +* Male surname pools work differently: Most nationalities/races use the same so don't have any. +* Others have them not as arrays, but as objects, associating a female surname with the +* corresponding (and as far as the nationality/culture is concerned, identical) male surname. +*/ <<set setup.maleSurnamePoolSelector = { "Azerbaijani": setup.azerbaijaniMaleSurnames, "Belarusian": setup.belarusianMaleSurnames, @@ -2037,13 +2037,13 @@ Then pick _namePool.random(), or display those names as possible choices, or do <<set setup.ArcologyNamesGenderRadicalist = ["Admah", "Aphroditus", "Bacchanalia", "Boeotia", "Brumalia", "Catamitus", "City of the Plain", "Crete", "Dionysia", "Ermenosity", "Gomorrah", "Hermaphroditus", "Impudicitia", "Liberalia", "Pessinus", "Saturnalia", "Sodom", "The Rosebud", "Thebes", "Vine of Sodom", "Zeboim"]>> <<set setup.ArcologyNamesGenderFundamentalist = ["The Arbor", "The Center", "The Core", "The Cradle", "The Entrance", "The Essence", "The Flower", "The Fruit", "The Jewel", "The Lily", "The Love", "The Origin", "The Pearl", "The Petal", "The Rose", "The Sheath", "The Source", "The Warmth"]>> <<set setup.ArcologyNamesPaternalist = ["Asylum", "Benevolence", "City of Refuge", "Fatherhood", "Glory", "Greater Good", "Haven", "Humanitaria", "Nanny State", "New Springfield", "Paterfamilias", "Paternalis", "Refuge", "Safe Harbor", "Safe Haven", "Safehouse", "Safety", "Sanctuary", "Sanctum", "Shelter", "The Sanctuary", "Welfare"]>> -<<set setup.ArcologyNamesDegradationist = ["Akelarre", "Armageddon", "Bald Mountain", "Black Sabbath", "Blåkulla", "Château de Silling", "Cruelty", "Damnation", "Degradation", "Diabolica", "Doomsday", "Golgotha", "Hell on Earth", "Hell", "Inferno", "Misery", "Pain", "Slaughterhouse", "Suffering", "The Pit", "The Tower", "Torment", "Torture Chamber", "Well to Hell"]>> -<<set setup.ArcologyNamesBodyPurist = ["Antiplasto", "Au Naturel", "Elysium", "Injection Rejection", "Natural State", "Nature Reserve", "New Eden", "Organics", "Pure Land", "Pure Shores", "Purification", "Purity Balls", "Purity Ring", "Purity", "Sanctity", "Scarless Fever", "Surgical Strike", "The Ark", "The Garden", "The Repository", "Unblemisht", "Walden"]>> +<<set setup.ArcologyNamesDegradationist = ["Akelarre", "Apocalyptica", "Armageddon", "Bald Mountain", "Black Sabbath", "Blåkulla", "Château de Silling", "Cruelty", "Damnation", "Degradation", "Diabolica", "Doomsday", "Dukkha", "Golgotha", "Hell on Earth", "Hell", "Inferno", "Misery", "Pain", "Schadenfreude", "Slaughterhouse", "Suffering", "The Pit", "The Tower", "Torment", "Torture Chamber", "Well to Hell"]>> +<<set setup.ArcologyNamesBodyPurist = ["Antiplasto", "Au Naturel", "Elysium", "Injection Rejection", "L'Esprit Nouveau", "Natural Selection", "Natural State", "Nature Reserve", "New Eden", "Organics", "Pure Land", "Pure Shores", "Purification", "Purity Balls", "Purity Ring", "Purity", "Sanctity", "Scarless Fever", "Surgical Strike", "The Ark", "The Garden", "The Repository", "Unblemisht", "Walden"]>> <<set setup.ArcologyNamesTransformationFetishist = ["Arion Laboratory", "Barbie World", "Bimboden", "Bimboland", "Dow Corning", "Gillies Suite", "Guinea Pig Club", "Implantation Station", "Mad Mods", "Modding Community", "Mods Nexus", "Niptuck", "Plastic Beach", "Plasticland", "Silicone Valley", "Silicone Zone", "Stacy Malibu", "Strained Silicone", "Surgeon Generality", "The Dollhouse", "The Hospital", "Transformation Station", "Transformational Festival", "Under-Knife"]>> -<<set setup.ArcologyNamesYouthPreferentialist = ["Cumfullton", "Dick U.", "Ephebophily", "Frat Party", "Fuck High", "Hebephily", "Homecoming", "Kid Row", "Prom Night", "Sex College", "Sorority Row", "Spring Break", "Sunnyside", "Teen Scene", "Teen Spirit", "Teenage Wasteland", "Teenybop", "Undergrad Pad", "Young Earth", "Youngling", "Youngtown", "Youth", "Youthanasia"]>> +<<set setup.ArcologyNamesYouthPreferentialist = ["Cumfullton", "Dick U.", "Ephebophily", "Frat Party", "Fuck High", "Hebephily", "Homecoming", "Kid Row", "Prom Night", "Sex College", "Sorority Row", "Spring Break", "Sunnyside", "Teen Scene", "Teen Spirit", "Teenage Wasteland", "Teenybop", "Undergrad Pad", "Young Earth", "Youngling", "Youngtown", "Youth Culture", "Youth", "Youthanasia"]>> <<set setup.ArcologyNamesYouthPreferentialistLow = ["Cherry Fields", "Cherry Hills", "Comet Ping Pong", "Cummies Kindergarten", "Dick Elementary", "Flatsville", "Groom Range", "Hanson City", "Hebephily", "Hotel Bangkok", "Kiddie Diddlebury", "Lil' Sluts Academy", "Lolita Complex", "Loliville", "Oingo Boingo", "Partyvanistan", "Pedophily", "Pomf Town", "Prepubescence", "Savile Row", "Statutoria", "The Cake Shop"]>> <<set setup.ArcologyNamesMaturityPreferentialist = ["Age Begets Beauty", "Annual Reunion", "Cougar Town", "Experience", "Fine Wine", "Gerontophily", "Mature Theme", "Maturity", "Mesophily", "MILF Haven", "MILF Heights", "MILFtown", "Old Flame", "Old Style", "Park Avenue Tower", "Phaedra Complex", "Robinsonade", "Shady Acres", "Yummy Mummy"]>> -<<set setup.ArcologyNamesSlimnessEnthusiast = ["Aerobica", "Cardiode", "Emaciate State", "Lean Scene", "Less Is More", "Marathon", "Runway Way", "Skin-and-Bones Zone", "Skinny Bop", "Skinny Dip", "Slim City", "The Island", "The Skinny", "The Thinning", "Underweight Way", "Upskirt", "Virginland", "Weigh Down Low"]>> +<<set setup.ArcologyNamesSlimnessEnthusiast = ["Aerobica", "Cardiode", "Emaciate State", "Lean Scene", "Less Is More", "Marathon", "National Diet", "Runway Way", "Size Zero", "Skin-and-Bones Zone", "Skinny Bop", "Skinny Dip", "Skinny House", "Slim City", "Slim Shades", "Slimming World", "The Island", "The Skinny", "The Thinning", "Underweight Way", "Upskirt", "Virginland", "Weigh Down Low"]>> <<set setup.ArcologyNamesAssetExpansionist = ["Asset Holdings", "Biggening", "Blow-Up", "Boobs Tower", "Expand Land", "Expansion Chamber", "Expansion Pack", "Inflation Station", "Tangible Assets", "The Bouncy Castle", "The Expanse", "The Mounds", "Twin Peaks", "Voluptuousity"]>> <<set setup.ArcologyNamesPastoralist = ["Abundance", "Big Milk", "Bounty", "Bucolica", "Cornucopia", "Dairy Farm", "Dairy Kingdom", "Friesland", "God's Country", "Green Acres", "Greener Pastures", "Lactophily", "Lactopia", "Land of Plenty", "Pastoral Romance", "Pasturelands", "Plenty", "Schleswig-Holstein", "The Dairy", "The Ranch"]>> <<set setup.ArcologyNamesPhysicalIdealist = ["Aegina", "Amazonia", "Athletica", "Buff Riders", "Buffton", "Cardiode", "Dahomey", "Exercise Ball", "Exercise Bend", "Exercism", "Fitness Center", "Gargarei", "Gymnasiade", "Iron Pumps", "Midgard", "Muscle Beach", "Muscle Shoals", "Olympia", "Performance Peak", "Protein Lake", "Skid Row", "Sparta", "Sthenolagny", "The Gymnasium", "Them Gains", "Themyscira", "Valhalla", "Work Out"]>> diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 2f6711cec57dca917dee7076c394a1088081c021..8d9c32866861ef344cbdd27f626622612579f568 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -302,7 +302,7 @@ App.Entity.SlaveState = class SlaveState { /** slave's original name */ this.birthName = "blank"; /** slave's original surname - * @type {string|number} */ + * @type {string|number} */ this.birthSurname = 0; /** slave sex ("XX", "XY") */ this.genes = "XX"; @@ -313,47 +313,47 @@ App.Entity.SlaveState = class SlaveState { this.object = "her"; this.noun = "girl"; /** game week slave was acquired. - * - * _0: Obtained prior to game start / at game start_ */ + * + * _0: Obtained prior to game start / at game start_ */ this.weekAcquired = 0; /** slave's origin - * @type {string|number} */ + * @type {string|number} */ this.origin = 0; /** career prior to enslavement - * @type {string|number} */ + * @type {string|number} */ this.career = 0; /** slave's ID */ this.ID = 0; /** slave's prestige */ this.prestige = 0; /** is the studio outputting porn of her? - * 0: no; 1: yes */ + * 0: no; 1: yes */ this.pornFeed = 0; /** how famous her porn is? */ this.pornFame = 0; /** how much money is being spent on promoting her porn */ this.pornFameSpending = 0; /** - * how famous she is in porn - * * 0: not - * * 1: some - * * 2: recognized - * * 3: world renowned - */ + * how famous she is in porn + * * 0: not + * * 1: some + * * 2: recognized + * * 3: world renowned + */ this.pornPrestige = 0; /** description to go with @see pornPrestige - * @type {string|number} */ + * @type {string|number} */ this.pornPrestigeDesc = 0; /** porn fame */ this.porn = new App.Entity.SlavePornPerformanceState(); /** reason for prestige - * @type {string|number} */ + * @type {string|number} */ this.prestigeDesc = 0; /** slave's relation to recruited slave? (used in some events) - * @type {string|number} */ + * @type {string|number} */ this.recruiter = 0; /** relation to relationTarget - * @type {string|number} */ + * @type {string|number} */ this.relation = 0; /** target of relation (ID) */ this.relationTarget = 0; @@ -373,12 +373,12 @@ App.Entity.SlaveState = class SlaveState { /** target of relationship (ID) */ this.relationshipTarget = 0; /** - * slave's rivalry - * * 0: none - * * 1: dislikes rivalryTarget - * * 2: rival of rivalryTarget - * * 3: bitterly hates rivalryTarget - */ + * slave's rivalry + * * 0: none + * * 1: dislikes rivalryTarget + * * 2: rival of rivalryTarget + * * 3: bitterly hates rivalryTarget + */ this.rivalry = 0; /** target of rival (ID) */ this.rivalryTarget = 0; @@ -390,9 +390,9 @@ App.Entity.SlaveState = class SlaveState { this.sisters = 0; this.canRecruit = 0; /** - * can slave choose own assignment - * - * 0: no; 1: yes */ + * can slave choose own assignment + * + * 0: no; 1: yes */ this.choosesOwnAssignment = 0; /** slave's assignment */ this.assignment = "rest"; @@ -405,9 +405,9 @@ App.Entity.SlaveState = class SlaveState { /** which hole to focus on when serving you */ this.toyHole = "all her holes"; /** - * How long her servitude will be. - * - * -1: not; 0+: number of weeks remaining */ + * How long her servitude will be. + * + * -1: not; 0+: number of weeks remaining */ this.indenture = -1; /** 2: complete protection; 1: some protection; 0: no protection */ this.indentureRestrictions = 0; @@ -424,43 +424,43 @@ App.Entity.SlaveState = class SlaveState { /** has had facial surgery to reduce age. 0: no, 1: yes */ this.ageImplant = 0; /** - * slave's health - * * -90 - : On the edge of death - * * -90 - -51: Extremely unhealthy - * * -50 - -21: Unhealthy - * * -20 - 20: Healthy - * * 21 - 50: Very healthy - * * 50 - 90: Extremely healthy - * * 90 - : Unnaturally healthy - */ + * slave's health + * * -90 - : On the edge of death + * * -90 - -51: Extremely unhealthy + * * -50 - -21: Unhealthy + * * -20 - 20: Healthy + * * 21 - 50: Very healthy + * * 50 - 90: Extremely healthy + * * 90 - : Unnaturally healthy + */ this.health = 0; /** - * slave has a minor injury ("black eye", "bruise", "split lip") - * @type {number | string} - */ + * slave has a minor injury ("black eye", "bruise", "split lip") + * @type {number | string} + */ this.minorInjury = 0; /** - * slave 's trust. - * * -96-: abjectly terrified - * * -95 - -51: terrified - * * -50 - -21: frightened - * * -20 - 20: fearful - * * 21 - 50: careful - * * 51 - 95: trusting - * * 96+: profoundly trusting - */ + * slave 's trust. + * * -96-: abjectly terrified + * * -95 - -51: terrified + * * -50 - -21: frightened + * * -20 - 20: fearful + * * 21 - 50: careful + * * 51 - 95: trusting + * * 96+: profoundly trusting + */ this.trust = 0; /** used to calculate trust loss/gain */ this.oldTrust = 0; /** - * slave 's devotion - * * -96 - : hate-filled - * * -95 - -51: hateful - * * -50 - -21: reluctant - * * -20 - 20: careful - * * 21 - 50: accepting - * * 51 - 95: devoted - * * 96+: worshipful */ + * slave 's devotion + * * -96 - : hate-filled + * * -95 - -51: hateful + * * -50 - -21: reluctant + * * -20 - 20: careful + * * 21 - 50: accepting + * * 51 - 95: devoted + * * 96+: worshipful */ this.devotion = 0; /** used to calculate devotion loss/gain */ this.oldDevotion = 0; @@ -479,27 +479,27 @@ App.Entity.SlaveState = class SlaveState { */ this.weight = 0; /** - * slave 's muscles - * * 96+ : extremely muscular - * * 31 - 95: muscular - * * 6 - 30: toned - * * -5 - 5: none - * * -30 - -6: weak - * * -95 - -31: very weak - * * -96- : frail - */ + * slave 's muscles + * * 96+ : extremely muscular + * * 31 - 95: muscular + * * 6 - 30: toned + * * -5 - 5: none + * * -30 - -6: weak + * * -95 - -31: very weak + * * -96- : frail + */ this.muscles = 0; /** - * slave's height in cm - * * < 150: petite - * * 150 - 159: short - * * 160 - 169: average - * * 170 - 185: tall - * * 186+ : very tall - */ + * slave's height in cm + * * < 150: petite + * * 150 - 159: short + * * 160 - 169: average + * * 170 - 185: tall + * * 186+ : very tall + */ this.height = 170; /** slave has height implant - * -1: -10 cm, 0: none, 1: +10 cm */ + * -1: -10 cm, 0: none, 1: +10 cm */ this.heightImplant = 0; /** slave's nationality */ this.nationality = "slave"; @@ -508,12 +508,12 @@ App.Entity.SlaveState = class SlaveState { /** slave's original race */ this.origRace = "white"; /** - * slave markings - * * "beauty mark" - * * "birthmark" - * * "freckles" - * * "heavily freckled" - */ + * slave markings + * * "beauty mark" + * * "birthmark" + * * "freckles" + * * "heavily freckled" + */ this.markings = "none"; /** * slave eyesight @@ -539,13 +539,13 @@ App.Entity.SlaveState = class SlaveState { /** "none", "glasses", "blurring glasses", "corrective glasses", "blurring contacts", "corrective contacts" */ this.eyewear = "none"; /** slave hearing - * - * -2: deaf; -1: hard of hearing; 0: normal */ + * + * -2: deaf; -1: hard of hearing; 0: normal */ this.hears = 0; /** "none", "hearing aids", "muffling ear plugs", "deafening ear plugs" */ this.earwear = "none"; /** is there an inner ear implant device - * 0: no; 1: yes */ + * 0: no; 1: yes */ this.earImplant = 0; /** the shape of their outer ears * "none", "damaged", "normal", "pointy", "elven", "ushi" */ @@ -596,24 +596,24 @@ App.Entity.SlaveState = class SlaveState { /** skin color */ this.skin = "light"; /** - * hair length - * * 150: calf-length - * * 149-100: ass-length - * * 99-30: long - * * 29-10: shoulder-length - * * 9-0: short - */ + * hair length + * * 150: calf-length + * * 149-100: ass-length + * * 99-30: long + * * 29-10: shoulder-length + * * 9-0: short + */ this.hLength = 60; /** - * eyebrow thickness - * * "pencil-thin" - * * "thin" - * * "threaded" - * * "natural" - * * "tapered" - * * "thick" - * * "bushy" - */ + * eyebrow thickness + * * "pencil-thin" + * * "thin" + * * "threaded" + * * "natural" + * * "tapered" + * * "thick" + * * "bushy" + */ this.eyebrowFullness = "natural"; /** hair style */ this.hStyle = "short"; @@ -624,15 +624,15 @@ App.Entity.SlaveState = class SlaveState { /** eyebrowHStyle */ this.eyebrowHStyle = "natural"; /** - * slave waist - * * 96+: masculine - * * 95 - 41: ugly - * * 40 - 11: unattractive - * * 10 - -10: average - * * -11 - -40: feminine - * * -40 - -95: hourglass - * * -96-: absurd - */ + * slave waist + * * 96+: masculine + * * 95 - 41: ugly + * * 40 - 11: unattractive + * * 10 - -10: average + * * -11 - -40: feminine + * * -40 - -95: hourglass + * * -96-: absurd + */ this.waist = 0; /** series of rings up the back that can be tied together. 0: no, 1: yes */ this.corsetPiercing = 0; @@ -644,56 +644,56 @@ App.Entity.SlaveState = class SlaveState { */ this.PLimb = 0; /** - * is slave amputee - * * -5: swiss army limbs - * * -4: artificial limbs - Combat - * * -3: artificial limbs - Beauty - * * -2: artificial limbs - Sex - * * -1: artificial limbs - * * 0: no; - * * 1: yes - */ + * is slave amputee + * * -5: swiss army limbs + * * -4: artificial limbs - Combat + * * -3: artificial limbs - Beauty + * * -2: artificial limbs - Sex + * * -1: artificial limbs + * * 0: no; + * * 1: yes + */ this.amp = 0; /** are heels clipped - * - * 0: no, 1: yes */ + * + * 0: no, 1: yes */ this.heels = 0; /** slave voice - * - * 0: mute, 1: deep, 2: feminine, 3: high, girly */ + * + * 0: mute, 1: deep, 2: feminine, 3: high, girly */ this.voice = 2; /** has voice implant - * - * 0: no; 1: yes, high; -1: yes, low */ + * + * 0: no; 1: yes, high; -1: yes, low */ this.voiceImplant = 0; /** has cybernetic voicebox - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.electrolarynx = 0; /** - * slave accent - * * 0: none - * * 1: attractive - * * 2: heavy - * * 3: does not speak language - */ + * slave accent + * * 0: none + * * 1: attractive + * * 2: heavy + * * 3: does not speak language + */ this.accent = 0; /** - * shoulder width - * * -2: very narrow - * * -1: narrow - * * 0: feminine - * * 1: broad - * * 2: very broad - */ + * shoulder width + * * -2: very narrow + * * -1: narrow + * * 0: feminine + * * 1: broad + * * 2: very broad + */ this.shoulders = 0; /** - * has shoulder implant - * - * * -1: shoulders -1 - * * 0: none - * * 1: shoulders +1 - */ + * has shoulder implant + * + * * -1: shoulders -1 + * * 0: none + * * 1: shoulders +1 + */ this.shouldersImplant = 0; /** * slave boob size (in cc) @@ -723,41 +723,41 @@ App.Entity.SlaveState = class SlaveState { /** breast engorgement from unmilked tits */ this.boobsMilk = 0; /** - * slave implant size - * * 0: no implants; - * * 1-199: small implants; - * * 200-399: normal implants; - * * 400-599: large implants; - * * 600+: boobsImplant size fillable implants - */ + * slave implant size + * * 0: no implants; + * * 1-199: small implants; + * * 200-399: normal implants; + * * 400-599: large implants; + * * 600+: boobsImplant size fillable implants + */ this.boobsImplant = 0; /** Implants type. 0: normal/none; 1: string */ this.boobsImplantType = 0; /** - * breast shape - * * "normal" - * * "perky" - * * "saggy" - * * "torpedo-shaped" - * * "downward-facing" - * * "wide-set" - */ + * breast shape + * * "normal" + * * "perky" + * * "saggy" + * * "torpedo-shaped" + * * "downward-facing" + * * "wide-set" + */ this.boobShape = "normal"; /** - * nipple shape - * * "huge" - * * "puffy" - * * "inverted" - * * "tiny" - * * "cute" - * * "partially inverted" - * * "fuckable" - */ + * nipple shape + * * "huge" + * * "puffy" + * * "inverted" + * * "tiny" + * * "cute" + * * "partially inverted" + * * "fuckable" + */ this.nipples = "cute"; /** - * nipple are pierced - * @default 0 - * 0: none; 1: yes; 2: heavily */ + * nipple are pierced + * @default 0 + * 0: none; 1: yes; 2: heavily */ this.nipplesPiercing = 0; /** what accessory, if any, or on her nipples */ this.nipplesAccessory = "none"; @@ -766,246 +766,246 @@ App.Entity.SlaveState = class SlaveState { * 0: normal; 1: large; 2: unusually wide; 3: huge, 4: massive */ this.areolae = 0; /** edge of areolae are pierced - * @default 0 - * 0: none; 1: yes; 2: heavy */ + * @default 0 + * 0: none; 1: yes; 2: heavy */ this.areolaePiercing = 0; /** slave areolae shape ("heart"; "star"; "circle") */ this.areolaeShape = "circle"; /** - * boobs tattoo - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string | number} - */ + * boobs tattoo + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string | number} + */ this.boobsTat = 0; /** slave lactation - * - * 0: none; 1: natural; 2: implant */ + * + * 0: none; 1: natural; 2: implant */ this.lactation = 0; /** how many more weeks until lactation dries up - * - * usually 2 as interactions and lact. implant reset it to 2 */ + * + * usually 2 as interactions and lact. implant reset it to 2 */ this.lactationDuration = 0; /** - * odds of inducing lactation - * - * begins trying on breast play if over 10 */ + * odds of inducing lactation + * + * begins trying on breast play if over 10 */ this.induceLactation = 0; /** 0: 10: not used to producing milk(no bonuses); - * 11: 50: used to producing milk; - * 51: 100: heavily adapted to producing milk(big bonus) */ + * 11: 50: used to producing milk; + * 51: 100: heavily adapted to producing milk(big bonus) */ this.lactationAdaptation = 0; /** - * hip size - * * -2: very narrow - * * -1: narrow - * * 0: normal - * * 1: wide hips - * * 2: very wide hips - * * 3: inhumanly wide hips - */ + * hip size + * * -2: very narrow + * * -1: narrow + * * 0: normal + * * 1: wide hips + * * 2: very wide hips + * * 3: inhumanly wide hips + */ this.hips = 0; /** slave has hip implant - * - * -1: hips -1; 0: none; 1: hips +1 */ + * + * -1: hips -1; 0: none; 1: hips +1 */ this.hipsImplant = 0; /** - * butt size - * * 0 : flat - * * 1 : small - * * 2 : plump * - * * 3 : big bubble butt - * * 4 : huge - * * 5 : enormous - * * 6 : gigantic - * * 7 : ridiculous - * * 8 - 10: immense - * * 11 - 20: inhuman - * - * _* Descriptions vary for just how big 2 is, as such, it may be better to just go with 3_ - */ + * butt size + * * 0 : flat + * * 1 : small + * * 2 : plump * + * * 3 : big bubble butt + * * 4 : huge + * * 5 : enormous + * * 6 : gigantic + * * 7 : ridiculous + * * 8 - 10: immense + * * 11 - 20: inhuman + * + * _* Descriptions vary for just how big 2 is, as such, it may be better to just go with 3_ + */ this.butt = 0; /** - * butt implant type and size - * - * * 0: none - * * 1: butt implant - * * 2: big butt implant - * * 3: fillable butt implants - * * 5 - 8: advanced fillable implants - * * 9+: hyper fillable implants - */ + * butt implant type and size + * + * * 0: none + * * 1: butt implant + * * 2: big butt implant + * * 3: fillable butt implants + * * 5 - 8: advanced fillable implants + * * 9+: hyper fillable implants + */ this.buttImplant = 0; /** butt implant type - * - * 0: normal/none; 1: string */ + * + * 0: normal/none; 1: string */ this.buttImplantType = 0; /** - * butt tattoo - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * butt tattoo + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.buttTat = 0; /** - * face attractiveness - * - * * -96 - : very ugly - * * -95 - -41: ugly - * * -40 - -11: unattractive - * * -10 - 10: attractive - * * 11 - 40: very pretty - * * 41 - 95: gorgeous - * * 96+: mind blowing - */ + * face attractiveness + * + * * -96 - : very ugly + * * -95 - -41: ugly + * * -40 - -11: unattractive + * * -10 - 10: attractive + * * 11 - 40: very pretty + * * 41 - 95: gorgeous + * * 96+: mind blowing + */ this.face = 0; /** - * facial surgery degree - * - * * 0 - 14: none - * * 15 - 34: Subtle Improvements - * * 35 - 64: Noticeable Work - * * 65 - 99: Heavily Reworked - * * 100: Uncanny Valley - */ + * facial surgery degree + * + * * 0 - 14: none + * * 15 - 34: Subtle Improvements + * * 35 - 64: Noticeable Work + * * 65 - 99: Heavily Reworked + * * 100: Uncanny Valley + */ this.faceImplant = 0; /** - * accepts string (will be treated as "normal") - * * "normal" - * * "masculine" - * * "androgynous" - * * "cute" - * * "sensual" - * * "exotic" - */ + * accepts string (will be treated as "normal") + * * "normal" + * * "masculine" + * * "androgynous" + * * "cute" + * * "sensual" + * * "exotic" + */ this.faceShape = "normal"; /** - * lip size (0 - 100) - * * 0 - 10: thin - * * 11 - 20: normal - * * 21 - 40: pretty - * * 41 - 70: plush - * * 71 - 95: huge(lisps) - * * 96 - 100: facepussy(mute) - */ + * lip size (0 - 100) + * * 0 - 10: thin + * * 11 - 20: normal + * * 21 - 40: pretty + * * 41 - 70: plush + * * 71 - 95: huge(lisps) + * * 96 - 100: facepussy(mute) + */ this.lips = 15; /** - * how large her lip implants are - * @see lips - */ + * how large her lip implants are + * @see lips + */ this.lipsImplant = 0; /** - * lips pierced - * - * 0: no; 1: yes; 2: heavy */ + * lips pierced + * + * 0: no; 1: yes; 2: heavy */ this.lipsPiercing = 0; /** - * lip tattoo - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "permanent makeup" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * lip tattoo + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "permanent makeup" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.lipsTat = 0; /** - * teeth type - * * "normal" - * * "crooked" - * * "straightening braces" - * * "cosmetic braces" - * * "removable" - * * "pointy" - * * "baby" - * * "mixed" - */ + * teeth type + * * "normal" + * * "crooked" + * * "straightening braces" + * * "cosmetic braces" + * * "removable" + * * "pointy" + * * "baby" + * * "mixed" + */ this.teeth = "normal"; /** - * has tongue piercing - * - * 0: no; 1: yes; 2: heavy */ + * has tongue piercing + * + * 0: no; 1: yes; 2: heavy */ this.tonguePiercing = 0; /** - * vagina type - * * -1: no vagina - * * 0: virgin - * * 1: tight - * * 2: reasonably tight - * * 3: loose - * * 4: cavernous - * * 10: ruined - */ + * vagina type + * * -1: no vagina + * * 0: virgin + * * 1: tight + * * 2: reasonably tight + * * 3: loose + * * 4: cavernous + * * 10: ruined + */ this.vagina = 0; /** how wet she is - * - * 0: dry; 1: wet; 2: soaking wet */ + * + * 0: dry; 1: wet; 2: soaking wet */ this.vaginaLube = 0; /** has vagina piercing - * - * 0: no; 1: yes; 2: heavy */ + * + * 0: no; 1: yes; 2: heavy */ this.vaginaPiercing = 0; /** - * vagina tattoo - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * vagina tattoo + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.vaginaTat = 0; /** - * pregnancy time or state.See Pregnancy Control section for more. - * * -3: sterilized - * * -2: sterile - * * -1: contraceptives - * * 0: fertile - * * 1 - 10: pregnant, not showing - * * 11 - 20: showing - * * 21 - 30: pregnant - * * 30 - 35: very pregnant - */ + * pregnancy time or state.See Pregnancy Control section for more. + * * -3: sterilized + * * -2: sterile + * * -1: contraceptives + * * 0: fertile + * * 1 - 10: pregnant, not showing + * * 11 - 20: showing + * * 21 - 30: pregnant + * * 30 - 35: very pregnant + */ this.preg = -1; /** * accepts ID See Pregnancy Control section for more. @@ -1014,40 +1014,44 @@ App.Entity.SlaveState = class SlaveState { * * -9: a futanari sister * * -8: an animal * * -7: designer baby - * * -2: Citizen of your arcology - * * -1: You + * * -6: a member of the Societal Elite + * * -5: one of your clients + * * -4: another arcology owner + * * -3: your former Master + * * -2: citizen of your arcology + * * -1: you * * 0: Unidentifiable */ this.pregSource = 0; /** - * Number of children. - * - * **Warning!** Should be not changed after initial impregnation setup. - * See Pregnancy Control section for more. - */ + * Number of children. + * + * **Warning!** Should be not changed after initial impregnation setup. + * See Pregnancy Control section for more. + */ this.pregType = 0; /** - * Number of ready to be impregnated ova (override normal cases), - * - * For delayed impregnations with multiples.Used onetime on next call of the SetPregType - * widget. After SetPregType use it to override .pregType, it set back to 0 automatically. - */ + * Number of ready to be impregnated ova (override normal cases), + * + * For delayed impregnations with multiples.Used onetime on next call of the SetPregType + * widget. After SetPregType use it to override .pregType, it set back to 0 automatically. + */ this.pregAdaptation = 50; /** - * Ovary implant type. - * - * * 0: no implants - * * "fertility": higher chance of twins (or more) - * * "sympathy": doubles eggs released - * * "asexual": self-fertilizing - */ + * Ovary implant type. + * + * * 0: no implants + * * "fertility": higher chance of twins (or more) + * * "sympathy": doubles eggs released + * * "asexual": self-fertilizing + */ this.ovaImplant = 0; /** - * Womb focused enhancements. - * - * * "none" - * * "restraint": Provides structural support for extremely oversized pregnancies - */ + * Womb focused enhancements. + * + * * "none" + * * "restraint": Provides structural support for extremely oversized pregnancies + */ this.wombImplant = "none"; /** * Menstrual cycle known variable. To be used for fert cycle discover and things like pregnancy without a first period @@ -1081,164 +1085,164 @@ App.Entity.SlaveState = class SlaveState { */ this.broodmotherFetuses = 0; /** - * If broodmother implant set to pause it 's work. - * - * 1: implant on pause !1: working. - * - * If broodmother birth her last baby and her implant is on pause, she will be in contraception like state. - */ + * If broodmother implant set to pause it 's work. + * + * 1: implant on pause !1: working. + * + * If broodmother birth her last baby and her implant is on pause, she will be in contraception like state. + */ this.broodmotherOnHold = 0; /** - * Number of weeks left until last baby will be birthed. - * - * Mainly informative only. Updated automatically at birth process based on remaining fetuses. 0 - 37 - */ + * Number of weeks left until last baby will be birthed. + * + * Mainly informative only. Updated automatically at birth process based on remaining fetuses. 0 - 37 + */ this.broodmotherCountDown = 0; /** - * variable used to set off the birth events - * - * 1: birth this week; 0: not time yet */ + * variable used to set off the birth events + * + * 1: birth this week; 0: not time yet */ this.labor = 0; /** does she have a c-section scar - * - * 1: yes; 0: no */ + * + * 1: yes; 0: no */ this.cSec = 0; /** - * may accept strings, use at own risk - * - * * "none" - * * "a small empathy belly" - * * "a medium empathy belly" - * * "a large empathy belly" - * * "a huge empathy belly" - * * "a corset" - * * "an extreme corset" - */ + * may accept strings, use at own risk + * + * * "none" + * * "a small empathy belly" + * * "a medium empathy belly" + * * "a large empathy belly" + * * "a huge empathy belly" + * * "a corset" + * * "an extreme corset" + */ this.bellyAccessory = "none"; /** - * labia type - * * 0: minimal - * * 1: big - * * 2: huge - * * 3: huge dangling - */ + * labia type + * * 0: minimal + * * 1: big + * * 2: huge + * * 3: huge dangling + */ this.labia = 0; /** - * clit size - * * 0: normal - * * 1: large - * * 2: huge - * * 3: enormous - * * 4: penis-like - * * 5: like a massive penis - */ + * clit size + * * 0: normal + * * 1: large + * * 2: huge + * * 3: enormous + * * 4: penis-like + * * 5: like a massive penis + */ this.clit = 0; /** - * is clit pierced - * * 0: no - * * 1: yes - * * 2: heavy - * * 3: smart - */ + * is clit pierced + * * 0: no + * * 1: yes + * * 2: heavy + * * 3: smart + */ this.clitPiercing = 0; /** - * smart piercing setting - * * "off" - * * "none" - * * "all" - * * "no default setting" - * * "women" - * * "men" - * * "vanilla" - * * "oral" - * * "anal" - * * "boobs" - * * "submissive" - * * "humiliation" - * * "pregnancy" - * * "dom" - * * "masochist" - * * "sadist" - */ + * smart piercing setting + * * "off" + * * "none" + * * "all" + * * "no default setting" + * * "women" + * * "men" + * * "vanilla" + * * "oral" + * * "anal" + * * "boobs" + * * "submissive" + * * "humiliation" + * * "pregnancy" + * * "dom" + * * "masochist" + * * "sadist" + */ this.clitSetting = "vanilla"; /** 0: circumcised; 1+:uncut, also affects foreskin size */ this.foreskin = 0; /** - * anus size - * * 0: virgin - * * 1: tight - * * 2: loose - * * 3: very loose - * * 4: gaping - */ + * anus size + * * 0: virgin + * * 1: tight + * * 2: loose + * * 3: very loose + * * 4: gaping + */ this.anus = 0; /** - * dick size - * * 0: none - * * 1: tiny - * * 2: little - * * 3: normal - * * 4: big - * * 5: huge - * * 6: gigantic - * * 7: massive/gigantic - * * 8: truly imposing/titanic - * * 9: monstrous/absurd - * * 10: awe-inspiring/inhuman - * * 11+: hypertrophied - */ + * dick size + * * 0: none + * * 1: tiny + * * 2: little + * * 3: normal + * * 4: big + * * 5: huge + * * 6: gigantic + * * 7: massive/gigantic + * * 8: truly imposing/titanic + * * 9: monstrous/absurd + * * 10: awe-inspiring/inhuman + * * 11+: hypertrophied + */ this.dick = 0; /** used to calculate size of area around anus. */ this.analArea = 1; /** - * is dick pierced - * * 0: no - * * 1: yes - * * 2: heavy - */ + * is dick pierced + * * 0: no + * * 1: yes + * * 2: heavy + */ this.dickPiercing = 0; /** - * dick tattoo - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * dick tattoo + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.dickTat = 0; /** - * does the slave have a prostate? - * * 0: no - * * 1: normal - * * 2: hyperstimulated +20% - * * 3: modified hyperstimulated +50% - */ + * does the slave have a prostate? + * * 0: no + * * 1: normal + * * 2: hyperstimulated +20% + * * 3: modified hyperstimulated +50% + */ this.prostate = 0; /** - * ball size - * * 0: none - * * 1: vestigial - * * 2: small - * * 3: average - * * 4: large - * * 5: massive - * * 6: huge - * * 7: giant - * * 8: enormous - * * 9: monstrous - * * 10: inhuman - * * 11+: hypertrophied - */ + * ball size + * * 0: none + * * 1: vestigial + * * 2: small + * * 3: average + * * 4: large + * * 5: massive + * * 6: huge + * * 7: giant + * * 8: enormous + * * 9: monstrous + * * 10: inhuman + * * 11+: hypertrophied + */ this.balls = 0; /** * scrotum size @@ -1249,186 +1253,186 @@ App.Entity.SlaveState = class SlaveState { */ this.scrotum = 0; /** has ovaries - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.ovaries = 0; /** has anus piercing - * - * 0: no; 1: yes; 2: heavy */ + * + * 0: no; 1: yes; 2: heavy */ this.anusPiercing = 0; /** - * anus tattoo - * - * takes one of the following strings or 0 - * * "bleached" - * * "tribal patterns" - * * "flowers" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * anus tattoo + * + * takes one of the following strings or 0 + * * "bleached" + * * "tribal patterns" + * * "flowers" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.anusTat = 0; /** - * has makeup - * * 0: none - * * 1: minimal - * * 2: expensive, luxurious - * * 3: color-coordinated with hair - * * 4: heavy - * * 5: neon - * * 6: color-coordinated neon - * * 7: metallic - * * 8: color-coordinated metallic - */ + * has makeup + * * 0: none + * * 1: minimal + * * 2: expensive, luxurious + * * 3: color-coordinated with hair + * * 4: heavy + * * 5: neon + * * 6: color-coordinated neon + * * 7: metallic + * * 8: color-coordinated metallic + */ this.makeup = 0; /** - * nail type - * * 0: neatly clipped - * * 1: long and elegant - * * 2: color-coordinated with hair - * * 3: sharp and claw-like - * * 4: bright and glittery - * * 5: very long and garish - * * 6: neon - * * 7: color-coordinated neon - * * 8: metallic - * * 9: color-coordinated metallic - */ + * nail type + * * 0: neatly clipped + * * 1: long and elegant + * * 2: color-coordinated with hair + * * 3: sharp and claw-like + * * 4: bright and glittery + * * 5: very long and garish + * * 6: neon + * * 7: color-coordinated neon + * * 8: metallic + * * 9: color-coordinated metallic + */ this.nails = 0; /** - * has brand - * - * accepts 0 or string - * * 0: no brand - * * string: brand description */ + * has brand + * + * accepts 0 or string + * * 0: no brand + * * string: brand description */ this.brand = 0; /** - * brand location - * - * accepts string - * * "back" - * * "chest" - * * "ankles" - * * "wrists" - * * "thighs" - * @type {string|number} */ + * brand location + * + * accepts string + * * "back" + * * "chest" + * * "ankles" + * * "wrists" + * * "thighs" + * @type {string|number} */ this.brandLocation = 0; /** has pierced ears - * - * 0: no; 1: yes; 2: heavy */ + * + * 0: no; 1: yes; 2: heavy */ this.earPiercing = 0; /** has pierced nose - * - * 0: no; 1: yes; 2: heavy */ + * + * 0: no; 1: yes; 2: heavy */ this.nosePiercing = 0; /** has eyebrow piercing - * - * 0: no; 1: yes; 2: heavy */ + * + * 0: no; 1: yes; 2: heavy */ this.eyebrowPiercing = 0; /** has navel piercing - * - * 0: no; 1: yes; 2: heavy */ + * + * 0: no; 1: yes; 2: heavy */ this.navelPiercing = 0; /** - * shoulder tattoo - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * shoulder tattoo + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.shouldersTat = 0; /** - * arm tattoo - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * arm tattoo + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.armsTat = 0; /** - * leg tattoo - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * leg tattoo + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.legsTat = 0; /** - * back tattoo - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * back tattoo + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.backTat = 0; /** - * tramp stamp - * - * takes one of the following strings or 0 - * * "tribal patterns" - * * "flowers" - * * "scenes" - * * "Asian art" - * * "degradation" - * * "counting" - * * "advertisements" - * * "rude words" - * * "bovine patterns" - * * "sacrament" - * * "Sacrilege" - * * "Possessive" - * * "Paternalist" - * @type {string|number} */ + * tramp stamp + * + * takes one of the following strings or 0 + * * "tribal patterns" + * * "flowers" + * * "scenes" + * * "Asian art" + * * "degradation" + * * "counting" + * * "advertisements" + * * "rude words" + * * "bovine patterns" + * * "sacrament" + * * "Sacrilege" + * * "Possessive" + * * "Paternalist" + * @type {string|number} */ this.stampTat = 0; /** * * "spare" @@ -1437,117 +1441,117 @@ App.Entity.SlaveState = class SlaveState { */ this.livingRules = "spare"; /** - * * "restrictive" - * * "permissive" - * * "accent elimination" - * * "language lessons" - */ + * * "restrictive" + * * "permissive" + * * "accent elimination" + * * "language lessons" + */ this.speechRules = "restrictive"; /** - * * "permissive" - * * "sapphic" - * * "masturbation" - * * "restrictive" - * * "chastity" - */ + * * "permissive" + * * "sapphic" + * * "masturbation" + * * "restrictive" + * * "chastity" + */ this.releaseRules = "restrictive"; /** - * * "restrictive" - * * "just friends" - * * "permissive" - */ + * * "restrictive" + * * "just friends" + * * "permissive" + */ this.relationshipRules = "restrictive"; /** - * * "none" - * * "induce" - * * "maintain" - */ + * * "none" + * * "induce" + * * "maintain" + */ this.lactationRules = "none"; /** - * * "confinement" - * * "whipping" - * * "chastity" - * * "situational" - */ + * * "confinement" + * * "whipping" + * * "chastity" + * * "situational" + */ this.standardPunishment = "situational"; /** - * * "relaxation" - * * "drugs" - * * "orgasm" - * * "situational" - */ + * * "relaxation" + * * "drugs" + * * "orgasm" + * * "situational" + */ this.standardReward = "situational"; /** follows rules or is exempt from them - * - * 0: exempt; 1: obeys */ + * + * 0: exempt; 1: obeys */ this.useRulesAssistant = 1; /** - * * "healthy" - * * "restricted" - * * "muscle building" - * * "fattening" - * * "slimming" - * * "XX" - * * "XY" - * * "XXY" - * * "cum production" - * * "cleansing" - * * "fertility" - */ + * * "healthy" + * * "restricted" + * * "muscle building" + * * "fattening" + * * "slimming" + * * "XX" + * * "XY" + * * "XXY" + * * "cum production" + * * "cleansing" + * * "fertility" + */ this.diet = "healthy"; /** how much of her diet is cum - * - * 0: none; 1: supplemented; 2: nearly entirely */ + * + * 0: none; 1: supplemented; 2: nearly entirely */ this.dietCum = 0; /** how much of her diet is milk - * - * 0: none; 1: supplemented; 2: nearly entirely */ + * + * 0: none; 1: supplemented; 2: nearly entirely */ this.dietMilk = 0; /** affects work performance, i.e. decreased pay for whoring - * caused by poor/overcrowded sleeping conditions - * - * 0: not tired; 1: tired */ + * caused by poor/overcrowded sleeping conditions + * + * 0: not tired; 1: tired */ this.tired = 0; /** - * * -2: heavy male hormones - * * -1: male hormones - * * 0: none - * * 1: female hormones - * * 2: heavy female hormones - */ + * * -2: heavy male hormones + * * -1: male hormones + * * 0: none + * * 1: female hormones + * * 2: heavy female hormones + */ this.hormones = 0; /** - * * "no drugs" - * * "breast injections" - * * "butt injections" - * * "lip injections" - * * "fertility drugs" - * * "penis enhancement" - * * "testicle enhancement" - * * "psychosuppressants" - * * "steroids" - * * "hormone enhancers" - * * "hormone blockers" - * * "super fertility drugs" - * * "hyper breast injections" - * * "hyper butt injections" - * * "hyper penis enhancement" - * * "hyper testicle enhancement" - * * "female hormone injections" - * * "male hormone injections" - * * "anti-aging cream" - * * "appetite suppressors" - * * "penis atrophiers" - * * "testicle atrophiers" - * * "clitoris atrophiers" - * * "labia atrophiers" - * * "nipple atrophiers" - * * "lip atrophiers" - * * "breast redistributors" - * * "butt redistributors" - * * "sag-B-gone" - * * "growth stimulants" - */ + * * "no drugs" + * * "breast injections" + * * "butt injections" + * * "lip injections" + * * "fertility drugs" + * * "penis enhancement" + * * "testicle enhancement" + * * "psychosuppressants" + * * "steroids" + * * "hormone enhancers" + * * "hormone blockers" + * * "super fertility drugs" + * * "hyper breast injections" + * * "hyper butt injections" + * * "hyper penis enhancement" + * * "hyper testicle enhancement" + * * "female hormone injections" + * * "male hormone injections" + * * "anti-aging cream" + * * "appetite suppressors" + * * "penis atrophiers" + * * "testicle atrophiers" + * * "clitoris atrophiers" + * * "labia atrophiers" + * * "nipple atrophiers" + * * "lip atrophiers" + * * "breast redistributors" + * * "butt redistributors" + * * "sag-B-gone" + * * "growth stimulants" + */ this.drugs = "no drugs"; /** 0: none; 1: preventatives; 2: curatives */ this.curatives = 0; @@ -1556,12 +1560,12 @@ App.Entity.SlaveState = class SlaveState { /** 0: none; 1: standard; 2: powerful */ this.aphrodisiacs = 0; /** - * how addict to aphrodisiacs slave is - * * 0: not - * * 1-2: new addict - * * 3-9: confirmed addict - * * 10+: dependent - */ + * how addict to aphrodisiacs slave is + * * 0: not + * * 1-2: new addict + * * 3-9: confirmed addict + * * 10+: dependent + */ this.addict = 0; /** Fuckdoll degree * @@ -1711,14 +1715,14 @@ App.Entity.SlaveState = class SlaveState { */ this.collar = "none"; /** - * may accept strings, use at own risk - * * "none" - * * "heels" - * * "pumps" - * * "extreme heels" - * * "boots" - * * "flats" - */ + * may accept strings, use at own risk + * * "none" + * * "heels" + * * "pumps" + * * "extreme heels" + * * "boots" + * * "flats" + */ this.shoes = "none"; /** * may accept strings, use at own risk @@ -1772,54 +1776,54 @@ App.Entity.SlaveState = class SlaveState { */ this.legAccessory = "none"; /** - * may accept strings, use at own risk - * * "none" - * * "plug" - * * "large plug" - * * "huge plug" - * * "long plug" - * * "long, large plug" - * * "long, huge plug" - */ + * may accept strings, use at own risk + * * "none" + * * "plug" + * * "large plug" + * * "huge plug" + * * "long plug" + * * "long, large plug" + * * "long, huge plug" + */ this.buttplug = "none"; /** - * Does the slave have an attachment on their buttplug - * - * may accept strings, use at own risk - * * "none" - * * "tail" - * * "fox tail" - * * "cat tail" - */ + * Does the slave have an attachment on their buttplug + * + * may accept strings, use at own risk + * * "none" + * * "tail" + * * "fox tail" + * * "cat tail" + */ this.buttplugAttachment = "none"; /** - * slave intelligence - * * -100 - -96: borderline retarded - * * -95 - -51: very slow - * * -50 - -16: slow - * * -15 - 15: average - * * 16 - 50: smart - * * 51 - 95: very smart - * * 96 - 100: brilliant - */ + * slave intelligence + * * -100 - -96: borderline retarded + * * -95 - -51: very slow + * * -50 - -16: slow + * * -15 - 15: average + * * 16 - 50: smart + * * 51 - 95: very smart + * * 96 - 100: brilliant + */ this.intelligence = 0; /** - * Degree of slave 's education - * * 0: uneducated - * * 1+: partial education (not really used) - * * 15+: educated - * * 30: well educated - */ + * Degree of slave 's education + * * 0: uneducated + * * 1+: partial education (not really used) + * * 15+: educated + * * 30: well educated + */ this.intelligenceImplant = 0; /** - * sex drive - * * 0 - 20: no sex drive - * * 21 - 40: poor sex drive - * * 41 - 60: average sex drive - * * 61 - 80: good sex drive - * * 81 - 95: powerful sex drive - * * 96+: nymphomaniac - */ + * sex drive + * * 0 - 20: no sex drive + * * 21 - 40: poor sex drive + * * 41 - 60: average sex drive + * * 61 - 80: good sex drive + * * 81 - 95: powerful sex drive + * * 96+: nymphomaniac + */ this.energy = 50; /** * The amount of sex the slave had with customers for certain jobs during a week @@ -1836,19 +1840,19 @@ App.Entity.SlaveState = class SlaveState { */ this.need = 0; /** - * attraction to women - * * 0 - 5: disgusted by women - * * 6 - 15: turned off by women - * * 15 - 35: not attracted to women - * * 36 - 65: indifferent to women - * * 66 - 85: attracted to women - * * 86 - 95: aroused by women - * * 96+: passionate about women - * - * *if both attrXX and attrXY > 95, slave will be omnisexual* - * - * *if energy > 95 and either attrXX or attrXY > 95, slave will be nymphomaniac* - */ + * attraction to women + * * 0 - 5: disgusted by women + * * 6 - 15: turned off by women + * * 15 - 35: not attracted to women + * * 36 - 65: indifferent to women + * * 66 - 85: attracted to women + * * 86 - 95: aroused by women + * * 96+: passionate about women + * + * *if both attrXX and attrXY > 95, slave will be omnisexual* + * + * *if energy > 95 and either attrXX or attrXY > 95, slave will be nymphomaniac* + */ this.attrXX = 0; /** * attraction to men @@ -1868,87 +1872,87 @@ App.Entity.SlaveState = class SlaveState { /** 0: no; 1: yes */ this.attrKnown = 0; /** - * * "none" - * * "mindbroken" - * * "submissive" - * * "cumslut" - * * "humiliation" - * * "buttslut" - * * "boobs" - * * "sadist" - * * "masochist" - * * "dom" - * * "pregnancy" - */ + * * "none" + * * "mindbroken" + * * "submissive" + * * "cumslut" + * * "humiliation" + * * "buttslut" + * * "boobs" + * * "sadist" + * * "masochist" + * * "dom" + * * "pregnancy" + */ this.fetish = "none"; /** how strong her fetish is (10-100) - * - * 10+: enjoys fetish; 60+: likes fetish; 95+: loves fetish */ + * + * 10+: enjoys fetish; 60+: likes fetish; 95+: loves fetish */ this.fetishStrength = 70; /** is fetish known to player - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.fetishKnown = 0; /** - * * "none" - * * "arrogant": clings to her dignity, thinks slavery is beneath her - * * "bitchy": can 't keep her opinions to herself - * * "odd": says and does odd things - * * "hates men": hates men - * * "hates women": hates women - * * "gluttonous": likes eating, gains weight - * * "anorexic": dislikes eating and being forced to eat, loses weight - * * "devout": resistance through religious faith - * * "liberated": believes slavery is wrong - */ + * * "none" + * * "arrogant": clings to her dignity, thinks slavery is beneath her + * * "bitchy": can 't keep her opinions to herself + * * "odd": says and does odd things + * * "hates men": hates men + * * "hates women": hates women + * * "gluttonous": likes eating, gains weight + * * "anorexic": dislikes eating and being forced to eat, loses weight + * * "devout": resistance through religious faith + * * "liberated": believes slavery is wrong + */ this.behavioralFlaw = "none"; /** - * * "none" - * * "confident": believes she has value as a slave - * * "cutting": often has as witty or cunning remark ready, knows when to say it - * * "funny": is funny - * * "fitness": loves working out - * * "adores women": likes spending time with women - * * "adores men": likes spending time with men - * * "insecure": defines herself on the thoughts of others - * * "sinful": breaks cultural norms - * * "advocate": advocates slavery - */ + * * "none" + * * "confident": believes she has value as a slave + * * "cutting": often has as witty or cunning remark ready, knows when to say it + * * "funny": is funny + * * "fitness": loves working out + * * "adores women": likes spending time with women + * * "adores men": likes spending time with men + * * "insecure": defines herself on the thoughts of others + * * "sinful": breaks cultural norms + * * "advocate": advocates slavery + */ this.behavioralQuirk = "none"; /** - * * "none" - * * "hates oral": hates oral sex - * * "hates anal": hates anal sex - * * "hates penetration": dislikes penetrative sex - * * "shamefast": nervous when naked - * * "idealistic": believes sex should be based on love and consent - * * "repressed": dislikes sex - * * "apathetic": inert during sex - * * "crude": sexually crude and has little sense of what partners find disgusting during sex - * * "judgemental": sexually judgemental and often judges her sexual partners' performance - * * "neglectful": disregards herself in sex - * * "cum addict": addicted to cum - * * "anal addict": addicted to anal - * * "attention whore": addicted to being the center of attention - * * "breast growth": addicted to her own breasts - * * "abusive": sexually abusive - * * "malicious": loves causing pain and suffering - * * "self hating": hates herself - * * "breeder": addicted to being pregnant - */ + * * "none" + * * "hates oral": hates oral sex + * * "hates anal": hates anal sex + * * "hates penetration": dislikes penetrative sex + * * "shamefast": nervous when naked + * * "idealistic": believes sex should be based on love and consent + * * "repressed": dislikes sex + * * "apathetic": inert during sex + * * "crude": sexually crude and has little sense of what partners find disgusting during sex + * * "judgemental": sexually judgemental and often judges her sexual partners' performance + * * "neglectful": disregards herself in sex + * * "cum addict": addicted to cum + * * "anal addict": addicted to anal + * * "attention whore": addicted to being the center of attention + * * "breast growth": addicted to her own breasts + * * "abusive": sexually abusive + * * "malicious": loves causing pain and suffering + * * "self hating": hates herself + * * "breeder": addicted to being pregnant + */ this.sexualFlaw = "none"; /** - * * "none" - * * "gagfuck queen": can take a facefucking - * * "painal queen": knows how far she can go without getting hurt - * * "strugglefuck queen": knows how much resistance her partners want - * * "tease": is a tease - * * "romantic": enjoys the closeness of sex - * * "perverted": enjoys breaking sexual boundaries - * * "caring": enjoys bring her partners to orgasm - * * "unflinching": willing to do anything - * * "size queen": prefers big cocks - */ + * * "none" + * * "gagfuck queen": can take a facefucking + * * "painal queen": knows how far she can go without getting hurt + * * "strugglefuck queen": knows how much resistance her partners want + * * "tease": is a tease + * * "romantic": enjoys the closeness of sex + * * "perverted": enjoys breaking sexual boundaries + * * "caring": enjoys bring her partners to orgasm + * * "unflinching": willing to do anything + * * "size queen": prefers big cocks + */ this.sexualQuirk = "none"; /** 0: does not have; 1: carrier; 2: active * * heterochromia is an exception. String = active @@ -1957,14 +1961,14 @@ App.Entity.SlaveState = class SlaveState { /** Oversized breasts. Increased growth rate, reduced shrink rate. Breasts try to return to oversized state if reduced. */ macromastia: 0, /** Greatly oversized breasts. Increased growth rate, reduced shrink rate. Breasts try to return to oversized state if reduced. - * - * **macromastia + gigantomastia** - Breasts never stop growing. Increased growth rate, no shrink rate. */ + * + * **macromastia + gigantomastia** - Breasts never stop growing. Increased growth rate, no shrink rate. */ gigantomastia: 0, /** is prone to having twins, shorter pregnancy recovery rate */ fertility: 0, /** is prone to having multiples, even shorter pregnancy recovery rate - * - * **fertility + hyperFertility** - will have multiples, even shorter pregnancy recovery rate */ + * + * **fertility + hyperFertility** - will have multiples, even shorter pregnancy recovery rate */ hyperFertility: 0, /** pregnancy does not block ovulation, slave can become pregnant even while pregnant */ superfetation: 0, @@ -1998,17 +2002,17 @@ App.Entity.SlaveState = class SlaveState { /** Values provided by players */ this.custom = new App.Entity.SlaveCustomAddonsState(); /** Does this slave refer to you rudely? - * - * 0: not being rude; 1: insists on calling you a rude title */ + * + * 0: not being rude; 1: insists on calling you a rude title */ this.rudeTitle = 0; /** @type {number[]} */ this.currentRules = []; /** - * Slave has a tattoo that is only recognizable when she has a big belly. - * * "a heart" - * * "a star" - * * "a butterfly" - * @type {string|number} */ + * Slave has a tattoo that is only recognizable when she has a big belly. + * * "a heart" + * * "a star" + * * "a butterfly" + * @type {string|number} */ this.bellyTat = 0; /** * Slave has a series of tattoos to denote how many abortions she has had. @@ -2025,54 +2029,54 @@ App.Entity.SlaveState = class SlaveState { */ this.birthsTat = -1; /** Slave will give birth this week. - * - * 1: true; 0: false */ + * + * 1: true; 0: false */ this.induce = 0; /** Male slave has an anal womb and can get pregnant. - * - * 1: true; 0: false */ + * + * 1: true; 0: false */ this.mpreg = 0; /** How much fluid is distending the slave. - * - * 1: 2L; 2: 4L; 3: 8L */ + * + * 1: 2L; 2: 4L; 3: 8L */ this.inflation = 0; /** - * What kind of fluid is in the slave. - * * "none" - * * "water" - * * "cum" - * * "milk" - * * "food" - * * "aphrodisiac" - * * "curative" - * * "tightener" - */ + * What kind of fluid is in the slave. + * * "none" + * * "water" + * * "cum" + * * "milk" + * * "food" + * * "aphrodisiac" + * * "curative" + * * "tightener" + */ this.inflationType = "none"; /** - * How she is being filled. - * * 0: not - * * 1: oral - * * 2: anal - * * 3: orally by another slave - */ + * How she is being filled. + * * 0: not + * * 1: oral + * * 2: anal + * * 3: orally by another slave + */ this.inflationMethod = 0; /** If inflationMethod === 3, ID of the slave filling her with milk. */ this.milkSource = 0; /** If inflationMethod 3, ID of the slave filling her with cum. */ this.cumSource = 0; /** Slave's internals have ruptured. Used with poor health and overinflation. - * - * 1: true; 0: false */ + * + * 1: true; 0: false */ this.burst = 0; /** Do you and the slave know she is pregnant. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.pregKnown = 0; /** How long she has been pregnant - * - * used in place of .preg when pregnancy speed up and slow down are used on a slave - * - * if negative, designates postpartum. */ + * + * used in place of .preg when pregnancy speed up and slow down are used on a slave + * + * if negative, designates postpartum. */ this.pregWeek = 0; /** * how big their belly is in CCs @@ -2123,15 +2127,15 @@ App.Entity.SlaveState = class SlaveState { */ this.bellyPreg = 0; /** - * how big their belly is in CCs (fluid distension only) - * - * ||thresholds| - * |-|-| - * 100 | bloated - * 2000 | clearly bloated (2 L) - * 5000 | very full (~1 gal) - * 10000 | full to bursting (~2 gal) - */ + * how big their belly is in CCs (fluid distension only) + * + * ||thresholds| + * |-|-| + * 100 | bloated + * 2000 | clearly bloated (2 L) + * 5000 | very full (~1 gal) + * 10000 | full to bursting (~2 gal) + */ this.bellyFluid = 0; /** * Does the slave have a fillable abdominal implant. @@ -2145,87 +2149,87 @@ App.Entity.SlaveState = class SlaveState { */ this.bellyImplant = -1; /** How saggy her belly is after being distended for too long. - * - * 1+ changes belly description */ + * + * 1+ changes belly description */ this.bellySag = 0; /** How saggy her belly is from being too pregnant. - * - * 1+ changes belly description and overrides/coincides with bellySag */ + * + * 1+ changes belly description and overrides/coincides with bellySag */ this.bellySagPreg = 0; /** - * Has the slave 's belly implant been filled this week. Causes health damage for overfilling. - * - * 0: no pain; 1: will experience pain; 2: cannot be filled this week */ + * Has the slave 's belly implant been filled this week. Causes health damage for overfilling. + * + * 0: no pain; 1: will experience pain; 2: cannot be filled this week */ this.bellyPain = 0; /** Does the slave have a cervical implant that slowly feeds cum from being fucked into a fillable implant. - * - * 0: no; 1: vaginal version only; 2: anal version only; 3: both vaginal and anal */ + * + * 0: no; 1: vaginal version only; 2: anal version only; 3: both vaginal and anal */ this.cervixImplant = 0; /** Target .physicalAge for female puberty to occur. */ this.pubertyAgeXX = 13; /** Has the slave gone through female puberty. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.pubertyXX = 0; /** Target .physicalAge for male puberty to occur. */ this.pubertyAgeXY = 13; /** Has the slave gone through male puberty. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.pubertyXY = 0; /** - * not fully implemented. - * * 0: no scars - * * 1: light scarring - * * 2: heavy scarring - * * 3: fresh scarring - * * 4: burns - * * 5: menacing scar - * * 6: exotic scar - */ + * not fully implemented. + * * 0: no scars + * * 1: light scarring + * * 2: heavy scarring + * * 3: fresh scarring + * * 4: burns + * * 5: menacing scar + * * 6: exotic scar + */ this.scars = 0; /** - * In a eugenics society, this slave is a designated breeder. - * - * 1: yes; 0: no */ + * In a eugenics society, this slave is a designated breeder. + * + * 1: yes; 0: no */ this.breedingMark = 0; /** Is the Head Girl permitted to fuck this slave pregnant. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.HGExclude = 0; /** - * What species of sperm she produces. - * * "human" - * * "sterile" - * * "dog" - * * "pig" - * * "horse" - * * "cow" - */ + * What species of sperm she produces. + * * "human" + * * "sterile" + * * "dog" + * * "pig" + * * "horse" + * * "cow" + */ this.ballType = "human"; /** - * What species of ovum she produces. - * * "human" - * * "dog" - * * "pig" - * * "horse" - * * "cow" - */ + * What species of ovum she produces. + * * "human" + * * "dog" + * * "pig" + * * "horse" + * * "cow" + */ this.eggType = "human"; /** Eugenics variable. Is the slave allowed to choose to wear chastity. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.choosesOwnChastity = 0; /** - * Is she on gestation altering drugs? - * * "none" - * * "slow gestation" - * * "speed up" - * * "labor suppressors" - */ + * Is she on gestation altering drugs? + * * "none" + * * "slow gestation" + * * "speed up" + * * "labor suppressors" + */ this.pregControl = "none"; /** - * Array that holds a slaves fitted prosthetics. Opjects are used to ensure easier expansion later (tatoos for limbs and similar). + * Array that holds a slaves fitted prosthetics. Objects are used to ensure easier expansion later (tattoos for limbs and similar). * * Elements of the array should be objects. * * .id: ID of the prosthetic, see setup.prostheticIDs @@ -2234,8 +2238,8 @@ App.Entity.SlaveState = class SlaveState { /** */ this.ageAdjust = 0; /** Slave has undergone hair removal surgery - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.bald = 0; /** Slave is in original body. * @@ -2266,50 +2270,50 @@ App.Entity.SlaveState = class SlaveState { */ this.hormoneBalance = 0; /** Whether a slave is permitted to eat Hedonistic Decadence's specialized slave food. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.onDiet = 0; /** Does the slave have the breast shape maintaining mesh implant. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.breastMesh = 0; /** Used to denote a slave giving birth prematurely. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.prematureBirth = 0; /** Was the slave born prematurely? - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.premature = 0; /** Has the slave had a vasectomy? - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.vasectomy = 0; /** Is the slave's hair under constant maintenance? - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.haircuts = 0; /** Used to tell if the slave is from this game or a previous. - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ this.newGamePlus = 0; /** Her skills */ this.skill = new App.Entity.SlaveSkillsState(); /** Whether she was put in the incubator at birth - * - * 0: no; 1: yes, comforting; 2: yes, terrifying */ + * + * 0: no; 1: yes, comforting; 2: yes, terrifying */ this.tankBaby = 0; /** */ this.clone = 0; /** */ this.geneMods = { /** Does slave have induced NCS? - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ NCS: 0, /** Has the slave undergone the elasticity (plasticity) treatment? - * - * 0: no; 1: yes */ + * + * 0: no; 1: yes */ rapidCellGrowth: 0 }; /* eslint-disable */ @@ -2324,33 +2328,33 @@ App.Entity.SlaveState = class SlaveState { this.albinismOverride = 0; /* eslint-enable */ /** are eyes missing? - * - * 0: none; 1: yes, left; 2: yes, right; 3: yes, both */ + * + * 0: none; 1: yes, left; 2: yes, right; 3: yes, both */ this.missingEyes = 0; /** are arms missing? - * - * 0: none; 1: yes, left; 2: yes, right; 3: yes, both */ + * + * 0: none; 1: yes, left; 2: yes, right; 3: yes, both */ this.missingArms = 0; /** are legs missing? - * - * 0: none; 1: yes, left; 2: yes, right; 3: yes, both */ + * + * 0: none; 1: yes, left; 2: yes, right; 3: yes, both */ this.missingLegs = 0; /** Amount of cash paid to acquire the slave - * - * accepts negative numbers, 0, or 1. - * 1: unknown price; 0: free; negative: amount paid */ + * + * accepts negative numbers, 0, or 1. + * 1: unknown price; 0: free; negative: amount paid */ this.slaveCost = 0; /** Amount of cash you have spent because of this slave - * - * accepts negative numbers or 0 */ + * + * accepts negative numbers or 0 */ this.lifetimeCashExpenses = 0; /** Total amount of cash you have earned because of this slave - * - * accepts positive numbers or 0 */ + * + * accepts positive numbers or 0 */ this.lifetimeCashIncome = 0; /** Amount of cash you have earned because of this slave last week - * - * accepts positive numbers or 0 */ + * + * accepts positive numbers or 0 */ this.lastWeeksCashIncome = 0; /** Not currently used, will work similarly to the cash variables above */ this.lifetimeRepExpenses = 0; diff --git a/src/js/dTree.min.js b/src/js/dTree.min.js index b29089b88995fe7df6cab432f07f2e71d7f2e090..763229745b4f0a14cca35e4266268d9882de2a77 100644 --- a/src/js/dTree.min.js +++ b/src/js/dTree.min.js @@ -2,9 +2,9 @@ ; (function (window, define, exports) { /** - * @license - * Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE - */ +* @license +* Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE +*/ ;(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&false!==t(n[r],r,n););return n}function i(n,t){for(var r=null==n?0:n.length;r--&&false!==t(n[r],r,n);); return n}function o(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function f(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function c(n,t){return!(null==n||!n.length)&&-1<d(n,t,0)}function a(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return true;return false}function l(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function s(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r]; return n}function h(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function p(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function _(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return true;return false}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,false}),e}function g(n,t,r,e){var u=n.length;for(r+=e?1:-1;e?r--:++r<u;)if(t(n[r],r,n))return r;return-1}function d(n,t,r){if(t===t)n:{ diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js index 413189aa4c9f4f829eab1e08c087c86a645ed559..fc162e699f694d295754b6d7bf90a0d18159d133 100644 --- a/src/js/eventSelectionJS.js +++ b/src/js/eventSelectionJS.js @@ -1233,7 +1233,7 @@ window.generateRandomEventPoolStandard = function(eventSlave) { if (eventSlave.skill.entertainment >= 100) { if (eventSlave.trust > 50) { - if (["serve the public", "serve in the club"].includes(eventSlave.assignment)) { + if (["serve in the club", "serve the public"].includes(eventSlave.assignment)) { State.variables.RESSevent.push("masterful entertainer"); } } @@ -1289,7 +1289,7 @@ window.generateRandomEventPoolStandard = function(eventSlave) { } } - if (["large plug", "long, large plug", "huge plug", "long, huge plug"].includes(eventSlave.buttplug)) { + if (["huge plug", "large plug", "long, huge plug", "long, large plug"].includes(eventSlave.buttplug)) { if (eventSlave.assignment !== "stay confined" && isSlaveAvailable(eventSlave)) { if (eventSlave.devotion <= 20) { if (eventSlave.trust >= -50) { @@ -1732,7 +1732,7 @@ window.generateRandomEventPoolStandard = function(eventSlave) { if (eventSlave.fetishKnown === 1) { if (eventSlave.fetish === "cumslut" || eventSlave.energy > 95) { - if (["whore", "serve the public", "work in the brothel", "serve in the club", "work a glory hole"].includes(eventSlave.assignment)) { + if (["serve in the club", "serve the public", "whore", "work a glory hole", "work in the brothel"].includes(eventSlave.assignment)) { if (eventSlave.devotion > 20) { if (State.variables.PC.dick !== 0) { State.variables.RESSevent.push("cumslut whore"); diff --git a/src/js/hTagMacroJS.js b/src/js/hTagMacroJS.js index be89c63fff6baddf9def7050ddf7f381a4a9d392..cda739f03305721de4ba74bc221624561ab5c990 100644 --- a/src/js/hTagMacroJS.js +++ b/src/js/hTagMacroJS.js @@ -1,17 +1,17 @@ /* - * <<htag>> macro - * A simple macro which allows to create wrapping html elements with dynamic IDs. - * idea blatantly robbed from the spanMacroJS.tw but expanded to a more generic - * case, allowing <div>, <button> or whatever you want. elements, default is for - * the div though. In addition, you can pass an object in as the first argument - * instead of an id, and each of the object's attributes will become attributes - * of the generate tag. - * - * Usage: <<htag id>>...<</htag>> - * Usage: <<htag id tag>>...<</htag>> - * Usage: <<htag attributes>>...<</htag>> - * Usage: <<htag attributes tag>>...<</htag>> - */ +* <<htag>> macro +* A simple macro which allows to create wrapping html elements with dynamic IDs. +* idea blatantly robbed from the spanMacroJS.tw but expanded to a more generic +* case, allowing <div>, <button> or whatever you want. elements, default is for +* the div though. In addition, you can pass an object in as the first argument +* instead of an id, and each of the object's attributes will become attributes +* of the generate tag. +* +* Usage: <<htag id>>...<</htag>> +* Usage: <<htag id tag>>...<</htag>> +* Usage: <<htag attributes>>...<</htag>> +* Usage: <<htag attributes tag>>...<</htag>> +*/ Macro.add('htag', { tags: null, handler() { diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js index 573f3b7ba71fc3218ebc36aba22c15708c6fac05..ad3933cb8beb4d2bdfd7ee85d4bf19dbdc355a69 100644 --- a/src/js/sexActsJS.js +++ b/src/js/sexActsJS.js @@ -252,12 +252,12 @@ window.SimpleVCheck = function SimpleVCheck(times=1) { }; /* - Before using this function, set $partner to the index of the partner in the $slaves array - analTimes is how many times to increment the Anal counts, if there is no Vagina available. - bothTimes is how many times to increment both holes counts (usually it is half of Anal). - In both cases if left undefined it will assume it to be 1. - This also checks for a valid Vagina/Accessory, though most code I've seen does this already, you - never know when someone might use the routine and forget to do such. +Before using this function, set $partner to the index of the partner in the $slaves array +analTimes is how many times to increment the Anal counts, if there is no Vagina available. +bothTimes is how many times to increment both holes counts (usually it is half of Anal). +In both cases if left undefined it will assume it to be 1. +This also checks for a valid Vagina/Accessory, though most code I've seen does this already, you +never know when someone might use the routine and forget to do such. */ window.PartnerVCheck = function PartnerVCheck(analTimes = 1, bothTimes = 1) { const V = State.variables; diff --git a/src/js/spanMacroJS.js b/src/js/spanMacroJS.js index 43bf342a50f17dc2a59d0fe327c1c02de533a6c6..f6404eccf51bbc3d273974151f476460f386405d 100644 --- a/src/js/spanMacroJS.js +++ b/src/js/spanMacroJS.js @@ -1,9 +1,9 @@ /* - * <<span>> macro - * A minimal macro which allows to create <span> elements with dynamic IDs. - * - * Usage: <<span $variable>>...<</span>> - */ +* <<span>> macro +* A minimal macro which allows to create <span> elements with dynamic IDs. +* +* Usage: <<span $variable>>...<</span>> +*/ Macro.add('span', { skipArgs: true, tags: null, diff --git a/src/js/storyJS.js b/src/js/storyJS.js index 2b07b507e0b900097bcf36d41ba4b5049b8851d6..67b99d1ddffdc6fa9f47556ac4b07af6f275ec76 100644 --- a/src/js/storyJS.js +++ b/src/js/storyJS.js @@ -492,10 +492,10 @@ window.overpowerCheck = function(slave, PC) { }; /** - * returns array of IDs of all characters who impregnated slave - * @param {App.Entity.SlaveState} slave - * @returns {number[]} - */ +* returns array of IDs of all characters who impregnated slave +* @param {App.Entity.SlaveState} slave +* @returns {number[]} +*/ window.impregnatedBy = function(slave) { const IDArray = []; if (!Array.isArray(slave.womb)) { diff --git a/src/js/vignettes.js b/src/js/vignettes.js index 9a0a02890bde0a0026a48e3d0f20ea09aa97656d..52a819e977456321df43f19ed37aadcfc86f515b 100644 --- a/src/js/vignettes.js +++ b/src/js/vignettes.js @@ -325,7 +325,7 @@ window.GetVignette = function GetVignette(slave) { break; case "bitchy": vignettes.push({ - text: `${he} makes an emasculating remark to a customer right after they fuck ${him},`, + text: `${he} made an emasculating remark to a customer right after they fuck ${him},`, type: "rep", effect: -1, }); @@ -512,35 +512,35 @@ window.GetVignette = function GetVignette(slave) { switch (slave.behavioralQuirk) { case "confident": vignettes.push({ - text: `${he} confidently presses forward with a wavering potential customer, and makes the sale,`, + text: `${he} confidently pressed forward with a wavering potential customer, and made the sale,`, type: "cash", effect: 1, }); break; case "cutting": vignettes.push({ - text: `${he} makes such a gloriously cutting remark to a male customer that a female bystander comes to ${him} for repeat business,`, + text: `${he} made such a gloriously cutting remark to a male customer that a female bystander came to ${him} for repeat business,`, type: "cash", effect: 1, }); break; case "funny": vignettes.push({ - text: `${he} makes a group of citizens laugh so hard, one of them comes to ${him} for repeat business,`, + text: `${he} made a group of citizens laugh so hard, one of them came to ${him} for repeat business,`, type: "cash", effect: 1, }); break; case "fitness": vignettes.push({ - text: `${he} continues a marathon gangbang past the point where most would have passed out,`, + text: `${he} continued a marathon gangbang past the point where most would have passed out,`, type: "cash", effect: 1, }); break; case "adores women": vignettes.push({ - text: `${he} strikes up a personal friendship with a regular female customer,`, + text: `${he} struck up a personal friendship with a regular female customer,`, type: "rep", effect: 1, }); @@ -552,19 +552,19 @@ window.GetVignette = function GetVignette(slave) { break; case "adores men": vignettes.push({ - text: `${he} strikes up a personal friendship with a regular male customer,`, + text: `${he} struck up a personal friendship with a regular male customer,`, type: "rep", effect: 1, }); vignettes.push({ - text: `${he} practically worships a minor celebrity, eagerly slobbering over his cock and covering ${himself} with his cum,`, + text: `${he} practically worshipped a minor celebrity, eagerly slobbering over his cock and covering ${himself} with his cum,`, type: "rep", effect: 1, }); break; case "insecure": vignettes.push({ - text: `${he} successfully convinces a regular customer that ${he}'s reliant on them emotionally,`, + text: `${he} successfully convinced a regular customer that ${he}'s reliant on them emotionally,`, type: "cash", effect: 1, }); @@ -578,7 +578,7 @@ window.GetVignette = function GetVignette(slave) { break; case "advocate": vignettes.push({ - text: `${he} successfully convinces a wavering potential customer that there's nothing wrong with banging a whore,`, + text: `${he} successfully convinced a wavering potential customer that there's nothing wrong with banging a whore,`, type: "cash", effect: 1, }); @@ -597,28 +597,28 @@ window.GetVignette = function GetVignette(slave) { switch (slave.sexualQuirk) { case "gagfuck queen": vignettes.push({ - text: `${he} earns repeat business from a citizen who's obsessed with gagfucks,`, + text: `${he} earned repeat business from a citizen who's obsessed with gagfucks,`, type: "cash", effect: 1, }); break; case "painal queen": vignettes.push({ - text: `${he} earns repeat business from a citizen who's obsessed with painal,`, + text: `${he} earned repeat business from a citizen who's obsessed with painal,`, type: "cash", effect: 1, }); break; case "strugglefuck queen": vignettes.push({ - text: `${he} earns repeat business from a citizen who's obsessed with strugglefucking,`, + text: `${he} earned repeat business from a citizen who's obsessed with strugglefucking,`, type: "cash", effect: 1, }); break; case "tease": vignettes.push({ - text: `${he} convinces a citizen who's never had sex with a prostitute to patronize ${him} with some truly inspired flirting,`, + text: `${he} convinced a citizen who'd never had sex with a prostitute to patronize ${him} with some truly inspired flirting,`, type: "cash", effect: 1, }); @@ -684,7 +684,7 @@ window.GetVignette = function GetVignette(slave) { } if (slave.counter.vaginal > 500 && slave.vagina > 0) { vignettes.push({ - text: `a customer into degradation becomes obsessed with driving ${his} pussy mileage as high as possible,`, + text: `a customer into degradation became obsessed with driving ${his} pussy mileage as high as possible,`, type: "cash", effect: 1, }); @@ -1945,7 +1945,7 @@ window.GetVignette = function GetVignette(slave) { }); if (slave.nipples === "fuckable") { vignettes.push({ - text: `${he} left lasting impression on a pair of citizens after nearly passing out from a series of intense orgasms from getting ${his} nipples fucked,`, + text: `${he} left a lasting impression on a pair of citizens after nearly passing out from a series of intense orgasms from getting ${his} nipples fucked,`, type: "rep", effect: 2, }); @@ -2016,7 +2016,7 @@ window.GetVignette = function GetVignette(slave) { break; case "bitchy": vignettes.push({ - text: `${he} makes an emasculating remark to a citizen right after they fuck ${him},`, + text: `${he} made an emasculating remark to a citizen right after they fucked ${him},`, type: "rep", effect: -1, }); @@ -2187,7 +2187,7 @@ window.GetVignette = function GetVignette(slave) { break; case "self hating": vignettes.push({ - text: `the way ${he} takes everything thrown at ${him} like nothing disturbs group of citizens, though one of them enjoys it more than they let on and comes to ${him} for sex later,`, + text: `the way ${he} takes everything thrown at ${him} like nothing disturbed a group of citizens, though one of them enjoyed it more than they let on and came to ${him} for sex later,`, type: "rep", effect: 3, }); @@ -2210,71 +2210,71 @@ window.GetVignette = function GetVignette(slave) { break; case "cutting": vignettes.push({ - text: `${he} makes such a gloriously cutting remark to a male citizen that a female bystander takes ${him} right there,`, + text: `${he} made such a gloriously cutting remark to a male citizen that a female bystander takes ${him} right there,`, type: "rep", effect: 1, }); break; case "funny": vignettes.push({ - text: `${he} makes a group of citizens laugh so hard, one of them comes to ${him} for sex later,`, + text: `${he} made a group of citizens laugh so hard, one of them came to ${him} for sex later,`, type: "rep", effect: 1, }); break; case "fitness": vignettes.push({ - text: `${he} continues a marathon gangbang past the point where most would have passed out,`, + text: `${he} continued a marathon gangbang well past the point where most would have passed out,`, type: "rep", effect: 1, }); break; case "adores women": vignettes.push({ - text: `${he} strikes up a personal friendship with a regular female patron,`, + text: `${he} struck up a personal friendship with a regular female patron,`, type: "rep", effect: 1, }); vignettes.push({ - text: `${he} adoringly kisses the feet of a local socialite who leaves ${him} a generous tip,`, + text: `${he} adoringly kissed the feet of a local socialite who leaves ${him} a generous tip,`, type: "cash", effect: 1, }); break; case "adores men": vignettes.push({ - text: `${he} strikes up a personal friendship with a regular male patron,`, + text: `${he} struck up a personal friendship with a regular male patron,`, type: "rep", effect: 1, }); vignettes.push({ - text: `${he} practically worships a minor celebrity, eagerly slobbering over his cock and covering ${himself} with his cum,`, + text: `${he} practically worshipped a minor celebrity, eagerly slobbering over his cock and covering ${himself} with his cum,`, type: "rep", effect: 1, }); break; case "insecure": vignettes.push({ - text: `${he} successfully convinces a regular patron that they are reliant on ${him} emotionally,`, + text: `${he} successfully convinced a regular patron that they are reliant on ${him} emotionally,`, type: "rep", effect: 1, }); break; case "sinful": vignettes.push({ - text: `${he} helps a citizen get past their religious hang-ups through sex with the friendly neighborhood slut,`, + text: `${he} helped a citizen get past their religious hang-ups through sex with the friendly neighborhood slut,`, type: "rep", effect: 1, }); break; case "advocate": vignettes.push({ - text: `${he} successfully convinces a wavering potential citizen that there's nothing wrong with banging a public slut,`, + text: `${he} successfully convinced a wavering potential citizen that there's nothing wrong with banging a public slut,`, type: "rep", effect: 1, }); vignettes.push({ - text: `${he} manages to convince a skeptical businessman about the merits of using slaves,`, + text: `${he} managed to convince a skeptical businessman about the merits of using slaves,`, type: "rep", effect: 1, }); @@ -2288,14 +2288,14 @@ window.GetVignette = function GetVignette(slave) { switch (slave.sexualQuirk) { case "gagfuck queen": vignettes.push({ - text: `${he} earns extra gratitude from a citizen who's obsessed with gagfucks,`, + text: `${he} earned extra gratitude from a citizen who's obsessed with gagfucks,`, type: "rep", effect: 1, }); break; case "painal queen": vignettes.push({ - text: `${he} earns extra gratitude from a citizen who's obsessed with painal,`, + text: `${he} earned extra gratitude from a citizen who's obsessed with painal,`, type: "rep", effect: 1, }); @@ -2309,7 +2309,7 @@ window.GetVignette = function GetVignette(slave) { break; case "tease": vignettes.push({ - text: `${he} convinced a citizen who's never had sex with a street slut to patronize ${him} with some truly inspired flirting,`, + text: `${he} convinced a citizen who'd never had sex with a street slut to patronize ${him} with some truly inspired flirting,`, type: "rep", effect: 1, }); @@ -2333,7 +2333,7 @@ window.GetVignette = function GetVignette(slave) { break; case "perverted": vignettes.push({ - text: `${he} earns some momentary notoriety by engaging in a previously unheard-of sex act,`, + text: `${he} earned some momentary notoriety by engaging in a previously unheard-of sex act,`, type: "rep", effect: 1, }); @@ -3566,6 +3566,11 @@ window.GetVignette = function GetVignette(slave) { effect: 0, }); } else if (slave.assignment === "work as a farmhand" || slave.assignment === window.Job.FARMYARD || slave.assignment === window.Job.FARMER) { + vignettes.push({ + text: `${he} felt energized by the fresh air outdoors`, + type: "health", + effect: 1, + }); if (canWalk(slave)) { vignettes.push({ text: `${he} rather comically injured ${himself} by stepping on a rake,`, @@ -3586,12 +3591,12 @@ window.GetVignette = function GetVignette(slave) { effect: 1, }); vignettes.push({ - text: `${he} dreamt that you decided to have ${him} do nothing but animals for the rest of ${his} life,`, + text: `${he} dreamt that you decided to have ${him} do nothing but fuck animals for the rest of ${his} life,`, type: "devotion", effect: -1 }); vignettes.push({ - text: `${he} dreamt that you wouldn't come to ${his} aid when one of ${his} bestial partners was getting overeager,`, + text: `${he} dreamt that you wouldn't come to ${his} aid when one of ${his} bestial partners became overeager,`, type: "trust", effect: -1 }); diff --git a/src/npc/descriptions/fLips.tw b/src/npc/descriptions/fLips.tw index 06d1e97a537d30267c8f1bfe0f0edff1f0596e4e..a40d774e8b239f9042c177ccd71c5c9736bb37e3 100644 --- a/src/npc/descriptions/fLips.tw +++ b/src/npc/descriptions/fLips.tw @@ -1,6 +1,5 @@ :: FLips [nobr] - <<set $activeSlave.counter.oral++, $oralTotal++>> <<run clearSummaryCache($activeSlave)>> <<setLocalPronouns $activeSlave>> diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw index cce7d7018b494faeb1c440c52b72164bd7b89fe0..5082fae49e649ce77f7fe54dad11cf93484badf1 100644 --- a/src/npc/fFeelings.tw +++ b/src/npc/fFeelings.tw @@ -87,7 +87,7 @@ <</if>> <<if $activeSlave.devotion > 50 && $activeSlave.health < -20>> - I feel <<if $activeSlave.health < -50>>really <</if>>sick, <<Master>>. + I feel <<if $activeSlave.health < -50>>really <</if>><<s>>ick, <<Master>>. <<if $activeSlave.trust > 20>> I wi<<sh>> you could give me <<s>>omething to ea<<s>>e the pain. <</if>> diff --git a/src/pregmod/beastFucked.tw b/src/pregmod/beastFucked.tw index 4489ba2707e850874c2db5288a1fbb99a5f9965b..25f0873024daa9c389dbf90a1b7e8f59eaf3c990 100644 --- a/src/pregmod/beastFucked.tw +++ b/src/pregmod/beastFucked.tw @@ -163,7 +163,7 @@ before calling in the _animal.species. The _animal.species slowly saunters up to $activeSlave.slaveName <<if _activeQuirk != 1>>reluctantly<</if>> grabs the _animal.dickSize cock and gives it a tentative lick. <</if>> <<default>> - The _animal.species clambers up to mount $activeSlave.slaveName, eliciting a squeal from the girl as its claws dig into $his flesh. + The _animal.species clambers up to mount $activeSlave.slaveName, eliciting a squeal from the $girl as its claws dig into $his flesh. <</switch>> <<else>> The _animal.species <<if _sexAct != "oral">> takes a few curious sniffs, then <</if>>lines its cock up with $activeSlave.slaveName's <<switch _sexAct>><<case "vaginal" "anal">>_orifice.<<case "oral">>mouth, then, with a mighty shove, begins to thrust rapidly, in the way that only _animal.species can.<</switch>> diff --git a/src/pregmod/widgets/assignmentFilterWidget.tw b/src/pregmod/widgets/assignmentFilterWidget.tw index 2c47355fb694d3e9d1cf7763cc568473082a3fa0..c37b3fbf0914fe9e7b5a3ff5b31a77fc9fd2be95 100644 --- a/src/pregmod/widgets/assignmentFilterWidget.tw +++ b/src/pregmod/widgets/assignmentFilterWidget.tw @@ -1,14 +1,14 @@ :: assignment-filter widget [widget nobr] /* - * filters the list according to the selected Facility - * function(y) is a loop through $slaves to set assignmentVisible to 1 and returns a new array - * function(x) filters the slaves with the given condition ( here its the assignment ) - * so basically function(x) finds the slaves that are selected and function(y) sets them to be visible +* filters the list according to the selected Facility +* function(y) is a loop through $slaves to set assignmentVisible to 1 and returns a new array +* function(x) filters the slaves with the given condition ( here its the assignment ) +* so basically function(x) finds the slaves that are selected and function(y) sets them to be visible */ /* - * These widgets set the visibilities for the different Facilities +* These widgets set the visibilities for the different Facilities */ <<widget "resetAssignmentFilter">> @@ -99,8 +99,8 @@ <</widget>> /* - * undefinedAssignmentFilter serves no purpose atm - * might use it for RA Slave filter and Matchmaking +* undefinedAssignmentFilter serves no purpose atm +* might use it for RA Slave filter and Matchmaking */ <<widget "undefinedAssignmentFilter">> <<link All>><<showallAssignmentFilter>><<replace $args.full>><<include 'Slave Summary'>><</replace>><</link>><<print " | ">> diff --git a/src/pregmod/widgets/marketWidgets.tw b/src/pregmod/widgets/marketWidgets.tw index b568f38367b81882839bfeb336e8b259d8ae36fe..517b15aca8f883299eb460568db41c031265cee1 100644 --- a/src/pregmod/widgets/marketWidgets.tw +++ b/src/pregmod/widgets/marketWidgets.tw @@ -1,12 +1,12 @@ :: Market Widgets [widget nobr] /* - * Look for widgets in passages tagged with "market:marketname" which - * end in "Populate" and calls them all with the second argument - * (an "origins" array) as argument. - * - * Call like <<AddMarketOrigins "marketname" _possibleOrigins>> - */ +* Look for widgets in passages tagged with "market:marketname" which +* end in "Populate" and calls them all with the second argument +* (an "origins" array) as argument. +* +* Call like <<AddMarketOrigins "marketname" _possibleOrigins>> +*/ <<widget "AddMarketOrigins">> <<if _.isString($args[0]) && _.isArray($args[1])>> diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw index eaec096a1fd28af838d4741fbfaab3198c80a0af..47e1c3baf81b39ab119ecacce7d4d7ed7f82842f 100644 --- a/src/uncategorized/RECI.tw +++ b/src/uncategorized/RECI.tw @@ -484,7 +484,7 @@ $He looks pensive, and goes through two false starts before $he clears $his thro <<EventNameDelink $activeSlave>> <<replace "#result">> When $he <<if canSee($activeSlave)>>sees<<elseif canHear($activeSlave)>>hears<<else>>senses<</if>> you stand up from behind your desk<<if ($PC.dick == 0)>> and pull on a strap-on<</if>>, $he smiles invitingly at you and relaxes. But as you approach, $he <<if canSee($activeSlave)>>sees a dangerous glint in your eyes<<elseif canHear($activeSlave)>>hears a menacing cadence to your footstep<<else>>realizes the reason for your delay<</if>>. One corner of $his mouth flaws upward with anticipation, and $he plays along. $He immediately curls up into a ball on the couch, managing to end up with $his <<if ($activeSlave.weight > 30)>>fat ass squashed enticingly against the seat back<<elseif ($activeSlave.butt > 5)>>absurd ass squashed enticingly against the seat back<<elseif ($activeSlave.butt > 2)>>healthy ass pushed against the seat back<<else>>trim ass against the seat back<</if>>. $He looks up at you with feigned terror and begs, "Plea<<s>>e, <<Master>>, I'm ju<<s>>t an inno<<c>>ent little $girl. Plea<<s>>e don't rape my poor little butt!" You grab an ankle and haul $his <<if ($activeSlave.weight > 10)>>plush<<elseif ($activeSlave.muscles > 5)>>toned<<else>>slender<</if>> $activeSlave.skin body toward you, dragging $him across the couch, and then half-fall atop $him, pushing <<if ($PC.dick == 0)>>the strap-on<<else>>your hard cock<</if>> up the wriggling $girl's butt. $He keeps begging and whining, but $he's managed to bring a hand under $himself and is - <<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis == 1)>> + <<if ($activeSlave.chastityPenis == 1)>> frantically rubbing $his taint. <<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>> rubbing $his submissive little $girl cock. diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 70b993f2a1e5885ee4834e146ce41f428a049f66..0a9dd28bb138b05a9f13f35f50ec4e7191e0a9f4 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -13808,7 +13808,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<elseif canDoAnal($activeSlave)>> <<= AnalVCheck(6)>> <</if>> - You're careful to avoid associating pleasure with misbehavior by taking $his cruelly every time $he eats, pinching $his nipples, and slapping $him <<if $seeRace == 1>>$activeSlave.race <</if>> ass as you ride $him. This is so effective that @@.gold;$he learns to obey@@ and @@.orange;loses weight@@ both. + You're careful to avoid associating pleasure with misbehavior by taking $his cruelly every time $he eats, pinching $his nipples, and slapping $his <<if $seeRace == 1>>$activeSlave.race <</if>> ass as you ride $him. This is so effective that @@.gold;$he learns to obey@@ and @@.orange;loses weight@@ both. <<set $activeSlave.trust -= 5, $activeSlave.weight -= 10, $activeSlave.diet = "healthy">> <</replace>> <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take $his virginity//<</if>> diff --git a/src/uncategorized/buildingWidgets.tw b/src/uncategorized/buildingWidgets.tw index 384355f5569d1a8aab4cce98ae075818dc59326d..835204499bb6de8ef90e214a728b239884bae04c 100644 --- a/src/uncategorized/buildingWidgets.tw +++ b/src/uncategorized/buildingWidgets.tw @@ -208,8 +208,8 @@ Selling this sector would relinquish a 4% interest in $arcologies[0].name. Such <</widget>> /% - Call as <<SectorCounts>> - Updates $AProsperityCap, $Sweatshops. +Call as <<SectorCounts>> +Updates $AProsperityCap, $Sweatshops. %/ <<widget "SectorCounts">> @@ -256,8 +256,8 @@ Selling this sector would relinquish a 4% interest in $arcologies[0].name. Such <</widget>> /% - Call as <<UpdateOwnership>> - Updates $arcologies[0].ownership. +Call as <<UpdateOwnership>> +Updates $arcologies[0].ownership. %/ <<widget "UpdateOwnership">> diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw index 81740843eb0005cfa7bafb3b9725d6254b46e697..623035d48c55140a5568343f60ded47f640e0f04 100644 --- a/src/uncategorized/newSlaveIntro.tw +++ b/src/uncategorized/newSlaveIntro.tw @@ -592,7 +592,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</if>> <</link>> - <br> +<br> <<case "$He submitted to enslavement to get access to modern prenatal care.">> //and since $he's worried about $his child...// @@ -606,7 +606,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.counter.oral += 1>> <<set $oralTotal += 1>> <</link>> - <br> +<br> <<case "$He offered $himself as a slave to escape the horrors a blind $girl faces on the streets.">> //and since $he loathes $his pregnancy...// @@ -625,7 +625,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.pregWeek = -4>> <<run SetBellySize($activeSlave)>> <</link>> - <br> +<br> <<case "$He submitted to enslavement for a better chance at survival than $he had as a migrant.">> //and since $he's trying to do better than life as a migrant...// @@ -652,7 +652,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</link>> <</if>> - <br> +<br> <<case "$He submitted to enslavement as $his only way to obtain surgery to transform $him into a woman.">> //and since $he came here for surgery...// @@ -676,7 +676,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.anus += 1>> <<= AnalVCheck()>> <</link>> - <br> +<br> <<case "$He submitted to enslavement out of a misguided desire to join a sexually libertine society.">> //and since $he's looking for a sexually libertine society...// @@ -703,7 +703,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</link>> <</if>> - <br> +<br> <<case "$He asked to be enslaved out of naïve infatuation with you.">> //and since $he is already infatuated with you...// @@ -737,7 +737,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</link>> <</if>> - <br> +<br> <<case "$He asked to be enslaved in the hope you'd treat a fellow woman well.">> //and since $he's hoping to protect someone...// @@ -760,7 +760,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</link>> <</if>> - <br> +<br> <<case "$He asked to be enslaved since $he felt you were $his only hope of becoming a prettier woman.">> //and since $he desperately wants to be a prettier woman...// @@ -784,7 +784,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</link>> <</if>> - <br> +<br> <<case "$He was transformed and enslaved after $he fell into debt to you.">> //and since $he's so deeply in debt to you...// @@ -800,7 +800,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</link>> <</if>> - <br> +<br> <<case "$He offered $himself to you as a slave to escape a life of boredom.">> //and since $he was so bored...// @@ -815,7 +815,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</link>> <</if>> - <br> +<br> <<case "$He sold $himself into slavery out of fear that life on the streets was endangering $his pregnancy.">> //and since $he is here to protect $his pregnancy...// @@ -830,7 +830,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= AnalVCheck()>> <</link>> <</if>> - <br> +<br> <<case "$He offered $himself to you as a slave to escape the hard life of a free whore.">> //and since $he is trying to escape the hard life of a free whore...// @@ -857,7 +857,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.hStyle = "neat">> <<set $activeSlave.custom.tattoo = " ">> <</link>> - <br> +<br> <<case "$He sold $himself into slavery to escape life on the streets.">> //and since $he is trying to escape life on the streets...// @@ -876,7 +876,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <</if>> <</replace>> <</link>> - <br> +<br> /*Written by DrPill, coded by Boney M*/ <<case "$He was recruited into your service by $his older sister.">> @@ -889,7 +889,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 4>> <</link>> - <br> +<br> <<case "$He was recruited into your service by $his younger sister.">> //and since $he was recruited by $his younger sister...// @@ -901,7 +901,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 4>> <</link>> - <br> +<br> <<case "$He was recruited into your service by $his twin sister.">> //and since $he was recruited by $his twin...// @@ -913,7 +913,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 4>> <</link>> - <br> +<br> <<case "$He was recruited into your service by $his mother.">> //and since $he was recruited by $his mother...// @@ -925,7 +925,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 4>> <</link>> - <br> +<br> <<case "$He was recruited into your service by $his parent.">> //and since $he was recruited by $his parent...// @@ -937,7 +937,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 4>> <</link>> - <br> +<br> <<case "$He was recruited into your service by $his daughter.">> //and since $he was recruited by $his daughter...// @@ -949,7 +949,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 4>> <</link>> - <br> +<br> <</switch>> <br>//Have $him changed...// diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw index eb2cb4b24f0bc5e160d701e8ba9bc19e10137d07..74727a144cf9c2e54d0ed00d7c5d7a8b1aa40dd9 100644 --- a/src/uncategorized/reRecruit.tw +++ b/src/uncategorized/reRecruit.tw @@ -442,8 +442,8 @@ <<set $activeSlave.nosePiercing = random(0,1)>> <<set $activeSlave.clitPiercing = random(0,1)>> <<set $activeSlave.nipplesPiercing = random(0,1)>> -<<set $activeSlave.shouldersTat = either(0, 0, "flowers", "tribal patterns")>> -<<set $activeSlave.stampTat = either(0, 0, "flowers", "tribal patterns")>> +<<set $activeSlave.shouldersTat = either("flowers", "tribal patterns", 0, 0)>> +<<set $activeSlave.stampTat = either("flowers", "tribal patterns", 0, 0)>> <<case "shemale PC">> @@ -483,7 +483,7 @@ <<set $activeSlave.lipsPiercing = random(0,1)>> <<set $activeSlave.clitPiercing = random(0,1)>> <<set $activeSlave.nipplesPiercing = random(0,1)>> -<<set $activeSlave.stampTat = either(0, 0, "tribal patterns", "flowers", "advertisements", "degradation", "rude words")>> +<<set $activeSlave.stampTat = either("advertisements", "degradation", "flowers", "rude words", "tribal patterns", 0, 0)>> <<set $activeSlave.anusTat = either("bleached")>> <<set $activeSlave.pubicHStyle = "waxed">> @@ -2059,7 +2059,7 @@ Not every day in the arcology is calm and this one is most certainly more energe <<elseif $terrain == "oceanic">> canal extending from the front gate as a small convoy of luxury yachts sails in. Your arcology isn't immune to outside old world influences, and the person on the center yacht <</if>> - so happens to be such a force. +so happens to be such a force. Recently, a young musical prodigy has taken both the old world and the free cities by storm. Their rising popularity has gained them quite a following and the attention of some very powerful people. You look at the schedule of events for citizens tonight and, sure enough, they are to appear, live in concert, tonight. You tell $assistantName to set up a live feed of the performance for you so as not to interrupt your work. Several hours later, the young artist comes out on stage to a full house. They perform their latest hits and some fan favorites, but it's the crowd suddenly going silent that disturbs you from your paperwork. You look at the feed to see the artist standing there, a sullen expression on their face, tears streaming down their cheeks, and their body jerking, obviously wracked by occasional sobbing. They take a very quick bow and run off stage, before the feed gets cut. You shrug — artists have breakdowns — and return to your tasks. Surprisingly, $assistantName chimes in to tell you that an unexpected guest has arrived. You have them sent in and are surprised to see the young, visibly distressed prodigy. "I wa<<s>> told by my produ<<c>>er to come here; they <<s>>ay I have earned enough of a debt to be en<<s>>laved. I heard that <<s>>lave<<s>> <<s>>eem to be treated well here and thought that, ju<<s>>t maybe, if I convin<<c>>ed them to let my final performan<<c>>e be here, I would have a chan<<c>>e at a better life than at another arcology owned by a crueler ma<<s>>ter. Plea<<s>>e, would you con<<s>>ider taking me in?" diff --git a/src/uncategorized/reShelterInspection.tw b/src/uncategorized/reShelterInspection.tw index 0c394c4f40932a3a1f340c1eec77e37685624dca..ed6f0feb2ee540abd0232eb3dd3b7313ecb8c59d 100644 --- a/src/uncategorized/reShelterInspection.tw +++ b/src/uncategorized/reShelterInspection.tw @@ -44,8 +44,8 @@ <<set _Inspectee = getSlave(_slave)>> <<set _originSlave = $genePool.find(function(s) { return s.ID == _slave; })>> /* - * this check is currently unnecessary but if in the future the shelter girl IDs list is changed to updated only when acquiring shelter girls, this should be enabled - * +* this check is currently unnecessary but if in the future the shelter girl IDs list is changed to updated only when acquiring shelter girls, this should be enabled +* <<if (ndef _Inspectee)>> <<set $shelterGirlsIDs.delete(_slave)>> <<goto "Random Nonindividual Event">> @@ -423,7 +423,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema "Hey," $he protests, "that'<<s>> normal." The inspector looks incredulous. "What!?" The slave looks insulted and replies, "I love <<s>>e<<x>>! Don't judge me. I take cock in all my hole<<s>>, and I like it. I'm going to beg for butt<<s>>e<<x>> the moment you leave, you bitch." $He defiantly sticks $his rump out at you. The inspector looks deflated, and reluctantly makes a positive note on _his2 tablet. <<set $shelterAbuse -= 1>> <<else>> - "I'm a <<s>>lave," $he says confidently. The inspector frowns. "What does that have to do with it?" The slave beams and replies, "It'<<s>> a hole. I'm a good _girl2, <<s>>o I get fucked in all my hole<<s>>." The inspector looks deflated, and reluctantly makes a positive note on _his2 tablet. + "I'm a <<s>>lave," $he says confidently. The inspector frowns. "What does that have to do with it?" The slave beams and replies, "It'<<s>> a hole. I'm a good $girl, <<s>>o I get fucked in all my hole<<s>>." The inspector looks deflated, and reluctantly makes a positive note on _his2 tablet. <<set $shelterAbuse -= 1>> <</if>> <</if>> diff --git a/src/uncategorized/seRaiding.tw b/src/uncategorized/seRaiding.tw index 1f74a31905af3c4c0b9e6fdffc326d4c8e4837e4..362fa658fb6b22ecd6111d8e5caa8f8992098564 100644 --- a/src/uncategorized/seRaiding.tw +++ b/src/uncategorized/seRaiding.tw @@ -197,7 +197,7 @@ target <<set $activeSlave.skill.oral = 0>> <<set $activeSlave.skill.whoring = 0>> <<set $activeSlave.skill.combat = 1>> - <<set $activeSlave.hStyle = either("very short", "short")>> + <<set $activeSlave.hStyle = either("short", "very short"))>> <<set $activeSlave.boobs = 150>> <<set $activeSlave.vagina = -1>> <<set $activeSlave.clit = 0>> diff --git a/src/uncategorized/seRaidingAssault.tw b/src/uncategorized/seRaidingAssault.tw index 1321a0ee0957b23fbede46e9e69937e317372f82..a864a45297ef36073e48089d0dc2dc09977b3c72 100644 --- a/src/uncategorized/seRaidingAssault.tw +++ b/src/uncategorized/seRaidingAssault.tw @@ -6,7 +6,7 @@ You make your selection and direct your $mercenariesTitle to attack the target. <<set _raidescapeL = 1,_raidescapeU = 3>> <<if $SF.Toggle && $SF.Active >= 1>> - <<if $SF.Squad.Satellite.lv >= 1 && $SF.Squad.Satellite.InOrbit > 0>> + <<if $SF.Squad.Satellite.lv >= 1 && $SF.Squad.Satellite.InOrbit > 0>> <<set _MercCaptureL += 1,_MercCaptureU +1>> <<set _raidescapeL -= 1,_raidescapeU -= 1>> <</if>> diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw index 295605163cf1340b5372dc9cb487bc5bb1cf8b68..edd3a6fbc96551e6285dbdebbafed7768d475cd8 100644 --- a/src/uncategorized/slaveAssignmentsReport.tw +++ b/src/uncategorized/slaveAssignmentsReport.tw @@ -706,26 +706,26 @@ $NPCMarketShareLC = Math.trunc(($NPCSexSupply.lowerClass * 1000) / ($NPCSexSuppl <</if>> /** - * Accordion - * @version 0.7RC - * @author 000-250-006 - * - * @param array _facListArr $args - * Multidimensional temporary array - * 0: The passage name for the facility's report - * 1: The facility name capitalized (@see todo) - * 2: max number of slaves allowed in facility - > 0 implies open - * 3: number of slaves assigned to facility - * 4: ID of the slave assigned to run the facility ("Boss") - * 5: Text title of the Boss - * - * @todo This is a proof of concept construct, if it works and cuts overhead, intended to create an object - * for deeper use in multiple locations, including streamlining reports/facilities code to one widget - * @todo Figure out if this would be better as an object rather than an array for overhead - * StoryInit also? - * @todo Figure out why we're not using ndef/-1 for a bunch of these story variables. Leaky conditionals - * @todo Figure out why we're using variable space with capitalized facility names when we can parse it from true name - */ +* Accordion +* @version 0.7RC +* @author 000-250-006 +* +* @param array _facListArr $args +* Multidimensional temporary array +* 0: The passage name for the facility's report +* 1: The facility name capitalized (@see todo) +* 2: max number of slaves allowed in facility - > 0 implies open +* 3: number of slaves assigned to facility +* 4: ID of the slave assigned to run the facility ("Boss") +* 5: Text title of the Boss +* +* @todo This is a proof of concept construct, if it works and cuts overhead, intended to create an object +* for deeper use in multiple locations, including streamlining reports/facilities code to one widget +* @todo Figure out if this would be better as an object rather than an array for overhead +* StoryInit also? +* @todo Figure out why we're not using ndef/-1 for a bunch of these story variables. Leaky conditionals +* @todo Figure out why we're using variable space with capitalized facility names when we can parse it from true name +*/ <<set _facListArr = [ ["Arcade Report", $arcadeNameCaps, $arcade, $arcadeSlaves, -1, -1], diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw index 2feac3836f0110f94fda9bce0cc1af5022eb4810..41b8762bb2b73e3cc9d760aa48d4e16968d99c9b 100644 --- a/src/utility/miscWidgets.tw +++ b/src/utility/miscWidgets.tw @@ -3,8 +3,8 @@ /* TODO: Modularize. */ /% - Call as <<UpdateNextButton>> - Allows for dynamic updating of the next button in the storyCaption (left side-bar) for events that disable the button until user makes a selection +Call as <<UpdateNextButton>> +Allows for dynamic updating of the next button in the storyCaption (left side-bar) for events that disable the button until user makes a selection %/ <<widget "UpdateNextButton">> <<replace "#nextButton">> @@ -19,7 +19,7 @@ <</widget>> /% - Call as <<SlaveInteractImpreg>> +Call as <<SlaveInteractImpreg>> %/ <<widget "SlaveInteractImpreg">> <<replace #impreg>> @@ -105,7 +105,7 @@ <</widget>> /% - Call as <<SlaveInteractDrugs>> +Call as <<SlaveInteractDrugs>> %/ <<widget "SlaveInteractDrugs">> <<replace #drugs>> @@ -293,7 +293,7 @@ <</widget>> /% - Call as <<SlaveInteractFertility>> +Call as <<SlaveInteractFertility>> %/ <<widget "SlaveInteractFertility">> <<replace #fertilityblock>> @@ -364,7 +364,7 @@ <</replace>> <</widget>> /% - Call as <<SlaveInteractSexOption>> +Call as <<SlaveInteractSexOption>> %/ <<widget "SlaveInteractSexOption">> <<replace #sexoption>> @@ -403,7 +403,7 @@ <</replace>> <</widget>> /% - Call as <<SlaveInteractAnalSexOption>> +Call as <<SlaveInteractAnalSexOption>> %/ <<widget "SlaveInteractAnalSexOption">> <<replace #analsexoption>> @@ -415,7 +415,7 @@ <</replace>> <</widget>> /% - Call as <<SlaveInteractAnalGropeOption>> +Call as <<SlaveInteractAnalGropeOption>> %/ <<widget "SlaveInteractAnalGropeOption">> <<replace #analgropeoption>> @@ -425,7 +425,7 @@ <</replace>> <</widget>> /% - Call as <<SlaveInteractGropeOption>> +Call as <<SlaveInteractGropeOption>> %/ <<widget "SlaveInteractGropeOption">> <<replace #gropeoption>> @@ -437,7 +437,7 @@ <</replace>> <</widget>> /% - Call as <<SlaveInteractDickGropeOption>> +Call as <<SlaveInteractDickGropeOption>> %/ <<widget "SlaveInteractDickGropeOption">> <<replace #dickgropeoption>> @@ -454,8 +454,8 @@ <</replace>> <</widget>> /% - Call as <<agentLeadership>> - Must be within $arcologies[$i] for loop +Call as <<agentLeadership>> +Must be within $arcologies[$i] for loop %/ <<widget "agentLeadership">> <<set $agentBonus = 0>> @@ -533,9 +533,9 @@ <<widget "HisP">><<if _playerSlaveLisp>>_HisPLisp<<else>>_HisP<</if>><</widget>> /% - Call as <<EventFetish>> - $args[0]: Slave. - $args[1]: Fetish. +Call as <<EventFetish>> +$args[0]: Slave. +$args[1]: Fetish. %/ <<widget "EventFetish">> @@ -588,8 +588,8 @@ This experience <</widget>> /% - Call as <<SlaveSort [$slaves]>> - $args[0]: array to sort +Call as <<SlaveSort [$slaves]>> +$args[0]: array to sort %/ <<widget "SlaveSort">> <<run SlaveSort.slaves($args[0])>> @@ -731,9 +731,9 @@ This experience <</widget>> /* - OBSOLETE: Use setPregType()instead! - Call as <<SetPregType>> - $args[0]: Slave. +OBSOLETE: Use setPregType()instead! +Call as <<SetPregType>> +$args[0]: Slave. */ <<widget "SetPregType">> /* IMHO rework is possible. Can be more interesting to play, if this code will take in account more body conditions - age, fat, food, hormone levels, etc. */ <<if $args[0].broodmother < 1>> /* Broodmothers should be not processed here. Necessary now.*/