package Senses
using RTDB

MP_Test_Senses_Big : SensePreset
{
	fk< SenseShape >[] shapes = 
	[
		{
			position = ( 0.f, 0.f, 0.25f );
			float angle = 110.f;
			float range = 30.f;
			float halfHeight = 20.f;
		} : AngleRange, 
		{
			min = ( 0.f, 0.f, -1.f );
			max = ( 3.f, 4.f, 1.5f );
		} : Box, 
		{
			min = ( -3.f, 0.f, -1.f );
			max = ( 0.f, 4.f, 1.5f );
		} : Box
	];
	float detectionDropFactor = 0.3f;
	float detectionFactor = 50.f;
	useZCorrection = true;
}

MP_Default : SensePreset
{
	float detectionFactor = 3.f;
	float detectionDropFactor = 20.f;
	float detectionCoolDownTime = 3.f;
	useZCorrection = true;
	fk< SenseShape >[] shapes = 
	[
		{
			position = ( 0.0, 0.0, 0.0 );
			float angle = 75;
			float range = 30;
			float halfHeight = 30;
		} : AngleRange, 
		{
			position = ( 0.0, 0.0, -1.0 );
			float angle = 180;
			float range = 1.5;
			float halfHeight = 1;
		} : AngleRange
	];
	fk< DetectionCurve >[] curves = 
	[
		{
			name = "Default_DetectionCurve";
			states = 
			[
				"Default", "Sprint", "Jump"
			];
		} : DetectionCurve, 
		{
			name = "Stealth_DetectionCurve";
			states = 
			[
				"Crouch"
			];
		} : DetectionCurve
	];
}

MP_Relaxed : MP_Default
{
}

MP_Alerted : MP_Default
{
	fk< SenseShape >[] shapes = 
	[
		{
			position = ( 0.0, 0.0, 0.0 );
			float angle = 100;
			float range = 60;
			float halfHeight = 30;
		} : AngleRange, 
		{
			position = ( 0.0, 0.0, -1.0 );
			float angle = 180;
			float range = 1.5;
			float halfHeight = 2;
		} : AngleRange
	];
}

MP_Combat : SensePreset
{
	fk< SenseObjectType > objectType = "SenseObjectType.Npc";
	float detectionFactor = -1.f;
	float detectionDropFactor = 20.f;
	float detectionCoolDownTime = 10.f;
	useZCorrection = true;
	fk< SenseShape >[] shapes = 
	[
		{
			min = ( -60.f, -60.f, -60.f );
			max = ( 60.f, 60.f, 60.f );
		} : Box
	];
}

CPO_Huge_Alarmed : SensePreset
{
	float detectionFactor = -1.f;
	float detectionDropFactor = 20.f;
	float detectionCoolDownTime = 10.f;
	useZCorrection = true;
	fk< SenseShape >[] shapes = 
	[
		{
			min = ( -60.f, -60.f, -60.f );
			max = ( 60.f, 60.f, 60.f );
		} : Box
	];
	fk< DetectionCurve >[] curves = [];
}

CPO_Huge_Alarmed_Ignore_Physics_Test_Hack : SensePreset
{
	float detectionFactor = -1.f;
	float detectionDropFactor = 20.f;
	float detectionCoolDownTime = 10.f;
	ignorePhysicsTest = true;
	useZCorrection = true;
	fk< SenseShape >[] shapes = 
	[
		{
			min = ( -60.f, -60.f, -60.f );
			max = ( 60.f, 60.f, 60.f );
		} : Box
	];
	fk< DetectionCurve >[] curves = [];
}

