diff --git a/src/004-base/facilityFramework.js b/src/004-base/facilityFramework.js index e8351ab0f33a849c499d0c015a27f2c2bf1d2ec3..81aeeee1596ddae8ef624e92bf14c137692fb79e 100644 --- a/src/004-base/facilityFramework.js +++ b/src/004-base/facilityFramework.js @@ -256,7 +256,7 @@ App.Facilities.Facility = class Facility { } }); - App.UI.DOM.appendNewElement("div", div, options.render(), ['indent', 'margin-bottom']); + App.UI.DOM.appendNewElement("div", div, options.render(), ['margin-bottom']); } if (rule.nodes) { diff --git a/src/facilities/farmyard/animals/animals.js b/src/facilities/farmyard/animals/animals.js index 09ee4edd805744e34c32d3d9fb7523a24b9117a7..68b37e1953cd387f19c34db6dc4e9b83ca931c23 100644 --- a/src/facilities/farmyard/animals/animals.js +++ b/src/facilities/farmyard/animals/animals.js @@ -58,7 +58,10 @@ App.Facilities.Farmyard.animals = function() { const option = options.addOption(null, "canine", V.active); V.animals.canine.forEach(canine => { const _canine = getAnimal(canine); - option.addValue(capFirstChar(_canine.name), _canine.name).pulldown(); + + if (_canine) { + option.addValue(capFirstChar(_canine.name), _canine.name).pulldown(); + } }); div.append(`Your ${V.active.canine} is currently set as your active canine.`, options.render()); @@ -75,7 +78,10 @@ App.Facilities.Farmyard.animals = function() { const option = options.addOption(null, "hooved", V.active); V.animals.hooved.forEach(hooved => { const _hooved = getAnimal(hooved); - option.addValue(capFirstChar(_hooved.name), _hooved.name).pulldown(); + + if (_hooved) { + option.addValue(capFirstChar(_hooved.name), _hooved.name).pulldown(); + } }); div.append(`Your ${V.active.hooved} is currently set as your active hooved animal.`, options.render()); @@ -92,7 +98,10 @@ App.Facilities.Farmyard.animals = function() { const option = options.addOption(null, "feline", V.active); V.animals.feline.forEach(feline => { const _felines = getAnimal(feline); - option.addValue(capFirstChar(_felines.name), _felines.name).pulldown(); + + if (_felines) { + option.addValue(capFirstChar(_felines.name), _felines.name).pulldown(); + } }); div.append(`Your ${V.active.feline} is currently set as your active feline.`, options.render()); @@ -633,4 +642,4 @@ App.Facilities.Farmyard.animals.init = function() { }; /** @type {Set<App.Entity.Animal>} */ -App.Data.animals = App.Data.animals || new Set; +App.Data.animals = App.Data.animals ?? new Set; diff --git a/src/facilities/farmyard/farmyard.js b/src/facilities/farmyard/farmyard.js index 9260ae223aa05d7d326dcfcf58344d1660abe3df..ef13c786155f9f80f1ea2b45bca68ffbef9e880f 100644 --- a/src/facilities/farmyard/farmyard.js +++ b/src/facilities/farmyard/farmyard.js @@ -488,7 +488,7 @@ App.Facilities.Farmyard.farmyard = class Farmyard extends App.Facilities.Facilit links = []; if (V.farmMenialsSpace < 2000) { - App.UI.DOM.appendNewElement("div", div, `There is enough room in ${V.farmyardName} to build housing, enough to give ${V.farmMenialsSpace + 100} menial slaves a place to sleep and relax.`); + App.UI.DOM.appendNewElement("div", div, `There is enough room in ${V.farmyardName} to build enough housing for an additional ${num(100)} menial slaves.`); App.UI.DOM.appendNewElement("div", div, makePurchase(`Build a new housing unit`, unitCost, "capEx", { handler: () => { diff --git a/src/js/economyJS.js b/src/js/economyJS.js index 5cbe49ea29c91399fb6bb976f50faebab65d12b5..af9d7569c2ec83f4bf0181250a2f2c50490d7917 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -660,12 +660,12 @@ globalThis.calculateCosts = (function() { function getFarmyardCosts() { const facility = V.farmyard * V.facilityCost; - const exotic = V.animals.canine.map(c => getAnimal(c)).filter(c => c.rarity === "exotic").length + - V.animals.hooved.map(h => getAnimal(h)).filter(h => h.rarity === "exotic").length + - V.animals.feline.map(f => getAnimal(f)).filter(f => f.rarity === "exotic").length; - const domestic = V.animals.canine.map(c => getAnimal(c)).filter(c => c.rarity === "domestic").length + - V.animals.hooved.map(h => getAnimal(h)).filter(h => h.rarity === "domestic").length + - V.animals.feline.map(f => getAnimal(f)).filter(f => f.rarity === "domestic").length; + const exotic = V.animals.canine.map(c => getAnimal(c)).filter(c => !!c && c.rarity === "exotic").length + + V.animals.hooved.map(h => getAnimal(h)).filter(h => !!h && h.rarity === "exotic").length + + V.animals.feline.map(f => getAnimal(f)).filter(f => !!f && f.rarity === "exotic").length; + const domestic = V.animals.canine.map(c => getAnimal(c)).filter(c => !!c && c.rarity === "domestic").length + + V.animals.hooved.map(h => getAnimal(h)).filter(h => !!h && h.rarity === "domestic").length + + V.animals.feline.map(f => getAnimal(f)).filter(f => !!f && f.rarity === "domestic").length; return ( ( (facility) +