--Dont touch
ZR15RightLegPointZero = 0
XR15RightLegPointZero = 0
YR15RightLegPointZero = 0
R15RightKneePointZero = 0

ZR15RightArmPointZero = 0
YR15RightArmPointZero = 0
XR15RightArmPointZero = 0
R15RightElbowPointZero = 0

ZR15LeftLegPointZero = 0
XR15LeftLegPointZero = 0
YR15LeftLegPointZero = 0
R15LeftKneePointZero = 0

ZR15LeftArmPointZero = 0
YR15LeftArmPointZero = 0
XR15LeftArmPointZero = 0
R15LeftElbowPointZero = 0

ZR15LowerTorsoPointZero = 0
XR15LowerTorsoPointZero = 0
YR15LowerTorsoPointZero = 0
ZR15UpperTorsoPointZero = 0

bike.DriveSeat.ChildRemoved:connect(function(child)
	handler:FireServer("RemovePlayer",C,child) 
end)

handler:FireServer("CreatePlayer",C)

while wait(clock) do
	--value*(1-multiplier)+endpoint*multiplier
	
	Lean = math.rad(-bike.Body.bal.Orientation.Z)
	
	if C.Humanoid.RigType == Enum.HumanoidRigType.R6 then
	
	if math.abs(Lean) < R6HeadZ then
		bike.Misc.Anims.R6.Head.Z.M.CurrentAngle = math.abs(Lean)
	else
		bike.Misc.Anims.R6.Head.Z.M.CurrentAngle = R6HeadZ
	end
	
	if Lean < R6HeadX and Lean > -R6HeadX then
		bike.Misc.Anims.R6.Head.X.M.CurrentAngle = Lean
	elseif Lean > R6HeadX then
		bike.Misc.Anims.R6.Head.X.M.CurrentAngle = R6HeadX
	elseif Lean < -R6HeadX then
		bike.Misc.Anims.R6.Head.X.M.CurrentAngle = -R6HeadX
	end
	
	if script.Parent.Values.SteerT.Value > 0.01 then
		bike.Misc.Anims.R6.Head.Y.M.CurrentAngle = bike.Misc.Anims.R6.Head.Y.M.CurrentAngle*(1-.1)+math.min((math.abs(script.Parent.Values.SteerT.Value)*(bike.DriveSeat.Velocity.magnitude/20))+(math.abs(script.Parent.Values.SteerT.Value)*R6HeadYStart), R6HeadYFinish)*.1
	elseif script.Parent.Values.SteerT.Value < -0.01 then
		bike.Misc.Anims.R6.Head.Y.M.CurrentAngle = bike.Misc.Anims.R6.Head.Y.M.CurrentAngle*(1-.1)+math.max(-(math.abs(script.Parent.Values.SteerT.Value)*(bike.DriveSeat.Velocity.magnitude/20))+(math.abs(script.Parent.Values.SteerT.Value)*-R6HeadYStart), -R6HeadYFinish)*.1
	else
		bike.Misc.Anims.R6.Head.Y.M.CurrentAngle = bike.Misc.Anims.R6.Head.Y.M.CurrentAngle*(1-.1)+0*.1
	end
	
	if bike.DriveSeat.Velocity.magnitude > 5 then
		if Lean < 0 then
			bike.Misc.Anims.R6.RightLeg.I.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.I.M.CurrentAngle*(1-.1)+0*.1
			bike.Misc.Anims.R6.RightLeg.Z.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.Z.M.CurrentAngle*(1-.1)+((math.min(math.abs(Lean/R6RightLegLeftLeanD),R6RightLegLeftLean)*R6RightLegLeftLeanM))*.1
			bike.Misc.Anims.R6.LeftLeg.Z.M.CurrentAngle = bike.Misc.Anims.R6.LeftLeg.Z.M.CurrentAngle*(1-.1)+0*.1
			bike.Misc.Anims.R6.RightArm.Y.M.CurrentAngle = bike.Misc.Anims.R6.RightArm.Y.M.CurrentAngle*(1-.1)+((math.min(math.abs(Lean/R6RightArmLeftLeanD),R6RightArmLeftLean)*R6RightArmLeftLeanM))*.1
			bike.Misc.Anims.R6.LeftArm.Y.M.CurrentAngle =  bike.Misc.Anims.R6.LeftArm.Y.M.CurrentAngle*(1-.1)+(-(math.min(math.abs(Lean/R6LeftArmLeftLeanD),R6LeftArmLeftLean)*R6LeftArmLeftLeanM))*.1
			bike.Misc.Anims.R6.RightLeg.X.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.X.M.CurrentAngle*(1-.1)+(-(math.min(math.abs(Lean/R6RightLegLeftLeanD),R6RightLegLeftLean)*R6RightLegLeftLeanM))*.1
			bike.Misc.Anims.R6.LeftLeg.X.M.CurrentAngle = bike.Misc.Anims.R6.LeftLeg.X.M.CurrentAngle*(1-.1)+(-(math.min(math.abs(Lean/R6LeftLegLeftLeanD),R6LeftLegLeftLean)*R6LeftLegLeftLeanM))*.1
			bike.Misc.Anims.R6.Torso.X.M.CurrentAngle = bike.Misc.Anims.R6.Torso.X.M.CurrentAngle*(1-.1)+((math.min(math.abs(Lean/R6TorsoLeftLeanD),R6TorsoLeftLean)*R6TorsoLeftLeanM))*.1
		else
			bike.Misc.Anims.R6.RightLeg.I.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.I.M.CurrentAngle*(1-.1)+0*.1
			bike.Misc.Anims.R6.RightLeg.Z.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.Z.M.CurrentAngle*(1-.1)+0*.1
			bike.Misc.Anims.R6.LeftLeg.Z.M.CurrentAngle = bike.Misc.Anims.R6.LeftLeg.Z.M.CurrentAngle*(1-.1)+((math.min(math.abs(Lean/R6LeftLegRightLeanD),R6LeftLegRightLean)*R6LeftLegRightLeanM))*.1
			bike.Misc.Anims.R6.RightArm.Y.M.CurrentAngle = bike.Misc.Anims.R6.RightArm.Y.M.CurrentAngle*(1-.1)+(-(math.min(math.abs(Lean/R6RightArmRightLeanD),R6RightArmRightLean)*R6RightArmRightLeanM))*.1
			bike.Misc.Anims.R6.LeftArm.Y.M.CurrentAngle =  bike.Misc.Anims.R6.LeftArm.Y.M.CurrentAngle*(1-.1)+((math.min(math.abs(Lean/R6LeftArmRightLeanD),R6LeftArmRightLean)*R6LeftArmRightLeanM))*.1
			bike.Misc.Anims.R6.RightLeg.X.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.X.M.CurrentAngle*(1-.1)+((math.min(math.abs(Lean/R6RightLegRightLeanD),R6RightLegRightLean)*R6RightLegRightLeanM))*.1
			bike.Misc.Anims.R6.LeftLeg.X.M.CurrentAngle = bike.Misc.Anims.R6.LeftLeg.X.M.CurrentAngle*(1-.1)+((math.min(math.abs(Lean/R6LeftLegRightLeanD),R6LeftLegRightLean)*R6LeftLegRightLeanM))*.1
			bike.Misc.Anims.R6.Torso.X.M.CurrentAngle = bike.Misc.Anims.R6.Torso.X.M.CurrentAngle*(1-.1)+(-(math.min(math.abs(Lean/R6TorsoRightLeanD),R6TorsoRightLean)*R6TorsoRightLeanM))*.1
		end
	else
		bike.Misc.Anims.R6.Torso.X.M.CurrentAngle = bike.Misc.Anims.R6.Torso.X.M.CurrentAngle*(1-.1)+(-.3)*.1
		
		bike.Misc.Anims.R6.RightArm.Y.M.CurrentAngle = bike.Misc.Anims.R6.RightArm.Y.M.CurrentAngle*(1-.1)+(-.3)*.1
		bike.Misc.Anims.R6.RightArm.Z.M.CurrentAngle = bike.Misc.Anims.R6.RightArm.Z.M.CurrentAngle*(1-.1)+.5*.1
		
		bike.Misc.Anims.R6.LeftArm.Y.M.CurrentAngle = bike.Misc.Anims.R6.LeftArm.Y.M.CurrentAngle*(1-.1)+.4*.1
		
		bike.Misc.Anims.R6.LeftLeg.X.M.CurrentAngle = bike.Misc.Anims.R6.LeftLeg.X.M.CurrentAngle*(1-.1)+.2*.1
		bike.Misc.Anims.R6.LeftLeg.Z.M.CurrentAngle = bike.Misc.Anims.R6.LeftLeg.Z.M.CurrentAngle*(1-.1)+.3*.1
		
		bike.Misc.Anims.R6.RightLeg.I.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.I.M.CurrentAngle*(1-.1)+1*.1
		bike.Misc.Anims.R6.RightLeg.X.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.X.M.CurrentAngle*(1-.1)+.8*.1
		bike.Misc.Anims.R6.RightLeg.Z.M.CurrentAngle = bike.Misc.Anims.R6.RightLeg.Z.M.CurrentAngle*(1-.1)+.5*.1
	end
	
	if bike.DriveSeat.Velocity.magnitude > TuckInSpeed then
		bike.Misc.Anims.R6.Torso.Z.M.CurrentAngle = bike.Misc.Anims.R6.Torso.Z.M.CurrentAngle*(1-.1)+((R6TorsoTuckIn-math.min(math.abs(Lean),R6TorsoTuckIn))*script.Parent.Values.Throttle.Value)*.1
		bike.Misc.Anims.R6.RightArm.Z.M.CurrentAngle = bike.Misc.Anims.R6.RightArm.Z.M.CurrentAngle*(1-.1)+((R6RightArmTuckIn-math.min(math.abs(Lean),R6RightArmTuckIn))*script.Parent.Values.Throttle.Value)*.1
		bike.Misc.Anims.R6.LeftArm.Z.M.CurrentAngle = bike.Misc.Anims.R6.LeftArm.Z.M.CurrentAngle*(1-.1)+((R6LeftArmTuckIn-math.min(math.abs(Lean),R6LeftArmTuckIn))*script.Parent.Values.Throttle.Value)*.1
	else
		bike.Misc.Anims.R6.Torso.Z.M.CurrentAngle = bike.Misc.Anims.R6.Torso.Z.M.CurrentAngle*(1-.15)+0*.15
		bike.Misc.Anims.R6.RightArm.Z.M.CurrentAngle = bike.Misc.Anims.R6.RightArm.Z.M.CurrentAngle*(1-.15)+0*.15
		bike.Misc.Anims.R6.LeftArm.Z.M.CurrentAngle = bike.Misc.Anims.R6.LeftArm.Z.M.CurrentAngle*(1-.15)+0*.15
	end
	
	else --r15
		
	if math.abs(Lean) < R15HeadZ then
		bike.Misc.Anims.R15.Torso.Head.Z.M.CurrentAngle = math.abs(Lean)
	else
		bike.Misc.Anims.R15.Torso.Head.Z.M.CurrentAngle = R15HeadZ
	end
	
	if Lean < R15HeadX and Lean > -R15HeadX then
		bike.Misc.Anims.R15.Torso.Head.X.M.CurrentAngle = Lean
	elseif Lean > R15HeadX then
		bike.Misc.Anims.R15.Torso.Head.X.M.CurrentAngle = R15HeadX
	elseif Lean < -R15HeadX then
		bike.Misc.Anims.R15.Torso.Head.X.M.CurrentAngle = -R15HeadX
	end
	
	if script.Parent.Values.SteerT.Value > 0.01 then
		bike.Misc.Anims.R15.Torso.Head.Y.M.CurrentAngle = bike.Misc.Anims.R15.Torso.Head.Y.M.CurrentAngle*(1-.1)+math.min((math.abs(script.Parent.Values.SteerT.Value)*(bike.DriveSeat.Velocity.magnitude/20))+(math.abs(script.Parent.Values.SteerT.Value)*R15HeadYStart), R15HeadYFinish)*.1
	elseif script.Parent.Values.SteerT.Value < -0.01 then
		bike.Misc.Anims.R15.Torso.Head.Y.M.CurrentAngle = bike.Misc.Anims.R15.Torso.Head.Y.M.CurrentAngle*(1-.1)+math.max(-(math.abs(script.Parent.Values.SteerT.Value)*(bike.DriveSeat.Velocity.magnitude/20))+(math.abs(script.Parent.Values.SteerT.Value)*-R15HeadYStart), -R15HeadYFinish)*.1
	else
		bike.Misc.Anims.R15.Torso.Head.Y.M.CurrentAngle = bike.Misc.Anims.R15.Torso.Head.Y.M.CurrentAngle*(1-.1)+0*.1
	end

	
	if bike.DriveSeat.Velocity.magnitude < TuckInSpeed and bike.DriveSeat.Velocity.magnitude > 5 then
		--upright
		bike.Misc.Anims.R15.RightLeg.Foot.I.M.CurrentAngle = bike.Misc.Anims.R15.RightLeg.Foot.I.M.CurrentAngle*(1-.1)+0*.1
		
		ZR15RightLegPointZero = ZR15RightLegPointZero*(1-.1)+0*.1
		XR15RightLegPointZero = XR15RightLegPointZero*(1-.1)+0*.1
		YR15RightLegPointZero = YR15RightLegPointZero*(1-.1)+0*.1
		R15RightKneePointZero = R15RightKneePointZero*(1-.1)+0*.1
		
		ZR15RightArmPointZero = ZR15RightArmPointZero*(1-.1)+0*.1
		YR15RightArmPointZero = YR15RightArmPointZero*(1-.1)+0*.1
		XR15RightArmPointZero = XR15RightArmPointZero*(1-.1)+0*.1
		R15RightElbowPointZero = R15RightElbowPointZero*(1-.1)+0*.1
		
		ZR15LeftLegPointZero = ZR15LeftLegPointZero*(1-.1)+0*.1
		XR15LeftLegPointZero = XR15LeftLegPointZero*(1-.1)+0*.1
		YR15LeftLegPointZero = YR15LeftLegPointZero*(1-.1)+0*.1
		R15LeftKneePointZero = R15LeftKneePointZero*(1-.1)+0*.1
		
		ZR15LeftArmPointZero = ZR15LeftArmPointZero*(1-.1)+0*.1
		YR15LeftArmPointZero = YR15LeftArmPointZero*(1-.1)+0*.1
		XR15LeftArmPointZero = XR15LeftArmPointZero*(1-.1)+0*.1
		R15LeftElbowPointZero = R15LeftElbowPointZero*(1-.1)+0*.1
		
		ZR15LowerTorsoPointZero = ZR15LowerTorsoPointZero*(1-.1)+0*.1
		XR15LowerTorsoPointZero = XR15LowerTorsoPointZero*(1-.1)+0*.1
		YR15LowerTorsoPointZero = YR15LowerTorsoPointZero*(1-.1)+0*.1
		ZR15UpperTorsoPointZero = ZR15UpperTorsoPointZero*(1-.1)+0*.1
	elseif bike.DriveSeat.Velocity.magnitude >= TuckInSpeed and bike.DriveSeat.Velocity.magnitude>5 then
		--tuck in
		bike.Misc.Anims.R15.RightLeg.Foot.I.M.CurrentAngle = bike.Misc.Anims.R15.RightLeg.Foot.I.M.CurrentAngle*(1-.1)+0*.1
		
		ZR15RightLegPointZero = ZR15RightLegPointZero*(1-.1)+(ZR15RightLegTuckIn*script.Parent.Values.Throttle.Value)*.1
		XR15RightLegPointZero = XR15RightLegPointZero*(1-.1)+(XR15RightLegTuckIn*script.Parent.Values.Throttle.Value)*.1
		YR15RightLegPointZero = YR15RightLegPointZero*(1-.1)+(YR15RightLegTuckIn*script.Parent.Values.Throttle.Value)*.1
		R15RightKneePointZero = R15RightKneePointZero*(1-.1)+(R15RightKneeTuckIn*script.Parent.Values.Throttle.Value)*.1
		
		ZR15RightArmPointZero = ZR15RightArmPointZero*(1-.1)+(ZR15RightArmTuckIn*script.Parent.Values.Throttle.Value)*.1
		YR15RightArmPointZero = YR15RightArmPointZero*(1-.1)+(YR15RightArmTuckIn*script.Parent.Values.Throttle.Value)*.1
		XR15RightArmPointZero = XR15RightArmPointZero*(1-.1)+(XR15RightArmTuckIn*script.Parent.Values.Throttle.Value)*.1
		R15RightElbowPointZero = R15RightElbowPointZero*(1-.1)+(R15RightElbowTuckIn*script.Parent.Values.Throttle.Value)*.1
		
		ZR15LeftLegPointZero = ZR15LeftLegPointZero*(1-.1)+(ZR15LeftLegTuckIn*script.Parent.Values.Throttle.Value)*.1
		XR15LeftLegPointZero = XR15LeftLegPointZero*(1-.1)+(XR15LeftLegTuckIn*script.Parent.Values.Throttle.Value)*.1
		YR15LeftLegPointZero = YR15LeftLegPointZero*(1-.1)+(YR15LeftLegTuckIn*script.Parent.Values.Throttle.Value)*.1
		R15LeftKneePointZero = R15LeftKneePointZero*(1-.1)+(R15LeftKneeTuckIn*script.Parent.Values.Throttle.Value)*.1
		
		ZR15LeftArmPointZero = ZR15LeftArmPointZero*(1-.1)+(ZR15LeftArmTuckIn*script.Parent.Values.Throttle.Value)*.1
		YR15LeftArmPointZero = YR15LeftArmPointZero*(1-.1)+(YR15LeftArmTuckIn*script.Parent.Values.Throttle.Value)*.1
		XR15LeftArmPointZero = XR15LeftArmPointZero*(1-.1)+(XR15LeftArmTuckIn*script.Parent.Values.Throttle.Value)*.1
		R15LeftElbowPointZero = R15LeftElbowPointZero*(1-.1)+(R15LeftElbowTuckIn*script.Parent.Values.Throttle.Value)*.1
		
		ZR15LowerTorsoPointZero = ZR15LowerTorsoPointZero*(1-.1)+(ZR15LowerTorsoTuckIn*script.Parent.Values.Throttle.Value)*.1
		XR15LowerTorsoPointZero = XR15LowerTorsoPointZero*(1-.1)+(XR15LowerTorsoTuckIn*script.Parent.Values.Throttle.Value)*.1
		YR15LowerTorsoPointZero = YR15LowerTorsoPointZero*(1-.1)+(YR15LowerTorsoTuckIn*script.Parent.Values.Throttle.Value)*.1
		ZR15UpperTorsoPointZero = ZR15UpperTorsoPointZero*(1-.1)+(ZR15UpperTorsoTuckIn*script.Parent.Values.Throttle.Value)*.1
	else
		--idle
		bike.Misc.Anims.R15.RightLeg.Foot.I.M.CurrentAngle = bike.Misc.Anims.R15.RightLeg.Foot.I.M.CurrentAngle*(1-.18)+1*.18
		
		ZR15RightLegPointZero = ZR15RightLegPointZero*(1-.1)+0.6*.1
		XR15RightLegPointZero = XR15RightLegPointZero*(1-.18)+-.8*.18
		YR15RightLegPointZero = YR15RightLegPointZero*(1-.1)+0.4*.1
		R15RightKneePointZero = R15RightKneePointZero*(1-.18)+-1.8*.18
		
		ZR15RightArmPointZero = ZR15RightArmPointZero*(1-.1)+0.25*.1
		YR15RightArmPointZero = YR15RightArmPointZero*(1-.1)+0.3*.1
		XR15RightArmPointZero = XR15RightArmPointZero*(1-.1)+-0.12*.1
		R15RightElbowPointZero = R15RightElbowPointZero*(1-.1)+0.25*.1
		
		ZR15LeftLegPointZero = ZR15LeftLegPointZero*(1-.1)+-.05*.1
		XR15LeftLegPointZero = XR15LeftLegPointZero*(1-.1)+0.15*.1
		YR15LeftLegPointZero = YR15LeftLegPointZero*(1-.1)+0.5*.1
		R15LeftKneePointZero = R15LeftKneePointZero*(1-.1)+.5*.1
		
		ZR15LeftArmPointZero = ZR15LeftArmPointZero*(1-.1)+0*.1
		YR15LeftArmPointZero = YR15LeftArmPointZero*(1-.1)+0.4*.1
		XR15LeftArmPointZero = XR15LeftArmPointZero*(1-.1)+0.05*.1
		R15LeftElbowPointZero = R15LeftElbowPointZero*(1-.1)+0.1*.1
		
		ZR15LowerTorsoPointZero = ZR15LowerTorsoPointZero*(1-.1)+0*.1
		XR15LowerTorsoPointZero = XR15LowerTorsoPointZero*(1-.1)+-.25*.1
		YR15LowerTorsoPointZero = YR15LowerTorsoPointZero*(1-.1)+0.15*.1
		ZR15UpperTorsoPointZero = ZR15UpperTorsoPointZero*(1-.1)+0*.1
	end
	
	if Lean > 0 then
		--right lean
		bike.Misc.Anims.R15.RightLeg.Foot.Z.M.CurrentAngle = ((ZR15RightLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15RightLegRightLean*math.abs(Lean))/ZR15RightLegRightLeanD)*ZR15RightLegRightLeanM
		bike.Misc.Anims.R15.RightLeg.Foot.X.M.CurrentAngle = ((XR15RightLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15RightLegRightLean*math.abs(Lean))/XR15RightLegRightLeanD)*XR15RightLegRightLeanM
		bike.Misc.Anims.R15.RightLeg.Foot.Y.M.CurrentAngle = ((YR15RightLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15RightLegRightLean*math.abs(Lean))/YR15RightLegRightLeanD)*YR15RightLegRightLeanM
		bike.Misc.Anims.R15.RightLeg.UpperLeg.X.M.CurrentAngle = ((R15RightKneePointZero*math.max(-((math.abs(Lean)*2)-1),0))+(R15RightKneeRightLean*math.abs(Lean))/R15RightKneeRightLeanD)*R15RightKneeRightLeanM
		
		bike.Misc.Anims.R15.RightArm.Hand.Z.M.CurrentAngle = ((ZR15RightArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15RightArmRightLean*math.abs(Lean))/ZR15RightArmRightLeanD)*ZR15RightArmRightLeanM
		bike.Misc.Anims.R15.RightArm.Hand.X.M.CurrentAngle = ((XR15RightArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15RightArmRightLean*math.abs(Lean))/XR15RightArmRightLeanD)*XR15RightArmRightLeanM
		bike.Misc.Anims.R15.RightArm.Hand.Y.M.CurrentAngle = ((YR15RightArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15RightArmRightLean*math.abs(Lean))/YR15RightArmRightLeanD)*YR15RightArmRightLeanM
		bike.Misc.Anims.R15.RightArm.UpperArm.X.M.CurrentAngle = ((R15RightElbowPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(R15RightElbowRightLean*math.abs(Lean))/R15RightElbowRightLeanD)*R15RightElbowRightLeanM
		
		bike.Misc.Anims.R15.LeftLeg.Foot.Z.M.CurrentAngle = ((ZR15LeftLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15LeftLegRightLean*math.abs(Lean))/ZR15LeftLegRightLeanD)*ZR15LeftLegRightLeanM
		bike.Misc.Anims.R15.LeftLeg.Foot.X.M.CurrentAngle = ((XR15LeftLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15LeftLegRightLean*math.abs(Lean))/XR15LeftLegRightLeanD)*XR15LeftLegRightLeanM
		bike.Misc.Anims.R15.LeftLeg.Foot.Y.M.CurrentAngle = ((YR15LeftLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15LeftLegRightLean*math.abs(Lean))/YR15LeftLegRightLeanD)*YR15LeftLegRightLeanM
		bike.Misc.Anims.R15.LeftLeg.UpperLeg.X.M.CurrentAngle = ((R15LeftKneePointZero*math.max(-((math.abs(Lean)*2)-1),0))+(R15LeftKneeRightLean*math.abs(Lean))/R15LeftKneeRightLeanD)*R15LeftKneeRightLeanM
		
		bike.Misc.Anims.R15.LeftArm.Hand.Z.M.CurrentAngle = ((ZR15LeftArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15LeftArmRightLean*math.abs(Lean))/ZR15LeftArmRightLeanD)*ZR15LeftArmRightLeanM
		bike.Misc.Anims.R15.LeftArm.Hand.X.M.CurrentAngle = ((XR15LeftArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15LeftArmRightLean*math.abs(Lean))/XR15LeftArmRightLeanD)*XR15LeftArmRightLeanM
		bike.Misc.Anims.R15.LeftArm.Hand.Y.M.CurrentAngle = ((YR15LeftArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15LeftArmRightLean*math.abs(Lean))/YR15LeftArmRightLeanD)*YR15LeftArmRightLeanM
		bike.Misc.Anims.R15.LeftArm.UpperArm.X.M.CurrentAngle = ((R15LeftElbowPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(R15LeftElbowRightLean*math.abs(Lean))/R15LeftElbowRightLeanD)*R15LeftElbowRightLeanM
		
		bike.Misc.Anims.R15.Torso.LowerTorso.Z.M.CurrentAngle = ((ZR15LowerTorsoPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15LowerTorsoRightLean*math.abs(Lean))/ZR15LowerTorsoRightLeanD)*ZR15LowerTorsoRightLeanM
		bike.Misc.Anims.R15.Torso.LowerTorso.X.M.CurrentAngle = ((XR15LowerTorsoPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15LowerTorsoRightLean*math.abs(Lean))/XR15LowerTorsoRightLeanD)*XR15LowerTorsoRightLeanM
		bike.Misc.Anims.R15.Torso.LowerTorso.Y.M.CurrentAngle = ((YR15LowerTorsoPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15LowerTorsoRightLean*math.abs(Lean))/YR15LowerTorsoRightLeanD)*YR15LowerTorsoRightLeanM
		bike.Misc.Anims.R15.Torso.UpperTorso.Z.M.CurrentAngle = ((ZR15UpperTorsoPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15UpperTorsoRightLean*math.abs(Lean))/ZR15UpperTorsoRightLeanD)*ZR15UpperTorsoRightLeanM
	else
		--left lean	
		bike.Misc.Anims.R15.RightLeg.Foot.Z.M.CurrentAngle = ((ZR15RightLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15RightLegLeftLean*math.abs(Lean))/ZR15RightLegLeftLeanD)*ZR15RightLegLeftLeanM
		bike.Misc.Anims.R15.RightLeg.Foot.X.M.CurrentAngle = ((XR15RightLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15RightLegLeftLean*math.abs(Lean))/XR15RightLegLeftLeanD)*XR15RightLegLeftLeanM
		bike.Misc.Anims.R15.RightLeg.Foot.Y.M.CurrentAngle = ((YR15RightLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15RightLegLeftLean*math.abs(Lean))/YR15RightLegLeftLeanD)*YR15RightLegLeftLeanM
		bike.Misc.Anims.R15.RightLeg.UpperLeg.X.M.CurrentAngle = ((R15RightKneePointZero*math.max(-((math.abs(Lean)*2)-1),0))+(R15RightKneeLeftLean*math.abs(Lean))/R15RightKneeLeftLeanD)*R15RightKneeLeftLeanM
		
		bike.Misc.Anims.R15.RightArm.Hand.Z.M.CurrentAngle = ((ZR15RightArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15RightArmLeftLean*math.abs(Lean))/ZR15RightArmLeftLeanD)*ZR15RightArmLeftLeanM
		bike.Misc.Anims.R15.RightArm.Hand.X.M.CurrentAngle = ((XR15RightArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15RightArmLeftLean*math.abs(Lean))/XR15RightArmLeftLeanD)*XR15RightArmLeftLeanM
		bike.Misc.Anims.R15.RightArm.Hand.Y.M.CurrentAngle = ((YR15RightArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15RightArmLeftLean*math.abs(Lean))/YR15RightArmLeftLeanD)*YR15RightArmLeftLeanM
		bike.Misc.Anims.R15.RightArm.UpperArm.X.M.CurrentAngle = ((R15RightElbowPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(R15RightElbowLeftLean*math.abs(Lean))/R15RightElbowLeftLeanD)*R15RightElbowLeftLeanM
		
		bike.Misc.Anims.R15.LeftLeg.Foot.Z.M.CurrentAngle = ((ZR15LeftLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15LeftLegLeftLean*math.abs(Lean))/ZR15LeftLegLeftLeanD)*ZR15LeftLegLeftLeanM
		bike.Misc.Anims.R15.LeftLeg.Foot.X.M.CurrentAngle = ((XR15LeftLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15LeftLegLeftLean*math.abs(Lean))/XR15LeftLegLeftLeanD)*XR15LeftLegLeftLeanM
		bike.Misc.Anims.R15.LeftLeg.Foot.Y.M.CurrentAngle = ((YR15LeftLegPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15LeftLegLeftLean*math.abs(Lean))/YR15LeftLegLeftLeanD)*YR15LeftLegLeftLeanM
		bike.Misc.Anims.R15.LeftLeg.UpperLeg.X.M.CurrentAngle = ((R15LeftKneePointZero*math.max(-((math.abs(Lean)*2)-1),0))+(R15LeftKneeLeftLean*math.abs(Lean))/R15LeftKneeLeftLeanD)*R15LeftKneeLeftLeanM
		
		bike.Misc.Anims.R15.LeftArm.Hand.Z.M.CurrentAngle = ((ZR15LeftArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15LeftArmLeftLean*math.abs(Lean))/ZR15LeftArmLeftLeanD)*ZR15LeftArmLeftLeanM
		bike.Misc.Anims.R15.LeftArm.Hand.X.M.CurrentAngle = ((XR15LeftArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15LeftArmLeftLean*math.abs(Lean))/XR15LeftArmLeftLeanD)*XR15LeftArmLeftLeanM
		bike.Misc.Anims.R15.LeftArm.Hand.Y.M.CurrentAngle = ((YR15LeftArmPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15LeftArmLeftLean*math.abs(Lean))/YR15LeftArmLeftLeanD)*YR15LeftArmLeftLeanM
		bike.Misc.Anims.R15.LeftArm.UpperArm.X.M.CurrentAngle = ((R15LeftElbowPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(R15LeftElbowLeftLean*math.abs(Lean))/R15LeftElbowLeftLeanD)*R15LeftElbowLeftLeanM
		
		bike.Misc.Anims.R15.Torso.LowerTorso.Z.M.CurrentAngle = ((ZR15LowerTorsoPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15LowerTorsoLeftLean*math.abs(Lean))/ZR15LowerTorsoLeftLeanD)*ZR15LowerTorsoLeftLeanM
		bike.Misc.Anims.R15.Torso.LowerTorso.X.M.CurrentAngle = ((XR15LowerTorsoPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(XR15LowerTorsoLeftLean*math.abs(Lean))/XR15LowerTorsoLeftLeanD)*XR15LowerTorsoLeftLeanM
		bike.Misc.Anims.R15.Torso.LowerTorso.Y.M.CurrentAngle = ((YR15LowerTorsoPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(YR15LowerTorsoLeftLean*math.abs(Lean))/YR15LowerTorsoLeftLeanD)*YR15LowerTorsoLeftLeanM
		bike.Misc.Anims.R15.Torso.UpperTorso.Z.M.CurrentAngle = ((ZR15UpperTorsoPointZero*math.max(-((math.abs(Lean)*2)-1),0))+(ZR15UpperTorsoLeftLean*math.abs(Lean))/ZR15UpperTorsoLeftLeanD)*ZR15UpperTorsoLeftLeanM
	end
	
	end
end