diff --git a/src/endWeek/saServant.js b/src/endWeek/saServant.js index 94e01b497863089a2575c679001a4d9de1b19f4b..882943ef2069182816fb2d96945857f3f5a74889 100644 --- a/src/endWeek/saServant.js +++ b/src/endWeek/saServant.js @@ -108,32 +108,11 @@ App.SlaveAssignment.servant = function saServant(slave, stewardessBonus = 0) { } } - /** - * @param {FC.SlaveState} slave - */ - function doOralUse(slave) { - // TODO: this flat unchecked oral sex is a bit problematic - // who is she serving and why aren't they benefiting? - // is the current number of servants correct to accomplish this task? - // why can't the player prevent this on-assignment sex while still getting the other benefits of having a servant? - let oralUse = jsRandom(5, 10); - if (V.policies.gumjobFetishism === 1) { - if (slave.teeth !== "removable") { - oralUse = Math.trunc(oralUse / 2); - } else { - oralUse = Math.trunc(oralUse * 1.5); - } - } - oralUse = Math.ceil(oralUse * restEffects(slave, 11)); - actX(slave, "oral", oralUse); - } /** * @param {FC.SlaveState} slave */ function jobEffects(slave) { - doOralUse(slave); - if (slave.relationship === -2) { r.push(`${He} does ${his} best to perfect your domesticity due to ${his} emotional bond to you.`); } else if (slave.relationship === -3 && slave.devotion > 50) { @@ -180,6 +159,23 @@ App.SlaveAssignment.servant = function saServant(slave, stewardessBonus = 0) { slave.boobsMilk = 0; } } + + if (App.Entity.facilities.servantsQuarters.upgrade('monitoring')) { + r.push(`The enhanced monitoring systems ensures ${he} is always busy and working, improving ${his} effectiveness.`); + if (slave.fetish !== Fetish.MINDBROKEN && slave.devotion < 20 && jsRandom(0, 3) === 1) { + if (isHorny(slave) && jsRandom(0, 1) === 1) { + r.push(`Unable to control ${his} libido, ${slave.slaveName} is caught desperately dry humping a bed ${he} should be making;`); + } else { + r.push(`A camera catches ${him} slacking off and skipping out on assigned work;`); + } + r.push(`${S.Stewardess ? S.Stewardess.slaveName : V.assistant.name} is immediately informed to punish ${him} appropriately, <span class="devotion inc">increasing ${his} obedience.</span>`); + slave.devotion += S.Attendant ? 3 : 2; + if (slave.trust > -30) { + r.push(`Realizing ${he} is always being watched <span class="trust dec">increases ${his} fear of you.</span>`); + slave.trust -= 2; + } + } + } } /** diff --git a/src/js/economyJS.js b/src/js/economyJS.js index c6948b0cb40abeaa85b4d8ca6535943c1a117df8..0268717235ed2a851c60cc42188c0452d9d9c902 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -1140,6 +1140,9 @@ globalThis.houseServantEffectiveness = function(slave) { if (App.Data.Careers.General.servant.includes(slave.career) || slave.skill.servant >= Constant.MASTERED_XP) { effectiveness *= 1.1; } + if (App.Entity.facilities.servantsQuarters.upgrade('monitoring') === 1) { + effectiveness *= 1.1; + } effectiveness = Math.trunc(effectiveness * App.SlaveAssignment.PartTime.efficiencyModifier(slave) * restEffects(slave) / 10); return effectiveness; };