diff --git a/src/004-base/facility.js b/src/004-base/facility.js index 6c5c4b92124bad73f0c65f9d0f0b929c737c232a..6348f7d78f141bbc2630aff28aec1939a696a0a8 100644 --- a/src/004-base/facility.js +++ b/src/004-base/facility.js @@ -522,6 +522,17 @@ App.Entity.Facilities.Facility = class { return res; } + /** + * @param {boolean} long + * @returns {string} + */ + occupancyReport(long) { + const nonEmployees = this.nonEmployeeOccupantsCount; + return `(${this.hostedSlaves}${nonEmployees ? `+${nonEmployees}` : ""}/${this.capacity}${long + ? ` ${this.job().desc.position}s${this.manager && this.manager.currentEmployee ? `, ${this.manager.desc.position}` : ""}` + : this.manager && this.manager.currentEmployee ? ", L" : ""})`; + } + /** * @protected * @param {string} jobName diff --git a/src/facilities/arcade/arcadeFramework.js b/src/facilities/arcade/arcadeFramework.js index 961d529eb867cb9f1e3dd59602e8f87a032e01fc..58f5d63338c3742e12960635e9fa64656060e756 100644 --- a/src/facilities/arcade/arcadeFramework.js +++ b/src/facilities/arcade/arcadeFramework.js @@ -3,7 +3,7 @@ App.Data.Facilities.arcade = { genericName: null, jobs: { assignee: { - position: "whore", + position: "inmate", assignment: Job.ARCADE, publicSexUse: true, fuckdollAccepted: true, diff --git a/src/facilities/armory/armoryFramework.js b/src/facilities/armory/armoryFramework.js index 2f866ee1672196432a108dfd58668d6efc8f54da..c38797f641f567433f1071db67388aa5f4908c34 100644 --- a/src/facilities/armory/armoryFramework.js +++ b/src/facilities/armory/armoryFramework.js @@ -21,6 +21,15 @@ App.Data.Facilities.armory = { } }; -App.Entity.facilities.armory = new App.Entity.Facilities.Facility( - App.Data.Facilities.armory -); +App.Entity.Facilities.Armory = class extends App.Entity.Facilities.Facility { + constructor() { + super(App.Data.Facilities.armory); + } + + /** @override */ + occupancyReport(long) { + return this.manager.currentEmployee ? "(BG)" : ""; + } +}; + +App.Entity.facilities.armory = new App.Entity.Facilities.Armory(); diff --git a/src/facilities/club/clubFramework.js b/src/facilities/club/clubFramework.js index 02638c99d132484e645147919c8ba836d0d6fd57..3d25fd0af3b9d6da98fb3f78a1d5fd02ce10bf83 100644 --- a/src/facilities/club/clubFramework.js +++ b/src/facilities/club/clubFramework.js @@ -3,7 +3,7 @@ App.Data.Facilities.club = { genericName: null, jobs: { slut: { - position: "Slut", + position: "slut", assignment: Job.CLUB, publicSexUse: true, fuckdollAccepted: false, diff --git a/src/facilities/headGirlSuite/headGirlSuiteFramework.js b/src/facilities/headGirlSuite/headGirlSuiteFramework.js index a980f8a700c8a8105d7c0ce2f95ef6db5f6a6d41..6f0c0f246b3046b262ba352bf284272cd5926f28 100644 --- a/src/facilities/headGirlSuite/headGirlSuiteFramework.js +++ b/src/facilities/headGirlSuite/headGirlSuiteFramework.js @@ -33,6 +33,16 @@ App.Data.Facilities.headGirlSuite = { } }; -App.Entity.facilities.headGirlSuite = new App.Entity.Facilities.SingleJobFacility( - App.Data.Facilities.headGirlSuite -); +App.Entity.Facilities.HeadGirlSuite = class extends App.Entity.Facilities.SingleJobFacility { + constructor() { + super(App.Data.Facilities.headGirlSuite); + } + + /** @override */ + occupancyReport(long) { + return this.manager.currentEmployee ? `(HG${ + this.hostedSlaves ? long ? " and slave" : ", 1" : ""})` : ""; + } +}; + +App.Entity.facilities.headGirlSuite = new App.Entity.Facilities.HeadGirlSuite(); diff --git a/src/facilities/incubator/incubatorFramework.js b/src/facilities/incubator/incubatorFramework.js index a425efb8c58157fb43d9149345fc79084223ed6d..bf1867fa54dd85fa93e66e6489e680d5fb5d75d4 100644 --- a/src/facilities/incubator/incubatorFramework.js +++ b/src/facilities/incubator/incubatorFramework.js @@ -3,7 +3,7 @@ App.Data.Facilities.incubator = { genericName: null, jobs: { tank: { - position: "Tank", + position: "tank", assignment: Job.TANK, publicSexUse: false, fuckdollAccepted: false diff --git a/src/facilities/nursery/nurseryFramework.js b/src/facilities/nursery/nurseryFramework.js index 2403edffab0a54573e70cbdae905ca5c62211615..2c7ed6034999bb8ad79e8cd94356a87ba520952f 100644 --- a/src/facilities/nursery/nurseryFramework.js +++ b/src/facilities/nursery/nurseryFramework.js @@ -60,6 +60,13 @@ App.Entity.Facilities.Nursery = class extends App.Entity.Facilities.SingleJobFac // get capacity() { // return State.Variables.nurseryNannies; // } + + /** @override */ + occupancyReport(long) { + return long + ? `(${V.nurseryBabies}/${V.nursery} babies, ${this.nursery.hostedSlaves}/${V.nurseryNannies} nannies${this.manager.currentEmployee ? ", attendant" : ""}` + : `(${V.nurseryBabies}/${V.nursery}, ${this.nursery.hostedSlaves}/${V.nurseryNannies}${this.manager.currentEmployee ? ", L" : ""}`; + } }; App.Entity.facilities.nursery = new App.Entity.Facilities.Nursery(); diff --git a/src/facilities/pit/pitFramework.js b/src/facilities/pit/pitFramework.js index bac95c22fe173666f8675c8b6d08b0f79941cb4e..b68554b2a0a04fdb5bcf26cd8962f14e1d488dd3 100644 --- a/src/facilities/pit/pitFramework.js +++ b/src/facilities/pit/pitFramework.js @@ -45,6 +45,11 @@ App.Entity.Facilities.Pit = class extends App.Entity.Facilities.SingleJobFacilit get capacity() { return super.capacity > 0 ? Number.MAX_VALUE : 0; } + + /** @override */ + occupancyReport(long) { + return `(${this.hostedSlaves}${long ? ` ${this.job().desc.position}s` : ""})`; + } }; App.Entity.facilities.pit = new App.Entity.Facilities.Pit(); diff --git a/src/facilities/schoolroom/schoolroomFramework.js b/src/facilities/schoolroom/schoolroomFramework.js index 04b487df197d89d545eb0d85b6d4b5da4bc6afb5..0676a003f17de5a89e004ed18fc1186a0bf19b57 100644 --- a/src/facilities/schoolroom/schoolroomFramework.js +++ b/src/facilities/schoolroom/schoolroomFramework.js @@ -3,7 +3,7 @@ App.Data.Facilities.schoolroom = { genericName: null, jobs: { student: { - position: "", + position: "student", assignment: Job.SCHOOL, publicSexUse: false, fuckdollAccepted: false, diff --git a/src/facilities/spa/spaFramework.js b/src/facilities/spa/spaFramework.js index 2375a1bde62716d9d86ebce91e3a25a87a48b98e..475e5f10aa202dc58ba0fb7fc29accf6d0f85494 100644 --- a/src/facilities/spa/spaFramework.js +++ b/src/facilities/spa/spaFramework.js @@ -3,7 +3,7 @@ App.Data.Facilities.spa = { genericName: null, jobs: { assignee: { - position: "", + position: "bather", assignment: Job.SPA, publicSexUse: false, fuckdollAccepted: false, diff --git a/src/gui/quicklinks.js b/src/gui/quicklinks.js index 0ca0a49f59eb7f86dd0033a2b8a1beecd395e6c8..9b8d71fbbf3fb6539d02ab3532b65d1dd03d68db 100644 --- a/src/gui/quicklinks.js +++ b/src/gui/quicklinks.js @@ -147,42 +147,24 @@ App.UI.quickMenu = (function() { }); // extra information behind the link, is a function + const f = App.Entity.facilities; const extraInfo = cleanPassageMapping({ - Arcade: () => `(${App.Entity.facilities.arcade.employeesIDs().size}/${V.arcade}${ - V.abbreviateSidebar === 2 ? " inmates" : ""})`, - "BG Select": () => V.Bodyguard !== 0 ? "(BG)" : "", - Brothel: () => `(${App.Entity.facilities.brothel.employeesIDs().size}/${V.brothel}${ - V.abbreviateSidebar === 2 ? ` whores${V.Madam ? ", madam" : ""}` : V.Madam ? ", L" : ""})`, - Cellblock: () => `(${App.Entity.facilities.cellblock.employeesIDs().size}/${V.cellblock}${ - V.abbreviateSidebar === 2 ? ` prisoners${V.Wardeness ? ", wardeness" : ""}` : V.Wardeness ? ", L" : ""})`, - Clinic: () => `(${App.Entity.facilities.clinic.employeesIDs().size}/${V.clinic}${ - V.abbreviateSidebar === 2 ? ` patients${V.Nurse ? ", nurse" : ""}` : V.Nurse ? ", L" : ""})`, - Club: () => `(${App.Entity.facilities.club.employeesIDs().size}/${V.brothel}${ - V.abbreviateSidebar === 2 ? ` sluts${V.DJ ? ", DJ" : ""}` : V.DJ ? ", L" : ""})`, - Dairy: () => { - const SCapT9 = V.bioreactorsXY + V.bioreactorsXX + V.bioreactorsHerm + V.bioreactorsBarren; - return `(${App.Entity.facilities.dairy.employeesIDs().size}${SCapT9 ? `+${SCapT9}` : ""}/${V.dairy}${ - V.abbreviateSidebar === 2 ? ` cows${V.Milkmaid ? ", milkmaid" : ""}` - : V.Milkmaid ? ", L" : ""}`; - }, - Farmyard: () => `(${App.Entity.facilities.farmyard.employeesIDs().size}/${V.farmyard}${ - V.abbreviateSidebar === 2 ? ` farmhands${V.Farmer ? ", farmer" : ""}` : V.Farmer ? ", L" : ""})`, - "Head Girl Suite": () => V.HeadGirl !== 0 ? `(HG${ - App.Entity.facilities.headGirlSuite.employeesIDs().size ? - V.abbreviateSidebar === 2 ? " and slave" : ", 1" : ""})` : "", - Incubator: () => `(${V.incubatorSlaves}/${V.incubator}${V.abbreviateSidebar === 2 ? " slaves" : ""})`, - "Master Suite": () => `(${App.Entity.facilities.masterSuite.employeesIDs().size}/${V.masterSuite}${ - V.abbreviateSidebar === 2 ? ` fucktoys${V.Concubine ? ", concubine" : ""}` : V.Concubine ? ", L" : ""})`, - Nursery: () => V.abbreviateSidebar === 2 - ? `(${V.nurseryBabies}/${V.nursery} babies, ${App.Entity.facilities.nursery.employeesIDs().size}/${V.nurseryNannies} nannies${V.Matron ? ", attendant" : ""}` - : `(${V.nurseryBabies}/${V.nursery}, ${App.Entity.facilities.nursery.employeesIDs().size}/${V.nurseryNannies}${V.Matron ? ", L" : ""}`, - Pit: () => `(${V.fighterIDs.length}${V.abbreviateSidebar === 2 ? " combatants" : ""}`, - Schoolroom: () => `(${App.Entity.facilities.schoolroom.employeesIDs().size}/${V.schoolroom}${ - V.abbreviateSidebar === 2 ? ` students${V.Schoolteacher ? ", schoolteacher" : ""}` : V.Schoolteacher ? ", L" : ""})`, - "Servants' Quarters": () => `(${App.Entity.facilities.servantsQuarters.employeesIDs().size}/${V.servantsQuarters}${ - V.abbreviateSidebar === 2 ? ` servants${V.Stewardess ? ", stewardess" : ""}` : V.Stewardess ? ", L" : ""})`, - Spa: () => `(${App.Entity.facilities.spa.employeesIDs().size}/${V.spa}${ - V.abbreviateSidebar === 2 ? ` bathing${V.Attendant ? ", attendant" : ""}` : V.Attendant ? ", L" : ""})`, + Arcade: () => f.arcade .occupancyReport(V.abbreviateSidebar === 2), + "BG Select": () => f.armory .occupancyReport(V.abbreviateSidebar === 2), + Brothel: () => f.brothel .occupancyReport(V.abbreviateSidebar === 2), + Cellblock: () => f.cellblock .occupancyReport(V.abbreviateSidebar === 2), + Clinic: () => f.clinic .occupancyReport(V.abbreviateSidebar === 2), + Club: () => f.club .occupancyReport(V.abbreviateSidebar === 2), + Dairy: () => f.dairy .occupancyReport(V.abbreviateSidebar === 2), + Farmyard: () => f.farmyard .occupancyReport(V.abbreviateSidebar === 2), + "Head Girl Suite": () => f.headGirlSuite.occupancyReport(V.abbreviateSidebar === 2), + Incubator: () => f.incubator .occupancyReport(V.abbreviateSidebar === 2), + "Master Suite": () => f.masterSuite .occupancyReport(V.abbreviateSidebar === 2), + Nursery: () => f.nursery .occupancyReport(V.abbreviateSidebar === 2), + Pit: () => f.pit .occupancyReport(V.abbreviateSidebar === 2), + Schoolroom: () => f.schoolroom .occupancyReport(V.abbreviateSidebar === 2), + "Servants' Quarters": () => f.servantsQuarters.occupancyReport(V.abbreviateSidebar === 2), + Spa: () => f.spa .occupancyReport(V.abbreviateSidebar === 2), }); // true shows a notification symbol