s2cfgtojson
Version:
Converts Stalker 2 Cfg file into POJOs
1,213 lines • 361 kB
text/typescript
import type { EAIConstraintType, EAIMovementPose, EALifeDirectorScenarioTarget, EALifeFactionGoalType, EALifeGroupPriorityType, EAbility, EAbilityStatePhase, EActionType, EAgentArchetype, EAgentRankMask, EAgentType, EAimAssistPresetType, EAimAssistWeightType, EAmmoCaliber, EAmmoType, EAnimationReloadTypes, EAnomalyElementType, EAnomalyType, EApplyRestrictionType, EArchiartifactType, EArmorScale, EArtifactRarity, EArtifactSpawnerExcludeRule, EArtifactType, EAttachSlot, EAttachType, EAttractionPointType, EAudioRoomPresetBandwidth, EAvailableCoverActionsSide, EAvailableCoverEnterTypes, EBehaviorType, EBeneficial, EBodyMeshType, EBoltActionWeaponState, EBoolProviderType, EBrokenGameDataFilter, ECalculateSignificance, ECameraShakeEffectSubtype, ECameraShakeGroupType, ECameraShakeType, ECauseOfDeath, EChangeValueMode, ECollisionChannel, ECollisionFormType, ECombatTactics, EConditionComparance, EConnectionLineState, EConsumableType, EContextualActionBodyPart, EContextualActionNeeds, EContextualActionNodeType, EContextualAgentType, ECrosshairType, ECustomDataDistribution, EDamageBone, EDamageSource, EDamageType, EDeadZoneType, EDestructionActionType, EDetectorType, EDialogAction, EDialogEventType, EDialogPriority, EDuplicateResolveType, EEffectDisplayType, EEffectSource, EEffectType, EEmissionAIEvent, EEmissionStage, EEmotionalFaceMasks, EEvadeActionType, EFaceBlockingBlendMasks, EFastUseGroupType, EFireType, EFlashlightAction, EFlashlightPriority, EFleeType, EFloatProviderType, EGSCTeleportType, EGameDifficulty, EGlobalVariableType, EGoalPriority, EGrenadeType, EGuardType, EHealingType, EHideViewType, EIgnoreDamageType, EInputAxisType, EInputController, EInputKey, EInputMappingContextPriority, EInteractFXType, EInventoryEquipmentSlot, EItemContainerType, EItemInfoType, EItemType, EJamType, EJournalAction, EJournalEntity, ELairPreferredSpawnType, ELairType, ELineDirection, ELoadingDestination, ELocalizationLanguage, EMagazineMeshType, EMainHandEquipmentType, EMappingContext, EMarkerType, EMeshSubType, EMisansceneNodeType, EModifiedCharacterParam, EModifyAbilitySequenceQuestNodeMode, EMovementBehaviour, EMusicState, EMutantAttackType, ENPCType, ENiagaraProviderType, ENoteType, ENotificationEventType, EObjAnim, EObjBoolParams, EObjFloatParams, EObjMesh, EObjSkeletalMeshTraceBone, EObjType, EOverrideDialogTopic, EOverweightLock, EPDATutorialCategory, EPassiveDetectorType, EPhysicalMaterialType, EPillowAnomalyBiomeType, EPlayerActionInputModifier, EPlayerActionInputTrigger, EPostEffectProcessorType, EPostProcessEffectType, EPsyNPCType, EQuestEventType, EQuestNodeType, ERadiationInnerOffsetPreset, ERadiationPreset, ERank, ERegion, ERelationChangingEvent, ERelationLevel, ERequiredSquadMembers, ESaveSubType, ESaveType, ESmartCoverType, ESortGroup, ESoundEffectSubtype, ESoundEventType, ESpaceRestrictionType, ESpawnNodeExcludeType, ESpawnType, ESpeechEventType, EStaminaAction, EStateTag, ESummonBehaviourOnSpawn, ESummonSpawnOrientation, EThreatActionType, EThreatType, EThrowQueueDisarmMode, ETriggerReact, ETriggerShape, EUISound, EUpgradeTargetPartType, EUpgradeVerticalPosition, EUserNotificationType, EVitalType, EWaterImmersionLevel, EWeaponState, EWeaponType, EWeather, EWeatherParam, EWeightStatus, EZombificationType, EDialogAnimationType, EItemGenerationCategory, EContextualActionEffectType, ERepetitions, EDistanceSelectorCondition, EContextualActionPreconditionType, EQuestConditionType, EJournalState, EQuestNodeState, EScenarioBranch, EThreatAwareness, EConditionCheckType, EQuestRewardType } from "./enums.mjs";
import type { GetStructType, Struct } from "./Struct.mjs";
import type { Archetype, Caliber, EffectConditionalEffect, Faction, FactionGoalType, HumanAbilityName, MeshSlotName, ObjectAbilityName, Rank, Reaction, ScenarioGroup, SID, StringArray, VariableValue, WeaponShootDistance, WeatherSelection } from "./utility-types.mjs";
export type AbilityPrototype = GetStructType<{
AbilityPreparationTime: number;
AbilityProbability: string;
AbilityTags: NPCPrototypeSkills;
AbilityType: EAbility;
ActivateAnomalySyncTag: string;
ActivationNiagaraPath: string;
ActivationRadius: number;
AdjustLocation: boolean;
AgentToEnemyVisibilityParams: AbilityPrototypeAgentToEnemyVisibilityParams;
AgentToWeaponVisibilityParams: AbilityPrototypeEnemyVisibilityParams;
AimingDuration: number;
AkEvents: AbilityPrototypeAkEvents;
Anomalies: AbilityPrototypeAnomalies;
AnomalyLifetime: number;
ApplyOnAgents: boolean;
ApplyOnPlayer: boolean;
ArmorDamage: number;
ArmorPiercing: number;
AttachVFXBoneNames: CoreVariableHead;
AttackCollisionProfile: string;
AttackConditionName: string;
AttackConditions: ObjPrototypeMeleeAttackData;
AttackParams: AssetLibraryUIIcons;
AttackSyncTag: string;
bCanShootLevitatingObject: boolean;
bIsControllerAttack: boolean;
bIsFaustAttack: boolean;
Bleeding: number;
BleedingChanceIncrement: number;
BlinkDelay: number;
BlinkEffect: string;
BlinkSoundEvent: string;
BonesDamageSet: AbilityPrototypeBonesDamageSet;
bPullToOwner: boolean;
bUseOwnerLocation: boolean;
CalculateDamageOnlyFromPlayer: boolean;
CameraFocusOffset: number;
CameraModifierClass: string;
CanBePerformedOnNPC: boolean;
CanBePerformedOnPlayer: boolean;
CanBeTriggeredByAnyEnemy: boolean;
CancelAbilitiesWithTag: CoreVariableHead;
CollisionProfileName: string;
ConditionalCooldowns: AbilityPrototypeConditionalCooldowns;
CooldownMax: number;
CooldownMin: number;
CooldownTag: string;
CorpseTimeToHitSeconds: number;
CriticalDamageThreshold: number;
Damage: number;
DamageAccumulatedToRoar: number;
DamageAccumulationDurationSeconds: number;
DamageCurve: string;
DamageDistance: number;
DamageParams: AbilityPrototypeDamageParams;
DamageRadius: number;
DamageSource: EDamageSource;
DamageType: EDamageType;
DamageVolumeMultiplier: string;
DebugTag: string;
DisarmMode: EThrowQueueDisarmMode;
DistanceRange: AbilityPrototypeRadius;
DPS: number;
DragDelay: number;
Duration: number;
Effects: AbilityPrototypeEffects;
EffectsDistanced: AbilityPrototypeEffectsDistanced;
EffectsRadius: number;
EffectsTriggerInterval: number;
EnemyVisibilityParams: AbilityPrototypeEnemyVisibilityParams;
FailureThrowVelocity: number;
FloatingStartSound: string;
FloatingStopSound: string;
FloatingVFX: string;
FlyingSpeed: number;
FocusDuration: number;
Frequency: number;
GravityForce: number;
GrenadeSID: string;
HeavyVolumeThreshold: number;
HitDamage: AbilityPrototypeRadius;
HitDetectionAngle: number;
HitDetectionDistance: number;
HitReactionStartPhase: EAbilityStatePhase;
IgnoredCalibersSet: AbilityPrototypeIgnoredCalibersSet;
LevitationAngularAccelerationRate: number;
LevitationAngularVelocity: number;
LevitationDisplacementFrequency: AIGlobalRelativeLocation;
LevitationHeight: AbilityPrototypeRadius;
LevitationSpeed: number;
LimitAngle: number;
MaxActivationDistance: string;
MaxAttacksInSeries: number;
MaxCooldown: number;
MaxDiscoveryRadius: number;
MaxHeightAboveGround: number;
MaxIntervalBetweenDamage: number;
MaxLevitationDisplacement: AIGlobalRelativeLocation;
MaxObjCount: number;
MaxShootDelay: number;
MaxShotsAmount: number;
MaxSoundDist: number;
MaxWeaponsToRise: number;
MaxZDifference: number;
MinAbilityDuration: string;
MinActiveDuration: number;
MinCooldown: number;
MinHeightAboveGround: number;
MinHitCatcherRadius: number;
MinObjQueryTime: number;
MinObjQueueWaitTime: number;
MinShotsAmount: number;
MinSoundDist: number;
Montages: CoreVariableLegs;
MontagesMove: CoreVariableHead;
NPCDamageMultiplier: number;
OptionalObjTypeList: AssetLibraryUIIcons;
PlayerLookAtBoneName: string;
PlayerLookAtEnterDuration: number;
PlayerLookAtPresetName: string;
PlayerPushForce: number;
PossessedWeaponParams: AbilityPrototypePossessedWeaponParams;
PsyAbilityAimOffset: AbilityPrototypePsyAbilityAimOffset;
PsyAttackSyncTag: string;
PullToOwner: boolean;
PullToOwnerRadius: AbilityPrototypeRadius;
RadialImpulse: number;
Radius: number;
RemoveCooldownTags: SingletonConstantArmy;
RequiredObjTypeList: AbilityPrototypeRequiredObjTypeList;
ShieldParams: AbilityPrototypeShieldParams;
ShiftbyX: number;
ShouldIgnoreArmor: boolean;
SID: string;
SpawnAbilityBackSpawnAttempts: number;
SpawnAbilityDistance: AbilityPrototypeRadius;
SpawnAbilityFrontAngle: string;
SpawnAbilityFrontSpawnAttempts: number;
SpawnAbilityItemSIDs: AbilityPrototypeSpawnAbilityItemSIDs;
SpawnRadius: string;
SquadLimit: number;
SummonParams: AbilityPrototypeSummonParams;
SyncTag: string;
TargetBone: string;
ThrowAbilityCorpseTimeToHitSeconds: number;
ThrowAbilityDamage: AbilityPrototypeRadius;
ThrowAbilityDamageVolumeMultiplier: string;
ThrowAbilityDistance: AbilityPrototypeRadius;
ThrowAbilityFlyingSpeed: number;
ThrowAbilityHeavyVolumeThreshold: number;
ThrowAbilityLevitationAngularAccelerationRate: number;
ThrowAbilityLevitationAngularVelocity: number;
ThrowAbilityLevitationDisplacementFrequency: AIGlobalRelativeLocation;
ThrowAbilityLevitationHeight: AbilityPrototypeRadius;
ThrowAbilityLevitationSpeed: number;
ThrowAbilityMaxLevitationDisplacement: AIGlobalRelativeLocation;
ThrowAbilityThrowCorpses: boolean;
ThrowAbilityThrowDelay: AbilityPrototypeRadius;
ThrowAbilityTimeToHitSeconds: number;
ThrowAbilityUnpossessSpeedPercent: number;
ThrowDelay: AbilityPrototypeRadius;
ThrowInterval: AbilityPrototypeRadius;
ThrowProbability: string;
ThrowSyncTag: string;
TimeLimit: number;
TimeToExplode: number;
TimeToHitSeconds: number;
TossLocationRadiusOffset: number;
TriggeredCooldowns: AbilityPrototypeTriggeredCooldowns;
UnpossessSpeedPercent: number;
UseCustomPayload: boolean;
VisibilityTestChannel: ECollisionChannel;
VisibilityTestRadius: number;
VisibilityThresholdSeconds: number;
VitalCooldownCurve: string;
VitalThreshold: number;
VitalType: EVitalType;
WeaponToEnemyVisibilityParams: AbilityPrototypeEnemyVisibilityParams;
WeaponVFX: string;
ZombificationType: EZombificationType;
ZSpawnOffset: number;
}>;
export type AbilityPrototypeAgentToEnemyVisibilityParams = GetStructType<{
CanSeeThroughOcluders: boolean;
DistanceRange: AbilityPrototypeRadius;
VisibilityTestChannel: ECollisionChannel;
}>;
export type AbilityPrototypeAkEvents = GetStructType<AbilityPrototypeAkEventsItem[]>;
export type AbilityPrototypeAkEventsItem = GetStructType<{
AkEvent: string;
AkSwitches: SingletonConstantArmy;
}>;
export type AbilityPrototypeAnomalies = GetStructType<AbilityPrototypeAnomaliesItem[]>;
export type AbilityPrototypeAnomaliesItem = GetStructType<{
NiagaraPath: string;
SID: string;
}>;
export type AbilityPrototypeBonesDamageSet = GetStructType<AbilityPrototypeBonesDamageSetItem>;
export type AbilityPrototypeBonesDamageSetItem = GetStructType<{
DamageBone: EDamageBone;
}>;
export type AbilityPrototypeConditionalCooldowns = GetStructType<AbilityPrototypeConditionalCooldownsItem[]>;
export type AbilityPrototypeConditionalCooldownsItem = GetStructType<{
ConditionTag: string;
TriggeredCooldowns: AbilityPrototypeTriggeredCooldowns;
}>;
export type AbilityPrototypeDamageParams = GetStructType<{
ArmorDamage: number;
ArmorPiercing: number;
Bleeding: number;
BleedingChanceIncrement: number;
bShouldIgnoreArmor: boolean;
Damage: number;
DamageSource: EDamageSource;
DamageType: EDamageType;
}>;
export type AbilityPrototypeEffects = GetStructType<AbilityPrototypeEffectsItem[]>;
export type AbilityPrototypeEffectsDistanced = GetStructType<AbilityPrototypeEffectsDistancedItem[]>;
export type AbilityPrototypeEffectsDistancedItem = GetStructType<{
Chance: number;
EffectPrototypeSID: string;
MaxDistance: number;
MinDistance: number;
}>;
export type AbilityPrototypeEffectsItem = GetStructType<{
Chance: number;
EffectPrototypeSID: string;
ShouldPauseByDialog: boolean;
}>;
export type AbilityPrototypeEnemyVisibilityParams = GetStructType<{
CanSeeThroughOcluders: boolean;
DistanceRange: AbilityPrototypeRadius;
OwnerEyesOffset: number;
VisibilityTestChannel: ECollisionChannel;
VisibilityTestRadius: number;
}>;
export type AbilityPrototypeIgnoredCalibersSet = GetStructType<AbilityPrototypeIgnoredCalibersSetItem[]>;
export type AbilityPrototypeIgnoredCalibersSetItem = GetStructType<{
IgnoredCaliber: EAmmoCaliber;
}>;
export type AbilityPrototypePossessedWeaponParams = GetStructType<{
GroundOffset: number;
MaxLevitationDisplacement: AIGlobalRelativeLocation;
MaxLevitationFrequency: AIGlobalRelativeLocation;
MovementSpeed: number;
RotationSpeed: number;
ShootingDuration: ObjPrototypeExplorationRadius;
}>;
export type AbilityPrototypePsyAbilityAimOffset = GetStructType<{
AnimOffset: string;
InterpolationSpeed: number;
MaxAngle: number;
}>;
export type AbilityPrototypeRadius = GetStructType<{
X: number;
Y: number;
}>;
export type AbilityPrototypeRequiredObjTypeList = GetStructType<EObjType[]>;
export type AbilityPrototypeShieldParams = GetStructType<{
AttachToBone: string;
BlueprintPath: string;
IsStationary: boolean;
MaxTimeSinceLastDamage: number;
MinAccumulatedDamage: number;
MinDistToEnemy: number;
ShieldSpawnDelay: number;
}>;
export type AbilityPrototypeSpawnAbilityItemSIDs = StringArray;
export type AbilityPrototypeSummonObjects = GetStructType<AbilityPrototypeSummonObjectsItem[]>;
export type AbilityPrototypeSummonObjectsItem = GetStructType<{
ActorNeedsDestroyOnDeath: boolean;
Behaviour: ESummonBehaviourOnSpawn;
Chance: number;
DiesWhenAbilityOwnerDies: boolean;
DiesWhenAbilityOwnerLeavesCombat: boolean;
MaxLifetime: number;
OffscreenTimeToDie: number;
Orientation: ESummonSpawnOrientation;
OrientationOffset: number;
PrototypeSID: string;
PsyNPCType: EPsyNPCType;
}>;
export type AbilityPrototypeSummonParams = GetStructType<{
MaxInstancesInGroup: number;
SpawnAngleDistribution: AbilityPrototypeRadius;
SpawnAngleInitialOffset: AbilityPrototypeRadius;
SpawnAroundEnemy: boolean;
SpawnDelay: number;
SpawnEffects: boolean;
SpawnRadius: AbilityPrototypeRadius;
SummonObjects: AbilityPrototypeSummonObjects;
SwapPlaces: boolean;
}>;
export type AbilityPrototypeTriggeredCooldowns = GetStructType<AbilityPrototypeTriggeredCooldownsItem[]>;
export type AbilityPrototypeTriggeredCooldownsItem = GetStructType<{
bForce: boolean;
CooldownTag: string;
Duration: number;
}>;
export type Achievement = GetStructType<{
AcceptableInterval: number;
AnomalyPrototypeSID: string;
ArmorSIDs: AchievementArmorSIDs;
BleedingThreshold: number;
Calibers: AchievementCalibers;
DrunkennessThreshold: number;
DrunknessThreshold: number;
FoodSet: AchievementFoodSet;
HeadshotDistance: number;
HungerThreshold: number;
Items: AchievementItems;
MarkerTypes: AchievementMarkerTypes;
MinHeight: number;
MinSquadSize: number;
MutantSID: string;
MutantsSID: AchievementArmorSIDs;
NumberOfWeapons: number;
PsyThreshold: number;
RadiationThreshold: number;
RequiredCount: number;
SleepinessThreshold: number;
TargetSID: string;
TimeWindow: number;
}> & GetStructType<AchievementAchievementGoalsItem[]>;
export type AchievementAchievementGoalsItem = GetStructType<{
Goal: number;
SID: string;
}>;
export type AchievementArmorSIDs = StringArray;
export type AchievementCalibers = GetStructType<EAmmoCaliber[]>;
export type AchievementFoodSet = GetStructType<AIGlobalMaterialsItem[]>;
export type AchievementItems = StringArray;
export type AchievementMarkerTypes = GetStructType<EMarkerType[]>;
export type AIGlobal = GetStructType<{
ALifeSettings: AIGlobalALifeSettings;
AllowCorpseProcessForQuestAgent: boolean;
AllowWeaponPickupBasedOnPrice: boolean;
AllowWeaponPickupWhenLooting: boolean;
AnomalyRestrictionsSettings: AIGlobalAnomalyRestrictionsSettings;
AudioRoomLoudnessMultiplierList: AIGlobalAudioRoomLoudnessMultiplierList;
CharacterPoseSettings: AIGlobalCharacterPoseSettings;
CombatTacticsSettings: AIGlobalCombatTacticsSettings;
ContextualActionSettings: AIGlobalContextualActionSettings;
CorpseBehaviorFactionRestrictions: NPCPrototypeSkills;
CoverSettings: AIGlobalCoverSettings;
DangerAreaSettings: AIGlobalDangerAreaSettings;
DeadBodyToConsiderAsThreatDuration: number;
DistanceToSwitchToWalkIn: number;
DistanceToSwitchToWalkOut: number;
FlashlightInteractDuration: number;
FlashlightTimeOfDayOff: number;
FlashlightTimeOfDayOn: number;
FlashlightUseSettings: AIGlobalFlashlightUseSettings;
FocusLocationSelectionSettings: AIGlobalFocusLocationSelectionSettings;
ForceRunInsteadSprintDistanceFromPathStart: number;
ForceRunInsteadSprintDistanceToNextPortal: number;
ForceRunInsteadSprintDistanceToPathEnd: number;
ForceRunInsteadSprintPortalRotationAngleThreshold: number;
HearingSensorSettings: AIGlobalHearingSensorSettings;
HideWeaponWarningBarkDelay: string;
LuminanceSettings: AIGlobalLuminanceSettings;
MaterialTranslucencyList: AIGlobalMaterialTranslucencyList;
MaxAgentsCount: number;
MaxHideWeaponWarningFollowDistance: string;
MinALifeDespawnDistance: number;
MinALifeSpawnDistance: number;
MutantCorpseProcessFactionPerRank: AIGlobalMutantCorpseProcessFactionPerRank;
OfflineUsingGameGraphMoveFactor: number;
PhysMatSettings: AIGlobalPhysMatSettings;
PlayerFlashlightVisionSettings: AIGlobalPlayerFlashlightVisionSettings;
PreyLighterOffVisibilityCoef: number;
PreyLighterOnVisibilityCoef: number;
ReactionOnEmissionSettings: AIGlobalReactionOnEmissionSettings;
RegionRank: AIGlobalRegionRank;
SID: string;
SoundEventTypeSpreadSpeedList: AssetLibraryUIIcons;
ThreatsSettings: AIGlobalThreatsSettings;
ThrowGrenadeSettings: AIGlobalThrowGrenadeSettings;
TimeToSkipLairPeacefulSpawnAfterMemberDies: number;
TouchSensorSettings: AIGlobalTouchSensorSettings;
WeaponAttachmentsModifiersList: AIGlobalWeaponAttachmentsModifiersList;
WeaponLootDistance: number;
WeatherSettings: AIGlobalWeatherSettings;
}>;
export type AIGlobalALifeSettings = GetStructType<{
OfflineCombatAreaLifetimeSeconds: number;
}>;
export type AIGlobalAllowedRanks = GetStructType<EAgentRankMask[]>;
export type AIGlobalAnomalyRestrictionsSettings = GetStructType<{
AnomalyRestrictionsIgnoreChanceZombie: number;
AnomalyRestrictionsUpdateIntervalSeconds: number;
}>;
export type AIGlobalArmy = GetStructType<{
[k in Rank]: number;
}>;
export type AIGlobalAudioRoomLoudnessMultiplierList = GetStructType<AIGlobalAudioRoomLoudnessMultiplierListItem[]>;
export type AIGlobalAudioRoomLoudnessMultiplierListItem = GetStructType<{
LoudnessMultiplier: number;
Type: EAudioRoomPresetBandwidth;
}>;
export type AIGlobalAvailableGrenadesPerFaction = GetStructType<{
Army: AIGlobalArmy;
Bandits: AIGlobalBandits;
Humanoid: AIGlobalBandits;
}>;
export type AIGlobalBandits = GetStructType<{
[k in Rank]: number;
} & {
ChangeChance: number;
ConfidenceToAttack: number;
ConfidenceToRetreat: number;
UpdateIntervalSecondsMax: number;
UpdateIntervalSecondsMin: number;
}>;
export type AIGlobalCharacterPoseSettings = GetStructType<AIGlobalCharacterPoseSettingsItem[]>;
export type AIGlobalCharacterPoseSettingsItem = GetStructType<{
NoiseCoef: number;
Pose: EStateTag;
VisibilityCoef: number;
}>;
export type AIGlobalCombatTacticsParamsPerFactions = GetStructType<{
Bandits: AIGlobalBandits;
Humanoid: AIGlobalBandits;
Monolith: AIGlobalMutant;
Mutant: AIGlobalMutant;
}>;
export type AIGlobalCombatTacticsSettings = GetStructType<{
CombatTacticsParamsPerFactions: AIGlobalCombatTacticsParamsPerFactions;
}>;
export type AIGlobalContextualActionSettings = GetStructType<{
ContextualActionGameGraphPathActuationDistance: number;
ContextualActionInterruptAnimationScaleWhenThreatened: number;
ContextualActionSearchDistance: number;
ContextualActionSearchFriendDistance: number;
DistanceToEquipWeaponBeforeContextualAction: number;
DistanceToHideWeaponBeforeContextualAction: number;
DistanceToTurnOffFlashlightBeforeContextualActionSquared: number;
DistanceToTurnOnFlashlightBeforeContextualActionSquared: number;
}>;
export type AIGlobalCoverSettings = GetStructType<{
MinBehindTreeCoverHeight: string;
MinGenericCoverHeight: string;
MinGenericCoverWidth: string;
MinHighCoverHeight: string;
MinLowCoverHeight: string;
MinSmartWidth: string;
}>;
export type AIGlobalDangerAreaSettings = GetStructType<{
DangerAreaCostMultiplier: number;
DangerAreaLifetimeDistance: number;
DangerAreaLifetimeSeconds: number;
DangerAreaMaxNum: number;
DangerAreaOverlapsForRestriction: number;
DangerAreaPlayerDamageAccumulationSeconds: number;
DangerAreaRadius: number;
}>;
export type AIGlobalEnvironmentLuminanceCoefficients = GetStructType<{
RoomBaseCoefficients: AIGlobalRoomBaseCoefficients;
TimeOfDayBaseLuminance: AIGlobalTimeOfDayBaseLuminance;
WeatherLuminanceCoefficients: AIGlobalWeatherLuminanceCoefficients;
}>;
export type AIGlobalFlashlightUseSettings = GetStructType<{
FlashlightMeshDespawnDelay: number;
FlashlightMeshDespawnNPCToCameraAngleThreshold: number;
FlashlightMeshDespawnPlayerCameraFOVDistance: number;
FlashlightMinStateTime: number;
FlashlightUseLuminanceThresholdDayOff: number;
FlashlightUseLuminanceThresholdDayOn: number;
FlashlightUseTracePoints: AIGlobalFlashlightUseTracePoints;
MaxFlashlightAgentProcessPerUpdate: number;
MaxFlashlightsUsedSimultaneously: number;
MaxFlashlightUseTracesPerUpdate: number;
}>;
export type AIGlobalFlashlightUseTracePoints = GetStructType<AIGlobalFlashlightUseTracePointsItem[]>;
export type AIGlobalFlashlightUseTracePointsItem = GetStructType<{
RelativeLocation: AIGlobalRelativeLocation;
}>;
export type AIGlobalFocusLocationSelectionSettings = GetStructType<{
FocusLocationStartLookingEarlyOffset: number;
}>;
export type AIGlobalHearingSensorSettings = GetStructType<{
NonEnemySoundHearingCoef: number;
SoundVisionValidationThreshold: number;
}>;
export type AIGlobalLuminanceSettings = GetStructType<{
BaseLuminance: number;
EnvironmentLuminanceCoefficients: AIGlobalEnvironmentLuminanceCoefficients;
LightLuminanceByTimeOfDayCurve: string;
LightSourceLuminanceMultiplier: number;
MaxLightGatheringRadius: number;
MaxLuminanceAgentProcessPerUpdate: number;
MaxLuminanceTracesPerUpdate: number;
MinAmbientLuminanceToSkipTraces: number;
ShadowLuminanceByTimeOfDayCurve: string;
ShadowOffsetByTimeOfDayCurve: string;
}>;
export type AIGlobalMaterials = GetStructType<AIGlobalMaterialsItem[]>;
export type AIGlobalMaterialsItem = GetStructType<{
SID: string;
}>;
export type AIGlobalMaterialTranslucencyList = GetStructType<AIGlobalMaterialTranslucencyListItem[]>;
export type AIGlobalMaterialTranslucencyListItem = GetStructType<{
Materials: AIGlobalMaterials;
Translucency: number;
}>;
export type AIGlobalMutant = GetStructType<{
ChangeChance: number;
ConfidenceToAttack: number;
ConfidenceToRetreat: number;
UpdateIntervalSecondsMax: number;
UpdateIntervalSecondsMin: number;
}>;
export type AIGlobalMutantCorpseProcessFactionPerRank = GetStructType<AIGlobalMutantCorpseProcessFactionPerRankItem[]>;
export type AIGlobalMutantCorpseProcessFactionPerRankItem = GetStructType<{
AllowedRanks: AIGlobalAllowedRanks;
Faction: string;
}>;
export type AIGlobalPhysMatSettings = GetStructType<AIGlobalPhysMatSettingsItem[]>;
export type AIGlobalPhysMatSettingsItem = GetStructType<{
CharacterNoiseCoef: number;
MaterialType: EPhysicalMaterialType;
}>;
export type AIGlobalPlayerFlashlightVisionSettings = GetStructType<{
FlashlightMaxVisionScorePerSecond: number;
FlashlightMinVisionScorePerSecond: number;
FlashlightVisionConeHalfAngle: number;
FlashlightVisionConeLength: number;
NumTracePointsPerVisionUpdate: number;
}>;
export type AIGlobalReactionOnEmissionSettings = GetStructType<{
DistanceToAvoidPreparingForEmission: number;
DistanceToShelterToWalk: number;
InvulnerableAfterEmissionStart: number;
MinCoveredDistanceToChangeMovementType: number;
ReceivedDamageTimeToEnterCombatDuringEmission: number;
ReceivedDamageToEnterCombatDuringEmission: number;
SheltersSearchDistance: number;
TransitionAlphaToPrepareForEmission: number;
}>;
export type AIGlobalRegionRank = GetStructType<AIGlobalRegionRankItem[]>;
export type AIGlobalRegionRankItem = GetStructType<{
MaxRank: ERank;
MinRank: ERank;
Region: ERegion;
}>;
export type AIGlobalRelativeLocation = GetStructType<{
X: number;
Y: number;
Z: number;
}>;
export type AIGlobalRoomBaseCoefficients = GetStructType<AIGlobalRoomBaseCoefficientsItem[]>;
export type AIGlobalRoomBaseCoefficientsItem = GetStructType<{
Coefficient: number;
RoomType: EAudioRoomPresetBandwidth;
}>;
export type AIGlobalThreatsSettings = GetStructType<{
CorpseSmellAfterDeathTimeout: number;
EnemyReportDelaySeconds: number;
FlairIdentifyAsEnemyOutsideFrontZoneMultiplier: number;
LootingCorpsesDeathTimeInterval: number;
ThreatReportDelaySeconds: number;
}>;
export type AIGlobalThrowGrenadeSettings = GetStructType<{
AvailableGrenadesPerFaction: AIGlobalAvailableGrenadesPerFaction;
}>;
export type AIGlobalTimeOfDayBaseLuminance = GetStructType<AIGlobalTimeOfDayBaseLuminanceItem[]>;
export type AIGlobalTimeOfDayBaseLuminanceItem = GetStructType<{
Luminance: number;
TimeFrom: number;
TimeTill: number;
}>;
export type AIGlobalTouchSensorSettings = GetStructType<{
TouchDistanceThreshold: number;
TouchNonEnemyPlayerLookAtTime: number;
TouchNonEnemyPlayerReactionTime: number;
TouchSensorCooldown: number;
}>;
export type AIGlobalWeaponAttachmentsModifiersList = GetStructType<AIGlobalWeaponAttachmentsModifiersListItem[]>;
export type AIGlobalWeaponAttachmentsModifiersListItem = GetStructType<{
HearingDistanceModifier: number;
ThreatPointsMultiplier: number;
WeaponAttachmentSID: string;
}>;
export type AIGlobalWeatherLuminanceCoefficients = GetStructType<AIGlobalWeatherLuminanceCoefficientsItem[]>;
export type AIGlobalWeatherLuminanceCoefficientsItem = GetStructType<{
Coefficient: number;
WeatherType: EWeather;
}>;
export type AIGlobalWeatherSettings = GetStructType<AIGlobalWeatherSettingsItem[]>;
export type AIGlobalWeatherSettingsItem = GetStructType<{
FlairCoef: number;
HearingDistanceCoef: number;
VisibilityCoef: number;
WeatherSID: string;
}>;
export type AimAssistConePrototype = GetStructType<{
AimAssistWeightsSID: string;
AngleCurvePath: string;
HeightCurvePath: string;
SID: string;
TrackedBones: AimAssistConePrototypeTrackedBones;
}>;
export type AimAssistConePrototypeTrackedBones = GetStructType<EDamageBone[]>;
export type AimAssistPresetPrototype = GetStructType<{
LostTargetTrackingTime: number;
MagnetismAimAssistConeSIDs: CoreVariableHead;
MovingTrackingAimAssistConeSID: string;
SID: string;
SnappingAimAlphaThreshold: number;
SnappingAimAssistConeSID: string;
SnappingCameraHorizontalMovementTolerance: number;
SnappingCameraRadiusTolerance: number;
SnappingCameraVerticalMovementTolerance: number;
SnappingRecoilModifier: number;
SnappingTimeCurvePath: string;
StationaryTrackingAimAssistConeSID: string;
StickinessAimAssistConeSID: string;
}>;
export type AimAssistWeightsPrototype = GetStructType<{
InitialWeight: number;
MinWeight: number;
SID: string;
WeightRules: AimAssistWeightsPrototypeWeightRules;
}>;
export type AimAssistWeightsPrototypeWeightRules = GetStructType<AimAssistWeightsPrototypeWeightRulesItem[]>;
export type AimAssistWeightsPrototypeWeightRulesItem = GetStructType<{
Type: EAimAssistWeightType;
WeightModifier: number;
}>;
export type ALifeDirectorScenarioPrototype = GetStructType<{
ALifeScenarioNPCArchetypesLimitsPerPlayerRank: ALifeDirectorScenarioPrototypeALifeScenarioNPCArchetypesLimitsPerPlayerRank;
DefaultALifeLairExpansionToPlayerTimeMax: number;
DefaultALifeLairExpansionToPlayerTimeMin: number;
DefaultEmissionScenarioGroup: string;
DefaultEmptyScenarioGroup: string;
DefaultExpansionSquadNumMax: number;
DefaultExpansionSquadNumMin: number;
DefaultPostSpawnDirectorTimeoutMax: number;
DefaultPostSpawnDirectorTimeoutMin: number;
DefaultScenarioGroup: string;
DefaultShouldDespawnNPCs: boolean;
DefaultSpawnDelayMax: number;
DefaultSpawnDelayMin: number;
FallbackMaxSpawnCount: number;
FallbackNPCTypes: CoreVariableLegs;
ProhibitedAgentTypes: ALifeDirectorScenarioPrototypeProhibitedAgentTypes;
RestrictedObjPrototypeSIDs: ALifeDirectorScenarioPrototypeRestrictedObjPrototypeSIDs;
ScenarioGroups: ALifeDirectorScenarioPrototypeScenarioGroups;
Scenarios: ALifeDirectorScenarioPrototypeScenarios;
SID: string;
}>;
export type ALifeDirectorScenarioPrototypeALifeScenarioNPCArchetypesLimitsPerPlayerRank = GetStructType<ALifeDirectorScenarioPrototypeALifeScenarioNPCArchetypesLimitsPerPlayerRankItem[]>;
export type ALifeDirectorScenarioPrototypeALifeScenarioNPCArchetypesLimitsPerPlayerRankItem = GetStructType<{
Rank: ERank;
Restrictions: ALifeDirectorScenarioPrototypeRestrictions;
}>;
export type ALifeDirectorScenarioPrototypeHub = GetStructType<{
PostSpawnDirectorTimeoutMax: number;
PostSpawnDirectorTimeoutMin: number;
ScenarioSIDs: ALifeDirectorScenarioPrototypeScenarioSIDs;
SID: string;
SpawnDelayMax: number;
SpawnDelayMin: number;
}>;
export type ALifeDirectorScenarioPrototypeMutant_AttackEnemyLair = GetStructType<{
ExpansionSquadNumMax: number;
ExpansionSquadNumMin: number;
PlayerRequiredRank: ERank;
ScenarioGroupsTarget: EALifeDirectorScenarioTarget;
ScenarioSquads: ALifeDirectorScenarioPrototypeScenarioSquads;
ScenarioWeight: number;
SID: string;
}>;
export type ALifeDirectorScenarioPrototypeProhibitedAgentTypes = GetStructType<EAgentType[]>;
export type ALifeDirectorScenarioPrototypeRestrictedObjPrototypeSIDs = StringArray;
export type ALifeDirectorScenarioPrototypeRestrictions = GetStructType<ALifeDirectorScenarioPrototypeRestrictionsItem[]>;
export type ALifeDirectorScenarioPrototypeRestrictionsItem = GetStructType<{
AgentType: EAgentType;
MaxCount: number;
}>;
export type ALifeDirectorScenarioPrototypeScenarioGroups = GetStructType<{
[key in ScenarioGroup]: ALifeDirectorScenarioPrototypeHub;
}>;
export type ALifeDirectorScenarioPrototypeScenarios = GetStructType<{
[k in string]: ALifeDirectorScenarioPrototypeMutant_AttackEnemyLair;
}>;
export type ALifeDirectorScenarioPrototypeScenarioSIDs = GetStructType<{
[k in string]: ALifeDirectorScenarioPrototypeMutant_AttackEnemyLair;
}>;
export type ALifeDirectorScenarioPrototypeScenarioSquads = GetStructType<ALifeDirectorScenarioPrototypeScenarioSquadsItem[]>;
export type ALifeDirectorScenarioPrototypeScenarioSquadsItem = GetStructType<{
AgentArchetype: EAgentArchetype;
AgentPrototypeSID: string;
AliveMultiplierMax: number;
AliveMultiplierMin: number;
bPlayerEnemy: boolean;
DeadMultiplier: number;
RelationGroup: number;
WoundedMultiplier: number;
}>;
export type ALifePolicyPrototype = GetStructType<{
CorpseRadius: number;
FarLairDistance: string;
FullWipeRefillCooldown: string;
MaxCorpsePerRadius: string;
MaxRefillDistance: number;
MinRefillDistance: number;
PartialWipeRefillCooldown: string;
SeenLongAgoByPlayerSec: string;
SID: string;
StopExtinction: number;
StopOfflineALifeCorpseDecomposition: number;
TriggerExtinction: number;
TriggerOfflineALifeCorpseDecomposition: number;
}>;
export type ALifePopulationManagerFactionPrototype = GetStructType<{
ALifeLairExpansionRadius: number;
ALifeLairExpansionTime: number;
ALifeStartSimulation: string;
Factions: ALifePopulationManagerFactionPrototypeFactions;
SID: string;
}>;
export type ALifePopulationManagerFactionPrototypeALifeFactionGoals = GetStructType<{
[key in FactionGoalType]: ALifePopulationManagerFactionPrototypeNormal;
}>;
export type ALifePopulationManagerFactionPrototypeFactions = GetStructType<{
[key in Faction]: ALifePopulationManagerFactionPrototypeRat;
}>;
export type ALifePopulationManagerFactionPrototypeNormal = GetStructType<{
MaxLairs: number;
MinLairs: number;
TacticType: EALifeFactionGoalType;
}>;
export type ALifePopulationManagerFactionPrototypeRat = GetStructType<{
ALifeFactionGoals: ALifePopulationManagerFactionPrototypeALifeFactionGoals;
ALifeLairExpansionBattleChance: number;
Faction: string;
}>;
export type AmmoPrototype = GetStructType<{
AimDispersionMod: number;
AmmoPackCount: number;
AmmoType: EAmmoType;
ArmorDamageMod: number;
ArmorPiercingMod: number;
BleedingMod: number;
Caliber: EAmmoCaliber;
CaliberSoundSwitch: string;
Cost: number;
CoverPiercingMod: number;
CrosshairMod: ECrosshairType;
DamageMod: number;
DamageSource: EDamageSource;
DispersionMod: number;
EffectPrototypeSIDs: NPCPrototypeSkills;
FittingWeaponsSIDs: SingletonConstantArmy;
FlatnessMod: number;
FPShellFXPath: string;
FractionCount: number;
Icon: string;
ImpulseToObjectsMod: number;
ItemGridWidth: number;
ItemTypeSwitchValue: string;
MaxStackCount: number;
MeshPrototypeSID: string;
OffsetAimDispersionMod: number;
PhysicsInteractionPrototypeSID: string;
RecoilMod: number;
ShellSoundEventPath: string;
SID: string;
TPShellFXPath: string;
Type: EItemType;
WeaponExhaustionMod: number;
Weight: number;
}>;
export type AnimationBudgetPrototype = GetStructType<{
AlwaysTickFalloffAggression: number;
AutoCalculatedSignificanceMaxDistance: number;
BudgetFactorBeforeAggressiveReducedWork: number;
BudgetFactorBeforeReducedWork: number;
BudgetFactorBeforeReducedWorkEpsilon: number;
BudgetInMs: number;
BudgetPressureBeforeEmergencyReducedWork: number;
BudgetPressureSmoothingSpeed: number;
CalculateSignificanceMethod: ECalculateSignificance;
DistanceSignificanceMultiplier: number;
InitialEstimatedWorkUnitTimeMs: number;
InterpolationFalloffAggression: number;
InterpolationMaxRate: number;
InterpolationTickMultiplier: number;
MaxInterpolatedComponents: number;
MaxTickedOffsreenComponents: number;
MaxTickRate: number;
MinQuality: number;
ReducedWorkThrottleMaxInFrames: number;
ReducedWorkThrottleMaxPerFrame: number;
ReducedWorkThrottleMinInFrames: number;
ScreenSizeSignificanceMultiplier: number;
SID: string;
SignificanceMultiplierCurve: string;
SignificanceMultiplierForInvisibleComponents: number;
StateChangeThrottleInFrames: number;
WorkUnitSmoothingSpeed: number;
}>;
export type AnomalyOverlapPrototype = GetStructType<{
FirstAnomalyType: EAnomalyType;
IsOverlapAllowed: boolean;
SecondAnomalyType: EAnomalyType;
SID: number;
}>;
export type AnomalyPrototype = GetStructType<{
ActivateFeedbackRadius: number;
ActivationDelay: string;
ActivationSpeedThreshold: number;
ActiveSwitchPath: string;
AlphaAngleDeg: number;
AngularDamping: number;
AnomalyElementType: EAnomalyElementType;
AnomalyInterpolationSpeed: number;
AnomalySpeedToMaxArtifacts: number;
AnomalyStuckTime: number;
ArtifactEatingExplodeHeight: number;
ArtifactEatingExplodeRadius: number;
ArtifactEatingRadius: number;
ArtifactEatingTime: number;
ArtifactNavigationHeight: number;
AuxBusPath: string;
bBulletDestruction: boolean;
bHasSpaceRestrictor: boolean;
Blueprint: string;
BoltActivationAngle: number;
BoltAngularVelocityMultiplier: number;
BoltLinearVelocityMultiplier: number;
BonesToTrace: AnomalyPrototypeBonesToTrace;
bTraceObjectsOnOverlap: boolean;
BubblePrototype: AnomalyPrototypeBubblePrototype;
BulletSpeedOverride: number;
CharacterPushingImpulse: number;
ClickerOtherAnomalyJumpChance: number;
ClickerOuterRadius: number;
ClickerOuterRadiusJumpChance: number;
CloseArtifactRadius: number;
CollisionFormType: ECollisionFormType;
CollisionHeight: number;
Cooldown: number;
CullingDistance: string;
DamageEffectSpawnChance: number;
DefaultAnomalyRadius: number;
DefaultHeightOffset: number;
DestructibleDamage: number;
DiamondAuxFilter: string;
DiamondParticle: string;
Duration: number;
EMIDuration: number;
EMIRadius: number;
EpicenterRadius: number;
EquipmentDamage: number;
ExplosionActiveTime: number;
FadeRate: number;
FadeSwitchPath: string;
FadeTime: number;
FakeArtifactSpawnAmountMax: number;
FakeArtifactSpawnAmountMin: number;
FirstPersonSwitchPath: string;
FlamePillarHeight: number;
FlamePillarRadius: number;
GrenadeAngularVelocityMultiplier: number;
GrenadeLinearVelocityMultiplier: number;
HuntDistance: number;
IdleSwitchPath: string;
IgnoredProjectileSIDs: NPCPrototypeSkills;
ImmuneObjPrototypeSIDs: NPCPrototypeSkills;
InteractionEffectPrototypeSIDs: CoreVariableTorso;
ItemDefaultVelocityMultiplier: number;
LavaClotTTLMax: number;
LavaClotTTLMin: number;
LavaHitEffectPrototypeSIDs: CoreVariableHead;
LavaItemHitEffectPrototypeSIDs: NPCPrototypeSkills;
LiftingHeight: number;
LiftUpTime: number;
LinearDamping: number;
MaxArtifactsToUpSpeed: number;
MovementLocationPriorityRadius: number;
MovementSpeed: number;
MoveToTargetUpdateDelay: number;
ObjectDamageDistanceThreshold: number;
OnlyDetectSlotsArtifacts: boolean;
OutputBusVolume: number;
OutputBusVolumeInterpolationTime: number;
OverridePhysicsMaterial: string;
ParticleChargeTime: number;
ParticleCollisionRadius: number;
ParticleCooldownTime: number;
ParticleDamageRadius: number;
ParticleMaxCount: string;
ParticleMinDistanceToTarget: number;
ParticlePrototype: AnomalyPrototypeParticlePrototype;
ParticleSpawnDelay: number;
ParticleSpawnHeight: number;
ParticleSpawnPredictionTime: number;
PassiveEffectPrototypeSIDs: CoreVariableHead;
PillowVFXLerpDuration: number;
PlayerSpiralingPower: number;
PlayerStanceChangeEffectPrototypeSIDs: AssetLibraryUIIcons;
PostInteractionEffectPrototypeSIDs: NPCPrototypeSkills;
PreInteractionEffectPrototypeSIDs: NPCPrototypeSkills;
PullForce: number;
PushImpulse: number;
PushingForce: number;
PushingImpulse: number;
Radius: number;
RTPC_Anomaly_Flycatcher_InfluenceLevel: string;
SFX_Anomaly_Flycatcher: string;
ShouldLiftUpSimulatePhysics: boolean;
SID: string;
SoundEventPath: string;
SpawnParticleBottomThreshold: number;
SpawnParticleTopThreshold: number;
SpeedRotationInPlace: number;
"ST_GameState-Default": string;
"ST_GameState-Flycatcher": string;
TargetChaseTime: number;
TargetLostDelay: number;
ThirdPersonSwitchPath: string;
TimeToCenter: number;
ToxicCloudAppearTime: number;
ToxicCloudBoxCollision: AIGlobalRelativeLocation;
ToxicCloudDisappearChance: number;
ToxicCloudDisappearCheck: number;
ToxicCloudDisappearTime: number;
TriggerSwitchPath: string;
Type: EAnomalyType;
VFXBlendInTime: number;
VFXBlendOutTime: number;
VFXHideRadius: number;
VoidRadiusMax: number;
VoidRadiusMin: number;
WaterContactMaxApplicationDistance: number;
WaterContactNiagaraSystemVFX: string;
ZeroGravityRadius: number;
}>;
export type AnomalyPrototypeBonesToTrace = GetStructType<EObjSkeletalMeshTraceBone[]>;
export type AnomalyPrototypeBubblePrototype = GetStructType<{
BubbleFormationTime: number;
DamageRadius: number;
MaxHP: number;
MaxSpeed: number;
MinHP: number;
MinSpeed: number;
ReflectionOffset: number;
SpeedGainTime: number;
SpeedLossTime: number;
TargetIgnoreTime: number;
TargetLocationUpdateFrequency: number;
TargetOffset: number;
}>;
export type AnomalyPrototypeParticlePrototype = GetStructType<{
CollisionRadiusMax: number;
CollisionRadiusMin: number;
DamageRadius: number;
InitialSpeedInterpolationTime: number;
InteractionEffectPrototypeSIDs: CoreVariableTorso;
MaxHP: number;
MaxInitialSpeed: number;
MaxSpeed: number;
MaxTTL: number;
MinHP: number;
MinInitialSpeed: number;
MinSpeed: number;
MinTTL: number;
ParticleAmountMax: number;
ParticleAmountMin: number;
ReflectionOffset: number;
SpeedGainTime: number;
SpeedLossTime: number;
SpreadingRadius: number;
TargetOffset: number;
}>;
export type ArmorPrototype = GetStructType<{
ArmorSoundType: string;
ArtifactSlots: number;
BaseDurability: number;
bBlockHead: boolean;
bPreventFromLimping: boolean;
Cost: number;
EffectPrototypeSIDs: CoreVariableHead;
Icon: string;
IncreaseSpeedCoef: number;
Invisible: boolean;
ItemGridHeight: number;
ItemGridWidth: number;
ItemSlotType: EInventoryEquipmentSlot;
ItemTypeSwitchValue: string;
LocalizationSID: string;
MaxStackCount: number;
MeshGenerator: ArmorPrototypeMeshGenerator;
MeshPrototypeSID: string;
NoiseCoef: number;
NpcMeshGenerator: ArmorPrototypeNpcMeshGenerator;
PhysicsInteractionPrototypeSID: string;
PreinstalledUpgrades: NPCPrototypeSkills;
Protection: ArmorPrototypeProtection;
ProtectionNPC: ArmorPrototypeProtection;
SectionSettings: ArmorPrototypeSectionSettings;
SID: string;
StaggerEffectPrototypeSID: string;
Type: EItemType;
UpgradePrototypeSIDs: ArmorPrototypeUpgradePrototypeSIDs;
VoiceModulatorSID: string;
Weight: number;
}>;
export type ArmorPrototypeMeshGenerator = GetStructType<ArmorPrototypeMeshGeneratorItem[]>;
export type ArmorPrototypeMeshGeneratorItem = GetStructType<{
MeshGeneratorPrototypeSID: string;
Weight: number;
}>;
export type ArmorPrototypeNpcMeshGenerator = GetStructType<ArmorPrototypeMeshGeneratorItem[]>;
export type ArmorPrototypeProtection = GetStructType<{
Burn: number;
ChemicalBurn: number;
Fall: number;
PSY: number;
Radiation: number;
Shock: number;
Strike: number;
}>;
export type ArmorPrototypeSectionSettings = GetStructType<ArmorPrototypeSectionSettingsItem[]>;
export type ArmorPrototypeSectionSettingsItem = GetStructType<{
BottomPosition: number;
LeftPosition: number;
ModuleLineDirection: ELineDirection;
RightPoition: number;
SectionIsEnabled: boolean;
TopPosition: number;
UpgradeLineDirection: ELineDirection;
UpgradeTargetPartType: EUpgradeTargetPartType;
}>;
export type ArmorPrototypeUpgradePrototypeSIDs = StringArray;
export type ArtifactPrototype = GetStructType<{
AnomalyDamageDeflections: ArtifactPrototypeAnomalyDamageDeflections;
AnomalyElementType: EAnomalyElementType;
ArchiartifactType: EArchiartifactType;
ArtifactSpawn: boolean;
ArtifactType: EArtifactType;
ArtifactTypeSwitch: string;
Blueprint: string;
bUseCharge: string;
ChargeFullDecreaseSound: string;
ChargeFullIncreaseSound: string;
ChargeThreshold: number;
ChargingSound: string;
ChargingSpeed: number;
Cost: number;
DamageToStaminaCoefficient: number;
DamageToWeightCoefficient: number;
DestroyOnPickup: boolean;
DetectorRequired: boolean;
DisableCollisionWhenHide: boolean;
EffectOnPickPrototypeSIDs: ArtifactPrototypeEffectOnPickPrototypeSIDs;
EffectPrototypeSIDs: CoreVariableTorso;
EffectsDisplayTypes: ArtifactPrototypeEffectsDisplayTypes;
EffectsDuration: number;
FakeArtifactDissolveSound: string;
FakeArtifactDissolveVFX: string;
FakeArtifactDistortionSound: string;
FakeArtifactDistortionVFX: string;
FakeArtifactHaloVFX: string;
HasPhysics: boolean;
Icon: string;
InactiveIcon: string;
IsQuestItem: boolean;
ItemGridHeight: number;
ItemGridWidth: number;
ItemSlotType: EInventoryEquipmentSlot;
ItemTypeSwitchValue: string;
JumpAmount: number;
JumpDelay: number;
JumpDistance: number;
JumpForce: number;
JumpHeight: number;
JumpSeriesDelay: number;
JumpSound: string;
JumpSpeedCoef: number;
LifeTime: number;
LifeTimeDependant: boolean;
LocalizationSID: string;
MaxCharge: number;
MaxStackCount: number;
MaxWeight: number;
MeshPrototypeSID: string;
MinimalDrunkenness: number;
MinWeight: number;
NegativeEffectPrototypeSIDs: NPCPrototypeSkills;
ParticleOnImpact: string;
ParticleOnShow: string;
ParticleStateTransitionFadeIn: string;
ParticleStateTransitionFadeInDelay: number;
ParticleStateTransitionFadeOut: string;
ParticleStateTransitionFadeOutDelay: number;
Persistent: boolean;
PhysicsInteractionPrototypeSID: string;
PlayerDistance: number;
PositiveEffectPrototypeSIDs: CoreVariableTorso;
Radius: number;
Rarity: EArtifactRarity;
ReturnDistanceValue: number;
ShouldShowEffects: ArtifactPrototypeShouldShowEffects;
SID: string;
SoundStateTransitionOnHide: string;
SoundStateTransitionOnShow: string;
StateTransitionDelay: number;
Strafe: boolean;
Type: EItemType;
ViewOffset: AIGlobalRelativeLocation;
WakeUpEffectSIDs: NPCPrototypeSkills;
Weight: number;
WeightDecreaseAmount: number;
WeightDecreaseDelay: number;
WeightDecreaseRate: number;
}>;
export type ArtifactPrototypeAnomalyDamageDeflections = GetStructType<ArtifactPrototypeAnomalyDamageDeflectionsItem[]>;
export type ArtifactPrototypeAnomalyDamageDeflectionsItem = GetStructType<{
AnomalyType: EAnomalyType;
ChargeQuantity: number;
DamageDeflection: number;
TimeToReduceCharge: number;
}>;
export type ArtifactPrototypeEffectOnPickPrototypeSIDs = GetStructType<{
ViewOffset: AIGlobalRelativeLocation;
}> & GetStructType<string[]>;
export type ArtifactPrototypeEffectsDisplayTypes = GetStructType<EEffectDisplayType[]>;
export type ArtifactPrototypeShouldShowEffects = GetStructType<boolean[]>;
export type ArtifactSpawnerPrototype = GetStructType<{
[k in Rank]: ArtifactSpawnerPrototypeMaster;
} & {
ExcludeRules: ArtifactSpawnerPrototypeExcludeRules;
ID: number;
ListOfArtifacts: ArtifactSpawnerPrototypeListOfArtifacts;
SID: string;
SingleArtifactSpawner: boolean;
UseListOfArtifacts: boolean;
}>;
export type ArtifactSpawnerPrototypeExcludeRules = GetStructType<EArtifactSpawnerExcludeRule[]>;
export type ArtifactSpawnerPrototypeListOfArtifacts = StringArray;
export type ArtifactSpawnerPrototypeMaster = GetStructType<{
Count: number;
MaxCooldown: number;
MinCooldown: number;
Radius: number;
RarityChance: ArtifactSpawnerPrototypeRarityChance;
SpawnChanceBase: number;
SpawnChanceBonus: number;
}>;
export type ArtifactSpawnerPrototypeRarityChance = GetStructType<{
Common: number;
Epic: number;
Rare: number;
Uncommon: number;
}>;
export type AssetLibrary = GetStructType<{
AkEffectShareSet: AssetLibraryAkEffectShareSet;
AKRtpc: AssetLibraryAKRtpc;
AnimationBlueprints: AssetLibraryAnimationBlueprints;
AnomalyBlueprint: string;
Blueprint: AssetLibraryBlueprint;
CharacterBlueprint: AssetLibraryCharacterBlueprint;
CurveFloat: AssetLibraryCurveFloat;
InteractableBlueprint: AssetLibraryInteractableBlueprint;
ItemIcons: AssetLibraryUIIcons;
Material: AssetLibraryUIIcons;
MaterialInstanceConstant: AssetLibraryMaterialInstanceConstant;
MaterialParameterCollection: AssetLibraryMaterialParameterCollection;
NavModifiers: string;
NiagaraSystems: AssetLibraryNiagaraSystems;
NPCSpawnerBlueprint: string;
ParticleSystems: AssetLibraryParticleSystems;
ProjectileBlueprint: AssetLibraryProjectileBlueprint;
SkeletalMesh: AssetLibrarySkeletalMesh;
StaticMesh: AssetLibraryStaticMesh;
Texture2D: string;
TextureRenderTarget2D: AssetLibraryUIIcons;
UIIcons: AssetLibraryUIIcons;
UIWidgetBlueprint: AssetLibraryUIWidgetBlueprint;
}>;
export type AssetLibraryAkEffectShareSet = GetStructType<{
Full: string;
Medium: string;
Narrow: string;
}>;
export type AssetLibraryAKRtpc = GetStructType<{
CutsceneRTPCParameter: string;
DeathRTPCParameter: string;
DialogueRTPCParameter: string;
DialogueVolumeRTPCParameter: string;
DisableCopyrightedMusicRTPCParameter: string;
EffectsVolumeRTPCParameter: string;
MainVolumeRTPCParameter: string;
MusicVolumeRTPCParameter: string;
MuteAllRTPCParameter: string;
}>;
export type AssetLibraryAnimationBlueprints = GetStructType<{
BoltAnimationBlueprint: string;
InjectorAnimationBlueprint: string;
KnifeAnimationBlueprint: string;
PDAAnimationBlueprint: string;
}>;
export type AssetLibraryBlueprint = GetStructType<{
Bolt: string;
LevelTreesCollection: string;
Lever: string;