
{
	"format_version": "1.10.0",
	"animation_controllers": {
		"controller.animation.vehicles1": {
			"states": {
				"default": {
                    "animations": [
						"idle"
					],
					"transitions": [
						{ "start": "query.ground_speed > 0 && q.has_rider" }
					]
				},
				"start": {
                    "animations": [
						"start"
					],
					"transitions": [
						{ "stop": "q.all_animations_finished && (query.ground_speed == 0 || !q.has_rider)" },
						{ "move": "q.all_animations_finished && query.ground_speed > 0 && q.has_rider" }
					]
				},
				"move": {
					"transitions": [
						{ "stop": "q.all_animations_finished && (query.ground_speed == 0 || !q.has_rider)" }
					],
					"animations": [
						"move"
					]
				},
				"stop": {
					"transitions": [
						{ "start": "q.all_animations_finished && query.ground_speed > 0 && q.has_rider" },
						{ "default": "q.all_animations_finished && (query.ground_speed == 0 || !q.has_rider)" }
					],
					"animations": [
						"stop"
					]
				}
			}
		},
		"controller.animation.motorcycle": {
			"states": {
				"default": {
                    "animations": [
						"idle"
					],
					"transitions": [
						{ "move_forward": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) > -15) && (q.body_y_rotation - q.camera_rotation(1) < 15))" },
						{ "move_right": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) < -15))" },
						{ "move_left": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) > 15))" }
					],
					"blend_transition": 0.4,
					"blend_via_shortest_path": true
				},
				"move_forward": {
					"transitions": [
						{ "default": "query.ground_speed == 0 || !q.has_rider" },
						{ "move_right": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) < -15))" },
						{ "move_left": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) > 15))" }
					],
					"animations": [
						"forward", "particle"
					],
					"blend_transition": 0.4,
					"blend_via_shortest_path": true
				},
				"move_right": {
					"transitions": [
						{ "default": "query.ground_speed == 0 || !q.has_rider" },
						{ "move_forward": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) > -15) && (q.body_y_rotation - q.camera_rotation(1) < 15))" },
						{ "move_left": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) > 15))" }
					],
					"animations": [
						"left", "particle"
					],
					"blend_transition": 0.4,
					"blend_via_shortest_path": true
				},

				
				"move_left": {
					"transitions": [
						{ "default": "query.ground_speed == 0 || !q.has_rider" },
						{ "move_forward": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) > -15) && (q.body_y_rotation - q.camera_rotation(1) < 15))" },
						{ "move_right": "query.ground_speed > 0 && q.has_rider && ((q.body_y_rotation - q.camera_rotation(1) < -15))" }
					],
					"animations": [
						"right", "particle"
					],
					"blend_transition": 0.4,
					"blend_via_shortest_path": true
				}
			}
		},
		"controller.animation.vehicles2": {
			"states": {
				"default": {
                    "animations": [
						"idle"
					],
					"transitions": [
						{ "move": "!q.is_on_ground && q.has_rider" }
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"move": {
					"transitions": [
						{ "default": "q.is_on_ground || !q.has_rider" }
					],
					"animations": [
						"move"
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				}
			}
		},
		"controller.animation.vehicles3": {
			"states": {
				"default": {
                    "animations": [
						"idle"
					],
					"transitions": [
						{ "start": "!q.is_on_ground" }
					]
				},
				"start": {
                    "animations": [
						"start"
					],
					"transitions": [
						{ "stop": "q.all_animations_finished && q.is_on_ground" },
						{ "move": "q.all_animations_finished && !q.is_on_ground" }
					]
				},
				"move": {
					"transitions": [
						{ "stop": "q.all_animations_finished && q.is_on_ground" }
					],
					"animations": [
						"move"
					]
				},
				"stop": {
					"transitions": [
						{ "start": "q.all_animations_finished && !q.is_on_ground" },
						{ "default": "q.all_animations_finished && q.is_on_ground" }
					],
					"animations": [
						"stop"
					]
				}
			}
		},
		"controller.animation.cyber_mech": {
			"states": {
				"default": {
                    "animations": [
						"idle"
					],
					"transitions": [
						{ "move": "query.is_on_ground && query.ground_speed > 0 && q.has_rider" },
						{ "attack": "query.is_sheared" },
						{ "jump": "!query.is_on_ground" }
					],
					"blend_transition": 0.5,
					"blend_via_shortest_path": true
				},
				"move": {
					"transitions": [
						{ "default": "query.ground_speed == 0 || !q.has_rider" },
						{ "attack": "query.is_sheared" },
						{ "jump": "!query.is_on_ground" }
					],
					"animations": [ 
						"move"
					],
					"blend_transition": 0.5,
					"blend_via_shortest_path": true
				},
				"attack": {
					"transitions": [
						{ "default": "!query.is_sheared && (query.ground_speed == 0 || !q.has_rider)" },
						{ "move": "!query.is_sheared && query.is_on_ground && query.ground_speed > 0 && q.has_rider" },
						{ "jump": "!query.is_sheared && !query.is_on_ground" }
					],
					"animations": [
						"attack"
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"jump": {
					"transitions": [
						{ "default": "query.is_on_ground && (query.ground_speed == 0 || !q.has_rider)" },
						{ "attack": "query.is_sheared" },
						{ "move": "query.is_on_ground && query.ground_speed > 0 && q.has_rider" }
					],
					"animations": [
						"jump"
					],
					"blend_transition": 0.4,
					"blend_via_shortest_path": true
				}
			}
		},
		"controller.animation.mirage_maker": {
			"states": {
				"default": {
                    "animations": [
						"idle"
					],
					"transitions": [
						{ "shoot": "q.is_sheared" }
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"shoot": {
					"transitions": [
						{ "default": "!q.is_sheared" }
					],
					"animations": [
						"shoot"
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				}
			}
		}
	}
}