Achievements link

The Achievement module allows the developer to grant achievements to the player, to clear achievements, and to determine if an achievement has been granted. It also allows the recording of progress towards an achievement.

By default, the achievement stores information in the persistent file. If Steam support is available and enabled, achivement information is automatically synchronized with Steam.

achievement.Sync() link

An action that calls achievement.sync(). This is only sensitive if achievements are out of sync.

achievement.clear(name) link

Clears the achievement with name.

achievement.clear_all() link

Clears all achievements.

achievement.grant(name) link

Grants the achievement with name, if it has not already been granted.

achievement.has(name) link

Returns true if the player has been granted the achievement with name.

achievement.progress(name, complete) link

Reports progress towards the achievement with name, if that achievement has not been granted. The achievement must be defined with a completion amount.

name
The name of the achievement. This should be the name of the achievement, and not the stat.
complete
An integer giving the number of units completed towards the achievement.
achievement.register(name, **kwargs) link

Registers an achievement. Achievements are not required to be registered, but doing so allows one to pass information to the backends.

name
The name of the achievement to register.

The following keyword parameters are optional.

steam
The name to use on steam. If not given, defaults to name.
stat_max
The integer value of the stat at which the achievement unlocks.
stat_modulo
If the progress modulo stat_max is 0, progress is displayed to the user. For example, if stat_modulo is 10, progress will be displayed to the user when it reaches 10, 20, 30, etc. If not given, this defaults to 0.
achievement.sync() link

Synchronizes registered achievements between local storage and other backends. (For example, Steam.)