s2cfgtojson 4.1.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/enums.mts +14 -3
  2. package/package.json +1 -1
  3. package/types.mts +1187 -27
package/enums.mts CHANGED
@@ -76,7 +76,7 @@ export type EAimAssistWeightType = `EAimAssistWeightType::${
76
76
  | "Angle"
77
77
  | "DistanceFromApex"}`;
78
78
 
79
- export type EAmmoCaliber = `EAmmoCaliber::${
79
+ export type Caliber =
80
80
  | "A012"
81
81
  | "A045"
82
82
  | "A545"
@@ -91,7 +91,9 @@ export type EAmmoCaliber = `EAmmoCaliber::${
91
91
  | "AHEDP"
92
92
  | "APG7V"
93
93
  | "AVOG"
94
- | "None"}`;
94
+ | "None";
95
+
96
+ export type EAmmoCaliber = `EAmmoCaliber::${Caliber}`;
95
97
 
96
98
  export type EAmmoType = `EAmmoType::${
97
99
  | "ArmorPiercing"
@@ -1152,7 +1154,7 @@ export type EMarkerType = `EMarkerType::${
1152
1154
  | "Bed"
1153
1155
  | "Guide"
1154
1156
  | "Hub"
1155
- | "Location"
1157
+ | "Location3Axis"
1156
1158
  | "Medic"
1157
1159
  | "None"
1158
1160
  | "PlayerStorage"
@@ -1608,6 +1610,7 @@ export type ERadiationPreset = `ERadiationPreset::${
1608
1610
  | "Strong"
1609
1611
  | "Topaz"}`;
1610
1612
 
1613
+ export type Rank = "Newbie" | "Experienced" | "Veteran" | "Master";
1611
1614
  type Newbie = "ERank::Newbie";
1612
1615
  type Experienced = "ERank::Experienced";
1613
1616
  type Veteran = "ERank::Veteran";
@@ -2096,3 +2099,11 @@ export type EObjBoolParams = `EObjBoolParams::${
2096
2099
  | "IsOffsetAimingEnabled"
2097
2100
  | "IsNightVisionEnabled"
2098
2101
  | "IsDetectorInHands"}`;
2102
+
2103
+ export type ECombatTactics = `ECombatTactics::${"Attack" | "None"}`;
2104
+
2105
+ export type EAgentRankMask = `EAgentRankMask::${
2106
+ | "Experienced"
2107
+ | "Veteran"
2108
+ | "Master"
2109
+ | "All"}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "s2cfgtojson",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "description": "Converts Stalker 2 Cfg file into POJOs",
5
5
  "keywords": [
6
6
  "stalker",
package/types.mts CHANGED
@@ -110,6 +110,23 @@ import {
110
110
  ELairType,
111
111
  EAimAssistPresetType,
112
112
  ESaveSubType,
113
+ ETriggerShape,
114
+ EPillowAnomalyBiomeType,
115
+ EALifeGroupPriorityType,
116
+ ELairPreferredSpawnType,
117
+ ERadiationPreset,
118
+ ECombatTactics,
119
+ EPhysicalMaterialType,
120
+ EAudioRoomPresetBandwidth,
121
+ EArmorScale,
122
+ EItemInfoType,
123
+ ERegion,
124
+ ENiagaraProviderType,
125
+ ELocalizationLanguage,
126
+ ERadiationInnerOffsetPreset,
127
+ EAgentRankMask,
128
+ Caliber,
129
+ Rank,
113
130
  } from "./enums.mts";
114
131
 
115
132
  import { Struct } from "./Struct.mjs";
@@ -1432,7 +1449,7 @@ export type QuestNodePrototype = GetStructType<{
1432
1449
  DialogChainPrototypeSID: string;
1433
1450
  DialogMembers: string[];
1434
1451
  TalkThroughRadio: boolean[];
1435
- DialogObjectLocation: Location[];
1452
+ DialogObjectLocation: Location3Axis[];
1436
1453
  NPCToStartDialog: number;
1437
1454
  StartForcedDialog: boolean;
1438
1455
  WaitAllDialogEndingsToFinish: boolean;
@@ -1546,7 +1563,7 @@ export type QuestNodePrototype = GetStructType<{
1546
1563
  EquipmentItemSID: string;
1547
1564
  TargetFaction: string;
1548
1565
  InteractableQuestGuid: string;
1549
- TargetLocations: Location[];
1566
+ TargetLocations: Location3Axis[];
1550
1567
  VolumeGuid: string;
1551
1568
  ShouldBeKilled: string;
1552
1569
  FullSquad: boolean;
@@ -1556,13 +1573,13 @@ export type QuestNodePrototype = GetStructType<{
1556
1573
  Location: string;
1557
1574
  NewTitle: number;
1558
1575
  NewDescription: number;
1559
- IdlePosition: Location;
1560
- LookAt: Location;
1576
+ IdlePosition: Location3Axis;
1577
+ LookAt: Location3Axis;
1561
1578
  MinimalReputationLevel: ERelationLevel;
1562
- EffectLocation: Location;
1579
+ EffectLocation: Location3Axis;
1563
1580
  EffectPath: string;
1564
1581
  Continue: boolean;
1565
- SoundLocation: Location;
1582
+ SoundLocation: Location3Axis;
1566
1583
  AKEventPath: string;
1567
1584
  MasterAKEventForLoad: string;
1568
1585
  FinishOnAKEvent: boolean;
@@ -1585,7 +1602,7 @@ export type QuestNodePrototype = GetStructType<{
1585
1602
  AbilityPrototypeSID: string;
1586
1603
  SequentialAbilityPriority: number;
1587
1604
  SequentialAbilityModificationMode: EModifyAbilitySequenceQuestNodeMode;
1588
- LookAtLocation: Location;
1605
+ LookAtLocation: Location3Axis;
1589
1606
  Duration: number;
1590
1607
  EnteringDuration: number;
1591
1608
  LookAtActorFName: string;
@@ -1625,8 +1642,8 @@ export type QuestNodePrototype = GetStructType<{
1625
1642
  PDATutorialNoteSID: string;
1626
1643
  TutorialSID: string;
1627
1644
  RequiredInputs: string[];
1628
- ShootingPosition: Location;
1629
- ShootTargetLocation: Location;
1645
+ ShootingPosition: Location3Axis;
1646
+ ShootTargetLocation: Location3Axis;
1630
1647
  ShotsQueueCount: number;
1631
1648
  PostEffectProcessorSID: string;
1632
1649
  PostProcessParamValue: number;
@@ -1646,7 +1663,7 @@ export type QuestNodePrototype = GetStructType<{
1646
1663
  AddToPlayerStash: boolean;
1647
1664
  MovementPose: EAIMovementPose;
1648
1665
  CustomRestPlaceSelection: boolean;
1649
- RestLocation: Location;
1666
+ RestLocation: Location3Axis;
1650
1667
  QuestItemGeneratorSID: string;
1651
1668
  LookAtPlaceholder: string;
1652
1669
  MoveFrom: string;
@@ -1666,7 +1683,7 @@ export type QuestNodePrototype = GetStructType<{
1666
1683
  LeaveAnomalyZoneComments: string;
1667
1684
  ReachPointComments: {
1668
1685
  ReachPointComment: string;
1669
- ReachPointLocation: Location;
1686
+ ReachPointLocation: Location3Axis;
1670
1687
  DialogMembers: string;
1671
1688
  }[];
1672
1689
  TargetMoneyAmount: number;
@@ -1711,7 +1728,7 @@ export type QuestNodePrototype = GetStructType<{
1711
1728
  RestrictedFaction: Record<Faction, ESpaceRestrictionType>;
1712
1729
  NameSID: string;
1713
1730
  MoveToPlayer: boolean;
1714
- TargetLocation: Location;
1731
+ TargetLocation: Location3Axis;
1715
1732
  CustomSleepPlaceSelection: boolean;
1716
1733
  }>;
1717
1734
 
@@ -1870,7 +1887,7 @@ interface IArtifactPrototype extends IItemPrototype {
1870
1887
  Blueprint: string;
1871
1888
  ParticleOnImpact: string;
1872
1889
  FakeArtifactHaloVFX: string;
1873
- ViewOffset: Location;
1890
+ ViewOffset: Location3Axis;
1874
1891
  LocalizationSID: string;
1875
1892
  DamageToStaminaCoefficient: number;
1876
1893
  DamageToWeightCoefficient: number;
@@ -2223,7 +2240,6 @@ export type SpawnActorPrototype = GetStructType<{
2223
2240
  CorpseStashSID: string;
2224
2241
  DeadPose: string;
2225
2242
  AmmoCount: number;
2226
- OverrideFaction: Faction;
2227
2243
  OverrideRank: boolean;
2228
2244
  HP: number;
2229
2245
  DamageMultiplier: number;
@@ -2239,6 +2255,162 @@ export type SpawnActorPrototype = GetStructType<{
2239
2255
  }[];
2240
2256
  RespawnMembers: boolean;
2241
2257
  IsLootedOnDifficulties: string;
2258
+ OverrideFaction: Faction;
2259
+ TriggerShape: ETriggerShape;
2260
+ ContextualActionSID: string;
2261
+ CanInteractWithPlayer: boolean;
2262
+ ContextualActionPreconditions: string;
2263
+ CompoundAnimationReferences: string;
2264
+ AttachReferences: string;
2265
+ InLocationRotation: {
2266
+ Vector: Location3Axis;
2267
+ Rotation: Rotation;
2268
+ }[][];
2269
+ CenterLocationRotation: {
2270
+ Vector: Location3Axis;
2271
+ Rotation: Rotation;
2272
+ }[];
2273
+ GeigerTriggerOffset: number;
2274
+ Radioactivity: ERadiationPreset;
2275
+ PostEffectProcessorSID: string;
2276
+ RadiationCycleSpeedPostEffectSID: string;
2277
+ NavModifierVolume: string;
2278
+ StartPresetID: number;
2279
+ AnomaliesPresets: string[][];
2280
+ EffectPrototypeSIDs: string[];
2281
+ LairPrototypeSID: string;
2282
+ LairType: ELairType;
2283
+ CanBeCaptured: boolean;
2284
+ CanAttack: boolean;
2285
+ CanDefend: boolean;
2286
+ InitialInhabitantFaction: string;
2287
+ ActiveLair: boolean;
2288
+ LairPreferredSpawnType: ELairPreferredSpawnType;
2289
+ Volumes: {
2290
+ Volume: string;
2291
+ ShowMarker: boolean;
2292
+ NumOfContextualActions: number;
2293
+ RestrictorVolume: string;
2294
+ SpaceRestrictorOffset: number;
2295
+ }[] & {
2296
+ LairCoreVolumes: string[];
2297
+ LairTerritoryVolumes: string[];
2298
+ NavModifierVolumes: string[];
2299
+ };
2300
+ RestrictionRadius: number;
2301
+ bRestrictorVolumeEnabled: boolean;
2302
+ MaxSpawnRank: ERank;
2303
+ MinSpawnRank: ERank;
2304
+ CorpsePrototypeSID: string;
2305
+ DecalsMaterialSID: string;
2306
+ ShouldTraceOnOverlap: boolean;
2307
+ BubbleInitialLocation: Location3Axis;
2308
+ ElectroBakedData: {
2309
+ ElectroTraceStartPoint: string;
2310
+ ElectroTraceEndPoint: string;
2311
+ ElectroNormalVector: string;
2312
+ }[];
2313
+ DisableSpawnAndStrafeInThisAnomaly: boolean;
2314
+ OverrideArtifactSpawnLocation: string;
2315
+ bUseCustomLocation: boolean;
2316
+ RestrictedFactions: string[];
2317
+ HubOwnerGuid: string;
2318
+ MarkerSID: string;
2319
+ LockReceivers: string[];
2320
+ UnlockReceivers: string[];
2321
+ CloseDoorRadius: number;
2322
+ UnlockDoorTime: number;
2323
+ PillowAnomalyBiomeType: EPillowAnomalyBiomeType;
2324
+ FreeformTriggerHeight: number;
2325
+ FreeformTriggerVertices: Location2Axis[];
2326
+ ContextualActionAccessibility: number;
2327
+ AllowedUserRestriction: string;
2328
+ IgnoreCollisionActors: string;
2329
+ VolumeSID: string;
2330
+ Priority: number;
2331
+ bForceWeather: boolean;
2332
+ bDisableTickForWeatherController: boolean;
2333
+ PostProcessConfig: string;
2334
+ ScenariosGroupPriority: EALifeGroupPriorityType;
2335
+ ALifeScenariosGroupSID: string;
2336
+ SimplifiedOverlap: boolean;
2337
+ PossibleInhabitantFactions: {
2338
+ Faction: string;
2339
+ SpawnSettingsPerPlayerRanks: Record<
2340
+ Rank,
2341
+ {
2342
+ MaxSpawnQuantity: number;
2343
+ InitialSpawnQuantityPercent: number;
2344
+ InitialSpawnQuantityRespawnTimeSeconds: number;
2345
+ MaxSpawnQuantityRespawnTimeSeconds: number;
2346
+ WipeRespawnTimeoutSeconds: number;
2347
+ SpawnSettingsPerArchetypes: Record<
2348
+ Faction,
2349
+ { MinQuantityPerArchetype: number; SpawnWeight: number }
2350
+ >;
2351
+ }
2352
+ >;
2353
+ }[];
2354
+ RadioactivityValue: number;
2355
+ RadiationPerSecondValue: number;
2356
+ GeigerRadiationIntensity: number;
2357
+ PostProcessRadiationIntensity: number;
2358
+ PostProcessRadiationCycleSpeed: number;
2359
+ ALifeLairsSearchRadius: number;
2360
+ CollisionSize: Location3Axis;
2361
+ LightningBallLiveBoxExtent: Location3Axis;
2362
+ LightningBallPathUsage: boolean;
2363
+ LightningBallNavigationPoints: {
2364
+ LightningBallLocation: string[];
2365
+ LightningBallPatrolPoint: boolean;
2366
+ LightningBallNeighborLocations: number[];
2367
+ }[];
2368
+ ClickerAnomalyArtifactJumpPositions: string;
2369
+ GeigerCurve: string;
2370
+ AllowSpawnInShelter: boolean;
2371
+ StartWaitTime: number;
2372
+ MaximumCount: number;
2373
+ MinPatrolNeed: number;
2374
+ AvrAgentDiameter: number;
2375
+ AllowFactions: string;
2376
+ PatrolPoints: {
2377
+ Location: string;
2378
+ StayTimeMin: number;
2379
+ StayTimeMax: number;
2380
+ bIsEndPoint: boolean;
2381
+ ContextualActionSearchRadius: number;
2382
+ PatrolPointLinks: { DestinationPointIndex: number; Weight: number }[];
2383
+ }[];
2384
+ OnlineModifierDistance: number;
2385
+ GlobalOnlineModifierDistance: number;
2386
+ GlobalOtherOnlineModifierDistance: number;
2387
+ FogDensity: number;
2388
+ FogDensitySecondFogData: number;
2389
+ FogDensitySecond: number;
2390
+ VolumeDailySchedulePresetSID: string;
2391
+ DisableRagdollForQuestProtection: boolean;
2392
+ Path: { Location: string }[];
2393
+ LocationSID: string;
2394
+ MaxRespawnCount: number;
2395
+ InfiniteRespawn: boolean;
2396
+ RespawnOnNPCCount: number;
2397
+ RespawnPoints: string[];
2398
+ NavModifierVolumes: string[];
2399
+ EnableSmartLootIfPossible: boolean;
2400
+ AllowNightVisionForQuestNPC: boolean;
2401
+ CombatTacticsOverride: ECombatTactics;
2402
+ MainInfoTopicOwner: string;
2403
+ KillRestrictedFactions: boolean;
2404
+ Items: {
2405
+ PrototypeSID: string;
2406
+ MinAmount: number;
2407
+ MaxAmount: number;
2408
+ DisablePhysicsAndCollision: boolean;
2409
+ }[];
2410
+ ShowOnMap: boolean;
2411
+ ShowOnCompass: boolean;
2412
+ VolumetricCoverRestrictions: { bEnabled: boolean; Volumes: string };
2413
+ TeleportGroupSID: string;
2242
2414
  }>;
2243
2415
 
2244
2416
  type Faction = string;
@@ -2376,7 +2548,7 @@ export type DialogPoolPrototype = GetStructType<{
2376
2548
  BlendExpForEaseInOut: number;
2377
2549
  NotePrototypeSID: string;
2378
2550
  PlayWhenReceived: boolean;
2379
- SoundLocation: Location;
2551
+ SoundLocation: Location3Axis;
2380
2552
  AKEventPath: string;
2381
2553
  MasterAKEventForLoad: string;
2382
2554
  FinishOnAKEvent: boolean;
@@ -2410,7 +2582,7 @@ export type DialogPoolPrototype = GetStructType<{
2410
2582
  RestrictDeadBodyMovementInteraction: boolean;
2411
2583
  RestrictDeadBodyLootInteraction: boolean;
2412
2584
  RestrictDeadBodyDespawn: boolean;
2413
- LookAtLocation: Location;
2585
+ LookAtLocation: Location3Axis;
2414
2586
  Duration: number;
2415
2587
  EnteringDuration: number;
2416
2588
  LookAtActorFName: string;
@@ -2423,8 +2595,8 @@ export type DialogPoolPrototype = GetStructType<{
2423
2595
  RotationFreemoveEdge: number;
2424
2596
  RotationStopEdge: number;
2425
2597
  PresetName: string;
2426
- ShootingPosition: Location;
2427
- ShootTargetLocation: Location;
2598
+ ShootingPosition: Location3Axis;
2599
+ ShootTargetLocation: Location3Axis;
2428
2600
  ShotsQueueCount: number;
2429
2601
  AIThreatState: number;
2430
2602
  AssetsToLoad: string[];
@@ -2450,7 +2622,7 @@ export type DialogPoolPrototype = GetStructType<{
2450
2622
  }[];
2451
2623
  DialogMembers: string[];
2452
2624
  TalkThroughRadio: boolean[];
2453
- DialogObjectLocation: Location[];
2625
+ DialogObjectLocation: Location3Axis[];
2454
2626
  Conditions: GetStructType<Condition[][]> & {
2455
2627
  ConditionCheckType: EConditionCheckType;
2456
2628
  };
@@ -2491,13 +2663,13 @@ export type Condition = GetStructType<{
2491
2663
  ReactType: ETriggerReact;
2492
2664
  RequiredSquadMembers: ERequiredSquadMembers;
2493
2665
  NumericValue: number;
2494
- TargetPoint: Location;
2666
+ TargetPoint: Location3Axis;
2495
2667
  ItemPrototypeSID: Param;
2496
2668
  ItemsCount: Param;
2497
2669
  WithEquipped: boolean;
2498
2670
  WithInventory: boolean;
2499
2671
  BoolValue: boolean;
2500
- PointToLookAt: Location;
2672
+ PointToLookAt: Location3Axis;
2501
2673
  JournalEntity: EJournalEntity;
2502
2674
  JournalState: EJournalState;
2503
2675
  JournalQuestSID: string;
@@ -2509,11 +2681,16 @@ export type Condition = GetStructType<{
2509
2681
  EmissionPrototypeSID: string;
2510
2682
  }>;
2511
2683
 
2512
- export type Location = GetStructType<{ X: number; Y: number; Z: number }>;
2684
+ export type Location2Axis = GetStructType<{ X: number; Y: number }>;
2685
+
2686
+ export type Location3Axis = Location2Axis & GetStructType<{ Z: number }>;
2513
2687
 
2514
- export type LocationAndRotation = GetStructType<
2515
- Location & { Pitch: number; Yaw: number; Roll: number }
2516
- >;
2688
+ export type Rotation = GetStructType<{
2689
+ Pitch: number;
2690
+ Yaw: number;
2691
+ Roll: number;
2692
+ }>;
2693
+ export type LocationAndRotation = Location3Axis & Rotation;
2517
2694
 
2518
2695
  export type Param = GetStructType<{
2519
2696
  VariableType: EGlobalVariableType;
@@ -2653,7 +2830,7 @@ export type LairPrototype = GetStructType<{
2653
2830
  {
2654
2831
  Faction: Faction;
2655
2832
  SpawnSettingsPerPlayerRanks: Record<
2656
- "Newbie" | "Experienced" | "Veteran" | "Master",
2833
+ Rank,
2657
2834
  {
2658
2835
  MaxSpawnQuantity: number;
2659
2836
  InitialSpawnQuantityPercent: number;
@@ -2661,7 +2838,7 @@ export type LairPrototype = GetStructType<{
2661
2838
  MaxSpawnQuantityRespawnTimeSeconds: number;
2662
2839
  WipeRespawnTimeoutSeconds: number;
2663
2840
  SpawnSettingsPerArchetypes: Record<
2664
- string,
2841
+ Faction,
2665
2842
  { MinQuantityPerArchetype: number; SpawnWeight: number }
2666
2843
  >;
2667
2844
  }
@@ -2681,3 +2858,986 @@ export type LairPrototype = GetStructType<{
2681
2858
  GameTimeOfflineToRerollLairData: number;
2682
2859
  };
2683
2860
  }>;
2861
+
2862
+ export type AIGlobal = GetStructType<{
2863
+ MaxHideWeaponWarningFollowDistance: number;
2864
+ HideWeaponWarningBarkDelay: number;
2865
+ FlashlightTimeOfDayOn: number;
2866
+ FlashlightTimeOfDayOff: number;
2867
+ FlashlightInteractDuration: number;
2868
+ PreyLighterOnVisibilityCoef: number;
2869
+ PreyLighterOffVisibilityCoef: number;
2870
+ MinALifeSpawnDistance: number;
2871
+ MinALifeDespawnDistance: number;
2872
+ MaxAgentsCount: number;
2873
+ DistanceToSwitchToWalkIn: number;
2874
+ DistanceToSwitchToWalkOut: number;
2875
+ ForceRunInsteadSprintDistanceFromPathStart: number;
2876
+ ForceRunInsteadSprintDistanceToPathEnd: number;
2877
+ ForceRunInsteadSprintDistanceToNextPortal: number;
2878
+ ForceRunInsteadSprintPortalRotationAngleThreshold: number;
2879
+ TimeToSkipLairPeacefulSpawnAfterMemberDies: number;
2880
+ OfflineUsingGameGraphMoveFactor: number;
2881
+ AllowCorpseProcessForQuestAgent: boolean;
2882
+ DeadBodyToConsiderAsThreatDuration: number;
2883
+ WeaponLootDistance: number;
2884
+ AllowWeaponPickupWhenLooting: boolean;
2885
+ AllowWeaponPickupBasedOnPrice: boolean;
2886
+ CorpseBehaviorFactionRestrictions: string[];
2887
+ HearingSensorSettings: {
2888
+ NonEnemySoundHearingCoef: number;
2889
+ SoundVisionValidationThreshold: number;
2890
+ };
2891
+ TouchSensorSettings: {
2892
+ TouchDistanceThreshold: number;
2893
+ TouchNonEnemyPlayerLookAtTime: number;
2894
+ TouchNonEnemyPlayerReactionTime: number;
2895
+ TouchSensorCooldown: number;
2896
+ };
2897
+ WeatherSettings: {
2898
+ WeatherSID: string;
2899
+ VisibilityCoef: number;
2900
+ HearingDistanceCoef: number;
2901
+ FlairCoef: number;
2902
+ }[];
2903
+ PlayerFlashlightVisionSettings: {
2904
+ FlashlightVisionConeLength: number;
2905
+ FlashlightVisionConeHalfAngle: number;
2906
+ FlashlightMinVisionScorePerSecond: number;
2907
+ FlashlightMaxVisionScorePerSecond: number;
2908
+ NumTracePointsPerVisionUpdate: number;
2909
+ };
2910
+ LuminanceSettings: {
2911
+ BaseLuminance: number;
2912
+ MinAmbientLuminanceToSkipTraces: number;
2913
+ MaxLightGatheringRadius: number;
2914
+ LightSourceLuminanceMultiplier: number;
2915
+ MaxLuminanceTracesPerUpdate: number;
2916
+ MaxLuminanceAgentProcessPerUpdate: number;
2917
+ LightLuminanceByTimeOfDayCurve: string;
2918
+ ShadowLuminanceByTimeOfDayCurve: string;
2919
+ ShadowOffsetByTimeOfDayCurve: string;
2920
+ EnvironmentLuminanceCoefficients: {
2921
+ WeatherLuminanceCoefficients: {
2922
+ WeatherType: EWeather;
2923
+ Coefficient: number;
2924
+ }[];
2925
+ RoomBaseCoefficients: {
2926
+ RoomType: EAudioRoomPresetBandwidth;
2927
+ Coefficient: number;
2928
+ }[];
2929
+ TimeOfDayBaseLuminance: {
2930
+ TimeFrom: number;
2931
+ TimeTill: number;
2932
+ Luminance: number;
2933
+ }[];
2934
+ };
2935
+ };
2936
+ FlashlightUseSettings: {
2937
+ FlashlightUseLuminanceThresholdDayOn: number;
2938
+ FlashlightUseLuminanceThresholdDayOff: number;
2939
+ MaxFlashlightsUsedSimultaneously: number;
2940
+ MaxFlashlightUseTracesPerUpdate: number;
2941
+ MaxFlashlightAgentProcessPerUpdate: number;
2942
+ FlashlightMeshDespawnDelay: number;
2943
+ FlashlightMeshDespawnPlayerCameraFOVDistance: number;
2944
+ FlashlightMeshDespawnNPCToCameraAngleThreshold: number;
2945
+ FlashlightMinStateTime: number;
2946
+ FlashlightUseTracePoints: { RelativeLocation: Location3Axis }[];
2947
+ };
2948
+ CharacterPoseSettings: {
2949
+ Pose: EStateTag;
2950
+ VisibilityCoef: number;
2951
+ NoiseCoef: number;
2952
+ }[];
2953
+ PhysMatSettings: {
2954
+ MaterialType: EPhysicalMaterialType;
2955
+ CharacterNoiseCoef: number;
2956
+ }[];
2957
+ MaterialTranslucencyList: {
2958
+ Translucency: number;
2959
+ Materials: { SID: string }[];
2960
+ }[];
2961
+ CoverSettings: {
2962
+ MinGenericCoverHeight: number;
2963
+ MinBehindTreeCoverHeight: number;
2964
+ MinLowCoverHeight: number;
2965
+ MinHighCoverHeight: number;
2966
+ MinSmartWidth: number;
2967
+ MinGenericCoverWidth: number;
2968
+ };
2969
+ FocusLocationSelectionSettings: {
2970
+ FocusLocationStartLookingEarlyOffset: number;
2971
+ };
2972
+ ReactionOnEmissionSettings: {
2973
+ DistanceToShelterToWalk: number;
2974
+ MinCoveredDistanceToChangeMovementType: number;
2975
+ DistanceToAvoidPreparingForEmission: number;
2976
+ InvulnerableAfterEmissionStart: number;
2977
+ ReceivedDamageToEnterCombatDuringEmission: number;
2978
+ ReceivedDamageTimeToEnterCombatDuringEmission: number;
2979
+ TransitionAlphaToPrepareForEmission: number;
2980
+ SheltersSearchDistance: number;
2981
+ };
2982
+ ContextualActionSettings: {
2983
+ ContextualActionSearchDistance: number;
2984
+ ContextualActionSearchFriendDistance: number;
2985
+ ContextualActionGameGraphPathActuationDistance: number;
2986
+ ContextualActionInterruptAnimationScaleWhenThreatened: number;
2987
+ DistanceToHideWeaponBeforeContextualAction: number;
2988
+ DistanceToEquipWeaponBeforeContextualAction: number;
2989
+ DistanceToTurnOffFlashlightBeforeContextualActionSquared: number;
2990
+ DistanceToTurnOnFlashlightBeforeContextualActionSquared: number;
2991
+ };
2992
+ SoundEventTypeSpreadSpeedList: {};
2993
+ AudioRoomLoudnessMultiplierList: {
2994
+ Type: EAudioRoomPresetBandwidth;
2995
+ LoudnessMultiplier: number;
2996
+ }[];
2997
+ WeaponAttachmentsModifiersList: {
2998
+ WeaponAttachmentSID: string;
2999
+ HearingDistanceModifier: number;
3000
+ ThreatPointsMultiplier: number;
3001
+ }[];
3002
+ AnomalyRestrictionsSettings: {
3003
+ AnomalyRestrictionsUpdateIntervalSeconds: number;
3004
+ AnomalyRestrictionsIgnoreChanceZombie: number;
3005
+ };
3006
+ ThreatsSettings: {
3007
+ ThreatReportDelaySeconds: number;
3008
+ EnemyReportDelaySeconds: number;
3009
+ LootingCorpsesDeathTimeInterval: number;
3010
+ CorpseSmellAfterDeathTimeout: number;
3011
+ FlairIdentifyAsEnemyOutsideFrontZoneMultiplier: number;
3012
+ };
3013
+ DangerAreaSettings: {
3014
+ DangerAreaRadius: number;
3015
+ DangerAreaLifetimeSeconds: number;
3016
+ DangerAreaLifetimeDistance: number;
3017
+ DangerAreaCostMultiplier: number;
3018
+ DangerAreaOverlapsForRestriction: number;
3019
+ DangerAreaPlayerDamageAccumulationSeconds: number;
3020
+ DangerAreaMaxNum: number;
3021
+ };
3022
+ ALifeSettings: {
3023
+ OfflineCombatAreaLifetimeSeconds: number;
3024
+ };
3025
+ ThrowGrenadeSettings: {
3026
+ AvailableGrenadesPerFaction: Record<Faction, Record<Rank, number>>;
3027
+ };
3028
+ CombatTacticsSettings: {
3029
+ CombatTacticsParamsPerFactions: Record<
3030
+ Faction,
3031
+ {
3032
+ UpdateIntervalSecondsMin: number;
3033
+ UpdateIntervalSecondsMax: number;
3034
+ ChangeChance: number;
3035
+ ConfidenceToAttack: number;
3036
+ ConfidenceToRetreat: number;
3037
+ }
3038
+ >;
3039
+ };
3040
+ RegionRank: {
3041
+ Region: ERegion;
3042
+ MinRank: ERank;
3043
+ MaxRank: ERank;
3044
+ }[];
3045
+ MutantCorpseProcessFactionPerRank: {
3046
+ Faction: string;
3047
+ AllowedRanks: EAgentRankMask[];
3048
+ }[];
3049
+ SID: string;
3050
+ }>;
3051
+
3052
+ export type CoreVariable = GetStructType<{
3053
+ LaunchConfig: string;
3054
+ ALifeGridUpdateDelay: number;
3055
+ ALifeGridVisionRadius: number;
3056
+ SimulatePhysicsDistance: number;
3057
+ GenericModelGridVisionRadius: number;
3058
+ AgentSpawnNavMeshQueryDistance: number;
3059
+ bALifeTick: boolean;
3060
+ CorpseTimeout: number;
3061
+ PsyNPCCorpseTimeout: number;
3062
+ FaustCloneCorpseTimeout: number;
3063
+ FaustCloneCountCap: number;
3064
+ LairSearchingRadius: number;
3065
+ StartYear: number;
3066
+ StartMonth: number;
3067
+ StartDay: number;
3068
+ StartHour: number;
3069
+ StartMinute: number;
3070
+ StartSecond: number;
3071
+ ItemSelectorTimeDilationCoefficient: number;
3072
+ SkyLightUpdateDeltaTime: number;
3073
+ RealToGameTimeCoef: number;
3074
+ MaxRecoilPitchDifference: number;
3075
+ WorldMapActualWidth: number;
3076
+ WorldMapActualHeight: number;
3077
+ ParticleTraceLength: number;
3078
+ NewDLCPopupDisplayTime: number;
3079
+ ArmorDifferenceCoef: number;
3080
+ IdleSwayInterpolationSpeed: number;
3081
+ StaminaRegenStateCoefs: {
3082
+ StateTag: EStateTag;
3083
+ Value: number;
3084
+ }[];
3085
+ SlowRunThreshold: number;
3086
+ WoundedHealHoldInteractTime: number;
3087
+ WoundedStateHealthRegen: number;
3088
+ DelayBetweenMoaning: number;
3089
+ ChanceToGetHealOverTimeWhenWounded: number;
3090
+ HpThresholdToHealWound: number;
3091
+ CooldownOnFallingWounded: number;
3092
+ UnkillableNPCWoundedStateResurrectionTime: number;
3093
+ BoneToHitAreaMap: {
3094
+ Head: string[];
3095
+ Torso: string[];
3096
+ Legs: string[];
3097
+ };
3098
+ DamageInteractVFXs: {
3099
+ Burn: {
3100
+ VFXPath: string;
3101
+ VFXLifeTime: number;
3102
+ };
3103
+ Shock: {
3104
+ VFXPath: string;
3105
+ VFXLifeTime: number;
3106
+ };
3107
+ ChemicalBurn: {
3108
+ VFXPath: string;
3109
+ VFXLifeTime: number;
3110
+ };
3111
+ SteamBurn: {
3112
+ VFXPath: string;
3113
+ VFXLifeTime: number;
3114
+ };
3115
+ };
3116
+ PossessedWeaponFireIntervals: Record<Caliber, { FireInterval: number }>;
3117
+ RainImpactParticle: string;
3118
+ WeatherTimeCoefficientCurvePath: string;
3119
+ SystemNotificationSpecificReward: string;
3120
+ WoundHitAreasThresholds: {
3121
+ Head: number;
3122
+ Torso: number;
3123
+ Legs: number;
3124
+ Default: number;
3125
+ };
3126
+ WoundCausingDamageSourceTypes: EDamageSource[];
3127
+ BoltSkeletalMeshes: string[];
3128
+ BoltStaticMeshes: string[];
3129
+ EffectsRemovedOnHealWounded: string[];
3130
+ EffectsOnDestructWindowApplied: string[];
3131
+ HoldPreventFromDefaultInteractionPercent: number;
3132
+ InventorySPDrainCoef: number;
3133
+ InventorySPOverweightDrainCoef: number;
3134
+ InventoryPenaltyLessWeight: number;
3135
+ bAutoEquipArtifacts: boolean;
3136
+ MediumEffectStartUI: number;
3137
+ CriticalEffectStartUI: number;
3138
+ BoltPrototypeSID: string;
3139
+ KnifePrototypeSID: string;
3140
+ ItemDropHeight: number;
3141
+ UntouchedDespawnItemTime: number;
3142
+ DespawnItemTime: number;
3143
+ WeaponDropForce: number;
3144
+ ItemDropDistance: number;
3145
+ VitalBaseBleedingValue: number;
3146
+ VitalMaxPoppyFieldSleepiness: number;
3147
+ VitalMaxPsyPoints: number;
3148
+ VitalPsyTickTime: number;
3149
+ StaminaFallingDamageCoef: number;
3150
+ LimpEffectSIDToThresholdMap: {
3151
+ EffectSID: string;
3152
+ Threshold: number;
3153
+ }[];
3154
+ DialogLookAtConstraint: number;
3155
+ DialogDistance: number;
3156
+ RadiusWithAmountOfActorWithSimulation: number;
3157
+ ThreatConfidenceDropToZeroDeviation: number;
3158
+ StartCombatCooldown: number;
3159
+ StartThreatCooldown: number;
3160
+ MinDeadThreatForgetTime: number;
3161
+ MaxDeadThreatForgetTime: number;
3162
+ GuitarPlayThreatLoudness: number;
3163
+ ObjPhysicsHitTimeDelay: number;
3164
+ ObjPhysicsHitSqareMinVelocity: number;
3165
+ WaterParticleMinInterval: number;
3166
+ ViewPitchUpLimit: number;
3167
+ ViewPitchDownLimit: number;
3168
+ ClimbViewYawLimit: number;
3169
+ ClimbViewPitchLimit: number;
3170
+ ClimbUpSpeed: number;
3171
+ ClimbDownSpeed: number;
3172
+ ClimbEnterUpSpeed: number;
3173
+ ClimbEnterDownSpeed: number;
3174
+ ClimbExitUpSpeed: number;
3175
+ ClimbFastAscendingSpeedScale: number;
3176
+ ClimbMediumAscendingSpeedScale: number;
3177
+ JumpFromLadderRepulseForce: number;
3178
+ LadderEnterUpZOffset: number;
3179
+ LadderEnterUpXOffset: number;
3180
+ CheckCombatStateInterval: number;
3181
+ HPThresholdToKill: number;
3182
+ LastBulletStartScalingPlayerHPPercent: number;
3183
+ LastBulletBaseDamageMultiplier: number;
3184
+ ItemCostMinPercent: number;
3185
+ BaseRepairCostModifier: number;
3186
+ ReputationRepairCostModifiers: {
3187
+ RelationLevel: ERelationLevel;
3188
+ Modifier: number;
3189
+ }[];
3190
+ MinimalSubtitlesDuration: number;
3191
+ MaxSubtitlesRange: number;
3192
+ RadioRange: number;
3193
+ StrikeGrenadeResistCoefs: {
3194
+ ProtectionStrike: number;
3195
+ GrenadeDamageResist: number;
3196
+ }[];
3197
+ ThrowGrenadePathMaxTime: number;
3198
+ ThrowGrenadePathSimFrequency: number;
3199
+ MovementVFXFootStepDecalLifetime: number;
3200
+ FootstepsDecalFadeOutTime: number;
3201
+ MovementVFXArmorScale: {
3202
+ ArmorScale: EArmorScale;
3203
+ ArmorProtectionValue: number;
3204
+ }[];
3205
+ DestructibleNoiseTimeout: number;
3206
+ NoiseIndicatorMaxHearingDistance: number;
3207
+ LightningBallAnomalyAppearanceTime: number;
3208
+ FOVDefault: number;
3209
+ CutsceneFOVDefault: number;
3210
+ DialogFOVDefault: number;
3211
+ DialogDofMaxFocusDistance: number;
3212
+ DialogDepthOfFieldFstop: number;
3213
+ DialogDepthOfFieldSensorWidth: number;
3214
+ HandlessFOVAimModifier: number;
3215
+ BaseTurnRate: number;
3216
+ BaseLookUpRate: number;
3217
+ BaseActorHeight: number;
3218
+ MaxInteractionDistance: number;
3219
+ NarrowTraceInteractionRadius: number;
3220
+ WideTraceInteractionDistance: number;
3221
+ WideTraceInteractionRadius: number;
3222
+ InteractionDotsTraceRadius: number;
3223
+ InteractionDotsInnerConeAngle: number;
3224
+ InteractionDotsOuterConeAngle: number;
3225
+ MaxNumberOfVisibleInteractionDots: number;
3226
+ AutoInteractionDistance: number;
3227
+ ItemContainerInteractRange: number;
3228
+ MutantLootContainerInteractRange: number;
3229
+ DragDeadBodyInteractRange: number;
3230
+ PutDeadBodyDistance: number;
3231
+ DeadBodyPickUpTime: number;
3232
+ DeadBodyStaminaJumpMultiplier: number;
3233
+ DeadBodyDragAnimationRagdollTransitionSpeed: number;
3234
+ DeadBodyInvalidationTime: number;
3235
+ DraggingCorpseSpeedCoef: number;
3236
+ CorpseOfflineSquaredDistance: number;
3237
+ CorpseOfflineTimeConditionSquaredDistance: number;
3238
+ CorpseOfflineCountConditionSquaredDistance: number;
3239
+ CorpseConditionOnlineCount: number;
3240
+ CorpseOnlineTime: number;
3241
+ CorpseLootedOnlineTime: number;
3242
+ CorpseSeenOnlineTime: number;
3243
+ CorpseALifeOnlineTime: number;
3244
+ CorpseDespawnToOfflineTimeCoef: number;
3245
+ CorpseOffscreenLifetime: number;
3246
+ CorpseRagdollQuestProtectionCheckTime: number;
3247
+ CorpseRagdollQuestProtectionEnableTime: number;
3248
+ DistanceToDestroyCorpsesIfOverpopulated: number;
3249
+ AlifeCorpsesHardcap: number;
3250
+ MutantLootAnimCollection: string;
3251
+ MutantLootAnimCollectionWithoutWidget: string;
3252
+ UseMutantLootWithoutWidget: boolean;
3253
+ MutantLootParams: {
3254
+ AgentType: EAgentType;
3255
+ CutRadiusModifier: number;
3256
+ CutDecalBoneName: string;
3257
+ }[];
3258
+ MutantLootInteractHeightMin: number;
3259
+ MutantLootInteractHeightMax: number;
3260
+ ArtifactStrafeMinDistance: number;
3261
+ ItemCollisionEnableDelay: number;
3262
+ ActorCrouchHeight: number;
3263
+ PlayerPrototypeSID: string;
3264
+ DefaultItemGeneratorTemplate: string;
3265
+ PlayerStartingCoords: Location3Axis;
3266
+ BleedingTimer: number;
3267
+ BleedingTimerDrop: number;
3268
+ BleedingChanceNonPenetrationMod: number;
3269
+ BleedingPointsNonPenetrationMod: number;
3270
+ BleedingChanceStackMaxSize: number;
3271
+ CriticalDamageSoundCooldown: number;
3272
+ CriticalShotDamageSound: string;
3273
+ MaxFallingVelocity: number;
3274
+ MinFallingVelocity: number;
3275
+ ClampedMaxFallingVelocity: number;
3276
+ ClampedMinFallingVelocity: number;
3277
+ MaxFallHeight: number;
3278
+ IKTraceDistance: number;
3279
+ ThrowSpeedMultiplierMin: number;
3280
+ ThrowSpeedMultiplierMax: number;
3281
+ DeltaShiftStartThrowPosition: number;
3282
+ TorqueOfThrowingItem: number;
3283
+ BoltLifetime: number;
3284
+ MaxPostProcessCount: number;
3285
+ InfotopicRefreshHours: number;
3286
+ MarkerShowingDistance: number;
3287
+ MarkerExploringDistance: number;
3288
+ MarkerRevealingDistance: number;
3289
+ bEnableDisassembleUI: boolean;
3290
+ bEnableHideInformationUI: boolean;
3291
+ AgentsDecalsPoolSize: number;
3292
+ MeshesDecalsPoolSize: number;
3293
+ CorpsesDecalsPoolSize: number;
3294
+ FootStepsDecalsPoolSize: number;
3295
+ bStartWithMenu: boolean;
3296
+ MaxDialogActionsCount: number;
3297
+ CommentRange: number;
3298
+ AttentionConeAngle: number;
3299
+ UIFloatPrecision: number;
3300
+ DurabilityRound: number;
3301
+ LowDurabilityThreshold: number;
3302
+ bShouldSaveDefaultLanguage: boolean;
3303
+ DefaultSaveLanguage: ELocalizationLanguage;
3304
+ bEnableWaterElement: boolean;
3305
+ RadiusSearchTargetToLook: number;
3306
+ RadiusSearchPlaceToSit: number;
3307
+ TargetToLookViewingAngle: number;
3308
+ PermissibleAngleOfRotation: number;
3309
+ MaxAngleOfRotation: number;
3310
+ WaitingTimeToRotationCamera: number;
3311
+ TimeComeBackRotation: number;
3312
+ CoefTimeForInterp: number;
3313
+ SignalStrength: number[];
3314
+ ProjectileGaranteedVFXSpawnDistance: number;
3315
+ ProjectileMaxVFXSpawnDistance: number;
3316
+ ProjectileDecalLifeSpan: number;
3317
+ ProjectileDecalLifeSpanOnCorpse: number;
3318
+ ProjectileDecalMaxSaveCountOnCorpse: number;
3319
+ ProjectileDecalFadeOutTime: number;
3320
+ ProjectileExplosionOffset: number;
3321
+ ImpactParticleVFXCritName: string;
3322
+ ImpactParticleVFXSizeName: string;
3323
+ ImpactParticleVFXSpreadName: string;
3324
+ ImpactParticleVFXHeadshotName: string;
3325
+ ImpactParticleVFXNpcSizeName: string;
3326
+ FleshIshPhysicalMaterials: EPhysicalMaterialType[];
3327
+ DefaultMouseSensitivityModifier: number;
3328
+ LowerRightLocation: Location2Axis;
3329
+ UpperLeftLocation: Location2Axis;
3330
+ DefaultMapSize: Location2Axis;
3331
+ MinHeightToShowMarkerHeightIndicatorAbove: number;
3332
+ MinHeightToShowMarkerHeightIndicatorBelow: number;
3333
+ CalmDamageFromPlayerCoef: number;
3334
+ ArmorDeflectDamageCoefHuman: number;
3335
+ ArmorDeflectDamageCoefMutant: number;
3336
+ ArmorDeflectMinChance: number;
3337
+ ArmorDeflectMaxChance: number;
3338
+ ExplosionArmorDifferenceCoef: number;
3339
+ PlayerMeleeArmorDifferenceCoef: number;
3340
+ StrikeAnomalyArmorDifferenceCoef: number;
3341
+ AccumulateNPCToPlayerDamageSeconds: number;
3342
+ DeferredDeathMaxTime: number;
3343
+ PlayerStartingMoney: number;
3344
+ InhaleExhaleTime: number;
3345
+ InhaleExhaleTimeMin: number;
3346
+ InhaleExhaleTimeMax: number;
3347
+ TraceCheckLengthOnSpawn: number;
3348
+ MinDistanceToFloorOnSpawn: number;
3349
+ MaxTimeSpentOnLoading: number;
3350
+ bStartWithLoadedWeapon: boolean;
3351
+ DisassemblyWeaponDurabilityRangeMin: number;
3352
+ DisassemblyWeaponDurabilityRangeMax: number;
3353
+ ItemDurabilityStackDifference: number;
3354
+ EmissionNeutralityTimer: number;
3355
+ EmissionStartLocation: Location2Axis;
3356
+ DegenSuppressionDelayTimeSeconds: number;
3357
+ ObjRadiationSphereMinRadius: number;
3358
+ ObjRadiationSphereMaxRadius: number;
3359
+ RadiationCurveIconAnim: string;
3360
+ RadiationPostEffectSID: string;
3361
+ RadiationPresetValues: {
3362
+ Preset: ERadiationPreset;
3363
+ RadioactivityValue: number;
3364
+ RadiationPerSecondValue: number;
3365
+ GeigerRadiationIntensity: number;
3366
+ PostProcessRadiationIntensity: number;
3367
+ }[];
3368
+ RadiationInnerOffsetPresetValues: {
3369
+ Preset: ERadiationInnerOffsetPreset;
3370
+ Value: number;
3371
+ }[];
3372
+ WeightAzimuthArrayPsyPhantom: {
3373
+ MinAngle: number;
3374
+ MaxAngle: number;
3375
+ Weight: number;
3376
+ }[];
3377
+ PlacesOfInterest: ({ SID: number } & Location3Axis)[];
3378
+ GameMusicEvent: string;
3379
+ RegionAmbientState: string;
3380
+ LocationAmbientState: string;
3381
+ NoMusicAmbientState: string;
3382
+ MusicVolumeSlider: string;
3383
+ CombatStateAction: string;
3384
+ CombatStateActionEnd: string;
3385
+ DefaultState: string;
3386
+ FastbackState: string;
3387
+ PlayVideoState: string;
3388
+ PlayerDeathState: string;
3389
+ IdleState: string;
3390
+ MainMenuState: string;
3391
+ FirstTimeSettingsState: string;
3392
+ FullDynamicRangeState: string;
3393
+ MediumDynamicRangeState: string;
3394
+ NarrowDynamicRangeState: string;
3395
+ MusicManagerCombatScoreThreshold: number;
3396
+ MusicManagerCombatEnemyAttackActionLifetimeSeconds: number;
3397
+ MPC_FOV: string;
3398
+ MPC_PPM: string;
3399
+ MPC_Foliage: string;
3400
+ MPC_Environment: string;
3401
+ GaussGunHit: string;
3402
+ GaussGunTrace: string;
3403
+ GaussGunReload: string;
3404
+ GeigerSFXStart: string;
3405
+ GeigerSFXStop: string;
3406
+ GeigerCurve: string;
3407
+ RadioactivityParameter: string;
3408
+ EnergeticOveruseParameter: string;
3409
+ PauseMenuOn_SFX: string;
3410
+ PauseMenuOff_SFX: string;
3411
+ MarkerSettingsAsset: string;
3412
+ LootNPCDeadBodySound: string;
3413
+ LootMutantDeadBodySound: string;
3414
+ GameLoadingScreenStart: string;
3415
+ GameLoadingScreenStop: string;
3416
+ WorldMapTexture: string;
3417
+ WorldMapRegionTexture: string;
3418
+ LevelTreesCollection: string;
3419
+ BoltBlueprint: string;
3420
+ BP_DeveloperSpectator: string;
3421
+ StaticItemContainer: string;
3422
+ SkeletalItemContainer: string;
3423
+ KnifeAnimationBlueprint: string;
3424
+ BoltAnimationBlueprint: string;
3425
+ PDAAnimationBlueprint: string;
3426
+ LandPredictionAlphaCurve: string;
3427
+ LadderEnterCurve: string;
3428
+ DefaultLeverCurve: string;
3429
+ DefaultLeverCurveReverse: string;
3430
+ AimingWeaponDirtCurve: string;
3431
+ ToggleButtonCurve: string;
3432
+ DeadZonesConfig: string;
3433
+ MoveGamepadInputCurve: string;
3434
+ LookUpGamepadInputCurve: string;
3435
+ PathToInputActionAssets: string;
3436
+ PathToInputCurveAssets: string;
3437
+ MoveGamepadInputCurves: string[];
3438
+ LookGamepadInputCurves: string[];
3439
+ KnifeSkeletal: string;
3440
+ GuitarSkeletal: string;
3441
+ WaterElementWidgetClass: string;
3442
+ MainMenuWidgetClass: string;
3443
+ RightClickMenuWidgetClass: string;
3444
+ PDAClass: string;
3445
+ InventoryWidgetClass: string;
3446
+ InteractWidgetClass: string;
3447
+ InteractDotsWidgetClass: string;
3448
+ DebugHUDWidgetClass: string;
3449
+ ItemSelectorClass: string;
3450
+ FastDialogClass: string;
3451
+ ImportantDialogClass: string;
3452
+ DialogWidgetClass: string;
3453
+ SubtitleClass: string;
3454
+ SkipHintClass: string;
3455
+ FadeoutScreenWidgetClass: string;
3456
+ GamePauseMenuClass: string;
3457
+ SleepWidgetClass: string;
3458
+ TradeWidgetClass: string;
3459
+ UpgradesWidgetClass: string;
3460
+ HUDWidgetClass: string;
3461
+ UpgradeWidgetClass: string;
3462
+ UpgradeTooltipWidgetClass: string;
3463
+ MarkerWorldMapWidgetClass: string;
3464
+ MarkerCompassWidgetClass: string;
3465
+ ThreatPointerWidgetClass: string;
3466
+ WorldMapScene: string;
3467
+ WorldMapRegionMarkerClass: string;
3468
+ WorldMapLocationMarkerClass: string;
3469
+ WorldMapHubMarkerClass: string;
3470
+ PlayVideoWidgetClass: string;
3471
+ FinalCreditsWithVideoClass: string;
3472
+ AutonomicTutorialWidgetClass: string;
3473
+ ReferenceTutorialWidgetClass: string;
3474
+ ReferenceTutorialLeftWidgetClass: string;
3475
+ SplashTutorialWidgetClass: string;
3476
+ NewDLCPopupWidgetClass: string;
3477
+ MeshSoundPlacerDataTable: string;
3478
+ BodyExplodeParticle: string;
3479
+ DoorBlueprint: string;
3480
+ PopupViewClass: string;
3481
+ PopupClass: string;
3482
+ DemoPopupClass: string;
3483
+ UpdatePopupClass: string;
3484
+ RestoreBackupClass: string;
3485
+ LoadingScreenWidgetClass: string;
3486
+ VideoLoadingScreenWidgetClass: string;
3487
+ DefaultTimedLoadingScreenWidgetClass: string;
3488
+ WhiteBridgeLoadingScreenWidgetClass: string;
3489
+ TeleportLoadingScreenWidgetClass: string;
3490
+ InspectArtifactWidgetClass: string;
3491
+ GuitarPlayWidgetClass: string;
3492
+ BackgroundBlurViewClass: string;
3493
+ DetectorMPC: string;
3494
+ StaticParticlesDataTable: string;
3495
+ DynamicParticlesDataTable: string;
3496
+ EmissionCrowsFallFX: string;
3497
+ BoltCrosshairType: ECrosshairType;
3498
+ DefaultSurfaceMaterial: string;
3499
+ DirtSurfaceMaterial: string;
3500
+ GrassSurfaceMaterial: string;
3501
+ BrickSurfaceMaterial: string;
3502
+ GlassSurfaceMaterial: string;
3503
+ SandSurfaceMaterial: string;
3504
+ RockSurfaceMaterial: string;
3505
+ AsphaltSurfaceMaterial: string;
3506
+ ClothSurfaceMaterial: string;
3507
+ LeatherSurfaceMaterial: string;
3508
+ RubberSurfaceMaterial: string;
3509
+ PaperSurfaceMaterial: string;
3510
+ PlasticSurfaceMaterial: string;
3511
+ FleshSurfaceMaterial: string;
3512
+ FleshClothSurfaceMaterial: string;
3513
+ FleshMetalSurfaceMaterial: string;
3514
+ FleshRubberSurfaceMaterial: string;
3515
+ WoodThinSurfaceMaterial: string;
3516
+ WoodSolidSurfaceMaterial: string;
3517
+ MetalThinSurfaceMaterial: string;
3518
+ MetalSolidSurfaceMaterial: string;
3519
+ MetalGridSurfaceMaterial: string;
3520
+ SlateSurfaceMaterial: string;
3521
+ WaterSurfaceMaterial: string;
3522
+ ChemicalSurfaceMaterial: string;
3523
+ BreadSurfaceMaterial: string;
3524
+ MeatSurfaceMaterial: string;
3525
+ VegetableSurfaceMaterial: string;
3526
+ TreeSurfaceMaterial: string;
3527
+ ForestGrassSurfaceMaterial: string;
3528
+ PuddleSurfaceMaterial: string;
3529
+ GravelSurfaceMaterial: string;
3530
+ BrokenGlassSurfaceMaterial: string;
3531
+ GroundSurfaceMaterial: string;
3532
+ AirPoltergeistSurfaceMaterial: string;
3533
+ TreeNoParticlesSurfaceMaterial: string;
3534
+ GlassNoParticlesSurfaceMaterial: string;
3535
+ BoneSurfaceMaterial: string;
3536
+ FleshCorpsesSurfaceMaterial: string;
3537
+ ClothCorpsesSurfaceMaterial: string;
3538
+ LeavesSurfaceMaterial: string;
3539
+ ForestPineSurfaceMaterial: string;
3540
+ CeramicSurfaceMaterial: string;
3541
+ ArtifactSurfaceMaterial: string;
3542
+ StaminaWeightCurve: string;
3543
+ ControllerSpeakerDiegeticMixState: string;
3544
+ ControllerSpeakerDiegeticSoloState: string;
3545
+ ControllerSpeakerDiegeticOffState: string;
3546
+ ControllerSpeakerHazardsMixState: string;
3547
+ ControllerSpeakerHazardsSoloState: string;
3548
+ ControllerSpeakerHazardsOffState: string;
3549
+ ControllerSpeakerInteractiveObjectsMixState: string;
3550
+ ControllerSpeakerInteractiveObjectsSoloState: string;
3551
+ ControllerSpeakerInteractiveObjectsOffState: string;
3552
+ ControllerSpeakerInterfaceMixState: string;
3553
+ ControllerSpeakerInterfaceSoloState: string;
3554
+ ControllerSpeakerInterfaceOffState: string;
3555
+ ControllerSpeakerRadioMixState: string;
3556
+ ControllerSpeakerRadioSoloState: string;
3557
+ ControllerSpeakerRadioOffState: string;
3558
+ ControllerSpeakerRadioAUXBus: string;
3559
+ MotionOnState: string;
3560
+ MotionOffState: string;
3561
+ AnomalyAkComponentOffset: number;
3562
+ ObjRootAkComponentOffset: number;
3563
+ PhysicalMaterialFrictionCoefficients: {
3564
+ PhysicalMaterialType: EPhysicalMaterialType;
3565
+ FrictionCoefficient: number;
3566
+ }[];
3567
+ PerspectiveThirdPersonRTPC: string;
3568
+ ScopeMaterialInWorld: string;
3569
+ DropItemSFX: string;
3570
+ WorldWindDirectionInitial: Location2Axis;
3571
+ FlashlightCombatUseChance: Record<Rank, number>;
3572
+ FlashlightDialogIntensityPercent: number;
3573
+ FlashlightDialogIntensityLerpTime: number;
3574
+ FactionRelationUpdateDelay: number;
3575
+ PersonalRelationUpdateDelay: number;
3576
+ DawnStartTime: number;
3577
+ DayStartTime: number;
3578
+ EveningStartTime: number;
3579
+ NightStartTime: number;
3580
+ AimAssistBoneLocationOffset: number;
3581
+ AimAssistMinOverlapsThreshold: number;
3582
+ AimAssistMaxOverlapsThreshold: number;
3583
+ AimAssistSnappingBones: string[];
3584
+ AimSocketName: string;
3585
+ OpticCutoutSocketName: string;
3586
+ OpticCutoutLocationParamName: string;
3587
+ OpticCutoutRadiusParamName: string;
3588
+ OpticCutoutThresholdParamName: string;
3589
+ AimAlphaParamName: string;
3590
+ OpticCutoutEnabledParamName: string;
3591
+ OffsetAimingDefaultSocketName: string;
3592
+ OffsetAimingChangeTime: number;
3593
+ AimFOVRestoreTime: number;
3594
+ UnfocusableTargetLooseTime: number;
3595
+ UnfocusableWeaponTraceDistance: number;
3596
+ UnfocusableKnifeTraceDistance: number;
3597
+ UnfocusableMinSweepRadius: number;
3598
+ UnfocusableFOVAngle: number;
3599
+ OnlineDirectorModelsPerTick: number;
3600
+ TriggersToUpdatePerTick: number;
3601
+ TopazDisplayMaterialIndex: number;
3602
+ TopazDiodsMaterialIndex: number;
3603
+ TopazDisplayEnableParamName: string;
3604
+ TopazDisplayPhaseParamName: string;
3605
+ TopazDisplayCaribsParamName: string;
3606
+ TopazDisplayTimeParamName: string;
3607
+ TopazDisplaySievertsParamName: string;
3608
+ TopazDisplayHueParamName: string;
3609
+ TopazDiodsEnableParamName: string;
3610
+ TopazDiodsProgressParamName: string;
3611
+ AudioRoomPresetBandwidth: {
3612
+ None: string;
3613
+ Custom: string;
3614
+ Close: string;
3615
+ HalfOpen: string;
3616
+ Open: string;
3617
+ Isolated: string;
3618
+ PsyDome: string;
3619
+ };
3620
+ UnderwaterTestTraceDist: number;
3621
+ PathToWaterObstructionTestTraceDist: number;
3622
+ WaterWetnessDryingConstValue: number;
3623
+ WaterWetnessDryingConstValueNotInWater: number;
3624
+ WaterParticleDepthThreshold: number;
3625
+ WaterParticleSizeMultiplier: number;
3626
+ WetnessDryingConstValue: number;
3627
+ WetnessTraceHeight: number;
3628
+ WetnessProximityUpdateDistance: number;
3629
+ ArmorDurabilityParamsCoef: number;
3630
+ HelmetDurabilityParamsCoef: number;
3631
+ ItemInfoAffectingEffects: {
3632
+ ItemInfoType: EItemInfoType;
3633
+ AffectingEffectTypes: {
3634
+ EffectType: EEffectType;
3635
+ Multiplier: number;
3636
+ }[];
3637
+ }[];
3638
+ WeaponInfoMaxDamage: number;
3639
+ WeaponInfoMaxPiercing: number;
3640
+ WeaponInfoMaxFireInterval: number;
3641
+ WeaponInfoMinFireInterval: number;
3642
+ WeaponInfoMaxFireDistance: number;
3643
+ WeaponInfoMaxAccuracy: number;
3644
+ ArtifactOffsetFromAnomalyBorder: Location3Axis;
3645
+ ArtifactSpawnDistanceDelta: number;
3646
+ ArtifactSpawnAttemptsCount: number;
3647
+ ArtifactSpawnHeightToNavmesh: number;
3648
+ ArtifactSpawnPityStructs: {
3649
+ Rank: ERank;
3650
+ AttemptsCount: number;
3651
+ RarityLuckIncrease: {
3652
+ Rarity: EArtifactRarity;
3653
+ LuckIncrease: number;
3654
+ }[];
3655
+ }[];
3656
+ bResetArtifactLuckOnPickup: boolean;
3657
+ GenericTeleportScreenHideDelay: number;
3658
+ GenericTeleportScreenShowDelay: number;
3659
+ DefaultTeleportScreenHideDelay: number;
3660
+ DefaultTeleportScreenShowDelay: number;
3661
+ PlayerBedSleepTime: number;
3662
+ PlayerAudioLogVolumeDecreaseTime: number;
3663
+ NiagaraProviderUpdateTimings: {
3664
+ ProviderType: ENiagaraProviderType;
3665
+ UpdateTime: number;
3666
+ }[];
3667
+ RegenerateItemsOnRankUpdateRadius: number;
3668
+ RegenerateItemsOnRankUpdateTimer: number;
3669
+ VitalMaxEnergeticOveruse: number;
3670
+ VitalMaxEnergeticTolerance: number;
3671
+ VitalEnergeticOveruseDegen: number;
3672
+ VitalEnergeticToleranceDegen: number;
3673
+ VitalEnergeticToleranceDegenDelay: number;
3674
+ VitalEnergeticOveruseSoundForwardMultiplier: number;
3675
+ ZombieFactionUIDName: string;
3676
+ }>;
3677
+
3678
+ export type CluePrototype = GetStructType<{
3679
+ ID: number;
3680
+ SID: string;
3681
+ Description: string;
3682
+ Type: EGlobalVariableType;
3683
+ DefaultValue: string;
3684
+ }>;
3685
+
3686
+ export type QuestItemGeneratorPrototype = GetStructType<{
3687
+ SID: string;
3688
+ ItemGenerator: Record<string, ItemGenerator> | ItemGenerator[];
3689
+ ID: number;
3690
+ RefreshTime: number;
3691
+ }>;
3692
+
3693
+ export type GenericLairPrototype = GetStructType<{
3694
+ SID: string;
3695
+ Preset: {
3696
+ InitialInhabitantFaction: string;
3697
+ IsALifePoint: boolean;
3698
+ PossibleInhabitantFactions: Record<
3699
+ Faction,
3700
+ {
3701
+ Faction: string;
3702
+ SpawnSettingsPerPlayerRanks: Record<
3703
+ Rank,
3704
+ {
3705
+ MaxSpawnQuantity: number;
3706
+ InitialSpawnQuantityPercent: number;
3707
+ InitialSpawnQuantityRespawnTimeSeconds: number;
3708
+ MaxSpawnQuantityRespawnTimeSeconds: number;
3709
+ WipeRespawnTimeoutSeconds: number;
3710
+ SpawnSettingsPerArchetypes: Record<
3711
+ Faction,
3712
+ {
3713
+ MinQuantityPerArchetype: number;
3714
+ SpawnWeight: number;
3715
+ }
3716
+ >;
3717
+ }
3718
+ >;
3719
+ }
3720
+ >;
3721
+ LairType: ELairType;
3722
+ RestingLairInstantSpawnScenarioChance: number;
3723
+ RestingLairShortDelayedSpawnScenarioChance: number;
3724
+ RestingLairMinNPCCount: number;
3725
+ RestingLairMaxNPCCount: number;
3726
+ RestingLairShortDelaySpawnMin: number;
3727
+ RestingLairShortDelaySpawnMax: number;
3728
+ RestingLairLongDelaySpawnMin: number;
3729
+ RestingLairLongDelaySpawnMax: number;
3730
+ ALifeLairsSearchRadius: number;
3731
+ GameTimeOfflineToRerollLairData: number;
3732
+ };
3733
+ }>;
3734
+
3735
+ export type QuestArtifactPrototype = GetStructType<{
3736
+ SID: string;
3737
+ IsQuestItem: boolean;
3738
+ ID: number;
3739
+ AnomalyElementType: EAnomalyElementType;
3740
+ ArtifactType: EArtifactType;
3741
+ FakeArtifactDistortionVFX: string;
3742
+ SoundStateTransitionOnHide: string;
3743
+ SoundStateTransitionOnShow: string;
3744
+ ArtifactTypeSwitch: string;
3745
+ Blueprint: string;
3746
+ EffectPrototypeSIDs: string[];
3747
+ JumpDistance: number;
3748
+ JumpAmount: number;
3749
+ JumpDelay: number;
3750
+ JumpSeriesDelay: number;
3751
+ JumpHeight: number;
3752
+ JumpForce: number;
3753
+ JumpSpeedCoef: number;
3754
+ LandingForce: number;
3755
+ LifeTime: number;
3756
+ PlayerDistance: number;
3757
+ ReturnDistanceValue: number;
3758
+ DetectorRequired: boolean;
3759
+ Rarity: EArtifactRarity;
3760
+ }>;
3761
+
3762
+ export type QuestObjPrototype = GetStructType<{
3763
+ SID: string;
3764
+ UnkillableByALife: boolean;
3765
+ MaxInventoryMass: number;
3766
+ InventoryPenaltyLessWeight: number;
3767
+ ItemGeneratorPrototypeSID: string;
3768
+ NeedsPresetSID: string;
3769
+ ReactOnNonEnemySounds: boolean;
3770
+ TradePrototypeSID: string;
3771
+ UseGroomReplacement: boolean;
3772
+ IsAffectingByMaxActorWithSimulation: boolean;
3773
+ IgnoreDamageType: EIgnoreDamageType;
3774
+ CanProcessCorpses: boolean;
3775
+ Faction: string;
3776
+ NPCPrototypeSID: string;
3777
+ CustomMeshGeneratorPrototypeSID: string;
3778
+ IsAffectingByMaxAttaches: boolean;
3779
+ ShouldGenerateStashClues: boolean;
3780
+ ID: number;
3781
+ Rank: ERank;
3782
+ IgnoreEmission: boolean;
3783
+ MovementVFXPrototypeSID: string;
3784
+ DialogInteractDistance: number;
3785
+ Abilities: {
3786
+ NoDamagePSYAttack: {
3787
+ SID: string;
3788
+ ActivationTag: string;
3789
+ };
3790
+ };
3791
+ NPCType: ENPCType;
3792
+ MinDialogInteractDistance: number;
3793
+ MaxDialogInteractDistance: number;
3794
+ Mesh: EObjMesh;
3795
+ FlashlightPrototypeSID: string;
3796
+ ShouldEnableAdamAppleAnimations: boolean;
3797
+ Text: string;
3798
+ Hint: string;
3799
+ VitalParams: {
3800
+ MaxHP: number;
3801
+ MaxFP: number;
3802
+ MaxSleepDesirePoint: number;
3803
+ MaxFoodPoint: number;
3804
+ MaxWaterPoint: number;
3805
+ DegenFoodPoint: number;
3806
+ DegenWaterPoint: number;
3807
+ RegenSleepDesirePoint: number;
3808
+ RegenFP: number;
3809
+ DegenPsyPoints: number;
3810
+ DegenStamina: number;
3811
+ StaminaDisableThresholds: {
3812
+ Threshold: number;
3813
+ RegenerationDelay: number;
3814
+ StateTags: EStateTag[];
3815
+ }[];
3816
+ MaxSP: number;
3817
+ RegenHP: number;
3818
+ };
3819
+ AttackParams: {
3820
+ MeleeDamage: number;
3821
+ MeleeAttackAcceptanceDistance: number;
3822
+ MeleeAttackHeight: number;
3823
+ MeleeAttackRadius: number;
3824
+ ForceDistance: number;
3825
+ };
3826
+ Blueprint: string;
3827
+ MeshGeneratorPrototypeSID: string;
3828
+ AgentType: EAgentType;
3829
+ IsZombie: boolean;
3830
+ IgnoreWoundedRestriction: boolean;
3831
+ Protection: {
3832
+ Strike: number;
3833
+ };
3834
+ DuplicateFacialAnimationNPCs: string[];
3835
+ }>;
3836
+
3837
+ export type RSQ00_Rewar = GetStructType<{
3838
+ SID: string;
3839
+ MoneyGenerator: {
3840
+ MinCount: number;
3841
+ MaxCount: number;
3842
+ };
3843
+ }>;