Well, you're clearly counting ticks as a global value, not a per-player value. This is bad.
Imagine you have 200 players logged in...
World ticks (time 1), all entities are ticked...
Player1 ticks, ticks is now 1.
Player2 ticks, ticks is now 2.
Player3 ticks, ticks is now 3.
Player4 ticks, ticks is now 4.
Player5 ticks, ticks is now 5.
Player6 ticks, ticks is now 6.
...
Player198 ticks, ticks is now 198.
Player199 ticks, ticks is now 199.
Player200 ticks, ticks is now 200, Player200 is fatigued.
World ticks (time 2), all entities are ticked...
Player1 ticks, ticks is now 1.
Player2 ticks, ticks is now 2...