--[[
	this file is a place where all the fast ints for bounds can be placed
]]

-- arms
local FIntUGCValidateArmXMinClassic = game:DefineFastInt("UGCValidateArmXMinClassic", 25)
local FIntUGCValidateArmXMinSlender = game:DefineFastInt("UGCValidateArmXMinSlender", 25)
local FIntUGCValidateArmXMinNormal = game:DefineFastInt("UGCValidateArmXMinNormal", 25)

local FIntUGCValidateArmXMaxClassic = game:DefineFastInt("UGCValidateArmXMaxClassic", 200)
local FIntUGCValidateArmXMaxSlender = game:DefineFastInt("UGCValidateArmXMaxSlender", 150)
local FIntUGCValidateArmXMaxNormal = game:DefineFastInt("UGCValidateArmXMaxNormal", 200)

local FIntUGCValidateArmYMinClassic = game:DefineFastInt("UGCValidateArmYMinClassic", 150)
local FIntUGCValidateArmYMinSlender = game:DefineFastInt("UGCValidateArmYMinSlender", 150)
local FIntUGCValidateArmYMinNormal = game:DefineFastInt("UGCValidateArmYMinNormal", 150)

local FIntUGCValidateArmYMaxClassic = game:DefineFastInt("UGCValidateArmYMaxClassic", 300)
local FIntUGCValidateArmYMaxSlender = game:DefineFastInt("UGCValidateArmYMaxSlender", 400)
local FIntUGCValidateArmYMaxNormal = game:DefineFastInt("UGCValidateArmYMaxNormal", 450)

local FIntUGCValidateArmZMinClassic = game:DefineFastInt("UGCValidateArmZMinClassic", 25)
local FIntUGCValidateArmZMinSlender = game:DefineFastInt("UGCValidateArmZMinSlender", 25)
local FIntUGCValidateArmZMinNormal = game:DefineFastInt("UGCValidateArmZMinNormal", 25)

local FIntUGCValidateArmZMaxClassic = game:DefineFastInt("UGCValidateArmZMaxClassic", 200)
local FIntUGCValidateArmZMaxSlender = game:DefineFastInt("UGCValidateArmZMaxSlender", 200)
local FIntUGCValidateArmZMaxNormal = game:DefineFastInt("UGCValidateArmZMaxNormal", 200)

-- legs
local FIntUGCValidateLegXMinClassic = game:DefineFastInt("UGCValidateLegXMinClassic", 25)
local FIntUGCValidateLegXMinSlender = game:DefineFastInt("UGCValidateLegXMinSlender", 25)
local FIntUGCValidateLegXMinNormal = game:DefineFastInt("UGCValidateLegXMinNormal", 25)

local FIntUGCValidateLegXMaxClassic = game:DefineFastInt("UGCValidateLegXMaxClassic", 150)
local FIntUGCValidateLegXMaxSlender = game:DefineFastInt("UGCValidateLegXMaxSlender", 150)
local FIntUGCValidateLegXMaxNormal = game:DefineFastInt("UGCValidateLegXMaxNormal", 150)

local FIntUGCValidateLegYMinClassic = game:DefineFastInt("UGCValidateLegYMinClassic", 200)
local FIntUGCValidateLegYMinSlender = game:DefineFastInt("UGCValidateLegYMinSlender", 200)
local FIntUGCValidateLegYMinNormal = game:DefineFastInt("UGCValidateLegYMinNormal", 200)

local FIntUGCValidateLegYMaxClassic = game:DefineFastInt("UGCValidateLegYMaxClassic", 275)
local FIntUGCValidateLegYMaxSlender = game:DefineFastInt("UGCValidateLegYMaxSlender", 330)
local FIntUGCValidateLegYMaxNormal = game:DefineFastInt("UGCValidateLegYMaxNormal", 330)

local FIntUGCValidateLegZMinClassic = game:DefineFastInt("UGCValidateLegZMinClassic", 50)
local FIntUGCValidateLegZMinSlender = game:DefineFastInt("UGCValidateLegZMinSlender", 50)
local FIntUGCValidateLegZMinNormal = game:DefineFastInt("UGCValidateLegZMinNormal", 50)

local FIntUGCValidateLegZMaxClassic = game:DefineFastInt("UGCValidateLegZMaxClassic", 200)
local FIntUGCValidateLegZMaxSlender = game:DefineFastInt("UGCValidateLegZMaxSlender", 200)
local FIntUGCValidateLegZMaxNormal = game:DefineFastInt("UGCValidateLegZMaxNormal", 200)

-- torso
local FIntUGCValidateTorsoXMinClassic = game:DefineFastInt("UGCValidateTorsoXMinClassic", 100)
local FIntUGCValidateTorsoXMinSlender = game:DefineFastInt("UGCValidateTorsoXMinSlender", 100)
local FIntUGCValidateTorsoXMinNormal = game:DefineFastInt("UGCValidateTorsoXMinNormal", 100)

local FIntUGCValidateTorsoXMaxClassic = game:DefineFastInt("UGCValidateTorsoXMaxClassic", 350)
local FIntUGCValidateTorsoXMaxSlender = game:DefineFastInt("UGCValidateTorsoXMaxSlender", 250)
local FIntUGCValidateTorsoXMaxNormal = game:DefineFastInt("UGCValidateTorsoXMaxNormal", 400)

local FIntUGCValidateTorsoYMinClassic = game:DefineFastInt("UGCValidateTorsoYMinClassic", 200)
local FIntUGCValidateTorsoYMinSlender = game:DefineFastInt("UGCValidateTorsoYMinSlender", 200)
local FIntUGCValidateTorsoYMinNormal = game:DefineFastInt("UGCValidateTorsoYMinNormal", 200)

local FIntUGCValidateTorsoYMaxClassic = game:DefineFastInt("UGCValidateTorsoYMaxClassic", 325)
local FIntUGCValidateTorsoYMaxSlender = game:DefineFastInt("UGCValidateTorsoYMaxSlender", 300)
local FIntUGCValidateTorsoYMaxNormal = game:DefineFastInt("UGCValidateTorsoYMaxNormal", 300)

local FIntUGCValidateTorsoZMinClassic = game:DefineFastInt("UGCValidateTorsoZMinClassic", 70)
local FIntUGCValidateTorsoZMinSlender = game:DefineFastInt("UGCValidateTorsoZMinSlender", 70)
local FIntUGCValidateTorsoZMinNormal = game:DefineFastInt("UGCValidateTorsoZMinNormal", 70)

local FIntUGCValidateTorsoZMaxClassic = game:DefineFastInt("UGCValidateTorsoZMaxClassic", 200)
local FIntUGCValidateTorsoZMaxSlender = game:DefineFastInt("UGCValidateTorsoZMaxSlender", 200)
local FIntUGCValidateTorsoZMaxNormal = game:DefineFastInt("UGCValidateTorsoZMaxNormal", 225)

-- head
local FIntUGCValidateHeadXMinClassic = game:DefineFastInt("UGCValidateHeadXMinClassic", 50)
local FIntUGCValidateHeadXMinSlender = game:DefineFastInt("UGCValidateHeadXMinSlender", 50)
local FIntUGCValidateHeadXMinNormal = game:DefineFastInt("UGCValidateHeadXMinNormal", 50)

local FIntUGCValidateHeadXMaxClassic = game:DefineFastInt("UGCValidateHeadXMaxClassic", 150)
local FIntUGCValidateHeadXMaxSlender = game:DefineFastInt("UGCValidateHeadXMaxSlender", 200)
local FIntUGCValidateHeadXMaxNormal = game:DefineFastInt("UGCValidateHeadXMaxNormal", 300)

local FIntUGCValidateHeadYMinClassic = game:DefineFastInt("UGCValidateHeadYMinClassic", 50)
local FIntUGCValidateHeadYMinSlender = game:DefineFastInt("UGCValidateHeadYMinSlender", 50)
local FIntUGCValidateHeadYMinNormal = game:DefineFastInt("UGCValidateHeadYMinNormal", 50)

local FIntUGCValidateHeadYMaxClassic = game:DefineFastInt("UGCValidateHeadYMaxClassic", 175)
local FIntUGCValidateHeadYMaxSlender = game:DefineFastInt("UGCValidateHeadYMaxSlender", 200)
local FIntUGCValidateHeadYMaxNormal = game:DefineFastInt("UGCValidateHeadYMaxNormal", 200)

local FIntUGCValidateHeadZMinClassic = game:DefineFastInt("UGCValidateHeadZMinClassic", 50)
local FIntUGCValidateHeadZMinSlender = game:DefineFastInt("UGCValidateHeadZMinSlender", 50)
local FIntUGCValidateHeadZMinNormal = game:DefineFastInt("UGCValidateHeadZMinNormal", 50)

local FIntUGCValidateHeadZMaxClassic = game:DefineFastInt("UGCValidateHeadZMaxClassic", 200)
local FIntUGCValidateHeadZMaxSlender = game:DefineFastInt("UGCValidateHeadZMaxSlender", 200)
local FIntUGCValidateHeadZMaxNormal = game:DefineFastInt("UGCValidateHeadZMaxNormal", 200)

-- full body
local FIntUGCValidateFullBodyXMinClassic = game:DefineFastInt("UGCValidateFullBodyXMinClassic", 150)
local FIntUGCValidateFullBodyXMinSlender = game:DefineFastInt("UGCValidateFullBodyXMinSlender", 150)
local FIntUGCValidateFullBodyXMinNormal = game:DefineFastInt("UGCValidateFullBodyXMinNormal", 150)

local FIntUGCValidateFullBodyXMaxClassic = game:DefineFastInt("UGCValidateFullBodyXMaxClassic", 750)
local FIntUGCValidateFullBodyXMaxSlender = game:DefineFastInt("UGCValidateFullBodyXMaxSlender", 550)
local FIntUGCValidateFullBodyXMaxNormal = game:DefineFastInt("UGCValidateFullBodyXMaxNormal", 800)

local FIntUGCValidateFullBodyYMinClassic = game:DefineFastInt("UGCValidateFullBodyYMinClassic", 450)
local FIntUGCValidateFullBodyYMinSlender = game:DefineFastInt("UGCValidateFullBodyYMinSlender", 450)
local FIntUGCValidateFullBodyYMinNormal = game:DefineFastInt("UGCValidateFullBodyYMinNormal", 450)

local FIntUGCValidateFullBodyYMaxClassic = game:DefineFastInt("UGCValidateFullBodyYMaxClassic", 775)
local FIntUGCValidateFullBodyYMaxSlender = game:DefineFastInt("UGCValidateFullBodyYMaxSlender", 830)
local FIntUGCValidateFullBodyYMaxNormal = game:DefineFastInt("UGCValidateFullBodyYMaxNormal", 830)

local FIntUGCValidateFullBodyZMinClassic = game:DefineFastInt("UGCValidateFullBodyZMinClassic", 70)
local FIntUGCValidateFullBodyZMinSlender = game:DefineFastInt("UGCValidateFullBodyZMinSlender", 70)
local FIntUGCValidateFullBodyZMinNormal = game:DefineFastInt("UGCValidateFullBodyZMinNormal", 70)

local FIntUGCValidateFullBodyZMaxClassic = game:DefineFastInt("UGCValidateFullBodyZMaxClassic", 200)
local FIntUGCValidateFullBodyZMaxSlender = game:DefineFastInt("UGCValidateFullBodyZMaxSlender", 200)
local FIntUGCValidateFullBodyZMaxNormal = game:DefineFastInt("UGCValidateFullBodyZMaxNormal", 225)

local ConstantBounds = {}

function ConstantBounds.getArmBounds()
	return {
		Classic = {
			minSize = Vector3.new(
				FIntUGCValidateArmXMinClassic / 100,
				FIntUGCValidateArmYMinClassic / 100,
				FIntUGCValidateArmZMinClassic / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateArmXMaxClassic / 100,
				FIntUGCValidateArmYMaxClassic / 100,
				FIntUGCValidateArmZMaxClassic / 100
			),
		},
		ProportionsSlender = {
			minSize = Vector3.new(
				FIntUGCValidateArmXMinSlender / 100,
				FIntUGCValidateArmYMinSlender / 100,
				FIntUGCValidateArmZMinSlender / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateArmXMaxSlender / 100,
				FIntUGCValidateArmYMaxSlender / 100,
				FIntUGCValidateArmZMaxSlender / 100
			),
		},
		ProportionsNormal = {
			minSize = Vector3.new(
				FIntUGCValidateArmXMinNormal / 100,
				FIntUGCValidateArmYMinNormal / 100,
				FIntUGCValidateArmZMinNormal / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateArmXMaxNormal / 100,
				FIntUGCValidateArmYMaxNormal / 100,
				FIntUGCValidateArmZMaxNormal / 100
			),
		},
	}
end

function ConstantBounds.getLegBounds()
	return {
		Classic = {
			minSize = Vector3.new(
				FIntUGCValidateLegXMinClassic / 100,
				FIntUGCValidateLegYMinClassic / 100,
				FIntUGCValidateLegZMinClassic / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateLegXMaxClassic / 100,
				FIntUGCValidateLegYMaxClassic / 100,
				FIntUGCValidateLegZMaxClassic / 100
			),
		},
		ProportionsSlender = {
			minSize = Vector3.new(
				FIntUGCValidateLegXMinSlender / 100,
				FIntUGCValidateLegYMinSlender / 100,
				FIntUGCValidateLegZMinSlender / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateLegXMaxSlender / 100,
				FIntUGCValidateLegYMaxSlender / 100,
				FIntUGCValidateLegZMaxSlender / 100
			),
		},
		ProportionsNormal = {
			minSize = Vector3.new(
				FIntUGCValidateLegXMinNormal / 100,
				FIntUGCValidateLegYMinNormal / 100,
				FIntUGCValidateLegZMinNormal / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateLegXMaxNormal / 100,
				FIntUGCValidateLegYMaxNormal / 100,
				FIntUGCValidateLegZMaxNormal / 100
			),
		},
	}
end

function ConstantBounds.getTorsoBounds()
	return {
		Classic = {
			minSize = Vector3.new(
				FIntUGCValidateTorsoXMinClassic / 100,
				FIntUGCValidateTorsoYMinClassic / 100,
				FIntUGCValidateTorsoZMinClassic / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateTorsoXMaxClassic / 100,
				FIntUGCValidateTorsoYMaxClassic / 100,
				FIntUGCValidateTorsoZMaxClassic / 100
			),
		},
		ProportionsSlender = {
			minSize = Vector3.new(
				FIntUGCValidateTorsoXMinSlender / 100,
				FIntUGCValidateTorsoYMinSlender / 100,
				FIntUGCValidateTorsoZMinSlender / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateTorsoXMaxSlender / 100,
				FIntUGCValidateTorsoYMaxSlender / 100,
				FIntUGCValidateTorsoZMaxSlender / 100
			),
		},
		ProportionsNormal = {
			minSize = Vector3.new(
				FIntUGCValidateTorsoXMinNormal / 100,
				FIntUGCValidateTorsoYMinNormal / 100,
				FIntUGCValidateTorsoZMinNormal / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateTorsoXMaxNormal / 100,
				FIntUGCValidateTorsoYMaxNormal / 100,
				FIntUGCValidateTorsoZMaxNormal / 100
			),
		},
	}
end

function ConstantBounds.getHeadBounds()
	return {
		Classic = {
			minSize = Vector3.new(
				FIntUGCValidateHeadXMinClassic / 100,
				FIntUGCValidateHeadYMinClassic / 100,
				FIntUGCValidateHeadZMinClassic / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateHeadXMaxClassic / 100,
				FIntUGCValidateHeadYMaxClassic / 100,
				FIntUGCValidateHeadZMaxClassic / 100
			),
		},
		ProportionsSlender = {
			minSize = Vector3.new(
				FIntUGCValidateHeadXMinSlender / 100,
				FIntUGCValidateHeadYMinSlender / 100,
				FIntUGCValidateHeadZMinSlender / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateHeadXMaxSlender / 100,
				FIntUGCValidateHeadYMaxSlender / 100,
				FIntUGCValidateHeadZMaxSlender / 100
			),
		},
		ProportionsNormal = {
			minSize = Vector3.new(
				FIntUGCValidateHeadXMinNormal / 100,
				FIntUGCValidateHeadYMinNormal / 100,
				FIntUGCValidateHeadZMinNormal / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateHeadXMaxNormal / 100,
				FIntUGCValidateHeadYMaxNormal / 100,
				FIntUGCValidateHeadZMaxNormal / 100
			),
		},
	}
end

function ConstantBounds.getFullBodyBounds()
	return {
		Classic = {
			minSize = Vector3.new(
				FIntUGCValidateFullBodyXMinClassic / 100,
				FIntUGCValidateFullBodyYMinClassic / 100,
				FIntUGCValidateFullBodyZMinClassic / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateFullBodyXMaxClassic / 100,
				FIntUGCValidateFullBodyYMaxClassic / 100,
				FIntUGCValidateFullBodyZMaxClassic / 100
			),
		},
		ProportionsSlender = {
			minSize = Vector3.new(
				FIntUGCValidateFullBodyXMinSlender / 100,
				FIntUGCValidateFullBodyYMinSlender / 100,
				FIntUGCValidateFullBodyZMinSlender / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateFullBodyXMaxSlender / 100,
				FIntUGCValidateFullBodyYMaxSlender / 100,
				FIntUGCValidateFullBodyZMaxSlender / 100
			),
		},
		ProportionsNormal = {
			minSize = Vector3.new(
				FIntUGCValidateFullBodyXMinNormal / 100,
				FIntUGCValidateFullBodyYMinNormal / 100,
				FIntUGCValidateFullBodyZMinNormal / 100
			),
			maxSize = Vector3.new(
				FIntUGCValidateFullBodyXMaxNormal / 100,
				FIntUGCValidateFullBodyYMaxNormal / 100,
				FIntUGCValidateFullBodyZMaxNormal / 100
			),
		},
	}
end

return ConstantBounds
