diff --git a/src/004-base/facility.js b/src/004-base/facility.js index 047d6f8f3b46bd67a79c57a827eb4bf027f4d386..5602f292bfbfc14a2febeaa9bfe16d94f8b7d256 100644 --- a/src/004-base/facility.js +++ b/src/004-base/facility.js @@ -16,6 +16,7 @@ App.Data.ManagerJobDesc = class extends App.Data.JobDesc { constructor() { super(); this.shouldWalk = true; + this.shouldHold = true; this.shouldSee = true; this.shouldHear = true; this.shouldTalk = true; @@ -211,6 +212,9 @@ App.Entity.Facilities.ManagingJob = class extends App.Entity.Facilities.Job { if (this.desc.shouldWalk && !canWalk(slave)) { r.push(`${slave.slaveName} must be able to walk.`); } + if (this.desc.shouldHold && !canHold(slave)) { + r.push(`${slave.slaveName} must be able to hold.`); + } if (this.desc.shouldSee && !canSee(slave)) { r.push(`${slave.slaveName} must have working eyes.`); } diff --git a/src/facilities/armory/armoryFramework.js b/src/facilities/armory/armoryFramework.js index a7ce091028e44c676b1103707404b889e520190e..b03464164712da4c88eca097526f308b19a832a8 100644 --- a/src/facilities/armory/armoryFramework.js +++ b/src/facilities/armory/armoryFramework.js @@ -12,6 +12,7 @@ App.Data.Facilities.armory = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: false, diff --git a/src/facilities/brothel/brothelFramework.js b/src/facilities/brothel/brothelFramework.js index 1b36b3c1fd13492799ac7a68395b311632a5b3fb..e5706e0b10aaf5c25779c4caadb5c418e6108f4c 100644 --- a/src/facilities/brothel/brothelFramework.js +++ b/src/facilities/brothel/brothelFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.brothel = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: true, diff --git a/src/facilities/cellblock/cellblockFramework.js b/src/facilities/cellblock/cellblockFramework.js index 87cf26ffdaa5627cbd9c2116faf4da221f672405..9e2370073237be1c393f24dbbd5c8731f8c3f521 100644 --- a/src/facilities/cellblock/cellblockFramework.js +++ b/src/facilities/cellblock/cellblockFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.cellblock = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: false, diff --git a/src/facilities/clinic/clinicFramework.js b/src/facilities/clinic/clinicFramework.js index 676e9956afd0de0e7b63e247ef91acc32b689c78..7d7ec04e11eb4d5a7ba36261b70a956cc61709cd 100644 --- a/src/facilities/clinic/clinicFramework.js +++ b/src/facilities/clinic/clinicFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.clinic = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: false, diff --git a/src/facilities/club/clubFramework.js b/src/facilities/club/clubFramework.js index d797c0a2a3cafc087fa6a46178b6e1086c82263a..fd65d27fd047604304a04d02af3f3b70d894933e 100644 --- a/src/facilities/club/clubFramework.js +++ b/src/facilities/club/clubFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.club = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: false, shouldHear: true, shouldTalk: true, diff --git a/src/facilities/dairy/dairyFramework.js b/src/facilities/dairy/dairyFramework.js index cd3e1d760440065a45e67423b92f098a16326d41..acb594e468ebdf1d95b2c9a58b830bb53fc9328f 100644 --- a/src/facilities/dairy/dairyFramework.js +++ b/src/facilities/dairy/dairyFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.dairy = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: false, diff --git a/src/facilities/farmyard/farmyardFramework.js b/src/facilities/farmyard/farmyardFramework.js index 7b2c17271b64a24016bdb4d5aa2df725b99780db..29a2256ebd13bcc0ddf505d8e84c07c5b3a5193e 100644 --- a/src/facilities/farmyard/farmyardFramework.js +++ b/src/facilities/farmyard/farmyardFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.farmyard = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: false, @@ -29,4 +30,4 @@ App.Data.Facilities.farmyard = { App.Entity.facilities.farmyard = new App.Entity.Facilities.SingleJobFacility( App.Data.Facilities.farmyard -); \ No newline at end of file +); diff --git a/src/facilities/headGirlSuite/headGirlSuiteFramework.js b/src/facilities/headGirlSuite/headGirlSuiteFramework.js index 7e1827b931885d821eb9be949e48ca53b30d9afd..c4676de022367146af348b785679637bd5c483ca 100644 --- a/src/facilities/headGirlSuite/headGirlSuiteFramework.js +++ b/src/facilities/headGirlSuite/headGirlSuiteFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.headGirlSuite = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: true, diff --git a/src/facilities/masterSuite/masterSuiteFramework.js b/src/facilities/masterSuite/masterSuiteFramework.js index f9e5a3c6c79b5b7acbf2158503acdf943c5d56c1..abc3a8df55926b611da4de42d204cb808e5a4d56 100644 --- a/src/facilities/masterSuite/masterSuiteFramework.js +++ b/src/facilities/masterSuite/masterSuiteFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.masterSuite = { fuckdollAccepted: false, broodmotherAccepted: true, shouldWalk: false, + shouldHold: false, shouldSee: false, shouldHear: false, shouldTalk: false, diff --git a/src/facilities/nursery/nurseryFramework.js b/src/facilities/nursery/nurseryFramework.js index 563c74245b26aa3bee87c3978ecd6e060c25f939..d8874189ebe60fa2440e197ed31c2fa292c3b683 100644 --- a/src/facilities/nursery/nurseryFramework.js +++ b/src/facilities/nursery/nurseryFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.nursery = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: true, diff --git a/src/facilities/penthouse/penthouseFramework.js b/src/facilities/penthouse/penthouseFramework.js index 0b4403e8d697b3361bbe922b3a6e8b776a07dd73..1bc17d566db2ca30631c5ced9cb4bd351668942e 100644 --- a/src/facilities/penthouse/penthouseFramework.js +++ b/src/facilities/penthouse/penthouseFramework.js @@ -80,6 +80,7 @@ App.Data.Facilities.penthouse = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: true, diff --git a/src/facilities/schoolroom/schoolroomFramework.js b/src/facilities/schoolroom/schoolroomFramework.js index da0a7493e7d4a6393a6b64668a1817b48847b1fa..93ad65caa75fa4404590284cf683815e173e250a 100644 --- a/src/facilities/schoolroom/schoolroomFramework.js +++ b/src/facilities/schoolroom/schoolroomFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.schoolroom = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: false, + shouldHold: false, shouldSee: true, shouldHear: true, shouldTalk: true, diff --git a/src/facilities/servantsQuarters/servantsQuartersFramework.js b/src/facilities/servantsQuarters/servantsQuartersFramework.js index 0afe7f14167529063337e2f22178e71d2ce3cab2..8072e77e480f611079e14d0aed5ff5edaeb21cfa 100644 --- a/src/facilities/servantsQuarters/servantsQuartersFramework.js +++ b/src/facilities/servantsQuarters/servantsQuartersFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.servantsQuarters = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: true, diff --git a/src/facilities/spa/spaFramework.js b/src/facilities/spa/spaFramework.js index c9210b976ca51cb6e93fc485040d7f61fa223d8f..2be78f2ab03ca8bf7fafa184233c0bf067c41440 100644 --- a/src/facilities/spa/spaFramework.js +++ b/src/facilities/spa/spaFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.spa = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: false, shouldHear: true, shouldTalk: false, diff --git a/src/js/slaveStatsChecker.js b/src/js/slaveStatsChecker.js index 983d04bad1b83368d3fd11296bc577a613f1dca2..e2f5ebc32696e52d975826342c25f1d2449c74d8 100644 --- a/src/js/slaveStatsChecker.js +++ b/src/js/slaveStatsChecker.js @@ -614,6 +614,17 @@ window.canTaste = function(slave) { return (slave.tastes > -1); }; +/** + * @param {App.Entity.SlaveState} slave + * @returns {boolean} + */ +window.canHold = function(slave) { + if (!slave) { + return null; + } + return hasBothArms(slave); +}; + /** * @param {App.Entity.SlaveState} slave * @returns {boolean} diff --git a/src/npc/agent/agentFramework.js b/src/npc/agent/agentFramework.js index 1ac1425c976ca3817d4e8aafc3ba2e9cbdc3210a..eb001682c065713aac005896374f2f8f413d9526 100644 --- a/src/npc/agent/agentFramework.js +++ b/src/npc/agent/agentFramework.js @@ -19,6 +19,7 @@ App.Data.Facilities.arcologyAgent = { fuckdollAccepted: false, broodmotherAccepted: false, shouldWalk: true, + shouldHold: true, shouldSee: true, shouldHear: true, shouldTalk: true,