{

    "AbilityName" : "Bangboo_Eous001_Skill_Resonate_Recover",

    "AbilityStacking":"Unique",



    //回复共鸣

    "DefaultModifier" :

    {

        "OnAdded" :

        [

            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "ListenDodgeModifier",

                "Target" : "TeamAvatars"

            },

            {

                "$type": "MoleMole.ApplyAbilityAction",

                "AbilityName": "Bangboo_Eous001_Skill_Resonate_Recover_Teleport",

                "IsAutoTrigger": false,

                "Target" : "Self"

            },

            {

                "$type": "MoleMole.ApplyAbilityAction",

                "AbilityName": "Bangboo_Eous001_Skill_Resonate_Recover_Heal",

                "IsAutoTrigger": false,

                "Target" : "Self"

            },

            //监听受伤，才会触发回复

            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "ListenDamageModifier",

                "Target" : "TeamAvatars"

            },

        ],



        // "OnAttackLanded" :

        // [

        //     {

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

        //         "ParamType" : 1,

        //         "ParamName" : "Trigger_AttackLanded",

        //         "Target" : "Self",

        //         "BoolVal" : true,

        //         "Predicates" :

        //         [

        //             {

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

        //                 "AnimatorEventIDs": 

        //                 [

        //                     "Bangboo_Eous001_Skill_Resonate_Recover_Attackproperty_01_Predicate"

        //                 ]

        //             },

        //             {

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

        //                 "IsLocalAvatar": true,

        //                 "Target" : "Target",

        //             },

        //         ]

        //     }

        // ]

    },



    "OnAbilityStart":

    [

        {

            "$type" : "MoleMole.SetAnimCtrlerParamAction",

            "ParamType" : 3,

            "ParamName" : "Int_AttackIndex",

            "IntVal" : 33,

            "Target" : "Self"

        },

        {

            "$type" : "MoleMole.SetAnimCtrlerParamAction",

            "ParamType" : 1,

            "ParamName" : "Trigger_PressAttackB",

            "BoolVal" : true,

            "Target" : "Self"

        },

        {

            "$type": "MoleMole.SetAbilitySpecialAction",

            "Target": "Self",

            "ParamName": "AS_HealAmount",

            "ParamType": "float",

            "ModifyFunction": "Replace",

            "Param": 0.0

        },

    ],



    "AbilityMixins" : 

    [

        {

            "$type" : "MoleMole.AttachStateWithModifierMixin",

            "ConfigList":

            [

                {

                    "AnimatorStateName": "Skill_Resonate_Recover",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.09,

                    "NormalizedTimeHigh": 0.73,

                    "ModifierNameList":

                    [

                       "SpecialEffectModifier",

                    ],

                },

            ]

        }

    ],



    "Modifiers" :

    {

        "ListenDodgeModifier" : 

        {

            "ModifierStacking" : "Unique",

            "Duration" : -1,



            "OnDodgeSuccess" :

            [

                {

                    "$type" : "MoleMole.TriggerAbilityAction",

                    "AbilityName" : "Bangboo_Eous001_Skill_Resonate_Recover",

                    "Target" : "Caster",

                    "Predicates" :

                    [

                        {

                            "$type": "MoleMole.BySkillReady",

                            "SkillName": "Bangboo_Eous001_Skill_Resonate_Recover",

                            "Target": "Caster"

                        },

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "Target" : "Self",

                            "ParamName": "AS_HealAmount",

                            "ParamType": "float",

                            "CompareType": "Greater",

                            "Param" : 0,

                        },

                        {

                            "$type": "MoleMole.ByNot",

                            "Predicates": 

                            [

                                {

                                    "$type": "MoleMole.ByIsInZoneTags",

                                    "Target": "Caster",

                                    "Tags" : 

                                    [

                                        "Disabled"

                                    ]

                                }

                            ]

                        }

                    ]

                }

            ]

        },



        "SpecialEffectModifier": 

        {

            "ModifierStacking" : "MultipleRefresh",

            "Duration": -1,

            "OnAdded":

            [

                {

                    "$type": "MoleMole.AttachEffect",

                    "EffectPattern": "Eff_Bangboo_Resonate_Recover_Cast_01",

                    "Target": "Self",

                    "AttachEffectPosRot" : 

                    {

                        "CoordsOption" : "ReferTarget",

                        "TargetOption" : 

                        {

                            "$type" : "MoleMole.ConfigPosRotReferTarget",

                            "OffsetReferTarget" : "Self",

                            "AttachPoint" : "BombPoint",

                            "IsUseAttachPointPos" : true,

                            "IsUseAttachPointRotation" : false,

                        },

                        "Offset" : 

                        {

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

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

                            "IsUseRotationY" : true,

                            "IsUseRotationXZ" : true,

                        }

                    },

                },

            ]

        },



        "ListenDamageModifier" : 

        {

            "ModifierStacking" : "Unique",

            "Duration" : -1,



            "OnBeingHitPre":

            [

                {

                    "$type": "MoleMole.SetAbilitySpecialsByPropertyAction",

                    "Target": "Self",

                    "ParamName": "AS_HPPre",

                    "ModifyFunction": "Replace",

                    "PropertyType" : "CurHP",

                    "Percentage" : 1.0

                },

            ],



            "OnBeingHitResolved":

            [

                {

                    "$type": "MoleMole.SetAbilitySpecialsByPropertyAction",

                    "Target": "Self",

                    "ParamName": "AS_HPResolved",

                    "ModifyFunction": "Replace",

                    "PropertyType" : "CurHP",

                    "Percentage" : 1.0

                },

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "Target": "Self",

                    "ParamName": "AS_HPResolved",

                    "ParamType": "float",

                    "ModifyFunction": "Mul",

                    "Param": -1.0

                },

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "Target": "Self",

                    "ParamName": "AS_HPPre",

                    "ParamType": "abilitySpecial_float",

                    "ModifyFunction": "Add",

                    "Param": "AS_HPResolved"

                },

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "Target": "Self",

                    "ParamName": "AS_HealAmount",

                    "ParamType": "abilitySpecial_float",

                    "ModifyFunction": "Replace",

                    "Param": "AS_HPPre",

                    "Predicates": 

                    [

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "Target" : "Self",

                            "ParamName": "AS_HealAmount",

                            "ParamType": "abilitySpecial_float",

                            "CompareType": "LessEqual",

                            "Param" : "AS_HPPre",

                        },

                    ]

                },

            ]

        },

    },



    "AbilitySpecials":

    {

        "AS_HPPre": 

        {

            "Value": 0.0

        },

        "AS_HPResolved": 

        {

            "Value": 0.0

        },

        "AS_HealAmount": 

        {

            "Value": 0.0

        },

    }

}