diff --git a/src/004-base/facility.js b/src/004-base/facility.js index 1dd973e70a88057bd19d78f0f78b8ff100bf1b36..3405bcccaa94fe62d6e09cea63d8eddefa57c54f 100644 --- a/src/004-base/facility.js +++ b/src/004-base/facility.js @@ -5,6 +5,7 @@ App.Data.JobDesc = class { this.assignment = ""; this.publicSexUse = false; this.fuckdollAccepted = false; + this.broodmotherAccepted = false; } } @@ -15,6 +16,7 @@ App.Data.ManagerJobDesc = class extends App.Data.JobDesc { this.shouldSee = true; this.shouldHear = true; this.shouldTalk = true; + this.shouldThink = true; this.requiredDevotion = 50; /** * Applicable careers @@ -62,22 +64,24 @@ App.Entity.Facilities.Job = class { canEmploy(slave) { let r = []; if (this.isEmployed(slave)) { - r.push(`${slave.slaveName} is already assigned to ${this.desc.assignment} at ${this.facility.name}`); + r.push(`${slave.slaveName} is already assigned to ${this.desc.assignment} at ${this.facility.name}.`); return r; } if (!this._facilityHasFreeSpace) { - r.push(`Capacity of ${this.facility.name} exceeded`); + r.push(`Capacity of ${this.facility.name} exceeded.`); } if (slave.assignment === this.desc.assignment) { - r.push(`${slave.slaveName} is already assigned to ${this.desc.assignment}`); + r.push(`${slave.slaveName} is already assigned to ${this.desc.assignment}.`); } if (this.desc.publicSexUse && (slave.breedingMark === 1 || State.variables.propOutcome === 1)) { - r.push(`${slave.slaveName} is for private use only`); + r.push(`${slave.slaveName} is for private use only.`); } - if (!this.desc.fuckdollAccepted && slave.fuckdoll > 0) { - r.push(`Fuckdolls can't ${this.desc.assignment} at ${this.facility.name}`); + r.push(`Fuckdolls can't ${this.desc.assignment} at ${this.facility.name}.`); + } + if (!this.desc.broodmotherAccepted && slave.preg > 37 && slave.broodmother === 2) { + r.push(`Birthing broodmothers can't ${this.desc.assignment}.`); } return r; } @@ -139,7 +143,7 @@ App.Entity.Facilities.Job = class { * @returns {string} */ static _stdBreakageMessage(slave) { - return `${slave.slaveName} must be either more fearful of you or devoted to you`; + return `${slave.slaveName} must be either more fearful of you or devoted to you.`; } /** @@ -179,6 +183,9 @@ App.Entity.Facilities.ManagingJob = class extends App.Entity.Facilities.Job { if (this.desc.shouldTalk && !canTalk(slave)) { r.push(`${slave.slaveName} must be able to talk.`); } + if (this.desc.shouldThink && slave.fetish === "mindbroken") { + r.push(`${slave.slaveName} must possess cognition.`); + } return r; } /** @@ -315,11 +322,11 @@ App.Entity.Facilities.Facility = class { job = job || this.desc.defaultJob; const j = this.job(job); if (j === undefined) { - console.log(`Can't find job ${job} at ${this.name}`); // eslint-disable-line no-console + console.log(`Can't find job ${job} at ${this.name}.`); // eslint-disable-line no-console } // if there are more than one jobs at this facility, test them too if (Object.keys(this.desc.jobs).length > 1 && this.isHosted(slave)) { - return [`${slave.slaveName} is already assigned to ${slave.assignment} at ${this.name}`]; + return [`${slave.slaveName} is already assigned to ${slave.assignment} at ${this.name}.`]; } let r = j.canEmploy(slave); return r; diff --git a/src/facilities/armory/armoryFramework.js b/src/facilities/armory/armoryFramework.js index a425babcdbe6a0980989afa7748f48deeba4c8d4..01d50b48357cecc4786a0e2019714f009c4e5da6 100644 --- a/src/facilities/armory/armoryFramework.js +++ b/src/facilities/armory/armoryFramework.js @@ -10,10 +10,12 @@ App.Data.Facilities.armory = { skill: "bodyguard", publicSexUse: true, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: true, shouldHear: true, shouldTalk: false, + shouldThink: true, requiredDevotion: 51 } } diff --git a/src/facilities/brothel/brothelFramework.js b/src/facilities/brothel/brothelFramework.js index 08b10e5e0571c16108ecfed0dad988e12fd68b75..a816578a5f17e0895b81fdad4dbf596a87822ef7 100644 --- a/src/facilities/brothel/brothelFramework.js +++ b/src/facilities/brothel/brothelFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.brothel = { skill: null, publicSexUse: true, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: true, shouldHear: true, - shouldTalk: false, + shouldTalk: true, + shouldThink: true, requiredDevotion: 50 } } diff --git a/src/facilities/cellblock/cellblockFramework.js b/src/facilities/cellblock/cellblockFramework.js index abe34d7f6ddefc714e6e8ee0985c393c7c91bf6a..c07c3473efeb9dae4826f6425358df59f21b8d02 100644 --- a/src/facilities/cellblock/cellblockFramework.js +++ b/src/facilities/cellblock/cellblockFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.cellblock = { skill: "wardeness", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: true, shouldHear: true, shouldTalk: false, + shouldThink: false, requiredDevotion: 51 } diff --git a/src/facilities/clinic/clinicFramework.js b/src/facilities/clinic/clinicFramework.js index 99b07df7ddd1078fca1edb436cce847919335d52..d2192203b0e8b87cfd2398499d619d2466af491a 100644 --- a/src/facilities/clinic/clinicFramework.js +++ b/src/facilities/clinic/clinicFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.clinic = { skill: "nurse", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: true, - shouldHear: false, + shouldHear: true, shouldTalk: false, + shouldThink: true, requiredDevotion: 51 } } diff --git a/src/facilities/club/clubFramework.js b/src/facilities/club/clubFramework.js index 1413a05522f71871773b0b736d794d232f4ae4c4..131d99d7e2cdcd1ce51f4d7410cd1741918ed161 100644 --- a/src/facilities/club/clubFramework.js +++ b/src/facilities/club/clubFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.club = { skill: "DJ", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: false, shouldHear: true, shouldTalk: true, + shouldThink: true, requiredDevotion: 51 } } diff --git a/src/facilities/dairy/dairyFramework.js b/src/facilities/dairy/dairyFramework.js index 880c2fde1074ccd705529ecc6528efbc01598590..9f960df229e9786e8a883c177c354c392d75817e 100644 --- a/src/facilities/dairy/dairyFramework.js +++ b/src/facilities/dairy/dairyFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.dairy = { skill: "milkmaid", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: true, shouldHear: true, shouldTalk: false, + shouldThink: true, requiredDevotion: 21 } } diff --git a/src/facilities/farmyard/farmyardFramework.js b/src/facilities/farmyard/farmyardFramework.js index 83da5ddab33c58e048a472f2ebc1753772fd99d4..79ba34d55359e25ea8bc7ac881b132b47e19b762 100644 --- a/src/facilities/farmyard/farmyardFramework.js +++ b/src/facilities/farmyard/farmyardFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.farmyard = { skill: "farmer", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: true, shouldHear: true, shouldTalk: false, + shouldThink: true, requiredDevotion: 51 } } diff --git a/src/facilities/masterSuite/masterSuiteFramework.js b/src/facilities/masterSuite/masterSuiteFramework.js index 5323992062c969dab3d057d3f4f6a8c87048bbc2..947d9836965a200e6f3d7d006a1a72937f35b152 100644 --- a/src/facilities/masterSuite/masterSuiteFramework.js +++ b/src/facilities/masterSuite/masterSuiteFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.masterSuite = { skill: null, publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: true, shouldWalk: false, shouldSee: false, shouldHear: false, shouldTalk: false, + shouldThink: false, requiredDevotion: 51 } } diff --git a/src/facilities/nursery/nurseryFramework.js b/src/facilities/nursery/nurseryFramework.js index e13ffb6c2aa80e61afda00b09505a532fce00879..83fd33bfba52c947ba0fe3827624164cea302972 100644 --- a/src/facilities/nursery/nurseryFramework.js +++ b/src/facilities/nursery/nurseryFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.nursery = { skill: "matron", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, - shouldSee: false, + shouldSee: true, shouldHear: true, - shouldTalk: false, + shouldTalk: true, + shouldThink: true, requiredDevotion: 51 } } diff --git a/src/facilities/penthouse/penthouseFramework.js b/src/facilities/penthouse/penthouseFramework.js index da735a4c1d29ca7e48e91944062c8a2a34d8e365..9aa441d94bfebad934190450b0b54c9696751442 100644 --- a/src/facilities/penthouse/penthouseFramework.js +++ b/src/facilities/penthouse/penthouseFramework.js @@ -72,10 +72,12 @@ App.Data.Facilities.penthouse = { skill: "headGirl", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: true, shouldHear: true, shouldTalk: true, + shouldThink: true, requiredDevotion: 51 } } diff --git a/src/facilities/schoolroom/schoolroomFramework.js b/src/facilities/schoolroom/schoolroomFramework.js index ecce67e09d6a6451d85b3aa6baf9b033f86caa5d..b3bd82c9fd73cc9bdb4526726015e7e7f8d3e7de 100644 --- a/src/facilities/schoolroom/schoolroomFramework.js +++ b/src/facilities/schoolroom/schoolroomFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.schoolroom = { skill: "teacher", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: false, shouldSee: true, shouldHear: true, shouldTalk: true, + shouldThink: true, requiredDevotion: 51 } } diff --git a/src/facilities/servantsQuarters/servantsQuartersFramework.js b/src/facilities/servantsQuarters/servantsQuartersFramework.js index 81667ec56a2389ea378832b213f3dd3b9e58b9bf..8056e30154127b509bcbb1425d1b568fb998be8d 100644 --- a/src/facilities/servantsQuarters/servantsQuartersFramework.js +++ b/src/facilities/servantsQuarters/servantsQuartersFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.servantsQuaters = { skill: "stewardess", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: true, shouldHear: true, - shouldTalk: false, + shouldTalk: true, + shouldThink: true, requiredDevotion: 51 } } diff --git a/src/facilities/spa/spaFramework.js b/src/facilities/spa/spaFramework.js index 6260720716c412377db4eb6ca9328c164b40c076..5bfe6ed053ac0cc2872e79b770e382909f65d99c 100644 --- a/src/facilities/spa/spaFramework.js +++ b/src/facilities/spa/spaFramework.js @@ -17,10 +17,12 @@ App.Data.Facilities.spa = { skill: "attendant", publicSexUse: false, fuckdollAccepted: false, + broodmotherAccepted: false, shouldWalk: true, shouldSee: false, shouldHear: true, shouldTalk: false, + shouldThink: true, requiredDevotion: 51 } }