{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.silverlabs_nat.skunk": {
      "initial_state": "idle",
      "states": {
        "idle": {
          "animations": [
            { "idle": "!q.is_baby" },
            { "baby_idle": "q.is_baby" }
          ],
          "transitions": [
            {
              "idle_event": "!q.is_baby && math.random_integer(0, 1000) == 0 && q.modified_move_speed < 0.15"
            },
            { "walk": "q.modified_move_speed >= 0.15 && !q.is_avoiding_mobs" },
            { "run": "q.modified_move_speed > 0.4" },
            { "sit": "q.is_sitting" },
            { "spray": "q.property('silverlabs_nat:is_spraying') == true" },
            { "sleeping": "q.is_sleeping" },
            { "attacking": "v.attack_time > 0" }
          ],
          "blend_transition": 0.2
        },
        "idle_event": {
          "animations": [
            { "idle_event": "!q.is_baby" },
            { "baby_idle": "q.is_baby" }
          ],
          "transitions": [
            { "idle": "q.all_animations_finished" },
            { "walk": "q.modified_move_speed >= 0.14" },
            { "sit": "q.is_sitting" },
            { "attacking": "v.attack_time > 0" }
          ],
          "blend_transition": 0.2
        },
        "walk": {
          "animations": [
            { "walk": "!q.is_baby" },
            { "baby_walk": "q.is_baby" }
          ],
          "transitions": [
            { "idle": "q.modified_move_speed < 0.15" },
            { "run": "q.modified_move_speed > 0.4" },
            { "sit": "q.is_sitting" },
            { "attacking": "v.attack_time > 0" }
          ],
          "blend_transition": 0.2
        },
        "run": {
          "animations": [
            { "run": "!q.is_baby" },
            { "baby_run": "q.is_baby" }
          ],
          "transitions": [
            { "idle": "q.modified_move_speed < 0.2" },
            { "sit": "q.is_sitting" },
            { "attacking": "v.attack_time > 0" }
          ],
          "blend_transition": 0.2
        },
        "sit": {
          "animations": [
            { "sit": "!q.is_baby" },
            { "baby_sit": "q.is_baby" }
          ],
          "transitions": [
            { "idle": "!q.is_sitting" },
            { "sit_idle": "q.is_baby && q.any_animation_finished" }
          ],
          "blend_transition": 0.2
        },
        "sit_idle": {
          "animations": [
            "baby_sit_idle"
          ],
          "transitions": [
            { "unsit": "!q.is_sitting" },
            { "sit": "!q.is_baby" }
          ],
          "blend_transition": 0.2
        },
        "unsit": {
          "animations": [
            "baby_unsit"
          ],
          "transitions": [
            { "idle": "q.any_animation_finished" }
          ],
          "blend_transition": 0.2
        },
        "spray": {
          "animations": [
            { "spray": "!q.is_baby" },
            { "baby_spray": "q.is_baby" }
          ],
          "transitions": [
            { "idle": "q.all_animations_finished" }
          ],
          "blend_transition": 0.2
        },
        "sleeping": {
          "animations": [
            { "sleep": "!q.is_baby" },
            { "baby_sleep": "q.is_baby" }
          ],
          "transitions": [
            { "idle": "!q.is_sleeping" }
          ],
          "blend_transition": 0.2
        },
        "attacking": {
          "on_entry": [
            "v.random_attack = math.random_integer(0, 1);"
          ],
          "animations": [
            { "attack_1": "v.random_attack == 0" },
            { "attack_2": "v.random_attack == 1" }
          ],
          "transitions": [
            { "idle": "v.attack_time == 0" }
          ],
          "blend_transition": 0.2
        }
      }
    }
  }
}
