diff --git a/src/facilities/farmyard/farmyardShows.js b/src/facilities/farmyard/farmyardShows.js index 86e786d992e43fe97b8338087d92c4e70f58b12e..eeb126c8c2adf09bb787492b3db2278612e5e826 100644 --- a/src/facilities/farmyard/farmyardShows.js +++ b/src/facilities/farmyard/farmyardShows.js @@ -1,4 +1,5 @@ // FIXME: needs further review +// TODO: may need more rep effects /** * @param {App.Entity.SlaveState} slave @@ -7,7 +8,7 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { const arcology = V.arcologies[0]; - let cash = 1000; // TODO: will still need tweaking - may adjust rates below more as well + let cash = 5000; // TODO: will still need tweaking - may adjust rates below more as well if (!slave) { return null; @@ -19,7 +20,8 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { } } - /* OPEN FS EFFECTS */ + // MARK: FS Effects + if (arcology.FSSupremacist !== "unset") { if (isSuperiorRace(slave)) { if (V.seeBestiality) { @@ -27,7 +29,7 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { } else { cash *= 1.2; } - repX(-10, "shows"); + repX(-10, "shows"); // TODO: should this cause a rep loss? } } @@ -46,43 +48,64 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { if (arcology.FSRepopulationFocus !== "unset") { if (isPreg(slave)) { - if (slave.eggType !== "human") { - cash *= 1.1; // TODO: should this give a bonus on top of the pregnancy bonus? + if (slave.eggType === "human") { + cash *= 1.2; + } else { + cash *= 0.8; } - cash *= 1.2; } } if (arcology.FSRestart !== "unset") { - if (isPreg(slave)) { // TODO: add non-elite breeder check - if (slave.eggType !== "human") { - cash *= 0.9; - repX(-15, "shows"); + if (isPreg(slave)) { + if (isEliteBreeder(slave)) { + if (slave.eggType === "human") { + cash *= 0.7; + repX(-15, "shows"); + } else { + cash *= 0.6; + repX(-20, "shows"); + } + } else { + if (slave.eggType === "human") { + cash *= 0.8; + repX(-10, "shows"); + } else { + cash += 0.9; + repX(-5, "shows"); + } + } + } else { + if (V.seeBestiality && isEliteBreeder(slave)) { + cash *= 0.7; + repX(-10, "shows"); } - cash *= 0.6; - repX(-10, "shows"); } } if (arcology.FSGenderRadicalist !== "unset") { - if (slave.dick > 0) { // TODO: does this make sense? - cash *= 1.1; - } else { - cash *= 0.8; + if (slave.genes === "XX") { + if (slave.dick > 0) { + cash *= 1.2; + } else { + cash *= 0.9; + } } } if (arcology.FSGenderFundamentalist !== "unset") { - if (slave.pregWeek > 16 || setup.fakeBellies.includes(slave.bellyAccessory)) { + if (isPreg(slave) || setup.fakeBellies.includes(slave.bellyAccessory)) { cash *= 1.1; } else { cash *= 0.9; } - if (slave.dick > 0) { - cash *= 1.1; // TODO: does this make sense? - } else { - cash *= 0.8; + if (slave.genes === "XX") { + if (slave.dick > 0) { + cash *= 0.8; + } else { + cash *= 1.1; + } } } @@ -148,7 +171,7 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { if (slave.weight > 10) { // slave is curvy or more cash *= 1.1; // TODO: not sure what weight this should be } // TODO: should implants affect income? - if (isStacked(slave)) { // slave has larger than a D cup + if (isStacked(slave)) { cash *= 1.1; // TODO: should this be smaller? } if (slave.butt > 3) { // slave has bigger than a bubble butt @@ -157,20 +180,26 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { } if (arcology.FSPastoralist !== "unset") { - if (isStacked(slave)) { // slave has larger than a D cup + if (isStacked(slave)) { cash *= 1.2; } - if (slave.lactation > 0) { // slave is lactating + if (slave.lactation > 0) { cash *= 1.1; } } - if (arcology.FSPhysicalIdealist !== "unset") { // TODO: check for musculature? + if (arcology.FSPhysicalIdealist !== "unset") { if (genderLawPass(slave)) { cash *= 1.1; } else { cash *= 0.9; } + + if (slave.muscles > 30) { // slave is muscular or more + cash *= 1.1; + } else { + cash *= 0.9; + } } if (arcology.FSHedonisticDecadence !== "unset") { @@ -203,8 +232,31 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { } } - // TODO: should I add the ancient cultures FS? - /* CLOSE FS EFFECTS */ + if (arcology.FSRomanRevivalist !== "unset") { + // TODO: + } + + if (arcology.FSAztecRevivalist !== "unset") { + // TODO: + } + + if (arcology.FSEgyptianRevivalist !== "unset") { + // TODO: + } + + if (arcology.FSEdoRevivalist !== "unset") { + // TODO: + } + + if (arcology.FSArabianRevivalist !== "unset") { + // TODO: + } + + if (arcology.FSChineseRevivalist !== "unset") { + // TODO: + } + + // Close FS Effects if (setup.entertainmentCareers.includes(slave.career)) { cash *= 1.1; @@ -215,17 +267,17 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { if (slave.prestige === 1) { // slave is prestigious cash *= 1.1; } else if (slave.prestige === 2) { // slave is very prestigious - cash *= 1.2; - } else if (slave.prestige === 3) { // slave is extremely prestigious cash *= 1.3; + } else if (slave.prestige === 3) { // slave is extremely prestigious + cash *= 1.5; } if (slave.porn.prestige === 1) { // slave is prestigious from porn cash *= 1.1; } else if (slave.porn.prestige === 2) { // slave is very prestigious from porn - cash *= 1.2; - } else if (slave.porn.prestige === 3) { // slave is extremely prestigious from porn cash *= 1.3; + } else if (slave.porn.prestige === 3) { // slave is extremely prestigious from porn + cash *= 1.5; } // TODO: add relationship checks if (slave.face > 40) { // slave is beautiful or more @@ -243,7 +295,9 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { setSlaveTrust(cash); if (slave.weight > 30) { // slave is curvy or more - cash *= 0.8; // TODO: possibly tie in Hedonism? + if (arcology.FSHedonisticDecadence !== "unset") { + cash *= 0.8; + } } else if (slave.weight < -30) { // slave is very thin or less cash *= 0.8; // TODO: put this on a scale } @@ -357,7 +411,10 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { behavorialQuirks = ["sinful"], fetishes = ["humiliation", "masochist"]; - const slaveApproves = () => sexualQuirks.includes(slave.sexualQuirk) || behavorialQuirks.includes(slave.behavioralQuirk) || fetishes.includes(slave.fetish); + const slaveApproves = () => + sexualQuirks.includes(slave.sexualQuirk) || + behavorialQuirks.includes(slave.behavioralQuirk) || + fetishes.includes(slave.fetish); if (slave.devotion > 50) { amount *= 1.3; @@ -422,7 +479,10 @@ App.Facilities.Farmyard.farmShowsIncome = function (slave) { behavorialQuirks = ["sinful"], fetishes = ["humiliation", "masochist"]; - const slaveApproves = () => sexualQuirks.includes(slave.sexualQuirk) || behavorialQuirks.includes(slave.behavioralQuirk) || fetishes.includes(slave.fetish); + const slaveApproves = () => + sexualQuirks.includes(slave.sexualQuirk) || + behavorialQuirks.includes(slave.behavioralQuirk) || + fetishes.includes(slave.fetish); if (slave.trust > 50) { amount *= 1.2;