FB2PopulationSystem
Overview
- Population (crowd spawning / maintenance) system.
Metadata
| Field | Value |
|---|---|
| Kind | system |
| Environment | B2 - Simulation |
| Category | systems |
| Extends | FB2Subsystem |
| Require | require('Systems.FB2PopulationSystem') |
Properties (37)
| Name | Type | Description |
|---|---|---|
CachedGroupCounts | table<EB1CharacterGroupType, integer> | |
CachedTotalCount | integer | |
CityName | string | |
ConceptAttributeIndexCursors | table<string, integer> | Cursor of the next index to use from a CharacterConcept's multiple CharacterAttribute pools. |
ConceptCharacters | table<string, any[]> | |
Config | FB2PopulationConifg | |
CrowdJobIds | table<string, boolean> | |
CustomSiteSchedules | FB1SiteSchedule[] | |
CustomSiteTimelineCounter | integer | |
Debug_DiversityCrowdGroupInfo | FB1DiversityCrowdGroupInfo | |
DefaultShopWorkerCreateParams | table<FB1EntityId, FB1ObjectShopWorkerCreateParam> | Stores designer-authored data assumed as the default. |
DiversityCharacterSnapshots | table<FB1EntityId, FB2DiversityRegistrationInfo> | |
DiversityPopulationInfo | FB1DiversityPopulationInfo | |
FakeCompanyIds | table<string, boolean> | |
GeneratedFamilyInc | integer | |
GeneratedHasJobNpcFamilyInc | integer | |
GeneratedNoJobNpcFamilyInc | integer | |
InitializeCrowdCount | integer | |
IsInit | boolean | |
LastCrowdSpawnRealSeconds | number | |
LogSystem | FB2PopulationLogSystem | |
ManagedCharactersByGroup | table<EB1CharacterGroupType, any[]> | List of characters managed by the population manager. |
MaxSpawnCrowdCount | integer | |
NightCrowdSpawnRate | number | |
PendingConceptFillRequests | FB2PendingConceptFillRequest[] | |
PendingDespawnShopWorkerEntities | FB1EntityId[] | |
PendingDestroyCrowds | table<FB1EntityId, boolean> | |
ServiceJobIds | table<string, boolean> | |
ShopWorkerEntities | table<FB1EntityId, FB1ObjectShopWorkerCreateParam> | Street-vendor NPCs (Key: Object EntityId, Value: Zoi Create Param). |
SiteScheduleCustomizeData | table<string, FB1SiteScheduleCustomizeData> | Custom-site SiteRoleNpc data. |
SiteScheduleLookupTable | table<string, string> | |
SiteSchedules | FB1SiteSchedule[] | |
WaitingCrowds | table<FB1EntityId, boolean> | |
WalkingCrowds | table<FB1EntityId, boolean> | |
bDisableOldDebugLog | boolean | |
bGenderIdentityDiversityEnabled | boolean | |
bIsCrowdGroupEnabled | boolean |
Functions (56)
| Function | Parameters | Returns | Description |
|---|---|---|---|
AlreadyCreatedShopWorker | InEntityId: FB1EntityId | boolean | |
ApplyDestroyCrowd | - | - | Destroys crowds; split out as it moves from 8 o'clock to 9 o'clock. |
CanSpawnCrowd | - | boolean | Returns whether it can Spawn Crowd. |
CanSpawnNewCharacter | - | boolean | Returns whether it can Spawn New Character. |
CheckConceptExpired | InCharacter: FB2Character | boolean | Checks Concept Expired. |
ConceptCharacterDeath | InEntityId: FB1EntityId | - | |
CreateShopWorkerNpc | InObjectEntityId: FB1EntityId | FB1ObjectShopWorkerCreateParam | Creates Shop Worker Npc. |
DeleteSiteSchedule | InSiteSchedule: FB1SiteSchedule | - | Deletes Site Schedule. |
DestroyShopWorkerZoi | InObjectEntityId: FB1EntityId | - | |
FillConceptCharacter | InConceptId: string, InAttribute: FB1CharacterAttribute | - | |
GetAllShopWorkerCreateParams | - | table<FB1EntityId, FB1ObjectShopWorkerCreateParam> | Returns All Shop Worker Create Params. |
GetCharacterCountByGroupType | InGroupType: EB1CharacterGroupType | integer | Returns Character Count By Group Type. |
GetCopyDiversityPopulationInfo | - | FB1DiversityPopulationInfo | Returns Copy Diversity Population Info. |
GetCrowdSpawnCountByTime | - | integer | Returns Crowd Spawn Count By Time. |
GetCurrentPopulation | - | integer | Returns Current Population. |
GetDefaultShopWorkerCreateParam | InObjectEntityId: FB1EntityId | FB1ObjectShopWorkerCreateParam | Returns Default Shop Worker Create Param. |
GetInitializeCrowdCount | - | integer | Returns Initialize Crowd Count. |
GetMaxSpawnCrowdCount | - | integer | Returns Max Spawn Crowd Count. |
GetPopulationHistogramKey (static) | growthStep: EB1GrowthStep | string | Returns Population Histogram Key. |
GetRemainPopulationCount | - | integer | Returns Remain Population Count. |
GetShopWorkerCreateParam | InObjectEntityId: FB1EntityId | FB1ObjectShopWorkerCreateParam | Returns Shop Worker Create Param. |
GetSiteScheduleCustomizeData | InSiteId: string | FB1SiteScheduleCustomizeData | Returns Site Schedule Customize Data. |
GetTotalCharacterCount | - | integer | Returns Total Character Count. |
IsChildAllowedInWorld | - | boolean | Returns whether Child Allowed In World. |
IsCrowdGroupEnabled | - | boolean | Returns whether Crowd Group Enabled. |
IsGenderIdentityDiversityEnabled | - | boolean | Returns whether Gender Identity Diversity Enabled. |
IsPendingDestroyCrowd | InEntityId: FB1EntityId | boolean | Returns whether Pending Destroy Crowd. |
IsRegisteredWaitingCrowd | InEntityId: FB1EntityId | boolean | Returns whether Registered Waiting Crowd. |
IsSiteScheduleCareer | InCareerDtId: string, InJobDtId: string | boolean | Returns whether Site Schedule Career. |
OnChangedGameConfigModifierValue | InModifierKey: string, InModifierValue: number | - | Callback invoked on Changed Game Config Modifier Value. |
PickCharacterAttributeIdFromConcept | InConceptId: string, InAttributeIds: string[] | string | Picks and returns one CharacterAttributeId from the CharacterConcept pool. The first call is random; afterward it cycles (idx+1) % N. The cursor is persisted in ConceptAttributeIndexCursors. |
RecordSiteSchedule | InSiteSchedule: FB1SiteSchedule | - | |
RegisterDiversity | InEntityId: FB1EntityId, InDiversityInfo: FB1DiversityInfo, InGenderDiversityInfo: FB1GenderDiversityInfo | - | Registers Diversity. |
RegisterWaitingCrowd | InEntityId: FB1EntityId | - | Registers Waiting Crowd. |
RemoveConceptCharacter | InEntityId: FB1EntityId | - | Removes Concept Character. |
RemovePendingDestroyCrowd | InEntityId: FB1EntityId | - | Removes Pending Destroy Crowd. |
RemoveReservedShopWorkerTimeTask | InCreateParam: FB1ObjectShopWorkerCreateParam | - | Removes Reserved Shop Worker Time Task. |
RemoveSiteRoleNpcsForSite | InSiteId: string | - | Removes Site Role Npcs For Site. |
ReplaceShopWorkerZoi | InObjectEntityId: FB1EntityId | - | |
RequestCreateShopWorker | InCreateParam: FB1ObjectShopWorkerCreateParam | - | Requests Create Shop Worker. |
RequestDespawnShopWorker | InEntityIdList: FB1EntityId[] | - | Requests Despawn Shop Worker. |
RequestFillConceptCharacter | InConceptId: string | - | Explicit entry point for a consumer (e.g. a school) to request pool replenishment when a seat is empty. Internally draws an attribute from the CharacterAttributeIds pool and enqueues it via FillConceptCharacter. The RequiredJobId seat check is done at materialization time in ProcessPendingConceptFillRequests, so it is safely skipped if the seat disappears between call and materialization. |
RequestSiteScheduleCustomize | InData: FB1RequestSiteScheduleCustomizeParam | FB1EntityId[] | Requests Site Schedule Customize. |
RequestUpdateSiteScheduleStatList | InUpdateStatParamList: FB1RequestUpdateSiteScheduleStatParam[] | - | Requests Update Site Schedule Stat List. |
RequestUpdateSiteScheduleStatOne | InUpdateStatParam: FB1RequestUpdateSiteScheduleStatParam | - | Requests Update Site Schedule Stat One. |
RequestUpdateSiteScheduleTime | InUpdateTimeParam: FB1RequestUpdateSiteScheduleTimeParam | - | Requests Update Site Schedule Time. |
RequestUpdateSiteScheduleWorker | InUpdateWorkerParam: FB1RequestUpdateSiteScheduleWorkerParam | FB1EntityId[] | Requests Update Site Schedule Worker. |
RequestUpdateSiteScheduleWorkerAttributeList | InUpdateAttributeParamList: FB1RequestUpdateSiteScheduleWorkerAttributeParam[] | - | Requests Update Site Schedule Worker Attribute List. |
RequestUpdateSiteScheduleWorkerAttributeOne | InUpdateAttributeParam: FB1RequestUpdateSiteScheduleWorkerAttributeParam | - | Requests Update Site Schedule Worker Attribute One. |
ReserveShopWorkerTask | InCreateParam: FB1ObjectShopWorkerCreateParam, InRequestDay: EB1DayOfWeek | - | |
SetGenderIdentityDiversityEnabled | - | - | Sets Gender Identity Diversity Enabled. |
StoreDefaultShopWorkerCreateParam | InCreateParam: FB1ObjectShopWorkerCreateParam | - | |
UnRegisterDiversity | InEntityId: FB1EntityId, InDiversityInfo: FB1DiversityInfo, InGenderDiversityInfo: FB1GenderDiversityInfo | - | |
UnRegisterWaitingCrowd | InEntityId: FB1EntityId | - | |
UnregisterCharacter | InEntityId: FB1EntityId, InConceptId: string | - | Unregisters Character. |
UpdateDiversityInfo | InNewInfo: FB1DiversityPopulationInfo | - | Updates Diversity Info. |
Override points (32)
Implement these in Lua as FB2PopulationSystem.Override_Name = function(...) end.
| Function | Parameters | Returns | Description |
|---|---|---|---|
Override_AlreadyCreatedShopWorker | InEntityId: FB1EntityId | boolean | |
Override_ApplyDestroyCrowd | - | - | Destroys crowds; split out as it moves from 8 o'clock to 9 o'clock. |
Override_CanSpawnCrowd | - | boolean | Returns whether it can Spawn Crowd. |
Override_CanSpawnNewCharacter | - | boolean | Returns whether it can Spawn New Character. |
Override_CheckConceptExpired | InCharacter: FB2Character | boolean | Checks Concept Expired. |
Override_ConceptCharacterDeath | InEntityId: FB1EntityId | - | |
Override_CreateShopWorkerNpc | InObjectEntityId: FB1EntityId | FB1ObjectShopWorkerCreateParam | Creates Shop Worker Npc. |
Override_DeleteSiteSchedule | InSiteSchedule: FB1SiteSchedule | - | Deletes Site Schedule. |
Override_DestroyShopWorkerZoi | InObjectEntityId: FB1EntityId | - | |
Override_FillConceptCharacter | InConceptId: string, InAttribute: FB1CharacterAttribute | - | |
Override_OnChangedGameConfigModifierValue | InModifierKey: string, InModifierValue: number | - | Callback invoked on Changed Game Config Modifier Value. |
Override_PickCharacterAttributeIdFromConcept | InConceptId: string, InAttributeIds: string[] | string | Picks and returns one CharacterAttributeId from the CharacterConcept pool. The first call is random; afterward it cycles (idx+1) % N. The cursor is persisted in ConceptAttributeIndexCursors. |
Override_RecordSiteSchedule | InSiteSchedule: FB1SiteSchedule | - | |
Override_RegisterDiversity | InEntityId: FB1EntityId, InDiversityInfo: FB1DiversityInfo, InGenderDiversityInfo: FB1GenderDiversityInfo | - | Registers Diversity. |
Override_RegisterWaitingCrowd | InEntityId: FB1EntityId | - | Registers Waiting Crowd. |
Override_RemoveConceptCharacter | InEntityId: FB1EntityId | - | Removes Concept Character. |
Override_RemovePendingDestroyCrowd | InEntityId: FB1EntityId | - | Removes Pending Destroy Crowd. |
Override_RemoveReservedShopWorkerTimeTask | InCreateParam: FB1ObjectShopWorkerCreateParam | - | Removes Reserved Shop Worker Time Task. |
Override_RemoveSiteRoleNpcsForSite | InSiteId: string | - | Removes Site Role Npcs For Site. |
Override_ReplaceShopWorkerZoi | InObjectEntityId: FB1EntityId | - | |
Override_RequestCreateShopWorker | InCreateParam: FB1ObjectShopWorkerCreateParam | - | Requests Create Shop Worker. |
Override_RequestDespawnShopWorker | InEntityIdList: FB1EntityId[] | - | Requests Despawn Shop Worker. |
Override_RequestFillConceptCharacter | InConceptId: string | - | Explicit entry point for a consumer to request pool replenishment when a seat is empty. Internally enqueues via FillConceptCharacter; the RequiredJobId seat check is done at materialization time, so it is safely skipped if the seat disappears. |
Override_RequestSiteScheduleCustomize | InData: FB1RequestSiteScheduleCustomizeParam | FB1EntityId[] | Requests Site Schedule Customize. |
Override_RequestUpdateSiteScheduleTime | InUpdateTimeParam: FB1RequestUpdateSiteScheduleTimeParam | - | Requests Update Site Schedule Time. |
Override_RequestUpdateSiteScheduleWorker | InUpdateWorkerParam: FB1RequestUpdateSiteScheduleWorkerParam | FB1EntityId[] | Requests Update Site Schedule Worker. |
Override_ReserveShopWorkerTask | InCreateParam: FB1ObjectShopWorkerCreateParam, InRequestDay: EB1DayOfWeek | - | |
Override_StoreDefaultShopWorkerCreateParam | InCreateParam: FB1ObjectShopWorkerCreateParam | - | |
Override_UnRegisterDiversity | InEntityId: FB1EntityId, InDiversityInfo: FB1DiversityInfo, InGenderDiversityInfo: FB1GenderDiversityInfo | - | |
Override_UnRegisterWaitingCrowd | InEntityId: FB1EntityId | - | |
Override_UnregisterCharacter | InEntityId: FB1EntityId, InConceptId: string | - | Unregisters Character. |
Override_UpdateDiversityInfo | InNewInfo: FB1DiversityPopulationInfo | - | Updates Diversity Info. |