as SB already pointed out, you have your brackets set so that stamina is ONLY gained if you are sitting rather than the slower passive rate at which it fills.
Note: You're also doing it wrong...
SitAt was used to determine how long you have been sitting for so that you couldn't just tap the sit key and magically gain stamina faster instantly.
Code:
#region Stamina
//TODO: Fly update for stamina
{
byte ToUp = 2;
if (client.Entity.Action == Game.Enums.ConquerAction.Sit || client.Entity.Action == Game.Enums.ConquerAction.Lie)
if (DateTime.Now > client.Entity.SitAt.AddMilliseconds(300))
ToUp = 11;
client.Entity.Stamina = (byte)Math.Min(client.Entity.Stamina + ToUp, client.Entity.MaxStamina);
}
#endregion
Note: There should be no need for try catches in this either. It's simple math. You'll also want to initialize SitAt when the user logs in as well as resetting it any time their action changes to Sit or Lie
Also fly is easy to check for, just don't fill it if they have the fly flag active.