Thanks,
BrowserUK!
My interpretation of the intent of the original algorithm, is that if a user has acquired a given number of points, and their quota has not yet been incremented to the appropriate level, then it is increased to that level.
That's the right interpretation. When none of the conditions is met, the value returned should be undef or 0, to indicate that nothing should be done (in the code I posted, the returned value when none of the conditions is met is
15).
My view was that the quota may represent something like "life force" or "energy" or "armour" in a game scenario, which gets increased in stages as the user accumulates points. This is an assumption, but one that seems to fit the facts as presented.
Yes, the quota is some kind of energy points. These points are increased in conjunction with the increase in the (performance) points. It's a bit like PM here - the number of votes you get is tied to the number of XP's you've accumulated.