{

    // 预测Bug 测试

    "AbilityName" : "TestPlayer_Ability_Test_4",

    "AbilityStacking":"Unique",



    "DefaultModifier" : 

    {

        "OnAdded" :

        [

            // {

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

            //     "ModifierName" : "BurnBuffModifier",

            // },



            {

                "$type" : "MoleMole.ApplyModifier",

                "ModifierName" : "RecoverSPModifier",

            },

        ],

        "OnBeingHit" :

        [

             {

                "$type": "MoleMole.FireEffect",

                "EffectPattern": "Eff_Anbi_Electric_Discharge_Start",

                "Target": "Self",

                "Predicates": 

                [

                    {

                      "$type": "MoleMole.ByHitAngleRange",

                      "AngleMin": 80.0,

                      "AngleMax": 100.0,

                    },

                ]

             },

        ],

    },



    "OnAbilityStart":

    [

        {

            "$type" : "MoleMole.ApplyModifier",

            "ModifierName" : "InvincibleModifier",

        },



        {

            "$type" : "MoleMole.ApplyModifier",

            "ModifierName" : "AbilitySpecialsModifier",

            // "Predicates" : 

            // [

            //     {

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

            //         "ParamName": "RecoverSP",

            //         "CompareType": "Equal",

            //         "Param" : 5,

            //         "ParamType": "float",

            //     },

            // ]

        },



        // {

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

        //     "ModifierName" : "DelayModifier",

        // },

    ],



    "Modifiers" : 

    {

        "EnhanceModifier": 

        {

            "Duration": 10,

            "Buff": 

            {

                "BuffID": 500001,

                "IsOverrideDuration" : true

            }

        },



        "BurnBuffModifier": 

        {

            "Duration": -1,

            "Buff": 

            {

                "BuffID": 106001,

                "IsOverrideDuration" : true

            }

        },



        "InvincibleModifier": 

        {

            "ModifierStacking" : "Refresh",

            "Duration": 10,

            "OnAdded":

            [

                //已废弃，改用PushInvincible

                // {

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

                //     "SetInvincible": true,

                // },

                {

                    "$type": "MoleMole.AttachEffect",

                    "EffectPattern": "Eff_Anbi_Fire_Flame_Loop",

                    "Target": "Self",

                    "AttachEffectPosRot" : 

                    {

                        "CoordsOption" : "ReferTarget",

                        "TargetOption" : 

                        {

                                "$type" : "MoleMole.ConfigPosRotReferTarget",

                                "OffsetReferTarget" : "Target",

                                "AttachPoint" : "Weapon02",

                                "IsUseAttachPointPos" : true,

                                "IsUseAttachPointRotation" : true,

                        },

                        "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,

                        }

                    },

                },

            ]

        },



        "AbilitySpecialsModifier": 

        {

            "ModifierStacking": "MultipleRefresh",

            "Duration": -1,

            "OnAdded":

            [

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "RecoverSP",

                    "ParamType": "float",

                    "ModifyFunction": "Add",

                    "Param": 10,

                    "Predicates" :

                    [

                        {

                            "$type" : "MoleMole.ByAbilitySpecial",

                            "ParamName": "RecoverSP",

                            "ParamType": "float",

                            "CompareType": "Equal",

                            "Param" : 5,

                            "Target" : "Self",

                        },

                    ],

                    // "Predicates" : 

                    // [

                    //     {

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

                    //         "IsLocalAvatar": true,

                    //         "Target" : "Self",

                    //     },

                    // ]



                    // "Predicates" : 

                    // [

                    //     {

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

                    //         "ParamName": "RecoverSP",

                    //         "CompareType": "LessEqual",

                    //         "Param" : 999,

                    //         "ParamType": "float",

                    //     },

                    // ]

                },

            ],

        },



        "RecoverSPModifier":

        {

            "ModifierStacking" : "Unique",

            "Duration": -1,

            

            "ModifierMixins" :

            [

                {

                    "$type": "MoleMole.SmoothRecoverSPMixin",

                    "IgnoreRatio":false,

                    "PropertyItem" : 

                    {

                        "PropertyModifyFunction": "Add",

                        "Percentage": 0,

                        "Amount": 10,

                    },

                }

            ]

        },



        "DelayModifier": 

        {

            "ModifierStacking": "Unique",

            "Duration": 6,



            "DelayHandlers" :

            [

                {  

                    "DelayTime" : 1,

                    "TimeUpActions":

                    [

                        {

                            "$type": "MoleMole.FireEffect",

                            "EffectPattern": "Eff_Anbi_Electric_Discharge_Start",

                            "Target": "Self",

							"Predicates" : 

                            [

                                {

                                    "$type" : "MoleMole.ByAnimatorStateType",

                                    "IsNot" : false,

                                    "AnimatorStateType" : "Ground" //Ground、Sky、Floor

                                },

                            ],

                        },

                    ]

                },

                {  

                    "DelayTime" : 2,

                    "TimeUpActions":

                    [

                        {

                            "$type": "MoleMole.FireEffect",

                            "EffectPattern": "Eff_Anbi_Electric_Discharge_Start",

                            "Target": "Self",

							"Predicates" : 

                            [

                                {

                                    "$type" : "MoleMole.ByAnimatorStateType",

                                    "IsNot" : false,

                                    "AnimatorStateType" : "Sky" //Ground、Sky、Floor

                                },

                            ],

                        },

                    ]

                },

                {  

                    "DelayTime" : 5,

                    "TimeUpActions":

                    [

                        {

                            "$type": "MoleMole.FireEffect",

                            "EffectPattern": "Eff_Anbi_Electric_Discharge_Start",

                            "Target": "Self",

                        },

                    ]

                }

            ],

        },

    },



    "AbilitySpecials" : 

    {

        "RecoverSP" :

        {

            "Value" : 5,

        },

    }

}