{
    "format_version" : "1.10.0",
    "animation_controllers" : {
        "controller.animation.assaulter": {
			"states": {
				"default": {
                    "animations": [
						"idle"
					],
					"transitions": [
						{
							"move": "query.ground_speed > 0"
						},
                        {
							"attack": "query.is_delayed_attacking"
						}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"move": {
					"transitions": [
						{ "default": "query.ground_speed == 0" },
						{
							"attack": "query.is_delayed_attacking"
						}
					],
					"animations": [
						"move"
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"attack": {
					"transitions": [
						{
							"default": "!query.is_delayed_attacking"
						},
						{
							"move": "!query.is_delayed_attacking && query.ground_speed > 0"
						}
					],
					"animations": [
						"attack"
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				}
			}
		},
        "controller.animation.sentinel" : {
            "initial_state" : "default", 
            "states": {
                "default": {
                    "animations": [
                        "idle"
                    ],
                    "transitions": [
                        { "move": "query.ground_speed > 0" },
                        { "shield": "q.is_baby" }
                    ],
                    "blend_transition": 0.2
                },
                "move": {
                    "animations": [
                        "move"
                    ],
                    "transitions": [
                        { "default": "query.ground_speed == 0" },
                        { "shield": "q.is_baby" }
                    ],
                    "blend_transition": 0.2
                },
                "shield": {
                    "animations": [
                        "shield"
                    ],
                    "transitions": [
                        { "default": "query.all_animations_finished" }
                    ],
                    "blend_transition": 0.2
                }
            }
        },
        "controller.animation.force_sentinel" : {
            "initial_state" : "close",
            "states": {
                "close": { 
                    "animations": [
                        "close"
                    ],
                    "transitions": [
                        { "open": "!q.is_sheared" }
                    ],
                    "blend_transition": 1
                },
                "open": {
                    "animations": [
                        "open"
                    ],
                    "transitions": [
                        { "close": "q.is_sheared" }
                    ],
                    "blend_transition": 1
                }
            }
        },
        "controller.animation.excavator" : {
            "initial_state" : "default",
            "states": {
                "default": {
                    "animations": [
                        "idle"
                    ],
                    "transitions": [
                        { "move": "query.ground_speed > 0" },
                        { "break": "q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                },
                "move": {
                    "animations": [
                        "move"
                    ],
                    "transitions": [
                        { "default": "query.ground_speed == 0" },
                        { "break": "q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                },
                "break": {
                    "animations": [
                        "break"
                    ],
                    "transitions": [
                        { "default": "query.ground_speed  == 0 && !q.is_sheared" },
                        { "move": "query.ground_speed > 0 && !q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                }
            }
        },
        "controller.animation.cultivator" : {
            "initial_state" : "default",
            "states": {
                "default": {
                    "animations": [
                        "idle"
                    ],
                    "transitions": [
                        { "move": "query.ground_speed > 0" },
                        { "cultivate": "q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                },
                "move": {
                    "animations": [
                        "move"
                    ],
                    "transitions": [
                        { "default": "query.ground_speed == 0" },
                        { "cultivate": "q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                },
                "cultivate": {
                    "animations": [
                        "cultivate"
                    ],
                    "transitions": [
                        { "default": "query.ground_speed == 0 && !q.is_sheared" },
                        { "move": "query.ground_speed > 0 && !q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                }
            }
        },
        "controller.animation.revitalizer" : {
            "initial_state" : "default",
            "states": {
                "default": {
                    "animations": [
                        "idle"
                    ],
                    "transitions": [
                        { "move": "query.ground_speed > 0" },
                        { "heal": "q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                },
                "move": {
                    "animations": [
                        "move"
                    ],
                    "transitions": [
                        { "default": "query.ground_speed == 0" },
                        { "heal": "q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                },
                "heal": {
                    "animations": [
                        "heal"
                    ],
                    "transitions": [
                        { "default": "query.ground_speed == 0 && !q.is_sheared" },
                        { "move": "query.ground_speed > 0 && !q.is_sheared" }
                    ],
                    "blend_transition": 0.2
                }
            }
        }
    }
}