diff --git a/src/facilities/farmyard/futureAnimals.tw b/src/facilities/farmyard/futureAnimals.tw index 1710a0ceb1d7a19a61e174620365705d3cb294e8..eda757aaee2bf7455bb3eafbf37d40d74b2229e2 100644 --- a/src/facilities/farmyard/futureAnimals.tw +++ b/src/facilities/farmyard/futureAnimals.tw @@ -1,6 +1,6 @@ /* Putting them here because commenting them out was breaking for some reason */ - <<if $animalsBought.germanShepherds == 0>> + <<if $animalsBought.germanShepherds == 0>> <<link "Purchase German Shepherds" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.germanShepherds = 1, $animalsBought.canines += 1, $canines.push("German Shepherds")>><</link>> <br> <<elseif $animalsBought.germanShepherds == 1>> diff --git a/src/facilities/farmyard/farmyardWidgets.js b/src/facilities/farmyard/reports/farmyardReport.js similarity index 89% rename from src/facilities/farmyard/farmyardWidgets.js rename to src/facilities/farmyard/reports/farmyardReport.js index 40946fe274441511839eeb4231640906b68629aa..68c0886b49b9a37bc319a04fc86b99118023a443 100644 --- a/src/facilities/farmyard/farmyardWidgets.js +++ b/src/facilities/farmyard/reports/farmyardReport.js @@ -1,10 +1,8 @@ -// MAIN FUNCTIONS +App.Facilities.Farmyard.farmyardReport = function farmyardReport { -App.Facilities.Farmyard.farmyardReport = () => { const - slaves = V.slaves, Farmer = V.Farmer, - FL = V.FarmyardiIDs.length; + FL = App.Entity.facilities.farmyard.employeesIDs().size; let t = ``, @@ -96,9 +94,7 @@ App.Facilities.Farmyard.farmyardReport = () => { if (Farmer.relationshipTarget === slave.ID) { FarmerCashBonus -= 0.05; - } else if (V.familyTesting && areRelated(Farmer, slave) > 0) { - FarmerCashBonus += 0.05; - } else if (Farmer.relationTarget === slave.ID && !V.familyTesting) { + } else if (areRelated(Farmer, slave)) { FarmerCashBonus += 0.05; } @@ -124,18 +120,16 @@ App.Facilities.Farmyard.farmyardReport = () => { }; - const farmerRelationshipSlaves = (length, Farmer) => { - for (let i = length; i--;) { - const - s = V.slaveIndices[V.FarmyardiIDs[i]], - slave = V.slaves[s], - p = getPronouns(Farmer); + /** @param {App.Entity.SlaveState} Farmer */ + function farmerRelationshipSlaves(Farmer) { + const p = getPronouns(Farmer); + for (const slave of App.Utils.sortedEmployees(App.Entity.facilities.farmyard)) { let t = ``; if (Farmer.rivalryTarget === slave.ID) { t += `${p.He} forces ${p.his} ${rivalryTerm(Farmer)} to service all the slaves in ${V.farmyardName}. `; // TODO: not sure about this - slave.devotion -= 2; slaves.trust -= 2; + slave.devotion -= 2; slave.trust -= 2; if (canDoVaginal(slave)) { seX(slave, 'vaginal', 'public', 'penetrative', 10); } @@ -149,17 +143,14 @@ App.Facilities.Farmyard.farmyardReport = () => { } else if (Farmer.relationshipTarget === slave.ID) { t += `${p.He} dotes over ${p.his} ${relationshipTerm(Farmer)}, ${slave.slaveName}, making sure ${he} isn't worked too hard, but unfortunately manages to get in the way of ${his} work. `; slave.devotion++; - } else if (V.familyTesting && areRelated(Farmer, slave) > 0) { - t += `${p.He} pays special attention to ${p.his} ${relativeTerm(Farmer.ID, slave.ID)}, ${slave.slaveName}, making sure ${he} is treated well and showing off ${his} skills. `; // TODO: does this need rewriting? - slave.trust++; - } else if (Farmer.relationTarget === slave.ID && !V.familyTesting) { - t += `${p.He} pays special attention to ${p.his} ${slave.relation}, ${slave.slaveName}, making sure ${he} is treated well and showing off ${his} skills. `; // TODO: does this need rewriting? + } else if (areRelated(Farmer, slave)) { + t += `${p.He} pays special attention to ${p.his} ${relativeTerm(Farmer, slave)}, ${slave.slaveName}, making sure ${he} is treated well and showing off ${his} skills. `; slave.trust++; } return t; } - }; + } const farmerWorks = slave => { let @@ -169,9 +160,9 @@ App.Facilities.Farmyard.farmyardReport = () => { beauty; if (V.showEWD) { - t += `<br> ${He} ${saWorkTheFarm(slave)}`; + t += `<br> ${He} ${App.SlaveAssignment.workTheFarm(slave)}`; } else { - saWorkTheFarm(slave); + App.SlaveAssignment.workTheFarm(slave); } seed = V.cash - oldCash; @@ -199,7 +190,7 @@ App.Facilities.Farmyard.farmyardReport = () => { /* 000-250-006 */ t += `<span class="slave-name">${SlaveFullName(slave)}</span> is serving as the Farmer. `; t += `<br> `; - t += saChoosesOwnClothes(slave); + t += App.SlaveAssignment.choosesOwnClothes(slave); t += `<<include "SA rules">>`; t += `<<include "SA diet">>`; t += `<<include "SA long term effects">>`; @@ -208,7 +199,7 @@ App.Facilities.Farmyard.farmyardReport = () => { t += `<<include "SA rivalries">>`; t += `<br><<include "SA devotion">>`; } else { - saChoosesOwnClothes(slave); + App.SlaveAssignment.choosesOwnClothes(slave); t += `<<silently>><<include "SA rules">><</silently>>`; t += `<<silently>><<include "SA diet">><</silently>>`; t += `<<silently>><<include "SA long term effects">><</silently>>`; @@ -293,10 +284,10 @@ App.Facilities.Farmyard.farmyardReport = () => { </div>`; } /* 000-250-006 */ - t += `<span class="slave-name">${SlaveFullName(slave)}</span> ${slave.choosesOwnAssignment === 2 ? `<<include "SA chooses own job>>` : `is working out of ${V.farmyardName}`}. `; - t += `<br> ${He} ${saWorkTheFarm(slave)}`; + t += `<span class="slave-name">${SlaveFullName(slave)}</span> ${slave.choosesOwnAssignment === 2 ? `<<include "SA chooses own job">>` : `is working out of ${V.farmyardName}`}. `; + t += `<br> ${He} ${App.SlaveAssignment.workTheFarm(slave)}`; t += `<br> `; - t += saChoosesOwnClothes(slave); + t += App.SlaveAssignment.choosesOwnClothes(slave); t += `<<include "SA rules">>`; t += `<<include "SA diet">>`; t += `<<include "SA long term effects">>`; @@ -306,7 +297,7 @@ App.Facilities.Farmyard.farmyardReport = () => { t += `<br><<include "SA devotion">>`; } else { t += `<<silently>><<include "SA chooses own job">><</silently>>`; - t += saChoosesOwnClothes(slave); + t += App.SlaveAssignment.choosesOwnClothes(slave); t += `<<silently>><<include "SA rules">><</silently>>`; t += `<<silently>><<include "SA diet">><</silently>>`; t += `<<silently>><<include "SA long term effects">><</silently>>`; @@ -410,9 +401,6 @@ App.Facilities.Farmyard.farmyardReport = () => { const farmyardStatsDisplay = () => `<<FarmyardStatistics 0>><<timed 50ms>><<replace #farmyardstats>><<FarmyardStatistics 1>><</replace>><</timed>>`; t += `<span id="farmyardstats"></span>`; - SlaveSort.IDs(V.FarmyardiIDs); // TODO: not sure if I called this correctly - - // MAIN LOOP @@ -434,7 +422,7 @@ App.Facilities.Farmyard.farmyardReport = () => { t += farmerIntelligence(Farmer); t += farmerDick(Farmer); t += farmerSmell(Farmer); - t += farmerRelationshipSlaves(FL, Farmer); + t += farmerRelationshipSlaves(Farmer); t += farmerWorks(Farmer); } @@ -448,9 +436,8 @@ App.Facilities.Farmyard.farmyardReport = () => { let oldCash = V.cash, oldFood = V.food; - for (let i = FL; i--;) { - V.i = V.slaveIndices[V.FarmyardiIDs[i]]; - const slave = slaves[V.i]; + for (const slave of App.Utils.sortedEmployees(App.Entity.facilities.farmyard)) { + V.i = V.slaveIndices[slave.ID]; ({ he, him, his, hers, himself, girl, He, His, loli