diff --git a/compile b/compile index cc15b4a3bacb70de3b23aa7b6efe8544e52e4cbe..fe95b68a0c2cc46d8d16fb5fb59e71400a310561 100755 --- a/compile +++ b/compile @@ -55,7 +55,7 @@ else esac fi -$TWEEGO_EXE -o "bin/FC_pregmod_tmp.html" src/ || build_failed="true" +$TWEEGO_EXE -o "bin/FC_pregmod_tmp.html" src/ --head devTools/head.html || build_failed="true" # Revert AlphaDisclaimer for next compilation git checkout -- src/gui/mainMenu/AlphaDisclaimer.tw diff --git a/compile-git b/compile-git index c0b438e936314ba2e89e82330b45fef2057633da..2897281674b89f2d84eb41a552367f5c6f384ab9 100755 --- a/compile-git +++ b/compile-git @@ -37,7 +37,7 @@ else esac fi -$TWEEGO_EXE -o "bin/FC_pregmod_${HASH}_tmp.html" src/ +$TWEEGO_EXE -o "bin/FC_pregmod_${HASH}_tmp.html" src/ --head devTools/head.html || build_failed="true" #Make the output prettier, replacing \t with a tab and \n with a newline sed -i -e '/^<div id="store-area".*$/s/\\t/\t/g' -e '/^<div id="store-area".*$/s/\\n/\n/g' "bin/FC_pregmod_${HASH}_tmp.html" \ diff --git a/compile-git+java-sanityCheck.sh b/compile-git+java-sanityCheck.sh index 16f5d6ec2d1a9bac22dfb6ca22af72e5b1344d29..2fd438b3d4fc537d84bc99bd3fefc7604167077b 100755 --- a/compile-git+java-sanityCheck.sh +++ b/compile-git+java-sanityCheck.sh @@ -37,7 +37,7 @@ else esac fi -$TWEEGO_EXE -o "bin/FC_pregmod_${HASH}_tmp.html" src/ +$TWEEGO_EXE -o "bin/FC_pregmod_${HASH}_tmp.html" src/ --head devTools/head.html || build_failed="true" #Make the output prettier, replacing \t with a tab and \n with a newline sed -i -e '/^<div id="store-area".*$/s/\\t/\t/g' -e '/^<div id="store-area".*$/s/\\n/\n/g' "bin/FC_pregmod_${HASH}_tmp.html" \ diff --git a/compile.bat b/compile.bat index 03d861e77d597d40a7594f7c9a954ca7ae92f10a..c095971fa11a97bfebc5edd0738d819ad2dd8176 100644 --- a/compile.bat +++ b/compile.bat @@ -6,9 +6,9 @@ pushd %~dp0 if not exist "bin\" mkdir bin :: Run the appropriate compiler for the user's CPU architecture. if %PROCESSOR_ARCHITECTURE% == AMD64 ( - CALL "%~dp0devTools\tweeGo\tweego_win64.exe" -o "%~dp0bin/FC_pregmod.html" "%~dp0src" + CALL "%~dp0devTools\tweeGo\tweego_win64.exe" -o "%~dp0bin/FC_pregmod.html" --head devTools/head.html "%~dp0src" ) else ( - CALL "%~dp0devTools\tweeGo\tweego_win86.exe" -o "%~dp0bin/FC_pregmod.html" "%~dp0src" + CALL "%~dp0devTools\tweeGo\tweego_win86.exe" -o "%~dp0bin/FC_pregmod.html" --head devTools/head.html "%~dp0src" ) popd diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt index 973ddcca18aad651193be41d2f7af3d33bee8f1c..dbf7faa8c58a2863944c53f246acf7fe0e5e90fa 100644 --- a/devNotes/Useful JS Function Documentation.txt +++ b/devNotes/Useful JS Function Documentation.txt @@ -336,7 +336,7 @@ UtilJS [script] lengthToEitherUnit() - takes an int in centimeters e.g. $activeSlave.hLength, returns a string in the format of either `30cm (12 inches)`, `12 inches`, or `30cm` - ValidateFacilityDecoration() - checks the value of the associated variable and it if it infinite i.e NA the text description is reset back to standard. + ValidateFacilityDecoration() - checks the value of the associated variable and it if it infinite i.e. NA the text description is reset back to standard. /* decoration should be passed as "facilityDecoration" in quotes. For example, ValidateFacilityDecoration("brothelDecoration"). The quotes are important, do not pass it as a story variable. */ FSChangePorn() - //Currently unused, widget version routes directly through FSChange() @@ -350,6 +350,10 @@ UtilJS [script] upgradeMultiplierArcology() - outputs a value based off of the PC's engineering skill. + upgradeMultiplierMedicine() - outputs a value based off of the PC's medicine skill. + + upgradeMultiplierTrade() - outputs a value based off of the PC's trading skill. + passageLink() - Creates a HTML element with custom SugarCube attributes which works as a passage link SkillIncrease() - Depreciates the sugarcube functions. diff --git a/devTools/head.html b/devTools/head.html new file mode 100644 index 0000000000000000000000000000000000000000..e32f29194f6df2207e8b530ffe71accc90b44fa6 --- /dev/null +++ b/devTools/head.html @@ -0,0 +1,4 @@ +<!-- Added to the <head> of the html file --> +<link rel="shortcut icon" type="image/x-icon" href="resources/raster/favicon/arcologyVector.ico"> + + diff --git a/src/SecExp/riotControlCenter.tw b/src/SecExp/riotControlCenter.tw index 77c4d39aac530da445045d8bbc2ee0d233c5cfc7..36caeff0ea4c9bfb1852c8a38502a02dc247aa10 100644 --- a/src/SecExp/riotControlCenter.tw +++ b/src/SecExp/riotControlCenter.tw @@ -169,9 +169,9 @@ The riot control center opens its guarded doors to you. The great chamber inside <<if $advancedRiotEquip == 0>> <<link "Develop advanced anti-riot equipment" "riotControlCenter">> <<set $advancedRiotEquip = 1>> - <<run cashX(-30000, "capEx")>> + <<run cashX(forceNeg(30000 * $upgradeMultiplierTrade), "capEx")>> <</link>> - <br>//Costs <<print cashFormat(30000)>>. Will allow the selection of advanced riot equipment in case of a rebellion, which will let your troops fight at full effectiveness while doing reduced collateral damage.// + <br>//Costs <<print cashFormat(30000 * $upgradeMultiplierTrade)>>. Will allow the selection of advanced riot equipment in case of a rebellion, which will let your troops fight at full effectiveness while doing reduced collateral damage.// <<else>> You developed advanced riot equipment, which allows your troops to fight within the confines of your arcology without the fear of doing major collateral damage. <</if>> diff --git a/src/SecExp/secBarracks.tw b/src/SecExp/secBarracks.tw index f8005bc7a093685d279e2382fd1de355928158d1..e1a8a60e1cc1cc419a502d741dcdb582d111a6f1 100644 --- a/src/SecExp/secBarracks.tw +++ b/src/SecExp/secBarracks.tw @@ -49,12 +49,12 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <br> <<if $secBarracksUpgrades.size < 5>> <<link "Increase the size of the barracks" "secBarracks">> - <<run cashX(forceNeg(5000 * ($secBarracksUpgrades.size + 1)), "capEx")>> + <<run cashX(forceNeg(Math.trunc((5000 * ($secBarracksUpgrades.size + 1))*$upgradeMultiplierArcology)), "capEx")>> <<set $secBarracksUpgrades.size += 1>> <<set $maxUnits += 2>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(5000 * ($secBarracksUpgrades.size + 1))>> and will increase the maximum number of units by 2.// + <br>//Costs <<print cashFormat((5000 * ($secBarracksUpgrades.size + 1))*$upgradeMultiplierArcology)>> and will increase the maximum number of units by 2.// <<else>> You've expanded the barracks to their maximum. <</if>> @@ -62,31 +62,31 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <<if $secBarracksUpgrades.luxury == 0>> <<link "Increase the quality of life of your soldiers by installing high tech furniture and appliances." "secBarracks">> <<set $secBarracksUpgrades.luxury += 1>> - <<run cashX(-5000, "capEx")>> + <<run cashX(forceNeg(Math.trunc(5000*$upgradeMultiplierTrade)), "capEx")>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(5000)>> and will provide a 5% bonus to morale.// + <br>//Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierTrade))>> and will provide a 5% bonus to morale.// <<elseif $secBarracksUpgrades.luxury == 1>> <<link "Further increase the quality of life of your soldiers by installing advanced kitchen equipment and hiring skilled chefs." "secBarracks">> <<set $secBarracksUpgrades.luxury += 1>> - <<run cashX(-10000, "capEx")>> + <<run cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierTrade)), "capEx")>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(10000)>> and will provide a 5% bonus to morale, for a total of +10%.// + <br>//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierTrade))>> and will provide a 5% bonus to morale, for a total of +10%.// <<elseif $secBarracksUpgrades.luxury == 2>> <<link "Further increase the quality of life of your soldiers by providing high speed, free access to digital media" "secBarracks">> <<set $secBarracksUpgrades.luxury += 1>> - <<run cashX(-10000, "capEx")>> + <<run cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierTrade)), "capEx")>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(10000)>> and will provide a 5% bonus to morale, for a total of +15%.// + <br>//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierTrade))>> and will provide a 5% bonus to morale, for a total of +15%.// <<elseif $secBarracksUpgrades.luxury == 3>> <<link "Further increase the quality of life of your soldiers by adding and staffing an exclusive brothel to the structure" "secBarracks">> <<set $secBarracksUpgrades.luxury += 1>> - <<run cashX(-15000, "capEx")>> + <<run cashX(forceNeg(Math.trunc(15000*$upgradeMultiplierArcology)), "capEx")>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(15000)>> and will provide a 5% bonus to morale, for a total of +20%.// + <br>//Costs <<print cashFormat(Math.trunc(15000*$upgradeMultiplierArcology))>> and will provide a 5% bonus to morale, for a total of +20%.// <<else>> You've made life in your barracks as good as it can get. <</if>> @@ -94,17 +94,17 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <<if $secBarracksUpgrades.training == 0>> <<link "Add a training facility to the barracks" "secBarracks">> <<set $secBarracksUpgrades.training += 1>> - <<run cashX(-10000, "capEx")>> + <<run cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx")>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(10000)>> and will allow units to accumulate some experience each week.// + <br>//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and will allow units to accumulate some experience each week.// <<elseif $secBarracksUpgrades.training == 1>> <<link "Improve the training facility with modern equipment and skilled personnel" "secBarracks">> <<set $secBarracksUpgrades.training += 1>> - <<run cashX(-20000, "capEx")>> + <<run cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierTrade)), "capEx")>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(20000)>> and will allow units to accumulate experience each week.// + <br>//Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierTrade))>> and will allow units to accumulate experience each week.// <<else>> You have improved the training facility to the limit. <</if>> @@ -112,17 +112,17 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <<if $secBarracksUpgrades.loyaltyMod == 0>> <<link "Add an indoctrination facility to the barracks" "secBarracks">> <<set $secBarracksUpgrades.loyaltyMod += 1>> - <<run cashX(-10000, "capEx")>> + <<run cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx")>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(10000)>> and will slowly raise loyalty of all units// + <br>//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and will slowly raise loyalty of all units// <<elseif $secBarracksUpgrades.loyaltyMod == 1>> <<link "Improve the indoctrination facility with advanced equipment and skilled personnel" "secBarracks">> <<set $secBarracksUpgrades.loyaltyMod += 1>> - <<run cashX(-20000, "capEx")>> + <<run cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierTrade)), "capEx")>> <<set $secBarracksUpkeep += $upgradeUpkeep>> <</link>> - <br>//Costs <<print cashFormat(20000)>> and will raise loyalty of all units faster.// + <br>//Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierTrade))>> and will raise loyalty of all units faster.// <<else>> You have improved the indoctrination facility to the limit. <</if>> diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js index c4644fe8d4ed8ee798a7af3256b05d61a501a813..4b9719478e935a53ca35f27b61989e64f6443040 100644 --- a/src/SpecialForce/SpecialForce.js +++ b/src/SpecialForce/SpecialForce.js @@ -131,7 +131,7 @@ window.SFBC = function() { SFInit(); } } else { - if (SF.MercCon.View) delete SF.MercCon.View; + if (V.SF.MercCon.View) delete V.SF.MercCon.View; if (V.SFUC > 0) V.SF.UC.num=V.SFUC; delete V.SFUC; if (V.SF.Active === -1) SFInit(); if (V.SF.MWU) delete V.SF.MWU; @@ -547,7 +547,7 @@ window.UnitText = function(input) { return `${r} The firebase ${appear} ${barracks} ${comms} ${training} ${slave} ${common} ${garage}${drone} ${hangar} ${launch} ${artillery}`; } break; case 'troop': r += `<br> The large dormitories are`; - const Quantity=`the ${commaNum(S.Troops)} members of ${V.SF.Lower}`; + Quantity=`the ${commaNum(S.Troops)} members of ${V.SF.Lower}`; if (S.Troops < 100) {return `${r} sparsely occupied, ${Quantity} residing within them concentrating together in a corner. The hundreds of empty beds and lockers visibly herald the future`;} else if (S.Troops < 400) {return `${r} lightly occupied, with ${Quantity} starting to spread out across them`;} else if (S.Troops < 800) {return `${r} moderately occupied, though ${Quantity} residing within have a considerable amount of extra room`;} diff --git a/src/SpecialForce/TrickShotNight.tw b/src/SpecialForce/TrickShotNight.tw index 175335d737ff59d97d8bdea939683ba62860699c..579d465072f954b1ce7019250700a75e39f14d52 100644 --- a/src/SpecialForce/TrickShotNight.tw +++ b/src/SpecialForce/TrickShotNight.tw @@ -4,6 +4,26 @@ <<setAssistantPronouns>> +<<if $PC.warfare == -100>> + <<set _shootChance = 5>> +<<elseif $PC.warfare <= -75>> + <<set _shootChance = 10>> +<<elseif $PC.warfare <= -50>> + <<set _shootChance = 15>> +<<elseif $PC.warfare <= -25>> + <<set _shootChance = 20>> +<<elseif $PC.warfare == 0>> + <<set _shootChance = 25>> +<<elseif $PC.warfare <= 25>> + <<set _shootChance = 45>> +<<elseif $PC.warfare <= 50>> + <<set _shootChance = 60>> +<<elseif $PC.warfare <= 75>> + <<set _shootChance = 85>> +<<elseif $PC.warfare >= 100>> + <<set _shootChance = 90>> +<</if>> + Despite your direct elevator, interaction with the majority of your security force is relatively scarce. Aside from mutually exchanged nods in the firebase and the occasional briefing, your $SF.Lower enjoy a degree of autonomy. <br><br>On a particularly lackadaisical evening, you find yourself alerted to a message alert by $assistantName. @@ -30,7 +50,7 @@ Despite your direct elevator, interaction with the majority of your security for <<link "Play it safe">> <<replace "#bountyresult">> - <<if random(1,100) > 50>> + <<if random(1,100) > _shootChance>> Despite your attempts to mitigate risk and play the safest shots possible, it seems lady luck has conspired against you this evening. However, even when your last bullet is shot, your security force pitch you a few bullets to keep you in the game for the rest of the night. You may have lost most of your ¤, but it seems you've @@.green;made some friends.@@ <<run repX(5000, "event")>> <<run cashX(-25000, "event")>> @@ -42,6 +62,7 @@ Despite your direct elevator, interaction with the majority of your security for <</replace>> <</link>> + <<if random(1,100) < _shootChance>> <br> <<link "Up the ante">> <<replace "#bountyresult">> <<set $activeSlaveOneTimeMinAge = 25>> @@ -98,7 +119,7 @@ Despite your direct elevator, interaction with the majority of your security for <<link "A year of servitude">> <<set $activeSlave.clothes = "no clothing">> <<replace "#aliveresult">> - <<if random(1,100) > 50>> + <<if random(1,100) > _shootChance>> For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up $his spoils, the other security force clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've @@.green;made some friends.@@ <<run repX(5000, "event")>> <<run cashX(-50000, "event")>> @@ -125,7 +146,7 @@ Despite your direct elevator, interaction with the majority of your security for <br> <<link "Dock $his wages">> <<replace "#aliveresult">> - <<if random(1,100) > 50>> + <<if random(1,100) > _shootChance>> For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up $his spoils, the other security force members clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've @@.green;made some friends.@@ <<run repX(5000, "event")>> <<run cashX(-50000, "event")>> @@ -140,7 +161,8 @@ Despite your direct elevator, interaction with the majority of your security for </span> <</replace>> <</link>> - + <</if>> + </span> <</replace>> <</link>> // It will cost @@.red;<<print cashFormat(50000)>>@@ to participate in the trick shot night.// diff --git a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw index 377239aaf99d4455ce6044a94e7c5a569479aeee..ad73fa10a6518e4589ca7a4e5d548a24db144544 100644 --- a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw +++ b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw @@ -32,6 +32,8 @@ <</if>> <<run PCDatatypeCleanup()>> <<set $upgradeMultiplierArcology = upgradeMultiplierArcology()>> +<<set $upgradeMultiplierMedicine = upgradeMultiplierMedicine()>> +<<set $upgradeMultiplierTrade = upgradeMultiplierTrade()>> <<set $HackingSkillMultiplier = HackingSkillMultiplier()>> <<if $tempSlave.boobs == 0>> diff --git a/src/endWeek/saStayConfined.js b/src/endWeek/saStayConfined.js index 4d494b2e836a365b912c83a95151bf8a8ca0310f..f1075751a26bba9df2e9c85a056e64e73488af42 100644 --- a/src/endWeek/saStayConfined.js +++ b/src/endWeek/saStayConfined.js @@ -57,7 +57,14 @@ window.saStayConfined = /** @param {App.Entity.SlaveState} slave */ function saS } } - if (slave.sentence == 0 && (slave.devotion > 20 || (slave.devotion >= -20 && slave.trust < -20) || (slave.devotion >= -50 && slave.trust < -50) || slave.fetish == "mindbroken")) { + if (slave.sentence != 0) { + t += ` ${He} has ${slave.sentence}`; + if (slave.sentence == 1) { + t += ` week remaining.`; + } else { + t += ` weeks remaining.`; + } + } else if (slave.devotion > 20 || (slave.devotion >= -20 && slave.trust < -20) || (slave.devotion >= -50 && slave.trust < -50) || slave.fetish == "mindbroken") { if (slave.fetish == "mindbroken") { t += ` ${His} broken mind hinges entirely on other's guidance,`; } else { @@ -71,6 +78,6 @@ window.saStayConfined = /** @param {App.Entity.SlaveState} slave */ function saS } removeJob(slave, slave.assignment); } - + return t; }; diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw index ed54a9c4fe997cd7e13325d014bff9c5682ba29e..bab13f41a239af306a8cac36d1d8ffc3845a80ea 100644 --- a/src/events/intro/initNationalities.tw +++ b/src/events/intro/initNationalities.tw @@ -9,10 +9,6 @@ <<run generatePlayerPronouns($PC)>> -<<set $HackingSkillMultiplier = HackingSkillMultiplier()>> -<<set $upgradeMultiplierArcology = 1>> -<<set $upgradeMultiplierMedicine = 1>> - <<if $PC.career == "wealth">> <<set $trinkets.push("a collection of diplomas from expensive schools")>> <<run cashX(10000, "personalBusiness")>> @@ -29,7 +25,6 @@ <<elseif $PC.career == "medicine">> <<set $trinkets.push("a framed postsurgical x-ray")>> <<set $surgeryCost = Math.trunc($surgeryCost/2)>> - <<set $upgradeMultiplierMedicine = 0.8>> <<elseif $PC.career == "celebrity">> <<set $trinkets.push("a framed copy of the first news story featuring yourself")>> <<run repX(4000, "event")>> @@ -249,6 +244,11 @@ <<set $arcologies[0].childhoodFertilityInducedNCSResearch = 0>> +<<set $HackingSkillMultiplier = HackingSkillMultiplier()>> +<<set $upgradeMultiplierArcology = upgradeMultiplierArcology()>> +<<set $upgradeMultiplierMedicine = upgradeMultiplierMedicine()>> +<<set $upgradeMultiplierTrade = upgradeMultiplierTrade()>> + /*Nationalities Setup*/ <<unset $nationalitiescheck>> /* Removes unique nationalities array to avoid var bloat */ diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw index b44ac1f37449d5c9c73970c43d2728e1ae0fcbd5..12666fe9b69397ff4e9dba973f2a29ac7fa7e179 100644 --- a/src/facilities/farmyard/farmyard.tw +++ b/src/facilities/farmyard/farmyard.tw @@ -186,7 +186,7 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and <br> There is enough room in $farmyardName to build housing, enough to give <<print $farmMenialsSpace+100>> menials a place to sleep and relax. [[Build a unit|Farmyard][cashX(forceNeg(Math.trunc(1000*$upgradeMultiplierArcology), "farmyard")), $farmMenialsSpace += 100]] - //Costs @@.yellowgreen;<<print cashFormat(1000)>>@@ and will increase upkeep costs// + //Costs @@.yellowgreen;<<print cashFormat(Math.trunc(1000*$upgradeMultiplierArcology))>>@@ and will increase upkeep costs// <</if>> /* closes menial subsection */ </span> diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw index 7645c3af06e676e6658cb1e3009ca2b9083c9775..4f7b2f2feb50b736466716455cdbad70ba51c8f7 100644 --- a/src/init/setupVars.tw +++ b/src/init/setupVars.tw @@ -2038,7 +2038,7 @@ Then pick _namePool.random(), or display those names as possible choices, or do <<set setup.harshCollars = [ {name: "Tight steel", value: "tight steel"}, - {name: "Cruel retirement counter", value: "cruel retirement counter", fs: "seeage"}, + {name: "Cruel retirement counter", value: "cruel retirement counter", fs: "seeAge"}, {name: "Uncomfortable leather", value: "uncomfortable leather"}, {name: "Pregnancy biometrics", value: "preg biometrics", fs: "seePreg"}, {name: "Shock punishment", value: "shock punishment"}, diff --git a/src/js/economyJS.js b/src/js/economyJS.js index b8efa6520e9d7fb20d546cff37509d6b79f72bca..8ef3f5edff213e9dae0767e63e56b7672369cc8b 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -1,3 +1,5 @@ +/* eslint-disable no-redeclare */ +/* eslint-disable no-undef */ window.LivingRule = Object.freeze({LUXURIOUS: 'luxurious', NORMAL: 'normal', SPARE: 'spare'}); window.Job = Object.freeze({ DAIRY: 'work in the dairy', MILKMAID: 'be the Milkmaid', MASTER_SUITE: 'serve in the master suite', CONCUBINE: 'be your Concubine', @@ -10,8 +12,8 @@ window.Job = Object.freeze({ window.PersonalAttention = Object.freeze({TRADE: 'trading', WAR: 'warfare', SLAVING: 'slaving', ENGINEERING: 'engineering', MEDICINE: 'medicine', MAID: 'upkeep', HACKING: 'hacking'}); window.predictCost = function(array) { - var array2 = array; - var totalCosts = ( + const array2 = array; + let totalCosts = ( getBrothelCosts() + getBrothelAdsCosts() + getArcadeCosts() + @@ -61,9 +63,9 @@ window.predictCost = function(array) { }; window.getCost = function(array) { - var array2 = array; - var oldCash = State.variables.cash; - var costSoFar = 0; + const array2 = array; + const oldCash = State.variables.cash; + let costSoFar = 0; cashX(forceNeg(getBrothelCosts()), "brothel"); cashX(forceNeg(getBrothelAdsCosts()), "brothelAds"); cashX(forceNeg(getArcadeCosts()), "arcade"); @@ -108,9 +110,9 @@ window.getCost = function(array) { //slave expenses window.predictTotalSlaveCosts = function(array3) { - var loopCosts = 0; + let loopCosts = 0; //slave expenses - for (var slave of array3) { + for (const slave of array3) { loopCosts += getSlaveCost(slave); loopCosts += getSlaveMinorCosts(slave); } @@ -118,9 +120,9 @@ window.predictTotalSlaveCosts = function(array3) { }; window.getTotalSlaveCosts = function(array3) { - var slaveCost = 0; - var slaveCostMinor = 0; - for (var slave of array3) { + let slaveCost = 0; + let slaveCostMinor = 0; + for (const slave of array3) { slaveCost = getSlaveCost(slave); cashX(forceNeg(slaveCost), "slaveUpkeep", slave); slaveCostMinor = getSlaveMinorCosts(slave); @@ -131,16 +133,16 @@ window.getTotalSlaveCosts = function(array3) { //facility expenses window.getBrothelCosts = function() { - var facilityCost = State.variables.facilityCost; - var brothel = State.variables.brothel; - var costs = (brothel * facilityCost); + const facilityCost = State.variables.facilityCost; + const brothel = State.variables.brothel; + let costs = (brothel * facilityCost); costs += (0.1 * State.variables.brothelUpgradeDrugs * brothel * facilityCost); return costs; }; window.getBrothelAdsCosts = function() { - var brothel = State.variables.brothel; - var costs = 0; + const brothel = State.variables.brothel; + let costs = 0; if(brothel > 0) { costs += State.variables.brothelAdsSpending; } @@ -148,18 +150,18 @@ window.getBrothelAdsCosts = function() { }; window.getArcadeCosts = function() { - var facilityCost = State.variables.facilityCost; - var arcade = State.variables.arcade; - var costs = (arcade * facilityCost * 0.5); + const facilityCost = State.variables.facilityCost; + const arcade = State.variables.arcade; + let costs = (arcade * facilityCost * 0.5); costs += (0.2 * State.variables.arcadeUpgradeInjectors * arcade * facilityCost) + (0.2 * State.variables.arcadeUpgradeCollectors * arcade * facilityCost); return costs; }; window.getClubCosts = function() { - var facilityCost = State.variables.facilityCost; - var club = State.variables.club; - var costs = (club * facilityCost); + const facilityCost = State.variables.facilityCost; + const club = State.variables.club; + let costs = (club * facilityCost); costs += (0.2 * State.variables.clubUpgradePDAs * club * facilityCost); if(club > 0) { costs += State.variables.clubAdsSpending; @@ -168,8 +170,8 @@ window.getClubCosts = function() { }; window.getClubAdsCosts = function() { - var club = State.variables.club; - var costs = 0; + const club = State.variables.club; + let costs = 0; if(club > 0) { costs += State.variables.clubAdsSpending; } @@ -177,9 +179,9 @@ window.getClubAdsCosts = function() { }; window.getDairyCosts = function() { - var facilityCost = State.variables.facilityCost; - var dairy = State.variables.dairy; - var costs = (dairy * facilityCost) + (0.2 * State.variables.dairyFeedersUpgrade * dairy * facilityCost) + const facilityCost = State.variables.facilityCost; + const dairy = State.variables.dairy; + let costs = (dairy * facilityCost) + (0.2 * State.variables.dairyFeedersUpgrade * dairy * facilityCost) + (0.1 * State.variables.dairyPregUpgrade * dairy * facilityCost) + (0.2 * State.variables.dairyStimulatorsUpgrade * facilityCost); if(dairy > 0) { @@ -189,9 +191,9 @@ window.getDairyCosts = function() { }; window.getIncubatorCosts = function() { - var facilityCost = State.variables.facilityCost; - var incubator = State.variables.incubator; - var costs = (State.variables.incubator * facilityCost * 10); + const facilityCost = State.variables.facilityCost; + const incubator = State.variables.incubator; + let costs = (State.variables.incubator * facilityCost * 10); costs += (0.2 * State.variables.incubatorUpgradeWeight * incubator * facilityCost) + (0.2 * State.variables.incubatorUpgradeMuscles * incubator * facilityCost) + (0.2 * State.variables.incubatorUpgradeReproduction * incubator * facilityCost) @@ -204,14 +206,14 @@ window.getIncubatorCosts = function() { }; window.getServantsQuartersCosts = function() { - var facilityCost = State.variables.facilityCost; - var servantsQuarters = State.variables.servantsQuarters; - var costs = (0.2 * State.variables.servantsQuartersUpgradeMonitoring * servantsQuarters * facilityCost); + const facilityCost = State.variables.facilityCost; + const servantsQuarters = State.variables.servantsQuarters; + const costs = (0.2 * State.variables.servantsQuartersUpgradeMonitoring * servantsQuarters * facilityCost); return costs; }; window.getMasterSuiteCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.masterSuitePregnancySlaveLuxuries === 1) { costs += 500; } @@ -222,23 +224,23 @@ window.getMasterSuiteCosts = function() { }; window.getNurseryCosts = function() { - var facilityCost = State.variables.facilityCost; - var nursery = State.variables.nursery; - var costs = (nursery * facilityCost); + const facilityCost = State.variables.facilityCost; + const nursery = State.variables.nursery; + const costs = (nursery * facilityCost); return costs; }; window.getFarmyardCosts = function() { - var facilityCost = State.variables.facilityCost; - var farmyard = State.variables.farmyard; - var costs = (farmyard * facilityCost); + const facilityCost = State.variables.facilityCost; + const farmyard = State.variables.farmyard; + const costs = (farmyard * facilityCost); return costs; }; window.getSecurityExpansionCost = function() { //security expansion - var secExpCost = 0; - var soldierMod = 0; + let secExpCost = 0; + let soldierMod = 0; if(State.variables.secExp === 1) { if(State.variables.edictsUpkeep > 0) { secExpCost += State.variables.edictsUpkeep; @@ -267,23 +269,23 @@ window.getSecurityExpansionCost = function() { else { soldierMod = 2; } - if (State.variables.militiaUnits != null) { + if (State.variables.militiaUnits !== null) { for (var i = 0; i < State.variables.militiaUnits.length; i++) { - if( !(State.variables.militiaUnits[i] === null) ) { + if(State.variables.militiaUnits[i] !== null) { secExpCost += State.variables.militiaUnits[i].troops * State.variables.soldierUpkeep * soldierMod; } } } - if (State.variables.slaveUnits != null) { + if (State.variables.slaveUnits !== null) { for (var i = 0; i < State.variables.slaveUnits.length; i++) { - if( !( State.variables.slaveUnits[i] === null) ) { + if(State.variables.slaveUnits[i] !== null) { secExpCost += State.variables.slaveUnits[i].troops * State.variables.soldierUpkeep * 0.5 * soldierMod; } } } - if (State.variables.mercUnits != null) { + if (State.variables.mercUnits !== null) { for (var i = 0; i < State.variables.mercUnits.length; i++) { - if( !(State.variables.mercUnits[i] === null) ) { + if(State.variables.mercUnits[i] !== null) { secExpCost += State.variables.mercUnits[i].troops * State.variables.soldierUpkeep * 1.5 * soldierMod; } } @@ -295,14 +297,14 @@ window.getSecurityExpansionCost = function() { //general arcology costs window.getLifestyleCosts = function() { - var costs = 0; - var localEcon = State.variables.localEcon; + let costs = 0; + const localEcon = State.variables.localEcon; costs += (State.variables.girls * (250 + (50000 / localEcon))); return costs; }; window.getFSCosts = function() { - var costs = 0; + let costs = 0; costs += State.variables.FSSpending; if(State.variables.arcologies[0].FSRepopulationFocusLaw === 1 && State.variables.PC.pregKnown === 1) { costs -= 500; @@ -311,13 +313,13 @@ window.getFSCosts = function() { }; window.getCitizenOrphanageCosts = function() { - var costs = 0; + let costs = 0; costs += State.variables.citizenOrphanageTotal * 100; return costs; }; window.getPrivateOrphanageCosts = function() { - var costs = 0; + let costs = 0; costs += State.variables.privateOrphanageTotal * 500; if(State.variables.breederOrphanageTotal > 0) { costs += 50; @@ -326,7 +328,7 @@ window.getPrivateOrphanageCosts = function() { }; window.getPeacekeeperCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.peacekeepers !== 0 && State.variables.peacekeepers.undermining !== 0) { costs += State.variables.peacekeepers.undermining; } @@ -334,8 +336,8 @@ window.getPeacekeeperCosts = function() { }; window.getMercenariesCosts = function() { - var costs = 0; - var mercCosts = State.variables.mercenaries * 2000; + let costs = 0; + let mercCosts = State.variables.mercenaries * 2000; if(State.variables.mercenaries > 0) { if(State.variables.barracks) { mercCosts *= 0.5; @@ -349,7 +351,7 @@ window.getMercenariesCosts = function() { }; window.getMenialRetirementCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.citizenRetirementMenials === 1) { costs += State.variables.menials * 2; } @@ -358,7 +360,7 @@ window.getMenialRetirementCosts = function() { // policy and other expenses window.getRecruiterCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.Recruiter !== 0) { costs += 250; } @@ -366,7 +368,7 @@ window.getRecruiterCosts = function() { }; window.getSchoolCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.TSS.schoolPresent === 1) { costs += 1000; } @@ -419,8 +421,8 @@ window.getSchoolCosts = function() { }; window.getPolicyCosts = function() { - var costs = 0; - var policyCost = State.variables.policyCost; + let costs = 0; + const policyCost = State.variables.policyCost; if(State.variables.alwaysSubsidizeGrowth === 1) { costs += policyCost; } @@ -445,7 +447,7 @@ window.getPolicyCosts = function() { }; window.getCyberModCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.cyberMod !== 0 && State.variables.researchLab.built === 'true') { costs += ((100 * State.variables.researchLab.maxSpace) + (300 * State.variables.researchLab.hired) + (100 * State.variables.researchLab.hired)); } @@ -455,7 +457,7 @@ window.getCyberModCosts = function() { //player expenses window.getPCTrainingCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.PC.actualAge >= State.variables.IsInPrimePC && State.variables.PC.actualAge < State.variables.IsPastPrimePC) { if(State.variables.personalAttention === PersonalAttention.TRADE) { costs += 10000*State.variables.AgeEffectOnTrainerPricingPC; @@ -474,7 +476,7 @@ window.getPCTrainingCosts = function() { return costs; }; window.getPCCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.PC.preg === -1) { costs += 25; } else if(State.variables.PC.fertDrugs === 1) { @@ -519,7 +521,7 @@ window.getEnvironmentCosts = function(cost) { }; window.getSFCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.SF.Toggle && State.variables.SF.Active >= 1 && State.variables.SF.Subsidy !== undefined) { Count(); costs += Math.ceil(State.temporary.SFSubsidy); } @@ -527,7 +529,7 @@ window.getSFCosts = function() { }; window.getWeatherCosts = function() { - var costs = 0; + let costs = 0; if(State.variables.econWeatherDamage && State.variables.disasterResponse > 0) { costs += Math.trunc(State.variables.disasterResponse * 200000 / State.variables.localEcon); } @@ -538,8 +540,8 @@ window.getWeatherCosts = function() { }; window.getSlaveMinorCosts = function(slave) { - var costs = 0; - var rulesCost = State.variables.rulesCost; + let costs = 0; + const rulesCost = State.variables.rulesCost; if(slave.assignment === Job.SERVANT || slave.assignment === Job.SERVER) { if(slave.trust < -20) { costs -= rulesCost * 4; @@ -585,10 +587,10 @@ window.getSlaveMinorCosts = function(slave) { window.getSlaveCost = function(s) { if(!s) { return 0; } // Data duplicated from Cost Report - var cost = 0; - var rulesCost = State.variables.rulesCost; - var foodCost = State.variables.foodCost; - var drugsCost = State.variables.drugsCost; + let cost = 0; + const rulesCost = State.variables.rulesCost; + const foodCost = State.variables.foodCost; + const drugsCost = State.variables.drugsCost; // Living expenses switch(s.assignment) { @@ -606,6 +608,13 @@ window.getSlaveCost = function(s) { cost += rulesCost; } break; + case Job.FARMYARD: + if(s.livingRules === LivingRule.NORMAL) { + cost += rulesCost * 1.5; + } else { + cost += rulesCost; + } + break; case Job.BROTHEL: if(s.livingRules === LivingRule.NORMAL) { cost += rulesCost * 1.5; @@ -885,10 +894,10 @@ window.menialSlaveCost = function(q) { if(!q) { q = 0; } - var demand = State.variables.menialDemandFactor; - var supply = State.variables.menialSupplyFactor; - var baseCost = 1000; - var random = State.variables.slaveCostRandom; + const demand = State.variables.menialDemandFactor; + const supply = State.variables.menialSupplyFactor; + const baseCost = 1000; + const random = State.variables.slaveCostRandom; return (Math.trunc(baseCost + demand / 400 - supply / 400 + q / 400) + random); }; @@ -899,7 +908,7 @@ window.corpValue = function() { if(V.corpIncorporated === 0) { return 0; } else { - var corpAssets = 0; + let corpAssets = 0; if(V.corpDivExtra > 0) { corpAssets += V.corpDivExtraDev * 16000 + V.corpDivExtraSlaves * 10000; } @@ -1025,7 +1034,7 @@ window.corpDivWhoreSlavesRoom = function() { //Corporation race blacklisting/whitelisting //race is the lowercase string representing the race, 'blacklist' is either 1 or 0. 1 means we are blacklisting and 0 means we are whitelisting said race window.corpBlacklistRace = function(race, blacklist) { - var raceArray = State.variables.corpSpecRaces; + let raceArray = State.variables.corpSpecRaces; if(raceArray.length > 0 && blacklist === 1) { raceArray.delete(race); } else if(blacklist === 1) { @@ -1053,7 +1062,7 @@ window.getSlaveStatisticData = function(s, facility) { if(facility.income.has(s.ID)) { return facility.income.get(s.ID); } else { - var data = { + const data = { ID: s.ID, slaveName: s.slaveName, customLabel: s.customLabel, income: 0, adsIncome: 0, rep: 0, cost: getSlaveCost(s), customers: 0 /* brothel, club, ... */ diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index a3caa9529ccbe59fb7768c55025e2ba5768d6cb4..a198122bcfaba6e7e5106c43d1bad52674817141 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -1246,7 +1246,7 @@ window.rulesAssistantOptions = (function() { const hcollars = []; setup.harshCollars.forEach(item => { - if (item.fs === "seeage" && V.seeAge === 0) return; + if (item.fs === "seeAge" && V.seeAge === 0) return; else if (item.fs === "seePreg" && V.seePreg === 0) return; else if (item.rs === "buyGag" && V.toysBoughtGags !== 1) return; else hcollars.push([item.name, item.value]); diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js index 93a56e0423f4189ddbc378fff730a198009007b4..0b0291db3d5b18d9c4ce9bac0b06b593160b4fa9 100644 --- a/src/js/sexActsJS.js +++ b/src/js/sexActsJS.js @@ -5,14 +5,14 @@ window.AnalVCheck = function AnalVCheck(times) { const V = State.variables; const slave = V.activeSlave; - let pronouns = getPronouns(slave); - let he = pronouns.pronoun, + const pronouns = getPronouns(slave); + const he = pronouns.pronoun, //him = pronouns.object, his = pronouns.possessive; // hers = pronouns.possessivePronoun, // himself = pronouns.objectReflexive, // boy = pronouns.noun; - let He = capFirstChar(he), + const He = capFirstChar(he), His = capFirstChar(his); let r = ``; if (canDoAnal(slave) && slave.anus === 0) { @@ -64,15 +64,15 @@ window.AnalVCheck = function AnalVCheck(times) { window.VaginalVCheck = function VaginalVCheck(times) { const V = State.variables; const slave = V.activeSlave; - let pronouns = getPronouns(slave); - let he = pronouns.pronoun, + const pronouns = getPronouns(slave); + const he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; - let He = capFirstChar(he); - let His = capFirstChar(his); + const He = capFirstChar(he); + const His = capFirstChar(his); let r = ``; if (canDoVaginal(slave) && slave.vagina === 0) { r += `@@.lime;This breaks in ${slave.slaveName}'s virgin pussy.@@ `; @@ -126,15 +126,15 @@ window.VaginalVCheck = function VaginalVCheck(times) { window.BothVCheck = function BothVCheck(analTimes, bothTimes) { const V = State.variables; const slave = V.activeSlave; - let pronouns = getPronouns(slave); - let he = pronouns.pronoun, + const pronouns = getPronouns(slave); + const he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; - let He = capFirstChar(he); - let His = capFirstChar(his); + const He = capFirstChar(he); + const His = capFirstChar(his); let r = ``; if (canDoVaginal(slave)) { if (slave.vagina === 0) { @@ -286,15 +286,15 @@ window.SimpleVCheck = function SimpleVCheck(times) { window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) { const V = State.variables; const partner = V.slaves[V.partner]; - let pronouns = getPronouns(partner); - let he = pronouns.pronoun, + const pronouns = getPronouns(partner); + const he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; - let He = capFirstChar(he); - let His = capFirstChar(his); + const He = capFirstChar(he); + const His = capFirstChar(his); let r = ``; if (V.partner < 0 || V.partner >= V.slaves.length) { diff --git a/src/js/slaveGenerationJS.js b/src/js/slaveGenerationJS.js index b2d66d403b277cad1b9a58095d014d058be5a1d8..df933301d9d3e5f381660f4e43cc1b3e96aff008 100644 --- a/src/js/slaveGenerationJS.js +++ b/src/js/slaveGenerationJS.js @@ -7,7 +7,7 @@ window.raceToNationality = /** @param {App.Entity.SlaveState} slave */ function const V = State.variables; slave.nationality = hashChoice(V.nationalities); /* Maximum of 100 attempts */ - for (var i = 0; setup.raceSelector[slave.nationality] && !(slave.race in setup.raceSelector[slave.nationality]) && i < 100; i++) { + for (let i = 0; setup.raceSelector[slave.nationality] && !(slave.race in setup.raceSelector[slave.nationality]) && i < 100; i++) { slave.nationality = hashChoice(V.nationalities); } /* No success after 100 attempts, so just randomize according to race */ diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js index a9cc60634875e403f1d3bcb8dc83cc09527c6ec2..ae064be43d7f029ff7599bf51f7cb891a766fe6d 100644 --- a/src/js/slaveSummaryWidgets.js +++ b/src/js/slaveSummaryWidgets.js @@ -1,3 +1,6 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable no-redeclare */ +/* eslint-disable no-undef */ window.clearSummaryCache = /** @param {App.Entity.SlaveState | number} slave */ function clearSummaryCache(slave) { if (!slave) setup.summaryCache = {}; @@ -4901,7 +4904,7 @@ App.UI.slaveSummaryList = function (passageName) { * <<print 'pass/count/indexed/flag::[' + passageName + '/' + _Count + '/' + _indexed + '/' + $Flag + ']'>> */ - if (((_Count > 1) && (_indexed == 0) && (((passageName == 'Main') && (V.Flag === undefined) && ((V.useSlaveSummaryTabs == 0) || (V.slaveAssignmentTab == "all"))) || (V.Flag == 1)))) { + if (((_Count > 1) && (_indexed === 0) && (((passageName === 'Main') && (V.Flag === undefined) && ((V.useSlaveSummaryTabs === 0) || (V.slaveAssignmentTab === "all"))) || (V.Flag === 1)))) { let _indexed = 1, _counter = 0, _buttons = [], @@ -4985,7 +4988,7 @@ App.UI.slaveSummaryList = function (passageName) { const _slaveName = SlaveFullName(_Slave); let _tableCount = 0; - let slaveImagePrinted = (V.seeImages == 1) && (V.seeSummaryImages == 1); + let slaveImagePrinted = (V.seeImages === 1) && (V.seeSummaryImages === 1); res.push('<div id="slave_' + _Slave.ID + '" style="clear:both">'); @@ -5002,7 +5005,7 @@ App.UI.slaveSummaryList = function (passageName) { else if ("recruit girls" === _Slave.assignment) res.push('<strong>@@.lightcoral;RC@@</strong> '); else if ("guard you" === _Slave.assignment) res.push('<strong>@@.lightcoral;BG@@</strong> '); - if (Array.isArray(V.personalAttention) && V.personalAttention.findIndex(s => s.ID == _Slave.ID) != -1) { + if (Array.isArray(V.personalAttention) && V.personalAttention.findIndex(s => s.ID === _Slave.ID) !== -1) { res.push('<strong>@@.lightcoral; PA@@</strong> '); } res.push(this.passageLink(_slaveName, 'Slave Interact', `$activeSlave = $slaves[${_ssi}]`)); /* lists their names */ @@ -5466,13 +5469,17 @@ App.UI.slaveSummaryList = function (passageName) { if (_Slave.assignment != "take classes") { if ((_Slave.intelligenceImplant < 15) && ((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && (_Slave.fetish != "mindbroken")) { assignments.push(`<<link "Classes" "Main">><<= assignJob($slaves[${_ssi}], "take classes")>><</link>>`); + } else { + assignments.push('Classes'); } } else { - assignments.push(`Classes`); + assignments.push('Classes'); } if (_Slave.assignment != "be a servant") { if (((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && canWalk(_Slave) && canSee(_Slave)) { assignments.push(`<<link "House Servant" "Main">><<= assignJob($slaves[${_ssi}], "be a servant")>><</link>>`); + } else { + assignments.push('House Servant'); } } else { assignments.push('House Servant'); @@ -5518,7 +5525,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push('<br>Transfer to: '); /** @type {string[]} */ let transfers = [] - if (_Slave.assignment != "rest" && _Slave.assignment != "please you" && _Slave.assignment != "take classes" && _Slave.assignment != "be a servant" && _Slave.assignment != "whore" && _Slave.assignment != "serve the public" && _Slave.assignment != "get milked" && _Slave.assignment != "stay confined") { + if (_Slave.assignment !== "rest" && _Slave.assignment !== "please you" && _Slave.assignment !== "take classes" && _Slave.assignment !== "be a servant" && _Slave.assignment !== "whore" && _Slave.assignment !== "serve the public" && _Slave.assignment !== "get milked" && _Slave.assignment !== "stay confined") { transfers.push(`<<link "Penthouse" "Main">><<= removeJob($slaves[${_ssi}], $slaves[${_ssi}].assignment)>><</link>>`); } else { transfers.push('Penthouse'); diff --git a/src/js/storyJS.js b/src/js/storyJS.js index 14f437dfa6f544079e98735c26dbf5f903e401dc..ee10995deebd21051cfeaeb666886a75c955ac3b 100644 --- a/src/js/storyJS.js +++ b/src/js/storyJS.js @@ -25,10 +25,10 @@ window.isSexuallyPure = /** @param {App.Entity.SlaveState} slave */ function (sl } }; if (typeof interpolate === "undefined") { - var interpolate = function(x0,y0,x1,y1,x) { - if(x <= x0) { + const interpolate = function(x0,y0,x1,y1,x) { + if (x <= x0) { return y0; - } else if(x >= x1) { + } else if (x >= x1) { return y1; } else { return (x - x0) * ((y1 - y0) / (x1 - x0)) + y0; @@ -38,7 +38,7 @@ if (typeof interpolate === "undefined") { } window.removeFromArray = function(arr, val) { - for (var i = 0; i < arr.length; i++) { + for (let i = 0; i < arr.length; i++) { if (val === arr[i]) return arr.splice(i,1); } @@ -46,7 +46,7 @@ window.removeFromArray = function(arr, val) { }; window.filterInPlace = function(arr, callback, thisArg) { - var j = 0; + let j = 0; arr.forEach(function(e, i) { if (callback.call(thisArg, e, i, arr)) @@ -141,8 +141,8 @@ window.relationTargetWord = /** @param {App.Entity.SlaveState} slave */ function }; window.milkAmount = /** @param {App.Entity.SlaveState} slave */ function (slave) { - var milk; - var calcs; + let milk; + let calcs; if (!slave) { return null; } else { @@ -188,8 +188,8 @@ window.milkAmount = /** @param {App.Entity.SlaveState} slave */ function (slave) }; window.cumAmount = /** @param {App.Entity.SlaveState} slave */ function (slave) { - var cum = 0; - var calcs = 0; + let cum = 0; + let calcs = 0; if (!slave) { return null; } else { @@ -320,7 +320,7 @@ window.lispReplace = function (text) { window.repGainSacrifice = /** @param {App.Entity.SlaveState} slave */ function (slave, arcology) { slave = slave || State.variables.activeSlave; arcology = arcology || State.variables.arcologies[0]; - if(!slave || !arcology || arcology.FSAztecRevivalist === "unset" || arcology.FSAztecRevivalist <= 0) { + if (!slave || !arcology || arcology.FSAztecRevivalist === "unset" || arcology.FSAztecRevivalist <= 0) { return 0; } return Math.ceil( @@ -329,25 +329,25 @@ window.repGainSacrifice = /** @param {App.Entity.SlaveState} slave */ function ( }; window.bodyguardSuccessorEligible = /** @param {App.Entity.SlaveState} slave */ function (slave) { - if(!slave) { return false; } + if (!slave) { return false; } return (slave.devotion > 50 && slave.muscles >= 0 && slave.weight < 100 && slave.boobs < 8000 && slave.butt < 10 && slave.belly < 5000 && slave.balls < 10 && slave.dick < 10 && slave.preg < 20 && slave.fuckdoll === 0 && slave.fetish !== "mindbroken" && canWalk(slave)); }; window.ngUpdateGenePool = function(genePool) { - var transferredSlaveIds = (State.variables.slaves || []) + const transferredSlaveIds = (State.variables.slaves || []) .filter(function(s) { return s.ID >= 1200000; }) .map(function(s) { return s.ID - 1200000; }); return (genePool || []) .filter(function(s) { return transferredSlaveIds.indexOf(s.ID) >= 0; }) .map(function(s) { - var result = jQuery.extend(true, {}, s); + const result = jQuery.extend(true, {}, s); result.ID += 1200000; return result; }); }; window.ngUpdateMissingTable = function(missingTable) { - var newTable = {}; + const newTable = {}; (State.variables.slaves || []) .forEach(s => ([s.pregSource+1200000,s.mother+1200000,s.father+1200000] @@ -361,7 +361,7 @@ window.ngUpdateMissingTable = function(missingTable) { }; window.toJson = function(obj) { - var jsontext = JSON.stringify(obj); + let jsontext = JSON.stringify(obj); jsontext = jsontext.replace(/^{/,""); jsontext = jsontext.replace(/}$/,""); return jsontext; @@ -369,26 +369,26 @@ window.toJson = function(obj) { window.nippleColor = /** @param {App.Entity.SlaveState} slave */ function (slave) { slave = slave || State.variables.activeSlave; - if(slave.skin === 'tanned' || slave.skin === 'fair') { - if(slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { + if (slave.skin === 'tanned' || slave.skin === 'fair') { + if (slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { return 'dark brown'; } else { return 'pink'; } - } else if((slave.skin === 'pale' || slave.race === 'white')) { - if(slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { + } else if ((slave.skin === 'pale' || slave.race === 'white')) { + if (slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { return 'brown'; } else { return 'pink'; } - } else if((slave.skin === 'brown' || slave.race === 'black')) { - if(slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { + } else if ((slave.skin === 'brown' || slave.race === 'black')) { + if (slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { return 'black'; } else { return 'dark brown'; } } else { - if(slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { + if (slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) { return 'dark brown'; } else { return 'brown'; @@ -397,15 +397,15 @@ window.nippleColor = /** @param {App.Entity.SlaveState} slave */ function (slave }; window.overpowerCheck = /** @param {App.Entity.SlaveState} slave */ function (slave, PC) { - var strength; + let strength; - if(State.variables.arcologies[0].FSPhysicalIdealist !== "unset") { - if(PC.title === 1) { + if (State.variables.arcologies[0].FSPhysicalIdealist !== "unset") { + if (PC.title === 1) { strength = 130; } else { strength = 100; } - } else if(PC.title === 1) { + } else if (PC.title === 1) { strength = 50; } else { strength = 30; @@ -422,11 +422,11 @@ window.overpowerCheck = /** @param {App.Entity.SlaveState} slave */ function (sl * @returns {number[]} */ window.impregnatedBy = function(slave) { - var IDArray = []; + const IDArray = []; if (!Array.isArray(slave.womb)) { WombInit(slave); } - for (var i = 0; i < slave.womb.length; i++) { + for (let i = 0; i < slave.womb.length; i++) { IDArray.push(slave.womb[i].fatherID); } return IDArray; @@ -640,7 +640,7 @@ window.printTrinkets = function printTrinkets() { let trinketString = []; let plurals = false; - for (let trinketDesc in trinkets) { + for (const trinketDesc in trinkets) { if (trinkets[trinketDesc] === 1) { trinketString.push(trinketDesc); } else if (trinkets[trinketDesc] > 1) { diff --git a/src/js/utilJS.js b/src/js/utilJS.js index 98279ec9e7cb5fe73c1084f01f1d589d1fd47241..c3316f352ca735c75890f9b3c168d47e0465be56 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -1364,7 +1364,7 @@ window.SkillIncrease = (function() { window.upgradeMultiplierArcology = function() { const V = State.variables; - if (V.PC.career === "engineer" || (V.arcologies[0].FSRestartDecoration >= 100 && V.eugenicsFullControl === 0) ) { + if (V.PC.career === "engineer" || (V.arcologies[0].FSRestartDecoration >= 100 && V.eugenicsFullControl === 0)) { return 0.6; } else if (V.PC.engineering <= -100) { return 1.5; @@ -1386,10 +1386,70 @@ window.upgradeMultiplierArcology = function() { return 0.90; } else if (V.PC.engineering <= 75) { return 0.85; - } else if (V.PC.engineering < 100) { - return 0.83; - } else if (V.PC.engineering >= 100 || V.PC.career === "arcology owner") { + } else if (V.PC.engineering <= 100) { return 0.80; + } else { + return 0.75; + } +}; + +window.upgradeMultiplierMedicine = function() { + const V = State.variables; + if (V.PC.career === "medicine" || (V.arcologies[0].FSRestartDecoration >= 100 && V.eugenicsFullControl === 0)) { + return 0.6; + } else if (V.PC.medicine <= -100) { + return 1.5; + } else if (V.PC.medicine <= -75) { + return 1.35; + } else if (V.PC.medicine <= -50) { + return 1.25; + } else if (V.PC.medicine <= -25) { + return 1.15; + } else if (V.PC.medicine < 0) { + return 1.10; + } else if (V.PC.medicine === 0) { + return 1; + } else if (V.PC.medicine <= 10) { + return 0.97; + } else if (V.PC.medicine <= 25) { + return 0.95; + } else if (V.PC.medicine <= 50) { + return 0.90; + } else if (V.PC.medicine <= 75) { + return 0.85; + } else if (V.PC.medicine <= 100) { + return 0.80; + } else { + return 0.75; + } +}; + +window.upgradeMultiplierTrade = function() { + const V = State.variables; + if (V.PC.trading <= -100) { + return 1.5; + } else if (V.PC.trading <= -75) { + return 1.35; + } else if (V.PC.trading <= -50) { + return 1.25; + } else if (V.PC.trading <= -25) { + return 1.15; + } else if (V.PC.trading < 0) { + return 1.10; + } else if (V.PC.trading === 0) { + return 1; + } else if (V.PC.trading <= 10) { + return 0.97; + } else if (V.PC.trading <= 25) { + return 0.95; + } else if (V.PC.trading <= 50) { + return 0.90; + } else if (V.PC.trading <= 75) { + return 0.85; + } else if (V.PC.trading <= 100) { + return 0.80; + } else { + return 0.75; } }; diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw index 538c0ed086f06a600c653f97dfcc4852bc15cde0..b1042a9cb24bb209a727a29ce8ae4c0b19b061b2 100644 --- a/src/npc/startingGirls/startingGirls.tw +++ b/src/npc/startingGirls/startingGirls.tw @@ -253,8 +253,8 @@ __You are customizing this slave:__ <<set $activeSlave.customTat = "She has your custom emblem tattooed on her left breast. She got the tattoo after starring in a porno with you.">> <</if>> <<if $activeSlave.preg > 0>> - <<if $activeSlave.pregType != -1>> - <<set $activeSlave.pregType = -5>> + <<if $activeSlave.pregSource != -1>> + <<set $activeSlave.pregSource = -5>> <</if>> <</if>> <<elseif $PC.career == "gang">> @@ -289,8 +289,8 @@ __You are customizing this slave:__ <<set $activeSlave.customTat = "She has your master's brand on her left breast.">> <</if>> <<if $activeSlave.preg > 0>> - <<if $activeSlave.pregType != -1>> - <<set $activeSlave.pregType = -3>> + <<if $activeSlave.pregSource != -1>> + <<set $activeSlave.pregSource = -3>> <</if>> <</if>> <<elseif $PC.career == "medicine">> diff --git a/src/pregmod/MpregSelf.tw b/src/pregmod/MpregSelf.tw index 5455350fdcea798e2e6e99efcc1096756bd0d613..da73b882939c8b442ccf13f36846926f97c1846c 100644 --- a/src/pregmod/MpregSelf.tw +++ b/src/pregmod/MpregSelf.tw @@ -9,7 +9,7 @@ Calling over your closest slave, you order _himU to bring you one of the high-volume enema syringes from the slave quarters. _HeU rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, sending rivulets of precum running down to pool on your massive balls. Your pussy is similarly soaked, imagining your latest deviancy has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before _heU enters carrying the extra-long enema syringe. Impatient, you give _himU your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." Following your instructions, _heU eagerly drops to _hisU knees and inhales your soaked member. The large volume of precum coming from your engorged prostate necessitates frequent swallowing that only adds to your pleasure. You lay back and enjoy yourself as _heU massages your massive balls before slipping _hisU hand underneath to start fingering your soaked pussy. The expert ministrations from your slave combine with your thoughts of what comes next, and soon your sack is clenching your massive balls as your body prepares to cum. Recognizing the signs, your slave removes _hisU mouth and replaces it with the open end of the syringe. _HeU takes _hisU sodden hand from your cunt and starts stroking vigorously, and soon you're spraying inhumanly large jets of alabaster cum into the enema syringe. It's good that you asked for high-capacity version, as the prodigious quantity of fertile semen would have overflowed from a smaller container. <br><br>You sit up and pick up the previously discarded plunger while your slave continues to hold the syringe. _HeU has thoughtfully blocked the tip with the palm of _hisU hand, keeping any of the precious fluid from escaping. You position the plunger and barely insert it into the open syringe, not wanting to accidentally force out your semen. The two of you flip the full syringe over so that the business end is pointing upward, and the slave removes _hisU hand while you make sure the plunger is secure and won't leak any of the precious cargo. Your slave eagerly licks the drop of cum off the palm of _hisU hand, but you don't begrudge _himU a small treat. Instead, you get a firm grasp on the glass of the thick enema syringe and lay back once more. - You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe between your massive balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the nubby plug-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions. "Fuck me good and hard with the syringe until I cum. When I do, I want you to take both hands and ram that plunger in. Push hard, I want that syringe completely empty when you're done." + You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe between your massive balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the nubby plug-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions: "Fuck me good and hard with the syringe until I cum. When I do, I want you to take both hands and ram that plunger in. Push hard, I want that syringe completely empty when you're done." <br><br>The _girlU does as _heU's told, getting a firm grip on the syringe and pushing in slightly before drawing it outward. After a brief pause, _heU shoves it back inside you. Seeing the undeniable pleasure on your face, _heU takes it as permission to continue and quickly picks up the pace. Soon _heU's fucking you hard and fast with the syringe. Thanks to the position caused by your widely-splayed legs, your fertile womb is lined up perfectly for each thrust to slam the pointy enema bulb into the opening of your cervix, forcibly stretching it further open with each piercing impact. The sensation is too much to bear after having cum so recently, and you rapidly moan your way towards another orgasm. Your fevered thoughts are focused on the perverse pleasure of giving yourself a creampie, intensifying the extreme pleasure you're feeling. Soon you are cumming with a scream of ecstasy, your neglected cock making your orgasm obvious as it sends thick streams of cum spraying all over the place to soak you and your slave. Seeing _hisU cue, the _girlU grabs the large plunger with both hands and starts shoving it in the direction of your womb. _HeU leans in, using _hisU body weight to help fight the resistance of your richly-thick and fertile semen that's filling the syringe. The pressure forces the whole enema syringe further inside you, causing a blissful stretching sensation as the squirting enema bulb penetrates your cervix to lodge in your womb. Your orgasm continues unabated, spurred on by the syringe now spraying your cum directly into your womb. You spend a couple minutes that feel like hours cumming as your slave slowly inflates your womb with a seemingly-endless volume of your virile cum. @@ -20,7 +20,7 @@ Calling over your closest slave, you order _himU to bring you one of the enema syringes from the slave quarters. _HeU rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, sending a steady stream of precum running down to pool on your huge balls. Your pussy is similarly soaked, imagining your latest deviancy has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before _heU enters carrying the glass enema syringe. Impatient, you give _himU your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." <br><br>Following your instructions, _heU eagerly drops to _hisU knees and inhales your soaked member. The large volume of precum coming from your swollen prostate necessitates regular swallowing that only adds to your pleasure. You lay back and enjoy yourself as _heU massages your huge balls before slipping _hisU hand underneath to start fingering your soaked pussy. The expert ministrations from your slave combine with your thoughts of what comes next, and soon your sack is clenching your huge balls as your body prepares to cum. Recognizing the signs, your slave removes _hisU mouth and replaces it with the open end of the syringe. _HeU takes _hisU sodden hand from your cunt and starts stroking vigorously, and soon you're spraying massive jets of alabaster cum into the enema syringe. It's good that you decided on an enema syringe instead of a normal dildo suppository, as the huge quantity of fertile semen would have overflowed from a smaller container. <br><br>You sit up and pick up the previously discarded plunger while your slave continues to hold the syringe. _HeU has thoughtfully blocked the tip with the palm of _hisU hand, keeping any of the precious fluid from escaping. You position the plunger and barely insert it into the open syringe, not wanting to accidentally force out your semen. The two of you flip the full syringe over so that the business end is pointing upward, and the slave removes _his hand while you make sure the plunger is secure and won't leak any of the precious cargo. Your slave eagerly licks the drop of cum off the palm of _hisU hand, but you don't begrudge _himU a small treat. Instead, you get a firm grasp on the glass of the thick enema syringe and lay back once more. - You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe between your huge balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the nubby plug-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions. "Fuck me good and hard with the syringe until I cum. When I do, I want you to take both hands and ram that plunger in. Push hard, I want that syringe completely empty when you're done." + You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe between your huge balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the nubby plug-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions: "Fuck me good and hard with the syringe until I cum. When I do, I want you to take both hands and ram that plunger in. Push hard, I want that syringe completely empty when you're done." <br><br>The _girlU does as _heU's told, getting a firm grip on the syringe and pushing in slightly before drawing it outward. After a brief pause, _heU shoves it back inside you. Seeing the undeniable pleasure on your face, _heU takes it as permission to continue and quickly picks up the pace. Soon _heU's fucking you hard and fast with the syringe. Thanks to the position caused by your widely-splayed legs, your fertile womb is lined up perfectly for each thrust to slam the pointy enema bulb into the opening of your cervix, forcibly stretching it further open with each piercing impact. The sensation is too much to bear after having cum so recently, and you rapidly moan your way towards another orgasm. Your fevered thoughts are focused on the perverse pleasure of giving yourself a creampie, intensifying the extreme pleasure you're feeling. Soon you are cumming with a scream of ecstasy, your neglected cock making your orgasm obvious as it sends thick streams of cum spraying all over the place to coat you and your slave. Seeing _hisU cue, the _girlU grabs the large plunger with both hands and starts shoving it in the direction of your womb. _HeU leans in, using _hisU body weight to help fight the resistance of your richly-thick and fertile semen that's filling the syringe. The pressure forces the whole enema syringe further inside you, causing a blissful stretching sensation as the squirting enema bulb penetrates your cervix to lodge in your womb. Your orgasm continues unabated, spurred on by the syringe now spraying your cum directly into your womb. You spend a couple minutes that feel like hours cumming as your slave slowly inflates your womb with a liter of your virile cum. @@ -31,7 +31,7 @@ Calling over your closest slave, you order _himU to bring you one of the dildo-shaped suppository syringes from the slave quarters. _HeU rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, sending regular drips of precum running down onto your large balls. Your pussy is similarly soaked, imagining your latest deviancy has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before _heU enters carrying the remarkably-lifelike dildo syringe. Impatient, you give _himU your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." <br><br>Following your instructions, _heU eagerly drops to _hisU knees and inhales your straining cock. The extra precum coming from your enhanced prostate necessitates occasional swallowing that only adds to your pleasure. You lay back and enjoy yourself as _heU massages your large balls before slipping _hisU hand underneath to start fingering your soaked pussy. The expert ministrations from your slave combine with your thoughts of what comes next, and soon your sack is clenching your large balls as your body prepares to cum. Recognizing the signs, your slave removes _hisU mouth and replaces it with the open end of the syringe. _HeU takes _hisU sodden hand from your cunt and starts stroking vigorously, and soon you're spraying large jets of alabaster cum into the syringe. It's close, the large quantity of fertile semen almost overflowing from the dildo suppository. <br><br>You sit up and pick up the previously discarded plunger while your slave continues to hold the syringe. _HeU has thoughtfully blocked the tip with the palm of _hisU hand, keeping any of the precious fluid from escaping. You position the plunger and barely insert it into the open syringe, not wanting to accidentally force out your semen. The two of you flip the full syringe over so that the business end is pointing upward, and the slave removes _hisU hand while you make sure the plunger is secure and won't leak any of the precious cargo. Your slave eagerly licks the drop of cum off the palm of _hisU hand, but you don't begrudge _himU a small treat. Instead, you get a firm grasp on the silicone of the thick dildo syringe and lay back once more. - You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe underneath your large balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the cock-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions. "Fuck me good and hard with the syringe until I cum. When I do, I want you to ram that plunger in. Push hard, I want that syringe completely empty when you're done." + You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe underneath your large balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the cock-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions: "Fuck me good and hard with the syringe until I cum. When I do, I want you to ram that plunger in. Push hard, I want that syringe completely empty when you're done." <br><br>The _girlU does as _heU's told, getting a firm grip on the syringe and pushing in slightly before drawing it outward. After a brief pause, _heU shoves it back inside you. Seeing the undeniable pleasure on your face, _heU takes it as permission to continue and quickly picks up the pace. Soon _heU's fucking you hard and fast with the syringe. Thanks to the position caused by your widely-splayed legs, your fertile womb is lined up perfectly for each thrust to slam the head of the dildo into your cervix, battering it open with each impact. The sensation is too much to bear after having cum so recently, and you rapidly moan your way towards another orgasm. Your fevered thoughts are focused on the perverse pleasure of giving yourself a creampie, intensifying the extreme pleasure you're feeling. Soon you are cumming with a scream of ecstasy, your neglected cock making your orgasm obvious as it sends jets of cum all over the place to land on you and your slave. Seeing _hisU cue, the _girlU grabs the large plunger and starts shoving it in the direction of your womb. _HeU pushes hard to help fight the resistance of your richly-thick and fertile semen that's filling the syringe. The pressure forces the silicone cockhead against your cervix, creating a seal and leaving the syringe free to spray your semen through your battered cervix and into your hungry womb. Your orgasm continues unabated, spurred on by warm fluid flowing into your womb. You spend a minute that feel like an hour cumming as your slave slowly fills your womb with a few deciliters of virile cum. @@ -42,7 +42,7 @@ Calling over your closest slave, you order _himU to bring you one of the dildo-shaped suppository syringes from the slave quarters. _HeU rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, a large droplet of precum hanging from the head. Your pussy is similarly soaked, imagining your latest deviancy has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before _heU enters carrying the remarkably-lifelike dildo syringe. Impatient, you give _himU your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." <br><br>Following your instructions, _heU eagerly drops to _hisU knees and inhales your straining cock. You lay back and enjoy yourself as _heU massages your balls before slipping _hisU hand downward to start fingering your soaked pussy. The expert ministrations from your slave combine with your thoughts of what comes next, and soon your sack is clenching tightly as your body prepares to cum. Recognizing the signs, your slave removes _hisU mouth and replaces it with the open end of the syringe. _HeU takes _hisU sodden hand from your cunt and starts stroking vigorously, and soon you're spraying jets of alabaster cum into the syringe. It's a powerful orgasm, but you only manage to fill a quarter of it. <br><br>You sit up and pick up the previously discarded plunger while your slave continues to hold the syringe. _HeU has thoughtfully blocked the tip with the palm of _hisU hand, keeping any of the precious fluid from escaping. You position the plunger and barely insert it into the open syringe, not wanting to accidentally force out your semen. The two of you flip the syringe over so that the business end is pointing upward, and the slave removes _hisU hand while you make sure the plunger is inserted far enough that you've gotten all the air out of the syringe. Your slave eagerly licks the drop of cum off the palm of _hisU hand, but you don't begrudge _himU a small treat. Instead, you get a firm grasp on the silicone of the thick dildo syringe and lay back once more. - You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe underneath your balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the cock-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions. "Fuck me good and hard with the syringe until I cum. When I do, I want you to ram that plunger in. I want that syringe completely empty when you're done." + You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe underneath your balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the cock-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions: "Fuck me good and hard with the syringe until I cum. When I do, I want you to ram that plunger in. I want that syringe completely empty when you're done." <br><br>The _girlU does as _heU's told, getting a firm grip on the syringe and pushing in slightly before drawing it outward. After a brief pause, _heU shoves it back inside you. Seeing the undeniable pleasure on your face, _heU takes it as permission to continue and quickly picks up the pace. Soon _heU's fucking you hard and fast with the syringe. Thanks to the position caused by your widely-splayed legs, your fertile womb is lined up perfectly for each thrust to slam the head of the dildo into your cervix, battering it open with each impact. The sensation is too much to bear after having cum so recently, and you rapidly moan your way towards another orgasm. Your fevered thoughts are focused on the perverse pleasure of giving yourself a creampie, intensifying the extreme pleasure you're feeling. Soon you are cumming with a scream of ecstasy, your neglected cock making your orgasm obvious as it sends several jets of cum to land on your reclined body. Seeing _hisU cue, the _girlU grabs the large plunger and starts shoving it in the direction of your womb. _HeU pushes hard to help fight the resistance of your richly-thick and fertile semen that's filling the syringe. The pressure forces the silicone cockhead against your cervix, creating a seal and leaving the syringe free to spray your semen through your battered cervix and into your hungry womb. Your orgasm continues unabated, spurred on by the jet of fluid flowing into your womb. Your orgasm soon fades, and you wish that you could produce more than a deciliter of cum to fill yourself with. @@ -57,7 +57,7 @@ Calling over your closest slave, you order _himU to bring you one of the high-volume enema syringes from the slave quarters. _HeU rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, sending rivulets of precum running down to pool on your massive balls. Your pussy is similarly soaked, imagining your belly swelling after you knock yourself up has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before _heU enters carrying the extra-long enema syringe. Impatient, you give _himU your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." Following your instructions, _heU eagerly drops to _hisU knees and inhales your soaked member. The large volume of precum coming from your engorged prostate necessitates frequent swallowing that only adds to your pleasure. You lay back and enjoy yourself as _heU massages your massive balls before slipping _hisU hand underneath to start fingering your soaked pussy. The expert ministrations from your slave combine with your thoughts of the semi-incestuous stuffing that comes next, and soon your sack is clenching your massive balls as your body prepares to cum. Recognizing the signs, your slave removes _hisU mouth and replaces it with the open end of the syringe. _HeU takes _hisU sodden hand from your cunt and starts stroking vigorously, and soon you're spraying inhumanly large jets of alabaster cum into the enema syringe. It's good that you asked for high-capacity version, as the prodigious quantity of fertile semen would have overflowed from a smaller container. <br><br>You sit up and pick up the previously discarded plunger while your slave continues to hold the syringe. _HeU has thoughtfully blocked the tip with the palm of _hisU hand, keeping any of the precious fluid from escaping. You position the plunger and barely insert it into the open syringe, not wanting to accidentally force out your semen. The two of you flip the full syringe over so that the business end is pointing upward, and the slave removes _hisU hand while you make sure the plunger is secure and won't leak any of the precious cargo. Your slave eagerly licks the drop of cum off the palm of _hisU hand, but you don't begrudge _himU a small treat. Instead, you get a firm grasp on the glass of the thick enema syringe and lay back once more. - You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe between your massive balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the nubby plug-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions. "Fuck me good and hard with the syringe until I cum. When I do, I want you to take both hands and ram that plunger in. Push hard, I want that syringe completely empty when you're done." + You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe between your massive balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the nubby plug-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions: "Fuck me good and hard with the syringe until I cum. When I do, I want you to take both hands and ram that plunger in. Push hard, I want that syringe completely empty when you're done." <br><br>The _girlU does as _heU's told, getting a firm grip on the syringe and pushing in slightly before drawing it outward. After a brief pause, _heU shoves it back inside you. Seeing the undeniable pleasure on your face, _heU takes it as permission to continue and quickly picks up the pace. Soon _heU's fucking you hard and fast with the syringe. Thanks to the position caused by your widely-splayed legs, your fertile womb is lined up perfectly for each thrust to slam the pointy enema bulb into the opening of your cervix, forcibly stretching it further open with each piercing impact. The sensation is too much to bear after having cum so recently, and you rapidly moan your way towards another orgasm. Your fevered thoughts are focused on the perverse pleasure of giving yourself a creampie, intensifying the extreme pleasure you're feeling. Soon you are cumming with a scream of ecstasy, your neglected cock making your orgasm obvious as it sends thick streams of cum spraying all over the place to soak you and your slave. Seeing _hisU cue, the _girlU grabs the large plunger with both hands and starts shoving it in the direction of your womb. _HeU leans in, using _hisU body weight to help fight the resistance of your richly-thick and fertile semen that's filling the syringe. The pressure forces the whole enema syringe further inside you, causing a blissful stretching sensation as the squirting enema bulb penetrates your cervix to lodge in your womb. Your orgasm continues unabated, spurred on by the syringe now spraying your cum directly into your womb. You spend a couple minutes that feel like hours cumming as your slave slowly inflates your womb with a seemingly-endless volume of your virile cum. @@ -68,7 +68,7 @@ Calling over your closest slave, you order _himU to bring you one of the enema syringes from the slave quarters. _HeU rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, sending a steady stream of precum running down to pool on your huge balls. Your pussy is similarly soaked, imagining your belly swelling after you knock yourself up has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before _heU enters carrying the glass enema syringe. Impatient, you give _himU your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." <br><br>Following your instructions, _heU eagerly drops to _hisU knees and inhales your soaked member. The large volume of precum coming from your swollen prostate necessitates regular swallowing that only adds to your pleasure. You lay back and enjoy yourself as _heU massages your huge balls before slipping _hisU hand underneath to start fingering your soaked pussy. The expert ministrations from your slave combine with your thoughts of the semi-incestuous stuffing that comes next, and soon your sack is clenching your huge balls as your body prepares to cum. Recognizing the signs, your slave removes _hisU mouth and replaces it with the open end of the syringe. _HeU takes _hisU sodden hand from your cunt and starts stroking vigorously, and soon you're spraying massive jets of alabaster cum into the enema syringe. It's good that you decided on an enema syringe instead of a normal dildo suppository, as the huge quantity of fertile semen would have overflowed from a smaller container. <br><br>You sit up and pick up the previously discarded plunger while your slave continues to hold the syringe. _HeU has thoughtfully blocked the tip with the palm of _hisU hand, keeping any of the precious fluid from escaping. You position the plunger and barely insert it into the open syringe, not wanting to accidentally force out your semen. The two of you flip the full syringe over so that the business end is pointing upward, and the slave removes _hisU hand while you make sure the plunger is secure and won't leak any of the precious cargo. Your slave eagerly licks the drop of cum off the palm of _hisU hand, but you don't begrudge _himU a small treat. Instead, you get a firm grasp on the glass of the thick enema syringe and lay back once more. - You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe between your huge balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the nubby plug-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions. "Fuck me good and hard with the syringe until I cum. When I do, I want you to take both hands and ram that plunger in. Push hard, I want that syringe completely empty when you're done." + You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe between your huge balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the nubby plug-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions: "Fuck me good and hard with the syringe until I cum. When I do, I want you to take both hands and ram that plunger in. Push hard, I want that syringe completely empty when you're done." <br><br>The _girlU does as _heU's told, getting a firm grip on the syringe and pushing in slightly before drawing it outward. After a brief pause, _heU shoves it back inside you. Seeing the undeniable pleasure on your face, _heU takes it as permission to continue and quickly picks up the pace. Soon _heU's fucking you hard and fast with the syringe. Thanks to the position caused by your widely-splayed legs, your fertile womb is lined up perfectly for each thrust to slam the pointy enema bulb into the opening of your cervix, forcibly stretching it further open with each piercing impact. The sensation is too much to bear after having cum so recently, and you rapidly moan your way towards another orgasm. Your fevered thoughts are focused on the perverse pleasure of giving yourself a creampie, intensifying the extreme pleasure you're feeling. Soon you are cumming with a scream of ecstasy, your neglected cock making your orgasm obvious as it sends thick streams of cum spraying all over the place to coat you and your slave. Seeing _hisU cue, the _girlU grabs the large plunger with both hands and starts shoving it in the direction of your womb. _HeU leans in, using _hisU body weight to help fight the resistance of your richly-thick and fertile semen that's filling the syringe. The pressure forces the whole enema syringe further inside you, causing a blissful stretching sensation as the squirting enema bulb penetrates your cervix to lodge in your womb. Your orgasm continues unabated, spurred on by the syringe now spraying your cum directly into your womb. You spend a couple minutes that feel like hours cumming as your slave slowly inflates your womb with a full liter of your virile cum. @@ -79,7 +79,7 @@ Calling over your closest slave, you order _himU to bring you one of the dildo-shaped suppository syringes from the slave quarters. _HeU rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, sending regular drips of precum running down onto your large balls. Your pussy is similarly soaked, imagining your belly swelling after you knock yourself up has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before _heU enters carrying the remarkably-lifelike dildo syringe. Impatient, you give _himU your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." <br><br>Following your instructions, _heU eagerly drops to _hisU knees and inhales your straining cock. The extra precum coming from your enhanced prostate necessitates occasional swallowing that only adds to your pleasure. You lay back and enjoy yourself as _heU massages your large balls before slipping _hisU hand underneath to start fingering your soaked pussy. The expert ministrations from your slave combine with your thoughts of the semi-incestuous stuffing that comes next, and soon your sack is clenching your large balls as your body prepares to cum. Recognizing the signs, your slave removes _hisU mouth and replaces it with the open end of the syringe. _HeU takes _hisU sodden hand from your cunt and starts stroking vigorously, and soon you're spraying large jets of alabaster cum into the syringe. It's close, the large quantity of fertile semen almost overflows from the dildo suppository. <br><br>You sit up and pick up the previously discarded plunger while your slave continues to hold the syringe. _HeU has thoughtfully blocked the tip with the palm of _hisU hand, keeping any of the precious fluid from escaping. You position the plunger and barely insert it into the open syringe, not wanting to accidentally force out your semen. The two of you flip the full syringe over so that the business end is pointing upward, and the slave removes _hisU hand while you make sure the plunger is secure and won't leak any of the precious cargo. Your slave eagerly licks the drop of cum off the palm of _hisU hand, but you don't begrudge _himU a small treat. Instead, you get a firm grasp on the silicone of the thick dildo syringe and lay back once more. - You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe underneath your large balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the cock-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions. "Fuck me good and hard with the syringe until I cum. When I do, I want you to ram that plunger in. Push hard, I want that syringe completely empty when you're done." + You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe underneath your large balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the cock-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions: "Fuck me good and hard with the syringe until I cum. When I do, I want you to ram that plunger in. Push hard, I want that syringe completely empty when you're done." <br><br>The _girlU does as _heU's told, getting a firm grip on the syringe and pushing in slightly before drawing it outward. After a brief pause, _heU shoves it back inside you. Seeing the undeniable pleasure on your face, _heU takes it as permission to continue and quickly picks up the pace. Soon _heU's fucking you hard and fast with the syringe. Thanks to the position caused by your widely-splayed legs, your fertile womb is lined up perfectly for each thrust to slam the head of the dildo into your cervix, battering it open with each impact. The sensation is too much to bear after having cum so recently, and you rapidly moan your way towards another orgasm. Your fevered thoughts are focused on the perverse pleasure of giving yourself a creampie, intensifying the extreme pleasure you're feeling. Soon you are cumming with a scream of ecstasy, your neglected cock making your orgasm obvious as it sends jets of cum all over the place to land on you and your slave. Seeing _hisU cue, the _girlU grabs the large plunger and starts shoving it in the direction of your womb. _HeU pushes hard to help fight the resistance of your richly-thick and fertile semen that's filling the syringe. The pressure forces the silicone cockhead against your cervix, creating a seal and leaving the syringe free to spray your semen through your battered cervix and into your hungry womb. Your orgasm continues unabated, spurred on by warm fluid flowing into your womb. You spend a minute that feel like an hour cumming as your slave slowly fills your womb with a few deciliters of virile cum. @@ -90,7 +90,7 @@ Calling over your closest slave, you order _himU to bring you one of the dildo-shaped suppository syringes from the slave quarters. _HeU rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, a large droplet of precum hanging from the head. Your pussy is similarly soaked, imagining your belly swelling after you knock yourself up has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before _heU enters carrying the remarkably-lifelike dildo syringe. Impatient, you give _himU your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." <br><br>Following your instructions, _heU eagerly drops to _hisU knees and inhales your straining cock. You lay back and enjoy yourself as _heU massages your balls before slipping _hisU hand downward to start fingering your soaked pussy. The expert ministrations from your slave combine with your thoughts of the semi-incestuous stuffing that comes next, and soon your sack is clenching tightly as your body prepares to cum. Recognizing the signs, your slave removes _hisU mouth and replaces it with the open end of the syringe. _HeU takes _hisU sodden hand from your cunt and starts stroking vigorously, and soon you're spraying jets of alabaster cum into the syringe. It's a powerful orgasm, but you only manage to fill a quarter of it. <br><br>You sit up and pick up the previously discarded plunger while your slave continues to hold the syringe. _HeU has thoughtfully blocked the tip with the palm of _hisU hand, keeping any of the precious fluid from escaping. You position the plunger and barely insert it into the open syringe, not wanting to accidentally force out your semen. The two of you flip the syringe over so that the business end is pointing upward, and the slave removes _hisU hand while you make sure the plunger is inserted far enough that you've gotten all the air out of the syringe. Your slave eagerly licks the drop of cum off the palm of _hisU hand, but you don't begrudge _himU a small treat. Instead, you get a firm grasp on the silicone of the thick dildo syringe and lay back once more. - You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe underneath your balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the cock-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions. "Fuck me good and hard with the syringe until I cum. When I do, I want you to ram that plunger in. I want that syringe completely empty when you're done." + You spread your legs into a wide "M" shape, as if preparing for a gynecological exam. You can't demean yourself by allowing your slave to penetrate you, so you carefully position the girthy syringe underneath your balls and slowly shove it into your pussy. Adjusting your grip, you keep pushing; you're unable to suppress a moan when you feel the cock-like tip knock at the entrance of your womb. Thoroughly penetrated, you lay back and give your slave instructions: "Fuck me good and hard with the syringe until I cum. When I do, I want you to ram that plunger in. I want that syringe completely empty when you're done." <br><br>The _girlU does as _heU's told, getting a firm grip on the syringe and pushing in slightly before drawing it outward. After a brief pause, _heU shoves it back inside you. Seeing the undeniable pleasure on your face, _heU takes it as permission to continue and quickly picks up the pace. Soon _heU's fucking you hard and fast with the syringe. Thanks to the position caused by your widely-splayed legs, your fertile womb is lined up perfectly for each thrust to slam the head of the dildo into your cervix, battering it open with each impact. The sensation is too much to bear after having cum so recently, and you rapidly moan your way towards another orgasm. Your fevered thoughts are focused on the perverse pleasure of giving yourself a creampie, intensifying the extreme pleasure you're feeling. Soon you are cumming with a scream of ecstasy, your neglected cock making your orgasm obvious as it sends several jets of cum to land on your reclined body. Seeing _hisU cue, the _girlU grabs the large plunger and starts shoving it in the direction of your womb. _HeU pushes hard to help fight the resistance of your richly-thick and fertile semen that's filling the syringe. The pressure forces the silicone cockhead against your cervix, creating a seal and leaving the syringe free to spray your semen through your battered cervix and into your hungry womb. Your orgasm continues unabated, spurred on by the jet of fluid flowing into your womb. Your orgasm soon fades, and you wish that you could produce more than a deciliter of cum to fill yourself with. diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw index dd0d1bbc5b2ccbf5cbf63dde2490ac92cb9936c2..578b5d54fdaf8400e7da210722947ee29746f285 100644 --- a/src/pregmod/seFCTVshows.tw +++ b/src/pregmod/seFCTVshows.tw @@ -618,8 +618,8 @@ The offered price is <<print cashFormat($slaveCost)>>. You've already made the mistake of ordering the sham of a product. While it gave you a great excuse to fondle breasts, it's not like you needed one in the first place. <<if $Concubine != 0 && canTalk($Concubine)>> <<run Enunciate($Concubine)>> - <<setLocalPronouns $Concubine 2>> - "I told you it wouldn't work, <<Master>>. Plu<<s>> you know you can touch the<<s>>e anytime!" $Concubine.slaveName shakes _his2 chest at you. + <<setLocalPronouns $Concubine>> + "I told you it wouldn't work, <<Master>>. Plu<<s>> you know you can touch the<<s>>e anytime!" $Concubine.slaveName shakes $his chest at you. <</if>> <<elseif $showEleven > 1>> You could always order a crate to play around with. Who knows, maybe it'll actually work?<<if $PC.dick == 1>> At the very least it should make for some decent lubricant for a titfuck.<</if>> @@ -628,25 +628,25 @@ The offered price is <<print cashFormat($slaveCost)>>. <<link "Place an order">> <<replace #called>> <<set $purchasedSagBGone = 1>> - <<run cashX(-50, "PCmedical")>> + <<run cashX(forceNeg(Math.trunc(50 * $upgradeMultiplierTrade)), "PCmedical")>> Your order should arrive by next week. If the advertisement is to be believed, all you need to do is rub the cream into your breasts several times a day and it will ward off sagging. <</replace>> - <</link>> // This will cost <<print cashFormat(50)>> // + <</link>> // This will cost <<print cashFormat(Math.trunc(50 * $upgradeMultiplierTrade))>> // </span> <<else>> You could always order a crate to play around with. Who knows, maybe it'll actually work?<<if $PC.dick == 1>> At the very least it should make for some decent lubricant for a titfuck.<</if>> <<if $Concubine != 0>> <<run Enunciate($Concubine)>> - <<setLocalPronouns $Concubine 2>> + <<setLocalPronouns $Concubine>> <<if $Concubine.boobs > 2000 && $Concubine.boobShape == "saggy">> - $Concubine.slaveName hefts _his2 breasts and lets them flop back into their usual saggy position. <<if canTalk($Concubine)>>"Far too late for the<<s>>e ladie<<s>>. I doubt it will work though, product<<s>> like that never do."<<else>>_He2 sighs doubtfully.<</if>> + $Concubine.slaveName hefts $his breasts and lets them flop back into their usual saggy position. <<if canTalk($Concubine)>>"Far too late for the<<s>>e ladie<<s>>. I doubt it will work though, product<<s>> like that never do."<<else>>$He sighs doubtfully.<</if>> <<elseif $Concubine.boobs > 2000>> - $Concubine.slaveName massages _his2 big breasts. <<if canTalk($Concubine)>>"I doubt it will work, but if you're looking for an excu<<s>>e, you don't need one!"<<else>>_He2 scoffs at the commercial and clearly expresses _his2 doubt before puffing out _his2 chest at you.<</if>> _He2 leans into you so _his2 bust flops into your lap. + $Concubine.slaveName massages $his big breasts. <<if canTalk($Concubine)>>"I doubt it will work, but if you're looking for an excu<<s>>e, you don't need one!"<<else>>$He scoffs at the commercial and clearly expresses $his doubt before puffing out $his chest at you.<</if>> $He leans into you so $his bust flops into your lap. <<else>> - $Concubine.slaveName cups _his2 breasts. <<if canTalk($Concubine)>>"What a joke. I'm <<s>>ure it doe<<s>>n't work, plu<<s>> don't you think they are lovely enough already, <<Master>>?"<<else>>_He2 scoffs with doubt before proudly sticking out _his2 chest.<</if>> _He2 bounces _his2 tits for you. You'll have to agree with _him2; not a bit of sag to them. + $Concubine.slaveName cups $his breasts. <<if canTalk($Concubine)>>"What a joke. I'm <<s>>ure it doe<<s>>n't work, plu<<s>> don't you think they are lovely enough already, <<Master>>?"<<else>>$He scoffs with doubt before proudly sticking out $his chest.<</if>> $He bounces $his tits for you. You'll have to agree with $him; not a bit of sag to them. <</if>> <<if $PC.boobsBonus > 2 && $PC.boobsImplant == 0>> - _He2 slides closer to you, wraps an arm around your back and grabs your huge breasts. <<if canTalk($Concubine)>>"Oh <<Master>>! It feel<<s>> like YOU might need it!" _He2 jiggles your boobs in _his2 hands.<<else>>_He2 jiggles your huge boobs in _his2 hands. _He2's calling you saggy!<</if>> You take that as an open invitation and throw the covers over the two of you so you can have a little fun before bed. + $He slides closer to you, wraps an arm around your back and grabs your huge breasts. <<if canTalk($Concubine)>>"Oh <<Master>>! It feel<<s>> like YOU might need it!" $He jiggles your boobs in $his hands.<<else>>$He jiggles your huge boobs in $his hands. $He's calling you saggy!<</if>> You take that as an open invitation and throw the covers over the two of you so you can have a little fun before bed. <</if>> <<elseif $PC.boobsBonus > 2 && $PC.boobsImplant == 0>> You cup your huge breasts. They're pretty large and you swear they've been drooping a little lately; maybe you could benefit from this cream... @@ -656,10 +656,10 @@ The offered price is <<print cashFormat($slaveCost)>>. <<link "Place an order">> <<replace #called>> <<set $purchasedSagBGone = 1>> - <<run cashX(-50, "PCmedical")>> + <<run cashX(forceNeg(Math.trunc(50 * $upgradeMultiplierTrade)), "PCmedical")>> Your order should arrive by next week. If the advertisement is to be believed, all you need to do is rub the cream into your breasts several times a day and it will ward off sagging. <</replace>> - <</link>> // This will cost <<print cashFormat(50)>> // + <</link>> // This will cost <<print cashFormat(Math.trunc(50 * $upgradeMultiplierTrade))>> // </span> <</if>> @@ -1024,8 +1024,8 @@ The offered price is <<print cashFormat($slaveCost)>>. <<elseif $PC.dick == 1>> Stunned and fully erect, you inexplicably feel the urge to creampie a pussy, so you <<if $Concubine != 0 && $Concubine.vagina > 0 && canDoVaginal($Concubine)>> - <<setLocalPronouns $Concubine 2>> - grab $Concubine.slaveName and recreate the entire ending with _him2. + <<setLocalPronouns $Concubine>> + grab $Concubine.slaveName and recreate the entire ending with $him. <<set _fctvs = $slaveIndices[$Concubine.ID]>> <<set $slaves[_fctvs].vaginalCount += 1, $vaginalTotal += 1>> <<if canImpreg($Concubine, $PC)>> @@ -1040,8 +1040,8 @@ The offered price is <<print cashFormat($slaveCost)>>. <<else>> Stunned and soaking wet, you hurry to <<if $Concubine != 0 && canPenetrate($Concubine) && canImpreg($PC, $Concubine) && ($sexualOpeness == 1 || $Concubine.toyHole == "dick")>> - <<setLocalPronouns $Concubine 2>> - get $Concubine.slaveName nice and hard before recreating the entire ending with _him2. You've never had a more hope-filled orgasm. + <<setLocalPronouns $Concubine>> + get $Concubine.slaveName nice and hard before recreating the entire ending with $him. You've never had a more hope-filled orgasm. <<= knockMeUp($PC, 10, 0, $Concubine.ID, 1)>> <<set _fctvs = $slaveIndices[$Concubine.ID]>> <<set $slaves[_fctvs].penetrativeCount += 1, $penetrativeTotal += 1>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 0c0406f501ed539cb892acf4ba76c0b19af881a7..7389d62645c0084ca176bd48d60f05cb95f7cc34 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -2095,7 +2095,6 @@ Setting missing global variables: <<if ndef $trinkets>> <<set $trinkets = []>> - <<set $upgradeMultiplierMedicine = 1>> <<if $PC.career == "wealth">> <<set $trinkets.push("a collection of diplomas from expensive schools")>> <<elseif $PC.career == "capitalist">> @@ -2108,7 +2107,6 @@ Setting missing global variables: <<set $trinkets.push("an artist's impression of an early arcology design")>> <<elseif $PC.career == "medicine">> <<set $trinkets.push("a framed postsurgical x-ray")>> - <<set $upgradeMultiplierMedicine = 0.8>> <<elseif $PC.career == "celebrity">> <<set $trinkets.push("a framed copy of the first news story featuring yourself")>> <<elseif $PC.career == "arcology owner">> @@ -2532,82 +2530,82 @@ Setting missing global variables: /*Corporation variables added*/ <<if ndef $vanillaShareSplit>> -<<set $vanillaShareSplit = 1>> + <<set $vanillaShareSplit = 1>> <</if>> <<if ndef $corpCashDividend>> -<<set $corpCashDividend = 0>> + <<set $corpCashDividend = 0>> <</if>> <<if ndef $corpDiv>> -<<set $corpDiv = 0>> + <<set $corpDiv = 0>> <</if>> <<if ndef $corpExpand>> -<<set $corpExpand = 0>> + <<set $corpExpand = 0>> <</if>> <<if ndef $corpExpandToken>> -<<set $corpExpandToken = 0>> + <<set $corpExpandToken = 0>> <</if>> <<if ndef $corpSpec>> -<<set $corpSpec = 0>> + <<set $corpSpec = 0>> <</if>> <<if ndef $corpSpecToken>> -<<set $corpSpecToken = 0>> + <<set $corpSpecToken = 0>> <</if>> <<if ndef $corpDivExtra>> -<<set $corpDivExtra = 0>> + <<set $corpDivExtra = 0>> <</if>> <<if ndef $corpDivLegal>> -<<set $corpDivLegal = 0>> + <<set $corpDivLegal = 0>> <</if>> <<if ndef $corpDivBreak>> -<<set $corpDivBreak = 0>> + <<set $corpDivBreak = 0>> <</if>> <<if ndef $corpDivSurgery>> -<<set $corpDivSurgery = 0>> + <<set $corpDivSurgery = 0>> <</if>> <<if ndef $corpDivTrain>> -<<set $corpDivTrain = 0>> + <<set $corpDivTrain = 0>> <</if>> <<if ndef $corpDivArcade>> -<<set $corpDivArcade = 0>> + <<set $corpDivArcade = 0>> <</if>> <<if ndef $corpDivMenial>> -<<set $corpDivMenial = 0>> + <<set $corpDivMenial = 0>> <</if>> <<if ndef $corpDivDairy>> -<<set $corpDivDairy = 0>> + <<set $corpDivDairy = 0>> <</if>> <<if ndef $corpDivWhore>> -<<set $corpDivWhore = 0>> + <<set $corpDivWhore = 0>> <</if>> <<if ndef $corpDivExtraDev>> -<<set $corpDivExtraDev = 0>> + <<set $corpDivExtraDev = 0>> <</if>> <<if ndef $corpDivLegalDev>> -<<set $corpDivLegalDev = 0>> + <<set $corpDivLegalDev = 0>> <</if>> <<if ndef $corpDivBreakDev>> -<<set $corpDivBreakDev = 0>> + <<set $corpDivBreakDev = 0>> <</if>> <<if ndef $corpDivSurgeryDev>> -<<set $corpDivSurgeryDev = 0>> + <<set $corpDivSurgeryDev = 0>> <</if>> <<if ndef $corpDivTrainDev>> -<<set $corpDivTrainDev = 0>> + <<set $corpDivTrainDev = 0>> <</if>> <<if ndef $corpDivArcadeDev>> -<<set $corpDivArcadeDev = 0>> + <<set $corpDivArcadeDev = 0>> <</if>> <<if ndef $corpDivMenialDev>> -<<set $corpDivMenialDev = 0>> + <<set $corpDivMenialDev = 0>> <</if>> <<if ndef $corpDivDairyDev>> -<<set $corpDivDairyDev = 0>> + <<set $corpDivDairyDev = 0>> <</if>> <<if ndef $corpDivWhoreDev>> -<<set $corpDivWhoreDev = 0>> + <<set $corpDivWhoreDev = 0>> <</if>> <<if ndef $corpSpecRaces>> -<<set $corpSpecRaces = []>> + <<set $corpSpecRaces = []>> <</if>> <<if ndef $corpEasy>> <<if $economy > 100>> @@ -2630,7 +2628,7 @@ Setting missing global variables: <<set $corpMarket = 0>> <<unset $corpPeopleEnslaved, $slaveAssets, $slaveAssetPrice, $corpProfit, $corpCash, $corpValue, $sharePrice, $oldSharePrice, $personalShares, $publicShares, $generalAssetPrice, $generalAssets, $entrapmentAssets, $entrapmentAssetPrice, $captureAssets, $captureAssetPrice, $trainingAssets, $trainingAssetPrice, $surgicalAssets, $surgicalAssetPrice, $drugAssets, $drugAssetPrice, $generalUpgradeBreaking, $generalUpgradeWeight, $generalUpgradeMuscle, $entrapmentUpgradeDevotionOne, $entrapmentUpgradeDevotionTwo, $entrapmentUpgradeIntelligence, $captureUpgradeGender, $surgicalUpgradeGenitalia, $captureUpgradeAge, $captureUpgradeRace, $trainingUpgradeAccent, $trainingUpgradeEducation, $trainingUpgradeSexEd, $surgicalUpgradeCosmetics, $surgicalUpgradeImplants, $drugUpgradeHormones, $drugUpgradeInjectionOne, $drugUpgradeInjectionTwo>> <<for _i = 0; _i < $sectors.length; _i++>> - <<if $sectors[_i].type == "CorporateMarket">><<set $sectors[_i].type = "Markets">><<break>><</if>> + <<if $sectors[_i].type == "CorporateMarket">><<set $sectors[_i].type = "Markets">><<break>><</if>> <</for>> <</if>> @@ -3565,6 +3563,8 @@ Done! <<set $HackingSkillMultiplier = HackingSkillMultiplier()>> <<set $upgradeMultiplierArcology = upgradeMultiplierArcology()>> +<<set $upgradeMultiplierMedicine = upgradeMultiplierMedicine()>> +<<set $upgradeMultiplierTrade = upgradeMultiplierTrade()>> /* reset NaNArray after BC is run */ <<set $NaNArray = findNaN()>> diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 1782a92a1dbba2c2c71632f71532950206700a66..4af8f772142a1ff180f0b8908739389c24a08a2c 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -5031,7 +5031,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <</if>> dick in without a second thought. You make sure to clamp down as hard as possible so the experience is not all that pleasant for $him, but $he continues to thrust in a daze. <<if canImpreg($PC, $activeSlave)>> - You make one last plea for $him not to cum inside, it's a danger day. If anything, it only encourages $him to thrust deeper before painting the insides of your pussy with $his load. + You make one last plea for $him not to cum inside; it's a danger day. If anything, it only encourages $him to thrust deeper before painting the insides of your pussy with $his load. <<= knockMeUp($PC, 100, 0, $activeSlave.ID)>> <</if>> Once spent, $he shoves you to the ground and crashes into your office chair. The moment $he lets down $his guard, you slam the heaviest object you can find into $his head. Now that you have $him controlled, it's time $he learned $his place; when $he wakes up, of course. It's more fun that way. @@ -14130,7 +14130,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address $He keeps licking away, cleaning up the mess you made as $assistantName does everything $he can to make it seem like the slave is pleasuring $him. Partway through, $assistantName sticks out a hand for a high-five from you, producing a gurgle of indignation @@.mediumaquamarine;or perhaps even laughter@@ as $his owner and $his owner's personal assistant program high-five over $his back. <<set $activeSlave.trust += 4, $activeSlave.oralCount++, $oralTotal++>> <</replace>> -<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>> +<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>> //This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>> <<if canDoAnal($activeSlave)>> <br><<link "Double penetrate the slave with your PA">> <<EventNameDelink $activeSlave>> @@ -14192,7 +14192,9 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<else>> feminine <</if>> - thighs quivering a little from supporting $his body in its perch atop the machine, and from the fullness of $his anus. $He knows this is going to be challenging, and is breathing deeply, doing $his best to stay relaxed. You cannot resist slapping your <<if $PC.dick == 1>>big cock lightly<<else>>lubricated strap-on<</if>> against $his cheek, producing a groan of apprehension. + thighs quivering a little from supporting $his body in its perch atop the machine, and from the fullness of $his anus. + <<= AnalVCheck(3)>> + $He knows this is going to be challenging, and is breathing deeply, doing $his best to stay relaxed. You cannot resist slapping your <<if $PC.dick == 1>>big cock lightly<<else>>lubricated strap-on<</if>> against $his cheek, producing a groan of apprehension. <br><br> You push $him gently backward, letting $him get accustomed to the new angle.<<if $activeSlave.boobs > 2000>> $His monstrous tits spread to either side of $his <<if $activeSlave.belly >= 5000>>_belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<<else>>now upright torso<</if>>, and you take a moment to play with them as $he prepares $himself.<</if>> <<if canDoVaginal($activeSlave)>> @@ -14236,9 +14238,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address "I like you," $he says cheerily. <</switch>> <<set $activeSlave.devotion += 4>> - <<= AnalVCheck(3)>> <</replace>> -<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>> +<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>> //This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>> <</if>> <<case "like me">> @@ -16768,6 +16769,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<case "bad dream">> +/* TODO: add a positive variant */ + <<link "Hug $him">> <<EventNameDelink $activeSlave>> <<replace "#result">> diff --git a/src/uncategorized/costsBudget.tw b/src/uncategorized/costsBudget.tw index a0493fed04b7eb5b9039ab863a0545f4cd02a55a..329ed2cd00b98e4c237e79eed28274f96972a4e5 100644 --- a/src/uncategorized/costsBudget.tw +++ b/src/uncategorized/costsBudget.tw @@ -265,7 +265,7 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){ <<print budgetLine("event", "Events")>> - <<print budgetLine("war", "Archology conflict")>> + <<print budgetLine("war", "Arcology conflict")>> <<print budgetLine("capEx", "Capital expenses")>> diff --git a/src/uncategorized/neighborInteract.tw b/src/uncategorized/neighborInteract.tw index 6794342b509060946e2d44b6874807c2da75428f..f0ae674b296be48211d4b61e90275a40f71704c3 100644 --- a/src/uncategorized/neighborInteract.tw +++ b/src/uncategorized/neighborInteract.tw @@ -364,8 +364,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of togas" "Neighbor Interact">> <<set $clothesBoughtToga = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough togas. @@ -384,8 +384,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of kimonos" "Neighbor Interact">> <<set $clothesBoughtKimono = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough kimonos. @@ -404,8 +404,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of silken harem garb" "Neighbor Interact">> <<set $clothesBoughtHarem = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough silk. @@ -424,8 +424,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of huipils" "Neighbor Interact">> <<set $clothesBoughtHuipil = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough huipils. @@ -444,8 +444,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of qipaos" "Neighbor Interact">> <<set $clothesBoughtQipao = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough skimpy qipaos. @@ -464,8 +464,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of Egyptian necklace replicas" "Neighbor Interact">> <<set $clothesBoughtEgypt = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough replicas of Egyptian necklaces. @@ -485,8 +485,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of conservative clothing" "Neighbor Interact">> <<set $clothesBoughtConservative = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough modest clothing. @@ -505,8 +505,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of binding chains" "Neighbor Interact">> <<set $clothesBoughtChains = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough chains. @@ -526,8 +526,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of bunny suits" "Neighbor Interact">> <<set $clothesBoughtBunny = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough bunny suits and bowties. @@ -547,8 +547,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of body oil" "Neighbor Interact">> <<set $clothesBoughtOil = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough body oil. @@ -567,8 +567,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of stretch pants and crop-tops" "Neighbor Interact">> <<set $clothesBoughtLazyClothes = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough elastic waistbands and tight tops. @@ -588,8 +588,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of chattel religionist habits" "Neighbor Interact">> <<set $clothesBoughtHabit = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough chattel religionist habits. @@ -609,8 +609,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of western clothing" "Neighbor Interact">> <<set $clothesBoughtWestern = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough rancher outfits. @@ -630,8 +630,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of maternity clothing" "Neighbor Interact">> <<set $clothesBoughtMaternityDress = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough maternity dresses. @@ -648,8 +648,8 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of maternity lingerie" "Neighbor Interact">> <<set $clothesBoughtMaternityLingerie = 1>> - <<run cashX(forceNeg(Math.trunc(7500-_prices)), "capEx")>> - <</link>> //Will cost <<print cashFormat(Math.trunc(7500-_prices))>>// + <<run cashX(forceNeg(Math.trunc((7500-_prices)*$upgradeMultiplierTrade)), "capEx")>> + <</link>> //Will cost <<print cashFormat(Math.trunc((7500-_prices)*$upgradeMultiplierTrade))>>// <</if>> <<else>> <br>You already have enough lingerie suited for pregnant women. @@ -666,7 +666,7 @@ If $activeArcology.name has developed enough to begin exporting worthwhile goods <<elseif $activeArcology.direction != $arcologies[0].embargoTarget>> <br><<link "Purchase a shipment of empathy bellies" "Neighbor Interact">> <<set $clothesBoughtBelly = 1>> - <<run cashX(forceNeg(Math.trunc(15000-(_prices*2))), "capEx")>> + <<run cashX(forceNeg(Math.trunc((15000-(_prices*2))*$upgradeMultiplierTrade)), "capEx")>> <</link>> //Will cost <<print cashFormat(Math.trunc(15000-(_prices*2)))>>// <</if>> <<else>> diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw index 51d7243aecbad83fb56aba5dc6be5f72b9f393f9..ae7563add2d19eea26932d98fb06a41a78ed673c 100644 --- a/src/uncategorized/nextWeek.tw +++ b/src/uncategorized/nextWeek.tw @@ -2,6 +2,8 @@ <<set $HackingSkillMultiplier = HackingSkillMultiplier()>> <<set $upgradeMultiplierArcology = upgradeMultiplierArcology()>> +<<set $upgradeMultiplierMedicine = upgradeMultiplierMedicine()>> +<<set $upgradeMultiplierTrade = upgradeMultiplierTrade()>> <<if $rivalOwner != 0>> <<set _rival = $arcologies.find(function(s) { return s.rival == 1; })>> diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw index a9af9c69933df6dec24f10ab11f06ea1afcbfafa..31e7c744dc0237060921bc09be4617a33c92c62b 100644 --- a/src/uncategorized/persBusiness.tw +++ b/src/uncategorized/persBusiness.tw @@ -49,7 +49,7 @@ <<set _income = random(2000,4500)>> <<if $PC.belly >= 1500>> <<if $arcologies[0].FSRepopulationFocus != "unset">> - You focus on finding "dates" this week and earn @@.yellowgreen;<<print cashFormat(Math.trunc((_income*($rep/500))+($PC.belly)))>>@@ for your body, much more than usual; guess your pregnancy focused population wants your baby rounded body more than ever. However, doing such things @@.red;damages your reputation@@. + You focus on finding "dates" this week and earn @@.yellowgreen;<<print cashFormat(Math.trunc((_income*($rep/500))+($PC.belly)))>>@@ for your body, much more than usual; you guess your pregnancy focused population wants your baby rounded body more than ever. However, doing such things @@.red;damages your reputation@@. <<run cashX(Math.trunc((_income*($rep/500))+($PC.belly)), "personalBusiness")>> <<run repX(($rep*.95) - $rep, "personalBusiness")>> <<elseif $arcologies[0].FSRepopulationFocusPregPolicy == 1>> @@ -85,7 +85,12 @@ <<run cashX(1000, "personalBusiness")>> <<set $PC.forcedFertDrugs += 2>> <<elseif random(1,100) > 90>> - Your client this week offered you some free pills to make sex more fun. He was right; it made bareback sex feel amazing. + <<if $PC.medicine >= 25>> + Your client this week tried to trick you into taking fertility supplements disguised as party drugs. You still took them, of course, but made sure he @@.yellowgreen;paid extra@@ for the privilege. + <<run cashX(1000, "personalBusiness")>> + <<else>> + Your client this week offered you some free pills to make sex more fun. He was right; it made bareback sex feel amazing. + <</if>> <<set $PC.forcedFertDrugs += 2>> <</if>> <<= knockMeUp($PC, 20, 0, -5)>> @@ -296,7 +301,7 @@ <<run repX(($rep*.8) - $rep, "personalBusiness")>> <<set $enduringRep *= .5>> <<elseif random(1,100) >= 50>> - You are as discreet as possible, but yet some people seem to have doubts about who you are, and for quite some time, you can hear whispers @@.red;that you may be helping the more shady businesses in your arcology@@. + You are as discreet as possible, but yet some people seem to have doubts about who you are, and for quite some time, you can hear whispers @@.red;that you may be helping the shadier businesses in your arcology@@. <<run repX(($rep*.9) - $rep, "personalBusiness")>> <<set $enduringRep *= .75>> <<else>> @@ -546,7 +551,7 @@ <<else>> <<set $PC.medicine -= _Cal>> <</if>> - <<if _oldSkill <= 10>> + <<if _oldSkill <= 10>> <<if $PC.medicine > 10>> You now have @@.green;basic knowledge@@ about how to be a slave surgeon. <<else>> diff --git a/src/uncategorized/personalAttentionSelect.tw b/src/uncategorized/personalAttentionSelect.tw index e2bbef624f0d2460c0473cbe95896af388f67911..7e903f39e8cec427eb311c9b22761243b1f37c1e 100644 --- a/src/uncategorized/personalAttentionSelect.tw +++ b/src/uncategorized/personalAttentionSelect.tw @@ -3,11 +3,11 @@ <<set $nextButton = "Back to Main", $nextLink = "Main">> <<if $PC.career == "escort">> -[[Focus on "connecting"|Main][$personalAttention = "whoring"]] + [[Focus on "connecting"|Main][$personalAttention = "whoring"]] <<elseif $PC.career == "servant">> -[[Maintain your home|Main][$personalAttention = "upkeep"]] + [[Maintain your home|Main][$personalAttention = "upkeep"]] <<else>> -[[Focus on business|Main][$personalAttention = "business"]] + [[Focus on business|Main][$personalAttention = "business"]] <<if $PC.career == "gang">> | [[Help people "pass" things around|Main][$personalAttention = "smuggling"]] <</if>> diff --git a/src/uncategorized/seIndependenceDay.tw b/src/uncategorized/seIndependenceDay.tw index 141048e25368b8bbed9c8635205f5e68745b1398..b314e00284199f90d50240a7b11713f11cc92148 100644 --- a/src/uncategorized/seIndependenceDay.tw +++ b/src/uncategorized/seIndependenceDay.tw @@ -327,9 +327,9 @@ In the Free Cities, Independence Day falls on the day when the Free City achieve <<replace "#result2">> <br><br>Once darkness falls outside the arcology, a traditional fireworks display erupts from mortars mounted on your penthouse balconies. The noise and light @@.green;delights@@ your citizens, terrifies the arcology's stupider slaves, and serves a useful ancillary purpose in defense preparedness. The arcology's radar and laser sensors track the display, using it as an opportunity to calibrate the point defense systems on real targets. There is general agreement that this sort of thing should be a yearly tradition here, just like it was in some parts of the old world: old ideas aren't all bad. <<run repX(5000, "event")>> - <<run cashX(-10000, "event")>> + <<run cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierTrade)), "event")>> <</replace>> -<</link>> //Costs @@.yellowgreen;<<print cashFormat(10000)>>@@// </span> +<</link>> //Costs @@.yellowgreen;<<print cashFormat(Math.trunc(10000*$upgradeMultiplierTrade))>>@@// </span> <<if $SF.Toggle && $SF.Active >= 1>> <span id="result3"> <br><<link "Host a parade">> diff --git a/src/uncategorized/wardrobe.tw b/src/uncategorized/wardrobe.tw index 80c2c5509a98c0688fd2c6e2a2c96c3ca137a9e4..438aff2e432d168da789006168dc985cda5d22a8 100644 --- a/src/uncategorized/wardrobe.tw +++ b/src/uncategorized/wardrobe.tw @@ -30,279 +30,279 @@ The room containing all the clothes and accessories you have available to dress <br> <<if !isItemAccessible("a bunny outfit")>> - [[Order a shipment of bunny suits|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtBunny = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of bunny suits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx")), $clothesBoughtBunny = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with classic bunny suits and bowties. <</if>> <br> <<if !isItemAccessible("conservative clothing")>> - [[Order a shipment of conservative clothes|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtConservative = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of conservative clothes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtConservative = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with modest outfits. <</if>> <br> <<if !isItemAccessible("chains")>> - [[Order a shipment of chains|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtChains = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of chains|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtChains = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with various lengths of binding chains. <</if>> <br> <<if !isItemAccessible("Western clothing")>> - [[Order a shipment of western outfits|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtWestern = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of western outfits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtWestern = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with cowgirl outfits. <</if>> <br> <<if !isItemAccessible("body oil")>> - [[Order a shipment of body oil|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtOil = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of body oil|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtOil = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with various body oils. <</if>> <br> <<if !isItemAccessible("stretch pants and a crop-top")>> - [[Order a shipment of comfortable, rather stretchy, clothes|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtLazyClothes = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of comfortable, rather stretchy, clothes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtLazyClothes = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with various comfy pants and rather tight crop-tops. <</if>> <br> <<if !isItemAccessible("a chattel habit")>> - [[Order a shipment of chattel habits|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtHabit = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of chattel habits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHabit = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with habits from the chattel religion. <</if>> <br> <<if !isItemAccessible("ancient Egyptian")>> - [[Order a shipment of Egyptian necklaces|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtEgypt = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of Egyptian necklaces|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtEgypt = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with ancient Egyptian necklaces. <</if>> <br> <<if !isItemAccessible("a toga")>> - [[Order a shipment of togas|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtToga = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of togas|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtToga = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with fine roman-styled togas. <</if>> <br> <<if !isItemAccessible("a huipil")>> - [[Order a shipment of huipil|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtHuipil = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of huipil|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHuipil = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> - You are well stocked with exquisite Aztec Huipil. + You are well stocked with exquisite Aztec huipils. <</if>> <br> <<if !isItemAccessible("a kimono")>> - [[Order a shipment of kimonos|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtKimono = 1]] - //Costs <<print cashFormat(7500)>>// -<<else>>You are well stocked with elegant Japanese Kimonos. + [[Order a shipment of kimonos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtKimono = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// +<<else>>You are well stocked with elegant Japanese kimonos. <</if>> <br> <<if !isItemAccessible("harem gauze")>> - [[Order a shipment of harem outfits|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtHarem = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of harem outfits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHarem = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with Arabic harem garb made from the finest available silks. <</if>> <br> <<if !isItemAccessible("a slutty qipao")>> - [[Order a shipment of qipaos|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtQipao = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of qipaos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtQipao = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with slutty Chinese qipaos. <</if>> <br> <<if !isItemAccessible("a maternity dress")>> - [[Order a shipment of maternity dresses|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtMaternityDress = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of maternity dresses|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMaternityDress = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with dresses specially tailored for pregnant women. <</if>> <br> <<if !isItemAccessible("attractive lingerie for a pregnant woman")>> - [[Order a shipment of maternity lingerie|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtMaternityLingerie = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of maternity lingerie|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMaternityLingerie = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with sexy silken lingerie designed for pregnant women. <</if>> <br> <<if !isItemAccessible("battlearmor")>> - [[Order a shipment of military themed clothing|Wardrobe][cashX(-5000, "capEx"), $clothesBoughtMilitary = 1]] - //Costs <<print cashFormat(5000)>>// + [[Order a shipment of military themed clothing|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtMilitary = 1]] + //Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with a variety of military themed garb. <</if>> <br> <<if !isItemAccessible("a dirndl")>> - [[Order a shipment of cultural outfits|Wardrobe][cashX(-15000, "capEx"), $clothesBoughtCultural = 1]] - //Costs <<print cashFormat(15000)>>// + [[Order a shipment of cultural outfits|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtCultural = 1]] + //Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with a variety of signature outfits from a variety of countries. <</if>> <br> <<if !isItemAccessible("a burqa")>> - [[Order a shipment of burqas and similar garb|Wardrobe][cashX(-5000, "capEx"), $clothesBoughtMiddleEastern = 1]] - //Costs <<print cashFormat(5000)>>// + [[Order a shipment of burqas and similar garb|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtMiddleEastern = 1]] + //Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with a number of burqas and similar clothing. <</if>> <br> <<if !isItemAccessible("jeans")>> - [[Order an extra large shipment of casual clothing|Wardrobe][cashX(-5000, "capEx"), $clothesBoughtCasual = 1]] - //Costs <<print cashFormat(5000)>>// + [[Order an extra large shipment of casual clothing|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtCasual = 1]] + //Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with casual clothing. <</if>> <br> <<if !isItemAccessible("a police uniform")>> - [[Order a shipment of professional garments|Wardrobe][cashX(-2500, "capEx"), $clothesBoughtCareer = 1]] - //Costs <<print cashFormat(2500)>>// + [[Order a shipment of professional garments|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtCareer = 1]] + //Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with selection of professional outfits. <</if>> <br> <<if !isItemAccessible("a gothic lolita dress")>> - [[Order a shipment of professionally tailored dresses|Wardrobe][cashX(-15000, "capEx"), $clothesBoughtDresses = 1]] - //Costs <<print cashFormat(15000)>>// + [[Order a shipment of professionally tailored dresses|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtDresses = 1]] + //Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with selection of fine dresses. <</if>> <br> <<if !isItemAccessible("a cybersuit")>> - [[Order a shipment of exotic bodysuits|Wardrobe][cashX(-7500, "capEx"), $clothesBoughtBodysuits = 1]] - //Costs <<print cashFormat(7500)>>// + [[Order a shipment of exotic bodysuits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtBodysuits = 1]] + //Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with selection of bodysuits. <</if>> <br> <<if !isItemAccessible("boyshorts")>> - [[Order a shipment of undergarments|Wardrobe][cashX(-5000, "capEx"), $clothesBoughtUnderwear = 1]] - //Costs <<print cashFormat(5000)>>// + [[Order a shipment of undergarments|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtUnderwear = 1]] + //Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with underwear. <</if>> <br> <<if !isItemAccessible("sport shorts and a sports bra")>> - [[Order a shipment of exercise wear|Wardrobe][cashX(-2500, "capEx"), $clothesBoughtSports = 1]] - //Costs <<print cashFormat(2500)>>// + [[Order a shipment of exercise wear|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtSports = 1]] + //Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with exercise wear. <</if>> <br> <<if !isItemAccessible("a one-piece swimsuit")>> - [[Order a shipment of swimwear|Wardrobe][cashX(-3500, "capEx"), $clothesBoughtSwimwear = 1]] - //Costs <<print cashFormat(3500)>>// + [[Order a shipment of swimwear|Wardrobe][cashX(forceNeg(Math.trunc(3500 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtSwimwear = 1]] + //Costs <<print cashFormat(Math.trunc(3500 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with swimwear. <</if>> <br> <<if !isItemAccessible("a nice pony outfit")>> - [[Order a shipment of specialized latex ponygirl outfits|Wardrobe][cashX(-10000, "capEx"), $clothesBoughtPony = 1]] - //Costs <<print cashFormat(10000)>>// + [[Order a shipment of specialized latex ponygirl outfits|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtPony = 1]] + //Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with ponygirl bodysuits. <</if>> <br> <<if !isItemAccessible("a schutzstaffel uniform")>> - [[Order a shipment of politically incorrect clothing|Wardrobe][cashX(-15000, "capEx"), $clothesBoughtPol = 1]] - //Costs <<print cashFormat(15000)>>// + [[Order a shipment of politically incorrect clothing|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtPol = 1]] + //Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with a selection of outfits once considered distasteful. <</if>> <br> <<if !isItemAccessible("a Santa dress")>> - [[Order a shipment of colorful and revealing costumes|Wardrobe][cashX(-15000, "capEx"), $clothesBoughtCostume = 1]] - //Costs <<print cashFormat(15000)>>// + [[Order a shipment of colorful and revealing costumes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtCostume = 1]] + //Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with a variety of costume party supplies. <</if>> <br> <<if !isItemAccessible("shimapan panties")>> - [[Order a large crate of panties from Japan|Wardrobe][cashX(-2500, "capEx"), $clothesBoughtPantsu = 1]] - //Costs <<print cashFormat(2500)>>// + [[Order a large crate of panties from Japan|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtPantsu = 1]] + //Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>>// <<else>> You have an impressive stash of panties and other striped underwear that may or may not be have at one point been used. <</if>> <br><br> <<if !isItemAccessible("a small empathy belly")>> - [[Order a shipment of fake pregnancy bellies|Wardrobe][cashX(-15000, "capEx"), $clothesBoughtBelly = 1]] - //Costs <<print cashFormat(15000)>>// + [[Order a shipment of fake pregnancy bellies|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade), "capEx"), $clothesBoughtBelly = 1]] + //Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with silicone pregnancy bellies modeled after variously sized women. <</if>> <br><br> <<if $toysBoughtDildos == 0>> - [[Order a shipment of extra long dildos|Wardrobe][cashX(-10000, "capEx"), $toysBoughtDildos = 1]] - //Costs <<print cashFormat(10000)>>// + [[Order a shipment of extra long dildos|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $toysBoughtDildos = 1]] + //Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with extra long dildos in a variety of sizes. <</if>> <br> <<if $toysBoughtVaginalAttachments == 0>> - [[Order a shipment of bullet vibes and vibrating dildos|Wardrobe][cashX(-10000, "capEx"), $toysBoughtVaginalAttachments = 1]] - //Costs <<print cashFormat(10000)>>// + [[Order a shipment of bullet vibes and vibrating dildos|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade), "capEx")), $toysBoughtVaginalAttachments = 1]] + //Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with bullet vibrators and vibrating dildos. <</if>> <br> <<if $toysBoughtButtPlugs == 0>> - [[Order a shipment of extra long buttplugs|Wardrobe][cashX(-10000, "capEx"), $toysBoughtButtPlugs = 1]] - //Costs <<print cashFormat(10000)>>// + [[Order a shipment of extra long buttplugs|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $toysBoughtButtPlugs = 1]] + //Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with extra long buttplugs in a variety of sizes. <</if>> <br> <<if $toysBoughtButtPlugTails == 0>> - [[Order a shipment of attachable tails|Wardrobe][cashX(-5000, "capEx"), $toysBoughtButtPlugTails = 1]] - //Costs <<print cashFormat(5000)>>// + [[Order a shipment of attachable tails|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade), "capEx")), $toysBoughtButtPlugTails = 1]] + //Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with tails to attach to your buttplugs. <</if>> <br> <<if $toysBoughtGags == 0>> - [[Order a shipment of extra long dildo gags|Wardrobe][cashX(-5000, "capEx"), $toysBoughtGags = 1]] - //Costs <<print cashFormat(5000)>>// + [[Order a shipment of extra long dildo gags|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade), "capEx")), $toysBoughtGags = 1]] + //Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with extra long dildo gags. <</if>> @@ -317,15 +317,14 @@ The room containing all the clothes and accessories you have available to dress <br> <<if $enema == 0>> - [[Order enema supplies|Wardrobe][cashX(-5000, "capEx"), $enema = 1]] - //Costs <<print cashFormat(5000)>>// + [[Order enema supplies|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $enema = 1]] + //Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>>// <<else>> You are well stocked with specially formulated liquids to be used safely for long term enemas along with the tools needed to keep a slave bloated for extended periods of time. <<if $medicalEnema == 0>> - [[Order medical enema supplies|Wardrobe][cashX(-25000, "capEx"), $medicalEnema = 1]] - //Costs <<print cashFormat(25000)>>// + [[Order medical enema supplies|Wardrobe][cashX(forceNeg(Math.trunc(25000 * $upgradeMultiplierTrade), "capEx")), $medicalEnema = 1]] + //Costs <<print cashFormat(Math.trunc(25000 * $upgradeMultiplierTrade))>>// <<else>> You are also well stocked with drugs to be mixed with the enema water for use in medical enemas. <</if>> <</if>> - diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw index 46f3d90e418e306dd1481ae01c09845683d5daa7..e2f8e5f5ac3bed31ad9661ecccdf337d017a72ec 100644 --- a/src/utility/miscWidgets.tw +++ b/src/utility/miscWidgets.tw @@ -686,7 +686,7 @@ This experience <<elseif def $args[1]>> [[Customize the exterior of the arcology to support this goal|Future Society][$arcologies[0][_FSDecoration] = 100, State.variables[$args[1]] = 1, cashX(-20000, "capEx")]] //Costs <<print cashFormat(20000)>>// <<elseif $args[0] == "FSRestart">> - [[Customize the exterior of the arcology to support this goal and fully establish the Societal Elite|Future Society][$arcologies[0].FSRestartDecoration = 100, $upgradeMultiplierArcology = upgradeMultiplierArcology(), $upgradeMultiplierMedicine = 0.5, $cash -= 75000]] //Costs <<print cashFormat(75000)>> and may dilute your control over the arcology// + [[Customize the exterior of the arcology to support this goal and fully establish the Societal Elite|Future Society][$arcologies[0].FSRestartDecoration = 100, $upgradeMultiplierArcology = upgradeMultiplierArcology(), $upgradeMultiplierMedicine = upgradeMultiplierMedicine(), $cash -= 75000]] //Costs <<print cashFormat(75000)>> and may dilute your control over the arcology// <<else>> [[Customize the exterior of the arcology to support this goal|Future Society][$arcologies[0][_FSDecoration] = 100, cashX(-20000, "capEx")]] //Costs <<print cashFormat(20000)>>// <</if>>