{
  "AbilityMixins": [
    {
      "$type": "ActwithStateFrameMixin",
      "ConfigList": [
        {
          "ActionList": [
            {
              "$type": "SetAnimCtrlerParamAction",
              "IntVal": 0,
              "ParamName": "Int_ODIndex",
              "ParamType": 3
            }
          ],
          "AnimatorStateName": "ResetMove_Start",
          "ForceTriggerOnTransitionIn": true,
          "Frame": 0
        },
        {
          "ActionList": [
            {
              "$type": "SetAnimCtrlerParamAction",
              "IntVal": 1,
              "ParamName": "Int_ODIndex",
              "ParamType": 3
            }
          ],
          "AnimatorStateName": "ResetMove_OD_Start",
          "ForceTriggerOnTransitionIn": true,
          "Frame": 0
        },
        {
          "ActionList": [
            {
              "$type": "ApplyModifier",
              "ModifierName": "PartBreakStunModifier"
            }
          ],
          "AnimatorStateName": "PartBreak_Stun_Loop",
          "ForceTriggerOnTransitionIn": true,
          "Frame": 0
        },
        {
          "ActionList": [
            {
              "$type": "TriggerAbilityAction",
              "AbilityName": "Geppetto_Part_LeftHand"
            },
            {
              "$type": "TriggerAbilityAction",
              "AbilityName": "Geppetto_Part_RightHand"
            },
            {
              "$type": "TriggerAbilityAction",
              "AbilityName": "Geppetto_Part_Tail"
            },
            {
              "$type": "ModifyProperty",
              "Amount": 0,
              "CustomPropertyType": "PartDestroyedCount",
              "IsUsePercentage": false,
              "Percentage": 0,
              "PropertyModifyFunction": "Replace",
              "PropertyType": "Custom"
            },
            {
              "$type": "ApplyModifier",
              "ModifierName": "Geppetto_ODController"
            },
            {
              "$type": "SetAnimCtrlerParamAction",
              "BoolVal": false,
              "ParamName": "Bool_EnableOD",
              "ParamType": 2
            },
            {
              "$type": "SetAbilitySpecialAction",
              "ModifyFunction": "Replace",
              "Param": false,
              "ParamName": "AS_EnableOD",
              "ParamType": "Boolean"
            },
            {
              "$type": "SetAbilitySpecialAction",
              "ModifyFunction": "Add",
              "Param": 1,
              "ParamName": "AS_ODActivateCount",
              "ParamType": "Integer"
            }
          ],
          "AnimatorStateName": "ResetMove_OD_End",
          "Frame": 90
        },
        {
          "ActionList": [
            {
              "$type": "TriggerAbilityAction",
              "AbilityName": "Geppetto_Part_LeftHand"
            },
            {
              "$type": "TriggerAbilityAction",
              "AbilityName": "Geppetto_Part_RightHand"
            },
            {
              "$type": "TriggerAbilityAction",
              "AbilityName": "Geppetto_Part_Tail"
            },
            {
              "$type": "ModifyProperty",
              "Amount": 0,
              "CustomPropertyType": "PartDestroyedCount",
              "IsUsePercentage": false,
              "Percentage": 0,
              "PropertyModifyFunction": "Replace",
              "PropertyType": "Custom"
            },
            {
              "$type": "ApplyModifier",
              "ModifierName": "Geppetto_ODController"
            },
            {
              "$type": "SetAnimCtrlerParamAction",
              "BoolVal": false,
              "ParamName": "Bool_EnableOD",
              "ParamType": 2
            },
            {
              "$type": "SetAbilitySpecialAction",
              "ModifyFunction": "Replace",
              "Param": false,
              "ParamName": "AS_EnableOD",
              "ParamType": "Boolean"
            },
            {
              "$type": "SetAbilitySpecialAction",
              "ModifyFunction": "Add",
              "Param": 1,
              "ParamName": "AS_ODActivateCount",
              "ParamType": "Integer"
            }
          ],
          "AnimatorStateName": "ResetMove_End",
          "Frame": 90
        }
      ]
    },
    {
      "$type": "ActionsOnPropertyChangeMixin",
      "DoInitialCheck": true,
      "PropertyActions": [
        {
          "CustomPropertyType": "PartDestroyedCount",
          "IsUsePercentage": false,
          "PropertyType": "Custom",
          "ValueRangeActions": [
            {
              "LowToValueActions": [
                {
                  "$type": "ApplyModifier",
                  "ModifierName": "Geppetto_ODController"
                },
                {
                  "$type": "SetAbilitySpecialAction",
                  "ModifyFunction": "Replace",
                  "Param": true,
                  "ParamName": "AS_EnableOD",
                  "ParamType": "Boolean"
                }
              ],
              "Val": 2
            }
          ]
        },
        {
          "IsUsePercentage": true,
          "PropertyType": "CurHP",
          "RefPropertyType": "MaxHP",
          "ValueRangeActions": [
            {
              "HighToValueActions": [
                {
                  "$type": "ApplyModifier",
                  "ModifierName": "Geppetto_ODController",
                  "Predicates": [
                    {
                      "$type": "ByAbilitySpecial",
                      "CompareType": "Equal",
                      "Param": 0,
                      "ParamName": "AS_ODActivateCount",
                      "ParamType": "Integer"
                    }
                  ]
                }
              ],
              "Val": "%AS_MaxHP_Ratio"
            }
          ]
        }
      ]
    }
  ],
  "AbilityName": "Geppetto_PartBreakControl",
  "AbilitySpecials": {
    "AS_DamageTakeRatio": {
      "Value": 0.5
    },
    "AS_EnableOD": {
      "Value": false
    },
    "AS_MaxHP_Ratio": {
      "Value": 0.5
    },
    "AS_ODActivateCount": {
      "Value": 0
    }
  },
  "AbilityStacking": "Unique",
  "Modifiers": {
    "Geppetto_ODController": {
      "Duration": 60,
      "ModifierStacking": "Unique",
      "OnAdded": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "BoolVal": true,
          "ParamName": "Bool_EnableOD",
          "ParamType": 2
        },
        {
          "$type": "SetAbilitySpecialAction",
          "ModifyFunction": "Replace",
          "Param": false,
          "ParamName": "AS_EnableOD",
          "ParamType": "Boolean"
        }
      ],
      "OnRemoved": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "BoolVal": true,
          "ParamName": "Bool_EnableOD",
          "ParamType": 2,
          "Predicates": [
            {
              "$type": "ByAbilitySpecial",
              "CompareType": "Equal",
              "Param": true,
              "ParamName": "AS_EnableOD",
              "ParamType": "Boolean"
            }
          ]
        }
      ]
    },
    "PartBreakStunModifier": {
      "Duration": 8,
      "ModifierStacking": "Prolong",
      "OnAdded": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "BoolVal": true,
          "ParamName": "Bool_IsInPartBreak",
          "ParamType": 2
        }
      ],
      "OnRemoved": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "BoolVal": false,
          "ParamName": "Bool_IsInPartBreak",
          "ParamType": 2
        },
        {
          "$type": "SetAnimCtrlerParamAction",
          "ParamName": "Trigger_PartBreakEnd",
          "ParamType": 1
        }
      ],
      "Properties": {
        "Actor_DamageTakeRatio": "%AS_DamageTakeRatio"
      }
    }
  },
  "OnAdded": [
    {
      "$type": "RandomOperator",
      "Odds": 0.5,
      "OnFailure": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "IntVal": 1,
          "ParamName": "Int_ODIndex",
          "ParamType": 3
        }
      ],
      "OnSuccess": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "IntVal": 0,
          "ParamName": "Int_ODIndex",
          "ParamType": 3
        }
      ]
    }
  ]
}