shots (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.

Note that there are multiple machine config examples here. They’re just included to show different options. You wouldn’t actually use more than one.

#config_version=5

modes:
  - base2
  - mode1
  - mode2

switches:
  switch_1:
    number:
  switch_2:
    number:
  switch_3:
    number:
  switch_4:
    number:
  switch_5:
    number:
  switch_6:
    number:
  switch_7:
    number:
  switch_8:
    number:
  switch_9:
    number:
  switch_10:
    number:
  s_delay:
    number:
  switch_11:
    number:
  switch_12:
    number:
  switch_13:
    number:
  switch_14:
    number:
  switch_15:
    number:
  switch_16:
    number:
  switch_17:
    number:
  switch_18:
    number:
  switch_19:
    number:
  switch_20:
    number:
  switch_21:
    number:
  switch_22:
    number:
  switch_26:
    number:
  switch_27:
    number:
  switch_28:
    number:

lights:
  light_1:
    number:
    tags: tag1
    subtype: matrix
  light_2:
    number:
    tags: tag2
    subtype: matrix
  light_3:
    number:
    subtype: matrix
  light_4:
    number:
    subtype: matrix
  light_5:
    number:
    subtype: matrix
  light_6:
    number:
    subtype: matrix
  led_1:
    number:
  led_2:
    number:
  led_3:
    number:
  led_4:
    number:
  led_5:
    number:
  led_6:
    number:
  led_11:
    number:
  led_12:
    number:
  led_13:
    number:
  led_14:
    number:
  led_15:
    number:
  led_16:
    number:
  led_17:
    number:
  led_18:
    number:
  led_19:
    number:
  led_20:
    number:
  led_21:
    number:
  led_23:
    number:
  led_24:
    number:
  led_25:
    number:
  led_26:
    number:
  led_27:
    number:
  led_28:
    number:


shows:
    rainbow:
      - lights:
          (leds): red
      - lights:
          (leds): orange
      - lights:
          (leds): yellow
      - lights:
          (leds): green
      - lights:
          (leds): blue
      - lights:
          (leds): purple
    rainbow_stay_on:
      - lights:
          (leds): red
      - lights:
          (leds): orange
      - lights:
          (leds): yellow
      - lights:
          (leds): green
      - lights:
          (leds): blue
      - lights:
          (leds): purple
        duration: -1
    rainbow2:
      - lights:
          (leds): aliceblue
      - lights:
          (leds): antiquewhite
      - lights:
          (leds): aquamarine
      - lights:
          (leds): azure
    rainbow3:
      - lights:
          (leds): beige
      - lights:
          (leds): blueviolet
      - lights:
          (leds): brown
      - lights:
          (leds): burlywood
#config_version=5

modes:
  - base

switches:
  switch_1:
    number:
  switch_2:
    number:
  switch_3:
    number:
  switch_4:
    number:
  s_rotate_l:
    number:
  s_rotate_r:
    number:
  switch_10:
    number:
  switch_11:
    number:
  switch_30:
    number:
  switch_31:
    number:
  switch_32:
    number:
  switch_33:
    number:
  switch_34:
    number:
  switch_35:
    number:
  switch_36:
    number:
  switch_37:
    number:
  switch_38:
    number:
  switch_39:
    number:
  switch_40:
    number:
  switch_41:
    number:
  switch_42:
    number:
  switch_43:
    number:
  switch_44:
    number:
  switch_45:
    number:
  switch_46:
    number:
  s_GAS_G:
    number:
  s_GAS_A:
    number:
  s_GAS_S:
    number:
  s_special_left:
    number:
  s_special_right:
    number:

lights:
  led_10:
    number:
  led_11:
    number:
  led_30:
    number:
  led_31:
    number:
  led_32:
    number:
  led_33:
    number:
  led_34:
    number:
  led_35:
    number:
  led_36:
    number:
  led_37:
    number:
  led_38:
    number:
  led_39:
    number:
  led_40:
    number:
  led_41:
    number:
  led_42:
    number:
  l_GAS_G:
    number:
  l_GAS_A:
    number:
  l_GAS_S:
    number:
  l_special_right:
    number:
    subtype: matrix
  l_special_left:
    number:
    subtype: matrix

shows:
    rainbow:
      - lights:
          (leds): off
      - lights:
          (leds): red
      - lights:
          (leds): orange
      - lights:
          (leds): yellow
      - lights:
          (leds): green
    leds_off:
      - lights:
          (led): off
    leds_on:
      - lights:
          (led): white

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:
  priority: 100

shots:
  mode1_shot_1:
    switch: switch_3
    start_enabled: True
    enable_events: custom_enable_1
    disable_events: custom_disable_1
  mode1_shot_17:
    switch: switch_17
    enable_events: custom_enable_17
    disable_events: custom_disable_17
    reset_events: custom_reset_17
    hit_events: custom_hit_17
  mode1_shot_2:
    switch: switch_2
    show_tokens:
      leds: light_2
    start_enabled: True
    profile: mode1_shot_2
  mode1_shot_3:
    switch: switch_3
    profile: mode1_shot_3

shot_profiles:
  mode1_shot_2:
    show: rainbow2
    states:
    - name: mode1_one
    - name: mode1_two
    - name: mode1_three
  mode1_shot_3:
    show: rainbow2
    block: True
    states:
    - name: mode1_one
    - name: mode1_two
    - name: mode1_three
#config_version=5

mode:
  priority: 200

shots:
  mode2_shot_rainbow:
    switch: switch_27
    show_tokens:
      leds: led_27
    profile: rainbow
  mode2_shot_rainbow_start_step:
    switch: switch_28
    show_tokens:
      leds: led_28
    profile: rainbow_start_step
  mode2_shot_2:
    switch: switch_2
    show_tokens:
      leds: light_2
    profile: rainbow_start_step

shot_profiles:
  mode2_shot_21:
    states:
      - name: mode2_one
      - name: mode2_two
      - name: mode2_three
  mode2_shot_22:
    states:
      - name: mode2_one
      - name: mode2_two
      - name: mode2_three
  rainbow_start_step:
    states:
      - name: red
        show: rainbow
        start_step: 1
        manual_advance: True
      - name: orange
        show: rainbow
        start_step: 2
        manual_advance: True
      - name: yellow
        show: rainbow
        start_step: 3
        manual_advance: True
      - name: green
        show: rainbow
        start_step: 4
        manual_advance: True
      - name: blue
        show: rainbow
        start_step: 5
        manual_advance: True
      - name: purple
        show: rainbow
        start_step: 6
        manual_advance: True
  mode2_shot_26:
    states:
    - name: mode2_one
      show: rainbow3
    - name: mode2_two
      show: rainbow3
    - name: mode2_three
      show: rainbow3
#config_version=5
mode:
    start_events: player_turn_started
    stop_events: player_turn_stopped
    priority: 50

shots:
  shot_1:
    switch: switch_1
    show_tokens:
      light: light_1
  shot_2:
    switch: switch_2
    show_tokens:
      light: light_2
    profile: three_states_loop
  shot_3:
    switch: switch_3
    show_tokens:
      light: tag1
  shot_4:
    switch: switch_1
  led_1:
    switch: switch_1
    show_tokens:
      led: led_1
  shot_delay:
    switch: switch_1
    delay_switch:
      s_delay: 2s
  shot_delay_same_switch:
    switch: switch_15
    delay_switch:
      switch_15: 2s
  default_show_light:
    switch: switch_5
    show_tokens:
      light: light_4
  default_show_lights:
    switch: switch_6
    show_tokens:
      lights: light_5, light_6
  default_show_led:
    switch: switch_7
    show_tokens:
      led: led_4
  default_show_leds:
    switch: switch_8
    show_tokens:
      leds: led_5, led_6
  show_in_profile_root:
    switch: switch_9
    show_tokens:
      leds: led_3
    profile: rainbow
  shot_11:
    switch: switch_11
    show_tokens:
      leds: led_11
    profile: profile_11
  shot_12:
    switch: switch_12
    show_tokens:
      leds: led_12
    profile: profile_12
  shot_13:
    switch: switch_13
    show_tokens:
      leds: led_13
    profile: profile_13
  shot_14:
    switch: switch_14
    show_tokens:
      leds: led_14
    profile: profile_14
  shot_15:
    switches: switch_13, switch_14
  shot_16:
    switch: switch_16
    enable_events: custom_enable_16
    disable_events: custom_disable_16
    reset_events: custom_reset_16
    hit_events: custom_hit_16
    advance_events: custom_advance_16
  shot_17:
    switch: switch_17
    profile: profile_17
  shot_19:
    switch: switch_19
    profile: profile_19
    start_enabled: False
    show_tokens:
      leds: led_19
  shot_20:
    switch: switch_20
    profile: profile_20
    start_enabled: False
    show_tokens:
      leds: led_20
  shot_21:
    switch: switch_21
    profile: profile_21
  shot_22:
    switch: switch_22
    profile: profile_22
  shot_23:
    show_tokens:
      leds: led_23
    profile: profile_23
  shot_24:
    show_tokens:
      leds: led_24
    profile: profile_24
  shot_25:
    show_tokens:
      leds: led_25
    profile: profile_25
  shot_26:
    switch: switch_26
    show_tokens:
      leds: led_26
    profile: profile_26
  shot_27:
    switch: switch_1
  shot_28:
    hit_events: event1


shot_profiles:
    prof_toggle2:
        states:
            - name: unlit2
              show: off
            - name: lit2
              show: on
        loop: true

    three_states_loop:
      loop: True
      states:
        - name: one
        - name: two
        - name: three
    rainbow:
      show: rainbow
      states:
        - name: red
        - name: orange
        - name: yellow
        - name: green
        - name: blue
        - name: purple
    profile_11:
      loop: true
      states:
        - name: step1
          show: rainbow
        - name: step2
          show: rainbow2
    profile_12:
      show: rainbow
      states:
        - name: one
        - name: two
        - name: three
          show: rainbow2
          loops: -1
        - name: four
        - name: five
    profile_13:
      states:
        - name: one
          show: rainbow
        - name: two
        - name: three
          show: rainbow2
    profile_14:
      states:
        - name: one
          show: rainbow_stay_on
          loops: 0
        - name: two
    profile_17:
      advance_on_hit: false
      states:
        - name: one
        - name: two
        - name: three
        - name: four
        - name: five
    profile_19:
      show_when_disabled: true
      states:
        - name: one
          show: rainbow
        - name: two
          show: rainbow2
    profile_20:
      show_when_disabled: false
      states:
        - name: one
          show: rainbow
        - name: two
          show: rainbow2
    profile_21:
      states:
        - name: base_one
        - name: base_two
        - name: base_three
    profile_22:
      states:
        - name: base_one
        - name: base_two
        - name: base_three
    profile_23:
        states:
        - name: base_one
          show: rainbow
        - name: base_two
          show: rainbow
        - name: base_three
          show: rainbow
    profile_24:
        states:
        - name: base_one
          show: rainbow_stay_on
          loops: 0
        - name: base_two
          show: rainbow_stay_on
    profile_25:
        states:
        - name: base_one
          show: rainbow
          loops: 0
        - name: base_two
          show: rainbow
    profile_26:
        states:
        - name: base_one
          show: rainbow
        - name: base_two
          show: rainbow
        - name: base_three
          show: rainbow
#config_version=5
mode:
    start_events: player_turn_started
    stop_events: player_turn_stopped
    priority: 100

shots:
  shot_1:
    switch: switch_1
  shot_2:
    switch: switch_2
  shot_3:
    switch: switch_3
  shot_4:
    switch: switch_4
  shot_10:
    switch: switch_10
    show_tokens:
      leds: led_10
  shot_11:
    switch: switch_11
    show_tokens:
      leds: led_11
  shot_30:
    switch: switch_30
    show_tokens:
      leds: led_30
    profile: rainbow
  shot_31:
    switch: switch_31
    show_tokens:
      leds: led_31
    profile: rainbow
  shot_32:
    switch: switch_32
    show_tokens:
      leds: led_32
    start_enabled: False
    profile: rainbow
  shot_33:
    switch: switch_33
    show_tokens:
      leds: led_33
    start_enabled: False
    profile: rainbow
  shot_34:
    switch: switch_34
    show_tokens:
      leds: led_34
    enable_events: None
  shot_35:
    switch: switch_35
    show_tokens:
      leds: led_35
    enable_events: None
  shot_36:
    switch: switch_36
    show_tokens:
      leds: led_36
    enable_events: None
  shot_37:
    switch: switch_37
    show_tokens:
      leds: led_37
    enable_events: None
  shot_38:
    switch: switch_38
    show_tokens:
      leds: led_38
    enable_events: None
  shot_39:
    switch: switch_39
    show_tokens:
      leds: led_39
    enable_events: None
  shot_40:
    switch: switch_40
    show_tokens:
      leds: led_40
    profile: shot_profile_40
  shot_41:
    switch: switch_41
    show_tokens:
      leds: led_41
    profile: shot_profile_40
  shot_42:
    switch: switch_42
    show_tokens:
      leds: led_42
    profile: shot_profile_40
  shot_43:
    switch: switch_43
  shot_44:
    switch: switch_44
  shot_45:
    switch: switch_45
    profile: rainbow
  shot_46:
    switch: switch_46
    profile: rainbow
  lane_special_left:
      switch: s_special_left
      show_tokens:
          light: l_special_left
      profile: prof_toggle
  lane_special_right:
      switch: s_special_right
      show_tokens:
          light: l_special_right
      profile: prof_toggle

shot_profiles:
    rainbow:
      show: rainbow
      states:
        - name: unlit
        - name: red
        - name: orange
        - name: yellow
        - name: green
    rainbow_no_hold:
      show: rainbow
      states:
        - name: unlit
        - name: red
        - name: orange
        - name: yellow
        - name: green
    shot_profile_34:
      show: rainbow
      state_names_to_rotate: red, green
      states:
        - name: unlit
        - name: red
        - name: orange
        - name: yellow
        - name: green
    shot_profile_37:
      show: rainbow
      state_names_to_not_rotate: unlit
      states:
        - name: unlit
        - name: red
        - name: orange
        - name: yellow
        - name: green
    shot_profile_40:
      show: rainbow
      rotation_pattern: r, r, l, l
      states:
        - name: unlit
        - name: red
        - name: orange
        - name: yellow
        - name: green
    prof_toggle:
      states:
        - name: unlit_toggle
          show: off
        - name: lit_toggle
          show: on
      loop: true

shot_groups:
  test_group:
    shots: shot_1, shot_2, shot_3, shot_4
    rotate_left_events: s_rotate_l_active
    rotate_right_events: s_rotate_r_active
    debug: True
  test_group_2:
    shots: shot_10, shot_11
    rotate_left_events: rotate_11_left
  shot_group_30:
    shots: shot_30, shot_31
  shot_group_32:
    shots: shot_32, shot_33
    enable_events: group32_enable
    disable_events: group32_disable
    reset_events: group32_reset
    rotate_left_events: group32_rotate_left
    rotate_right_events: group32_rotate_right
    enable_rotation_events: group32_enable_rotation
    disable_rotation_events: group32_disable_rotation
  shot_group_34:
    shots: shot_34, shot_35, shot_36
  shot_group_37:
    shots: shot_37, shot_38, shot_39
  shot_group_40:
    shots: shot_40, shot_41, shot_42
  shot_group_43:
    shots: shot_43, shot_44
  shot_group_45:
    shots: shot_45, shot_46
  special:
    shots: lane_special_left