{

    //处理炮台逻辑相关内容,特效相关全部放在Teller_StateEffect处理

    "AbilityName": "Teller_Default_Test",

    "AbilityStacking": "Unique",

    "DefaultModifier": 

    {

        "OnAdded": 

        [

            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "Teller_Idle",

                "Target": "Self"

            },

            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "LevelEndModier",

                "Target" : "Self"

            },

        ],

    },



    "Modifiers" : 

    {



        "Teller_Idle": 

        {

            "ModifierStacking": "Unique",

            "Duration":-1,

            "IgnoreTimeScale": false,

            

            "ModifierMixins": 

            [

                {

                    "$type": "MoleMole.FieldRangeMixin", 

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

                    

                    //"StartEffectPattern": "Eff_Buddy_Field_Electric_Start",

                   // "LoopEffectPattern": "Eff_Common_Alert_Rec_02",

                   // "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": true,

                            "IsUseRotationXZ": false,

                        },

                    },

                    

                    "ColliderConfig": 

                    {

                        "ColliderType": "Box",

                        "BoxColliderWidth": 3,

                        "BoxColliderHeight": 2,

                        "BoxColliderDistance": 3,

                        "ColliderPosOffset": 

                        {

                            "x": 0.0,

                            "y": 0.0,

                            "z": 1.0

                        },

                        "ColliderAngleOffset": 

                        {

                            "x": 0.0,

                            "y": 0.0,

                            "z": 0.0

                        },

                    },

                    //进入时

                    "FieldEnterActions": 

                    [

                        { //激活检票机

                             "$type": "MoleMole.ApplyModifier",

                             "ModifierName": "Teller_Active",

                             "Target": "Self",



                          "Predicates": 

                          [

                             {

                                 "$type": "MoleMole.ByIsLocalAvatar",

                                 "Target": "Target",

                                 "IsLocalAvatar": "true",

                             },

                             {

                                "$type": "MoleMole.ByLevelEnd",

                                "LevelEnd": "false"

                             }

                          ]

                        },

                    ],



                }

            ]

        },





        

        "Teller_Active": 

        {

            //激活,释放打击帧,并刷新陷阱CD倒计时

            "ModifierStacking": "Unique",

            "Duration": 2,



            "OnAdded":  

            [

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 1,

                    "ParamName" : "Trigger_Attack",

                    "Target" : "Self",

                    "BoolVal" : true,

                },

                {

                    //移除idle

                    "$type": "MoleMole.RemoveModifier",

                    "ModifierName": "Teller_Idle",

                    "Target": "Self"

                },

            ],



            "OnRemoved": 

            [

                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "Teller_CD",

                    "Target": "Self",

                }

            ]

        },

        "Teller_CD": 

        {

            //维持5秒cd状态后再回到idle

            "ModifierStacking": "Refresh",

            "Duration": 4, 

            "OnAdded":

            [

                 //让检票器进入cd的状态

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 3,

                    "ParamName" : "CoolDownType",

                    "Target" : "Self",

                    "IntVal" : 2,

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 2,

                    "ParamName": "Bool_IsCoolDown",

                    "Target": "Self",

                    "BoolVal": true,

                },

                // {

                //     "$type": "MoleMole.LogStringAction", //打Log调试

                //     "LogStr": "进入CD!!!"

                // },

            ],



            "OnRemoved": 

            [

                //让检票器进入cd的状态

                {

                    "$type" : "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType" : 3,

                    "ParamName" : "CoolDownType",

                    "Target" : "Self",

                    "IntVal" : 2,

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 2,

                    "ParamName": "Bool_IsCoolDown",

                    "Target": "Self",

                    "BoolVal": false,

                },



                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "Teller_End",

                    "Target": "Self",



                },

                // {

                //     "$type": "MoleMole.LogStringAction", //打Log调试

                //     "LogStr": "进入END???"

                // },

            ]

        },



        "Teller_End":

        {

            "Duration": 1.5, 



            "OnAdded": 

            [

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 2,

                    "ParamName": "Idle",

                    "Target": "Self",

                    "BoolVal": false,

                },

            ],



            "OnRemoved": 

            [



                // {

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

                //     "ParamType": 2,

                //     "ParamName": "Idle",

                //     "Target": "Self",

                //     "BoolVal": true,

                // },



                // {

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

                //     "ParamType": 2,

                //     "ParamName": "End",

                //     "Target": "Self",

                //     "BoolVal": false,

                // },

                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "Teller_Idle",

                    "Target": "Self",

                }

            ]

        },

        "LevelEndModier":

        {

            "ModifierStacking": "Unique",

            "Duration":-1,

            "IgnoreTimeScale": false,

            "OnLevelEndNodeInvoke":

            [

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 2,

                    "ParamName": "End",

                    "Target": "Self",

                    "BoolVal": true,

                },

                // {

                //     "$type": "MoleMole.LogStringAction", //打Log调试

                //     "LogStr": "levelend!!!"

                // }

            ]

        }

    }

}