From 03f1d6f102d888ca3963c50fd5a3fb8046b191b9 Mon Sep 17 00:00:00 2001 From: DCoded <dicoded@email.com> Date: Fri, 22 Jul 2022 11:17:24 -0400 Subject: [PATCH] Added FacilityFramework interface --- devTools/types/FC/facilities.d.ts | 61 +++++++++++++++++++ src/facilities/arcade/arcadeFramework.js | 1 + src/facilities/armory/armoryFramework.js | 1 + src/facilities/brothel/brothelFramework.js | 1 + .../cellblock/cellblockFramework.js | 1 + src/facilities/clinic/clinicFramework.js | 1 + src/facilities/club/clubFramework.js | 1 + src/facilities/dairy/dairyFramework.js | 1 + src/facilities/farmyard/farmyardFramework.js | 1 + .../headGirlSuite/headGirlSuiteFramework.js | 1 + .../incubator/incubatorFramework.js | 1 + .../masterSuite/masterSuiteFramework.js | 1 + src/facilities/nursery/nurseryFramework.js | 1 + .../penthouse/penthouseFramework.js | 1 + src/facilities/pit/pitFramework.js | 1 + .../schoolroom/schoolroomFramework.js | 1 + .../servantsQuartersFramework.js | 1 + src/facilities/spa/spaFramework.js | 1 + 18 files changed, 78 insertions(+) diff --git a/devTools/types/FC/facilities.d.ts b/devTools/types/FC/facilities.d.ts index 0e884609c14..b1c568ea241 100644 --- a/devTools/types/FC/facilities.d.ts +++ b/devTools/types/FC/facilities.d.ts @@ -39,6 +39,67 @@ declare namespace FC { nodes?: Array<string|HTMLElement|DocumentFragment>; } + interface IFacilityAssignment { + /** The name of the assignment. */ + position: string; + /** The assignment type. */ + assignment: Assignment; + /** Whether the assigned slaves engage in sex with the public. */ + publicSexUse: boolean; + /** Whether fuckdolls can work here. */ + fuckdollAccepted: boolean; + /** Whether slaves assigned here can work at another assignment at the same time. */ + partTime?: boolean; + } + + interface IManagerAssignment { + /** The name of the assignment. */ + position: string; + /** The assignment name's abbreviated form, if any. */ + positionAbbreviation?: string; + /** The assignment type. */ + assignment: Assignment; + /** A list of careers that count towards past experience. */ + careers: string[]; + /** Which of a slave's manager skills is affected. */ + skill: string; + /** Whether the assigned slaves engage in sex with the public. */ + publicSexUse: boolean; + /** Whether fuckdolls can work here. */ + fuckdollAccepted: boolean; + /** Whether broodmothers can work here. */ + broodmotherAccepted: boolean; + /** If slaves assigned here must be able to walk. */ + shouldWalk: boolean; + /** If slaves assigned here must be able to hold items. */ + shouldHold: boolean; + /** If slaves assigned here must be able to see. */ + shouldSee: boolean; + /** If slaves assigned here must be able to hear. */ + shouldHear: boolean; + /** If slaves assigned here must be able to talk. */ + shouldTalk: boolean; + /** If slaves assigned here must have cognitive function. */ + shouldThink: boolean; + /** The minimum required devotion level to be assigned here. */ + requiredDevotion: number; + } + + interface FacilityFramework { + /** The variable name of the facility. */ + baseName: string; + /** The generic form of the facility. */ + genericName: string|null; + /** An object listing all the available positions in the facility. */ + jobs: Record<string, IFacilityAssignment>; + /** The default job in the facility. */ + defaultJob: string; + /** Properties pertaining to the facility's manager. */ + manager: IManagerAssignment; + /** Whether the facility can use FS decorations. */ + decorated: boolean; + } + namespace Facilities { export type Facility = InstanceType<typeof App.Facilities.Facility>; export type Animal = InstanceType<typeof App.Entity.Animal>; diff --git a/src/facilities/arcade/arcadeFramework.js b/src/facilities/arcade/arcadeFramework.js index 4093d972395..e1d08b73707 100644 --- a/src/facilities/arcade/arcadeFramework.js +++ b/src/facilities/arcade/arcadeFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.arcade = { baseName: "arcade", genericName: null, diff --git a/src/facilities/armory/armoryFramework.js b/src/facilities/armory/armoryFramework.js index a1ed3c90559..e5dfab7527c 100644 --- a/src/facilities/armory/armoryFramework.js +++ b/src/facilities/armory/armoryFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.armory = { baseName: "dojo", genericName: "Armory", diff --git a/src/facilities/brothel/brothelFramework.js b/src/facilities/brothel/brothelFramework.js index b50d706ae25..920452717a7 100644 --- a/src/facilities/brothel/brothelFramework.js +++ b/src/facilities/brothel/brothelFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.brothel = { baseName: "brothel", genericName: null, diff --git a/src/facilities/cellblock/cellblockFramework.js b/src/facilities/cellblock/cellblockFramework.js index 999da56441c..f24e87f5034 100644 --- a/src/facilities/cellblock/cellblockFramework.js +++ b/src/facilities/cellblock/cellblockFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.cellblock = { baseName: "cellblock", genericName: null, diff --git a/src/facilities/clinic/clinicFramework.js b/src/facilities/clinic/clinicFramework.js index dbdde301ccf..b55c9b8c15d 100644 --- a/src/facilities/clinic/clinicFramework.js +++ b/src/facilities/clinic/clinicFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.clinic = { baseName: "clinic", genericName: null, diff --git a/src/facilities/club/clubFramework.js b/src/facilities/club/clubFramework.js index 19bb8d05833..ac5ae912fe4 100644 --- a/src/facilities/club/clubFramework.js +++ b/src/facilities/club/clubFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.club = { baseName: "club", genericName: null, diff --git a/src/facilities/dairy/dairyFramework.js b/src/facilities/dairy/dairyFramework.js index 3c3b1db0d80..f50004d6d36 100644 --- a/src/facilities/dairy/dairyFramework.js +++ b/src/facilities/dairy/dairyFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.dairy = { baseName: "dairy", genericName: null, diff --git a/src/facilities/farmyard/farmyardFramework.js b/src/facilities/farmyard/farmyardFramework.js index 399caad3194..5c700f61b4e 100644 --- a/src/facilities/farmyard/farmyardFramework.js +++ b/src/facilities/farmyard/farmyardFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.farmyard = { baseName: "farmyard", genericName: null, diff --git a/src/facilities/headGirlSuite/headGirlSuiteFramework.js b/src/facilities/headGirlSuite/headGirlSuiteFramework.js index ae9d465fd8b..3010a1ccd76 100644 --- a/src/facilities/headGirlSuite/headGirlSuiteFramework.js +++ b/src/facilities/headGirlSuite/headGirlSuiteFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.headGirlSuite = { baseName: "HGSuite", genericName: null, diff --git a/src/facilities/incubator/incubatorFramework.js b/src/facilities/incubator/incubatorFramework.js index dce45c6cd6c..126f3d74648 100644 --- a/src/facilities/incubator/incubatorFramework.js +++ b/src/facilities/incubator/incubatorFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.incubator = { baseName: "incubator", genericName: null, diff --git a/src/facilities/masterSuite/masterSuiteFramework.js b/src/facilities/masterSuite/masterSuiteFramework.js index 83e67a77324..67e0e8537cd 100644 --- a/src/facilities/masterSuite/masterSuiteFramework.js +++ b/src/facilities/masterSuite/masterSuiteFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.masterSuite = { baseName: "masterSuite", genericName: "Master Suite", diff --git a/src/facilities/nursery/nurseryFramework.js b/src/facilities/nursery/nurseryFramework.js index 94597390d5e..68e36ecc27f 100644 --- a/src/facilities/nursery/nurseryFramework.js +++ b/src/facilities/nursery/nurseryFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.nursery = { baseName: "nursery", genericName: null, diff --git a/src/facilities/penthouse/penthouseFramework.js b/src/facilities/penthouse/penthouseFramework.js index ee9be3de8a4..f90b7bf6509 100644 --- a/src/facilities/penthouse/penthouseFramework.js +++ b/src/facilities/penthouse/penthouseFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.penthouse = { baseName: "penthouse", genericName: "Penthouse", diff --git a/src/facilities/pit/pitFramework.js b/src/facilities/pit/pitFramework.js index ffb7a1954f4..a12fec5369e 100644 --- a/src/facilities/pit/pitFramework.js +++ b/src/facilities/pit/pitFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.pit = { baseName: "pit", genericName: null, diff --git a/src/facilities/schoolroom/schoolroomFramework.js b/src/facilities/schoolroom/schoolroomFramework.js index eee251f1307..f0f1ec16173 100644 --- a/src/facilities/schoolroom/schoolroomFramework.js +++ b/src/facilities/schoolroom/schoolroomFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.schoolroom = { baseName: "schoolroom", genericName: null, diff --git a/src/facilities/servantsQuarters/servantsQuartersFramework.js b/src/facilities/servantsQuarters/servantsQuartersFramework.js index 948cfa531c7..54a43e534ab 100644 --- a/src/facilities/servantsQuarters/servantsQuartersFramework.js +++ b/src/facilities/servantsQuarters/servantsQuartersFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.servantsQuarters = { baseName: "servantsQuarters", genericName: "Servants' Quarters", diff --git a/src/facilities/spa/spaFramework.js b/src/facilities/spa/spaFramework.js index 95012872750..0310f8141b6 100644 --- a/src/facilities/spa/spaFramework.js +++ b/src/facilities/spa/spaFramework.js @@ -1,3 +1,4 @@ +/** @type {FC.FacilityFramework} */ App.Data.Facilities.spa = { baseName: "spa", genericName: null, -- GitLab