{
	"format_version": "1.19.0",
	"animation_controllers": {
		"controller.animation.goblin_scout.root": {
			"initial_state": "idle",
			"states": {
				"idle": {
					"animations": [
						{"idle_scout": "!query.facing_target_to_range_attack"},
						{"idle_hostile_scout": "query.facing_target_to_range_attack"}
					],
					"transitions": [
						{"walking": "q.ground_speed > 1.0 && !q.is_avoiding_mobs"},
						{"avoiding": "q.ground_speed > 1.0 && q.is_avoiding_mobs"},
						{"idle_emote": "q.any_animation_finished && (math.sin(query.anim_time*360) < 0)"}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"idle_emote": {
					"animations": [
						{"idle_emote_scout": "!query.facing_target_to_range_attack"},
						{"idle_hostile_scout": "query.facing_target_to_range_attack"}
					],
					"transitions": [
						{"walking": "q.ground_speed > 1.0 && !q.is_avoiding_mobs"},
						{"avoiding": "q.ground_speed > 1.0 && q.is_avoiding_mobs"},
						{"idle": "q.any_animation_finished && (math.sin(query.anim_time*360) > 0)"}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"walking": {
					"animations": [
						{"walk_scout": "!query.facing_target_to_range_attack"},
						{"walk_hostile_scout": "query.facing_target_to_range_attack"}
					],
					"transitions": [
						{"idle": "q.ground_speed < 0.5 && (math.sin(query.anim_time*360) > 0)"},
						{"avoiding": "q.ground_speed > 1.0 && q.is_avoiding_mobs"},
						{"idle_emote": "q.ground_speed < 0.5 && (math.sin(query.anim_time*360) < 0)"}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"avoiding": {
					"animations": [
						{"walk_alt_scout": "!query.facing_target_to_range_attack"},
						{"walk_hostile_scout": "query.facing_target_to_range_attack"}
					],
					"transitions": [
						{"idle": "q.ground_speed < 0.5 && (math.sin(query.anim_time*360) < 0)\n"},
						{"walking": "q.ground_speed > 1.0 && !q.is_avoiding_mobs"},
						{"idle_emote": "q.ground_speed < 0.5 && (math.sin(query.anim_time*360) > 0)"}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				}
			}
		},
		"controller.animation.goblin_scout.attack": {
			"initial_state": "has_target",
			"states": {
				"has_target": {
					"transitions": [
						{"shoot": "variable.attack_time"}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"shoot": {
					"animations": ["shoot_scout"],
					"transitions": [
						{"has_target": "query.all_animations_finished"}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				}
			}
		},
		"controller.animation.goblin_scout.look_at": {
			"states": {
				"default": {
					"animations": ["look_at_scout"],
					"transitions": [
						{"has_target": "query.facing_target_to_range_attack"}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				},
				"has_target": {
					"animations": ["is_hostile_scout"],
					"transitions": [
						{"default": "!query.facing_target_to_range_attack"}
					],
					"blend_transition": 0.2,
					"blend_via_shortest_path": true
				}
			}
		}
	}
}