{

    "AbilityName": "FirmBox_ExLarge_02_Default",

    "AbilityStacking": "Unique",

    "DefaultModifier": 

    {

        "OnAdded": 

        [

            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "Box_BeHit",

                "Target": "Self"

            },



            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "Box_BuffModifier",

                "Target": "Self"

            }

        ]

    },

    "Modifiers": 

    {

         //屏蔽伤害

         "Box_BuffModifier":

         {

             "Duration" : -1,

             "Buff" : 

             {

                 "BuffID" : 121001,   //StunBuff

                 "IsOverrideDuration" : true

             }

         },

         

        //被击时判定玩家与箱子的距离

        "Box_BeHit": 

        {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "OnBeingHit": 

            [

                {   

                    "Predicates":

                    [

                        {

                            "$type": "MoleMole.ByDistance",

                            "Distance": 10,

                            "Target": "Self",

                            "CompareType": "LessEqual",

                            "CompareTarget": "LocalAvatar"

                        }

                    ],

                



                

                    "$type": "MoleMole.FireEffect",

                    "EffectPattern": "Eff_Device_Box_Explode_Hit_07",

                    "Target": "Self"



                    // "AttachEffectPosRot": 

                    // {

                    //     "CoordsOption": "ReferTarget",

                    //     "TargetOption": 

                    //     {

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

                    //         "OffsetReferTarget": "Self",

                    //         "AttachPoint": "EffPoint",

                    //         "IsUseAttachPointPos": true,

                    //         "IsUseAttachPointRotation": true

                    //     },

                    //     "Offset": 

                    //     {

                    //         "PositionOffset": 

                    //         {

                    //             "x": 0,

                    //             "y": 0.0,

                    //             "z": 0

                    //         },

                    //         "AngleOffset": 

                    //         {

                    //             "x": 0.0,

                    //             "y": 0.0,

                    //             "z": 0.0

                    //         },

                    //         "IsUseRotationY": true,

                    //         "IsUseRotationXZ": true

                    //     }

                    // }

                },

             //被击第一次

             {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "Box_BeHitOnce",

                "Target": "Self",



                "Predicates": [

                    {

                        "$type": "MoleMole.ByAbilitySpecial",

                        "ParamName": "BeHitCount",

                        "Target": "Self",

                        "ParamType": "float",

                        "CompareType": "Equal",

                        "Param": 0.0

                    },

                    {

                        "$type": "MoleMole.ByAbilitySpecial",

                        "ParamName": "BeHitCoolDown",

                        "Target": "Self",

                        "ParamType": "float",

                        "CompareType": "Equal",

                        "Param": 0.0

                    },

                    {   

                        "$type" : "MoleMole.ByDistance",

                        "Distance" : 10,

                        "Target" : "Self",

                        "CompareType" : "LessEqual",

                        "CompareTarget" : "LocalAvatar"

                    }

                ]

            },             

            //被击第二次

            {

                "$type": "MoleMole.ApplyModifier",

                "ModifierName": "Box_BeHitTwice",

                "Target": "Self",



               "Predicates": [

                   {

                       "$type": "MoleMole.ByAbilitySpecial",

                       "ParamName": "BeHitCount",

                       "Target": "Self",

                       "ParamType": "float",

                       "CompareType": "Equal",

                       "Param": 1.0

                   },

                   {

                    "$type": "MoleMole.ByAbilitySpecial",

                    "ParamName": "BeHitCoolDown",

                    "Target": "Self",

                    "ParamType": "float",

                    "CompareType": "Equal",

                    "Param": 0.0

                   },

                   {   

                       "$type" : "MoleMole.ByDistance",

                       "Distance" : 10,

                       "Target" : "Self",

                       "CompareType" : "LessEqual",

                       "CompareTarget" : "LocalAvatar"

                   }

               ]

           },



           //被击第三次

           {

              "$type": "MoleMole.ApplyModifier",

              "Target": "Self",

              "ModifierName": "BoxTypeModifier",



              "Predicates": 

              [

                  {

                      "$type": "MoleMole.ByAbilitySpecial",

                      "ParamName": "BeHitCount",

                      "Target": "Self",

                      "ParamType": "float",

                      "CompareType": "Equal",

                      "Param": 2.0

                  },

                  {

                    "$type": "MoleMole.ByAbilitySpecial",

                    "ParamName": "BeHitCoolDown",

                    "Target": "Self",

                    "ParamType": "float",

                    "CompareType": "Equal",

                    "Param": 0.0

                  },

                  {   

                      "$type" : "MoleMole.ByDistance",

                      "Distance" : 10,

                      "Target" : "Self",

                      "CompareType" : "LessEqual",

                      "CompareTarget" : "LocalAvatar"

                  }

              ]

          }

        

        ]

    },



    "Box_BeHitOnce": 

    {

        "ModifierStacking": "Unique",

        "Duration": 0.1,

        "OnAdded": 

        [

            {

                "$type": "MoleMole.SetAbilitySpecialAction",

                "ParamName": "BeHitCount",

                "ParamType": "float",

                "ModifyFunction": "Replace",

                "Param": 1.0

            },



            {

                "$type": "MoleMole.SetAbilitySpecialAction",

                "ParamName": "BeHitCoolDown",

                "ParamType": "float",

                "ModifyFunction": "Replace",

                "Param": 1.0

            }



            // {

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

            //     "LogStr": "FirstHit!!!"

            // }

            

        ],



        "OnRemoved": 

        [

            {

                "$type": "MoleMole.SetAbilitySpecialAction",

                "ParamName": "BeHitCoolDown",

                "ParamType": "float",

                "ModifyFunction": "Replace",

                "Param": 0.0

            }

        ]

    },



    "Box_BeHitTwice": 

    {

        "ModifierStacking": "Unique",

        "Duration": 0.1,

        "OnAdded": 

        [

            {

                "$type": "MoleMole.SetAbilitySpecialAction",

                "ParamName": "BeHitCount",

                "ParamType": "float",

                "ModifyFunction": "Replace",

                "Param": 2.0

            },



            {

                "$type": "MoleMole.SetAbilitySpecialAction",

                "ParamName": "BeHitCoolDown",

                "ParamType": "float",

                "ModifyFunction": "Replace",

                "Param": 1.0

            }



            // {

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

            //     "LogStr": "SecondHit!!!"

            // }

        ],



        "OnRemoved": 

        [

            {

                "$type": "MoleMole.SetAbilitySpecialAction",

                "ParamName": "BeHitCoolDown",

                "ParamType": "float",

                "ModifyFunction": "Replace",

                "Param": 0.0

            }

        ]

    },

        //判定箱子的类型

        "BoxTypeModifier": 

        {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "OnAdded": [

                // {

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

                //     "LogStr": "BoxType!!!"

                // },

                {



                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "BoxModifier",

                    "Target": "Self",

                    "Predicates": [

                        {

                            "$type": "MoleMole.ByTags",

                            "Target": "Self",

                            "TagList": [

                                "Box"

                            ]

                        }

                    ]

                },

                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "BoxMiddle01Modifier",

                    "Target": "Self",

                    "Predicates": [

                        {

                            "$type": "MoleMole.ByTags",

                            "Target": "Self",

                            "TagList": [

                                "BoxMiddle01"

                            ]

                        }

                    ]

                },

                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "BoxMiddle02Modifier",

                    "Target": "Self",

                    "Predicates": [

                        {

                            "$type": "MoleMole.ByTags",

                            "Target": "Self",

                            "TagList": [

                                "BoxMiddle02"

                            ]

                        }

                    ]

                },

                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "BoxLarge01Modifier",

                    "Target": "Self",

                    "Predicates": [

                        {

                            "$type": "MoleMole.ByTags",

                            "Target": "Self",

                            "TagList": [

                                "BoxLarge01"

                            ]

                        }

                    ]

                },

                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "BoxLarge02Modifier",

                    "Target": "Self",

                    "Predicates": [

                        {

                            "$type": "MoleMole.ByTags",

                            "Target": "Self",

                            "TagList": [

                                "BoxLarge02"

                            ]

                        }

                    ]

                },

                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "BoxExLarge01Modifier",

                    "Target": "Self",

                    "Predicates": [

                        {

                            "$type": "MoleMole.ByTags",

                            "Target": "Self",

                            "TagList": [

                                "BoxExLarge01"

                            ]

                        }

                    ]

                },

                {

                    "$type": "MoleMole.ApplyModifier",

                    "ModifierName": "BoxExLarge02Modifier",

                    "Target": "Self",

                    "Predicates": [

                        {

                            "$type": "MoleMole.ByTags",

                            "Target": "Self",

                            "TagList": [

                                "BoxExLarge02"

                            ]

                        }

                    ]

                }

            ]

        },

        "BoxModifier": {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "Target": "Self",

            "OnAdded": [

                {

                    "$type": "MoleMole.FireEffect",

                    "EffectPattern": "Eff_Device_Box_Explode_08",

                    "Target": "Self",

                    // "EffectScale":

                    // {

                    //     "OverrideScaleX" : 1.3,//特效X轴缩放

                    //     "OverrideScaleY" : 1.3,//特效Y轴缩放

                    //     "OverrideScaleZ" : 1.3,//特效Z轴缩放

                    // }

                },

                {

                    "$type": "MoleMole.FireAudio",

                    "AudioPattern": "Play_WoodBox_Break_Light"

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Die",

                    "Target": "Self",

                    "BoolVal": true

                }

            ]

        },

        "BoxMiddle01Modifier": {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "Target": "Self",

            "OnAdded": [

                {

                    "$type": "MoleMole.FireEffect",

                    "EffectPattern": "Eff_Device_Box_Explode_09",

                    "Target": "Self",

                    // "EffectScale":

                    // {

                    //     "OverrideScaleX" : 1.3,//特效X轴缩放

                    //     "OverrideScaleY" : 1.3,//特效Y轴缩放

                    //     "OverrideScaleZ" : 1.3,//特效Z轴缩放

                    // }

                },

                {

                    "$type": "MoleMole.FireAudio",

                    "AudioPattern": "Play_WoodBox_Break_Mid"

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Die",

                    "Target": "Self",

                    "BoolVal": true

                }

            ]

        },

        "BoxMiddle02Modifier": {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "Target": "Self",

            "OnAdded": [

                {

                    "$type": "MoleMole.FireEffect",

                    "EffectPattern": "Eff_Device_Box_Explode_10",

                    "Target": "Self",

                    // "EffectScale":

                    // {

                    //     "OverrideScaleX" : 1.3,//特效X轴缩放

                    //     "OverrideScaleY" : 1.3,//特效Y轴缩放

                    //     "OverrideScaleZ" : 1.3,//特效Z轴缩放

                    // }

                },

                {

                    "$type": "MoleMole.FireAudio",

                    "AudioPattern": "Play_WoodBox_Break_Mid"

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Die",

                    "Target": "Self",

                    "BoolVal": true

                }

            ]

        },

        "BoxLarge01Modifier": {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "Target": "Self",

            "OnAdded": [

                {

                    "$type": "MoleMole.FireEffect",

                    "EffectPattern": "Eff_Device_Box_Explode_11",

                    "Target": "Self",

                    // "EffectScale":

                    // {

                    //     "OverrideScaleX" : 1.3,//特效X轴缩放

                    //     "OverrideScaleY" : 1.3,//特效Y轴缩放

                    //     "OverrideScaleZ" : 1.3,//特效Z轴缩放

                    // }

                },

                {

                    "$type": "MoleMole.FireAudio",

                    "AudioPattern": "Play_WoodBox_Break_Heavy"

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Die",

                    "Target": "Self",

                    "BoolVal": true

                }

            ]

        },

        "BoxLarge02Modifier": {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "Target": "Self",

            "OnAdded": [

                {

                    "$type": "MoleMole.FireEffect",

                    "EffectPattern": "Eff_Device_Box_Explode_12",

                    "Target": "Self",

                    // "EffectScale":

                    // {

                    //     "OverrideScaleX" : 1.3,//特效X轴缩放

                    //     "OverrideScaleY" : 1.3,//特效Y轴缩放

                    //     "OverrideScaleZ" : 1.3,//特效Z轴缩放

                    // }

                },

                {

                    "$type": "MoleMole.FireAudio",

                    "AudioPattern": "Play_WoodBox_Break_Heavy"

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Die",

                    "Target": "Self",

                    "BoolVal": true

                }

            ]

        },

        "BoxExLarge01Modifier": {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "Target": "Self",

            "OnAdded": [

                {

                    "$type": "MoleMole.FireEffect",

                    "EffectPattern": "Eff_Device_Box_Explode_13",

                    "Target": "Self",

                    // "EffectScale":

                    // {

                    //     "OverrideScaleX" : 1.3,//特效X轴缩放

                    //     "OverrideScaleY" : 1.3,//特效Y轴缩放

                    //     "OverrideScaleZ" : 1.3,//特效Z轴缩放

                    // }

                },

                {

                    "$type": "MoleMole.FireAudio",

                    "AudioPattern": "Play_WoodBox_Break_Heavy"

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Die",

                    "Target": "Self",

                    "BoolVal": true

                }

            ]

        },

        "BoxExLarge02Modifier": {

            "ModifierStacking": "Unique",

            "Duration": -1,

            "Target": "Self",

            "OnAdded": [

                {

                    "$type": "MoleMole.FireEffect",

                    "EffectPattern": "Eff_Device_Box_Explode_14",

                    "Target": "Self",

                    // "EffectScale":

                    // {

                    //     "OverrideScaleX" : 1.3,//特效X轴缩放

                    //     "OverrideScaleY" : 1.3,//特效Y轴缩放

                    //     "OverrideScaleZ" : 1.3,//特效Z轴缩放

                    // }

                },

                {

                    "$type": "MoleMole.FireAudio",

                    "AudioPattern": "Play_WoodBox_Break_Heavy"

                },

                {

                    "$type": "MoleMole.SetAnimCtrlerParamAction",

                    "ParamType": 1,

                    "ParamName": "Trigger_Die",

                    "Target": "Self",

                    "BoolVal": true

                }

            ]

        }

    },



    "AbilitySpecials": 

    {

        "BeHitCount": 

        { //标记箱子的被击次数

            "Value": 0.0

        },

        "BeHitCoolDown": 

        { //是否处于被击冷却中,1为冷却中,0为非冷却

            "Value": 0.0

        }

    }

}