{

    "AbilityName": "Spray_Default",

    "AbilityStacking": "Unique",

    "DefaultModifier": {

        "OnAdded": [

            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "Spray_Idle",

                "Target": "Self"

            },

            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "Spray_SFX",

                "Target": "Self",

            }

        ],

    },

    "Modifiers": {

        "Spray_Idle": {

            "ModifierStacking": "Unique",

            "Duration": -1, //ModifierMixin与Modifier同生共死

            "IgnoreTimeScale": false,

            "OnAdded": [

                {

                    "$type": "MoleMole.LogStringAction",

                    "LogStr": "Spray启动??!!"

                }

            ],

            "ModifierMixins": [

                {

                    "$type": "MoleMole.FieldRangeMixin",

                    "TotalDuration": 9999, //有效时长

                    //"StartEffectPattern": "Eff_Buddy_Field_Electric_Start",

                    // "LoopEffectPattern": "Eff_Buddy_Field_Electric_Start",

                    // "EndEffectPattern": "Eff_Buddy_Field_Electric_End",

                    "IsFollow": false,

                    //力场初始位置

                    "FieldInitPosRot": {

                        "CoordsOption": "Self",

                        "NeedRaycastGround": true,

                        //"RaycastGroundOffset": 0.0,

                        "TargetOption": {

                            "$type": "MoleMole.ConfigPosRotReferTarget",

                            "OffsetReferTarget": "Self",

                        },

                        "Offset": {

                            "PositionOffset": {

                                "x": 0.0,

                                "y": 0.0,

                                "z": 0.0

                            },

                            "AngleOffset": {

                                "x": 0.0,

                                "y": 0.0,

                                "z": 0.0

                            },

                            "IsUseRotationY": false,

                            "IsUseRotationXZ": false,

                        },

                    },

                    "ColliderConfig": {

                        "ColliderType": "Sphere",

                        "SphereColliderRadius": 5,

                        "ColliderPosOffset": {

                            "x": 0.0,

                            "y": 0.0,

                            "z": 0.0

                        },

                        "ColliderAngleOffset": {

                            "x": 0.0,

                            "y": 0.0,

                            "z": 0.0

                        },

                    },

                    //进入时

                    "FieldEnterActions": [

                        { //进入的若是敌人且当前未激动,则启动激活modify执行一系列操作

                            "$type": "MoleMole.ApplyModifier",

                            "ModifierName": "Spray_Active",

                            "Predicates": [

                                {

                                    "$type": "MoleMole.ByIsLocalAvatar",

                                    "Target": "Target",

                                    "IsLocalAvatar": true

                                },

                                {

                                    "$type": "MoleMole.ByAbilitySpecial",

                                    "ParamName": "IsActive",

                                    "Target": "Self",

                                    "ParamType": "float",

                                    "CompareType": "Equal",

                                    "Param": 0

                                },

                            ]

                        },

                        {

                            "$type": "MoleMole.LogStringAction",

                            "LogStr": "ENTER!!!!"

                        },



                    ],

                    //退出时

                    "FieldExitActions": [

                        // {

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

                        //     "LogStr": "FieldExit!!!!"

                        // },

                        // { //如果退出的是玩家,则无论是否激活都将玩家进入的变量设置为0

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

                        //     "Target": "Self",

                        //     "ParamName": "IsEnter",

                        //     "ParamType": "float",

                        //     "ModifyFunction": "Replace",

                        //     "Param": 0,

                        //     "Predicates": [

                        //         {

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

                        //             "Target": "Target",

                        //             "IsLocalAvatar": true

                        //         },

                        //     ]

                        // },

                        // { //添加关闭陷阱的倒计时countdown

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

                        //     "ModifierName": "Spray_UnactiveCountDown",

                        //     "Target": "Self",

                        //     "Predicates": [

                        //         {

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

                        //             "Target": "Target",

                        //             "IsLocalAvatar": true

                        //         },

                        //         {

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

                        //             "ParamName": "IsActive",

                        //             "Target": "Self",

                        //             "ParamType": "float",

                        //             "CompareType": "Equal",

                        //             "Param": 1

                        //         }

                        //     ]

                        // },

                    ],

                    //结束时

                    "FieldStopActions": [

                        {

                            "$type": "MoleMole.LogStringAction",

                            "LogStr": "END!!!!"

                        }

                    ]

                }

            ]

        },

        "Spray_Active": {

            "ModifierStacking": "Unique",

            "Duration": 0.1,

            "OnAdded": [

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Active",

                },

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "IsActive",

                    "ParamType": "float",

                    "ModifyFunction": "Replace",

                    "Param": 1

                },

                { //添加关闭陷阱的倒计时countdown

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "Spray_UnactiveCountDown",

                    "Target": "Self",

                },

            ]

        },

        "Spray_UnactiveCountDown": {

            //remove且陷阱内无玩家时将陷阱设置为关闭

            "ModifierStacking": "Refresh",

            "Duration": 4.5, //暂定4.5秒

            "OnRemoved": [

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Close",

                    "Target": "Self",

                    "Predicates": [

                        {

                            "$type": "MoleMole.ByAbilitySpecial",

                            "ParamName": "IsEnter",

                            "Target": "Self",

                            "ParamType": "float",

                            "CompareType": "Equal",

                            "Param": 0.0

                        }

                    ]

                },

                {

                    "$type": "MoleMole.SetAbilitySpecialAction",

                    "ParamName": "IsActive",

                    "ParamType": "float",

                    "ModifyFunction": "Replace",

                    "Param": 0

                },

            ]

        },

        "Spray_SFX": {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "OnAdded": [

                {

                    "$type": "MoleMole.AttachEffect",

                    "EffectPattern": "Buff_Electric_L",

                    "Target": "Self",

                    "AttachEffectPosRot": {

                        "CoordsOption": "ReferTarget",

                        "TargetOption": {

                            "$type": "MoleMole.ConfigPosRotReferTarget",

                            "OffsetReferTarget": "Self",

                            "AttachPoint": "MiddlePoint",

                            "IsUseAttachPointPos": true,

                            "IsUseAttachPointRotation": true,

                        },

                        "Offset": {

                            "PositionOffset": {

                                "x": 0.0,

                                "y": 0.0,

                                "z": 0.0

                            },

                            "AngleOffset": {

                                "x": 90.0,

                                "y": 0.0,

                                "z": 0.0

                            },

                            "IsUseRotationY": true,

                            "IsUseRotationXZ": true,

                        }

                    },

                },

            ],

        },

    },

    "AbilitySpecials": {

        "IsActive": { //标记陷阱是否处于激活状态。0为非激活，1为激活

            "Value": 0.0

        },

        "IsEnter": { //标记当前状态的陷阱范围内是否有玩家。0为无玩家，1为有玩家

            "Value": 0.0

        },

    },

}