self.machine.achievements.*

class mpf.devices.achievement.Achievement(*args, **kwargs)

Bases: mpf.core.mode_device.ModeDevice

An achievement in a pinball machine.

It is tracked per player and can automatically restore state on the next ball.

Accessing achievements in code

The device collection which contains the achievements in your machine is available via self.machine.achievements. For example, to access one called “foo”, you would use self.machine.achievements.foo. You can also access achievements in dictionary form, e.g. self.machine.achievements['foo'].

You can also get devices by tag or hardware number. See the DeviceCollection documentation for details.

Methods & Attributes

Achievements have the following methods & attributes available. Note that methods & attributes inherited from base classes are not included here.

add_to_group(group)

Add this achievement to an achievement group.

Parameters:group – The achievement group to add this achievement to.
complete(**kwargs)

Complete achievement.

disable(**kwargs)

Disable achievement.

enable(**kwargs)

Enable the achievement.

It can only start if it was enabled before.

raise_config_error(msg, error_no, *, context=None)

Raise a ConfigFileError exception.

remove_from_group(group)

Remove this achievement from an achievement group.

Parameters:group – The achievement group to remove this achievement from.
reset(**kwargs)

Reset the achievement to its initial state.

select(**kwargs)

Highlight (select) this achievement.

start(**kwargs)

Start achievement.

state

Return current state.

stop(**kwargs)

Stop achievement.