{
  "AbilityMixins": [
    {
      "$type": "AttachStateWithModifierMixin",
      "ConfigList": [
        {
          "AnimatorStateName": "Attack_FinishingSlash_01",
          "FrameCountHigh": 12,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": false,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaSlashStateModifier",
            "HarumasaSlash01CheckModifier"
          ]
        },
        {
          "AnimatorStateName": "Attack_FinishingSlash_02",
          "FrameCountHigh": 14,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": false,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaSlashStateModifier"
          ]
        },
        {
          "AnimatorStateName": "Attack_FinishingSlash_03",
          "FrameCountHigh": 14,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": false,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaSlashStateModifier"
          ]
        },
        {
          "AnimatorStateName": "Attack_FinishingSlash_01",
          "FrameCountHigh": 25,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": false,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaSlashReduceDmgModifier"
          ]
        },
        {
          "AnimatorStateName": "Attack_FinishingSlash_02",
          "FrameCountHigh": 23,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": false,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaSlashReduceDmgModifier"
          ]
        },
        {
          "AnimatorStateName": "Attack_FinishingSlash_03",
          "FrameCountHigh": 25,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": false,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaSlashReduceDmgModifier"
          ]
        },
        {
          "AnimatorStateName": "Attack_FinishingSlash_01",
          "FrameCountHigh": 99,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": true,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaHitDetectModifier"
          ]
        },
        {
          "AnimatorStateName": "Attack_FinishingSlash_02",
          "FrameCountHigh": 99,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": true,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaHitDetectModifier"
          ]
        },
        {
          "AnimatorStateName": "Attack_FinishingSlash_03",
          "FrameCountHigh": 99,
          "FrameCountLow": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrameCountHigh": true,
          "MaxFrameCountLow": false,
          "ModifierNameList": [
            "HarumasaHitDetectModifier"
          ]
        }
      ],
      "IsSeam": true
    }
  ],
  "AbilityName": "Harumasa_FinishingSlash",
  "AbilitySpecials": {
    "AS_AddElecSignStack": {
      "Value": 1
    },
    "AS_ElecSignDuration": {
      "Value": 10
    },
    "AS_ElecSignMaxStack": {
      "Value": 8
    },
    "AS_ReduceDmgRatio": {
      "Value": -0.4
    }
  },
  "AbilityStacking": "Unique",
  "DefaultModifier": {
    "OnHitOther": [
      {
        "$type": "ApplyModifier",
        "ModifierName": "HarumasaElecSignModifier",
        "Predicates": [
          {
            "$type": "ByAnimTagList",
            "TagList": [
              "HitForSlash"
            ]
          },
          {
            "$type": "ByRelativeCampType",
            "Relationship": "Enemy",
            "Target": "Other"
          },
          {
            "$type": "ByMonsterFunctionType",
            "CompareType": "Equal",
            "MonsterFunctionType": "Monster",
            "Target": "Other"
          }
        ],
        "StackCount": "%AS_AddElecSignStack",
        "Target": "Other"
      },
      {
        "$type": "ApplyModifier",
        "ModifierName": "HarumasaElecSignModifier",
        "Predicates": [
          {
            "$type": "ByAnimTagList",
            "TagList": [
              "MainArrow"
            ]
          },
          {
            "$type": "ByRelativeCampType",
            "Relationship": "Enemy",
            "Target": "Other"
          },
          {
            "$type": "ByMonsterFunctionType",
            "CompareType": "Equal",
            "MonsterFunctionType": "Monster",
            "Target": "Other"
          },
          {
            "$type": "ByMathSkillSuccess",
            "Target": "Caster"
          },
          {
            "$type": "ByOr",
            "Predicates": [
              {
                "$type": "ByIsStunDestroyed",
                "IsStunDestroyed": true,
                "Target": "Other"
              },
              {
                "$type": "ByHasBuffGroup",
                "BuffGroupList": [
                  "Frozen",
                  "Frostbite",
                  "Frost",
                  "Strike",
                  "Burn",
                  "Ignite",
                  "Electric",
                  "Overload",
                  "Erosion",
                  "Chaos"
                ],
                "Target": "Other"
              }
            ],
            "Target": "Other"
          }
        ],
        "StackCount": 2,
        "Target": "Other"
      }
    ],
    "OnSkillStart": [
      {
        "$type": "ApplyModifier",
        "ModifierName": "HarumasaTalent04MonsterCheckModifier",
        "Predicates": [
          {
            "$type": "ByFromSkillType",
            "SkillType": "ExQTE"
          },
          {
            "$type": "ByAvatarTalentIndex",
            "TalentIndex": 4,
            "Target": "Self"
          }
        ],
        "Target": "EnemyAllied"
      }
    ]
  },
  "Modifiers": {
    "HarumasaAllowSlashModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnAdded": [
        {
          "$type": "HandleAnimatorZoneTagsAction",
          "AnimatorStateTags": [
            "FinishingSlashState"
          ],
          "IsAdd": true,
          "Target": "Self"
        },
        {
          "$type": "ModifyProperty",
          "Amount": 1,
          "CustomPropertyType": "AllowSlashState",
          "PropertyModifyFunction": "Replace",
          "PropertyType": "Custom",
          "Target": "Self"
        },
        {
          "$type": "SetAnimCtrlerParamAction",
          "BoolVal": true,
          "ParamName": "Bool_Slash_Enable",
          "ParamType": 2,
          "Target": "Caster"
        },
        {
          "$type": "AttachEffect",
          "AttachEffectPosRot": {
            "CoordsOption": "ReferTarget",
            "Offset": {
              "AngleOffset": {
                "x": 0,
                "y": 0,
                "z": 0
              },
              "IsUseRotationXZ": true,
              "IsUseRotationY": true,
              "PositionOffset": {
                "x": 0,
                "y": 0,
                "z": 0
              }
            },
            "TargetOption": {
              "$type": "ConfigPosRotReferTarget",
              "AttachPoint": "Skn_R_Wepon03",
              "IsUseAttachPointPos": true,
              "IsUseAttachPointRotation": true,
              "OffsetReferTarget": "Self"
            }
          },
          "EffectPattern": "Eff_Harumasa_Attack_Common_01_GlowMod",
          "Target": "Self"
        },
        {
          "$type": "AttachEffect",
          "AttachEffectPosRot": {
            "CoordsOption": "ReferTarget",
            "Offset": {
              "AngleOffset": {
                "x": 0,
                "y": 0,
                "z": 0
              },
              "IsUseRotationXZ": true,
              "IsUseRotationY": true,
              "PositionOffset": {
                "x": 0,
                "y": 0,
                "z": 0
              }
            },
            "TargetOption": {
              "$type": "ConfigPosRotReferTarget",
              "AttachPoint": "Skn_L_Wepon02",
              "IsUseAttachPointPos": true,
              "IsUseAttachPointRotation": true,
              "OffsetReferTarget": "Self"
            }
          },
          "EffectPattern": "Eff_Harumasa_Attack_Common_02_GlowMod",
          "Target": "Self"
        },
        {
          "$type": "FireEffect",
          "AttachPointName": "Skn_L_Wepon01",
          "EffectPattern": "Eff_Harumasa_Attack_Common_03_Flash",
          "Target": "Self"
        },
        {
          "$type": "ModifyMaterialPropertyAction",
          "ApplyAllRenderers": false,
          "RendererList": [
            {
              "ApplyAllMaterials": true,
              "RenderPath": "Harumasa_Weapon_3_01"
            },
            {
              "ApplyAllMaterials": true,
              "RenderPath": "Harumasa_Weapon_3_02"
            }
          ],
          "Tag": "Avatar_Male_Size01_Harumasa_MA_Attack_FinishingSlash_SecondaryEmission_01",
          "Target": "Self",
          "key": "Avatar_Male_Size01_Harumasa_MA_Attack_FinishingSlash_SecondaryEmission_01"
        }
      ],
      "OnRemoved": [
        {
          "$type": "HandleAnimatorZoneTagsAction",
          "AnimatorStateTags": [
            "FinishingSlashState"
          ],
          "IsAdd": false,
          "Target": "Self"
        },
        {
          "$type": "ModifyProperty",
          "Amount": 0,
          "CustomPropertyType": "AllowSlashState",
          "PropertyModifyFunction": "Replace",
          "PropertyType": "Custom",
          "Target": "Self"
        },
        {
          "$type": "SetAnimCtrlerParamAction",
          "BoolVal": false,
          "ParamName": "Bool_Slash_Enable",
          "ParamType": 2,
          "Target": "Caster"
        },
        {
          "$type": "RemoveMaterialPropertyAction",
          "Tag": "Avatar_Male_Size01_Harumasa_MA_Attack_FinishingSlash_SecondaryEmission_01",
          "Target": "Self"
        }
      ]
    },
    "HarumasaContinueSlashModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnAdded": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "BoolVal": true,
          "ParamName": "Bool_ContinueSlash",
          "ParamType": 2,
          "Target": "Self"
        }
      ],
      "OnRemoved": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "BoolVal": false,
          "ParamName": "Bool_ContinueSlash",
          "ParamType": 2,
          "Target": "Self"
        }
      ]
    },
    "HarumasaElecSignModifier": {
      "Duration": "%AS_ElecSignDuration",
      "MaxStackingNumber": "%AS_ElecSignMaxStack",
      "ModifierStacking": "MultipleAllRefresh",
      "OnAdded": [
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaSlashTargetModifier",
          "Predicates": [
            {
              "$type": "ByModifierStackCount",
              "CompareType": "GreaterEqual",
              "CountModifierType": "CurTargetAbility",
              "ModifierName": "HarumasaElecSignModifier",
              "StackCount": 2,
              "Target": "Self"
            }
          ],
          "Target": "Self"
        }
      ],
      "OnCustomEventReceived": [
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaElecSignModifier",
          "Predicates": [
            {
              "$type": "ByCustomEvent",
              "EventKey": "Monster_Disappear_Start"
            }
          ],
          "StackCount": "%AS_ElecSignMaxStack",
          "Target": "Self"
        }
      ],
      "OnKilled": [
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaElecSignModifier",
          "StackCount": "%AS_ElecSignMaxStack",
          "Target": "Self"
        }
      ],
      "OnRemoved": [
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaSlashTargetModifier",
          "Predicates": [
            {
              "$type": "ByModifierStackCount",
              "CompareType": "LessEqual",
              "CountModifierType": "CurTargetAbility",
              "ModifierName": "HarumasaElecSignModifier",
              "StackCount": 2,
              "Target": "Self"
            }
          ],
          "Target": "Self"
        }
      ]
    },
    "HarumasaHitDetectModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnHitOther": [
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaContinueSlashModifier",
          "Predicates": [
            {
              "$type": "ByHasModifier",
              "ModifierNameList": [
                "HarumasaSlashTargetEffectModifier"
              ],
              "Target": "Other"
            },
            {
              "$type": "ByAnimTagList",
              "TagList": [
                "AttackNormal",
                "Rush",
                "FinishingSlash"
              ]
            }
          ],
          "Target": "Self"
        }
      ],
      "OnRemoved": [
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaContinueSlashModifier",
          "Target": "Self"
        }
      ]
    },
    "HarumasaReduceElecModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnRemoved": [
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaElecSignModifier",
          "StackCount": 2,
          "Target": "Self"
        }
      ]
    },
    "HarumasaShowSlashEffectModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnAdded": [
        {
          "$type": "FireEffect",
          "AttachPointName": "LockBone",
          "EffectPattern": "Eff_Harumasa_FinishingSlash_MarkOnEnemy_02_Buff",
          "Predicates": [
            {
              "$type": "ByModifierStackCount",
              "CompareType": "GreaterEqual",
              "CountModifierType": "CurTargetAbility",
              "ModifierName": "HarumasaElecSignModifier",
              "StackCount": 2,
              "Target": "Self"
            }
          ],
          "Target": "Self"
        }
      ]
    },
    "HarumasaSlash01CheckModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnAdded": [
        {
          "$type": "HandleAnimatorZoneTagsAction",
          "AnimatorStateTags": [
            "NotbeHitbySlash01"
          ],
          "CustomKey": "Harumasa_AttackTarget_SlashTarget",
          "IsAdd": true,
          "Target": "Custom"
        }
      ],
      "OnHitOther": [
        {
          "$type": "HandleAnimatorZoneTagsAction",
          "AnimatorStateTags": [
            "NotbeHitbySlash01"
          ],
          "IsAdd": false,
          "Target": "Other"
        }
      ],
      "OnRemoved": [
        {
          "$type": "RemoveModifier",
          "CustomKey": "Harumasa_AttackTarget_NotbeHitbySlash01",
          "ModifierName": "HarumasaElecSignModifier",
          "StackCount": 2,
          "Target": "Custom"
        },
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaSlash01MissRemoveElecSignModifier",
          "Target": "Self"
        }
      ]
    },
    "HarumasaSlash01MissRemoveElecSignModifier": {
      "Duration": 1,
      "ModifierStacking": "Replace",
      "OnAdded": [
        {
          "$type": "HandleAnimatorZoneTagsAction",
          "AnimatorStateTags": [
            "NotbeHitbySlash01"
          ],
          "IsAdd": false,
          "Target": "EnemyAllied"
        }
      ]
    },
    "HarumasaSlashReduceDmgModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "Properties": {
        "Actor_DamageTakeRatio": "%AS_ReduceDmgRatio"
      }
    },
    "HarumasaSlashStateModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnHitOther": [
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaReduceElecModifier",
          "Predicates": [
            {
              "$type": "ByRelativeCampType",
              "Relationship": "Enemy",
              "Target": "Other"
            },
            {
              "$type": "ByMonsterFunctionType",
              "CompareType": "Equal",
              "MonsterFunctionType": "Monster",
              "Target": "Other"
            },
            {
              "$type": "ByAnimTagList",
              "TagList": [
                "AttackNormal",
                "Rush",
                "FinishingSlash"
              ]
            }
          ],
          "Target": "Other"
        }
      ],
      "OnHitOtherPre": [
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaShowSlashEffectModifier",
          "Predicates": [
            {
              "$type": "ByRelativeCampType",
              "Relationship": "Enemy",
              "Target": "Other"
            },
            {
              "$type": "ByMonsterFunctionType",
              "CompareType": "Equal",
              "MonsterFunctionType": "Monster",
              "Target": "Other"
            },
            {
              "$type": "ByAnimTagList",
              "TagList": [
                "AttackNormal",
                "Rush",
                "FinishingSlash"
              ]
            }
          ],
          "Target": "Other"
        }
      ],
      "OnRemoved": [
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaShowSlashEffectModifier",
          "Target": "EnemyAllied"
        },
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaReduceElecModifier",
          "Target": "EnemyAllied"
        }
      ]
    },
    "HarumasaSlashTargetCheckModifier": {
      "Duration": 1,
      "IgnoreTimeScale": false,
      "ModifierStacking": "Replace",
      "OnAdded": [
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaAllowSlashModifier",
          "Predicates": [
            {
              "$type": "ByAbilityTargetCount",
              "AbilityTargetKey": "Harumasa_AttackTarget_SlashTarget",
              "CompareType": "GreaterEqual",
              "CompareValue": 1,
              "Target": "LocalAvatar"
            }
          ],
          "Target": "Self"
        },
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaAllowSlashModifier",
          "Predicates": [
            {
              "$type": "ByAbilityTargetCount",
              "AbilityTargetKey": "Harumasa_AttackTarget_SlashTarget",
              "CompareType": "Less",
              "CompareValue": 1,
              "Target": "LocalAvatar"
            }
          ],
          "Target": "Self"
        }
      ]
    },
    "HarumasaSlashTargetEffectModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnAdded": [
        {
          "$type": "AttachEffect",
          "AttachEffectPosRot": {
            "CoordsOption": "ReferTarget",
            "Offset": {
              "AngleOffset": {
                "x": 0,
                "y": 0,
                "z": 0
              },
              "IsUseRotationXZ": true,
              "IsUseRotationY": true,
              "PositionOffset": {
                "x": 0,
                "y": 0,
                "z": 0
              }
            },
            "TargetOption": {
              "$type": "ConfigPosRotReferTarget",
              "AttachPoint": "LockBone",
              "IsUseAttachPointPos": true,
              "IsUseAttachPointRotation": false,
              "OffsetReferTarget": "Self"
            }
          },
          "EffectPattern": "Eff_Harumasa_FinishingSlash_MarkOnEnemy_01_Buff",
          "Target": "Self"
        }
      ]
    },
    "HarumasaSlashTargetModifier": {
      "Duration": -1,
      "ModifierStacking": "Replace",
      "OnAdded": [
        {
          "$type": "HandleAnimatorZoneTagsAction",
          "AnimatorStateTags": [
            "Harumasa_SlashTarget"
          ],
          "IsAdd": true,
          "Target": "Self"
        },
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaSlashTargetEffectModifier",
          "Predicates": [
            {
              "$type": "ByIsLocalAvatar",
              "IsLocalAvatar": true,
              "Target": "Caster"
            }
          ],
          "Target": "Self"
        },
        {
          "$type": "ApplyModifier",
          "CustomKey": "AbilityTarget_Harumasa",
          "ModifierName": "HarumasaSlashTargetCheckModifier",
          "Target": "Custom"
        }
      ],
      "OnRemoved": [
        {
          "$type": "HandleAnimatorZoneTagsAction",
          "AnimatorStateTags": [
            "Harumasa_SlashTarget"
          ],
          "IsAdd": false,
          "Target": "Self"
        },
        {
          "$type": "ApplyModifier",
          "CustomKey": "AbilityTarget_Harumasa",
          "ModifierName": "HarumasaSlashTargetCheckModifier",
          "Target": "Custom"
        },
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaSlashTargetEffectModifier",
          "Target": "Self"
        }
      ],
      "OnThinkInterval": [
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaSlashTargetEffectModifier",
          "Predicates": [
            {
              "$type": "ByIsLocalAvatar",
              "IsLocalAvatar": true,
              "Target": "Caster"
            }
          ],
          "Target": "Self"
        },
        {
          "$type": "RemoveModifier",
          "ModifierName": "HarumasaSlashTargetEffectModifier",
          "Predicates": [
            {
              "$type": "ByIsLocalAvatar",
              "IsLocalAvatar": false,
              "Target": "Caster"
            }
          ],
          "Target": "Self"
        }
      ],
      "ThinkInterval": 0.5
    },
    "HarumasaTalent04MonsterCheckModifier": {
      "Duration": 1,
      "ModifierStacking": "Replace",
      "OnAdded": [
        {
          "$type": "ApplyModifier",
          "ModifierName": "HarumasaElecSignModifier",
          "Predicates": [
            {
              "$type": "ByMonsterFunctionType",
              "CompareType": "Equal",
              "MonsterFunctionType": "Monster",
              "Target": "Self"
            }
          ],
          "StackCount": "%AS_ElecSignMaxStack",
          "Target": "Self"
        }
      ]
    }
  }
}