s2cfgtojson 3.5.2 → 3.6.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 (2) hide show
  1. package/package.json +1 -1
  2. package/types.mts +454 -166
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "s2cfgtojson",
3
- "version": "3.5.2",
3
+ "version": "3.6.0",
4
4
  "description": "Converts Stalker 2 Cfg file into POJOs",
5
5
  "keywords": [
6
6
  "stalker",
package/types.mts CHANGED
@@ -65,7 +65,18 @@ import {
65
65
  ETriggerReact,
66
66
  ERequiredSquadMembers,
67
67
  EMeshSubType,
68
- } from "./enums.mjs";
68
+ EAnomalyElementType,
69
+ EArtifactType,
70
+ EArtifactRarity,
71
+ EArchiartifactType,
72
+ EEffectDisplayType,
73
+ EAnomalyType,
74
+ EConsumableType,
75
+ EGrenadeType,
76
+ EFastUseGroupType,
77
+ EDetectorType,
78
+ } from "./enums.mts";
79
+
69
80
  import { Struct } from "./Struct.mjs";
70
81
 
71
82
  export type Internal =
@@ -121,72 +132,6 @@ export type GetStructType<In> =
121
132
  ? boolean
122
133
  : In;
123
134
 
124
- export type ArmorPrototype = GetStructType<{
125
- SID: string;
126
- Icon: string;
127
- MeshPrototypeSID: string;
128
- BaseDurability: number;
129
- Weight: number;
130
- bBlockHead?: boolean;
131
- Cost: number;
132
- ItemGridWidth?: number;
133
- ItemGridHeight?: number;
134
- ArtifactSlots: number;
135
- Protection: {
136
- Burn: number;
137
- Shock: number;
138
- ChemicalBurn: number;
139
- Radiation: number;
140
- PSY: number;
141
- Strike: number;
142
- Fall: number;
143
- };
144
- ProtectionNPC: {
145
- Burn: number;
146
- Shock: number;
147
- ChemicalBurn: number;
148
- Radiation: number;
149
- PSY: number;
150
- Strike: number;
151
- Fall: number;
152
- };
153
- UpgradePrototypeSIDs: string[];
154
- SectionSettings: {
155
- SectionIsEnabled: boolean;
156
- UpgradeTargetPartType: EUpgradeTargetPartType;
157
- BottomPosition: number;
158
- RightPoition: number;
159
- LeftPosition: number;
160
- TopPosition: number;
161
- UpgradeLineDirection: ELineDirection;
162
- ModuleLineDirection: ELineDirection;
163
- }[];
164
- MeshGenerator: {
165
- MeshGeneratorPrototypeSID: string;
166
- Weight: number;
167
- Cost: number;
168
- }[];
169
- NpcMeshGenerator: {
170
- MeshGeneratorPrototypeSID: string;
171
- Weight: number;
172
- }[];
173
- Invisible?: boolean;
174
- Type: EItemType;
175
- ItemSlotType: EInventoryEquipmentSlot;
176
- MaxStackCount: number;
177
- bPreventFromLimping: boolean;
178
- IncreaseSpeedCoef: number;
179
- NoiseCoef: number;
180
- ArmorSoundType: string;
181
- StaggerEffectPrototypeSID: string;
182
- EffectPrototypeSIDs: string[];
183
- VoiceModulatorSID: string;
184
- ItemTypeSwitchValue: string;
185
- PhysicsInteractionPrototypeSID: string;
186
- PreinstalledUpgrades: string[];
187
- LocalizationSID: string;
188
- }>;
189
-
190
135
  export type WeaponGeneralSetupPrototype = GetStructType<{
191
136
  SID: string;
192
137
  WeaponType: EWeaponType;
@@ -375,81 +320,6 @@ export type WeaponGeneralSetupPrototype = GetStructType<{
375
320
  PostShotDelay: number;
376
321
  }>;
377
322
 
378
- export type AttachPrototype = GetStructType<{
379
- SID: string;
380
- Type: EItemType;
381
- MaxStackCount: number;
382
- Cost: number;
383
- Weight: number;
384
- AttachType: EAttachType;
385
- AttachInstallSound: string;
386
- AttachUninstallSound: string;
387
- CanHoldBreath: boolean;
388
- Magazine: {
389
- IsTwinMagazine: boolean;
390
- MaxAmmo: number;
391
- BindBulletsToAttach: boolean;
392
- HasMultipleMeshes: boolean;
393
- MeshArray: {
394
- MeshPrototypeSID: string;
395
- MagazineMeshType: EMagazineMeshType;
396
- }[];
397
- PhysicsInteractionPrototypeSID: string;
398
- };
399
- Scope: {
400
- ZoomCoefficients: number[];
401
- BaseZoomCoefficientIndex: number;
402
- ChangeZoomScopeSound: string;
403
- bOverrideAimingEffects: boolean;
404
- AimingEffects: { PlayerOnlyEffects: string[] };
405
- AimingCutoutRadius: number;
406
- AimingCutoutThreshold: number;
407
- };
408
- WeaponFlashlight: { FlashlightPrototypeID: number };
409
- IronSight: { MeshArray: { MeshPrototypeSID: string; Socket: string }[] };
410
- ShootingAttach: { WeaponPrototypeSID: string };
411
- Slot: EAttachSlot;
412
- InventoryActionTime: number;
413
- bPermanent: boolean;
414
- FPParticlesBasedOnHeating: {
415
- VFXGroupName: string;
416
- Shooting: {
417
- SocketName: string;
418
- PFXPath: string;
419
- MinHeatingValueToAppear: number;
420
- };
421
- PostShooting: {
422
- SocketName: string;
423
- PFXPath: string;
424
- MinHeatingValueToAppear: number;
425
- };
426
- }[];
427
- ItemTypeSwitchValue: string;
428
- PhysicsInteractionPrototypeSID: string;
429
- EffectPrototypeSIDs: string[];
430
- LayerImagePriority: number;
431
- SortGroup: ESortGroup;
432
- ItemGridWidth: number;
433
- SortPriority: number;
434
- Icon: string;
435
- MeshPrototypeSID: string;
436
- FittingWeaponsSIDs: string[];
437
- HideOnAttachPrototypeIDInstalled: string[];
438
- LaserSight: {
439
- MinLaserDistance: number;
440
- MaxLaserDistance: number;
441
- MinLaserTimeOnDrop: number;
442
- MaxLaserTimeOnDrop: number;
443
- LaserStartTraceOffset: string;
444
- LaserEndLightOffset: number;
445
- StartSocketName: string;
446
- VFXPath: string;
447
- };
448
- ItemGridHeight: number;
449
- LocalizationSID: string;
450
- MeshInWorldPrototypeSID: string;
451
- }>;
452
-
453
323
  export type ALifeDirectorScenarioPrototype = GetStructType<{
454
324
  SID: string;
455
325
  DefaultSpawnDelayMin: number;
@@ -1812,28 +1682,6 @@ export type MeshPrototype = GetStructType<{
1812
1682
  ID: number;
1813
1683
  }>;
1814
1684
 
1815
- export type WeaponPrototype = GetStructType<{
1816
- SID: string;
1817
- MeshPrototypeSID: string;
1818
- MeshInWorldPrototypeSID: string;
1819
- Weight: number;
1820
- Cost: number;
1821
- GeneralWeaponSetup: string;
1822
- PlayerWeaponAttributes: string;
1823
- NPCWeaponAttributes: string;
1824
- BaseDurability: number;
1825
- Icon: string;
1826
- SectionSettings: {
1827
- SectionIsEnabled: true;
1828
- UpgradeTargetPartType: EUpgradeTargetPartType;
1829
- BottomPosition: number;
1830
- RightPoition: number;
1831
- LeftPosition: number;
1832
- TopPosition: number;
1833
- ModuleLineDirection: ELineDirection;
1834
- }[];
1835
- }>;
1836
-
1837
1685
  export type WeaponAttributesPrototype = GetStructType<{
1838
1686
  SID: string;
1839
1687
  DefaultWeaponSettingsSID: string;
@@ -1843,12 +1691,12 @@ export type WeaponAttributesPrototype = GetStructType<{
1843
1691
  Shooting: {
1844
1692
  SocketName: string;
1845
1693
  PFXPath: string;
1846
- MinHeatingValueToAppear: 0;
1694
+ MinHeatingValueToAppear: number;
1847
1695
  };
1848
1696
  PostShooting: {
1849
1697
  SocketName: string;
1850
1698
  PFXPath: string;
1851
- MinHeatingValueToAppear: 5;
1699
+ MinHeatingValueToAppear: number;
1852
1700
  };
1853
1701
  }[];
1854
1702
  }>;
@@ -1878,3 +1726,443 @@ export type CharacterWeaponSettingsPrototype = GetStructType<{
1878
1726
  DistanceDropOffLength: number;
1879
1727
  BulletDropHeight: number;
1880
1728
  }>;
1729
+
1730
+ type IItemPrototype = {
1731
+ SID: string;
1732
+ Hint: string;
1733
+ Icon: string;
1734
+ IconBig: string;
1735
+ MeshPrototypeSID: string;
1736
+ BaseDurability: number;
1737
+ MaxStackCount: number;
1738
+ ConsumeOnUse: boolean;
1739
+ Usable: boolean;
1740
+ HasPhysics: boolean;
1741
+ Invisible: boolean;
1742
+ InvisibleInPlayerInventory: boolean;
1743
+ Weight: number;
1744
+ ItemGridWidth: number;
1745
+ ItemGridHeight: number;
1746
+ ItemSlotType: EInventoryEquipmentSlot;
1747
+ Type: EItemType;
1748
+ SortGroup: ESortGroup;
1749
+ SortPriority: number;
1750
+ EffectPrototypeSIDs: string[];
1751
+ ShouldShowEffects: boolean[];
1752
+ SectionPositions: string[];
1753
+ Cost: number;
1754
+ DestroyOnPickup: boolean;
1755
+ IgnoreEquippedWeight: boolean;
1756
+ EffectOnPickPrototypeSIDs: string[];
1757
+ EffectsDisplayTypes: EEffectDisplayType[];
1758
+ ItemTypeSwitchValue: string;
1759
+ PhysicsInteractionPrototypeSID: string;
1760
+ FittingWeaponsSIDs: string[];
1761
+ };
1762
+
1763
+ interface IAmmoPrototype extends IItemPrototype {
1764
+ Caliber: EAmmoCaliber;
1765
+ FractionCount: number;
1766
+ AmmoType: EAmmoType;
1767
+ CrosshairMod: ECrosshairType;
1768
+ DamageSource: EDamageSource;
1769
+ ArmorPiercingMod: number;
1770
+ CoverPiercingMod: number;
1771
+ ArmorDamageMod: number;
1772
+ WeaponExhaustionMod: number;
1773
+ DamageMod: number;
1774
+ BleedingMod: number;
1775
+ AmmoPackCount: number;
1776
+ ImpulseToObjectsMod: number;
1777
+ FlatnessMod: number;
1778
+ RecoilMod: number;
1779
+ DispersionMod: number;
1780
+ AimDispersionMod: number;
1781
+ OffsetAimDispersionMod: number;
1782
+ FPShellFXPath: string;
1783
+ TPShellFXPath: string;
1784
+ ShellSoundEventPath: string;
1785
+ CaliberSoundSwitch: string;
1786
+ }
1787
+
1788
+ export type AmmoPrototype = IAmmoPrototype;
1789
+
1790
+ interface IArtifactPrototype extends IItemPrototype {
1791
+ AnomalyElementType: EAnomalyElementType;
1792
+ ArtifactType: EArtifactType;
1793
+ ArchiartifactType: EArchiartifactType;
1794
+ JumpDistance: number;
1795
+ JumpAmount: number;
1796
+ JumpDelay: number;
1797
+ JumpSeriesDelay: number;
1798
+ JumpHeight: number;
1799
+ JumpForce: number;
1800
+ JumpSpeedCoef: number;
1801
+ LifeTime: number;
1802
+ PlayerDistance: number;
1803
+ ReturnDistanceValue: number;
1804
+ StateTransitionDelay: number;
1805
+ Radius: number;
1806
+ Rarity: EArtifactRarity;
1807
+ DetectorRequired: boolean;
1808
+ LifeTimeDependant: boolean;
1809
+ Persistent: boolean;
1810
+ DisableCollisionWhenHide: boolean;
1811
+ Strafe: boolean;
1812
+ ArtifactSpawn: boolean;
1813
+ ParticleStateTransitionFadeOutDelay: number;
1814
+ ParticleStateTransitionFadeInDelay: number;
1815
+ ParticleOnShow: string;
1816
+ ParticleStateTransitionFadeOut: string;
1817
+ ParticleStateTransitionFadeIn: string;
1818
+ FakeArtifactDistortionVFX: string;
1819
+ FakeArtifactDissolveVFX: string;
1820
+ SoundStateTransitionOnHide: string;
1821
+ SoundStateTransitionOnShow: string;
1822
+ FakeArtifactDistortionSound: string;
1823
+ FakeArtifactDissolveSound: string;
1824
+ ChargingSound: string;
1825
+ JumpSound: string;
1826
+ ArtifactTypeSwitch: string;
1827
+ Blueprint: string;
1828
+ ParticleOnImpact: string;
1829
+ FakeArtifactHaloVFX: string;
1830
+ ViewOffset: {
1831
+ X: number;
1832
+ Y: number;
1833
+ Z: number;
1834
+ };
1835
+ LocalizationSID: string;
1836
+ DamageToStaminaCoefficient: number;
1837
+ DamageToWeightCoefficient: number;
1838
+ MinWeight: number;
1839
+ MaxWeight: number;
1840
+ WeightDecreaseDelay: number;
1841
+ WeightDecreaseRate: number;
1842
+ WeightDecreaseAmount: number;
1843
+ MinimalDrunkenness: number;
1844
+ InactiveIcon: string;
1845
+ EffectsDuration: number;
1846
+ WakeUpEffectSIDs: string[];
1847
+ PositiveEffectPrototypeSIDs: string[];
1848
+ NegativeEffectPrototypeSIDs: string[];
1849
+ MaxCharge: number;
1850
+ ChargeThreshold: number;
1851
+ ChargingSpeed: number;
1852
+ bUseCharge: boolean; // defines whether damage deflection should be constant or proportional to current artifact charge level;
1853
+ AnomalyDamageDeflections: {
1854
+ AnomalyType: EAnomalyType;
1855
+ ChargeQuantity: number;
1856
+ DamageDeflection: number;
1857
+ TimeToReduceCharge: number;
1858
+ }[];
1859
+ ChargeFullDecreaseSound: string;
1860
+ ChargeFullIncreaseSound: string;
1861
+ IsQuestItem: boolean;
1862
+ }
1863
+
1864
+ export type ArtifactPrototype = IArtifactPrototype;
1865
+
1866
+ interface IArmorPrototype extends IItemPrototype {
1867
+ ArtifactSlots: number;
1868
+ bBlockHead: boolean;
1869
+ bPreventFromLimping: boolean;
1870
+ IncreaseSpeedCoef: number;
1871
+ NoiseCoef: number;
1872
+ ArmorSoundType: string;
1873
+ StaggerEffectPrototypeSID: string;
1874
+ Protection: {
1875
+ Strike: number;
1876
+ Radiation: number;
1877
+ Burn: number;
1878
+ Shock: number;
1879
+ ChemicalBurn: number;
1880
+ PSY: number;
1881
+ Fall: number;
1882
+ };
1883
+ ProtectionNPC: {
1884
+ Strike: number;
1885
+ Radiation: number;
1886
+ Burn: number;
1887
+ Shock: number;
1888
+ ChemicalBurn: number;
1889
+ PSY: number;
1890
+ Fall: number;
1891
+ };
1892
+ UpgradePrototypeSIDs: string[];
1893
+ MeshGenerator: {
1894
+ MeshGeneratorPrototypeSID: string;
1895
+ }[];
1896
+ NpcMeshGenerator: {
1897
+ MeshGeneratorPrototypeSID: string;
1898
+ }[];
1899
+ VoiceModulatorSID: string;
1900
+ PreinstalledUpgrades: string[];
1901
+ SectionSettings: {
1902
+ SectionIsEnabled: boolean;
1903
+ UpgradeTargetPartType: EUpgradeTargetPartType;
1904
+ BottomPosition: number;
1905
+ RightPoition: number;
1906
+ LeftPosition: number;
1907
+ TopPosition: number;
1908
+ UpgradeLineDirection: ELineDirection;
1909
+ ModuleLineDirection: ELineDirection;
1910
+ }[];
1911
+ LocalizationSID: string;
1912
+ }
1913
+
1914
+ export type ArmorPrototype = IArmorPrototype;
1915
+
1916
+ interface IBlueprintPrototype extends IItemPrototype {
1917
+ LocalizationSID: string;
1918
+ IsQuestItemPrototype: boolean;
1919
+ }
1920
+
1921
+ export type BlueprintPrototype = IBlueprintPrototype;
1922
+
1923
+ interface IAttachPrototype extends IItemPrototype {
1924
+ AttachType: EAttachType;
1925
+ AttachInstallSound: string;
1926
+ AttachUninstallSound: string;
1927
+ CanHoldBreath: boolean;
1928
+ Magazine: {
1929
+ IsTwinMagazine: boolean;
1930
+ MaxAmmo: number;
1931
+ BindBulletsToAttach: boolean;
1932
+ HasMultipleMeshes: boolean;
1933
+ MeshArray: {
1934
+ MagazineMeshType: EMagazineMeshType;
1935
+ }[];
1936
+ };
1937
+ Scope: {
1938
+ ZoomCoefficients: number[];
1939
+ BaseZoomCoefficientIndex: number;
1940
+ ChangeZoomScopeSound: string;
1941
+ bOverrideAimingEffects: boolean;
1942
+ AimingEffects: {
1943
+ PlayerOnlyEffects: string[];
1944
+ };
1945
+ AimingCutoutRadius: number;
1946
+ AimingCutoutThreshold: number;
1947
+ };
1948
+ WeaponFlashlight: {
1949
+ FlashlightPrototypeID: number;
1950
+ };
1951
+ IronSight: {
1952
+ MeshArray: {
1953
+ Socket: string;
1954
+ }[];
1955
+ };
1956
+ ShootingAttach: {
1957
+ WeaponPrototypeSID: string;
1958
+ };
1959
+ Slot: EAttachSlot;
1960
+ InventoryActionTime: number;
1961
+ bPermanent: boolean;
1962
+ FPParticlesBasedOnHeating: {
1963
+ VFXGroupName: string;
1964
+ Shooting: {
1965
+ SocketName: string;
1966
+ PFXPath: string;
1967
+ MinHeatingValueToAppear: number;
1968
+ };
1969
+ PostShooting: {
1970
+ SocketName: string;
1971
+ PFXPath: string;
1972
+ MinHeatingValueToAppear: number;
1973
+ };
1974
+ }[];
1975
+ LayerImagePriority: number;
1976
+ HideOnAttachPrototypeIDInstalled: string[];
1977
+ LaserSight: {
1978
+ MinLaserDistance: number;
1979
+ MinOffsetAimLaserDistance: number;
1980
+ MaxLaserDistance: number;
1981
+ MinLaserTimeOnDrop: number;
1982
+ MaxLaserTimeOnDrop: number;
1983
+ LaserStartTraceOffset: number;
1984
+ LaserEndLightOffset: number;
1985
+ StartSocketName: string;
1986
+ VFXPath: string;
1987
+ PlayerVFXPath: string;
1988
+ };
1989
+ LocalizationSID: string;
1990
+ MeshInWorldPrototypeSID: string;
1991
+ }
1992
+
1993
+ export type AttachPrototype = IAttachPrototype;
1994
+
1995
+ interface IConsumablePrototype extends IItemPrototype {
1996
+ Icon1x1: string;
1997
+ ConsumableType: EConsumableType;
1998
+ UIUseSound: EUISound;
1999
+ InventoryActionTime: number;
2000
+ bIsUsesLeftHand: boolean;
2001
+ bIsUsesRightHand: boolean;
2002
+ SocketName: string;
2003
+ MeshPath: string;
2004
+ AnimBlueprint: string;
2005
+ AlternativeEffectPrototypeSIDs: string[];
2006
+ NegativeEffectPrototypeSIDs: {
2007
+ Effect: string;
2008
+ }[];
2009
+ NegativeEffectsChance: number;
2010
+ IsQuestItemPrototype: boolean;
2011
+ ItemTags: string[];
2012
+ FastUseGroup: EFastUseGroupType;
2013
+ FastUsePrio: number;
2014
+ StaticMeshPrototypeSID: string;
2015
+ }
2016
+
2017
+ export type ConsumablePrototype = IConsumablePrototype;
2018
+
2019
+ interface IDetectorPrototype extends IItemPrototype {
2020
+ DetectorType: EDetectorType;
2021
+ ShowArtifactRadius: "250.0 // artifats become visible in this radius";
2022
+ AnimBlueprint: string;
2023
+ DisplayUpdateInterval: number;
2024
+ DangerLevelSoundParameter: string;
2025
+ MinDetectRadius: number;
2026
+ DetectorWorkRadius: "10000.0 // detection sound is playing is this radius";
2027
+ DetectorWorkSFX: string;
2028
+ DetectorWorkCurve: string;
2029
+ ArtifactSignalCurve: string;
2030
+ ExclusionArtifactList: string[];
2031
+ MeshInWorldPrototypeSID: string;
2032
+ DefaultArtifactRadius: number;
2033
+ RadiusDivider: number;
2034
+ SonarRadius: number;
2035
+ AnomalyDetectionRadius: number;
2036
+ RenderTargetResolution: number;
2037
+ CanvasMaterialPath: string;
2038
+ SpriteMaterialPath: string;
2039
+ ArtifactTexturePath: string;
2040
+ AnomalyTexturePaths: {
2041
+ AnomalyElementType: EAnomalyElementType;
2042
+ SpriteTexturePath: string;
2043
+ }[];
2044
+ ExclusionAnomalyList: string[];
2045
+ }
2046
+
2047
+ export type DetectorPrototype = IDetectorPrototype;
2048
+
2049
+ interface IGDItemPrototype extends IItemPrototype {
2050
+ IsQuestItemPrototype: boolean;
2051
+ IsQuestItem: boolean;
2052
+ LocalizationSID: string;
2053
+ }
2054
+
2055
+ export type GDItemPrototype = IGDItemPrototype;
2056
+
2057
+ interface IGrenadePrototype extends IItemPrototype {
2058
+ GrenadeType: EGrenadeType;
2059
+ CrosshairType: ECrosshairType;
2060
+ Blueprint: string;
2061
+ TimeToExplode: number;
2062
+ SafeTimeAfterThrow: number;
2063
+ GrenadeExplosionLethalThreshold: "50%";
2064
+ GrenadeExplosionHandNonlethal: "90%";
2065
+ GrenadeExplosionHandLethal: "100%";
2066
+ BaseComfort: number;
2067
+ StaticMeshPrototypeSID: string;
2068
+ GrenadeAnimBlueprint: string;
2069
+ ExplosionPrototypeSID: string;
2070
+ ImpulseStrength: number;
2071
+ EffectApplyDistanceCoefficient: number;
2072
+ RollVelocityThreshold: number;
2073
+ NPCWeaponAttributes: string;
2074
+ ArmorDamage: number;
2075
+ ArmorPiercing: number;
2076
+ MeshInWorldPrototypeSID: string;
2077
+ OuterWoundingRadius: number;
2078
+ InnerDamage: number;
2079
+ OuterDamage: number;
2080
+ SkeletalMeshPrototypeSID: string;
2081
+ }
2082
+
2083
+ export type GrenadePrototype = IGrenadePrototype;
2084
+
2085
+ interface IKeyItemPrototype extends IItemPrototype {
2086
+ LocalizationSID: string;
2087
+ }
2088
+
2089
+ export type KeyItemPrototype = IKeyItemPrototype;
2090
+
2091
+ interface IMoneyPrototype extends IItemPrototype {
2092
+ LocalizationSID: string;
2093
+ MeshInWorldPrototypeSID: string;
2094
+ }
2095
+
2096
+ export type MoneyPrototype = IMoneyPrototype;
2097
+
2098
+ interface IMutantLootPrototype extends IItemPrototype {
2099
+ LocalizationSID: string;
2100
+ }
2101
+
2102
+ export type MutantLootPrototype = IMutantLootPrototype;
2103
+
2104
+ interface INightVisionGogglesPrototype extends IItemPrototype {
2105
+ Icon1x1: string;
2106
+ ActiveEffectSIDs: string[];
2107
+ TurnOnAudioEvent: string;
2108
+ TurnOffAudioEvent: string;
2109
+ LocalizationSID: string;
2110
+ NPCGogglesPrototypeSID: string;
2111
+ }
2112
+
2113
+ export type NightVisionGogglesPrototype = INightVisionGogglesPrototype;
2114
+
2115
+ interface IQuestItemPrototype extends IItemPrototype {
2116
+ IsQuestItemPrototype: boolean;
2117
+ IsQuestItem: boolean;
2118
+ ShouldTriggerAnomalies: boolean;
2119
+ RequireWeight: boolean;
2120
+ Icon1x1: string;
2121
+ MeshPath: string;
2122
+ AlternativeEffectPrototypeSIDs: string[];
2123
+ Name: string;
2124
+ JumpDistance: number;
2125
+ JumpAmount: number;
2126
+ JumpDelay: number;
2127
+ JumpSeriesDelay: number;
2128
+ JumpHeight: number;
2129
+ JumpForce: number;
2130
+ JumpSpeedCoef: number;
2131
+ LandingForce: number;
2132
+ LifeTime: number;
2133
+ PlayerDistance: number;
2134
+ ReturnDistanceValue: number;
2135
+ DetectorRequired: boolean;
2136
+ Strafe: boolean;
2137
+ Blueprint: string;
2138
+ SoundStateTransitionOnHide: string;
2139
+ SoundStateTransitionOnShow: string;
2140
+ ArtifactTypeSwitch: string;
2141
+ MeshInWorldPrototypeSID: string;
2142
+ StaticMeshPrototypeSID: string;
2143
+ LocalizationSID: string;
2144
+ }
2145
+
2146
+ export type QuestItemPrototype = IQuestItemPrototype;
2147
+
2148
+ interface IWeaponPrototype extends IItemPrototype {
2149
+ MeleeWeaponSID: string;
2150
+ MeshInWorldPrototypeSID: string;
2151
+ GeneralWeaponSetup: string;
2152
+ PlayerWeaponAttributes: string;
2153
+ NPCWeaponAttributes: string;
2154
+ PreinstalledUpgrades: string[];
2155
+ SectionSettings: {
2156
+ SectionIsEnabled: boolean;
2157
+ UpgradeTargetPartType: EUpgradeTargetPartType;
2158
+ BottomPosition: number;
2159
+ RightPoition: number;
2160
+ LeftPosition: number;
2161
+ TopPosition: number;
2162
+ UpgradeLineDirection: ELineDirection;
2163
+ }[];
2164
+ LocalizationSID: string;
2165
+ IsQuestItem: boolean;
2166
+ }
2167
+
2168
+ export type WeaponPrototype = IWeaponPrototype;