package BaseStats
using RTDB

SwayStat : Stat
{
	flags = 
	[
		"EquipOnPlayer", "EquipOnNPC"
	];
}

Sway : SwayStat
{
	localizedName = "LocKey#92417";
	enumName = "Sway";
	enumComment = "Master stat that is influencing all other spread stats via curves.";
	displayPercent = true;
	improvementRelation = "ImprovementRelation.Inverse";
}

SwaySideMinimumAngleDistance : SwayStat
{
	enumName = "SwaySideMinimumAngleDistance";
	min = 0;
	max = 30;
	enumComment = "minimum angle distance from the center point";
}

SwaySideMinimumAngleDistanceModifier : ConstantStatModifier
{
	statType = "BaseStats.SwaySideMinimumAngleDistance";
	modifierType = "Additive";
}

SwaySideMaximumAngleDistance : SwayStat
{
	enumName = "SwaySideMaximumAngleDistance";
	min = 0;
	max = 30;
	enumComment = "maximum angle distance from the center point";
}

SwaySideMaximumAngleDistanceModifier : ConstantStatModifier
{
	statType = "BaseStats.SwaySideMaximumAngleDistance";
	modifierType = "Additive";
}

SwaySideTopAngleLimit : SwayStat
{
	enumName = "SwaySideTopAngleLimit";
	min = 0;
	max = 90;
	enumComment = "top angle limit";
}

SwaySideTopAngleLimitModifier : ConstantStatModifier
{
	statType = "BaseStats.SwaySideTopAngleLimit";
	modifierType = "Additive";
}

SwaySideBottomAngleLimit : SwayStat
{
	enumName = "SwaySideBottomAngleLimit";
	min = 0;
	max = 90;
	enumComment = "bottom angle limit";
}

SwaySideBottomAngleLimitModifier : ConstantStatModifier
{
	statType = "BaseStats.SwaySideBottomAngleLimit";
	modifierType = "Additive";
}

SwayCenterMaximumAngleOffset : SwayStat
{
	enumName = "SwayCenterMaximumAngleOffset";
	min = 0;
	max = 30;
	enumComment = "center maximum angle offset";
}

SwayCenterMaximumAngleOffsetModifier : ConstantStatModifier
{
	statType = "BaseStats.SwayCenterMaximumAngleOffset";
	modifierType = "Additive";
}

SwayTraversalTime : SwayStat
{
	enumName = "SwayTraversalTime";
	min = 0;
	enumComment = "traversal time for both center-side and side-center sway (in seconds)";
}

SwayTraversalTimeModifier : ConstantStatModifier
{
	statType = "BaseStats.SwayTraversalTime";
	modifierType = "Additive";
}

SwayInitialOffsetRandomFactor : SwayStat
{
	enumName = "SwayInitialOffsetRandomFactor";
	min = 0;
	max = 1;
	enumComment = "tweak this value to start ADS with some sway already applied. '0' means it will always start in the screen center";
}

SwayInitialOffsetRandomFactorModifier : ConstantStatModifier
{
	statType = "BaseStats.SwayInitialOffsetRandomFactor";
	modifierType = "Additive";
}

SwayCurvatureMinimumFactor : SwayStat
{
	enumName = "SwayCurvatureMinimumFactor";
	min = 0;
	max = 1;
	enumComment = "curvature minimum factor for sway";
}

SwayCurvatureMinimumFactorModifier : ConstantStatModifier
{
	statType = "BaseStats.SwayCurvatureMinimumFactor";
	modifierType = "Additive";
}

SwayCurvatureMaximumFactor : SwayStat
{
	enumName = "SwayCurvatureMaximumFactor";
	min = 0;
	max = 1;
	enumComment = "curvature maximum factor for sway";
}

SwayCurvatureMaximumFactorModifier : ConstantStatModifier
{
	statType = "BaseStats.SwayCurvatureMaximumFactor";
	modifierType = "Additive";
}

SwaySideStepChangeMinimumFactor : SwayStat
{
	enumName = "SwaySideStepChangeMinimumFactor";
	min = 0;
	max = 1;
	enumComment = "minimum factor for changing spline position when swaying from center to side";
}

SwaySideStepChangeMinimumFactorModifier : ConstantStatModifier
{
	statType = "BaseStats.SwaySideStepChangeMinimumFactor";
	modifierType = "Additive";
}

SwaySideStepChangeMaximumFactor : SwayStat
{
	enumName = "SwaySideStepChangeMaximumFactor";
	min = 0;
	max = 1;
	enumComment = "maximum factor for changing spline position when swaying from center to side";
}

SwaySideStepChangeMaximumFactorModifier : ConstantStatModifier
{
	statType = "BaseStats.SwaySideStepChangeMaximumFactor";
	modifierType = "Additive";
}

SwayResetOnAimStart : SwayStat
{
	enumName = "SwayResetOnAimStart";
	min = 0;
	max = 1;
	enumComment = " whether to reset the sway every time player starts aiming";
}

SwayResetOnAimStartModifier : ConstantStatModifier
{
	statType = "BaseStats.SwayResetOnAimStart";
	modifierType = "Additive";
}

SwayStartDelay : SwayStat
{
	enumName = "SwayStartDelay";
	min = 0;
	max = 1;
	enumComment = "Delay before starting sway when user starts aiming [ s ]";
}

SwayStartDelayModifier : ConstantStatModifier
{
	statType = "BaseStats.SwayStartDelay";
	modifierType = "Additive";
}

SwayStartBlendTime : SwayStat
{
	enumName = "SwayStartBlendTime";
	min = 0;
	enumComment = "Time to blend on sway once SwayStartDelay is complete [ s ]";
}

SwayStartBlendTimeModifier : ConstantStatModifier
{
	statType = "BaseStats.SwayStartBlendTime";
	modifierType = "Additive";
}

