{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.silverlabs_nat.giraffe.move": {
      "initial_state": "default",
      "states": {
        "default": {
          "animations": [
            { "idle": "!q.is_baby" },
            { "baby_idle": "q.is_baby" }
          ],
          "blend_transition": 0.5,
          "transitions": [
            {
              "sit": "q.is_sitting && q.is_baby"
            },
            {
              "run": "v.is_sprinting && q.state_time > (q.is_baby ? 0.5 : 1.0)"
            },
            {
              "walk": "v.is_moving && q.state_time > 0.5"
            }
          ]
        },
        "walk": {
          "animations": [
            { "walk": "!q.is_baby" },
            { "baby_walk": "q.is_baby" }
          ],
          "blend_transition": 0.5,
          "transitions": [
            {
              "sit": "q.is_sitting && q.is_baby"
            },
            {
              "default": "!v.is_moving && q.state_time > 0.5"
            },
            {
              "run": "v.is_sprinting && q.state_time > 0.5"
            }
          ]
        },
        "run": {
          "animations": [
            { "run": "!q.is_baby" },
            { "baby_run": "q.is_baby" }
          ],
          "blend_transition": 0.5,
          "transitions": [
            {
              "sit": "q.is_sitting && q.is_baby"
            },
            {
              "default": "!v.is_moving && q.state_time > 0.5"
            },
            {
              "walk": "!v.is_sprinting && q.state_time > 0.5"
            }
          ]
        },
        "sit": {
          "animations": [
            { "baby_sit": "q.is_baby" }
          ],
          "blend_transition": 0.0,
          "blend_via_shortest_path": true,
          "transitions": [
            {
              "sit_loop": "q.is_sitting && q.is_baby && q.state_time >= 1.0"
            },
            {
              "unsit": "!q.is_sitting && q.is_baby"
            }
          ]
        },
        "sit_loop": {
          "animations": [
            { "baby_sit_idle": "q.is_baby" }
          ],
          "blend_transition": 0.0,
          "blend_via_shortest_path": true,
          "transitions": [
            {
              "unsit": "!q.is_sitting && q.is_baby"
            }
          ]
        },
        "unsit": {
          "animations": [
            { "baby_unsit": "q.is_baby" }
          ],
          "blend_transition": 0.2,
          "blend_via_shortest_path": true,
          "transitions": [
            {
              "default": "q.all_animations_finished && !v.is_moving"
            },
            {
              "walk": "q.all_animations_finished && v.is_moving && !v.is_sprinting"
            },
            {
              "run": "q.all_animations_finished && v.is_sprinting"
            }
          ]
        }
      }
    },
    "controller.animation.silverlabs_nat.giraffe.look_at_target": {
      "initial_state": "default",
      "states": {
        "default": {
          "animations": ["look_at_target"]
        }
      }
    },
    "controller.animation.silverlabs_nat.giraffe.baby_look_at_target": {
      "initial_state": "default",
      "states": {
        "default": {
          "animations": ["baby_look_at_target"]
        }
      }
    },
    "controller.animation.silverlabs_nat.giraffe.eat": {
      "initial_state": "default",
      "states": {
        "default": {
          "on_entry": [
            "v.health = q.health;"
          ],
          "transitions": [
            {
              "eat": "(v.health ?? 0) < q.health"
            },
            {
              "damage": "q.health < (v.health ?? 0)"
            }
          ]
        },
        "damage": {
          "transitions": [
            {
              "default": "1.0"
            }
          ]
        },
        "eat": {
          "animations": [
            "eat"
          ],
          "transitions": [
            {
              "default": "q.all_animations_finished"
            }
          ]
        }
      }
    },
    "controller.animation.silverlabs_nat.giraffe.breed": {
      "initial_state": "default",
      "states": {
        "default": {
          "transitions": [
            {
              "breedable": "!q.is_in_love"
            }
          ]
        },
        "breedable": {
          "transitions": [
            {
              "eat": "q.is_in_love"
            }
          ]
        },
        "eat": {
          "animations": [
            "eat"
          ],
          "transitions": [
            {
              "default": "q.all_animations_finished"
            }
          ]
        }
      }
    },
    "controller.animation.silverlabs_nat.giraffe.tame": {
      "initial_state": "default",
      "states": {
        "default": {
          "transitions": [
            {
              "wild": "!q.is_tamed"
            },
            {
              "tame": "q.is_tamed"
            }
          ]
        },
        "wild": {
          "transitions": [
            {
              "eat": "q.is_tamed"
            }
          ]
        },
        "eat": {
          "animations": [
            "eat"
          ],
          "transitions": [
            {
              "tame": "q.all_animations_finished"
            }
          ]
        },
        "tame": {
          "transitions": [
            {
              "tame_timeout": "!q.is_tamed"
            }
          ]
        },
        "tame_timeout": {
          "sound_effects": [
            {
              "effect": "mad"
            }
          ],
          "transitions": [
            {
              "wild": "1.0"
            }
          ]
        }
      }
    }
  }
}
