{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.silverlabs_nat.flamingo.main": {
      "initial_state": "idle",
      "states": {
        "idle": {
          "animations": [
            { "idle": "!q.is_baby" },
            { "baby_idle": "q.is_baby" }
          ],
          "transitions": [
            {
              "sit": "q.is_sitting && !q.is_riding"
            },
            {
              "walk": "q.modified_move_speed >= 0.02 && !q.is_riding"
            },
            {
              "swim": "q.is_in_water && !q.is_riding"
            },
            {
              "idle_event": "!q.is_baby && math.random_integer(0, 500) == 0 && q.state_time > 2 && !q.is_riding"
            }
          ],
          "blend_transition": 0.2
        },
        "walk": {
          "animations": [
            { "walk": "!q.is_baby" },
            { "baby_walk": "q.is_baby" }
          ],
          "transitions": [
            {
              "sit": "q.is_sitting"
            },
            {
              "swim": "q.is_in_water"
            },
            {
              "idle": "q.modified_move_speed < 0.02"
            },
            {
              "run": "q.modified_move_speed >= (q.is_baby ? 0.5 : 0.858)"
            }
          ],
          "blend_via_shortest_path": true,
          "blend_transition": 0.25
        },
        "run": {
          "animations": [
            { "run": "!q.is_baby" },
            { "baby_run": "q.is_baby" }
          ],
          "transitions": [
            {
              "sit": "q.is_sitting"
            },
            {
              "idle": "q.modified_move_speed < 0.02"
            },
            {
              "walk": "q.modified_move_speed < (q.is_baby ? 0.5 : 0.858)"
            },
            {
              "swim": "q.is_in_water"
            }
          ],
          "blend_via_shortest_path": true,
          "blend_transition": 0.25
        },
        "sit": {
          "animations": [
            { "sit": "!q.is_baby" },
            { "baby_sit": "q.is_baby" }
          ],
          "transitions": [
            {
              "sit_idle": "q.is_sitting && q.all_animations_finished"
            },
            {
              "unsit": "!q.is_sitting"
            }
          ],
          "blend_transition": 0.2
        },
        "sit_idle": {
          "animations": [
            { "sit_idle": "!q.is_baby" },
            { "baby_sit_idle": "q.is_baby" }
          ],
          "transitions": [
            {
              "unsit": "!q.is_sitting"
            }
          ],
          "blend_transition": 0.2
        },
        "unsit": {
          "animations": [
            { "unsit": "!q.is_baby" },
            { "baby_unsit": "q.is_baby" }
          ],
          "transitions": [
            {
              "walk": "q.all_animations_finished && q.modified_move_speed >= 0.02"
            },
            {
              "idle": "q.all_animations_finished || q.state_time > (q.is_baby ? 0.7 : 1.2)"
            }
          ],
          "blend_transition": 0.2
        },
        "swim": {
          "animations": [
            "swim"
          ],
          "transitions": [
            {
              "sit": "q.is_sitting"
            },
            {
              "idle": "!q.is_in_water && q.modified_move_speed < 0.02"
            },
            {
              "walk": "!q.is_in_water && q.modified_move_speed >= 0.02"
            }
          ],
          "blend_transition": 0.2
        },
        "idle_event": {
          "animations": [
            "idle_event"
          ],
          "transitions": [
            {
              "swim": "q.is_in_water"
            },
            {
              "run": "q.modified_move_speed >= (q.is_baby ? 0.5 : 0.858)"
            },
            {
              "walk": "q.modified_move_speed >= 0.02"
            },
            {
              "idle": "q.all_animations_finished"
            }
          ],
          "blend_transition": 0.2
        }
      }
    }
  }
}
