diff --git a/src/facilities/farmyard/farmyardShows.js b/src/facilities/farmyard/farmyardShows.js index 9780ef20c371efdee9b577f6e83bfda76fdbeff9..d3ca664af81edaddb98e2b0670fd7c7f246bb5ba 100644 --- a/src/facilities/farmyard/farmyardShows.js +++ b/src/facilities/farmyard/farmyardShows.js @@ -91,7 +91,11 @@ App.Facilities.Farmyard.farmShowsIncome = function(slave) { if (arcology.FSDegradationist !== "unset") { if (V.seeBestiality) { if (V.farmyardBreeding) { - cash *= 1.2; + if (V.farmyardRestraints) { + cash *= 1.4; + } else { + cash *= 1.2; + } } else { cash *= 1.1; } @@ -226,17 +230,9 @@ App.Facilities.Farmyard.farmShowsIncome = function(slave) { cash *= 0.7; } - if (slave.devotion > 50) { // slave is devoted or more - cash *= 1.1; - } else if (slave.devotion < -50) { // slave is reluctant or less - cash *= 0.8; - } + setSlaveDevotion(cash); - if (slave.trust > 50) { // slave is trusting or more - cash *= 1.1; - } else if (slave.trust < -50) { // slave is less than frightened - cash *= 0.8; // TODO: should trust be a factor? - } + setSlaveTrust(cash); if (slave.weight > 30) { // slave is curvy or more cash *= 0.8; // TODO: possibly tie in Hedonism? @@ -345,4 +341,134 @@ App.Facilities.Farmyard.farmShowsIncome = function(slave) { return cash; } + + function setSlaveDevotion(amount) { + let + sexualQuirks = ["perverted", "unflinching"], + behavorialQuirks = ["sinful"], + fetishes = ["humiliation", "masochist"]; + + const slaveApproves = () => sexualQuirks.includes(slave.sexualQuirk) || behavorialQuirks.includes(slave.behavioralQuirk) || fetishes.includes(slave.fetish); + + if (slave.devotion > 50) { + amount *= 1.3; + + if (V.seeBestiality) { + if (slaveApproves) { + slave.devotion += 2; + } else { + slave.devotion--; + } + } + + if (V.farmyardBreeding) { + if (slaveApproves) { + slave.devotion += 2; + } else { + slave.devotion--; + } + } + + if (V.farmyardRestraints) { + if (slaveApproves) { + slave.devotion += 3; + } else { + slave.devotion -= 2; + } + } + } else if (slave.devotion < -50) { + amount *= 0.8; + + if (V.seeBestiality) { + if (slaveApproves) { + slave.devotion++; + } else { + slave.devotion -= 2; + } + } + + if (V.farmyardBreeding) { + if (slaveApproves) { + slave.devotion++; + } else { + slave.devotion -= 2; + } + } + + if (V.farmyardRestraints) { + if (slaveApproves) { + slave.devotion += 2; + } else { + slave.devotion -= 3; + } + } + } + + return amount; + } + + function setSlaveTrust(amount) { + let + sexualQuirks = ["perverted", "unflinching"], + behavorialQuirks = ["sinful"], + fetishes = ["humiliation", "masochist"]; + + const slaveApproves = () => sexualQuirks.includes(slave.sexualQuirk) || behavorialQuirks.includes(slave.behavioralQuirk) || fetishes.includes(slave.fetish); + + if (slave.trust > 50) { + amount *= 1.2; + + if (V.seeBestiality) { + if (slaveApproves) { + slave.trust += 2; + } else { + slave.trust--; + } + } + + if (V.farmyardBreeding) { + if (slaveApproves) { + slave.trust += 2; + } else { + slave.trust--; + } + } + + if (V.farmyardRestraints) { + if (slaveApproves) { + slave.trust += 3; + } else { + slave.trust -= 2; + } + } + } else if (slave.trust < -50) { + amount *= 0.9; + + if (V.seeBestiality) { + if (slaveApproves) { + slave.trust++; + } else { + slave.trust -= 2; + } + } + + if (V.farmyardBreeding) { + if (slaveApproves) { + slave.trust++; + } else { + slave.trust -= 2; + } + } + + if (V.farmyardRestraints) { + if (slaveApproves) { + slave.trust += 2; + } else { + slave.trust -= 3; + } + } + } + + return amount; + } };