Hello,
As regain is in time, tick or delay will be needed. For delay, a custom event with loop / while loop can do it. You have to set it on release / end of each stamina consumer event, and check that it is not ever running. Advantage of delay could be that it is not fired on “is sprinting” true and is a single node added to events.