abstract class AIDebugConditions extends AIbehaviorconditionScript
{
}

class CheckIfCombatAllowed extends AIDebugConditions
{

	private override function Check( context : ScriptExecutionContext ) : AIbehaviorConditionOutcomes
	{
		if( IsFinal() )
		{
			return true;
		}
		return !( GetPuppet( context ).GetBoolFromCharacterTweak( "Combat_Disabled" ) );
	}

}

class CheckIfSearchAllowed extends AIDebugConditions
{

	private override function Check( context : ScriptExecutionContext ) : AIbehaviorConditionOutcomes
	{
		if( IsFinal() )
		{
			return true;
		}
		return !( GetPuppet( context ).GetBoolFromCharacterTweak( "Search_Disabled" ) );
	}

}

class CheckIfPatrolAllowed extends AIDebugConditions
{

	private override function Check( context : ScriptExecutionContext ) : AIbehaviorConditionOutcomes
	{
		if( IsFinal() )
		{
			return true;
		}
		return GetPuppet( context ).GetBoolFromCharacterTweak( "Is_Patrolling" );
	}

}

class Debug_CheckIfShouldReturnToSpawn extends AIDebugConditions
{

	private override function Check( context : ScriptExecutionContext ) : AIbehaviorConditionOutcomes
	{
		if( IsFinal() )
		{
			return true;
		}
		return GetPuppet( context ).GetBoolFromCharacterTweak( "Debug_ShouldReturnToSpawnOnIdle" ) || TDB.GetBool( T"AIGeneralSettings.Debug_ShouldReturnToSpawnOnIdle" );
	}

}

class Debug_LookatTestEnabled extends AIDebugConditions
{

	private override function Check( context : ScriptExecutionContext ) : AIbehaviorConditionOutcomes
	{
		if( GetPuppet( context ).GetBoolFromCharacterTweak( "Debug_LookatTest" ) )
		{
			return true;
		}
		if( GetPuppet( context ).GetBoolFromCharacterTweak( "Debug_AimingLookatTest" ) )
		{
			return true;
		}
		return false;
	}

}

class Debug_AimingLookatTestEnabled extends AIDebugConditions
{

	private override function Check( context : ScriptExecutionContext ) : AIbehaviorConditionOutcomes
	{
		return GetPuppet( context ).GetBoolFromCharacterTweak( "Debug_AimingLookatTest" );
	}

}

class Debug_RotationTestEnabled extends AIDebugConditions
{

	private override function Check( context : ScriptExecutionContext ) : AIbehaviorConditionOutcomes
	{
		return GetPuppet( context ).GetBoolFromCharacterTweak( "Debug_RotationTest" );
	}

}

