``Mojo'' is the system Scoop uses to give or take certain comment-related privileges. A user's mojo is not shown; the only way they can know approximately what it is is by whether or not they have those privileges--assuming they know what the mojo level required for the privileges is. A user's mojo is always a number in the range of possible comment ratings, set by the variables rating_max and rating_min. The perm super_mojo (A.12.40) overrides the mojo calculations and gives a user all the privileges gained by having high mojo.
Users with mojo higher than the number in the variable mojo_rating_trusted are known as ``trusted users'', and uses with mojo lower than the number in the variable rating_min are known as ``untrusted users''. Users with mojo between these two numbers have no special name, they're just normal users.
Mojo is a time-weighted average of a user's comment ratings, so a user must continually maintain his mojo level to remain trusted (or untrusted). Scoop fetches the user's most recent rated comments, limited by both number and date as set in the variables mojo_max_comments and mojo_max_days, respectively. If the variable mojo_ignore_diaries is set, comments posted in a diary do not count towards either mojo or the maximum number of comments fetched.
Comments used in mojo calculations are weighted, with the most recent comments counting for the most; the most recent rated comment is given a weight equal to mojo_max_comments, the second most recent is given a weight equal to mojo_max_comments - 1, and so on down until the last fetched comment. Both the number of ratings and the value of those ratings are multiplied by the weighting factor.
The weighted number of ratings and the sum of the weighted rating values are added independantly, then the value is divided by the number of ratings, to give the user's mojo.
A user's trusted or untrusted status does not take effect unless the number of rated comments posted in the time limit set in the variable mojo_max_days is greater than the number in the variable mojo_min_trusted for trusted status, or mojo_min_untrusted for untrusted status.
If user abuses his privileges and rates good comments down or bad comments up in a consistent pattern, his ratings can be reversed and rating privileges taken away with one click by the admin from the user's ``show user ratings'' page. The group the abusive user is transferred to is named in the variable rating_wipe_group. This group must exist and shouldn't have the perm comment_rate (A.12.6). This doesn't affect that user's mojo calculation, but all users whose comments had been rated have their mojo recalculated.