{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.mob.luffy": {
      "states": {
        "default": {
          "transitions": [
            { "gatling": "q.mark_variant == 1" },
            { "giant_pistol": "q.mark_variant == 2" },
            { "attack1": "v.attack_time" }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill0",
            "/inputpermission set @s movement enabled"
          ]
        },
        "attack1": {
          "animations": ["timer.0_5"],
          "transitions": [
            { "attack1_2": "query.any_animation_finished" }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill1",
            "/execute at @s[tag=luffy] positioned ^^1^1.5 as @s at @e[c=1,r=1.5,tag=!luffy,type=!item,type=!xp_orb] run function one_piece/luffy/hit",
            "/execute at @s[tag=luffy_gear2] positioned ^^1^1.5 as @s at @e[c=1,r=1.5,tag=!luffy_gear2,type=!item,type=!xp_orb] run function one_piece/luffy/hit",
            "/execute at @s[tag=luffy_gear5] positioned ^^1^1.5 as @s at @e[c=1,r=1.5,tag=!luffy_gear5,type=!item,type=!xp_orb] run function one_piece/luffy/hit"
          ]
        },
        "attack1_2": {
          "animations": ["timer.0_5"],
          "transitions": [
            { "attack2": "v.attack_time > 0.0" },
            { "default": "query.any_animation_finished" }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill0"
          ]
        },
        "attack2": {
          "animations": ["timer.0_5"],
          "transitions": [
            { "attack2_2": "query.any_animation_finished" }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill2",
            "/execute at @s[tag=luffy] positioned ^^1^1.5 as @s at @e[c=1,r=1.5,tag=!luffy,type=!item,type=!xp_orb] run function one_piece/luffy/hit",
            "/execute at @s[tag=luffy_gear2] positioned ^^1^1.5 as @s at @e[c=1,r=1.5,tag=!luffy_gear2,type=!item,type=!xp_orb] run function one_piece/luffy/hit",
            "/execute at @s[tag=luffy_gear5] positioned ^^1^1.5 as @s at @e[c=1,r=1.5,tag=!luffy_gear5,type=!item,type=!xp_orb] run function one_piece/luffy/hit"
          ]
        },
        "attack2_2": {
          "animations": ["timer.0_5"],
          "transitions": [
            { "attack3": "v.attack_time > 0.0" },
            { "default": "query.any_animation_finished" }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill0"
          ]
        },
        "attack3": {
          "animations": ["timer.0_3"],
          "transitions": [
            {
              "attack3_2": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill3"
          ]
        },
        "attack3_2": {
          "animations": ["timer.0_5"],
          "transitions": [
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/summon wesl3y:luffy_damage ^^1^1 ~~ wesl3y:mob.bazooka",
            "/execute as @s at @e[type=wesl3y:luffy_damage,family=mob,c=1,r=3.5] run damage @e[c=10,r=2.5,family=!attack,family=!inanimate,tupe=!wesl3y:luffy,type=!item,type=!xp_orb] 12 entity_attack entity @s",
            "/event entity @s wesl3y:skill3"
          ]
        },
        "gatling": {
          "animations": ["timer.0_25"],
          "transitions": [
            {
              "gatling2": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill4"
          ]
        },
        "gatling2": {
          "animations": ["timer.1_25"],
          "transitions": [
            {
              "cancel": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/tag @s add luffy_gatling"
          ],
          "on_exit": [
            "/tag @s remove luffy_gatling"
          ]
        },
        "giant_pistol": {
          "animations": ["timer.1_0"],
          "transitions": [
            {
              "giant_pistol2": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill5"
          ]
        },
        "giant_pistol2": {
          "animations": ["timer.0_5"],
          "transitions": [
            {
              "cancel": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/summon wesl3y:luffy_damage ~~~ ~~ wesl3y:mob.giant_pistol"
          ]
        },
        "cancel": {
          "animations": ["timer.0_5"],
          "transitions": [
            {
              "default": "query.all_animations_finished"
            }
          ],
          "on_exit": [
            "/event entity @s wesl3y:skill0",
            "/event entity @s dboa"
          ]
        }
      }
    }
  }
}