s2cfgtojson 2.2.7 → 2.2.9

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 +7 -1
  2. package/package.json +1 -1
  3. package/types.mts +91 -20
package/enums.mts CHANGED
@@ -1605,7 +1605,13 @@ export type ERadiationPreset = `ERadiationPreset::${
1605
1605
  | "Strong"
1606
1606
  | "Topaz"}`;
1607
1607
 
1608
- export type ERank = `ERank::${"Experienced" | "Master" | "Newbie" | "Veteran"}`;
1608
+ export type _ERank =
1609
+ `ERank::${"Experienced" | "Master" | "Newbie" | "Veteran"}`;
1610
+ export type ERank =
1611
+ | _ERank
1612
+ | `${_ERank}, ${_ERank}`
1613
+ | `${_ERank}, ${_ERank}, ${_ERank}`
1614
+ | `${_ERank}, ${_ERank}, ${_ERank}, ${_ERank}`;
1609
1615
 
1610
1616
  export type ERegion = `ERegion::${
1611
1617
  | "Bolota"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "s2cfgtojson",
3
- "version": "2.2.7",
3
+ "version": "2.2.9",
4
4
  "description": "Converts Stalker 2 Cfg file into a POJO",
5
5
  "keywords": [
6
6
  "stalker",
package/types.mts CHANGED
@@ -60,6 +60,10 @@ import {
60
60
  ESoundEffectSubtype,
61
61
  EInputAxisType,
62
62
  EActionType,
63
+ EQuestNodeType,
64
+ EOverrideDialogTopic,
65
+ ETriggerReact,
66
+ ERequiredSquadMembers,
63
67
  } from "./enums.mjs";
64
68
 
65
69
  export interface Struct<T extends Entries = {}> {
@@ -478,7 +482,7 @@ export type ALifeDirectorScenarioPrototype = GetStructType<{
478
482
  };
479
483
  }>;
480
484
 
481
- export type _QuestDialog = GetStructType<{
485
+ export type DialogPrototype = GetStructType<{
482
486
  SID: string;
483
487
  DialogChainPrototypeSID: string;
484
488
  DialogMemberIndex: number;
@@ -523,13 +527,33 @@ export type _QuestDialog = GetStructType<{
523
527
  False: { NextDialogSID: string; Terminate: boolean };
524
528
  };
525
529
  HasVOInSequence: boolean;
526
- DialogActions: string;
530
+ DialogActions: {
531
+ DialogAction: EDialogAction;
532
+ DialogActionParam:
533
+ | {
534
+ VariableType: EGlobalVariableType;
535
+ VariableValue: number | string | boolean;
536
+ }
537
+ | number;
538
+ ItemsCount: {
539
+ VariableType: EGlobalVariableType;
540
+ VariableValue: number | string | boolean;
541
+ };
542
+ WithEquipped: boolean;
543
+ }[];
527
544
  DialogAnswerActions: {
528
545
  DialogAction: EDialogAction;
529
- DialogActionParam: {
546
+ DialogActionParam:
547
+ | {
548
+ VariableType: EGlobalVariableType;
549
+ VariableValue: number | string | boolean;
550
+ }
551
+ | number;
552
+ ItemsCount: {
530
553
  VariableType: EGlobalVariableType;
531
- VariableValue: number;
554
+ VariableValue: number | string | boolean;
532
555
  };
556
+ WithEquipped: boolean;
533
557
  }[];
534
558
  NodePrototypeVersion: number;
535
559
  FaceAnimationSubPath: string;
@@ -551,22 +575,6 @@ export type _QuestDialog = GetStructType<{
551
575
  MainReply: boolean;
552
576
  }>;
553
577
 
554
- export type RSQ01_Dialog_Warlock_RSQ = _QuestDialog;
555
-
556
- export type RSQ04_Dialog_Drabadan_RSQ = _QuestDialog;
557
-
558
- export type RSQ05_Dialog_Sich_RSQ = _QuestDialog;
559
-
560
- export type RSQ06_Dialog_Sidorovich_RSQ = _QuestDialog;
561
-
562
- export type RSQ07_Dialog_Barmen_RSQ = _QuestDialog;
563
-
564
- export type RSQ08_Dialog_Barmen_RSQ = _QuestDialog;
565
-
566
- export type RSQ09_Dialog_Spica_RSQ = _QuestDialog;
567
-
568
- export type RSQ10_Dialog_Harpy_RSQ = _QuestDialog;
569
-
570
578
  export type DifficultyPrototype = GetStructType<{
571
579
  SID: string;
572
580
  NPC_HP: number;
@@ -832,6 +840,8 @@ export type ItemGeneratorPrototype = GetStructType<{
832
840
  MaxDurability: number;
833
841
  MinCount: number;
834
842
  MaxCount: number;
843
+ AmmoMinCount: number;
844
+ AmmoMaxCount: number;
835
845
  }[];
836
846
  bAllowSameCategoryGeneration: boolean;
837
847
  }[];
@@ -1710,3 +1720,64 @@ export type NPCWeaponSettingsPrototype = GetStructType<{
1710
1720
  ArmorPiercing: number;
1711
1721
  CombatSynchronizationScore: { TokenTag: string; Score: string }[];
1712
1722
  }>;
1723
+
1724
+ export type QuestNodePrototype = GetStructType<{
1725
+ InGameHours?: number;
1726
+ SID: string;
1727
+ NodePrototypeVersion: number;
1728
+ QuestSID: string;
1729
+ NodeType: EQuestNodeType;
1730
+ StartDelay: number;
1731
+ LaunchOnQuestStart: boolean;
1732
+
1733
+ Repeatable: boolean;
1734
+ OutputPinNames: string[];
1735
+ Launchers: {
1736
+ Excluding: boolean;
1737
+ Connections: {
1738
+ SID: string;
1739
+ Name: string;
1740
+ };
1741
+ }[];
1742
+ LastPhrases: {
1743
+ FinishNode: boolean;
1744
+ LastPhraseSID: string;
1745
+ NextLaunchedPhraseSID: string;
1746
+ }[];
1747
+ DialogChainPrototypeSID: string;
1748
+ DialogMembers: string[];
1749
+ TalkThroughRadio: boolean[];
1750
+ DialogObjectLocation: {
1751
+ X: number;
1752
+ Y: number;
1753
+ Z: number;
1754
+ };
1755
+ NPCToStartDialog: number;
1756
+ StartForcedDialog: boolean;
1757
+ WaitAllDialogEndingsToFinish: boolean;
1758
+ IsComment: boolean;
1759
+ OverrideDialogTopic: EOverrideDialogTopic;
1760
+ CanExitAnytime: boolean;
1761
+ ContinueThroughRadio: boolean;
1762
+ CallPlayer: boolean;
1763
+ SeekPlayer: boolean;
1764
+ CallPlayerRadius: number;
1765
+ ExcludeAllNodesInContainer: boolean;
1766
+ GlobalVariablePrototypeSID: string;
1767
+ ChangeValueMode: EChangeValueMode;
1768
+ VariableValue: any;
1769
+ PinWeights: number[];
1770
+ Conditions: {
1771
+ ConditionType: EQuestConditionType;
1772
+ ConditionComparance: EConditionComparance;
1773
+ LinkedNodePrototypeSID: string;
1774
+ CompletedNodeLauncherNames: never[];
1775
+ TargetNPC: string;
1776
+ TargetContextualActionPlaceholder: string;
1777
+ TargetCharacter: string;
1778
+ Trigger: string;
1779
+ bTriggersByAnybody: boolean;
1780
+ ReactType: ETriggerReact;
1781
+ RequiredSquadMembers: ERequiredSquadMembers;
1782
+ }[][];
1783
+ }>;