An NPC schedule for the Roller NPC that defines idle behavior. On start it adds a single Wait task with a randomized duration between 1.0 and 2.5 seconds.
using Sandbox.Npcs.Tasks;
namespace Sandbox.Npcs.Roller.Schedules;
/// <summary>
/// Roller idles when no target is visible — waits briefly then re-evaluates.
/// </summary>
public sealed class RollerIdleSchedule : ScheduleBase
{
protected override void OnStart()
{
AddTask( new Wait( Game.Random.Float( 1f, 2.5f ) ) );
}
}