diff --git a/devTools/types/FC/facilities.d.ts b/devTools/types/FC/facilities.d.ts index 0e884609c141ffce5f35457119301563662d5295..b1c568ea241c5d8048afaf635fa86a60259dcc5d 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 4093d972395e50c7181ea436ee24ac4f157c2aff..e1d08b73707c7347e73406ac3f61435396fca612 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 a1ed3c9055918920b2043292a3ca990b5942e940..e5dfab7527cd2b97706b41e97d55924fc63469d7 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 b50d706ae25df7d2bd508becc0b027976ab51aee..920452717a7e78a2dab7c6a3374d1f4b00c163a4 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 999da56441c4333d71e8a57be0fdec024505bbe7..f24e87f5034b1d1f962b7c89664250b38b028260 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 dbdde301ccfaae7ce7f3ad2f810862a83a48e022..b55c9b8c15db4b681463bc97d155bcdf3ee35f50 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 19bb8d05833876586882ba767e0f60968580b8a6..ac5ae912fe437c4242efe411daeedd2b84302ec3 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 3c3b1db0d8054ae929590e721fe46151f87aa6c8..f50004d6d362455064c5e334d3abb730e39a164e 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 399caad3194f222d414b4d7d0866f8bc75f9375a..5c700f61b4e11719a24b98b2ee10df0a4fcb9e41 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 ae9d465fd8b0f4adcd058cbb7f45e03c076500d2..3010a1ccd761a2e7a03b6bfd0bef60f0a2d7c460 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 dce45c6cd6c235338f01d2d59d97953f0ded7dcb..126f3d74648f907b54e098bc2667d716f5affa16 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 83e67a773242e968831fc29ed8c173bd852b533e..67e0e8537cd36fe13ed65449b056f1bc654860a1 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 94597390d5e89097835c89ea7548d6fcbb570ac2..68e36ecc27fe40c4e0531e768916fa8c52253d2f 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 ee9be3de8a40e2c19d9e6dbcf2bc800c4f822241..f90b7bf650939e51ad0cdbd93a13f92b318a3519 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 ffb7a1954f45fc8c5a9222b5b663b002b2b4d967..a12fec5369e9f943ef387a3473d7e06a9d9264a4 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 eee251f1307d71a2b5f3941312e86cf3ce33ff1e..f0f1ec16173e5f227dbdcb90c8abfd11b0a3adae 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 948cfa531c7c424e0d0ef737760e5ceb28e8b969..54a43e534ab9f2154ce25e320dd72c586c9dcc0b 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 95012872750b1a9f1bd59dcdcf13595504f43099..0310f8141b693ec3b1c9a7f22b76ce301e14dac0 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,