{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.super_rod.mnp_ci": {
      "initial_state": "default",
      "states": {
        "default": {
          "on_entry": ["v.use_duration = 0;"],
          "transitions": [
            {
              "charge": "!v.is_casted"
            },
            {
              "casted": "v.is_casted"
            }
          ]
        },
        "charge": {
          "on_entry": ["v.use_duration = 0;"],
          "animations": [
            {
              "sway": "q.main_hand_item_use_duration == 0"
            },
            {
              "flail": "q.main_hand_item_use_duration == 0"
            },
            {
              "charge_first_person": "c.is_first_person && q.main_hand_item_use_duration"
            }
          ],
          "transitions": [
            {
              "cast": "v.is_casted || (!q.main_hand_item_use_duration && v.use_duration > 0.4 && v.player_arm_height > 0.4)"
            }
          ]
        },
        "cast": {
          "on_entry": [
            "v.is_casted = 1;", //normally set in pre_animation, but set it early there since q.main_hand_item_use_duration is quicker.
            "v.cast = 4;"
          ],
          "animations": [
            {
              "cast_first_person": "c.is_first_person"
            }
          ],
          "transitions": [
            {
              "charge": "q.state_time > 0.32 && !v.is_casted"
            },
            {
              "casted": "q.state_time > 0.32"
            }
          ]
        },
        "casted": {
          "animations": [
            {
              "casted_first_person": "c.is_first_person"
            },
            {
              "reel_add_first_person": "c.is_first_person && v.is_reeling"
            },
            {
              "reel_stuck_add_first_person": "c.is_first_person && v.is_reeling && v.lure_stuck"
            }
          ],
          "transitions": [
            {
              "charge": "!v.is_casted"
            }
          ]
        }
      }
    }
  }
}
