Extension:Cheevos

Template:Extension infobox
Template:DisambigMsg/Fandom

**Cheevos** is a MediaWiki extension that tracks a user's progress as a wiki editor and awards achievement icons, badges, and points when meeting certain criteria. It works primarily against the MediaWiki system of hooks to link into the core and other extensions.

* **Licensing:** Cheevos is released under the GNU GPLv2.

To see general information about achievements on Gamepedia including a full list and a guide for creating/editing achievements, please see Achievements.

## Usage

The list of visible achievements can be viewed at Special:Achievements. Administrators are able to view secret achievements and make changes through the same interface. Achievements can be made to award based on MediaWiki Hooks and require other achievements as prerequisites.

## WikiPoints

WikiPoints tabulates and awards points for wiki editors based on the size and breadth of their contributions. A single edit could earn a different amount of points from wiki to wiki and from day to day depending on how much editing activity has happened over the past week. Point rewards drop as an editor's activity spikes, and rewards go up as editing activity dries up. Editors who meet a certain threshold are considered active editors and given free Gamepedia PRO as a thank you.

### Special Pages

WikiPoints adds two special pages to a wiki:

* Special:WikiPoints is available to everyone and displays the top editors from the current wiki (made obsolete by the parser function below).
* Special:WikiPointsAdmin is available only to users in the sysop group and provides point moderation functionality. The initial page shows points earned from recent edits. A user can be looked up by user name, and points can be revoked per edit if they are found to be abusing the system.

### Points Parser Function

A single parser function allows you to display the points earned by a specific editor, or the top X editors from any wiki on the gamepedia platform. Up to three arguments may be specified:

* (Optional) Specify an user name to pull back only that user in the format of *User:Example*
* (Optional) Maximum number of users to return. *Defaults to 25* *Maximum of 200*
* (Optional) Wiki context - Omit to show only the current wiki, use *all* to list per wiki, or use *global* to list an aggregate of all wikis per user.

#### Examples

Default: `{{#Points:}}` (displays the top 25 editors for the current wiki)
{{#Points:}}

Top 10: `{{#Points:|10}}`
{{#Points:|10}}

Top 10 across Gamepedia per wiki: `{{#Points:|10|all}}`
{{#Points:|10|all}}

Top 10 across Gamepedia: `{{#Points:|10|global}}`
{{#Points:|10|global}}

Single user, current wiki: `{{#Points:User:Game_widow}}`
{{#Points:User:Game\_widow}}

Single user across Gamepedia per wiki: `{{#Points:User:Game_widow|5|all}}`
{{#Points:User:Game\_widow|5|all}}

Single user across Gamepedia: `{{#Points:User:Game_widow|1|global}}`
{{#Points:User:Game\_widow|1|global}}

### Hooks

#### WikiPointsSave

* Arguments: $editId, $userId, $articleId, $score, $calculationInfo, $reason = ''
* Define: static public function onWikiPointsSave($editId, $userId, $articleId, $score, $calculationInfo, $reason = '') { ... }
* Attach: $wgHooks['WikiPointsSave'][] = 'MyExtensionHooks::onWikiPointsSave';

## External links

* GitLab project

Template:AchievementInfo