diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index 2e2de81ad3ebfd43b8b8fc4d3808c650c100cc13..2945880da41d5a976c8a0c07a37200f631c24475 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -1,5 +1,11 @@ Pregmod +0.10.7.1-2.2.x + + 0 + -overhauled reputation tracking + -fixes + 0.10.7.1-2.1.x 02/08/2019 diff --git a/src/SecExp/attackGenerator.tw b/src/SecExp/attackGenerator.tw index 94776671c3fc8efec2a1574b488fc59892aa240b..928724aae186ba21ee531fbec69639bf9a4462ed 100644 --- a/src/SecExp/attackGenerator.tw +++ b/src/SecExp/attackGenerator.tw @@ -128,32 +128,31 @@ <<set $battleTerrain = "error">> <</if>> - <<set _L0=3,_L1=45>> - <<if $attackType == "raiders">> <<set $attackTroops = random(40,80)>> + <<set _L=0>> + <<if $attackType == "raiders">> <<set $attackTroops = random(40,80),_L=1>> <<elseif $attackType == "free city">> <<set $attackTroops = random(20,40)>> <<elseif $attackType == "old world">> <<set $attackTroops = random(25,50)>> - <<elseif $attackType == "freedom fighters">> - <<set $attackTroops = random(30,60),_L0=1,_L1=60>> + <<elseif $attackType == "freedom fighters">> <<set $attackTroops = random(30,60)>> <</if>> <<if $week < 30>> - <<set $attackTroops *= Math.ceil(random( (1*(1.15+($week/203))), (2*(1+($week/149))) ))>> + <<set $attackTroops *= Math.trunc(random( (1*(1.01+($week/100))), (2*(1.01+($week/100))) ))>> /*<<set $attackTroops *= random(1,2)>>*/ <<elseif $week < 60>> - <<set $attackTroops *= Math.ceil(random( (1*(1.25+($week/135))), (3*(1.5+($week/99))) ))>> + <<set $attackTroops *= Math.trunc(random( (1*(1.01+($week/200))), (3*(1.01+($week/200))) ))>> /*<<set $attackTroops *= random(1,3)>>*/ <<elseif $week < 90>> - <<set $attackTroops *= Math.ceil(random( (2*(1.35+($week/90))), (3*(2+($week/66))) ))>> + <<set $attackTroops *= Math.trunc(random( (2*(1.01+($week/300))), (3*(1.01+($week/300))) ))>> /*<<set $attackTroops *= random(2,3)>>*/ <<elseif $week < 120>> - <<set $attackTroops *= Math.ceil(random( (2*(1.5+($week/60))), (4*(3+($week/45))) ))>> + <<set $attackTroops *= Math.trunc(random( (2*(1.01+($week/400))), (4*(1.01+($week/400))) ))>> /*<<set $attackTroops *= random(2,4)>>*/ <<else>> - <<set $attackTroops *= Math.ceil(random( (3*(2+($week/40))), (5*(4+($week/30))) ))>> + <<set $attackTroops *= random(3,5)>> <</if>> <<if $week < 60>> - <<set $attackEquip = Math.ceil(random( (0, (1*(1.5+($week/99))) ))>> + <<set $attackEquip = random(0,1)>> <<elseif $week < 90>> - <<set $attackEquip = Math.ceil(random( (0, (3*(2+($week/66))) ))>> + <<set $attackEquip = random(0,3-_L)>> /*"raiders" <<set $attackEquip = random(0,2)>>*/ <<elseif $week < 120>> - <<set $attackEquip = Math.ceil(random( (0, (_L0*(_L0+($week/_L1))) ))>> + <<set $attackEquip = random(1-_L,3)>> /*"raiders" <<set $attackEquip = random(0,3)>>*/ <<else>> - <<set $attackEquip = Math.ceil(random( (2*(2+($week/40))), (4*(4+($week/30))) ))>> + <<set $attackEquip = random(2-_L,4-_L)>> /*"raiders" <<set $attackEquip = random(1,3)>>*/ <</if>> /* major battles have a 50% chance of firing after week 120 */ diff --git a/src/SecExp/attackReport.tw b/src/SecExp/attackReport.tw index 2743b8d2a15541298895fd45acd50141ad81279d..bd5cd2981d72ad0b318e7828a4bee41d507190da 100644 --- a/src/SecExp/attackReport.tw +++ b/src/SecExp/attackReport.tw @@ -130,7 +130,7 @@ <hr> <<if $attackType == "raiders">> - Today, the _day of _month _year, our arcology was attacked by a band of wild raiders, <<print commaNum($attackTroops)>> men strong. + Today, the _day of _month _year, our arcology was attacked by a band of wild raiders, <<print commaNum(Math.trunc($attackTroops))>> men strong. <<if $battleResult != 1 && $battleResult != 0 && $battleResult != -1>> Our defense forces, <<print commaNum(Math.trunc($troopCount))>> strong, clashed with them <<if $battleTerrain == "urban">> @@ -156,7 +156,7 @@ <</if>> <<if $battleResult == 3>> <<if $battleTurns <= 5>> - The fight was quick and one sided, our men easily stopped the disorganized horde futile attempt at raiding your arcology<<if $PCvictoryStreak >= 2 || $PClossStreak >= 2>>,<<else>>.<</if>> + The fight was quick and one sided, our men easily stopped the disorganized horde's futile attempt at raiding your arcology<<if $PCvictoryStreak >= 2 || $PClossStreak >= 2>>,<<else>>.<</if>> <<elseif $battleTurns <= 7>> The fight was hard, but in the end our men stopped the disorganized horde attempt at raiding your arcology<<if $PCvictoryStreak >= 2 || $PClossStreak >= 2>>,<<else>>.<</if>> <<else>> @@ -192,9 +192,9 @@ You decided in favor of a financial approach rather than open hostilities. Your troops remain inside the arcology's walls. <</if>> <<elseif $attackType == "free city">> - Today, the _day of _month _year, our arcology was attacked by a contingent of mercenaries hired by a competing free city, <<print commaNum($attackTroops)>> men strong. + Today, the _day of _month _year, our arcology was attacked by a contingent of mercenaries hired by a competing free city, <<print commaNum(Math.trunc($attackTroops))>> men strong. <<if $battleResult != 1 && $battleResult != 0 && $battleResult != -1>> - Our defense forces, $troopCount strong, clashed with them + Our defense forces, <<print commaNum(Math.trunc($troopCount))>> strong, clashed with them <<if $battleTerrain == "urban">> in the streets of <<if $terrain == "urban">>the old world city surrounding the arcology<<else>>of the free city<</if>>, <<elseif $battleTerrain == "rural">> @@ -254,9 +254,9 @@ You decided in favor of a financial approach rather than open hostilities. Your troops remain inside the arcology's walls. <</if>> <<elseif $attackType == "freedom fighters">> - Today, the _day of _month _year, our arcology was attacked by a group of freedom fighters bent on the destruction of the institution of slavery, <<print commaNum($attackTroops)>> men strong. + Today, the _day of _month _year, our arcology was attacked by a group of freedom fighters bent on the destruction of the institution of slavery, <<print commaNum(Math.trunc($attackTroops))>> men strong. <<if $battleResult != 1 && $battleResult != 0 && $battleResult != -1>> - Our defense forces, $troopCount strong, clashed with them + Our defense forces, <<print commaNum(Math.trunc($troopCount))>> strong, clashed with them <<if $battleTerrain == "urban">> in the streets of <<if $terrain == "urban">>the old world city surrounding the arcology<<else>>of the free city<</if>>, <<elseif $battleTerrain == "rural">> @@ -316,9 +316,9 @@ You decided in favor of a financial approach rather than open hostilities. Your troops remain inside the arcology's walls. <</if>> <<elseif $attackType == "old world">> - Today, the _day of _month _year, our arcology was attacked by an old world nation boasting a misplaced sense of superiority, <<print commaNum($attackTroops)>> men strong. + Today, the _day of _month _year, our arcology was attacked by an old world nation boasting a misplaced sense of superiority, <<print commaNum(Math.trunc($attackTroops))>> men strong. <<if $battleResult != 1 && $battleResult != 0 && $battleResult != -1>> - Our defense forces, $troopCount strong, clashed with them + Our defense forces, <<print commaNum(Math.trunc($troopCount))>> strong, clashed with them <<if $battleTerrain == "urban">> in the streets of <<if $terrain == "urban">>the old world city surrounding the arcology<<else>>of the free city<</if>>, <<elseif $battleTerrain == "rural">> diff --git a/src/SecExp/rebellionGenerator.tw b/src/SecExp/rebellionGenerator.tw index 66255ca0f8c10134ed103d4e6c099426b5d6a944..2ea126c09af5fa316d5d86871bc4a8d0d5108e3e 100644 --- a/src/SecExp/rebellionGenerator.tw +++ b/src/SecExp/rebellionGenerator.tw @@ -235,15 +235,15 @@ <<set _weekMod = 0.50>> <<if $week <= 30>> - <<set _weekMod = 0.75 * Math.round(1+$week/10)>> + <<set _weekMod = 0.75 + (0.01+($week/200))>> <<elseif $week <= 60>> - <<set _weekMod = 1 * Math.round(1+$week/10)>> + <<set _weekMod = 1 + (0.01+($week/300))>> <<elseif $week <= 90>> - <<set _weekMod = 1.25 * Math.round(1+$week/10)>> + <<set _weekMod = 1.25 + (0.01+($week/400))>> <<elseif $week <= 120>> - <<set _weekMod = 1.50 * Math.round(1+$week/10)>> + <<set _weekMod = 1.50 + (0.01+($week/500))>> <<else>> - <<set _weekMod = 1.75 * Math.round(1+$week/10)>> + <<set _weekMod = 1.75>> <</if>> /* resetting ID list */ diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js index ef847cb3711d3b5a0fd69e557efbe20d17901598..612416df0167408228b472a5f29e10c0095bb17a 100644 --- a/src/SpecialForce/SpecialForce.js +++ b/src/SpecialForce/SpecialForce.js @@ -253,21 +253,22 @@ window.SFBC = function() { }; window.SFReport = function() { + "use strict"; const V=State.variables,T=State.temporary,S=V.SF.Squad; - var target=50000,baseLine=5000,profit=0,upkeep=0,income=0; - var Multiplier={action:1,troop:1,unit:1,depravity:1},SFD=V.SF.Depravity; - var FNG=10,unitCap=2500,Trade=0.025,deaths=0,r=``; Count(); - var cost={a:0.01,b:2.5};var NO=1+(V.SF.Size/10);var N1=1+(V.SF.Size/10); + let target=50000,baseLine=5000,profit=0,upkeep=0,income=0; + let Multiplier={action:1,troop:1,unit:1,depravity:1},SFD=V.SF.Depravity; + let FNG=10,unitCap=2500,Trade=0.025,deaths=0,r=``; Count(); + let cost={a:0.01,b:2.5};let NO=1+(V.SF.Size/5);let N1=1+(V.SF.Size/5); V.SFUC=0; if (profit < 1) cost.a=10; cost.b=0.1;NO=1;N1=0.1; if (S.Troops > unitCap) S.Troops=unitCap; if (S.Troops < 100) { S.Troops += Math.ceil(jsRandom(2,5)); } else { if (V.SF.Target === "recruit") { - S.Troops += Math.ceil(jsRandom(-1*S.Troops/100,0)); + S.Troops += Math.ceil(jsRandom(-1*S.Troops/1000,0)); } else if (V.SF.Target === "raiding") { - S.Troops += Math.ceil(jsRandom(-3*S.Troops/100,-4*S.Troops/100)); - } else { S.Troops += Math.ceil(jsRandom(-2*S.Troops/100,-3*S.Troops/100)); } + S.Troops += Math.ceil(jsRandom(-1.15*S.Troops/1000,-1.20*S.Troops/1000)); + } else { S.Troops += Math.ceil(jsRandom(-1.10*S.Troops/1000,-1.15*S.Troops/1000)); } } if (V.SF.UC.Assign > 0) { if (V.SF.UC.Assign < 2) { V.SFUC=Math.ceil(S.Troops*0.1); @@ -364,14 +365,14 @@ window.SFReport = function() { V.arcologies[0].prosperity=Math.ceil(V.arcologies[0].prosperity+(Trade/10)*0.25);} if (V.secExp > 0) V.authority += V.SF.Size*10; V.authority=Math.clamp(V.authority, 0, 20000); - income += Math.ceil( (baseLine* (0.09+Multiplier.troop/NO).toFixed(2) * (0.09+Multiplier.unit/NO).toFixed(2) * (0.09+Multiplier.action/NO).toFixed(2) * (0.09+Multiplier.depravity/NO).toFixed(2) )-(upkeep*N1).toFixed(2) ); S.Troops += Math.round(FNG/2); - r += `income:${commaNum(income)}, troop:${commaNum((0.09+Multiplier.troop/NO).toFixed(2))}, unit:${commaNum((0.09+Multiplier.unit/NO).toFixed(2))}, action:${commaNum((0.09+Multiplier.action/NO).toFixed(2))}, depravity:${commaNum((0.09+Multiplier.depravity/NO).toFixed(2))}, upkeep:${commaNum((upkeep*N1).toFixed(2))}`; - //if (V.economy < 100) income=Math.ceil(income*(1+(V.week/100))); //Remove line if hard mode ever gets fixed. + income += Math.ceil( ( (baseLine* (0.09+Multiplier.troop/NO).toFixed(2) * (0.09+Multiplier.unit/NO).toFixed(2) * (0.09+Multiplier.action/NO).toFixed(2) * (0.09+Multiplier.depravity/NO).toFixed(2) ) - (upkeep*N1).toFixed(2) )/V.SF.Size/5+S.Troops/1000 ); S.Troops += Math.round(FNG/2); + if (V.debugMode > 0) r += `<br>income:${commaNum(income)}, troop:${commaNum((0.09+Multiplier.troop/NO).toFixed(2))}, unit:${commaNum((0.09+Multiplier.unit/NO).toFixed(2))}, action:${commaNum((0.09+Multiplier.action/NO).toFixed(2))}, depravity:${commaNum((0.09+Multiplier.depravity/NO).toFixed(2))}, upkeep:${commaNum((upkeep*N1).toFixed(2))}`; + if (V.economy < 100) if (V.SF.Target === "raiding") { income=Math.ceil(income*14) } else if (V.SF.Target === "secure") { income=Math.ceil(income*20) } else { income=Math.ceil(income*50) }; //Remove line if hard mode ever gets fixed. if (income >= target) profit=1; delete V.SF.Subsidy; cashX(income, "specialForces"); if (S.Troops > unitCap) S.Troops=unitCap; if (V.arcologies[0].prosperity > V.ProsperityCap) V.arcologies[0].prosperity=V.ProsperityCap; - if (S.Drugs >= 8 || S.Drugs >= 10) { var survivalChance=50; + if (S.Drugs >= 8 || S.Drugs >= 10) { let survivalChance=50; if (S.Drugs >= 8) {survivalChance -= 5;} else if (S.Drugs >= 10) {survivalChance += 5;} if (jsRandom(0,100) > survivalChance) deaths=jsRandom(0,((S.Drugs*2)+4)); if (deaths > 0) S.Troops -= deaths; @@ -400,6 +401,7 @@ window.SFReport = function() { r+= ` The goods procured by ${V.SF.Lower} after accounting for the spoils retained by individual soldiers were `; if (profit > 0) { r += `<span class='green'>more than sufficient to cover expenses</span>. Excess material and human assets totaling <span class='yellowgreen'>${cashFormat(income)}</span> (after liquidation) were transferred to your accounts.`; + if (V.economy < 100) r += `The rapiddly degrading global economy has one upside,<span class='green'> ${V.SF.Caps} was able to more easily use more 'persuasive' technciques thus leading to an increase in profit</span>.`; } else { r += `<span class='red'>barely enough to cover expenses.</span> More growth will be needed to ensure profitability, <span class='yellow'>hopefully purchasing more upgrades will help</span>.`; r += ` Per the estimates that ${SFC()} provides, an additional <span class='yellowgreen'>${cashFormat(target-income)}</span> is required for sufficient cover.`; @@ -417,9 +419,9 @@ window.SFReport = function() { r += `<<link "Strict Accountability">> <<set $SF.Regs="strict">> <<replace "#accountability">>''Strict Accountability''<</replace>> <</link>> | <<link "Some Accountability">> <<set $SF.Regs="some">> <<replace "#accountability">>''Some Accountability''<</replace>> <</link>> | <<link "No Accountability">> <<set $SF.Regs="none">> <<replace "#accountability">>''No Accountability''<</replace>> <</link>>`; if (V.SF.MercCon.View > 0 && V.SF.MercCon.CanAttend === 1) { V.SF.MercCon.Income=0; V.SF.MercCon.Menials=0; - var tradeShowAttendes=200, menialGiftsPerAttendee=5, NewMercs=0; - var menialGifts=Math.ceil(jsRandom(1,((tradeShowAttendes*menialGiftsPerAttendee)/10))); - var TSProfit=Math.ceil(500000*(1+(V.SF.Size/1000))*(1+(V.arcologies[0].prosperity/1000))*T.Env); + let tradeShowAttendes=200, menialGiftsPerAttendee=5, NewMercs=0; + let menialGifts=Math.ceil(jsRandom(1,((tradeShowAttendes*menialGiftsPerAttendee)/10))); + let TSProfit=Math.ceil(500000*(1+(V.SF.Size/1000))*(1+(V.arcologies[0].prosperity/1000))*T.Env); V.menials += menialGifts; V.SF.MercCon.History += 1; V.SF.MercCon.Menials += menialGifts; V.SF.MercCon.TotalMenials += menialGifts; V.SF.MercCon.Income += TSProfit; V.SF.MercCon.Revenue += TSProfit; @@ -443,7 +445,7 @@ window.SFUpgradeCost = function(cost,unit) { const V=State.variables,T=State.temporary,S=V.SF.Squad; var value=0; //return Math.ceil(cost*T.Env*(1.15+(V.SF.Size/10))*(1.15+(unit/100))*HSM()); value=cost*T.Env*(1.15+(V.SF.Size/10))*(1.15+(unit/100)); - if ([S.Sub,S.AircraftCarrier,S.MissileSilo,S.GiantRobot,S.Satellite.lv,S.GunS,S.SpacePlane,S.Drones].includes(unit)) value *= V.HackingSkillMultiplier; + if ([S.Sub,S.AircraftCarrier,S.MissileSilo,S.GiantRobot,S.Satellite.lv,S.GunS,S.SpacePlane,S.Drones].includes(unit)) value *= HSM(); return Math.ceil(value); }; diff --git a/src/SpecialForce/TrickShotNight.tw b/src/SpecialForce/TrickShotNight.tw index 3624cc037a8a05ccd4d7d66e0df8e7687a09db97..273a4a20ce0b59ba720b18c97f8372e2b9e23bfa 100644 --- a/src/SpecialForce/TrickShotNight.tw +++ b/src/SpecialForce/TrickShotNight.tw @@ -21,7 +21,7 @@ Despite your direct elevator, interaction with the majority of your security for <br>//You lack the necessary funds to attend.// <<else>> /* cash >= 500000 */ -<br><<link "Attend the trick shot night">> +<<link "Attend the trick shot night">> <<replace "#result">> <<set $PC.warfare += 1>> You instruct $assistantName to inform $SF.Lower that you will be attending their trick shot night, and after settling your affairs in the penthouse you head down to the firebase. The atmosphere in the firebase is casual, especially in comparison to the usual situations you meet them, though your security force still maintain some measure of decorum towards you as their employer. Eventually, you settle in at the table with a handful of $SF.Lower officers and cash in your @@.yellowgreen;<<print cashFormat(500000)>>@@ into bullets. All that remains is to decide your strategy for the night. <br><br> <span id="bountyresult"> @@ -111,6 +111,6 @@ Despite your direct elevator, interaction with the majority of your security for </span> <</replace>> -<</link>> // It will cost @@.yellowgreen;<<print cashFormat(500000)>>@@ to participate in the trick shot night.// +<</link>> // It will cost @@.red;<<print cashFormat(500000)>>@@ to participate in the trick shot night.// <</if>> </span> \ No newline at end of file diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw index 7e094e405e4792f4a525551127901ea496e0f152..d46216e5007adcd9e31a145c6e8514196c58be23 100644 --- a/src/facilities/farmyard/farmyard.tw +++ b/src/facilities/farmyard/farmyard.tw @@ -469,37 +469,45 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and <</if>> <br><br> -<<if ($farmyard <= $farmyardSlaves)>> - ''$farmyardNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $farmyardSlaves)>> - <<link "''Send a slave to $farmyardName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($farmyard <= $farmyardSlaves)>> + ''$farmyardNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $farmyardSlaves)>> <<resetAssignmentFilter>> <<set $Flag = 0>> <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> + <</if>> + </div> +</div> -<<if $farmyardSlaves > 0>> - | <<link "''Bring a slave out of $farmyardName''">> - <<replace #ComingGoing>> +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $farmyardSlaves > 0>> <<farmyardAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$farmyardNameCaps is empty for the moment.// + <</if>> + </div> +</div> + +<<if ($tabChoice.Farmyard == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$farmyardNameCaps is empty for the moment.// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br> -<span id="ComingGoing"> - <<farmyardAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> +</body> <br><br>Rename $farmyardName: <<textbox "$farmyardName" $farmyardName "Farmyard">> //Use a noun or similar short phrase// diff --git a/src/facilities/farmyard/food/foodMarket.tw b/src/facilities/farmyard/food/foodMarket.tw index 339dd99631301611d27308d740bd8855017bd4d1..79a99d2e1b47eb458f0166ee840eb531be02fa92 100644 --- a/src/facilities/farmyard/food/foodMarket.tw +++ b/src/facilities/farmyard/food/foodMarket.tw @@ -1,8 +1,5 @@ :: Food Market [nobr] -<<if $detailedCorpControls == 1>> -/* TODO: should there be different types of foods? */ -<</if>> <<if $useTabs == 0>>__The Food Market__<</if>> <br> diff --git a/src/facilities/nursery/childrenReport.tw b/src/facilities/nursery/childrenReport.tw index a22fe4af419a97ce1f0f1da39e3574eb8baf8c5f..89224786b08ef0c4469879dd7a9e98d57010e5b7 100644 --- a/src/facilities/nursery/childrenReport.tw +++ b/src/facilities/nursery/childrenReport.tw @@ -18,7 +18,7 @@ @@.pink;$cribs[_nur].slaveName@@ is @@.lime;ready for release.@@ $He will be removed from $nurseryName upon your approach. <</if>> - <<if $nurseryUpgradeWeight == 1>> + <<if $nurseryWeight == 1>> <br> <<if $nurseryWeightSetting == 1>> <<if $cribs[_nur].weight < 200>> @@ -48,7 +48,7 @@ <</if>> <</if>> - <<if $nurseryUpgradeMuscles == 1>> + <<if $nurseryMuscles == 1>> <br> <<if $nurseryMusclesSetting == 2>> <<if $cribs[_nur].muscles < 100>> @@ -77,309 +77,6 @@ <<set $cribs[_nur].muscles -= 40>> <</if>> <</if>> - - <<if $nurseryUpgradeGrowthStims == 1 && $nurseryGrowthStimsSetting != 0>> - <br> - <<set _heightLimit = Math.trunc(Math.clamp((Height.mean($cribs[_nur]) * 1.25),0,274))>> - <<set _heightLimitAge = Height.forAge($cribs[_nur].height, $cribs[_nur])>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* - ** NCS should block physical growth beyond that of a toddler, but some players might like - ** a little more or less. So using $minimumSlaveAge or 8, whichever is lesser. - */ - <<set _limitAge = Math.min(8, $minimumSlaveAge)>> - <<set _heightLimitAge = Height.forAge($cribs[_nur].height, _limitAge, $cribs[_nur].genes)>> - <<set _heightLimit = _heightLimitAge>> - <</if>> - <<if $cribs[_nur].height >= _heightLimit>> - The monitoring system detects $his body is not able to support further increases in height, so it carefully regulates stimulant injections to @@.yellow;maintain $his current stature.@@ - <<set $cribs[_nur].height = _heightLimit>> - <<elseif $nurseryGrowthStimsSetting == 2>> - <<if $cribs[_nur].geneMods.NCS == 1>> - The monitoring system floods $his body with growth stimulants, but $his @@.orange;NCS prevents an increase in $his growth rate.@@ - <<set $cribs[_nur].height = _heightLimitAge>> - <<else>> - The monitoring system floods $his body with growth stimulants, causing @@.green;a sharp increase in growth rate.@@ - <<if $nurseryWeightSetting >= 1 && $nurseryMusclesSetting <= 1 && $nurseryReproductionSetting <= 1>> - <<set $cribs[_nur].height += random(1,2)>> - <<else>> - <<set $cribs[_nur].height += random(0,1)>> - <</if>> - <</if>> - <<elseif $nurseryGrowthStimsSetting == 1>> - <<if $cribs[_nur].geneMods.NCS == 1>> - The monitoring system detects $he is near the expected height for $his @@.orange;NCS@@ condition, so it carefully regulates stimulants injections to @@.yellow;maintain $his current stature.@@ - <<set $cribs[_nur].height = _heightLimitAge>> - <<elseif $cribs[_nur].height > _heightLimitAge>> - The monitoring system detects $he is near the expected height, so it carefully regulates stimulants injections to @@.yellow;maintain $his current stature.@@ - <<if random(1,10) == 10>> - <<set $cribs[_nur].height += random(0,1)>> - <</if>> - <<else>> - The monitoring system detects $his body is capable of developing more rapidly and @@.green;increases $his growth stimulant dosage.@@ - <<set $cribs[_nur].height += random(0,1)>> - <</if>> - <</if>> - <<set $cribs[_nur].height = Math.clamp($cribs[_nur].height, 0, _heightLimit)>> - <<else>> - <br> - With the growth stimulant injections offline, $his body is left to develop naturally. - <</if>> - - <<if $nurseryUpgradeReproduction == 1>> - <br> - <<if $nurseryReproductionSetting == 2>> - $His developing body is being flooded with hormones. - <<if $nurseryWeightSetting == 1>> - Combined with the abundant food provided to $him, $his body grows rapidly. - <<if $cribs[_nur].ovaries == 1>> - <<set $cribs[_nur].pubertyXX = 1>> - <<if $cribs[_nur].hormoneBalance < 500>> - <<set $cribs[_nur].hormoneBalance += 100>> - <</if>> - <<if $seeHyperPreg == 1>> - <<set $cribs[_nur].readyOva = random(25,45)>> - <<else>> - <<set $cribs[_nur].readyOva = random(3,8)>> - <</if>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* NCS blocks hormonal growth of all secondary sexual characteristics */ - $His @@.orange;NCS blocks all growth@@ despite the excess estrogen-laced growth hormones flooding $his body. - <<if $cribs[_nur].boobs < 8000>> - The excess estrogen-laced growth hormones @@.green;rapidly balloon $his breasts.@@ - <<set $cribs[_nur].boobs += 100>> - <</if>> - <<if $cribs[_nur].hips < 2 && random(1,100) > 80>> - The excess estrogen-laced growth hormones @@.green;cause $his hips to widen for childbirth.@@ - <<set $cribs[_nur].hips++>> - <</if>> - <<if $cribs[_nur].butt < 12 && random(1,100) > 70>> - The excess estrogen-laced growth hormones @@.green;cause $his rear to grow fatter.@@ - <<set $cribs[_nur].butt++>> - <</if>> - <</if>> - <<elseif $cribs[_nur].balls > 0>> - <<set $cribs[_nur].pubertyXY = 1>> - <<if $cribs[_nur].hormoneBalance > -500>> - <<set $cribs[_nur].hormoneBalance -= 100>> - <</if>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* NCS blocks hormonal growth of all secondary sexual characteristics */ - $His @@.orange;NCS blocks all growth@@ despite the excess testosterone-laced growth hormones flooding $his body. - <<if $cribs[_nur].balls < 40 && random(1,100) > 30>> - The excess testosterone-laced growth hormones @@.green;cause $his balls to balloon for extra cum production.@@ - <<set $cribs[_nur].balls++>> - <</if>> - <<if $cribs[_nur].dick < 10 && random(1,100) > 80>> - The excess testosterone-laced growth hormones @@.green;cause $his penis to swell.@@ - <<set $cribs[_nur].dick++>> - <</if>> - <</if>> - <</if>> - <<elseif $nurseryWeightSetting == 2>> - Combined with the healthy food provided to $him, $his body grows readily. - <<if $cribs[_nur].ovaries == 1>> - <<set $cribs[_nur].pubertyXX = 1>> - <<if $cribs[_nur].hormoneBalance < 500>> - <<set $cribs[_nur].hormoneBalance += 100>> - <</if>> - <<if $seeHyperPreg == 1>> - <<set $cribs[_nur].readyOva = random(15,25)>> - <<else>> - <<set $cribs[_nur].readyOva = random(2,6)>> - <</if>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* NCS blocks hormonal growth of all secondary sexual characteristics */ - $His @@.orange;NCS blocks all growth@@ despite the excess estrogen-laced growth hormones flooding $his body. - <<if $cribs[_nur].boobs < 4000>> - The excess estrogen-laced growth hormones @@.green;rapidly balloon $his breasts.@@ - <<set $cribs[_nur].boobs += 100>> - <</if>> - <<if $cribs[_nur].hips < 2 && random(1,100) > 95>> - The excess estrogen-laced growth hormones @@.green;cause $his hips to widen for childbirth.@@ - <<set $cribs[_nur].hips++>> - <</if>> - <<if $cribs[_nur].butt < 8 && random(1,100) > 80>> - The excess estrogen-laced growth hormones @@.green;cause $his rear to grow fatter.@@ - <<set $cribs[_nur].butt++>> - <</if>> - <</if>> - <<elseif $cribs[_nur].balls > 0>> - <<set $cribs[_nur].pubertyXY = 1>> - <<if $cribs[_nur].hormoneBalance > -500>> - <<set $cribs[_nur].hormoneBalance -= 100>> - <</if>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* NCS blocks hormonal growth of all secondary sexual characteristics */ - $His @@.orange;NCS blocks all growth@@ despite the excess testosterone-laced growth hormones flooding $his body. - <<if $cribs[_nur].balls < 10 && random(1,100) > 30>> - The excess testosterone-laced growth hormones @@.green;cause $his balls to balloon for extra cum production.@@ - <<set $cribs[_nur].balls++>> - <</if>> - <<if $cribs[_nur].dick < 7 && random(1,100) > 80>> - The excess testosterone-laced growth hormones @@.green;cause $his penis to swell.@@ - <<set $cribs[_nur].dick++>> - <</if>> - <</if>> - <</if>> - <<else>> - Since $his body has little to work with, $his growth is fairly minor. - <<if $cribs[_nur].ovaries == 1>> - <<set $cribs[_nur].pubertyXX = 1>> - <<if $cribs[_nur].hormoneBalance < 500>> - <<set $cribs[_nur].hormoneBalance += 100>> - <</if>> - <<if $seeHyperPreg == 1>> - <<set $cribs[_nur].readyOva = random(10,15)>> - <<else>> - <<set $cribs[_nur].readyOva = random(2,4)>> - <</if>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* NCS blocks hormonal growth of all secondary sexual characteristics */ - $His @@.orange;NCS blocks all growth@@ despite the excess estrogen-laced growth hormones flooding $his body. - <<if $cribs[_nur].boobs < 2000>> - The excess estrogen-laced growth hormones @@.green;rapidly grow $his breasts.@@ - <<set $cribs[_nur].boobs += 10>> - <</if>> - <<if $cribs[_nur].hips < 2 && random(1,100) > 95>> - The excess estrogen-laced growth hormones @@.green;cause $his hips to widen for childbirth.@@ - <<set $cribs[_nur].hips++>> - <</if>> - <<if $cribs[_nur].butt < 6 && random(1,100) > 90>> - The excess estrogen-laced growth hormones @@.green;cause $his rear to grow fatter.@@ - <<set $cribs[_nur].butt++>> - <</if>> - <</if>> - <<elseif $cribs[_nur].balls > 0>> - <<set $cribs[_nur].pubertyXY = 1>> - <<if $cribs[_nur].hormoneBalance > -500>> - <<set $cribs[_nur].hormoneBalance -= 100>> - <</if>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* NCS blocks hormonal growth of all secondary sexual characteristics */ - $His @@.orange;NCS blocks all growth@@ despite the excess testosterone-laced growth hormones flooding $his body. - <<if $cribs[_nur].balls < 6 && random(1,100) > 80>> - The excess testosterone-laced growth hormones @@.green;cause $his balls to grow for extra cum production.@@ - <<set $cribs[_nur].balls++>> - <</if>> - <<if $cribs[_nur].dick < 4 && random(1,100) > 90>> - The excess testosterone-laced growth hormones @@.green;cause $his penis to swell.@@ - <<set $cribs[_nur].dick++>> - <</if>> - <</if>> - <</if>> - <</if>> - <<elseif $nurseryReproductionSetting == 1>> - $His hormone levels are being carefully managed, @@.green;encouraging early puberty.@@ - <<if $cribs[_nur].ovaries == 1>> - <<set $cribs[_nur].pubertyXX = 1>> - <<set $cribs[_nur].hormoneBalance = 250>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* NCS blocks hormonal growth of all secondary sexual characteristics */ - $His @@.orange;NCS blocks growth@@ despite the added estrogen. - <<else>> - <<if $cribs[_nur].boobs < 400 && random(1,100) > 60>> - The added estrogen @@.green;causes $his breasts to swell.@@ - <<set $cribs[_nur].boobs += 50>> - <</if>> - <<if $cribs[_nur].hips < 2 && random(1,100) > 90>> - The added estrogen @@.green;causes $his hips to widen.@@ - <<set $cribs[_nur].hips++>> - <</if>> - <<if $cribs[_nur].butt < 5 && random(1,100) > 80>> - The added estrogen @@.green;causes $his butt to grow.@@ - <<set $cribs[_nur].butt++>> - <</if>> - <</if>> - <<elseif $cribs[_nur].balls > 0>> - <<set $cribs[_nur].pubertyXY = 1>> - <<set $cribs[_nur].hormoneBalance = -250>> - <<if $cribs[_nur].geneMods.NCS == 1>> - /* NCS blocks hormonal growth of all secondary sexual characteristics */ - $His @@.orange;NCS blocks all growth@@ despite the added testosterone. - <<else>> - <<if $cribs[_nur].balls < 3 && random(1,100) > 80>> - The added testosterone @@.green;causes $his balls to swell.@@ - <<set $cribs[_nur].balls++>> - <</if>> - <<if $cribs[_nur].dick < 3 && random(1,100) > 60>> - The added testosterone @@.green;causes $his penis to grow.@@ - <<set $cribs[_nur].dick++>> - <</if>> - <</if>> - <</if>> - <<else>> - <<if $cribs[_nur].hormoneBalance > 100>> - <<set $cribs[_nur].hormoneBalance -= 50>> - <<elseif $cribs[_nur].hormoneBalance < -100>> - <<set $cribs[_nur].hormoneBalance += 50>> - <</if>> - <<if $cribs[_nur].balls > 0>> - <<if $cribs[_nur].balls > 1>> - <<set $cribs[_nur].balls -= 5>> - <</if>> - <<if $cribs[_nur].dick > 1>> - <<set $cribs[_nur].dick -= 5>> - <</if>> - <<if $cribs[_nur].balls <= 0>> - <<set $cribs[_nur].balls = 1>> - <</if>> - <<if $cribs[_nur].dick <= 0>> - <<set $cribs[_nur].dick = 1>> - <</if>> - <</if>> - <<if $cribs[_nur].boobs > 0>> - <<set $cribs[_nur].boobs -= 500>> - <</if>> - <<if $cribs[_nur].butt > 0>> - <<set $cribs[_nur].butt -= 4>> - <</if>> - <</if>> - <<else>> - <<if $cribs[_nur].hormoneBalance > 100>> - <<set $cribs[_nur].hormoneBalance -= 50>> - <<elseif $cribs[_nur].hormoneBalance < -100>> - <<set $cribs[_nur].hormoneBalance += 50>> - <</if>> - <<if $cribs[_nur].balls > 0>> - <<if $cribs[_nur].balls > 1>> - <<set $cribs[_nur].balls -= 5>> - <</if>> - <<if $cribs[_nur].dick > 1>> - <<set $cribs[_nur].dick -= 5>> - <</if>> - <<if $cribs[_nur].balls <= 0>> - <<set $cribs[_nur].balls = 1>> - <</if>> - <<if $cribs[_nur].dick <= 0>> - <<set $cribs[_nur].dick = 1>> - <</if>> - <</if>> - <<if $cribs[_nur].boobs > 0>> - <<set $cribs[_nur].boobs -= 500>> - <</if>> - <<if $cribs[_nur].butt > 0>> - <<set $cribs[_nur].butt -= 4>> - <</if>> - <</if>> - - <<if $nurseryReproductionSetting == 2>> - <<set $cribs[_nur].energy = 80, $cribs[_nur].need = 100>> - <<elseif $nurseryReproductionSetting == 1>> - <<set $cribs[_nur].energy = 50, $cribs[_nur].need = 20>> - <<else>> - <<set $cribs[_nur].energy = 0, $cribs[_nur].need = 0>> - <</if>> - /* these are breaking everything, temporarily commented out - <<set $cribs[_nur].weight = Math.clamp($cribs[_nur].weight, -100, 200)>> - <<set $cribs[_nur].muscles = Math.clamp($cribs[_nur].muscles, -100, 100)>> - <<set $cribs[_nur].dick = Math.clamp($cribs[_nur].dick, 0, 10)>> - <<set $cribs[_nur].hips = Math.clamp($cribs[_nur].hips, -2, 2)>> - <<set $cribs[_nur].balls = Math.clamp($cribs[_nur].balls, 0, 40)>> - <<set $cribs[_nur].boobs = Math.clamp($cribs[_nur].boobs, 0, 30000)>> - <<set $cribs[_nur].height = Math.clamp($cribs[_nur].height, 0, 274)>> - <<set $cribs[_nur].hormoneBalance = Math.clamp($cribs[_nur].hormoneBalance, -500, 500)>> - */ <br> <</for>> /* diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw index 5a819f0bd67464fdc81743a8c060b4411c29403b..f127a210b575543b1a29b9009bc3402509e9c1d5 100644 --- a/src/facilities/nursery/nursery.tw +++ b/src/facilities/nursery/nursery.tw @@ -125,41 +125,47 @@ $nurseryNameCaps <</if>> <br><br> -<<if ($nurseryNannies <= $nurserySlaves)>> - ''$nurseryNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $nurserySlaves)>> - <<link "''Send a slave to $nurseryName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $nurserySlaves > 0>> - | <<link "''Bring a slave out of $nurseryName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $nurserySlaves > 0>> <<nurseryAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$nurseryNameCaps is empty for the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($nurseryNannies <= $nurserySlaves)>> + ''$nurseryNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $nurserySlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.Nursery == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$nurseryNameCaps is empty for the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter >> -<span id="ComingGoing"> - <<nurseryAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span><br> - -<br>It can support $nursery child<<if $nursery != 1>>ren<</if>>. Currently $nurseryBabies rooms are in use. +<br><br>It can support $nursery child<<if $nursery != 1>>ren<</if>>. Currently $nurseryBabies rooms are in use. <<if $nursery < 50>> [[Add another room|Nursery][cashX(forceNeg(Math.trunc(5000*$upgradeMultiplierArcology)), "farmyard"), $nursery += 5]] //Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and will increase upkeep costs// <<if $freeCribs == 0>> diff --git a/src/gui/Encyclopedia/encyclopediaWidgets.tw b/src/gui/Encyclopedia/encyclopediaWidgets.tw index 8a1c47f9b6493ceef5f80608e11ecea16cd6eb28..83a6ece6fea6255f97bb6e2c6e259d6d4f2792d3 100644 --- a/src/gui/Encyclopedia/encyclopediaWidgets.tw +++ b/src/gui/Encyclopedia/encyclopediaWidgets.tw @@ -7,7 +7,13 @@ <</widget>> <<widget "encyclopediaEntryConfinement">> -''Confinement'' is an assignment which accelerates breaking for disobedient slaves. If a slave isn't obedient enough to work and isn't [[unhealthy|Encyclopedia][$encyclopedia = "Health"]] enough to need rest, this will make her useful sooner. +''Confinement'' is an assignment which accelerates breaking for disobedient slaves. If a slave isn't obedient enough to work and isn't +<<if passage() == "Encyclopedia">> + [[unhealthy|Encyclopedia][$encyclopedia = "Health"]] +<<else>> + [[unhealthy|Encyclopedia][$encyclopedia = "Health",$nextButton = "Back",$nextLink = "Main"]] +<</if>> +enough to need rest, this will make her useful sooner. <</widget>> <<widget "encyclopediaEntryFucktoy">> @@ -15,15 +21,38 @@ <</widget>> <<widget "encyclopediaEntryGloryHole">> -''Occupying a glory hole'' is an assignment which makes money off slaves regardless of their beauty, skills, or feelings; not fun or [[healthy|Encyclopedia][$encyclopedia = "Health"]]. Very powerful for extracting ¤ out of otherwise useless slaves. +''Occupying a glory hole'' is an assignment which makes money off slaves regardless of their beauty, skills, or feelings; not fun or +<<if passage() == "Encyclopedia">> + [[healthy|Encyclopedia][$encyclopedia = "Health"]]. +<<else>> + [[healthy|Encyclopedia][$encyclopedia = "Health",$nextButton = "Back",$nextLink = "Main"]]. +<</if>> +Very powerful for extracting ¤ out of otherwise useless slaves. <</widget>> <<widget "encyclopediaEntryMilking">> -''Getting milked'' is an assignment which makes money from lactation based on a slave's breasts, [[health|Encyclopedia][$encyclopedia = "Health"]], and hormonal status.<<if $seeDicks > 0>> Cows with balls will also give semen.<</if>> Creates profit quickly from slaves with big tits<<if $seeDicks > 0>> or balls<</if>>. +''Getting milked'' is an assignment which makes money from lactation based on a slave's breasts, +<<if passage() == "Encyclopedia">> + [[health|Encyclopedia][$encyclopedia = "Health"]], +<<else>> + [[health|Encyclopedia][$encyclopedia = "Health",$nextButton = "Back",$nextLink = "Main"]], +<</if>> +and hormonal status.<<if $seeDicks > 0>> Cows with balls will also give semen.<</if>> Creates profit quickly from slaves with big tits<<if $seeDicks > 0>> or balls<</if>>. <</widget>> <<widget "encyclopediaEntryFarming">> -''Farming'' is an assignment which produces [[food|Encyclopedia][$encyclopedia = "Food"]] from your slaves' hard work<<if $seeBestiality == 1>> and allows you to breed slaves with animals<</if>>. Can also reduce arcology upkeep with upgrades in the [[Farmyard|Encyclopedia][$encyclopedia = "Farmyard"]]. +''Farming'' is an assignment which produces +<<if passage() == "Encyclopedia">> + [[food|Encyclopedia][$encyclopedia = "Food"]] +<<else>> + [[food|Encyclopedia][$encyclopedia = "Food",$nextButton = "Back",$nextLink = "Main"]] +<</if>> + from your slaves' hard work<<if $seeBestiality == 1>> and allows you to breed slaves with animals<</if>>. Can also reduce arcology upkeep with upgrades in the +<<if passage() == "Encyclopedia">> + [[Farmyard|Encyclopedia][$encyclopedia = "Farmyard"]]. +<<else>> + [[Farmyard|Encyclopedia][$encyclopedia = "Farmyard",$nextButton = "Back",$nextLink = "Main"]]. +<</if>> <</widget>> <<widget "encyclopediaEntryPublicService">> @@ -31,15 +60,33 @@ <</widget>> <<widget "encyclopediaEntryRest">> -''Rest'' is an assignment mostly used to improve [[health|Encyclopedia][$encyclopedia = "Health"]]. It can be useful to order slaves you wish to intensively modify to rest, since most modifications damage health. It will synergize with curative treatments, providing bonus healing when both are simultaneously applied. +''Rest'' is an assignment mostly used to improve +<<if passage() == "Encyclopedia">> + [[health|Encyclopedia][$encyclopedia = "Health"]]. +<<else>> + [[health|Encyclopedia][$encyclopedia = "Health",$nextButton = "Back",$nextLink = "Main"]]. +<</if>> +It can be useful to order slaves you wish to intensively modify to rest, since most modifications damage health. It will synergize with curative treatments, providing bonus healing when both are simultaneously applied. <</widget>> <<widget "encyclopediaEntrySexualServitude">> -''Sexual servitude'' is an assignment which pleases other slaves by forcing the slave to service them sexually. Useful for driving the targeted slave's [[devotion|Encyclopedia][$encyclopedia = "Devotion"]] up quickly. +''Sexual servitude'' is an assignment which pleases other slaves by forcing the slave to service them sexually. Useful for driving the targeted slave's +<<if passage() == "Encyclopedia">> + [[devotion|Encyclopedia][$encyclopedia = "Devotion"]] +<<else>> + [[devotion|Encyclopedia][$encyclopedia = "Devotion",$nextButton = "Back",$nextLink = "Main"]] +<</if>> +up quickly. <</widget>> <<widget "encyclopediaEntryServitude">> -''Servitude'' is an assignment which reduces your upkeep based on the slave's [[devotion|Encyclopedia][$encyclopedia = "Devotion"]]. Available at lower obedience than other jobs, is insensitive to the quality of a slave's body, and doesn't require skills; a good transitional assignment. Unusually, low sex drive is advantageous as a servant, since it reduces distraction. Lactating slaves are slightly better at this job, since they can contribute to their fellow slaves' nutrition. +''Servitude'' is an assignment which reduces your upkeep based on the slave's +<<if passage() == "Encyclopedia">> + [[devotion|Encyclopedia][$encyclopedia = "Devotion"]]. +<<else>> + [[devotion|Encyclopedia][$encyclopedia = "Devotion",$nextButton = "Back",$nextLink = "Main"]]. +<</if>> + Available at lower obedience than other jobs, is insensitive to the quality of a slave's body, and doesn't require skills; a good transitional assignment. Unusually, low sex drive is advantageous as a servant, since it reduces distraction. Lactating slaves are slightly better at this job, since they can contribute to their fellow slaves' nutrition. <</widget>> <<widget "encyclopediaEntryWhoring">> diff --git a/src/init/dummy.tw b/src/init/dummy.tw index c586dbf9c0830d8bdcf8c1a185b718a6208c1287..79bd8af1fa097cdf3d33a6000cfb2e189ad0884d 100644 --- a/src/init/dummy.tw +++ b/src/init/dummy.tw @@ -25,6 +25,7 @@ $isReady, $fatherID, $servantsQuartersSpots $sayEnunciate, $sEnunciate, $SEnunciate, $ssEnunciate, $cEnunciate, $CEnunciate, $ccEnunciate, $zEnunciate, $ZEnunciate, $chEnunciate, $ChEnunciate, $shEnunciate, $ShEnunciate, $scEnunciate, $ScEnunciate, $xEnunciate, $XEnunciate $ZEnunciate = $ZEnunciate -$Girl, $farmyardSpots -$corpPeopleEnslaved, $slaveAssets, $slaveAssetPrice, $corpValue, $sharePrice, $oldSharePrice, $generalAssetPrice, $generalAssets, $entrapmentAssets, $entrapmentAssetPrice, $captureAssets, $captureAssetPrice, $trainingAssets, $trainingAssetPrice, $surgicalAssets, $surgicalAssetPrice, $drugAssets, $drugAssetPrice +$Girl +$corpPeopleEnslaved, $slaveAssets, $slaveAssetPrice, $corpProfit, $corpValue, $sharePrice, $oldSharePrice, $generalAssetPrice, $generalAssets, $entrapmentAssets, $entrapmentAssetPrice, $captureAssets, $captureAssetPrice, $trainingAssets, $trainingAssetPrice, $surgicalAssets, $surgicalAssetPrice, $drugAssets, $drugAssetPrice +$TradeShowMenials */ diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index fb43f3a8e183a2a46b09913d24796dad569d61f1..373739fddbb0dcb86175b974783e73dfeda40052 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -333,6 +333,9 @@ You should have received a copy of the GNU General Public License along with thi <<set $useTabs = 0>> <<set $formatNumbers = 1>> + <<set $tabChoice = { + Main: "all" + }>> /*onlyintendeddickgirls variables */ <<set $makeDicks = 0>> diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 5494d0e3b23a18713802d1760c2fc3a4c33ddccf..6ef1a9c7f7fec1854373a66c78dfaf9fbc210d7d 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -203,7 +203,7 @@ App.Entity.SlaveState = class SlaveState { this.physicalAge = 18; /** How old her ovaries are. (used to trick menopause) */ this.ovaryAge = 18; - /** has has facial surgery to reduce age. 0: no, 1: yes */ + /** has had facial surgery to reduce age. 0: no, 1: yes */ this.ageImplant = 0; /** * slave's health diff --git a/src/js/utilJS.js b/src/js/utilJS.js index 42d96946662e0b2fcbbdd2f88eac1762c4a220d3..0dcebbd2ec81823c18e4fa419557799392178f19 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -1335,4 +1335,21 @@ window.HSM = function() { else if (V.PC.hacking <= 75) {return 0.85;} else if (V.PC.hacking <= 100) {return 0.80;} else {return 0.75;} +}; + +window.opentab = function(evt, tabName) { + var i, tabcontent, tablinks; + const V = State.variables; + /*var passage = passage().trim().replace(/ /g,"+");*/ + tabcontent = document.getElementsByClassName("tabcontent"); + for (i = 0; i < tabcontent.length; i++) { + tabcontent[i].style.display = "none"; + } + tablinks = document.getElementsByClassName("tablinks"); + for (i = 0; i < tablinks.length; i++) { + tablinks[i].className = tablinks[i].className.replace(" active", ""); + } + V.tabChoice[passage().trim().replace(/ |'/g,"")] = tabName; /*The regex strips spaces and " ' " from passage names, making "Servants' Quarters" into "ServantsQuarters" and allowing it to be used as a label in this object. */ + document.getElementById(tabName).style.display = "block"; + evt.currentTarget.className += " active"; }; \ No newline at end of file diff --git a/src/npc/newSlaveIncestSex.tw b/src/npc/newSlaveIncestSex.tw index 13f2283c2edb80666c08bcd446a9ac1bbf6ef1ad..75e1d4b87218446c6e6cf7d68b0f64d05483b1fd 100644 --- a/src/npc/newSlaveIncestSex.tw +++ b/src/npc/newSlaveIncestSex.tw @@ -110,7 +110,7 @@ Carefully, _oneshe spreads _oneher _other's labia. Then _oneshe continues to giv <<else>> Uncertain, _oneshe grabs _oneher <<if _other == "twin">>_other<<else>>_otherlong<</if>>'s penis. Then _oneshe puts _oneher _other's flaccid member into _oneher mouth and gives it an experimental suck. At first, _oneher efforts seem to be futile, but after a while the _otherlong sports a nice, hard erection. <</if>> -As the _other's arousal grows, _othershe becomes more eager to please _otherher _onelong, too. Going down on _otherher's lover's genitals, _othershe starts to mimic _otherher ministrations. +As the _other's arousal grows, _othershe becomes more eager to please _otherher _onelong, too. Going down on _otherher's lover's genitals, _othershe starts to mimic _oneher ministrations. <<if ($relative.dick == 0) != ($relative2.dick == 0) >> Of course, _othershe has to adapt _otherher actions <<if $relative.dick == 0 >>from the feelings on _otherher dick to the pussy pressed against _otherher lips.<<else>>from the feelings at _otherher pussy to the dick in _otherher mouth.<</if>> <</if>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 859270205d47a8dd9c9bd6e88455acd6b2ae2ea9..85f4a6e18e07820afb4a2c242898278c4e0fb977 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -228,6 +228,11 @@ <<if def $customValue>> <<unset $customValue>> <</if>> +<<if ndef $tabChoice>> + <<set $tabChoice = { + Main: "all" + }>> +<</if>> /* pregmod stuff */ diff --git a/src/uncategorized/arcade.tw b/src/uncategorized/arcade.tw index 08548d45513f8c0af160151ef6c17c10c63dc0ff..f1aa702f304a274f677526fc7098b95d4695ae49 100644 --- a/src/uncategorized/arcade.tw +++ b/src/uncategorized/arcade.tw @@ -131,37 +131,46 @@ $arcadeNameCaps <<ArcadeStatistics 1>> <br><br> -<<if ($arcade <= $arcadeSlaves) && $arcadeUpgradeFuckdolls == 0>> - ''$arcadeNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $arcadeSlaves)>> - <<link "''Confine a slave in $arcadeName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $arcadeSlaves > 0>> - | <<link "''Bring a slave out of $arcadeName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $arcadeSlaves > 0>> <<arcadeAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$arcadeNameCaps is empty for the moment.<br> // + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($arcade <= $arcadeSlaves) && $arcadeUpgradeFuckdolls == 0>> + ''$arcadeNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $arcadeSlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.Arcade == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$arcadeNameCaps is empty for the moment.<br> // + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter>> -<span id="ComingGoing"> - <<arcadeAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> + +</body> <br><br>Rename $arcadeName: <<textbox "$arcadeName" $arcadeName "Arcade">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/brothel.tw b/src/uncategorized/brothel.tw index 8efe26db319872fe67c36952cc6970bf06b43a92..415e56c6bd34903193351db628a93592e6dc5d21 100644 --- a/src/uncategorized/brothel.tw +++ b/src/uncategorized/brothel.tw @@ -212,38 +212,46 @@ Last week this <</if>> <br><br> -<<if ($brothel <= $brothelSlaves)>> - ''$brothelNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $brothelSlaves)>> - <<link "''Send a slave to $brothelName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $brothelSlaves > 0>> - | <<link "''Bring a slave out of $brothelName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $brothelSlaves > 0>> <<brothelAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$brothelNameCaps is empty for the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($brothel <= $brothelSlaves)>> + ''$brothelNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $brothelSlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.Brothel == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$brothelNameCaps is empty for the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter >> -<span id="ComingGoing"> - <<brothelAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> +</body> <br><br>Rename $brothelName: <<textbox "$brothelName" $brothelName "Brothel">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/cellblock.tw b/src/uncategorized/cellblock.tw index 4752184b61bf8ed5371ca5242b5e8e453dbc386e..1203af615546e6c528c81985da6a643e80ec006e 100644 --- a/src/uncategorized/cellblock.tw +++ b/src/uncategorized/cellblock.tw @@ -119,37 +119,46 @@ $cellblockNameCaps <</if>> <br><br> -<<if ($cellblock <= $cellblockSlaves)>> - ''$cellblockNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $cellblockSlaves)>> - <<link "''Send a resistant slave to be broken in $cellblockName''">> - <<replace #ComingGoing>> + +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $cellblockSlaves > 0>> + <<cellblockAssignmentFilter>> + <<set $Flag = 1>> + <<include "Slave Summary">> + <<resetAssignmentFilter>> + <<else>> + <br><br>//$cellblockNameCaps is empty for the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($cellblock <= $cellblockSlaves)>> + ''$cellblockNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $cellblockSlaves)>> <<resetAssignmentFilter>> <<set $Flag = 0>> <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> + <</if>> + </div> +</div> -<<if $cellblockSlaves > 0>> - | <<link "''Let a slave out of $cellblockName''">> - <<replace #ComingGoing>> - <<cellblockAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> - <</replace>> - <</link>> +<<if ($tabChoice.Cellblock == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$cellblockNameCaps is empty for the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter>> -<span id="ComingGoing"> - <<cellblockAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> + +</body> <br><br>Rename $cellblockName: <<textbox "$cellblockName" $cellblockName "Cellblock">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/clinic.tw b/src/uncategorized/clinic.tw index 886f5c8886d5ffc4deea3332adf6611619d41608..3e5aeaa1e4328d48c304797258448243e98ffb63 100644 --- a/src/uncategorized/clinic.tw +++ b/src/uncategorized/clinic.tw @@ -141,37 +141,46 @@ $clinicNameCaps <</if>> <br><br> -<<if ($clinic <= $clinicSlaves)>> - ''$clinicNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $clinicSlaves)>> - <<link "''Send a slave to get treatment in $clinicName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $clinicSlaves > 0>> - | <<link "''Take a slave out of $clinicName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $clinicSlaves > 0>> <<clinicAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$clinicNameCaps is empty for the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($clinic <= $clinicSlaves)>> + ''$clinicNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $clinicSlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.Clinic == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$clinicNameCaps is empty for the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter>> -<span id="ComingGoing"> - <<clinicAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> + +</body> <br><br>Rename $clinicName: <<textbox "$clinicName" $clinicName "Clinic">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/club.tw b/src/uncategorized/club.tw index 48f70b6004cb96389c63979af05d9f305c1fafaf..b68d1366a9a207e02922911c68903e1463e91d42 100644 --- a/src/uncategorized/club.tw +++ b/src/uncategorized/club.tw @@ -256,37 +256,46 @@ $clubNameCaps <</if>> <br><br> -<<if ($club <= $clubSlaves)>> - ''$clubNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $clubSlaves)>> - <<link "''Send a slave to slut around $clubName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $clubSlaves > 0>> - | <<link "''Bring a slave out of $clubName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $clubSlaves > 0>> <<clubAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$clubNameCaps is empty for the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($club <= $clubSlaves)>> + ''$clubNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $clubSlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.Club == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$clubNameCaps is empty for the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter>> -<span id="ComingGoing"> - <<clubAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> + +</body> <br><br>Rename $clubName: <<textbox "$clubName" $clubName "Club">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/dairy.tw b/src/uncategorized/dairy.tw index e26e317a5121c0b8060b68e0001332329e9d4455..9d92e0538c3a48637fc0fe7761000ee0ed1aa274 100644 --- a/src/uncategorized/dairy.tw +++ b/src/uncategorized/dairy.tw @@ -523,44 +523,54 @@ $dairyNameCaps <</if>> <<set _seed = $bioreactorsXY+$bioreactorsXX+$bioreactorsHerm+$bioreactorsBarren>> + <br><br> -<<if ($dairy <= $dairySlaves+_seed)>> - ''$dairyNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $dairySlaves)>> - <<link "''Send a slave to $dairyName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> +<<if _seed > 1>> + //In addition, _seed milking machines have biological components installed in them.// +<<elseif _seed == 1>> + //In addition, one milking machine has biological components installed in it.// <</if>> +<br><br> -<<if $dairySlaves > 0>> - | <<link "''Bring a slave out of $dairyName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $dairySlaves > 0>> <<dairyAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$dairyNameCaps is empty for the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($dairy <= $dairySlaves+_seed)>> + ''$dairyNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $dairySlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.Dairy == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$dairyNameCaps is empty for the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<<if _seed > 1>> - //In addition, _seed milking machines have biological components installed in them.// -<<elseif _seed == 1>> - //In addition, one milking machine has biological components installed in it.// -<</if>> -<br><br> -<<assignmentFilter>> -<span id="ComingGoing"> - <<dairyAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> +</body> <br><br>Rename $dairyName: <<textbox "$dairyName" $dairyName "Dairy">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/economics.tw b/src/uncategorized/economics.tw index 2f84aaa5a35682433c318707dda4e059ec6d3e49..0ff50c41a7c93498e17848d7e2599a2d86b16af7 100644 --- a/src/uncategorized/economics.tw +++ b/src/uncategorized/economics.tw @@ -137,21 +137,7 @@ <</if>> <script> -function opentab(evt, tabName) { - var i, tabcontent, tablinks; - tabcontent = document.getElementsByClassName("tabcontent"); - for (i = 0; i < tabcontent.length; i++) { - tabcontent[i].style.display = "none"; - } - tablinks = document.getElementsByClassName("tablinks"); - for (i = 0; i < tablinks.length; i++) { - tablinks[i].className = tablinks[i].className.replace(" active", ""); - } - document.getElementById(tabName).style.display = "block"; - evt.currentTarget.className += " active"; -} - -document.getElementById("defaultOpen").click(); + document.getElementById("defaultOpen").click(); </script> </body> diff --git a/src/uncategorized/headGirlSuite.tw b/src/uncategorized/headGirlSuite.tw index 9de9910d74951d5ec5ff9a3f00a1c6b48bf6d69c..4239b5368b286c34b27f6f4d607cb05f3b4e7ec4 100644 --- a/src/uncategorized/headGirlSuite.tw +++ b/src/uncategorized/headGirlSuite.tw @@ -44,25 +44,46 @@ $He is ''not allowed'' to customize $his slave with hormone treatments. [[Allow|Head Girl Suite][$HGSuiteHormones = 1]] <</if>> <</if>> +<br><br> -<<if $HGSuiteSlaves > 0>> - <br><br>''Bring the Head Girl's girl out of $HGSuiteName:'' - <<headgirlSuiteAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -<</if>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave to the Head Girl</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Bring the Head Girl's girl out of $HGSuiteName</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $HGSuiteSlaves > 0>> + <<headgirlSuiteAssignmentFilter>> + <<set $Flag = 1>> + <<include "Slave Summary">> + <<resetAssignmentFilter>> + <</if>> + </div> +</div> -<<if ($slaves.length > $HGSuiteSlaves) && ($HGSuiteSlaves < 1)>> - <br><br>''Assign a slave to the Head Girl:'' - <br><br> - <<assignmentFilter>> - <span id="ComingGoing"> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - </span> +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($slaves.length > $HGSuiteSlaves) && ($HGSuiteSlaves < 1)>> + <<assignmentFilter>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <<else>> + ''Head Girl already has a girl.'' + <</if>> + </div> +</div> + +<<if ($tabChoice.HeadGirlSuite == "assign")>> + <script>document.getElementById("tab assign").click();</script> +<<else>> + <script>document.getElementById("tab remove").click();</script> <</if>> +</body> <br><br>Rename $HGSuiteName: <<textbox "$HGSuiteName" $HGSuiteName "Head Girl Suite">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw index 21d38c23b16c03f180ee773de37176b7b906951b..5a40ad3045d9c035ae8ca2ebb61111910a957b95 100644 --- a/src/uncategorized/main.tw +++ b/src/uncategorized/main.tw @@ -110,17 +110,17 @@ __''MAIN MENU''__ //[[Summary Options]]// <<if $useSlaveSummaryOverviewTab == 1>> <button class="tablinks" onclick="opentab(event, 'overview')">Overview</button> <</if>> - <button class="tablinks" onclick="opentab(event, 'resting')">Resting</button> - <button class="tablinks" onclick="opentab(event, 'stay confined')">Confined</button> - <button class="tablinks" onclick="opentab(event, 'take classes')">Students</button> - <button class="tablinks" onclick="opentab(event, 'please you')">Fucktoys</button> - <button class="tablinks" onclick="opentab(event, 'whore')">Whores</button> - <button class="tablinks" onclick="opentab(event, 'serve the public')">Public Servants</button> - <button class="tablinks" onclick="opentab(event, 'be a servant')">Servants</button> - <button class="tablinks" onclick="opentab(event, 'get milked')">Cows</button> - <button class="tablinks" onclick="opentab(event, 'work a glory hole')">Gloryhole</button> - <button class="tablinks" onclick="opentab(event, 'be a subordinate slave')">Subordinate slaves</button> - <button class="tablinks" onclick="opentab(event, 'all')" id="defaultButton">All</button> + <button class="tablinks" onclick="opentab(event, 'resting')" id="tab resting">Resting</button> + <button class="tablinks" onclick="opentab(event, 'stay confined')" id="tab stay confined">Confined</button> + <button class="tablinks" onclick="opentab(event, 'take classes')" id="tab take classes">Students</button> + <button class="tablinks" onclick="opentab(event, 'please you')" id="tab please you">Fucktoys</button> + <button class="tablinks" onclick="opentab(event, 'whore')" id="tab whore">Whores</button> + <button class="tablinks" onclick="opentab(event, 'serve the public')" id="tab serve the public">Public Servants</button> + <button class="tablinks" onclick="opentab(event, 'be a servant')" id="tab be a servant">Servants</button> + <button class="tablinks" onclick="opentab(event, 'get milked')" id="tab milked">Cows</button> + <button class="tablinks" onclick="opentab(event, 'work a glory hole')" id="tab work a glory hole">Gloryhole</button> + <button class="tablinks" onclick="opentab(event, 'be a subordinate slave')" id="tab be a subordinate slave">Subordinate slaves</button> + <button class="tablinks" onclick="opentab(event, 'all')" id="tab all">All</button> </div> <div id="overview" class="tabcontent"> @@ -404,24 +404,34 @@ __''MAIN MENU''__ //[[Summary Options]]// </div> </div> - <script> - function opentab(evt, tabName) { - var i, tabcontent, tablinks; - tabcontent = document.getElementsByClassName("tabcontent"); - for (i = 0; i < tabcontent.length; i++) { - tabcontent[i].style.display = "none"; - } - tablinks = document.getElementsByClassName("tablinks"); - for (i = 0; i < tablinks.length; i++) { - tablinks[i].className = tablinks[i].className.replace(" active", ""); - } - document.getElementById(tabName).style.display = "block"; - evt.currentTarget.className += " active"; - } - - document.getElementById("defaultButton").click(); - </script> - + <<if ($tabChoice.Main == "overview")>> + <script>document.getElementById("tab overview").click();</script> + <<elseif ($tabChoice.Main == "resting")>> + <script>document.getElementById("tab resting").click();</script> + <<elseif ($tabChoice.Main == "stay confined")>> + <script>document.getElementById("tab stay confined").click();</script> + <<elseif ($tabChoice.Main == "take classes")>> + <script>document.getElementById("tab take classes").click();</script> + <<elseif ($tabChoice.Main == "please you")>> + <script>document.getElementById("tab please you").click();</script> + <<elseif ($tabChoice.Main == "whore")>> + <script>document.getElementById("tab whore").click();</script> + <<elseif ($tabChoice.Main == "serve the public")>> + <script>document.getElementById("tab serve the public").click();</script> + <<elseif ($tabChoice.Main == "be a servant")>> + <script>document.getElementById("tab be a servant").click();</script> + <<elseif ($tabChoice.Main == "get milked")>> + <script>document.getElementById("tab get milked").click();</script> + <<elseif ($tabChoice.Main == "work a glory hole")>> + <script>document.getElementById("tab work a glory hole").click();</script> + <<elseif ($tabChoice.Main == "be a subordinate slave")>> + <script>document.getElementById("tab be a subordinate slave").click();</script> + <<elseif ($tabChoice.Main == "all")>> + <script>document.getElementById("tab all").click();</script> + <<else>> + <script>document.getElementById("tab all").click();</script> + <</if>> + </body> <<if $positionMainLinks <= 0>> <br><<MainLinks>> diff --git a/src/uncategorized/masterSuite.tw b/src/uncategorized/masterSuite.tw index 1928908a6377442736197dc9e74eb11e0a0d8b04..8b5891a687f89e34668e47e2f7ff2cc71fba7116 100644 --- a/src/uncategorized/masterSuite.tw +++ b/src/uncategorized/masterSuite.tw @@ -353,37 +353,46 @@ $masterSuiteNameCaps is furnished <</if>> <br><br> -<<if ($masterSuite <= $masterSuiteSlaves)>> - ''$masterSuiteNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $masterSuiteSlaves)>> - <<link "''Send a slave to serve in $masterSuiteName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $masterSuiteSlaves > 0>> - | <<link "''Bring a slave out of $masterSuiteName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $masterSuiteSlaves > 0>> <<suiteAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$masterSuiteNameCaps is empty for the moment// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($masterSuite <= $masterSuiteSlaves)>> + ''$masterSuiteNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $masterSuiteSlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.MasterSuite == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$masterSuiteNameCaps is empty for the moment// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter>> -<span id="ComingGoing"> - <<suiteAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> + +</body> <br><br>Rename $masterSuiteName: <<textbox "$masterSuiteName" $masterSuiteName "Master Suite">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/pit.tw b/src/uncategorized/pit.tw index c8576e20bcfa2b15af818f3922d375eb0cc3df32..c6fff6e30cdf079f66a5abc09a5740de7f1298c4 100644 --- a/src/uncategorized/pit.tw +++ b/src/uncategorized/pit.tw @@ -331,24 +331,46 @@ $pitNameCaps is clean and ready, <br> You have scheduled a fight to the death this week. [[Cancel it|Pit][$killChoice = -1]] <</if>> +<br><br> -<<if _DL > 0>> - <br><br>''Cancel a slave's fight:'' - <<set $Flag = 1>> - <<include "Slave Summary">> -<</if>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Select a slave to fight</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Cancel a slave's fight</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if _DL > 0>> + <<set $Flag = 1>> + <<include "Slave Summary">> + <<else>> + <br><br>//$pitNameCaps is empty for the moment// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if (_SL > _DL)>> + <<set $Flag = 0>> + <<assignmentFilter>> + <<showallAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <<resetAssignmentFilter>> + <</if>> + </div> +</div> -<<if (_SL > _DL)>> - <br><br>''Select a slave to fight:'' - <<set $Flag = 0>> - <br><br> - <<assignmentFilter>> - <span id="ComingGoing"> - <<showallAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> - </span> +<<if ($tabChoice.Pit == "assign")>> + <script>document.getElementById("tab assign").click();</script> +<<else>> + <script>document.getElementById("tab remove").click();</script> <</if>> +</body> + <br><br>Rename $pitName: <<textbox "$pitName" $pitName "Pit">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/reFSAcquisition.tw b/src/uncategorized/reFSAcquisition.tw index 2acac8744340f69ad4084b438132a38cf9e97e0d..1118d6ea22dcdb4efc9b8674a00e703fc02e09c8 100644 --- a/src/uncategorized/reFSAcquisition.tw +++ b/src/uncategorized/reFSAcquisition.tw @@ -996,6 +996,7 @@ <</switch>> <<setLocalPronouns $activeSlave>> +<<setPlayerPronouns>> <<setAssistantPronouns>> <<switch $FSAcquisitionEvents>> diff --git a/src/uncategorized/reShelterInspection.tw b/src/uncategorized/reShelterInspection.tw index 61c19fcf74811e8bf0b1ad8b727390e38e5347d5..a185d57542f4f512bdcdc5b610bd8a2bbdfeb0a5 100644 --- a/src/uncategorized/reShelterInspection.tw +++ b/src/uncategorized/reShelterInspection.tw @@ -55,6 +55,7 @@ <<setLocalPronouns _Inspectee>> <<setLocalPronouns $activeSlave 2>> <<setAssistantPronouns>> +<<setPlayerPronouns>> Your assistant announces a visitor in the entryway of your penthouse, and adds<<if $assistant > 0>> with disapproval<</if>> that it's an inspector from the Slave Shelter. <<if $assistant > 0>> diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index df50ea28cad2ccb8db2a06138696edb2a8b5aa18..64a15e71d9dd48f84151779815848eb6b7ea1bf9 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -5117,7 +5117,7 @@ Since $his hearing is also muffled, $he has a hard time understanding what partners want from $him, often causing them to @@.gold;get forceful@@ with $him. <<set $slaves[$i].trust -= 5>> <<else>> - The muffled hearing induced by $his ear plugs @@.mediumorchid;infuriates him@@ with $his vision problems. + The muffled hearing induced by $his ear plugs @@.mediumorchid;infuriates $him@@ with $his vision problems. <<set $slaves[$i].devotion -= 5>> <</if>> <</if>> diff --git a/src/uncategorized/schoolroom.tw b/src/uncategorized/schoolroom.tw index a453f649db749ee8645033e44fd7c4aa67a965f1..527f6de315d9c6d3ff87fbe73d78744c8b0a70e0 100644 --- a/src/uncategorized/schoolroom.tw +++ b/src/uncategorized/schoolroom.tw @@ -123,36 +123,46 @@ $schoolroomNameCaps is well-equipped, with wallscreens to display lessons. These You do not have a slave serving as a Schoolteacher. [[Appoint one|Schoolteacher Select]] <</if>> <br><br> -<<if ($schoolroom <= $schoolroomSlaves)>> - ''$schoolroomNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $schoolroomSlaves)>> - <<link "''Send a slave to study in $schoolroomName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $schoolroomSlaves > 0>> - | <<link "''Bring a slave out of $schoolroomName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $schoolroomSlaves > 0>> <<schoolAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$schoolroomNameCaps is empty for the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($schoolroom <= $schoolroomSlaves)>> + ''$schoolroomNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $schoolroomSlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.Schoolroom == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$schoolroomNameCaps is empty for the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter>> -<span id="ComingGoing"> - <<schoolAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> + +</body> + <br><br>Rename $schoolroomName: <<textbox "$schoolroomName" $schoolroomName "Schoolroom">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/servantsQuarters.tw b/src/uncategorized/servantsQuarters.tw index b78bb72780c1e1b2e478713e46544ea4b60f8c34..77325f894548abd47c4cc713ec68c1ffab625d0d 100644 --- a/src/uncategorized/servantsQuarters.tw +++ b/src/uncategorized/servantsQuarters.tw @@ -120,37 +120,46 @@ $servantsQuartersNameCaps <</if>> <br><br> -<<if ($servantsQuarters <= $servantsQuartersSlaves)>> - ''$servantsQuartersNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $servantsQuartersSlaves)>> - <<link "''Send a slave to work out of $servantsQuartersName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $servantsQuartersSlaves > 0>> - | <<link "''Bring a slave out of $servantsQuartersName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $servantsQuartersSlaves > 0>> <<quartersAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$servantsQuartersNameCaps is empty for the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($servantsQuarters <= $servantsQuartersSlaves)>> + ''$servantsQuartersNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $servantsQuartersSlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.ServantsQuarters == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$servantsQuartersNameCaps is empty for the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<br><br> -<<assignmentFilter>> -<span id="ComingGoing"> - <<quartersAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> + +</body> <br><br>Rename $servantsQuartersName: <<textbox "$servantsQuartersName" $servantsQuartersName "Servants' Quarters">> //Use a noun or similar short phrase// diff --git a/src/uncategorized/spa.tw b/src/uncategorized/spa.tw index 7fce3008f83758d7e35157da1c400116b3543af3..58a0a1b897bf376ab95b80ab5893fbe98818eb42 100644 --- a/src/uncategorized/spa.tw +++ b/src/uncategorized/spa.tw @@ -127,36 +127,46 @@ $spaNameCaps <br><br> -<<if ($spa <= $spaSlaves)>> - ''$spaNameCaps is full and cannot hold any more slaves'' -<<elseif ($slaves.length > $spaSlaves)>> - <<link "''Let an obedient slave rest in $spaName''">> - <<replace #ComingGoing>> - <<resetAssignmentFilter>> - <<set $Flag = 0>> - <<include "Slave Summary">> - <</replace>> - <</link>> -<</if>> -<<if $spaSlaves > 0>> - | <<link "''Prise a slave out of $spaName''">> - <<replace #ComingGoing>> +<<CreateSimpleTabs>> +<body> + +<div class="tab"> + <button class="tablinks" onclick="opentab(event, 'assign')" id="tab assign">Assign a slave</button> + <button class="tablinks" onclick="opentab(event, 'remove')" id="tab remove">Remove a slave</button> +</div> + +<div id="remove" class="tabcontent"> + <div class="content"> + <<if $spaSlaves > 0>> <<spaAssignmentFilter>> <<set $Flag = 1>> <<include "Slave Summary">> <<resetAssignmentFilter>> - <</replace>> - <</link>> + <<else>> + <br><br>//$spaNameCaps is empty at the moment.<br>// + <</if>> + </div> +</div> + +<div id="assign" class="tabcontent"> + <div class="content"> + <<if ($spa <= $spaSlaves)>> + ''$spaNameCaps is full and cannot hold any more slaves'' + <<elseif ($slaves.length > $spaSlaves)>> + <<resetAssignmentFilter>> + <<set $Flag = 0>> + <<include "Slave Summary">> + <</if>> + </div> +</div> + +<<if ($tabChoice.Spa == "assign")>> + <script>document.getElementById("tab assign").click();</script> <<else>> - <br><br>//$spaNameCaps is empty at the moment.<br>// + <script>document.getElementById("tab remove").click();</script> <</if>> -<span id="ComingGoing"> - <<spaAssignmentFilter>> - <<set $Flag = 1>> - <<include "Slave Summary">> - <<resetAssignmentFilter>> -</span> +</body> <br><br>Rename $spaName: <<textbox "$spaName" $spaName "Spa">> //Use a noun or similar short phrase//