{
    "format_version": "1.10.0",
    "animation_controllers": {
        "controller.animation.tank_crew_idle": {
            "initial_state": "default",
            "states": {
                "default": {
                    "animations": [
                        {
                            "tc_steady1": "v.steady == 1"
                        },
                        {
                            "tc_steady2": "v.steady == 2 "
                        }
                    ],
                    "transitions": [
                        {"relax": "!query.has_rider && query.time_of_day >= 0.5 && query.time_of_day < 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"sleep": "!query.has_rider && query.time_of_day >= 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"cleaning": "!query.has_rider && query.time_of_day >= 0.25 && query.time_of_day < 0.35 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"off": "query.has_rider"}
                    ],
                    "on_entry": [
                        "v.steady = math.random_integer(1, 2);"
                    ]
                },
                "relax": {
                    "animations": [
                        {
                            "tc_relax1": "v.relax == 1"
                        },
                        {
                            "tc_relax2": "v.relax == 2"
                        }
                    ],
                    "transitions": [
                        {"sleep": "!query.has_rider && query.time_of_day >= 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"default": "!query.has_rider && query.time_of_day >= 0.35 && query.time_of_day < 0.5 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"cleaning": "!query.has_rider && query.time_of_day >= 0.25 && query.time_of_day < 0.35 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"off": "query.has_rider"}
                    ],
                    "on_entry": [
                        "v.relax = math.random_integer(1, 2);"
                    ]
                },
                "sleep": {
                    "animations": [
                        "tc_relax3"
                    ],
                    "transitions": [
                        {"relax": "!query.has_rider && query.time_of_day >= 0.5 && query.time_of_day < 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"default": "!query.has_rider && query.time_of_day >= 0.35 && query.time_of_day < 0.5 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"cleaning": "!query.has_rider && query.time_of_day >= 0.25 && query.time_of_day < 0.35 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"off": "query.has_rider"}
                    ]
                },
                "cleaning": {
                    "animations": [
                        "tc_cleaning"
                    ],
                    "transitions": [
                        {"relax": "!query.has_rider && query.time_of_day >= 0.5 && query.time_of_day < 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"sleep": "!query.has_rider && query.time_of_day >= 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"default": "!query.has_rider && query.time_of_day >= 0.35 && query.time_of_day < 0.5 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"off": "query.has_rider"}
                    ]
                },
                "off": {
                    "animations": [
                        "tc_off"
                    ],
                    "transitions": [
                        {"relax": "!query.has_rider && query.time_of_day >= 0.5 && query.time_of_day < 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"sleep": "!query.has_rider && query.time_of_day >= 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"default": "!query.has_rider && query.time_of_day >= 0.35 && query.time_of_day < 0.5 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"cleaning": "!query.has_rider && query.time_of_day >= 0.25 && query.time_of_day < 0.35 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"}
                    ]
                }
            }
        },
        "controller.animation.tank_crew_idle_arti": {
            "initial_state": "default",
            "states": {
                "default": {
                    "animations": [
                        {
                            "tc_steady1": "v.steady == 1"
                        },
                        {
                            "tc_steady2": "v.steady == 2 "
                        }
                    ],
                    "transitions": [
                        {"relax": "!query.has_rider && query.time_of_day >= 0.5 && query.time_of_day < 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"sleep": "!query.has_rider && query.time_of_day >= 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"cleaning": "!query.has_rider && query.time_of_day >= 0.25 && query.time_of_day < 0.35 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"off": "query.has_rider && query.variant != 4 || query.variant != 7"}
                    ],
                    "on_entry": [
                        "v.steady = math.random_integer(1, 2);"
                    ]
                },
                "relax": {
                    "animations": [
                        {
                            "tc_relax1": "v.relax == 1"
                        },
                        {
                            "tc_relax2": "v.relax == 2"
                        }
                    ],
                    "transitions": [
                        {"sleep": "!query.has_rider && query.time_of_day >= 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"default": "!query.has_rider && query.time_of_day >= 0.35 && query.time_of_day < 0.5 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"cleaning": "!query.has_rider && query.time_of_day >= 0.25 && query.time_of_day < 0.35 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"off": "query.has_rider && query.variant != 4 || query.variant != 7"}
                    ],
                    "on_entry": [
                        "v.relax = math.random_integer(1, 2);"
                    ]
                },
                "sleep": {
                    "animations": [
                        "tc_relax3"
                    ],
                    "transitions": [
                        {"relax": "!query.has_rider && query.time_of_day >= 0.5 && query.time_of_day < 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"default": "!query.has_rider && query.time_of_day >= 0.35 && query.time_of_day < 0.5 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"cleaning": "!query.has_rider && query.time_of_day >= 0.25 && query.time_of_day < 0.35 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"off": "query.has_rider && query.variant != 4 || query.variant != 7"}
                    ]
                },
                "cleaning": {
                    "animations": [
                        "tc_cleaning"
                    ],
                    "transitions": [
                        {"relax": "!query.has_rider && query.time_of_day >= 0.5 && query.time_of_day < 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"sleep": "!query.has_rider && query.time_of_day >= 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"default": "!query.has_rider && query.time_of_day >= 0.35 && query.time_of_day < 0.5 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"off": "query.has_rider && query.variant != 4 || query.variant != 7"}
                    ]
                },
                "off": {
                    "animations": [
                        "tc_off"
                    ],
                    "transitions": [
                        {"relax": "!query.has_rider && query.time_of_day >= 0.5 && query.time_of_day < 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"sleep": "!query.has_rider && query.time_of_day >= 0.75 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"default": "!query.has_rider && query.time_of_day >= 0.35 && query.time_of_day < 0.5 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"},
                        {"cleaning": "!query.has_rider && query.time_of_day >= 0.25 && query.time_of_day < 0.35 && (query.variant == 0 || query.variant == 1 || query.variant == 2)"}
                    ]
                }
            }
        },
        "controller.animation.tank_crew_npc_idle": {
            "initial_state": "default",
            "states": {
                "default": {
                    "animations": [
                        {
                            "tc_steady1": "v.steady == 1"
                        },
                        {
                            "tc_steady2": "v.steady == 2 "
                        }
                    ],
                    "transitions": [
                        {"relax": "query.is_chested && query.time_of_day >= 0.5 && query.time_of_day < 0.75"},
                        {"sleep": "query.is_chested && query.time_of_day >= 0.75"},
                        {"cleaning": "query.is_chested && query.time_of_day >= 0.25 && query.time_of_day < 0.35"},
                        {"off": "!query.is_chested"}
                    ],
                    "on_entry": [
                        "v.steady = math.random_integer(1, 2);"
                    ]
                },
                "relax": {
                    "animations": [
                        {
                            "tc_relax1": "v.relax == 1"
                        },
                        {
                            "tc_relax2": "v.relax == 2"
                        }
                    ],
                    "transitions": [
                        {"sleep": "query.is_chested && query.time_of_day >= 0.75"},
                        {"default": "query.is_chested && query.time_of_day >= 0.35 && query.time_of_day < 0.5"},
                        {"cleaning": "query.is_chested && query.time_of_day >= 0.25 && query.time_of_day < 0.35"},
                        {"off": "!query.is_chested"}
                    ],
                    "on_entry": [
                        "v.relax = math.random_integer(1, 2);"
                    ]
                },
                "sleep": {
                    "animations": [
                        "tc_relax3"
                    ],
                    "transitions": [
                        {"relax": "query.is_chested && query.time_of_day >= 0.5 && query.time_of_day < 0.75"},
                        {"default": "query.is_chested && query.time_of_day >= 0.35 && query.time_of_day < 0.5"},
                        {"cleaning": "query.is_chested && query.time_of_day >= 0.25 && query.time_of_day < 0.35"},
                        {"off": "!query.is_chested"}
                    ]
                },
                "cleaning": {
                    "animations": [
                        "tc_cleaning"
                    ],
                    "transitions": [
                        {"relax": "query.is_chested && query.time_of_day >= 0.5 && query.time_of_day < 0.75"},
                        {"sleep": "query.is_chested && query.time_of_day >= 0.75"},
                        {"default": "query.is_chested && query.time_of_day >= 0.35 && query.time_of_day < 0.5"},
                        {"off": "!query.is_chested"}
                    ]
                },
                "off": {
                    "animations": [
                        "tc_off"
                    ],
                    "transitions": [
                        {"relax": "query.is_chested && query.time_of_day >= 0.5 && query.time_of_day < 0.75"},
                        {"sleep": "query.is_chested && query.time_of_day >= 0.75"},
                        {"default": "query.is_chested && query.time_of_day >= 0.35 && query.time_of_day < 0.5"},
                        {"cleaning": "query.is_chested && query.time_of_day >= 0.25 && query.time_of_day < 0.35"}
                    ]
                }
            }
        },
        "controller.animation.bradley": {
            "states": {
                "default": {
                    "transitions": [
                        {
                            "fire": "query.mark_variant == 1 "
                        }
                    ]
                },
                "reload": {
                    "animations": [
                        "reload"
                    ],
                    "transitions": [
                        {
                            "fire": "query.any_animation_finished && query.mark_variant == 1 "
                        },
                        {
                            "default": "query.any_animation_finished && query.mark_variant == 0 "
                        }
                    ]
                },
                "fire": {
                    "animations": [
                        "fire1"
                    ],
                    "transitions": [
                        {
                            "reload": "query.any_animation_finished  && query.mark_variant == 3"
                        }
                    ]
                }
            }
        },
        "controller.animation.tank_engine": {
            "states": {
                "default": {
                    "transitions": [
                        {
                            "start": "query.is_moving"
                        },
                        {
                            "turret": "query.target_y_rotation && query.mark_variant == 0 || query.mark_variant == 1 || query.mark_variant == 2"
                        }
                    ]
                },
                "start": {
                    "sound_effects": [
                        {
                            "effect": "engine_start"
                        }
                    ],
                    "transitions": [
                        {
                            "mid": "query.is_moving"
                        },
                        {
                            "stop": "!query.is_moving"
                        }
                    ]
                },
                "mid": {
                    "sound_effects": [
                        {
                            "effect": "engine_flat"
                        }
                    ],
                    "transitions": [
                        {
                            "mid2": "query.is_moving"
                        },
                        {
                            "stop": "!query.is_moving"
                        }
                    ]
                },
                "mid2": {
                    "sound_effects": [
                        {
                            "effect": "engine_flat"
                        }
                    ],
                    "transitions": [
                        {
                            "mid": "query.is_moving"
                        },
                        {
                            "stop": "!query.is_moving"
                        }
                    ]
                },
                "stop": {
                    "sound_effects": [
                        {
                            "effect": "engine_stop"
                        }
                    ],
                    "transitions": [
                        {
                            "default": "query.is_on_ground"
                        }
                    ]
                },
                "turret": {
                    "sound_effects": [
                        {
                            "effect": "turret"
                        }
                    ],
                    "transitions": [
                        {
                            "default": "query.is_on_ground"
                        }
                    ]
                }
            }
        },
        "controller.animation.tank_sep_engine": {
            "states": {
                "default": {
                    "transitions": [
                        {
                            "turret": "query.target_y_rotation"
                        },
                        {
                            "fire": "variable.attack_time >= 0.1 && query.has_target"
                        }
                    ]
                },
                "fire": {
                    "animations": [
                        "fire1"
                    ],
                    "transitions": [
                        {
                            "turret": "query.target_y_rotation"
                        },
                        {
                            "default": "query.is_on_ground && query.any_animation_finished"
                        }
                    ]
                },
                "turret": {
                    "sound_effects": [
                        {
                            "effect": "turret"
                        }
                    ],
                    "transitions": [
                        {
                            "default": "query.is_on_ground && query.any_animation_finished"
                        },
                        {
                            "fire": "variable.attack_time >= 0.1 && query.has_target"
                        }
                    ]
                }
            }
        }
    }
}