diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 37cde93cf35f3e5f292171a025e00e72240e13d2..fc2ba55ec02f047b88ce3260a29421a61f6224e6 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -3646,6 +3646,92 @@ window.numberWithCommas = function(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }; +window.numberToWords = function (x) { + if (x === 0) { + return "zero" + } else { + var ONE_TO_NINETEEN = [ + "one", "two", "three", "four", "five", + "six", "seven", "eight", "nine", "ten", + "eleven", "twelve", "thirteen", "fourteen", "fifteen", + "sixteen", "seventeen", "eighteen", "nineteen" + ]; + + var TENS = [ + "ten", "twenty", "thirty", "forty", "fifty", + "sixty", "seventy", "eighty", "ninety" + ]; + + var SCALES = ["thousand", "million", "billion", "trillion"]; + + // helper function for use with Array.filter + function isTruthy(item) { + return !!item; + } + + // convert a number into "chunks" of 0-999 + function chunk(number) { + var thousands = []; + + while (number > 0) { + thousands.push(number % 1000); + number = Math.floor(number / 1000); + } + + return thousands; + } + + // translate a number from 1-999 into English + function inEnglish(number) { + var thousands, hundreds, tens, ones, words = []; + + if (number < 20) { + return ONE_TO_NINETEEN[number - 1]; // may be undefined + } + + if (number < 100) { + ones = number % 10; + tens = number / 10 | 0; // equivalent to Math.floor(number / 10) + + words.push(TENS[tens - 1]); + words.push(inEnglish(ones)); + + return words.filter(isTruthy).join("-"); + } + + hundreds = number / 100 | 0; + words.push(inEnglish(hundreds)); + words.push("hundred"); + words.push(inEnglish(number % 100)); + + return words.filter(isTruthy).join(" "); + } + + // append the word for a scale. Made for use with Array.map + function appendScale(chunk, exp) { + var scale; + if (!chunk) { + return null; + } + scale = SCALES[exp - 1]; + return [chunk, scale].filter(isTruthy).join(" "); + } + + var string = chunk(x) + .map(inEnglish) + .map(appendScale) + .filter(isTruthy) + .reverse() + .join(" "); + + } + if (x > 0) { + return string; + } else { + return "negative " + string; + } +}; + window.jsRandom = function(min,max) { return Math.floor(Math.random()*(max-min+1)+min); }; diff --git a/src/facilities/farmyard/farmyardAnimals.tw b/src/facilities/farmyard/farmyardAnimals.tw index 4a4e61619531323ab6e4293f3c5aef7840cfe77c..e4edb96bd1e6c4685c3d65273d8f9a5611b775ab 100644 --- a/src/facilities/farmyard/farmyardAnimals.tw +++ b/src/facilities/farmyard/farmyardAnimals.tw @@ -1,7 +1,7 @@ :: FarmyardAnimals [nobr] -/*TODO: add prices*/ -/*TODO: these prices will definitely need to be adjusted*/ +/* TODO: add prices */ +/* TODO: these prices will definitely need to be adjusted */ <<set $nextButton = "Back", $nextLink = "Farmyard", $returnTo = "FarmyardAnimals", $showEncyclopedia = 1, $encyclopedia = "Farmyard">> diff --git a/src/facilities/farmyard/farmyardLab.tw b/src/facilities/farmyard/farmyardLab.tw index 821ba34c44c60e39e116429b380f7d14eb79cd2e..9d0d431c6578f6fde5cdaf2b4f32e47537525ef6 100644 --- a/src/facilities/farmyard/farmyardLab.tw +++ b/src/facilities/farmyard/farmyardLab.tw @@ -2,8 +2,6 @@ <<set $nextButton = "Back", $nextLink = "Farmyard", $returnTo = "FarmyardLab", $showEncyclopedia = 1, $encyclopedia = "Farmyard">> -//This is currently under development.// - /* TODO: add plant types and research for them */ <br> diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw index 7f1de38e324a24276936604e7fd64676304f02e1..422fe54f65539c6cf7741cd9cf4f7a57e0e0b096 100644 --- a/src/facilities/nursery/nursery.tw +++ b/src/facilities/nursery/nursery.tw @@ -377,10 +377,6 @@ Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $ <</link>> <</if>> -@@.hotpink;test@@. -@@.@@, -@@.@@; - <br><br> Target age for release: <<textbox "$targetAgeNursery" $targetAgeNursery "Nursery">> [[Minimum Legal Age|Nursery][$targetAgeNursery = $minimumSlaveAge]] diff --git a/src/facilities/nursery/nurseryReport.tw b/src/facilities/nursery/nurseryReport.tw index a458a1add76515d7890071e30f652c1fe170f6d7..d5eca5141970e878784087269600eec182c3c4a0 100644 --- a/src/facilities/nursery/nurseryReport.tw +++ b/src/facilities/nursery/nurseryReport.tw @@ -2,7 +2,7 @@ /* TODO: This will most likely still need some rewriting */ <<SlaveSort $NurseryiIDs>> -<<set _DL = $NurseryiIDs.length, $nurserySlaves = _DL, _SL = $slaves.length, _bonusToggle = 0, _healthBonus = 0, _idleBonus = 0, _trustBonus = 0>> +<<set _NL = $NurseryiIDs.length, $nurserySlaves = _NL, _SL = $slaves.length, _bonusToggle = 0, _healthBonus = 0, _idleBonus = 0, _trustBonus = 0>> <<if $nurseryDecoration != "standard">> <<set _devBonus = 1>> @@ -79,151 +79,21 @@ $He has a natural mothering instinct and really makes $his girls feel at home. <<set _idleBonus++, _healthBonus++>> <</if>> - /* TODO: this will need to be reworked - <<set _attendantUsedCure = 0>> - <<for _dI = 0; _dI < _DL; _dI++>> - <<set $i = $slaveIndices[$NurseryiIDs[_dI]]>> - <<if ($slaves[$i].fetish == "mindbroken") && ($slaves[$i].health > 20) && (_attendantUsedCure == 0) && ($nurseryFix != 2)>> - <<set _attendantUsedCure = 1>> - <<if (random(1,100) > 90-$Matron.devotion)>> - <br> @@.green;Something almost miraculous has happened.@@ $Matron.slaveName has always refused to believe that $slaves[$i].slaveName could not be reached, and has lavished patient tenderness on $him in $nurseryName. $slaves[$i].slaveName has begun to respond, and is stirring from $him mental torpor. - <<set $slaves[$i].devotion = -3, $slaves[$i].sexualFlaw = "apathetic", $slaves[$i].behavioralFlaw = either("hates men", "odd"), $slaves[$i].fetish = "none", $slaves[$i].fetishKnown = 1>> - <<set _spr = $genePool.findIndex(function(s) { return s.ID == $slaves[$i].ID; })>> - <<if $genePool[_spr].intelligence > -3>> - <<set $slaves[$i].intelligence = $genePool[_spr].intelligence-1>> - <</if>> - <<if ($arcologies[0].FSPaternalist > 0)>> - Society @@.green;strongly approves@@ of $slaves[$i].slaveName being restored to sanity, which advances ideals about enlightened slaveownership. - <<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>> - <</if>> - <</if>> - <</if>> - <<set _seed = _bonusToggle * 10>> - <<if _bonusToggle == 1 && $slaves[$i].trust < 60>> - <<set $slaves[$i].trust++>> - <</if>> - <<if $Matron.rivalryTarget == $slaves[$i].ID>> - $He constantly harasses $him <<if $Matron.rivalry == 1>>growing rival<<elseif $Matron.rivalry == 2>>rival<<elseif $Matron.rivalry == 3>>bitter rival<</if>>, $slaves[$i].slaveName, preventing $him from getting comfortable and forcing $him to keep $him guard up. - <<set $slaves[$i].devotion -= 4, $slaves[$i].trust -= 4>> - <<if random(1,100) > 35>> - <<set $Matron.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>> - <</if>> - <<elseif $Matron.relationshipTarget == $slaves[$i].ID>> - $He dedicates most of $him attention to $him <<if $Matron.relationship == 1>>friend<<elseif $Matron.relationship == 2>>best friend<<elseif $Matron.relationship == 3>>friend with benefits<<elseif $Matron.relationship == 4>>lover<<elseif $Matron.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making $him stress, both physical and mental, wash away. - <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> - <<elseif $familyTesting == 1 && areRelated($Matron, $slaves[$i]) > 0>> - <<if $slaves[$i].mother == $Matron.ID || $slaves[$i].father == $Matron.ID>> - $He makes sure to spend extra time caring for $him daughter, $slaves[$i].slaveName. - <<set $slaves[$i].trust++, $slaves[$i].health++>> - <<elseif $slaves[$i].ID == $Matron.mother>> - $He makes sure to spend extra time caring for $him mother, $slaves[$i].slaveName. - <<set $slaves[$i].trust++, $slaves[$i].health++>> - <<elseif $slaves[$i].ID == $Matron.father>> - $He makes sure to spend extra time caring for $him father, $slaves[$i].slaveName. - <<set $slaves[$i].trust++, $slaves[$i].health++>> - <<else>> - <<switch areSisters($slaves[$i], $Matron)>> - <<case 1>> - $He makes sure to spend extra time caring for $him twin sister, $slaves[$i].slaveName. - <<set $slaves[$i].trust++, $slaves[$i].health++>> - <<case 2>> - $He makes sure to spend extra time caring for $him sister, $slaves[$i].slaveName. - <<set $slaves[$i].trust++, $slaves[$i].health++>> - <<case 3>> - $He makes sure to spend extra time caring for $him half-sister, $slaves[$i].slaveName. - <<set $slaves[$i].trust++, $slaves[$i].health++>> - <</switch>> - <</if>> - <<elseif $Matron.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - $He makes sure to spend extra time caring for $him $slaves[$i].relation, $slaves[$i].slaveName. - <<set $slaves[$i].trust++>> - <</if>> - <<switch $slaves[$i].prestigeDesc>> - <<case "$He is a famed Free Cities whore, and commands top prices.">> - $He does $him best to relax the famous whore, $slaves[$i].slaveName, making sure to pay special attention to $him worn holes. - <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> - <<case "$He is a famed Free Cities slut, and can please anyone.">> - $He does $him best to soothe the famous entertainer, $slaves[$i].slaveName, letting $him relax in blissful peace. - <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> - <<case "$He is remembered for winning best in show as a cockmilker.">> - <<if ($slaves[$i].balls > 6) && ($slaves[$i].dick != 0)>> - <<if $Matron.fetish == "cumslut">> - $He can't keep $him hands off $slaves[$i].slaveName's cock and balls, but $he doesn't mind being milked constantly. Before long, strands of cum can be found floating all throughout the bath. - <<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>> - <<else>> - $He does $him best to accommodate $slaves[$i].slaveName's massive genitals and tends to $him whenever $he feels a need for release. - <<if random(1,100) > 65 && $Matron.fetish == "none">> - After taking several massive loads to the face, $Matron.slaveName begins to find satisfaction in being coated in cum. - <<set $Matron.fetish = "cumslut", $slaves[_FLs].fetish = "cumslut">> - <</if>> - <</if>> - <</if>> - <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> - <<case "$He is remembered for winning best in show as a dairy cow.">> - <<if ($slaves[$i].lactation > 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) > 6000)>> - <<if $Matron.fetish == "boobs">> - $He can't keep $him hands off $slaves[$i].slaveName's huge breasts, but $he doesn't mind being milked constantly. Before long the bath gains a white tint. - <<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>> - <<else>> - $He does $him best to accommodate $slaves[$i].slaveName's massive breasts and tends to $him whenever $he feels a need for release. - <<if random(1,100) > 65 && $Matron.fetish == "none">> - After multiple milking sessions, $Matron.slaveName begins to find herself fantasizing about having giant milky breasts too. - <<set $Matron.fetish = "boobs", $slaves[_FLs].fetish = "boobs">> - <</if>> - <</if>> - <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> - <</if>> - <<case "$He is remembered for winning best in show as a breeder.">> - <<if $slaves[$i].bellyPreg >= 5000>> - <<if $Matron.fetish == "pregnancy">> - $He can't keep $his hands off $slaves[$i].slaveName's pregnancy, but $he doesn't mind $his full belly being fondled. - <<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>> - <<else>> - $He does $him best to accommodate $slaves[$i].slaveName's pregnancy and to make sure the mother-to-be is happy and comfortable. - <<if random(1,100) > 65 && $Matron.fetish == "none">> - After massaging $slaves[$i].slaveName's growing belly multiple times, $Matron.slaveName begins to find herself fantasizing about being swollen with life too. - <<set $Matron.fetish = "pregnancy", $slaves[_FLs].fetish = "pregnancy">> - <</if>> - <</if>> - <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> - <<else>> - <<if $Matron.fetish == "pregnancy">> - $He can't help but pester $slaves[$i].slaveName with questions about $him famous pregnancy, limiting $him ability to truly relax. - <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> - <<elseif canGetPregnant($slaves[$i])>> - $He does $him best to encourage $slaves[$i].slaveName's fertilization by performing any fertility boosting actions $he can. - <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> - <</if>> - <</if>> - <</switch>> - <<if ($Matron.intelligence > 0) && (_attendantUsedCure == 0) && random(1,100) > (100-($Matron.intelligence*10)-_seed) && ($nurseryFix == 0)>> - <<if $slaves[$i].behavioralFlaw != "none">> - <<run SoftenBehavioralFlaw($slaves[$i])>> - <<set _attendantUsedCure += 1>> - <br> $Matron.slaveName works carefully with $slaves[$i].slaveName, and successfully @@.green;softens $him behavioral flaw@@ into an appealing quirk. - <<elseif $slaves[$i].sexualFlaw != "none">> - <<run SoftenSexualFlaw($slaves[$i])>> - <<set _attendantUsedCure += 1>> - <br> $Matron.slaveName works carefully with $slaves[$i].slaveName, and successfully @@.green;softens $him sexual flaw@@ into an appealing quirk. - <</if>> - <</if>> - <</for>> - */ - <<if (_DL < $nursery)>> - <<set _seed = random(1,10)+(($nursery-_DL)*(random(150,170)+(_idleBonus*10)))>> + <<if (_NL < $nursery)>> + <<set _seed = random(1,10)+(($nursery-_NL)*(random(150,170)+(_idleBonus*10)))>> <<set $cash += _seed>> <br> Since $he doesn't have enough children to occupy all $him time, the nursery takes in citizens' children on a contract basis and $he cares for them too, earning @@.yellowgreen;<<print cashFormat(_seed)>>.@@ - <<if ($arcologies[0].FSRepopulationFocus > 0) && (_DL == 0)>> + <<if ($arcologies[0].FSRepopulationFocus > 0) && (_NL == 0)>> Society @@.green;loves@@ the way you are raising more children for $arcologies[0].name. <<= FSChange ("Repopulationist", 2)>> <</if>> <</if>> - <<if (_DL > 0)>><br><br><</if>> + <<if (_NL > 0)>><br><br><</if>> <</if>> -<<if (_DL > 0)>> - ''<<if (_DL > 1)>>There are _DL slaves<<else>>There is one slave<</if>> resting and recuperating in the nursery.'' - <<if ($arcologies[0].FSHedonisticDecadence > 0) && (_DL == 0)>> +<<if (_NL > 0)>> + ''<<if (_NL > 1)>>There are _NL slaves<<else>>There is one slave<</if>> resting and recuperating in the nursery.'' + <<if ($arcologies[0].FSHedonisticDecadence > 0) && (_NL == 0)>> Society @@.green;approves@@ of your slaves being pampered this way, greatly advancing your laid back culture. <<= FSChange("Hedonism", 1)>> <</if>> @@ -265,7 +135,7 @@ <<set $Matron = $slaves[_FLs]>> <</if>> -<<for _dI = 0; _dI < _DL; _dI++>> +<<for _dI = 0; _dI < _NL; _dI++>> <<set $i = $slaveIndices[$NurseryiIDs[_dI]]>> <<set $slaves[$i].devotion += _devBonus, $slaves[$i].trust += _trustBonus, $slaves[$i].health += _healthBonus>> <<if ($slaves[$i].devotion < 60) && ($slaves[$i].trust < 60)>> @@ -339,7 +209,7 @@ <</if>> <</if>> */ -<<if _DL > 0 || $Matron != 0>> +<<if _NL > 0 || $Matron != 0>> <br><br> <</if>> diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw index 3e8a2a660f1018551e6262b69fa2b772616d5b77..22f6a67080b0d4d4d4bb3b441eb2622ebc629722 100644 --- a/src/gui/Encyclopedia/encyclopedia.tw +++ b/src/gui/Encyclopedia/encyclopedia.tw @@ -1683,13 +1683,13 @@ ARCOLOGY FACILITIES <<case "Nursery">> - The ''Nursery'' is used to raise children from birth naturally. Once a spot is reserved for the child, they will be placed in the Nursery upon birth and ejected once they are old enough. The Nursery can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so will add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: verify that this is correct */ + The ''Nursery'' is used to raise children from birth naturally. Once a spot is reserved for the child, they will be placed in the Nursery upon birth and ejected once they are old enough. The Nursery can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so can add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: verify that this is correct */ <br><br>''Extended family mode must be enabled.'' //This entry still needs work and will be updated with more information as it matures. If this message is still here, remind one of the devs to remove it.// <<case "Farmyard">> /* TODO: this will need more information */ - The ''Farmyard'' is where the majority of the [[food|Encyclopedia][$encyclopedia = "Food"]] in your arcology is grown, once it is built. It also allows you to house animals<<if $seeBestiality == 1>>, which you can have interact with your slaves<</if>>. The Farmyard can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so will add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: this may need to be changed */ + The ''Farmyard'' is where the majority of the [[food|Encyclopedia][$encyclopedia = "Food"]] in your arcology is grown, once it is built. It also allows you to house animals<<if $seeBestiality == 1>>, which you can have interact with your slaves<</if>>. The Farmyard can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so can add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: this may need to be changed */ <br>//This entry still needs work and will be updated with more information as it matures. If this message is still here, remind one of the devs to remove it.// diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw index b5e7bd140cb63c722ba086158e153b745cc78abb..55f223212137ae4ff4fece7535ff48623d23a29c 100644 --- a/src/js/DefaultRules.tw +++ b/src/js/DefaultRules.tw @@ -189,7 +189,7 @@ window.DefaultRules = (function() { break; case "work as a farmhand": - if ((V.farmyardSlaves < V.farmyard && canWalk(slave))) //TODO: rework these requirements + if ((V.farmyardSlaves < V.farmyard)) //TODO: rework these requirements break; else { RAFacilityRemove(slave, rule); diff --git a/src/js/utilJS.tw b/src/js/utilJS.tw index 59655e0c63c72be8a6088be6b47f752ad7007acd..0c96b764552e3a383d033d4c6271d765a19abe5e 100644 --- a/src/js/utilJS.tw +++ b/src/js/utilJS.tw @@ -503,6 +503,91 @@ window.numberWithCommas = function(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }; +window.numberToWords = function(x) { + if (x === 0) { + return "zero" + } else { + var ONE_TO_NINETEEN = [ + "one", "two", "three", "four", "five", + "six", "seven", "eight", "nine", "ten", + "eleven", "twelve", "thirteen", "fourteen", "fifteen", + "sixteen", "seventeen", "eighteen", "nineteen" + ]; + + var TENS = [ + "ten", "twenty", "thirty", "forty", "fifty", + "sixty", "seventy", "eighty", "ninety" + ]; + + var SCALES = ["thousand", "million", "billion", "trillion"]; + + // helper function for use with Array.filter + function isTruthy(item) { + return !!item; + } + + // convert a number into "chunks" of 0-999 + function chunk(number) { + var thousands = []; + + while (number > 0) { + thousands.push(number % 1000); + number = Math.floor(number / 1000); + } + + return thousands; + } + + // translate a number from 1-999 into English + function inEnglish(number) { + var thousands, hundreds, tens, ones, words = []; + + if (number < 20) { + return ONE_TO_NINETEEN[number - 1]; // may be undefined + } + + if (number < 100) { + ones = number % 10; + tens = number / 10 | 0; // equivalent to Math.floor(number / 10) + + words.push(TENS[tens - 1]); + words.push(inEnglish(ones)); + + return words.filter(isTruthy).join("-"); + } + + hundreds = number / 100 | 0; + words.push(inEnglish(hundreds)); + words.push("hundred"); + words.push(inEnglish(number % 100)); + + return words.filter(isTruthy).join(" "); + } + + // append the word for a scale. Made for use with Array.map + function appendScale(chunk, exp) { + var scale; + if (!chunk) { + return null; + } + scale = SCALES[exp - 1]; + return [chunk, scale].filter(isTruthy).join(" "); + } + + var string = chunk(x) + .map(inEnglish) + .map(appendScale) + .filter(isTruthy) + .reverse() + .join(" "); + + } if (x > 0) { + return string; + } else { + return "negative " + string; + } +}; + window.jsRandom = function(min,max) { return Math.floor(Math.random()*(max-min+1)+min); }; diff --git a/src/pregmod/seHuskSlaveDelivery.tw b/src/pregmod/seHuskSlaveDelivery.tw index 8fa9a88016393577a076f19f4548efe415e030c5..e79e9b722924aa672512d10758116bc7c8e2a173 100644 --- a/src/pregmod/seHuskSlaveDelivery.tw +++ b/src/pregmod/seHuskSlaveDelivery.tw @@ -2,8 +2,8 @@ <<set $huskSlaveOrdered = 0, $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "Enslaving People">> -<<set $activeSlaveOneTimeMinAge = $huskSlave.age>> -<<set $activeSlaveOneTimeMaxAge = $huskSlave.age>> +<<set $activeSlaveOneTimeMinAge = parseInt($huskSlave.age)>> +<<set $activeSlaveOneTimeMaxAge = parseInt($huskSlave.age)>> <<set $one_time_age_overrides_pedo_mode = 1>> <<set $ageAdjustOverride = 1>> <<set $fixedNationality = $huskSlave.nationality>> diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw index edd6d64a0b43e0279f0aecd94b6136e1c021e981..6afe7fc1a720c9ff6e54c011941fe21a2cc28243 100644 --- a/src/pregmod/sePlayerBirth.tw +++ b/src/pregmod/sePlayerBirth.tw @@ -444,7 +444,7 @@ You arrange yourself to give birth, relaxing until your body urges you to begin <<set $PC.birthOther += _others, $PC.birthSelf += _self, $PC.birthCitizen += _citizens, $PC.birthMaster += _oldMaster, $PC.birthArcOwner += _arcOwner, $PC.birthClient += _clients, $PC.birthElite += _elite, $PC.birthLab += _lab, $PC.birthDegenerate += _slavesLength>> <<if _curBabies == 1>> - + <<set _p = 0>> <<if $PC.curBabies[_p].genetics.race == $PC.origRace>> <<set _PCDegree++>> <</if>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 20972b47705297898b4b5b1292ad24ada9d9b271..72b8a37927de4523d42a3dfb76525448a1cbd410 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -728,7 +728,7 @@ <<if ndef $Matron>> <<set $Matron = 0>> <</if>> -<<if ndef $activeChild>> /* TODO: this might need to be moved to somewhere near the top */ +<<if ndef $activeChild>> <<set $activeChild = 0>> <</if>> <<if ndef $nannyInfluence>> diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw index d39996755c3453cab53aabb53afc1ccfac57bf5c..2139a14fc2127424ae31d092649afe3e6801ff05 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -380,11 +380,13 @@ $nursery > 0 || $masterSuiteUpgradePregnancy > 0 || $incubator > 0 || <<else>> <<set _livingExpense = $rulesCost>> <</if>> - <<case "work as a farmhand">> /* TODO: this may need tweaking */ - <<if $slaves[$i].livingRules == "normal">> - <<set _livingExpense = ($rulesCost*1.5)>> + <<case "work as a farmhand">> + <<if $slaves[$i].livingRules == "luxurious">> + <<set _livingExpense = ($rulesCost)>> + <<elseif $slaves[$i].livingRules == "normal">> + <<set _livingExpense = ($rulesCost*2)>> <<else>> - <<set _livingExpense = $rulesCost>> + <<set _livingExpense = ($rulesCost*.9)>> <</if>> <<case "work in the brothel">> <<if $slaves[$i].livingRules == "normal">> diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw index 5e4ddf1689b12534b3b7e656eedfef622de8979d..d7148fab546a49a02999c1f6583b091b5db16e83 100644 --- a/src/uncategorized/saRules.tw +++ b/src/uncategorized/saRules.tw @@ -2153,7 +2153,7 @@ <<set $slaves[$i].trust -= _punishments>> <</switch>> <</if>> - <<case "be the Matron">> /*TODO: this needs major work*/ + <<case "be the Matron">> <<set $slaves[$i].need -= ($NurseryiIDs.length*3)>> <<if $slaves[$i].energy <= 20>> is frigid and has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. @@ -2477,7 +2477,7 @@ <<set $slaves[$i].trust += 1>> <</switch>> <<else>> - <<switch $nurseryDecoration>> /* TODO: these may need to be rewritten - I'm not much of a writer */ + <<switch $nurseryDecoration>> <<case "Chinese Revivalist">> The Oriental artwork in $his personal room reminds $him of $his position and @@.hotpink;renders $him even more submissive.@@ <<set $slaves[$i].devotion += 1>> @@ -4191,8 +4191,8 @@ <</switch>> <</if>> <</if>> - <<case "be the Farmer">> /*TODO: this will need a rewrite*/ - <<set $slaves[$i].need -= $DairyiIDs.length*5>> + <<case "be the Farmer">> + <<set $slaves[$i].need -= $FarmyardiIDs.length*5>> <<if $slaves[$i].energy <= 20>> is frigid and has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> @@ -4208,7 +4208,7 @@ <<if ($slaves[$i].releaseRules == "restrictive")>> willingly begs you to <<saRulesPlayerFetishPlay>> - whenever you inspect $dairyName. + whenever you inspect $farmyardName. <<saRulesPlayerEnergy>> <<saRulesPlayerDiscoversFetish>> <<saRulesPlayerDrugEffects>> @@ -4242,28 +4242,28 @@ <</if>> /* closes releaseRules not restrictive */ <</if>> - $He is @@.hotpink;very happy@@ with $his private room in $dairyName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it. + $He is @@.hotpink;very happy@@ with $his private room in $farmyardName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it. <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> <<if ($slaves[$i].releaseRules != "restrictive")>> <<if ($slaves[$i].energy > 95)>> - <<if $DairyiIDs.length > 2>> + <<if $FarmyardiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for leaving plentiful outlets for $his nymphomania under $his charge. <<else>> - Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $dairyName. + Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $farmyardName. <</if>> <<set $slaves[$i].devotion += 1>> <<elseif ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>> <<if ($slaves[$i].fetish == "sadist")>> - <<if $DairyiIDs.length > 2>> + <<if $FarmyardiIDs.length > 2>> Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;adores@@ you for providing so many cows for $him to rape. <<else>> - Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $dairyName for $him to rape. + Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $farmyardName for $him to rape. <</if>> <<set $slaves[$i].devotion += 1>> <<elseif ($slaves[$i].fetish == "dom")>> - <<if $DairyiIDs.length > 2>> + <<if $FarmyardiIDs.length > 2>> Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;adores@@ you for allowing $him so many cows to dominate. <<else>> Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $his domain. @@ -4311,7 +4311,7 @@ <<if $spa != 0>> usually spends in $spaName<<if $Attendant != 0>> enjoying $Attendant.slaveName's care<</if>>. <<else>> - usually spends relaxing in $his room<<if $DairyiIDs.length > 1>> with the softest cow available<</if>>. + usually spends relaxing in $his room<<if $FarmyardiIDs.length > 1>> with the softest cow available<</if>>. <</if>> <<if $slaves[$i].relationship > 0>> $He often asks to save these breaks so $he can spend them with $his <<if $slaves[$i].relationship == 1>>friend<<elseif $slaves[$i].relationship == 2>>best friend<<elseif $slaves[$i].relationship == 3>>friend with benefits<<elseif $slaves[$i].relationship == 4>>sweetheart<<else>>wife<</if>>. @@ -4508,6 +4508,9 @@ <<case "Aztec Revivalist" "Chinese Revivalist" "Chattel Religionist" "Edo Revivalist" "Arabian Revivalist" "Egyptian Revivalist">> The spare living conditions and daily tasks @@.hotpink;get $him used@@ to the routine of slavery. <<set $slaves[$i].devotion += 1>> + <<case "Roman Revivalist">> + $He is + <<set $slaves[$i].devotion += 2, $slaves[$i].trust += 2>> <<default>> The reasonable living conditions allow $him to relax after the days work. <<if $slaves[$i].pregKnown && $farmyardPregSetting >= 1 && $slaves[$i].bellyPreg >= 1500>> @@ -4560,6 +4563,9 @@ <</if>> <<case "Aztec Revivalist" "Chinese Revivalist" "Chattel Religionist" "Edo Revivalist" "Arabian Revivalist" "Egyptian Revivalist">> The living conditions of $farmyardName might be spare, but they are no means meant to be uncomfortable. + <<case "Roman Revivalist">> + $He is @@.hotpink;very happy@@ about $his cushy living arrangements, and @@.mediumaquamarine;trusts you all the more@@ for it. + <<set $slaves[$i].devotion += 2, $slaves[$i].trust += 2>> <<default>> $He likes $his personal space in $farmyardName's dormitory, even if it's just a small room. <</switch>> diff --git a/src/uncategorized/saWorkTheFarm.tw b/src/uncategorized/saWorkTheFarm.tw index 04a107fd05befbf391b5576644aa6d073b00dd0b..0f6b72fb4772410b8467f13c87b31faf57a45e87 100644 --- a/src/uncategorized/saWorkTheFarm.tw +++ b/src/uncategorized/saWorkTheFarm.tw @@ -1,4 +1,4 @@ -:: SA work the farm [nobr] /* TODO: This entire passage will need to be reworked */ +:: SA Work the Farm [nobr] /* TODO: This entire passage will need to be reworked */ <!-- Statistics gathering --> <<set _incomeStats = getSlaveStatisticData($slaves[$i], $slaves[$i].assignment === Job.DAIRY ? $facility.farmyard : undefined)>> diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw index 7fc2de4a680c796fbc600e472405f46be13e2817..0343685a4a307b5f47d19ab9f6556000d2106d8f 100644 --- a/src/uncategorized/salon.tw +++ b/src/uncategorized/salon.tw @@ -4,6 +4,8 @@ <<set $showEncyclopedia = 1>><<set $encyclopedia = "The Auto Salon">> +<<set _oldHLength = $activeSlave.hLength, _newHLength = 0>> + <h1>The Auto Salon</h1> //$activeSlave.slaveName is seated in the auto salon. $He is awaiting your artistic pleasure.// @@ -334,6 +336,14 @@ <<elseif $activeSlave.hLength < 150>> | [[Apply extensions|Salon][$activeSlave.hLength += 10,$cash -= $modCost]] <</if>> + /* FIXME: get this to work + | Custom length: <<textbox "_newHLength" _oldHLength "Salon">> + <<if (_newHLength < _oldHLength) && (_newHLength > 0)>> + <<set $activeSlave.hLength = _newHLength>> + <<else>> + <<set $activeSlave.hLength = _oldHLength>> + <</if>> + */ <br> Have $his hair carefully maintained at its current length: diff --git a/src/uncategorized/seNonlethalPit.tw b/src/uncategorized/seNonlethalPit.tw index dfda8561560ed8786f444cfb29d500a504dd45cf..2b3f3934e2dbb146a70072f287b47d11b47b209c 100644 --- a/src/uncategorized/seNonlethalPit.tw +++ b/src/uncategorized/seNonlethalPit.tw @@ -1060,8 +1060,8 @@ <</if>> <<else>> <<set _minutesLasted = random(1,5)>> - <<if _canRun == 1>> /* FIXME: clean this mess up */ - $activeSlave.slaveName is quick, but not quick enough. $He manages to last almost <<if _minutesLasted == 1>>a full minute<<else>><<if _minutesLasted == 2>>two<<elseif _minutesLasted == 3>>three<<elseif _minutesLasted == 4>>four<<elseif _minutesLasted == 5>>five<</if>> full minutes<</if>> before the _animal.species finally catches $him. + <<if _canRun == 1>> + $activeSlave.slaveName is quick, but not quick enough. $He manages to last almost <<= numberToWords(_minutesLasted)>> full minutes before the _animal.species finally catches $him. <<elseif _canRun == 0>> $activeSlave.slaveName isn't quick enough to avoid the beast, and $he only manages to last a pitiful thirty seconds before the _animal.species catches $him. <</if>> diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index ece6ce8a24461b531ca30910c9e541c95fddb72a..aa363beeb8c35b8e93a174915d58841cc1ccd59a 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -1302,13 +1302,13 @@ As the remote surgery's long recovery cycle completes, <<if ($activeSlave.devotion > 50) && ($activeSlave.sexualFlaw == "self hating")>> Strong emotions play out on $his face as $he experiences a watershed in $his life of sexual slavery, perhaps the most radical one $he'll ever experience. $He loves you with all $his being, and truly hates $himself. $He finds $himself in an emotional place where $he's willing to accept having had you cut $his dick off. $He knows $he's a worthless piece of trash, and realizes that if you feel like trimming useless bits off $him, that's your prerogative. In moments, $he's confirmed in @@.hotpink;total, final, fanatical submission to your will.@@ It's almost frightening. <<set $activeSlave.devotion += 50>> - <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>> + <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>> $He's such a complete buttslut, though, that $he finds $he doesn't really care. $He never really paid much attention to $his own dick; for $him, sex is about the phalli that get rammed up $his ass. And you didn't take that from $him. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $he'll never be anything but a butthole slut, and of course is forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> - <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>> + <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>> $He's such an oral slut, though, that $he finds $he doesn't really care. $He never really paid much attention to $his dick; for $him, sex is about what $he gets to suck. As far as $he's concerned, you've simply confirmed that $his most important hole is the one in $his face. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $he'll never be anything more than a nice inviting facepussy, and of course, $he's forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> - <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>> + <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>> $He's such a total submissive, though, that $he accepts even this. Having $his cock removed, reducing $him to a sexually helpless place where $he can only receive pleasure by being penetrated, is perhaps the final step in sexual slavery, and $he's a little awed by it. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $his body exists for the sexual gratification of others, and of course, $he's forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> <<elseif $activeSlave.devotion > 95>> @@ -1374,13 +1374,13 @@ As the remote surgery's long recovery cycle completes, <<if ($activeSlave.devotion > 50) && ($activeSlave.sexualFlaw == "self hating")>> Strong emotions play out on $his face as $he experiences a watershed in $his life of sexual slavery, perhaps the most radical one $he'll ever experience. $He loves you with all $his being, and truly hates $himself. $He finds $himself in an emotional place where $he's willing to accept having $his womanhood torn out. $He knows $he's a worthless piece of trash, and realizes that if you feel like removing the parts of $his body that can feel sexual pleasure, that's your prerogative. In moments, $he's confirmed in @@.hotpink;total, final, fanatical submission to your will.@@ It's almost frightening. <<set $activeSlave.devotion += 50>> - <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>> + <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>> $He's such a complete buttslut, though, that $he finds $he doesn't really care. $He never really paid much attention to $his front hole; it got wet when $he got buttfucked, but that was mostly useful to provide a little lube for phalli that fucked it before switching to $his ass. If anything, $he's @@.mediumaquamarine;reassured@@ by the implication that $his asshole is all that matters about $him, and of course is forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> - <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>> + <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>> $He's such an oral slut, though, that $he finds $he doesn't really care. $He viewed $his pussy as a nice place for stimulation while $he licked, blew, and sucked; if $he has to learn to get off from throat stimulation $he will. As far as $he's concerned, you've simply confirmed that $his most important hole is the one in $his face. If anything, $he's @@.mediumaquamarine;reassured@@ by the implication that $his real pussy has always been the one in the middle of $his face, and of course, $he's forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> - <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>> + <<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>> $He's such a total submissive, though, that $he accepts even this. Having $his womanhood torn out, greatly curtailing $his physical ability to enjoy sex, is perhaps the final step in sexual slavery, and $he's a little awed by it. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $his body exists for the degrading sexual gratification of others, and of course, $he's forced even further into @@.hotpink;submission to your will.@@ <<set $activeSlave.devotion += 8, $activeSlave.trust += 8>> <<elseif $activeSlave.devotion > 95>>