package PlayerLocomotion
using RTDB, BaseStats

player_locomotion_data_baseLocomotionState : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		"PlayerLocomotion.BaseLocomotionStateMinSpeedModifier", "PlayerLocomotion.BaseLocomotionStateMaxSpeedModifier", "PlayerLocomotion.BaseLocomotionStateAccelerationModifier", "PlayerLocomotion.BaseLocomotionStateDecelerationModifier", "PlayerLocomotion.BaseLocomotionStateBrakeModifier", "PlayerLocomotion.BaseLocomotionStateBrakeDotModifier", "PlayerLocomotion.BaseLocomotionStateJumpHeightModifier", "PlayerLocomotion.BaseLocomotionStateSpeedBoostModifier", "PlayerLocomotion.BaseLocomotionStateSpeedBoostMaxSpeedModifier", "PlayerLocomotion.BaseLocomotionStateAllowMovementInputModifier", "PlayerLocomotion.BaseLocomotionStateAllowRotationModifier"
	];
}

BaseLocomotionStateMinSpeedModifier : ConstantStatModifier
{
	statType = "BaseStats.MinSpeed";
	modifierType = "Additive";
	value = 0;
}

BaseLocomotionStateMaxSpeedModifier : ConstantStatModifier
{
	statType = "BaseStats.MaxSpeed";
	modifierType = "Additive";
	value = 4.5;
}

BaseLocomotionStateAccelerationModifier : ConstantStatModifier
{
	statType = "BaseStats.Acceleration";
	modifierType = "Additive";
	value = 24;
}

BaseLocomotionStateDecelerationModifier : ConstantStatModifier
{
	statType = "BaseStats.Deceleration";
	modifierType = "Additive";
	value = 24;
}

BaseLocomotionStateBrakeModifier : ConstantStatModifier
{
	statType = "BaseStats.Brake";
	modifierType = "Additive";
	value = 48;
}

BaseLocomotionStateBrakeDotModifier : ConstantStatModifier
{
	statType = "BaseStats.BrakeDot";
	modifierType = "Additive";
	value = -0.7;
}

BaseLocomotionStateJumpHeightModifier : ConstantStatModifier
{
	statType = "BaseStats.JumpHeight";
	modifierType = "Additive";
	value = 0;
}

BaseLocomotionStateSpeedBoostModifier : ConstantStatModifier
{
	statType = "BaseStats.SpeedBoost";
	modifierType = "Additive";
	value = 0;
}

BaseLocomotionStateSpeedBoostMaxSpeedModifier : ConstantStatModifier
{
	statType = "BaseStats.SpeedBoostMaxSpeed";
	modifierType = "Additive";
	value = 0;
}

BaseLocomotionStateAllowMovementInputModifier : ConstantStatModifier
{
	statType = "BaseStats.AllowMovementInput";
	modifierType = "Additive";
	value = 1;
}

BaseLocomotionStateAllowRotationModifier : ConstantStatModifier
{
	statType = "BaseStats.AllowRotation";
	modifierType = "Additive";
	value = 1;
}

player_locomotion_data_locomotionAir : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		"PlayerLocomotion.LocomotionAirMinSpeedModifier", "PlayerLocomotion.LocomotionAirMaxSpeedModifier", "PlayerLocomotion.LocomotionAirAccelerationModifier", "PlayerLocomotion.LocomotionAirDecelerationModifier", "PlayerLocomotion.LocomotionAirBrakeModifier", "PlayerLocomotion.LocomotionAirBrakeDotModifier", "PlayerLocomotion.LocomotionAirJumpHeightModifier", "PlayerLocomotion.LocomotionAirSpeedBoostModifier", "PlayerLocomotion.LocomotionAirSpeedBoostMaxSpeedModifier", "PlayerLocomotion.LocomotionAirAllowMovementInputModifier", "PlayerLocomotion.LocomotionAirAllowRotationModifier"
	];
}

LocomotionAirMinSpeedModifier : BaseLocomotionStateMinSpeedModifier
{
}

LocomotionAirMaxSpeedModifier : BaseLocomotionStateMaxSpeedModifier
{
}

LocomotionAirAccelerationModifier : BaseLocomotionStateAccelerationModifier
{
	value = 5;
}

LocomotionAirDecelerationModifier : BaseLocomotionStateDecelerationModifier
{
	value = 1.3;
}

LocomotionAirBrakeModifier : BaseLocomotionStateBrakeModifier
{
}

LocomotionAirBrakeDotModifier : BaseLocomotionStateBrakeDotModifier
{
	value = -1;
}

LocomotionAirJumpHeightModifier : BaseLocomotionStateJumpHeightModifier
{
}

LocomotionAirSpeedBoostModifier : BaseLocomotionStateSpeedBoostModifier
{
}

LocomotionAirSpeedBoostMaxSpeedModifier : BaseLocomotionStateSpeedBoostMaxSpeedModifier
{
}

LocomotionAirAllowMovementInputModifier : BaseLocomotionStateAllowMovementInputModifier
{
}

LocomotionAirAllowRotationModifier : BaseLocomotionStateAllowRotationModifier
{
}

