AI/Needs/NeedDefinition.cs
[AssetType( Name = "Need Definition", Extension = "ndef" )]
public class NeedDefinition : GameResource
{
	[Property] public string DisplayName { get; set; }
	[Property, IconName] public Texture Icon { get; set; }

	[Property, Category( "Level" )] public float BaseRate { get; set; } = 0.01f;
	[Property, Category( "Level" )] public Vector2 InitialRange { get; set; } = new Vector2( 0f, 0.5f );

	/// <summary>
	/// This need is applicable if the guest's delinquency level is smaller than this.
	/// </summary>
	[Property, Category( "Level" )]
	public float DelinquencyThreshold { get; set; } = 1f;

	[Property, Category( "Tasks" )] public float Priority { get; set; } = 5.0f;
	[Property, Category( "Tasks" )] public float ActionThreshold { get; set; } = 0.7f;
	[Property, Category( "Tasks" )] public float ActionThresholdRun { get; set; } = 0.9f;

	protected override Bitmap CreateAssetTypeIcon( int width, int height )
	{
		return CreateSimpleAssetTypeIcon( "speed", width, height );
	}
}