{

    "AbilityName" : "Player_Default",

    "AbilityStacking":"Unique",



    "DefaultModifier" : 

    {

        "OnAdded" :

        [

            // {

            //     初始每个角色随机SP

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

            //     "ParamName":"AS_SpAmount",

            //     "ValueType":"int",

            //     "Expression":"rand(1,30)",

            // },

            // {

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

            //    "Target" : "Self",

            //    "Percentage": 0,

            //    "Amount": "%AS_SpAmount",

            //     "IgnoreRatio": false,

            // },

            {

                "$type": "MoleMole.HandleAnimatorZoneTagsAction",

                "Target" : "Self",

                "AnimatorStateTags": ["AudioNormal"] ,

                "IsAdd": true ,

            },

            //自动添加打击帧触发buff

            {

                "$type":"MoleMole.ApplyAbilityAction",

                "AbilityName":"Player_AnimEventBuff",

                "Target":"Self",

                "IsAutoTrigger":false

            },

            //自动添加破招脚本

            {

                "$type":"MoleMole.ApplyAbilityAction",

                "AbilityName":"Player_CounterHit",

                "Target":"Self",

                "IsAutoTrigger":false

            },

        ],



        "OnInteractingItem" :

        [

            {

                "$type" : "MoleMole.CameraZoomAction",

                "ZoomConfigKey" : "LevelItem_CamZoom_01",

                "Predicates":

                [

                    {

                        "$type": "MoleMole.ByInteractingItem",

                        "GoodID": 12,

                        "Target": "Self" 

                    }

                ]

            },

            {

                "$type" : "MoleMole.CameraStretchAction",

                "StretchConfigKey" : "LevelItem_CamStretch_01",

                "Predicates":

                [

                    {

                        "$type": "MoleMole.ByInteractingItem",

                        "GoodID": 12,

                        "Target": "Self" 

                    }

                ]

            }

        ],



        "OnLevelUp":

        [

            {

                "$type" : "MoleMole.CameraZoomEndAction",

                "DataPriority": "Character",

                "DataClearPriority":"SamePriority"

            },

            {

                "$type" : "MoleMole.CameraStretchEndAction",

                "DataPriority": "Character",

                "DataClearPriority":"SamePriority"

            },

            {

                "$type" : "MoleMole.AttackCameraShakeAction",

                "ShakeConfigKey" : "LevelItem_CamShake_01"

            },

        ],



        //完美闪避成功时

        "OnDodgeSuccess" :

        [

            {

                "$type" : "MoleMole.FireAudio",

                "AudioPattern" : "Play_sfx_counter_timeslow",

            },

            {

                "$type" : "MoleMole.TimeSlowByConfigKeyAction",

                "ConfigKey" : "PerfectEvade_TimeSlow",

                "IsGlobal" : true,

            },

            {

                "$type" : "MoleMole.SetAnimCtrlerParamAction",

                "ParamType" : 1,

                "ParamName" : "Trigger_PerfectEvade",

                "Target" : "Self",

                "BoolVal" : true,

            },

            //相机事件

            {

                "$type" : "MoleMole.CameraZoomAction",

                "ZoomConfigKey" : "PerfectEvade_CamZoom_01",

            },

            {

                "$type" : "MoleMole.CameraStretchAction",

                "StretchConfigKey" : "PerfectEvade_CamStretch_01"

            },

            {

                "$type" : "MoleMole.ProcessScreenEffectAction",

                "EffectType" : "Vignette",

                "EffectKey" : "PerfectEvade_Vignette_01",

            },

            {

                "$type" : "MoleMole.ProcessScreenEffectAction",

                "EffectType" : "ColorAdjustments",

                "EffectKey" : "PerfectEvade_ColorAdjustments_01",

            },

            {

                "$type" : "MoleMole.ProcessScreenEffectAction",

                "EffectType" : "RadialBlur",

                "EffectKey" : "PerfectEvade_RadialBlur_01",

            },

            //完美闪避特效（粒子）

            {

                "$type": "MoleMole.FireEffect",

                "EffectPattern": "Eff_PerfectEvade_01",

                "Target": "Self",

                "FireEffectPosRot" : 

                {

                    "CoordsOption" : "ReferTarget",

                    "TargetOption" : 

                    {

                        "$type" : "MoleMole.ConfigPosRotReferTarget",

                        "OffsetReferTarget" : "Self",

                        "AttachPoint" : "ChestPoint",

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

                    }

                },

            },

            //完美闪避特效（闪光）

            {

                "$type": "MoleMole.FireEffect",

                "EffectPattern": "Eff_PerfectEvade_01_Cube",

                "Target": "Self",

            },

            //完美闪避材质动画（外轮廓发光）

            {

                "$type" : "MoleMole.ModifyMaterialPropertyAction",

                "Target" : "Self",

                "Tag" : "Avatar_Common_MA_PerfectEvade_OverrideOutlineColor_01",

                "ApplyAllRenderers" : true,

                "key" : "Avatar_Common_MA_PerfectEvade_OverrideOutlineColor_01",

            },

            //完美闪避无敌时间Modifier

            {

                "$type":"MoleMole.ApplyModifier",

                "ModifierName":"PerfectEvadeModifier_Invincible",

                "Target": "Self",

            },

            // {

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

            //     "ModifierName":"PerfectEvadeModifier_DitherFade",

            //     "Target": "EnemyAllied",

            // },

        ],

        

        "OnSwitchInBegin": 

        [

            //角色语音播放：主动换入&死亡被动换入处理

            {

                "$type": "MoleMole.HandleAnimatorZoneTagsAction",

                "Target" : "Self",

                "AnimatorStateTags": ["AudioNormal"] ,

                "IsAdd": true ,

                "Predicates": 

                [

                    {

                        "$type": "MoleMole.ByAvatarSwitchType",

                        "Target": "Self",

                        "SwitchType": "Normal"

                    }

                ]

            },

            {

                "$type": "MoleMole.HandleAnimatorZoneTagsAction",

                "Target" : "Self",

                "AnimatorStateTags": ["AudioDead"] ,

                "IsAdd": false ,

                "Predicates": 

                [

                    {

                        "$type": "MoleMole.ByAvatarSwitchType",

                        "Target": "Self",

                        "SwitchType": "Normal"

                    }

                ]

            },

            {

                "$type": "MoleMole.HandleAnimatorZoneTagsAction",

                "Target" : "Self",

                "AnimatorStateTags": ["AudioNormal"] ,

                "IsAdd": false ,

                "Predicates": 

                [

                    {

                        "$type": "MoleMole.ByAvatarSwitchType",

                        "Target": "Self",

                        "SwitchType": "Dead"

                    }

                ]

            },

            {

                "$type": "MoleMole.HandleAnimatorZoneTagsAction",

                "Target" : "Self",

                "AnimatorStateTags": ["AudioDead"] ,

                "IsAdd": true ,

                "Predicates": 

                [

                    {

                        "$type": "MoleMole.ByAvatarSwitchType",

                        "Target": "Self",

                        "SwitchType": "Dead"

                    }

                ]

            }

        ]

    },



    "AbilityMixins" :

    [

        {

            "$type" : "MoleMole.AttachStateWithModifierMixin",

            "ConfigList":

            [

                {

                    "AnimatorStateName": "SwitchIn_Attack_Ex_Start",

                    "Target":"Self",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "WitchSlowDownModifier",

                    ],

                },

                {

                    "AnimatorStateName": "CoAttack_SwitchIn_Attack_Ex_Start",

                    "Target":"Self",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "WitchSlowDownModifier",

                    ],

                },

                {

                    "AnimatorStateName": "Walk_Start",

                    "Target":"Self",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList":

                    [

                        "WalkToRunModifier",

                    ],

                },

                {

                    "AnimatorStateName": "Walk_Loop",

                    "Target":"Self",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "IsLoop": true,

                    "ModifierNameList":

                    [

                        "WalkToRunModifier",

                    ],

                },

                {

                    "AnimatorStateName": "Idle",

                    "Target":"Self",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "IsLoop": true,

                    "ModifierNameList":

                    [

                        "AFKModifier",

                    ],

                },

                {

                    "AnimatorStateName": "Idle_01",

                    "Target":"Self",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "IsLoop": true,

                    "ModifierNameList":

                    [

                        "AFKModifier",

                    ],

                },

            ]

        }

    ],



    "Modifiers" : 

    {

        //魔女时间Mixin

        "WitchSlowDownModifier":

        {

            "ModifierStacking": "MultipleRefresh",

            "Duration": -1,



            "OnAdded":

            [

                {

                    "$type" : "MoleMole.InputMuteAction",

                    "Tag" : "Player_ExQTE_InputMute",

                    "CharacterMoveMute" : false,

                    "CharacterSkillMute" : false,

                    "CharacterSwitchMute" : false,

                    //"CharacterQTEMute" : false,

                    "CharacterBagMute" : false,

                    "CameraMoveMute" : false,

                },

                //移除完美闪避材质动画

                {

                    "$type" : "MoleMole.RemoveMaterialPropertyAction",

                    "Tag" : "Avatar_Common_MA_PerfectEvade_OverrideOutlineColor_01",

                    "Target" : "Self"

                }

            ],



            "OnRemoved":

            [

                {

                    "$type" : "MoleMole.InterruptInputEnableAction",

                    "Tag" : "Player_ExQTE_InputMute"

                }

            ],

            

            "ModifierMixins":

            [

                {

                    "$type" : "MoleMole.WitchSlowDownMixin",

                    "TotalDuration" : -1,

                    "SlowDownKey" : "ExQTE_CutScene_TimeSlow_01",

                    "ExcludeTargets" : "TeamAvatars",

                }

            ],

        },



        //走跑切换Modifier

        "WalkToRunModifier":

        {

            "ModifierStacking": "MultipleRefresh",

            "Duration": -1,



            "DelayHandlers":

            [

                {

                    "DelayTime": 2.0,

                    "TimeUpActions":

                    [

                        {

                            "$type" : "MoleMole.SetAnimCtrlerParamAction",

                            "ParamType" : 2,

                            "ParamName" : "Bool_WalkToRun",

                            "Target" : "Self",

                            "BoolVal" : true,

                        },

                    ]

                },

            ],



            "OnRemoved":

            [

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 2,

                    "ParamName" : "Bool_WalkToRun",

                    "Target" : "Self",

                    "BoolVal" : false,

                },

                {

                    "$type" : "MoleMole.FireEffect",

                    "EffectPattern" : "Eff_Common_Evade_Front",

                    "Target" : "Self",

                    "Predicates" :

                    [

                        {

                            "$type": "MoleMole.ByAnimatorStateNormalizedTime",

                            "AnimatorStateName": "Run_Loop",

                            "Target":"Self",

                            "LayerIndex": 0,

                            "NormalizedTimeLow" : 0.0,

                            "NormalizedTimeHigh" : 1.0,

                            "IsLoop": true,

                        },

                    ]

                }

            ]

        },



        //休闲待机Modifier

        "AFKModifier":

        {

            "ModifierStacking": "MultipleRefresh",

            "Duration": -1,



            "DelayHandlers":

            [

                {

                    "DelayTime": 12.0,

                    "TimeUpActions":

                    [

                        {

                            "$type" : "MoleMole.SetAnimCtrlerParamAction",

                            "ParamType" : 1,

                            "ParamName" : "Trigger_AFK",

                            "Target" : "Self",

                            "BoolVal" : true,

                        },

                    ]

                },

            ],

        },



        //完美闪避无敌时间Modifier

        "PerfectEvadeModifier_Invincible":

        {

            "ModifierStacking": "Refresh",

            "Duration": 0.33333,

            "IgnoreTimeScale" : true,



            "OnAdded":

            [

                {

                    "$type": "MoleMole.PushInvincibleAction",

                    "Tag": "Player_Default_PerfectEvade_Invincible"

                },

            ],



            "OnRemoved":

            [

                {

                    "$type": "MoleMole.PopInvincibleAction",

                    "Tag": "Player_Default_PerfectEvade_Invincible"

                },

            ]

        },



        //完美闪避FadeIn和FadeOut的Modifier

        "PerfectEvadeModifier_DitherFade":

        {

            "ModifierStacking": "Replace",

            "Duration": 0.5,

            "IgnoreTimeScale" : true,



            "OnAdded":

            [

                {

                    "$type": "MoleMole.DitherFadeAction",

                    "Target": "Self",

                    "DitherFadeType": "FadeOut",

                    "DitherFadeKey": "PerfectEvade_Dither_Alpha_FadeOut",

                    "Duration": 0.5,

                    "IngoreTimeScale": true,   

                }

            ],



            "OnRemoved":

            [

                {

                    "$type": "MoleMole.DitherFadeAction",

                    "Target": "Self",

                    "DitherFadeType": "FadeIn",

                    "DitherFadeKey": "PerfectEvade_Dither_Alpha_FadeIn",

                    "Duration": 0.7,

                    "IngoreTimeScale": true,

                }

            ]

        }

    },



    "AbilitySpecials": 

    {

        "AS_SpAmount": 

        {

            "Value": 0

        }, 

    }

}