s2cfgtojson 3.11.0 → 3.11.2

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 (2) hide show
  1. package/package.json +1 -1
  2. package/types.mts +298 -20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "s2cfgtojson",
3
- "version": "3.11.0",
3
+ "version": "3.11.2",
4
4
  "description": "Converts Stalker 2 Cfg file into POJOs",
5
5
  "keywords": [
6
6
  "stalker",
package/types.mts CHANGED
@@ -100,6 +100,14 @@ import {
100
100
  Reactions,
101
101
  EDialogEventType,
102
102
  EConditionCheckType,
103
+ ELoadingDestination,
104
+ ESpaceRestrictionType,
105
+ EEmissionStage,
106
+ EAIMovementPose,
107
+ EFlashlightAction,
108
+ ESaveType,
109
+ EModifyAbilitySequenceQuestNodeMode,
110
+ EHealingType,
103
111
  } from "./enums.mts";
104
112
 
105
113
  import { Struct } from "./Struct.mjs";
@@ -1358,16 +1366,13 @@ export type NPCWeaponSettingsPrototype = GetStructType<{
1358
1366
  }>;
1359
1367
 
1360
1368
  export type QuestNodePrototype = GetStructType<{
1361
- InGameHours?: number;
1362
1369
  SID: string;
1363
- NodePrototypeVersion: number;
1364
1370
  QuestSID: string;
1365
1371
  NodeType: EQuestNodeType;
1366
1372
  StartDelay: number;
1367
1373
  LaunchOnQuestStart: boolean;
1368
-
1369
- Repeatable: boolean;
1370
- OutputPinNames: string[];
1374
+ NodePrototypeVersion: number;
1375
+ BrokenGameDataFilter: EBrokenGameDataFilter;
1371
1376
  Launchers: {
1372
1377
  Excluding: boolean;
1373
1378
  Connections: {
@@ -1375,6 +1380,17 @@ export type QuestNodePrototype = GetStructType<{
1375
1380
  Name: string;
1376
1381
  }[];
1377
1382
  }[];
1383
+ ExcludeAllNodesInContainer: boolean;
1384
+ TargetQuestGuid: string;
1385
+ ReplaceInventory: boolean;
1386
+ EquipItems: boolean;
1387
+ ItemGeneratorSID: string;
1388
+ TeleportLocationAndRotation: LocationAndRotation;
1389
+ TeleportType: EGSCTeleportType;
1390
+ ShouldBlendViaFade: boolean;
1391
+ EventType: EQuestEventType;
1392
+ TrackBeforeActive: boolean;
1393
+ OutputPinNames: string[];
1378
1394
  LastPhrases: {
1379
1395
  FinishNode: boolean;
1380
1396
  LastPhraseSID: string;
@@ -1383,7 +1399,7 @@ export type QuestNodePrototype = GetStructType<{
1383
1399
  DialogChainPrototypeSID: string;
1384
1400
  DialogMembers: string[];
1385
1401
  TalkThroughRadio: boolean[];
1386
- DialogObjectLocation: Point;
1402
+ DialogObjectLocation: Location[];
1387
1403
  NPCToStartDialog: number;
1388
1404
  StartForcedDialog: boolean;
1389
1405
  WaitAllDialogEndingsToFinish: boolean;
@@ -1394,12 +1410,274 @@ export type QuestNodePrototype = GetStructType<{
1394
1410
  CallPlayer: boolean;
1395
1411
  SeekPlayer: boolean;
1396
1412
  CallPlayerRadius: number;
1397
- ExcludeAllNodesInContainer: boolean;
1413
+ IgnoreDamageType: EIgnoreDamageType;
1414
+ SpawnHidden: boolean;
1415
+ SpawnNodeExcludeType: ESpawnNodeExcludeType;
1416
+ JournalEntity: EJournalEntity;
1417
+ JournalAction: EJournalAction;
1418
+ JournalQuestSID: string;
1419
+ JournalQuestDescriptionIndex: number;
1420
+ SetQuestActive: boolean;
1421
+ Repeatable: boolean;
1422
+ ContaineredQuestPrototypeSID: string;
1423
+ TriggerQuestGuid: string;
1424
+ bTriggersByAnybody: boolean;
1425
+ TriggerAction: number;
1426
+ RequiredSquadMembers: ERequiredSquadMembers;
1427
+ ReactType: ETriggerReact;
1428
+ LinkedNodePrototypeSID: string;
1429
+ GoalPriority: EGoalPriority;
1430
+ IgnoreRadiationFeilds: boolean;
1431
+ IgnoreAnomalyFields: boolean;
1432
+ IgnoreEmission: boolean;
1433
+ IgnoreCombat: boolean;
1434
+ IgnoreThreat: boolean;
1435
+ ReactOnApproachWithWeapon: boolean;
1436
+ ReactOnNonEnemySounds: boolean;
1437
+ FailureByEmission: boolean;
1438
+ FailureByCombat: boolean;
1439
+ FailureByThreat: boolean;
1440
+ FailureByTargetLost: boolean;
1441
+ FailureByPlayerKill: boolean;
1442
+ FailureByHumanKil: boolean;
1443
+ FailureByMutantKill: boolean;
1444
+ ThreatsReactRange: number;
1445
+ CanBeInterrupted: boolean;
1446
+ WeaponState: EWeaponState;
1447
+ UseSecondaryWeapon: boolean;
1448
+ BehaviorType: EBehaviorType;
1449
+ MovementType: EMovementBehaviour;
1450
+ StayContextualAction: string;
1451
+ CanBeTeleported: boolean;
1452
+ SimulateBattle: boolean;
1453
+ ImmediatelyIdentifyEnemy: boolean;
1454
+ TargetQuestGuids: string[];
1455
+ FirstTargetSID: string;
1456
+ SecondTargetSID: string;
1457
+ UseDeltaValue: boolean;
1458
+ UsePreset: boolean;
1459
+ RelationshipValue: number;
1460
+ SetFactionRelationshipAsPersonal: boolean;
1461
+ ShouldLockPersonalRelationship: boolean;
1462
+ JournalQuestStageSID: string;
1463
+ Markers: string;
1464
+ Conditions: Condition[][];
1465
+ ConsoleCommand: string;
1466
+ RestrictDialogInteractions: boolean;
1467
+ RestrictDefeatStateInteraction: boolean;
1468
+ RestrictDefeatStateMovementInteraction: boolean;
1469
+ RestrictDeadBodyMovementInteraction: boolean;
1470
+ RestrictDeadBodyLootInteraction: boolean;
1471
+ RestrictDeadBodyDespawn: boolean;
1472
+ HitProducer: string;
1473
+ HitReceiver: string;
1474
+ WoundedOn: boolean;
1475
+ HealingType: EHealingType;
1476
+ PinWeights: number[];
1398
1477
  GlobalVariablePrototypeSID: string;
1399
1478
  ChangeValueMode: EChangeValueMode;
1400
- VariableValue: any;
1401
- PinWeights: number[];
1402
- Conditions: Condition[][];
1479
+ VariableValue: boolean;
1480
+ AIThreatState: number;
1481
+ Activate: boolean;
1482
+ ForceDespawn: boolean;
1483
+ ScreenText: string;
1484
+ FadeTime: number;
1485
+ ImagePath: string;
1486
+ HideViewType: EHideViewType;
1487
+ ItemPrototypeSID: string;
1488
+ ExpectedItemsCount: number;
1489
+ WithEquipped: boolean;
1490
+ NotePrototypeSID: string;
1491
+ PlayWhenReceived: boolean;
1492
+ SignalReceiverGuid: string;
1493
+ StartHour: number;
1494
+ EndHour: number;
1495
+ SelectedDaysOfWeek: number;
1496
+ InGameHours: number;
1497
+ LocalizedSequences: string[];
1498
+ LoopSequence: boolean;
1499
+ PreblendSequence: boolean;
1500
+ PreblendTime: number;
1501
+ BlendExpForEaseInOut: number;
1502
+ MainQuest: boolean;
1503
+ MarkerDescription: string;
1504
+ Squad: string;
1505
+ Remove: boolean;
1506
+ MoveToPath: string;
1507
+ MoveToSuccessRange: number;
1508
+ MoveToFailureRange: number;
1509
+ SignalSenderGuid: string;
1510
+ EquipmentTypeFilter: EMainHandEquipmentType;
1511
+ EquipmentItemSID: string;
1512
+ TargetFaction: string;
1513
+ InteractableQuestGuid: string;
1514
+ TargetLocations: Location[];
1515
+ VolumeGuid: string;
1516
+ ShouldBeKilled: string;
1517
+ FullSquad: boolean;
1518
+ IncludeWoundedEvent: boolean;
1519
+ SpecificItemDespawn: boolean;
1520
+ GoalTargetQuestGuid: string;
1521
+ Location: string;
1522
+ NewTitle: number;
1523
+ NewDescription: number;
1524
+ IdlePosition: Location;
1525
+ LookAt: Location;
1526
+ MinimalReputationLevel: ERelationLevel;
1527
+ EffectLocation: Location;
1528
+ EffectPath: string;
1529
+ Continue: boolean;
1530
+ SoundLocation: Location;
1531
+ AKEventPath: string;
1532
+ MasterAKEventForLoad: string;
1533
+ FinishOnAKEvent: boolean;
1534
+ RotationAfterMoveTo: LocationAndRotation;
1535
+ ContextualActionLookAtPlayerRange: number;
1536
+ SoundPath: string;
1537
+ RepeatableStayAnimation: boolean;
1538
+ StayAnimation: string;
1539
+ NavModifier: string;
1540
+ Params: {
1541
+ ModifiedCharacterParam: EModifiedCharacterParam;
1542
+ ChangeValueMode: EChangeValueMode;
1543
+ IgnoreDamageType: EIgnoreDamageType;
1544
+ ChangeValue: number;
1545
+ Rank: ERank;
1546
+ }[];
1547
+ ThreatSensor: number;
1548
+ ContextualActionRange: number;
1549
+ QuestItem: boolean;
1550
+ AbilityPrototypeSID: string;
1551
+ SequentialAbilityPriority: number;
1552
+ SequentialAbilityModificationMode: EModifyAbilitySequenceQuestNodeMode;
1553
+ LookAtLocation: Location;
1554
+ Duration: number;
1555
+ EnteringDuration: number;
1556
+ LookAtActorFName: string;
1557
+ AttractionPointType: EAttractionPointType;
1558
+ ActorBoneName: string;
1559
+ ReactionTime: number;
1560
+ Priority: number;
1561
+ CollisionChannel: number;
1562
+ ApplyRestrictionType: EApplyRestrictionType;
1563
+ RotationFreemoveEdge: number;
1564
+ RotationStopEdge: number;
1565
+ PresetName: string;
1566
+ ItemSID: string;
1567
+ ItemsCount: number;
1568
+ PauseEmission: boolean;
1569
+ EmissionPrototypeSID: string;
1570
+ UseDefaultEmissionPrototype: boolean;
1571
+ StartQuest: boolean;
1572
+ ForceEmission: boolean;
1573
+ NavAreaClass: string;
1574
+ PersonalRestriction: Record<string, ESpaceRestrictionType>;
1575
+ SaveTypes: ESaveType[];
1576
+ AchievementSID: string;
1577
+ DataLayerName: string;
1578
+ IsDataLayerEnabled: boolean;
1579
+ OwnedHub: string;
1580
+ InGameMinutes: number;
1581
+ NodesToCleanUpResults: string[];
1582
+ InfotopicLastPhrases: {
1583
+ LastPhraseSID: string;
1584
+ NextLaunchedPhraseSID: string;
1585
+ }[];
1586
+ TimerRate: number;
1587
+ WidgetType: number;
1588
+ TutorialHeadLocalizedSID: string;
1589
+ TutorialTextLocalizedSID: string;
1590
+ PDATutorialNoteSID: string;
1591
+ TutorialSID: string;
1592
+ RequiredInputs: string[];
1593
+ ShootingPosition: Location;
1594
+ ShootTargetLocation: Location;
1595
+ ShotsQueueCount: number;
1596
+ PostEffectProcessorSID: string;
1597
+ PostProcessParamValue: number;
1598
+ NewZoneState: boolean;
1599
+ OverrideScenarioGroupSID: string;
1600
+ IgnoreEnabledCheck: boolean;
1601
+ FlashlightAction: EFlashlightAction;
1602
+ MeshGeneratorSID: string;
1603
+ Faction: string;
1604
+ PatrolPlaceholderGUID: string;
1605
+ PatrolCycleCount: number;
1606
+ StartPointID: number;
1607
+ MarkerSID: string;
1608
+ Explored: boolean;
1609
+ EffectPrototypeSID: string;
1610
+ DisableFlashlightControl: boolean;
1611
+ AddToPlayerStash: boolean;
1612
+ MovementPose: EAIMovementPose;
1613
+ CustomRestPlaceSelection: boolean;
1614
+ RestLocation: Location;
1615
+ QuestItemGeneratorSID: string;
1616
+ LookAtPlaceholder: string;
1617
+ MoveFrom: string;
1618
+ MoveTo: string;
1619
+ MoveQuestItems: boolean;
1620
+ StageID: EEmissionStage;
1621
+ WaitingPlayer: boolean;
1622
+ Radius: number;
1623
+ WaitingTime: number;
1624
+ PlayerLeavesWhileMovingComments: string[];
1625
+ PlayerLeavesWhileCombatComments: string[];
1626
+ ContinueWhileMovingComments: string[];
1627
+ ContinueWhileCombatComments: string;
1628
+ StartBattleComments: string;
1629
+ FinishBattleComments: string;
1630
+ ReachAnomalyZoneComments: string;
1631
+ LeaveAnomalyZoneComments: string;
1632
+ ReachPointComments: {
1633
+ ReachPointComment: string;
1634
+ ReachPointLocation: Location;
1635
+ DialogMembers: string;
1636
+ }[];
1637
+ TargetMoneyAmount: number;
1638
+ Event: EDialogEventType;
1639
+ FollowStartRange: number;
1640
+ FollowStopRange: number;
1641
+ Weather: EWeather;
1642
+ Force: boolean;
1643
+ DisabledEvents: EDialogEventType[];
1644
+ DataLayerCombination: string;
1645
+ AssetsToLoad: string[];
1646
+ AudioLocalizedAssetsToLoad: string[][];
1647
+ UseAbilityPrototypeSID: string;
1648
+ UseAbilityTarget: string;
1649
+ TimeToUseAbility: number;
1650
+ UseAbilityMovementType: EMovementBehaviour;
1651
+ TransitionTime: number;
1652
+ FullAmount: boolean;
1653
+ ShouldTargetPrimaryWeapon: boolean;
1654
+ PrimaryWeaponDurabilityPercent: number;
1655
+ ShouldTargetSecondaryWeapon: boolean;
1656
+ SecondaryWeaponDurabilityPercent: number;
1657
+ ShouldTargetPistol: boolean;
1658
+ PistolDurabilityPercent: number;
1659
+ CameraHeight: number;
1660
+ CircleRadius: number;
1661
+ InitialPitch: number;
1662
+ InitialYaw: number;
1663
+ BenchRuns: number;
1664
+ ProfileCsv: boolean;
1665
+ TargetRank: ERank;
1666
+ DialogToStart: string;
1667
+ LoadingScreenType: ELoadingDestination;
1668
+ WithInventory: boolean;
1669
+ Discovered: boolean;
1670
+ VideoAssetPath: string;
1671
+ TimeToStartNextNodeBeforeEnd: number;
1672
+ IsFinalVideo: boolean;
1673
+ UpgradePrototypeSID: string;
1674
+ UpgradeSIDs: string[];
1675
+ NewTechnicianSkill: string;
1676
+ RestrictedFaction: Record<Faction, ESpaceRestrictionType>;
1677
+ NameSID: string;
1678
+ MoveToPlayer: boolean;
1679
+ TargetLocation: Location;
1680
+ CustomSleepPlaceSelection: boolean;
1403
1681
  }>;
1404
1682
 
1405
1683
  export type MeshPrototype = GetStructType<{
@@ -1557,7 +1835,7 @@ interface IArtifactPrototype extends IItemPrototype {
1557
1835
  Blueprint: string;
1558
1836
  ParticleOnImpact: string;
1559
1837
  FakeArtifactHaloVFX: string;
1560
- ViewOffset: Point;
1838
+ ViewOffset: Location;
1561
1839
  LocalizationSID: string;
1562
1840
  DamageToStaminaCoefficient: number;
1563
1841
  DamageToWeightCoefficient: number;
@@ -2088,7 +2366,7 @@ export type DialogPoolPrototype = GetStructType<{
2088
2366
  BlendExpForEaseInOut: number;
2089
2367
  NotePrototypeSID: string;
2090
2368
  PlayWhenReceived: boolean;
2091
- SoundLocation: Point;
2369
+ SoundLocation: Location;
2092
2370
  AKEventPath: string;
2093
2371
  MasterAKEventForLoad: string;
2094
2372
  FinishOnAKEvent: boolean;
@@ -2122,7 +2400,7 @@ export type DialogPoolPrototype = GetStructType<{
2122
2400
  RestrictDeadBodyMovementInteraction: boolean;
2123
2401
  RestrictDeadBodyLootInteraction: boolean;
2124
2402
  RestrictDeadBodyDespawn: boolean;
2125
- LookAtLocation: Point;
2403
+ LookAtLocation: Location;
2126
2404
  Duration: number;
2127
2405
  EnteringDuration: number;
2128
2406
  LookAtActorFName: string;
@@ -2135,8 +2413,8 @@ export type DialogPoolPrototype = GetStructType<{
2135
2413
  RotationFreemoveEdge: number;
2136
2414
  RotationStopEdge: number;
2137
2415
  PresetName: string;
2138
- ShootingPosition: Point;
2139
- ShootTargetLocation: Point;
2416
+ ShootingPosition: Location;
2417
+ ShootTargetLocation: Location;
2140
2418
  ShotsQueueCount: number;
2141
2419
  AIThreatState: number;
2142
2420
  AssetsToLoad: string[];
@@ -2166,7 +2444,7 @@ export type DialogPoolPrototype = GetStructType<{
2166
2444
  }[];
2167
2445
  DialogMembers: string[];
2168
2446
  TalkThroughRadio: boolean[];
2169
- DialogObjectLocation: Point[];
2447
+ DialogObjectLocation: Location[];
2170
2448
 
2171
2449
  Conditions: Condition[][];
2172
2450
 
@@ -2215,13 +2493,13 @@ export type Condition = GetStructType<{
2215
2493
  ReactType: ETriggerReact;
2216
2494
  RequiredSquadMembers: ERequiredSquadMembers;
2217
2495
  NumericValue: number;
2218
- TargetPoint: Point;
2496
+ TargetPoint: Location;
2219
2497
  ItemPrototypeSID: Param;
2220
2498
  ItemsCount: Param;
2221
2499
  WithEquipped: boolean;
2222
2500
  WithInventory: boolean;
2223
2501
  BoolValue: boolean;
2224
- PointToLookAt: Point;
2502
+ PointToLookAt: Location;
2225
2503
  JournalEntity: EJournalEntity;
2226
2504
  JournalState: EJournalState;
2227
2505
  JournalQuestSID: string;
@@ -2234,14 +2512,14 @@ export type Condition = GetStructType<{
2234
2512
  EmissionPrototypeSID: string;
2235
2513
  }>;
2236
2514
 
2237
- export type Point = GetStructType<{
2515
+ export type Location = GetStructType<{
2238
2516
  X: number;
2239
2517
  Y: number;
2240
2518
  Z: number;
2241
2519
  }>;
2242
2520
 
2243
2521
  export type LocationAndRotation = GetStructType<
2244
- Point & {
2522
+ Location & {
2245
2523
  Pitch: number;
2246
2524
  Yaw: number;
2247
2525
  Roll: number;