{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.card.heelstrike.ct": {
      "initial_state": "cooldown",
      "states": {
        "cooldown": {
          "transitions": [
            {
              "armed": "q.scoreboard('heelstrike_cd') == 0"
            }
            ]
        },
        "armed": {
          "transitions": [
            {
              "cooldown": "q.scoreboard('heelstrike_cd') > 0"
            },
            {
              "attack": "q.equipped_item_any_tag('slot.weapon.mainhand','card:heelstrike') && q.scoreboard('stun') == 0 && q.is_using_item && !q.is_sneaking && !q.is_jumping && q.scoreboard('heelstrike_cd') == 0 && q.scoreboard('has_skill') == 0 && q.scoreboard('headrot') > -5"
            }
            ]
        },
        "attack": {
          "transitions": [
            {
              "armed": "q.scoreboard('stun') > 0"
            },
            {
              "air": "q.any_animation_finished && q.scoreboard('stun') == 0"
            }
            ],
            "on_entry": [
              "/scoreboard players set @s has_skill 1",
              "/tag @s add hasSkill",
              "/playanimation @s animation.basiccombat.card.heelstrike"
              ],
            "on_exit": [
              "/tag @s remove hasSkill",
              "/scoreboard players set @s has_skill 0",
              "/scoreboard players set @s[tag=trait:shortcd] heelstrike_cd 400",
              "/scoreboard players set @s[tag=!trait:shortcd,tag=!trait:longcd] heelstrike_cd 500",
              "/scoreboard players set @s[tag=trait:longcd] heelstrike_cd 600"
              
              ],
             "animations": [
               "card.heelstrike"
               ]
        },
        "air": {
          "transitions": [
            {
              "armed": "q.scoreboard('stun') > 0"
            },
            {
              "hit": "q.is_on_ground && q.scoreboard('stun') == 0"
            }
            ],
            "on_entry": [
              "/scoreboard players set @s has_skill 1",
              "/tag @s add hasSkill"
              ],
            "on_exit": [
              "/tag @s remove hasSkill",
              "/scoreboard players set @s has_skill 0",
              "/scoreboard players set @s[tag=trait:shortcd] heelstrike_cd 400",
              "/scoreboard players set @s[tag=!trait:shortcd,tag=!trait:longcd] heelstrike_cd 500",
              "/scoreboard players set @s[tag=trait:longcd] heelstrike_cd 600"
              
              ],
             "animations": [
               "card.heelstrike.air"
               ]
        },
        "hit": {
          "transitions": [
            {
              "armed": "q.any_animation_finished || q.scoreboard('stun') > 0"
            }
            ],
            "on_entry": [
              "/scoreboard players set @s has_skill 1",
              "/tag @s add hasSkill",
              "/playanimation @s animation.basiccombat.card.heelstrike.hit"
              ],
            "on_exit": [
              "/tag @s remove hasSkill",
              "/scoreboard players set @s has_skill 0",
              "/scoreboard players set @s[tag=trait:shortcd] heelstrike_cd 400",
              "/scoreboard players set @s[tag=!trait:shortcd,tag=!trait:longcd] heelstrike_cd 500",
              "/scoreboard players set @s[tag=trait:longcd] heelstrike_cd 600"
              
              ],
             "animations": [
               "card.heelstrike.hit"
               ]
        }
      }
    },
    "controller.animation.card.conskicks.ct": {
      "initial_state": "cooldown",
      "states": {
        "cooldown": {
          "transitions": [
            {
              "armed": "q.scoreboard('conskicks_cd') == 0"
            }
            ]
        },
        "armed": {
          "transitions": [
            {
              "cooldown": "q.scoreboard('conskicks_cd') > 0"
            },
            {
              "attack": "q.equipped_item_any_tag('slot.weapon.mainhand','card:conskicks') && q.scoreboard('stun') == 0 && q.is_using_item && !q.is_sneaking && !q.is_jumping && q.scoreboard('conskicks_cd') == 0 && q.scoreboard('has_skill') == 0 && q.scoreboard('headrot') > -5"
            }
            ]
        },
        "attack": {
          "transitions": [
            {
              "armed": "q.any_animation_finished || q.scoreboard('stun') > 0"
            }
            ],
            "on_entry": [
              "/tag @s add grab:airborne",
              "/scoreboard players set @s has_skill 1",
              "/tag @s add hasSkill",
              "/playanimation @s animation.basiccombat.card.conskicks"
              ],
            "on_exit": [
              "/tag @s remove grab:airborne",
              "/tag @s remove hasSkill",
              "/scoreboard players set @s has_skill 0",
              "/scoreboard players set @s[tag=trait:shortcd] conskicks_cd 400",
              "/scoreboard players set @s[tag=!trait:shortcd,tag=!trait:longcd] conskicks_cd 500",
              "/scoreboard players set @s[tag=trait:longcd] conskicks_cd 600"
              
              ],
             "animations": [
               "card.conskicks"
               ]
        }
      }
    },
    "controller.animation.card.ignite.ct": {
      "initial_state": "cooldown",
      "states": {
        "cooldown": {
          "transitions": [
            {
              "armed": "q.scoreboard('ignite_cd') == 0"
            }
            ]
        },
        "armed": {
          "transitions": [
            {
              "cooldown": "q.scoreboard('ignite_cd') > 0"
            },
            {
              "attack": "q.equipped_item_any_tag('slot.weapon.mainhand','card:ignite') && q.scoreboard('stun') == 0 && q.is_using_item && !q.is_sneaking && !q.is_jumping && q.scoreboard('ignite_cd') == 0 && q.scoreboard('has_skill') == 0 && q.scoreboard('headrot') > -5 && q.scoreboard('magicule') > 499"
            }
            ],
          "on_entry": [
            "/inputpermission set @s[scores={stun=0}] lateral_movement enabled"
            ]
        },
        "attack": {
          "transitions": [
            {
              "armed": "q.any_animation_finished || q.scoreboard('stun') > 0"
            }
            ],
            "on_entry": [
              "/scoreboard players remove @s magicule 500",
              "/inputpermission set @s lateral_movement disabled",
              "@s movement:stop",
              "/scoreboard players set @s has_skill 1",
              "/tag @s add hasSkill",
              "/playanimation @s animation.basiccombat.card.ignite"
              ],
            "on_exit": [
              "/scoreboard players set @s[scores={stun=0}] ignite_dur 60",
              "/inputpermission set @s[scores={stun=0}] lateral_movement enabled",
              "/tag @s remove hasSkill",
              "@s movement:walk",
              "/scoreboard players set @s has_skill 0",
              "/scoreboard players set @s[tag=trait:shortcd] ignite_cd 1300",
              "/scoreboard players set @s[tag=!trait:shortcd,tag=!trait:longcd] ignite_cd 1400",
              "/scoreboard players set @s[tag=trait:longcd] ignite_cd 1500"
              
              ],
             "animations": [
               "card.ignite"
               ]
        }
      }
    }
  }
}