{

    //以太剑盾Skill_01格挡蓄力反击脚本

    "AbilityName" : "Durahan_ChargeAttack",

    "AbilityStacking":"Unique",



    "OnAbilityStart":

    [

        {

            "$type":"MoleMole.ApplyModifier",

            "ModifierName":"Skill_01_Hit_Front_Modifier",

            "Target":"Self",

            "Predicates" :

            [

                {

                    "$type": "MoleMole.ByAnimatorStateNormalizedTime",

                    "AnimatorStateName": "Skill_01_Hit_Front",

                    "LayerIndex": 0,

                    "NormalizedTimeLow" : 0.0,

                    "NormalizedTimeHigh" : 1.0,

                    "Target" : "Self",

                },

            ]

        },

        {

            "$type":"MoleMole.ApplyModifier",

            "ModifierName":"Skill_01_Hit_Back_Modifier",

            "Target":"Self",

            "Predicates" :

            [

                {

                    "$type": "MoleMole.ByAnimatorStateNormalizedTime",

                    "AnimatorStateName": "Skill_01_Hit_Back",

                    "LayerIndex": 0,

                    "NormalizedTimeLow" : 0.0,

                    "NormalizedTimeHigh" : 1.0,

                    "Target" : "Self",

                },

            ]

        },

    ],



    "AbilityMixins" : 

    [

        {

            "$type" : "MoleMole.AttachStateWithModifierMixin",

            "ConfigList":

            [

                {

                    "AnimatorStateName": "Skill_01_Charge",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.144,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "HitListenerModifier"

                    ]

                },

                {

                    "AnimatorStateName": "Skill_01_Hit_Front",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.308,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "HitListenerModifier"

                    ]

                },

                {

                    "AnimatorStateName": "Skill_01_Hit_Back",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.308,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "HitListenerModifier"

                    ]

                },

                {

                    "AnimatorStateName": "Skill_01_Charge",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "BreakListenerModifier",

                        "ChargePointModifier",

                        "ReduceDamageModifier",

                    ]

                },

                {

                    "AnimatorStateName": "Skill_01_Hit_Front",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "BreakListenerModifier",

                        "ChargePointModifier",

                        "ReduceDamageModifier",

                    ]

                },

                {

                    "AnimatorStateName": "Skill_01_Hit_Back",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "BreakListenerModifier",

                        "ChargePointModifier",

                        "ReduceDamageModifier",

                    ]

                }

            ]

        },

        {

            "$type": "MoleMole.ActionsOnPropertyChangeMixin",

            "PropertyActions":

            [

                {

                    "PropertyType": "Custom",

                    "CustomPropertyType": "ChargePoint_Skill_01_Cur",

                    "ReferMaxPropertyType": "Custom",

                    "CustomReferMaxPropertyType": "ChargePoint_Skill_01_Max",

                    "IsUsePercentage": false,

                    "ValueRangeActions":

                    [

                        //LowTo

                        //Int_ChargePointIndex = 1

                        {

                            "Val": 8,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 1,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 2

                        {

                            "Val": 15,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 2,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 3

                        {

                            "Val": 22,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 3,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 4

                        {

                            "Val": 29,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 4,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 5

                        {

                            "Val": 36,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 5,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 6

                        {

                            "Val": 43,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 6,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 7

                        {

                            "Val": 50,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 7,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 8

                        {

                            "Val": 58,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 8,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 9

                        {

                            "Val": 65,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 9,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 10

                        {

                            "Val": 72,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 10,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 11

                        {

                            "Val": 79,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 11,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 12

                        {

                            "Val": 86,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 12,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 13

                        {

                            "Val": 93,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 13,

                                },

                            ],

                        },

                        //Int_ChargePointIndex = 14

                        {

                            "Val": 100,

                            "LowToValueActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 14,

                                },

                                //不能受击

                                {

                                    "$type": "MoleMole.SetAbilitySpecialAction",

                                    "ParamName": "AS_HitReady",

                                    "ParamType": "float",

                                    "ModifyFunction": "Replace",

                                    "Param": 1

                                },

                            ],

                        },

                        //HighTo

                        {

                            "Val": 100,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 13,

                                },

                            ],

                        },

                        {

                            "Val": 93,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 12,

                                },

                            ],

                        },

                        {

                            "Val": 86,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 11,

                                },

                            ],

                        },

                        {

                            "Val": 79,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 10,

                                },

                            ],

                        },

                        {

                            "Val": 72,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 9,

                                },

                            ],

                        },

                        {

                            "Val": 65,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 8,

                                },

                            ],

                        },

                        {

                            "Val": 58,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 7,

                                },

                            ],

                        },

                        {

                            "Val": 50,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 6,

                                },

                            ],

                        },

                        {

                            "Val": 43,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 5,

                                },

                            ],

                        },

                        {

                            "Val": 36,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 4,

                                },

                            ],

                        },

                        {

                            "Val": 29,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 3,

                                },

                            ],

                        },

                        {

                            "Val": 22,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 2,

                                },

                            ],

                        },

                        {

                            "Val": 15,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 1,

                                },

                            ],

                        },

                        {

                            "Val": 8,

                            "ValueToLowActions": 

                            [

                                {

                                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                                    "ParamType" : 3,

                                    "ParamName" : "Int_ChargePointIndex",

                                    "Target" : "Self",

                                    "IntVal" : 0,

                                },

                            ],

                        },

                    ],

                },  

            ],  

        },

    ],



    "Modifiers" : 

    {

        //进入Skill_01_Hit_Front时执行的行为

        "Skill_01_Hit_Front_Modifier":

        {

            "ModifierStacking": "MultipleRefresh",

            "Duration": 1.0,

            "IgnoreTimeScale" : false,



            "OnAdded" :

            [

                // //播放受击动画时减少积蓄值（最多18帧一次，受NormalizedTime限制）

                // {

                //     "$type": "MoleMole.ModifyProperty",

                //     "Target" : "Self",

                //     "PropertyType": "Custom",

                //     "CustomPropertyType": "ChargePoint_Skill_01_Cur",

                //     "PropertyModifyFunction": "Add", 

                //     "Amount": -1.875,

                // },

                //播放受击动画时累积反击点数（最多18帧一次，受NormalizedTime限制）

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "AS_CounterPoint_Cur",

                    "ParamType": "float",

                    "ModifyFunction": "Add",

                    "Param": 1,

                },

                //反击点数到达指定值时，触发反击

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 2,

                    "ParamName" : "Bool_CounterReady",

                    "Target" : "Self",

                    "BoolVal" : true,

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_CounterPoint_Cur",

                            "Target": "Self",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "GreaterEqual",

                            "Param" : "AS_CounterPoint_Max"

                        }

                    ]

                },

                //反击点数到达指定值时，不再受击

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "AS_HitReady",

                    "ParamType": "float",

                    "ModifyFunction": "Replace",

                    "Param": 1,

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_CounterPoint_Cur",

                            "Target": "Self",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "GreaterEqual",

                            "Param" : "AS_CounterPoint_Max"

                        }

                    ]

                },

            ]

        },



        //进入Skill_01_Hit_Back时执行的行为

        "Skill_01_Hit_Back_Modifier":

        {

            "ModifierStacking": "MultipleRefresh",

            "Duration": 1.0,

            "IgnoreTimeScale" : false,



            "OnAdded" :

            [

                // //播放受击动画时减少积蓄值（最多18帧一次，受NormalizedTime限制）

                // {

                //     "$type": "MoleMole.ModifyProperty",

                //     "Target" : "Self",

                //     "PropertyType": "Custom",

                //     "CustomPropertyType": "ChargePoint_Skill_01_Cur",

                //     "PropertyModifyFunction": "Add", 

                //     "Amount": -1.875,

                // },

                //播放受击动画时累积反击点数（最多18帧一次，受NormalizedTime限制）

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "AS_CounterPoint_Cur",

                    "ParamType": "float",

                    "ModifyFunction": "Add",

                    "Param": 1,

                },

                //反击点数到达指定值时，触发反击

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 2,

                    "ParamName" : "Bool_CounterReady",

                    "Target" : "Self",

                    "BoolVal" : true,

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_CounterPoint_Cur",

                            "Target": "Self",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "GreaterEqual",

                            "Param" : "AS_CounterPoint_Max"

                        }

                    ]

                },

                //反击点数到达指定值时，不再受击

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "AS_HitReady",

                    "ParamType": "float",

                    "ModifyFunction": "Replace",

                    "Param": 1,

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_CounterPoint_Cur",

                            "Target": "Self",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "GreaterEqual",

                            "Param" : "AS_CounterPoint_Max"

                        }

                    ]

                },

            ]

        },



        //AS_BreakPoint_Cur增加（Counter、ExSp、QTE），内置0.3秒冷却时间

        "AS_BreakPoint_Cur_Modifier_01":

        {

            "ModifierStacking": "Unique",

            "Duration": 0.3,

            "IgnoreTimeScale" : false,



            "OnAdded" :

            [

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "AS_BreakPoint_Cur",

                    "ParamType": "float",

                    "ModifyFunction": "Add",

                    "Param": 10,

                }

            ]

        },



        //监听受击

        "HitListenerModifier":

        {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "IgnoreTimeScale" : false,



            // //取消此段注释查看Bug表现

            // //原本应该在受击后移除，却没有移除（不再处于Skill_01_Hit_Back的0.308~1.0之间）

            // "OnRemoved" :

            // [

            //     {  

            //         "$type" : "MoleMole.FireEffect",

            //         "EffectPattern" : "Eff_Avatar_LevelUp_01",

            //         "Target" : "Self",

            //     }

            // ],



            "OnBeingHit" :

            [

                //触发受击动作（前方受击）

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 1,

                    "ParamName" : "Trigger_GuardHit_Front",

                    "Target" : "Self",

                    "BoolVal" : true,

                    "Predicates":

                    [

                        {

                            "$type": "MoleMole.ByHitAngleRange",

                            "AngleMin": 0,

                            "AngleMax": 180

                        },

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_HitReady",

                            "Target": "Self",

                            "ParamType": "float",

                            "CompareType": "Equal",

                            "Param" : 0

                        }

                    ]

                },

                //触发受击动作（后方受击）

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 1,

                    "ParamName" : "Trigger_GuardHit_Back",

                    "Target" : "Self",

                    "BoolVal" : true,

                    "Predicates":

                    [

                        {

                            "$type": "MoleMole.ByHitAngleRange",

                            "AngleMin": -180,

                            "AngleMax": 0

                        },

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_HitReady",

                            "Target": "Self",

                            "ParamType": "float",

                            "CompareType": "Equal",

                            "Param" : 0

                        }

                    ]

                },

                // //AS_BreakPoint_Cur增加（前方受击）

                // {

                //     "$type": "MoleMole.SetAbilitySpecialAction",

                //     "ParamName": "AS_BreakPoint_Cur",

                //     "ParamType": "float",

                //     "ModifyFunction": "Add",

                //     "Param": 1,

                //     "Predicates":

                //     [

                //         {

                //             "$type": "MoleMole.ByHitAngleRange",

                //             "AngleMin": 0,

                //             "AngleMax": 180

                //         },

                //         {

                //             "$type" : "MoleMole.ByAbilitySpecial",

                //             "ParamName": "AS_HitReady",

                //             "Target": "Self",

                //             "ParamType": "float",

                //             "CompareType": "Equal",

                //             "Param" : 0

                //         },

                //         {

                //             "$type" : "MoleMole.ByAbilitySpecial",

                //             "ParamName": "AS_Bool_CounterAttack",  //仅发动反击时才会累积

                //             "Target": "Self",

                //             "ParamType": "float",

                //             "CompareType": "Equal",

                //             "Param" : 1

                //         },

                //     ]

                // },

                // //AS_BreakPoint_Cur增加（后方受击）

                // {

                //     "$type": "MoleMole.SetAbilitySpecialAction",

                //     "ParamName": "AS_BreakPoint_Cur",

                //     "ParamType": "float",

                //     "ModifyFunction": "Add",

                //     "Param": 3,

                //     "Predicates":

                //     [

                //         {

                //             "$type": "MoleMole.ByHitAngleRange",

                //             "AngleMin": -180,

                //             "AngleMax": 0

                //         },

                //         {

                //             "$type" : "MoleMole.ByAbilitySpecial",

                //             "ParamName": "AS_HitReady",

                //             "Target": "Self",

                //             "ParamType": "float",

                //             "CompareType": "Equal",

                //             "Param" : 0

                //         },

                //         {

                //             "$type" : "MoleMole.ByAbilitySpecial",

                //             "ParamName": "AS_Bool_CounterAttack",  //仅发动反击时才会累积

                //             "Target": "Self",

                //             "ParamType": "float",

                //             "CompareType": "Equal",

                //             "Param" : 1

                //         },

                //     ]

                // },

                // {  

                //     "$type" : "MoleMole.FireEffect",

                //     "EffectPattern" : "Eff_Avatar_LevelUp_02",

                //     "Target" : "Self",

                //     "Predicates":

                //     [

                //         {

                //             "$type": "MoleMole.ByHitAngleRange",

                //             "AngleMin": -180,

                //             "AngleMax": 0

                //         },

                //         {

                //             "$type" : "MoleMole.ByAbilitySpecial",

                //             "ParamName": "AS_HitReady",

                //             "Target": "Self",

                //             "ParamType": "float",

                //             "CompareType": "Equal",

                //             "Param" : 0

                //         },

                //         {

                //             "$type" : "MoleMole.ByAbilitySpecial",

                //             "ParamName": "AS_Bool_CounterAttack",  //仅发动反击时才会累积

                //             "Target": "Self",

                //             "ParamType": "float",

                //             "CompareType": "Equal",

                //             "Param" : 1

                //         },

                //     ]

                // },

                //破盾（由于时序问题，需要一式两份）

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 1,

                    "ParamName" : "Trigger_GuardBreak",

                    "Target" : "Self",

                    "BoolVal" : true,

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByHeavyAttack",

                            "IsHeavyAttack": true,

                        },

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_BreakPoint_Cur",

                            "Target": "Self",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "GreaterEqual",

                            "Param" : "AS_BreakPoint_Max"

                        },

                    ]

                },

                //逻辑旋转（由于时序问题，需要一式两份）

                {

                    "$type": "MoleMole.ApplyLogicMoveAction",

                    "Target": "Self",

                    "RotationConfig" :

                    {   

                        "$type" : "MoleMole.ConfigRotationToTarget",

                        "Duration" : 0.1,

                        "TargetPosRot" : 

                        {

                            "CoordsOption" : "Relative",

                            "TargetOption" : 

                            {

                                "$type" : "MoleMole.ConfigPosRotReferTarget",

                                "OffsetReferTarget" : "Other",

                                "BackupOffsetReferTarget" : "None"

                            },

                            "Offset" : 

                            {

                                "PositionOffset" : {"x":0.0, "y":0.0, "z":0.0},

                                "AngleOffset" : {"x":0.0, "y":0.0, "z":0.0}

                            }

                        },

                        "RotateType" : "Instant",

                        "RotateSpeed" : 1,

                        "TargetUpdateMode" : "OnStart",

                        "ReachTargetStop" : true

                    },

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByHeavyAttack",

                            "IsHeavyAttack": true,

                        },

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_BreakPoint_Cur",

                            "Target": "Self",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "GreaterEqual",

                            "Param" : "AS_BreakPoint_Max"

                        },

                    ]

                },



                //移除自身（防止一帧内触发两次，如可琳）

                {

                    "$type" : "MoleMole.RemoveModifier",

                    "ModifierName" : "HitListenerModifier",

                    "Target" : "Self",

                    "Predicates":

                    [

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_HitReady",

                            "Target": "Self",

                            "ParamType": "float",

                            "CompareType": "Equal",

                            "Param" : 0

                        }

                    ]

                },

            ]

        },



        //监听破盾

        "BreakListenerModifier":

        {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "IgnoreTimeScale" : false,



            "OnAdded" :

            [

                //设置是否破盾还击反击（盾模式）

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 2,

                    "ParamName" : "Bool_RevengeReady",

                    "Target" : "Self",

                    "BoolVal" : false,

                    "Predicates" :

                    [

                        {

                            "$type": "MoleMole.ByPlayerPropertyValue",

                            "IsUsePercent" : false,

                            "Numerator":"Custom",

                            "CustomNumerator":"BossType_Cur",

                            "Denominator":"Custom",

                            "CustomDenominator":"BossType_Max",

                            "CompareType": "Equal", 

                            "Val1" : 0,

                            "Val2" : 0,

                            "Target" : "Self"

                        }

                    ]

                },

                //设置是否破盾还击反击（剑盾模式）

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 2,

                    "ParamName" : "Bool_RevengeReady",

                    "Target" : "Self",

                    "BoolVal" : true,

                    "Predicates" :

                    [

                        {

                            "$type": "MoleMole.ByPlayerPropertyValue",

                            "IsUsePercent" : false,

                            "Numerator":"Custom",

                            "CustomNumerator":"BossType_Cur",

                            "Denominator":"Custom",

                            "CustomDenominator":"BossType_Max",

                            "CompareType": "NotEqual", 

                            "Val1" : 0,

                            "Val2" : 0,

                            "Target" : "Self"

                        }

                    ]

                },

                //重置受击点数

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "AS_BreakPoint_Cur",

                    "ParamType": "float",

                    "ModifyFunction": "Replace",

                    "Param": 0

                },

                //重置反击点数

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "AS_CounterPoint_Cur",

                    "ParamType": "float",

                    "ModifyFunction": "Replace",

                    "Param": 0

                },

                //重置反击选项

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 2,

                    "ParamName" : "Bool_CounterReady",

                    "Target" : "Self",

                    "BoolVal" : false,

                },

                // //设置触发反击的概率（盾模式）

                // {

                //     "$type": "MoleMole.SetAbilitySpecialAction",

                //     "ParamName": "AS_Odds_CounterAttack_Cur",

                //     "ParamType": "abilitySpecial_float",

                //     "ModifyFunction": "Replace",

                //     "Param": "AS_Odds_CounterAttack_Default_01",

                //     "Predicates" :

                //     [

                //         {

                //             "$type": "MoleMole.ByPlayerPropertyValue",

                //             "IsUsePercent" : false,

                //             "Numerator":"Custom",

                //             "CustomNumerator":"BossType_Cur",

                //             "Denominator":"Custom",

                //             "CustomDenominator":"BossType_Max",

                //             "CompareType": "Equal", 

                //             "Val1" : 0,

                //             "Val2" : 0,

                //             "Target" : "Self"

                //         }

                //     ]

                // },

                // //设置绕背击破的概率（盾模式）

                // {

                //     "$type": "MoleMole.SetAbilitySpecialAction",

                //     "ParamName": "AS_Odds_CounterPoint_Cur",

                //     "ParamType": "abilitySpecial_float",

                //     "ModifyFunction": "Replace",

                //     "Param": "AS_Odds_CounterPoint_Default_02",

                //     "Predicates" :

                //     [

                //         {

                //             "$type": "MoleMole.ByPlayerPropertyValue",

                //             "IsUsePercent" : false,

                //             "Numerator":"Custom",

                //             "CustomNumerator":"BossType_Cur",

                //             "Denominator":"Custom",

                //             "CustomDenominator":"BossType_Max",

                //             "CompareType": "NotEqual", 

                //             "Val1" : 0,

                //             "Val2" : 0,

                //             "Target" : "Self"

                //         }

                //     ]

                // },

                // //设置触发反击的概率（剑盾模式）

                // {

                //     "$type": "MoleMole.SetAbilitySpecialAction",

                //     "ParamName": "AS_Odds_CounterAttack_Cur",

                //     "ParamType": "abilitySpecial_float",

                //     "ModifyFunction": "Replace",

                //     "Param": "AS_Odds_CounterAttack_Default_02",

                //     "Predicates" :

                //     [

                //         {

                //             "$type": "MoleMole.ByPlayerPropertyValue",

                //             "IsUsePercent" : false,

                //             "Numerator":"Custom",

                //             "CustomNumerator":"BossType_Cur",

                //             "Denominator":"Custom",

                //             "CustomDenominator":"BossType_Max",

                //             "CompareType": "NotEqual", 

                //             "Val1" : 0,

                //             "Val2" : 0,

                //             "Target" : "Self"

                //         }

                //     ]

                // },

                // //设置绕背击破的概率（剑盾模式）

                // {

                //     "$type": "MoleMole.SetAbilitySpecialAction",

                //     "ParamName": "AS_Odds_CounterPoint_Cur",

                //     "ParamType": "abilitySpecial_float",

                //     "ModifyFunction": "Replace",

                //     "Param": "AS_Odds_CounterPoint_Default_01",

                //     "Predicates" :

                //     [

                //         {

                //             "$type": "MoleMole.ByPlayerPropertyValue",

                //             "IsUsePercent" : false,

                //             "Numerator":"Custom",

                //             "CustomNumerator":"BossType_Cur",

                //             "Denominator":"Custom",

                //             "CustomDenominator":"BossType_Max",

                //             "CompareType": "Equal", 

                //             "Val1" : 0,

                //             "Val2" : 0,

                //             "Target" : "Self"

                //         }

                //     ]

                // },

                // //设置反击次数

                // {

                //     "$type" : "MoleMole.RandomOperator",

                //     "Target" : "Self",

                //     "Odds" : "%AS_Odds_CounterAttack_Cur", //触发反击的概率（未触发反击时，直接蓄力死扛到底放大招）

                //     "OnSuccess" : 

                //     [

                //         // {  

                //         //     "$type" : "MoleMole.FireEffect",

                //         //     "EffectPattern" : "Eff_Avatar_LevelUp_02",

                //         //     "Target" : "Self",

                //         // },

                //         {

                //             "$type": "MoleMole.SetAbilitySpecialAction",

                //             "ParamName": "AS_Bool_CounterAttack",

                //             "ParamType": "float",

                //             "ModifyFunction": "Replace",

                //             "Param": 1

                //         },

                //         {

                //             "$type" : "MoleMole.RandomOperator",

                //             "Target" : "Self",

                //             "Odds" : "%AS_Odds_CounterPoint_Cur", //触发反击时，受击4次后进行反击的概率（能绕背击破）

                //             "OnSuccess" : 

                //             [

                //                 // {  

                //                 //     "$type" : "MoleMole.FireEffect",

                //                 //     "EffectPattern" : "Eff_Avatar_LevelUp_01",

                //                 //     "Target" : "Self",

                //                 // },

                //                 {

                //                     "$type": "MoleMole.SetAbilitySpecialAction",

                //                     "ParamName": "AS_CounterPoint_Max",

                //                     "ParamType": "float",

                //                     "ModifyFunction": "Replace",

                //                     "Param": 4

                //                 },

                //             ],

                //             "OnFailure" :

                //             [

                //                 {

                //                     "$type": "MoleMole.SetAbilitySpecialAction",

                //                     "ParamName": "AS_CounterPoint_Max",

                //                     "ParamType": "float",

                //                     "ModifyFunction": "Replace",

                //                     "Param": 3

                //                 },

                //             ]

                //         }

                //     ],

                //     "OnFailure" :

                //     [

                //         // {  

                //         //     "$type" : "MoleMole.FireEffect",

                //         //     "EffectPattern" : "Eff_Avatar_LevelUp_01",

                //         //     "Target" : "Self",

                //         // },

                //         {

                //             "$type": "MoleMole.SetAbilitySpecialAction",

                //             "ParamName": "AS_Bool_CounterAttack",

                //             "ParamType": "float",

                //             "ModifyFunction": "Replace",

                //             "Param": 0

                //         },

                //         {

                //             "$type": "MoleMole.SetAbilitySpecialAction",

                //             "ParamName": "AS_CounterPoint_Max",

                //             "ParamType": "float",

                //             "ModifyFunction": "Replace",

                //             "Param": 9999

                //         },

                //     ]

                // }

            ],



            "OnBeingHit" :

            [

                //受击时受击点数增加（Counter、ExSp、QTE）

                {

                    "$type":"MoleMole.ApplyModifier",

                    "ModifierName":"AS_BreakPoint_Cur_Modifier_01",

                    "Target":"Self",

                    "Predicates":

                    [

                        {

                            "$type" : "MoleMole.ByHeavyAttack",

                            "IsHeavyAttack": true,

                        },

                        {

                            "$type" : "MoleMole.ByCauseStun",

                            "IsCauseStun": true,

                        },

                        {

                            "$type": "MoleMole.ByOr",

                            "Predicates" : 

                            [

                                {

                                    "$type" : "MoleMole.ByAnimTagList",

                                    "TagList" : 

                                    [

                                        "AttackNormal",

                                        "Counter"

                                    ]

                                },

                                {

                                    "$type" : "MoleMole.ByAnimTagList",

                                    "TagList" : 

                                    [

                                        "AttackSpecial",

                                        "ExSp"

                                    ]

                                },

                                {

                                    "$type" : "MoleMole.ByAnimTagList",

                                    "TagList" : 

                                    [

                                        "AttackQTE",

                                    ]

                                },

                            ]

                        },

                    ]

                },

                //破盾（由于时序问题，需要一式两份）

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 1,

                    "ParamName" : "Trigger_GuardBreak",

                    "Target" : "Self",

                    "BoolVal" : true,

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByHeavyAttack",

                            "IsHeavyAttack": true,

                        },

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_BreakPoint_Cur",

                            "Target": "Self",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "GreaterEqual",

                            "Param" : "AS_BreakPoint_Max"

                        },

                    ]

                },

                //逻辑旋转（由于时序问题，需要一式两份）

                {

                    "$type": "MoleMole.ApplyLogicMoveAction",

                    "Target": "Self",

                    "RotationConfig" :

                    {   

                        "$type" : "MoleMole.ConfigRotationToTarget",

                        "Duration" : 0.1,

                        "TargetPosRot" : 

                        {

                            "CoordsOption" : "Relative",

                            "TargetOption" : 

                            {

                                "$type" : "MoleMole.ConfigPosRotReferTarget",

                                "OffsetReferTarget" : "Other",

                                "BackupOffsetReferTarget" : "None"

                            },

                            "Offset" : 

                            {

                                "PositionOffset" : {"x":0.0, "y":0.0, "z":0.0},

                                "AngleOffset" : {"x":0.0, "y":0.0, "z":0.0}

                            }

                        },

                        "RotateType" : "Instant",

                        "RotateSpeed" : 1,

                        "TargetUpdateMode" : "OnStart",

                        "ReachTargetStop" : true

                    },

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByHeavyAttack",

                            "IsHeavyAttack": true,

                        },

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "AS_BreakPoint_Cur",

                            "Target": "Self",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "GreaterEqual",

                            "Param" : "AS_BreakPoint_Max"

                        },

                    ]

                }

            ]

        },



        //平滑增加积蓄值

        "ChargePointModifier":

        {

            "ModifierStacking": "Unique",

            "Duration": -1,



            "OnAdded" :

            [

                //重置积蓄值

                {

                    "$type": "MoleMole.ModifyProperty",

                    "Target" : "Self",

                    "PropertyType": "Custom",

                    "CustomPropertyType": "ChargePoint_Skill_01_Cur",

                    "PropertyModifyFunction": "Replace", 

                    "Amount": 0,

                },

                //能够受击（累积100点后变为不能）

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "AS_HitReady",

                    "ParamType": "float",

                    "ModifyFunction": "Replace",

                    "Param": 0

                },

                //重置积蓄值表现

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 3,

                    "ParamName" : "Int_ChargePointIndex",

                    "Target" : "Self",

                    "IntVal" : 0,

                },

            ],



            "ModifierMixins" :

            [

                //平滑增加积蓄值

                {

                    "$type": "MoleMole.SmoothChangePropertyMixin",

                    "PropertyItems" : 

                    [

                        {

                            "PropertyType": "Custom",

                            "CustomPropertyType": "ChargePoint_Skill_01_Cur",

                            "PropertyModifyFunction": "Add",

                            "Percentage": 0,

                            "Amount": 31.25,

                        }

                    ],

                }

            ]

        },



        //正面攻击或远程攻击，百分比伤害减免

        "ReduceDamageModifier":

        {

            "ModifierStacking":"Unique",

            "Duration": -1,

            "IgnoreTimeScale" : false,



            "OnBeingHitPre":

            [

                {

                    "$type": "MoleMole.ModifyAttackDataAction",

                    "Target" : "Self",

                    "PropertyKey": "Actor_DamageTakeRatio", 

                    "PropertyValue": "%AS_DamageTakeRatio_Common", 

                    "Predicates": 

                    [

                        {

                            "$type": "MoleMole.ByOr",

                            "Target" : "Self",

                            "Predicates" : 

                            [

                                {

                                    "$type": "MoleMole.ByHitAngleRange",

                                    "AngleMin": 0,

                                    "AngleMax": 180

                                },

                                {

                                    "$type": "MoleMole.ByHitDataType",

                                    "TheHitDataType": "Range"

                                }

                            ],

                        },

                    ]

                },

            ]

        },

    },



    "AbilitySpecials" : 

    {

        //当前受击点数

        "AS_BreakPoint_Cur" :

        {

            "Value" : 0

        },

        //最大受击点数

        "AS_BreakPoint_Max" :

        {

            "Value" : 10

        },

        //当前反击点数

        "AS_CounterPoint_Cur" :

        {

            "Value" : 0

        },

        //最大反击点数

        "AS_CounterPoint_Max" :

        {

            "Value" : 3 //改为挨4刀就反击（2022.06.15）

        },

        //是否可以受击进入Hit或Break

        "AS_HitReady" :

        {

            "Value" : 0

        },



        //按当前参数，33%概率死扛，33%概率反击（不能绕背击破），33%概率反击（能绕背击破）

        //触发反击的概率（当前）

        "AS_Odds_CounterAttack_Cur" :

        {

            "Value" : 0

        },

        //触发反击时，能绕背击破的概率（当前）

        "AS_Odds_CounterPoint_Cur" :

        {

            "Value" : 0

        },

        //触发反击的概率（盾模式）

        "AS_Odds_CounterAttack_Default_01" :

        {

            "Value" : 1.0 //默认0.6667

        },

        //触发反击时，能绕背击破的概率（盾模式）

        "AS_Odds_CounterPoint_Default_01" :

        {

            "Value" : 1.0 //默认1.0

        },

        //触发反击的概率（剑盾模式）

        "AS_Odds_CounterAttack_Default_02" :

        {

            "Value" : 0.3333 //默认0.3333

        },

        //触发反击时，能绕背击破的概率（剑盾模式）

        "AS_Odds_CounterPoint_Default_02" :

        {

            "Value" : 0.0 //默认0.0

        },

        //是否反击的标志

        "AS_Bool_CounterAttack" :

        {

            "Value" : 0

        },



        //格挡时常驻，针对正面攻击与远程攻击，百分比伤害减免

        "AS_DamageTakeRatio_Common":

        {

            "Value" : -0.5

        },

    }

}