variable_player (example config files)

Machine config examples

Here are some example machine-wide config files that show real-world examples of how these configs are used.

#config_version=5

# minimal config to start game
game:
    balls_per_game: 2

coils:
    eject_coil1:
        number:

switches:
    s_start:
        number:
        tags: start
    s_ball_switch1:
        number:
    s_ball_switch2:
        number:
    s_counter_target:
        number:
    s_kills_counter_target:
        number:

playfields:
    playfield:
        default_source_device: test_trough
        tags: default

ball_devices:
    test_trough:
        ball_switches: s_ball_switch1, s_ball_switch2
        eject_coil: eject_coil1
        tags: trough, drain, home

modes:
  - mode1
  - mode2
  - mode3
  - mode_for_logic_block

Mode config examples

Here are some example mode config files that go along with the machine-wide config above.

Note that there are multiple mode config examples here. You might not necessarily use more than one in your machine.

#config_version=5
mode:
    start_events: start_mode1
    stop_events: stop_mode1
    priority: 200

variable_player:
    test_event1:
        score: 100
        var_a: 1
        var_c: current_player.ramps
    test_set_100:
        test1:
          int: 100
          action: set
    test_set_200:
        test1:
          int: 200
          action: set
    test_set_string:
        string_test:
          string: HELLO
    test_set_machine_var:
        my_var:
          int: 100
          action: set_machine
    test_add_machine_var:
        my_var:
          int: 23
          action: add_machine
    player_score:
        my_var2:
          int: change
          action: add_machine
    test_score_mode:
        score: 100
    s_counter_target_active:
        score: 10
    s_kills_counter_target_active:
        score: 100
#config_version=5
# actived when all 5 drop targets have dropped
# user wants to continue hitting those
# hitting the special kills the mode
mode:
  start_events: counter_target_complete # from logic_block
  # priority higher that mode1 priority
  priority: 300
  stop_events: s_kills_counter_target_active

variable_player:
  s_counter_target_active:
    score: 100|block
  s_kills_counter_target_active:
    score: 500|block
#config_version=5
mode:
    start_events: start_mode2
    stop_events: stop_mode2
    priority: 300
    restart_on_next_ball: True

variable_player:
    test_event1:
        score: 1000|block
        var_a: 0|block
        var_b: 1
        var_c: current_player.ramps * 10|block
    test_score_mode:
        score:
           int: 1000
           block: true
#config_version=5
mode:
    start_events: start_mode3
    stop_events: stop_mode3
    priority: 400

variable_player:
    score_player1:
        score:
            int: 42
            player: 1
    score_player2:
        score:
            int: 23
            player: 2
    reset_player2:
        score:
            int: 10
            player: 2
            action: set
    score_float2:
        score:
            float: 2.0
    score_float3:
        score: 100 * current_player.multiplier
    set_float:
        multiplier:
            float: 1.5
            action: set