relics/RelicCoupon.cs
using Sandbox;
using System.Reflection.PortableExecutable;
using System.Runtime.Versioning;
using System.Threading.Tasks;

public class RelicCoupon : Relic
{
	public bool IsActive { get; set; }

	public override void LevelUp()
	{
		base.LevelUp();

		IsActive = true;
	}

	public override bool ShouldHandleEvent( EventType eventType )
	{
		return eventType == EventType.LevelStart && IsActive;
	}

	public override async Task HandleEventAsync( EventType eventType )
	{
		Manager.Instance.Stats[StatType.FreeItem] = 1f;
		IsActive = false;

		await Task.DelayRealtime( 0 );
	}
}