Skip to main content

FB2PopulationSystem

Overview

  • Population (crowd spawning / maintenance) system.

Metadata

FieldValue
Kindsystem
EnvironmentB2 - Simulation
Categorysystems
ExtendsFB2Subsystem
Requirerequire('Systems.FB2PopulationSystem')

Properties (37)

NameTypeDescription
CachedGroupCountstable<EB1CharacterGroupType, integer>
CachedTotalCountinteger
CityNamestring
ConceptAttributeIndexCursorstable<string, integer>Cursor of the next index to use from a CharacterConcept's multiple CharacterAttribute pools.
ConceptCharacterstable<string, any[]>
ConfigFB2PopulationConifg
CrowdJobIdstable<string, boolean>
CustomSiteSchedulesFB1SiteSchedule[]
CustomSiteTimelineCounterinteger
Debug_DiversityCrowdGroupInfoFB1DiversityCrowdGroupInfo
DefaultShopWorkerCreateParamstable<FB1EntityId, FB1ObjectShopWorkerCreateParam>Stores designer-authored data assumed as the default.
DiversityCharacterSnapshotstable<FB1EntityId, FB2DiversityRegistrationInfo>
DiversityPopulationInfoFB1DiversityPopulationInfo
FakeCompanyIdstable<string, boolean>
GeneratedFamilyIncinteger
GeneratedHasJobNpcFamilyIncinteger
GeneratedNoJobNpcFamilyIncinteger
InitializeCrowdCountinteger
IsInitboolean
LastCrowdSpawnRealSecondsnumber
LogSystemFB2PopulationLogSystem
ManagedCharactersByGrouptable<EB1CharacterGroupType, any[]>List of characters managed by the population manager.
MaxSpawnCrowdCountinteger
NightCrowdSpawnRatenumber
PendingConceptFillRequestsFB2PendingConceptFillRequest[]
PendingDespawnShopWorkerEntitiesFB1EntityId[]
PendingDestroyCrowdstable<FB1EntityId, boolean>
ServiceJobIdstable<string, boolean>
ShopWorkerEntitiestable<FB1EntityId, FB1ObjectShopWorkerCreateParam>Street-vendor NPCs (Key: Object EntityId, Value: Zoi Create Param).
SiteScheduleCustomizeDatatable<string, FB1SiteScheduleCustomizeData>Custom-site SiteRoleNpc data.
SiteScheduleLookupTabletable<string, string>
SiteSchedulesFB1SiteSchedule[]
WaitingCrowdstable<FB1EntityId, boolean>
WalkingCrowdstable<FB1EntityId, boolean>
bDisableOldDebugLogboolean
bGenderIdentityDiversityEnabledboolean
bIsCrowdGroupEnabledboolean

Functions (56)

FunctionParametersReturnsDescription
AlreadyCreatedShopWorkerInEntityId: FB1EntityIdboolean
ApplyDestroyCrowd--Destroys crowds; split out as it moves from 8 o'clock to 9 o'clock.
CanSpawnCrowd-booleanReturns whether it can Spawn Crowd.
CanSpawnNewCharacter-booleanReturns whether it can Spawn New Character.
CheckConceptExpiredInCharacter: FB2CharacterbooleanChecks Concept Expired.
ConceptCharacterDeathInEntityId: FB1EntityId-
CreateShopWorkerNpcInObjectEntityId: FB1EntityIdFB1ObjectShopWorkerCreateParamCreates Shop Worker Npc.
DeleteSiteScheduleInSiteSchedule: FB1SiteSchedule-Deletes Site Schedule.
DestroyShopWorkerZoiInObjectEntityId: FB1EntityId-
FillConceptCharacterInConceptId: string, InAttribute: FB1CharacterAttribute-
GetAllShopWorkerCreateParams-table<FB1EntityId, FB1ObjectShopWorkerCreateParam>Returns All Shop Worker Create Params.
GetCharacterCountByGroupTypeInGroupType: EB1CharacterGroupTypeintegerReturns Character Count By Group Type.
GetCopyDiversityPopulationInfo-FB1DiversityPopulationInfoReturns Copy Diversity Population Info.
GetCrowdSpawnCountByTime-integerReturns Crowd Spawn Count By Time.
GetCurrentPopulation-integerReturns Current Population.
GetDefaultShopWorkerCreateParamInObjectEntityId: FB1EntityIdFB1ObjectShopWorkerCreateParamReturns Default Shop Worker Create Param.
GetInitializeCrowdCount-integerReturns Initialize Crowd Count.
GetMaxSpawnCrowdCount-integerReturns Max Spawn Crowd Count.
GetPopulationHistogramKey (static)growthStep: EB1GrowthStepstringReturns Population Histogram Key.
GetRemainPopulationCount-integerReturns Remain Population Count.
GetShopWorkerCreateParamInObjectEntityId: FB1EntityIdFB1ObjectShopWorkerCreateParamReturns Shop Worker Create Param.
GetSiteScheduleCustomizeDataInSiteId: stringFB1SiteScheduleCustomizeDataReturns Site Schedule Customize Data.
GetTotalCharacterCount-integerReturns Total Character Count.
IsChildAllowedInWorld-booleanReturns whether Child Allowed In World.
IsCrowdGroupEnabled-booleanReturns whether Crowd Group Enabled.
IsGenderIdentityDiversityEnabled-booleanReturns whether Gender Identity Diversity Enabled.
IsPendingDestroyCrowdInEntityId: FB1EntityIdbooleanReturns whether Pending Destroy Crowd.
IsRegisteredWaitingCrowdInEntityId: FB1EntityIdbooleanReturns whether Registered Waiting Crowd.
IsSiteScheduleCareerInCareerDtId: string, InJobDtId: stringbooleanReturns whether Site Schedule Career.
OnChangedGameConfigModifierValueInModifierKey: string, InModifierValue: number-Callback invoked on Changed Game Config Modifier Value.
PickCharacterAttributeIdFromConceptInConceptId: string, InAttributeIds: string[]stringPicks 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.
RecordSiteScheduleInSiteSchedule: FB1SiteSchedule-
RegisterDiversityInEntityId: FB1EntityId, InDiversityInfo: FB1DiversityInfo, InGenderDiversityInfo: FB1GenderDiversityInfo-Registers Diversity.
RegisterWaitingCrowdInEntityId: FB1EntityId-Registers Waiting Crowd.
RemoveConceptCharacterInEntityId: FB1EntityId-Removes Concept Character.
RemovePendingDestroyCrowdInEntityId: FB1EntityId-Removes Pending Destroy Crowd.
RemoveReservedShopWorkerTimeTaskInCreateParam: FB1ObjectShopWorkerCreateParam-Removes Reserved Shop Worker Time Task.
RemoveSiteRoleNpcsForSiteInSiteId: string-Removes Site Role Npcs For Site.
ReplaceShopWorkerZoiInObjectEntityId: FB1EntityId-
RequestCreateShopWorkerInCreateParam: FB1ObjectShopWorkerCreateParam-Requests Create Shop Worker.
RequestDespawnShopWorkerInEntityIdList: FB1EntityId[]-Requests Despawn Shop Worker.
RequestFillConceptCharacterInConceptId: 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.
RequestSiteScheduleCustomizeInData: FB1RequestSiteScheduleCustomizeParamFB1EntityId[]Requests Site Schedule Customize.
RequestUpdateSiteScheduleStatListInUpdateStatParamList: FB1RequestUpdateSiteScheduleStatParam[]-Requests Update Site Schedule Stat List.
RequestUpdateSiteScheduleStatOneInUpdateStatParam: FB1RequestUpdateSiteScheduleStatParam-Requests Update Site Schedule Stat One.
RequestUpdateSiteScheduleTimeInUpdateTimeParam: FB1RequestUpdateSiteScheduleTimeParam-Requests Update Site Schedule Time.
RequestUpdateSiteScheduleWorkerInUpdateWorkerParam: FB1RequestUpdateSiteScheduleWorkerParamFB1EntityId[]Requests Update Site Schedule Worker.
RequestUpdateSiteScheduleWorkerAttributeListInUpdateAttributeParamList: FB1RequestUpdateSiteScheduleWorkerAttributeParam[]-Requests Update Site Schedule Worker Attribute List.
RequestUpdateSiteScheduleWorkerAttributeOneInUpdateAttributeParam: FB1RequestUpdateSiteScheduleWorkerAttributeParam-Requests Update Site Schedule Worker Attribute One.
ReserveShopWorkerTaskInCreateParam: FB1ObjectShopWorkerCreateParam, InRequestDay: EB1DayOfWeek-
SetGenderIdentityDiversityEnabled--Sets Gender Identity Diversity Enabled.
StoreDefaultShopWorkerCreateParamInCreateParam: FB1ObjectShopWorkerCreateParam-
UnRegisterDiversityInEntityId: FB1EntityId, InDiversityInfo: FB1DiversityInfo, InGenderDiversityInfo: FB1GenderDiversityInfo-
UnRegisterWaitingCrowdInEntityId: FB1EntityId-
UnregisterCharacterInEntityId: FB1EntityId, InConceptId: string-Unregisters Character.
UpdateDiversityInfoInNewInfo: FB1DiversityPopulationInfo-Updates Diversity Info.

Override points (32)

Implement these in Lua as FB2PopulationSystem.Override_Name = function(...) end.

FunctionParametersReturnsDescription
Override_AlreadyCreatedShopWorkerInEntityId: FB1EntityIdboolean
Override_ApplyDestroyCrowd--Destroys crowds; split out as it moves from 8 o'clock to 9 o'clock.
Override_CanSpawnCrowd-booleanReturns whether it can Spawn Crowd.
Override_CanSpawnNewCharacter-booleanReturns whether it can Spawn New Character.
Override_CheckConceptExpiredInCharacter: FB2CharacterbooleanChecks Concept Expired.
Override_ConceptCharacterDeathInEntityId: FB1EntityId-
Override_CreateShopWorkerNpcInObjectEntityId: FB1EntityIdFB1ObjectShopWorkerCreateParamCreates Shop Worker Npc.
Override_DeleteSiteScheduleInSiteSchedule: FB1SiteSchedule-Deletes Site Schedule.
Override_DestroyShopWorkerZoiInObjectEntityId: FB1EntityId-
Override_FillConceptCharacterInConceptId: string, InAttribute: FB1CharacterAttribute-
Override_OnChangedGameConfigModifierValueInModifierKey: string, InModifierValue: number-Callback invoked on Changed Game Config Modifier Value.
Override_PickCharacterAttributeIdFromConceptInConceptId: string, InAttributeIds: string[]stringPicks 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_RecordSiteScheduleInSiteSchedule: FB1SiteSchedule-
Override_RegisterDiversityInEntityId: FB1EntityId, InDiversityInfo: FB1DiversityInfo, InGenderDiversityInfo: FB1GenderDiversityInfo-Registers Diversity.
Override_RegisterWaitingCrowdInEntityId: FB1EntityId-Registers Waiting Crowd.
Override_RemoveConceptCharacterInEntityId: FB1EntityId-Removes Concept Character.
Override_RemovePendingDestroyCrowdInEntityId: FB1EntityId-Removes Pending Destroy Crowd.
Override_RemoveReservedShopWorkerTimeTaskInCreateParam: FB1ObjectShopWorkerCreateParam-Removes Reserved Shop Worker Time Task.
Override_RemoveSiteRoleNpcsForSiteInSiteId: string-Removes Site Role Npcs For Site.
Override_ReplaceShopWorkerZoiInObjectEntityId: FB1EntityId-
Override_RequestCreateShopWorkerInCreateParam: FB1ObjectShopWorkerCreateParam-Requests Create Shop Worker.
Override_RequestDespawnShopWorkerInEntityIdList: FB1EntityId[]-Requests Despawn Shop Worker.
Override_RequestFillConceptCharacterInConceptId: 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_RequestSiteScheduleCustomizeInData: FB1RequestSiteScheduleCustomizeParamFB1EntityId[]Requests Site Schedule Customize.
Override_RequestUpdateSiteScheduleTimeInUpdateTimeParam: FB1RequestUpdateSiteScheduleTimeParam-Requests Update Site Schedule Time.
Override_RequestUpdateSiteScheduleWorkerInUpdateWorkerParam: FB1RequestUpdateSiteScheduleWorkerParamFB1EntityId[]Requests Update Site Schedule Worker.
Override_ReserveShopWorkerTaskInCreateParam: FB1ObjectShopWorkerCreateParam, InRequestDay: EB1DayOfWeek-
Override_StoreDefaultShopWorkerCreateParamInCreateParam: FB1ObjectShopWorkerCreateParam-
Override_UnRegisterDiversityInEntityId: FB1EntityId, InDiversityInfo: FB1DiversityInfo, InGenderDiversityInfo: FB1GenderDiversityInfo-
Override_UnRegisterWaitingCrowdInEntityId: FB1EntityId-
Override_UnregisterCharacterInEntityId: FB1EntityId, InConceptId: string-Unregisters Character.
Override_UpdateDiversityInfoInNewInfo: FB1DiversityPopulationInfo-Updates Diversity Info.