{
  "AbilityName": "Evelyn_Talent_04",
  "AbilitySpecials": {
    "AS_AttackCount": {
      "Value": 0,
      "ValueType": "Integer"
    },
    "AS_BuffDuration": {
      "Value": 20
    },
    "AS_DamageAmountPercentage": {
      "Value": 0
    },
    "AS_MaxAttackCount": {
      "Value": 16,
      "ValueType": "Integer"
    },
    "DamageAmount": {
      "Value": 0
    }
  },
  "AbilityStacking": "Unique",
  "DefaultModifier": {
    "OnHitOther": [
      {
        "$type": "SetAbilitySpecialByExpression",
        "DoRefresh": true,
        "Expression": "specials(AS_DamageAmountPercentage)*property(Atk_Battle)",
        "ParamName": "DamageAmount",
        "Predicates": [
          {
            "$type": "ByAnimEventIDs",
            "AnimEventIDs": [
              "Evelyn_Attack_Talent_04_AttackProperty_01"
            ],
            "Target": "Self"
          }
        ],
        "ValueType": "Float"
      },
      {
        "$type": "ModifyAttackDataAction",
        "Predicates": [
          {
            "$type": "ByAnimEventIDs",
            "AnimEventIDs": [
              "Evelyn_Attack_Talent_04_AttackProperty_01"
            ],
            "Target": "Self"
          }
        ],
        "PropertyKey": "Actor_AddedAttackDelta",
        "PropertyValue": "%DamageAmount",
        "Target": "Self"
      }
    ],
    "OnSkillStart": [
      {
        "$type": "ApplyModifier",
        "ModifierName": "Talent04BuffModifier",
        "Predicates": [
          {
            "$type": "ByOr",
            "Predicates": [
              {
                "$type": "ByFromSkillType",
                "SkillType": "QTE"
              },
              {
                "$type": "ByFromSkillType",
                "SkillType": "ExQTE"
              }
            ]
          }
        ]
      }
    ]
  },
  "Modifiers": {
    "AttackCheckModifier": {
      "Duration": "%AS_BuffDuration",
      "ModifierStacking": "Replace",
      "OnPatternAttackLanded": [
        {
          "$type": "TriggerAbilityAction",
          "AbilityName": "Evelyn_Talent_04",
          "Predicates": [
            {
              "$type": "ByAnimEventIDs",
              "AnimEventIDs": [
                "Evelyn_Attack_Rush_AttackProperty_01",
                "Evelyn_Attack_Rush_AttackProperty_02",
                "Evelyn_Attack_Normal_01_AttackProperty_01",
                "Evelyn_Attack_Normal_01_AttackProperty_02",
                "Evelyn_Attack_Normal_02_AttackProperty_01",
                "Evelyn_Attack_Normal_02_AttackProperty_02",
                "Evelyn_Attack_Normal_02_AttackProperty_03",
                "Evelyn_Attack_Normal_03_AttackProperty_01",
                "Evelyn_Attack_Normal_03_AttackProperty_02",
                "Evelyn_Attack_Normal_03_AttackProperty_03",
                "Evelyn_Attack_Normal_03_Enhanced_AttackProperty_01",
                "Evelyn_Attack_Normal_03_Enhanced_AttackProperty_02",
                "Evelyn_Attack_Normal_03_Enhanced_AttackProperty_03",
                "Evelyn_Attack_Normal_04_AttackProperty_01",
                "Evelyn_Attack_Normal_04_AttackProperty_02",
                "Evelyn_Attack_Normal_04_AttackProperty_03",
                "Evelyn_Attack_Normal_04_AttackProperty_04",
                "Evelyn_Attack_Normal_04_AttackProperty_05",
                "Evelyn_Attack_Normal_05_AttackProperty_01",
                "Evelyn_Attack_Normal_05_AttackProperty_02",
                "Evelyn_Attack_Normal_05_AttackProperty_03",
                "Evelyn_Attack_Normal_05_AttackProperty_04",
                "Evelyn_Attack_Normal_05_AttackProperty_05",
                "Evelyn_Attack_Normal_05_AttackProperty_06",
                "Evelyn_Attack_Branch_01_AttackProperty_01",
                "Evelyn_Attack_Branch_01_AttackProperty_02",
                "Evelyn_Attack_Branch_01_AttackProperty_03",
                "Evelyn_Attack_Branch_01_AttackProperty_04",
                "Evelyn_Attack_Branch_01_AttackProperty_05",
                "Evelyn_Attack_Branch_02_AttackProperty_01",
                "Evelyn_Attack_Branch_02_AttackProperty_02",
                "Evelyn_Attack_Branch_02_AttackProperty_03",
                "Evelyn_Attack_Branch_02_AttackProperty_04",
                "Evelyn_Attack_Special_01_AttackProperty_01",
                "Evelyn_Attack_Special_01_AttackProperty_02_01",
                "Evelyn_Attack_Special_01_AttackProperty_02_02",
                "Evelyn_Attack_Special_01_AttackProperty_Rope_01",
                "Evelyn_Attack_Special_02_AttackProperty_01",
                "Evelyn_Attack_Special_02_AttackProperty_01_Target",
                "Evelyn_Attack_Special_02_AttackProperty_02",
                "Evelyn_Attack_Special_02_AttackProperty_02_Target",
                "Evelyn_Attack_Special_02_AttackProperty_03",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_01",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_01_Target",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_02",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_02_Target",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_03",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_03_Target",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_04"
              ]
            },
            {
              "$type": "ByIsSelfAttackTarget",
              "IsSelfAttackTarget": true,
              "SourceTarget": "Self",
              "Target": "Target"
            },
            {
              "$type": "ByAbilitySpecial",
              "CompareType": "GreaterEqual",
              "Param": 1,
              "ParamName": "AS_AttackCount",
              "ParamType": "Integer",
              "Target": "Self"
            }
          ]
        },
        {
          "$type": "RemoveModifier",
          "ModifierName": "AttackCheckModifier",
          "Predicates": [
            {
              "$type": "ByAnimEventIDs",
              "AnimEventIDs": [
                "Evelyn_Attack_Rush_AttackProperty_01",
                "Evelyn_Attack_Rush_AttackProperty_02",
                "Evelyn_Attack_Normal_01_AttackProperty_01",
                "Evelyn_Attack_Normal_01_AttackProperty_02",
                "Evelyn_Attack_Normal_02_AttackProperty_01",
                "Evelyn_Attack_Normal_02_AttackProperty_02",
                "Evelyn_Attack_Normal_02_AttackProperty_03",
                "Evelyn_Attack_Normal_03_AttackProperty_01",
                "Evelyn_Attack_Normal_03_AttackProperty_02",
                "Evelyn_Attack_Normal_03_AttackProperty_03",
                "Evelyn_Attack_Normal_03_Enhanced_AttackProperty_01",
                "Evelyn_Attack_Normal_03_Enhanced_AttackProperty_02",
                "Evelyn_Attack_Normal_03_Enhanced_AttackProperty_03",
                "Evelyn_Attack_Normal_04_AttackProperty_01",
                "Evelyn_Attack_Normal_04_AttackProperty_02",
                "Evelyn_Attack_Normal_04_AttackProperty_03",
                "Evelyn_Attack_Normal_04_AttackProperty_04",
                "Evelyn_Attack_Normal_04_AttackProperty_05",
                "Evelyn_Attack_Normal_05_AttackProperty_01",
                "Evelyn_Attack_Normal_05_AttackProperty_02",
                "Evelyn_Attack_Normal_05_AttackProperty_03",
                "Evelyn_Attack_Normal_05_AttackProperty_04",
                "Evelyn_Attack_Normal_05_AttackProperty_05",
                "Evelyn_Attack_Normal_05_AttackProperty_06",
                "Evelyn_Attack_Branch_01_AttackProperty_01",
                "Evelyn_Attack_Branch_01_AttackProperty_02",
                "Evelyn_Attack_Branch_01_AttackProperty_03",
                "Evelyn_Attack_Branch_01_AttackProperty_04",
                "Evelyn_Attack_Branch_01_AttackProperty_05",
                "Evelyn_Attack_Branch_02_AttackProperty_01",
                "Evelyn_Attack_Branch_02_AttackProperty_02",
                "Evelyn_Attack_Branch_02_AttackProperty_03",
                "Evelyn_Attack_Branch_02_AttackProperty_04",
                "Evelyn_Attack_Special_01_AttackProperty_01",
                "Evelyn_Attack_Special_01_AttackProperty_02_01",
                "Evelyn_Attack_Special_01_AttackProperty_02_02",
                "Evelyn_Attack_Special_01_AttackProperty_Rope_01",
                "Evelyn_Attack_Special_02_AttackProperty_01",
                "Evelyn_Attack_Special_02_AttackProperty_01_Target",
                "Evelyn_Attack_Special_02_AttackProperty_02",
                "Evelyn_Attack_Special_02_AttackProperty_02_Target",
                "Evelyn_Attack_Special_02_AttackProperty_03",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_01",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_01_Target",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_02",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_02_Target",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_03",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_03_Target",
                "Evelyn_Attack_ExSpecial_01_AttackProperty_04"
              ]
            },
            {
              "$type": "ByIsSelfAttackTarget",
              "IsSelfAttackTarget": true,
              "SourceTarget": "Self",
              "Target": "Target"
            },
            {
              "$type": "ByAbilitySpecial",
              "CompareType": "GreaterEqual",
              "Param": 1,
              "ParamName": "AS_AttackCount",
              "ParamType": "Integer",
              "Target": "Self"
            }
          ],
          "Target": "Self"
        }
      ]
    },
    "Talent04BuffModifier": {
      "Duration": "%AS_BuffDuration",
      "ModifierMixins": [
        {
          "$type": "AttachStateWithModifierMixin",
          "ConfigList": [
            {
              "AnimatorStateName": "Attack_Rush",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Normal_01",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Normal_02",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Normal_03",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Normal_03_Enhanced",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Normal_04",
              "FrameCountHigh": 34,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": false,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Normal_04",
              "FrameCountHigh": 99,
              "FrameCountLow": 36,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Normal_05",
              "FrameCountHigh": 39,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": false,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Normal_05",
              "FrameCountHigh": 99,
              "FrameCountLow": 41,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Special_01",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Special_02",
              "FrameCountHigh": 48,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": false,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Special_02",
              "FrameCountHigh": 99,
              "FrameCountLow": 50,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Special_02_SwitchOut",
              "FrameCountHigh": 48,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": false,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Special_02_SwitchOut",
              "FrameCountHigh": 99,
              "FrameCountLow": 50,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_ExSpecial_02",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_ExSpecial_02_End",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_BeHitAid",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Counter",
              "FrameCountHigh": 99,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Branch_01",
              "FrameCountHigh": 28,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": false,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Branch_01",
              "FrameCountHigh": 99,
              "FrameCountLow": 30,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Branch_02",
              "FrameCountHigh": 28,
              "FrameCountLow": 0,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": false,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            },
            {
              "AnimatorStateName": "Attack_Branch_02",
              "FrameCountHigh": 99,
              "FrameCountLow": 30,
              "IsLoop": false,
              "LayerIndex": 0,
              "MaxFrameCountHigh": true,
              "MaxFrameCountLow": false,
              "ModifierNameList": [
                "AttackCheckModifier"
              ]
            }
          ],
          "IsSeam": true
        }
      ],
      "ModifierStacking": "Replace",
      "OnAdded": [
        {
          "$type": "SetAbilitySpecialAction",
          "ModifyFunction": "Replace",
          "Param": "%AS_MaxAttackCount",
          "ParamName": "AS_AttackCount",
          "ParamType": "Integer"
        }
      ]
    }
  },
  "OnAbilityTrigger": [
    {
      "$type": "HandleAnimEvent",
      "AnimEventID": "Evelyn_Attack_Talent_04_AttackProperty_01"
    },
    {
      "$type": "FireEffect",
      "EffectPattern": "Eff_Evelyn_Attack_Common_03_Trail",
      "Target": "SelfAttackTarget"
    },
    {
      "$type": "SetAbilitySpecialAction",
      "ModifyFunction": "Add",
      "Param": -1,
      "ParamName": "AS_AttackCount",
      "ParamType": "Integer"
    },
    {
      "$type": "RemoveModifier",
      "ModifierName": "Talent04BuffModifier",
      "Predicates": [
        {
          "$type": "ByAbilitySpecial",
          "CompareType": "Equal",
          "Param": 0,
          "ParamName": "AS_AttackCount",
          "ParamType": "Integer",
          "Target": "Self"
        }
      ]
    }
  ]
}