AresMUSH
A New Breed of MUSH Server

Configuring the Achievements System

Achievements is an optional plugin that lets you set up in-game achievements for characters to earn. To configure the Achievements plugin:

  1. Select Admin -> Setup.
  2. Edit achievements.yml

types

You can configure what achievement types exist and what their icon is. Standard types include things like community, story, and portal. Icons come from the Font Awesome icon library, so you’ll see codes like fa-globe and fa-users.

Tip: Don’t erase the existing types, because they’re used by various plugins. You can change their icons, though, and add new types.

custom_achievements

The standard plugins come with a number of achievements. You can also define your own using the custom_achievements setting. For each achievement, you define:

  • Internal name (e.g. something_special)
  • Displayed Message (e.g. Did something special.)
  • Achievement Type (e.g. story, portal, etc.)

For example:

custom_achievements:
  something_special:
    message: "Did something special."
    type: "story"

You can award custom achievements with the achievement/add command.

If you want some piece of code to award a custom achievement automatically, just call: Achievements.award_achievement(char, achievement_name). For example:

Achievements.award_achievement(enactor, "something_special")

Tip: You don’t have to check to see if the person already has the award; the Achievements plugin does that automatically.

Each achievement can only be received one time, though you can define different ‘levels’ of the achievement with different names. For example, joining combats has several levels: fs3_joined_combat_1, fs3_joined_combat_10, etc.