{

  "AbilityName": "GoldenBomb_LoopEffect",

  // "DefaultModifier": {

  //   "OnAdded": [

  //     {

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

  //       "ModifierName": "GoldenBomb_IdleEffect",

  //       "Target": "Self"

  //     }

  //   ],

  // },

  "AbilityMixins": [

    {

      "$type": "MoleMole.AttachStateWithModifierMixin",

      "ConfigList": [

        {

          "AnimatorStateName": "Skill_Tanut_02_Loop",

          "LayerIndex": 0,

          "NormalizedTimeLow": 0.0,

          "NormalizedTimeHigh": 1.0,

          "IsLoop": true,

          "ModifierNameList": [

            "TanutModifier"

          ]

        },

        {

          "AnimatorStateName": "Skill_Tanut_02_Start",

          "LayerIndex": 0,

          "NormalizedTimeLow": 0.261,

          "NormalizedTimeHigh": 1.0,

          "IsLoop": true,

          "ModifierNameList": [

            "TanutModifier"

          ]

        },

        {

          "AnimatorStateName": "Skill_BeScared_Start",

          "LayerIndex": 0,

          "NormalizedTimeLow": 0.574,

          "NormalizedTimeHigh": 1.0,

          "IsLoop": false,

          "ModifierNameList": [

            "BeScaredStart"

          ]

        },

        {

          "AnimatorStateName": "Skill_BeScared_Loop",

          "LayerIndex": 0,

          "NormalizedTimeLow": 0,

          "NormalizedTimeHigh": 1.0,

          "IsLoop": true,

          "ModifierNameList": [

            "BeScaredLoop"

          ]

        },

        {

          "AnimatorStateName": "Skill_BeScared_End",

          "LayerIndex": 0,

          "NormalizedTimeLow": 0.11,

          "NormalizedTimeHigh": 1.0,

          "IsLoop": false,

          "ModifierNameList": [

            "BeScaredEnd"

          ]

        },

        //进入以下状态,清除自身的光照特效

        // {

        //   "LayerIndex": 0,

        //   "AnimatorStateName": "Born",

        //   "MaxFrameCountLow": false,

        //   "FrameCountLow": 0,

        //   "MaxFrameCountHigh": false,

        //   "FrameCountHigh": 60,

        //   "IsLoop": false,

        //   "ModifierNameList": [

        //     "RemoveIdleEffectModifier",

        //   ],

        // },

        // {

        //   "LayerIndex": 0,

        //   "AnimatorStateName": "LeaveLevel",

        //   "MaxFrameCountLow": false,

        //   "FrameCountLow": 184,

        //   "MaxFrameCountHigh": true,

        //   "FrameCountHigh": 0,

        //   "IsLoop": false,

        //   "ModifierNameList": [

        //     "RemoveIdleEffectModifier",

        //   ],

        // },

        // {

        //   "LayerIndex": 0,

        //   "AnimatorStateName": "Death_Leave",

        //   "MaxFrameCountLow": false,

        //   "FrameCountLow": 184,

        //   "MaxFrameCountHigh": true,

        //   "FrameCountHigh": 0,

        //   "IsLoop": false,

        //   "ModifierNameList": [

        //     "RemoveIdleEffectModifier",

        //   ],

        // },

        // {

        //   "LayerIndex": 0,

        //   "AnimatorStateName": "Common_Teleport",

        //   "MaxFrameCountLow": false,

        //   "FrameCountLow": 184,

        //   "MaxFrameCountHigh": true,

        //   "FrameCountHigh": 0,

        //   "IsLoop": false,

        //   "ModifierNameList": [

        //     "RemoveIdleEffectModifier",

        //   ],

        // },

        // {

        //   "LayerIndex": 0,

        //   "AnimatorStateName": "Common_Teleport_Invisible",

        //   "MaxFrameCountLow": false,

        //   "FrameCountLow": 0,

        //   "MaxFrameCountHigh": true,

        //   "FrameCountHigh": 0,

        //   "IsLoop": true,

        //   "ModifierNameList": [

        //     "RemoveIdleEffectModifier",

        //   ],

        // },

        // {

        //   "LayerIndex": 0,

        //   "AnimatorStateName": "Common_Teleport_Show",

        //   "MaxFrameCountLow": false,

        //   "FrameCountLow": 0,

        //   "MaxFrameCountHigh": false,

        //   "FrameCountHigh": 60,

        //   "IsLoop": false,

        //   "ModifierNameList": [

        //     "RemoveIdleEffectModifier",

        //   ],

        // },

        {

          "AnimatorStateName": "Run_Loop",

          "LayerIndex": 0,

          "NormalizedTimeLow": 0,

          "NormalizedTimeHigh": 1.0,

          "IsLoop": true,

          "ModifierNameList": [

            "RunLoop"

          ]

        },

        {

          "AnimatorStateName": "Run_Fast_Loop",

          "LayerIndex": 0,

          "NormalizedTimeLow": 0,

          "NormalizedTimeHigh": 1.0,

          "IsLoop": true,

          "ModifierNameList": [

            "RunLoop"

          ]

        },

        {

          "AnimatorStateName": "Skill_Run_Exhausted",

          "LayerIndex": 0,

          "MaxFrameCountLow": false,

          "FrameCountLow": 0,

          "MaxFrameCountHigh": false,

          "FrameCountHigh": 47,

          "IsLoop": false,

          "ModifierNameList": [

            "RunLoop"

          ]

        },

        {

          "AnimatorStateName": "Run_Start",

          "LayerIndex": 0,

          "MaxFrameCountLow": false,

          "FrameCountLow": 0,

          "MaxFrameCountHigh": true,

          "FrameCountHigh": 0,

          "IsLoop": false,

          "ModifierNameList": [

            "RunLoop"

          ]

        },

        {

          "AnimatorStateName": "Run_Fast_Start",

          "LayerIndex": 0,

          "MaxFrameCountLow": false,

          "FrameCountLow": 0,

          "MaxFrameCountHigh": true,

          "FrameCountHigh": 0,

          "IsLoop": false,

          "ModifierNameList": [

            "RunLoop"

          ]

        },

      ]

    }

  ],

  "Modifiers": {

    //除了特定几个状态外持续存在的modifer

    "GoldenBomb_IdleEffect": {

      "ModifierStacking": "Unique",

      "Duration": -1,

      "OnAdded": [

        {

          "$type": "MoleMole.AttachEffect",

          "EffectPattern": "Eff_Monster_GoldenBomb_Loop",

          "Target": "Self",

        },

        // {

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

        //   "LogStr": "加上光照"

        // }

      ],

      // "OnRemoved": [

      //   {

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

      //     "LogStr": "移除光照"

      //   }

      // ]

    },

    "TanutModifier": {

      "ModifierStacking": "Unique",

      "Duration": -1,

      "OnAdded": [

        {

          "$type": "MoleMole.AttachEffect",

          "EffectPattern": "Eff_Monster_GoldenBomb_Skill_04",

          "Target": "Self",

          "AttachEffectPosRot": {

            "CoordsOption": "ReferTarget",

            "TargetOption": {

              "$type": "MoleMole.ConfigPosRotReferTarget",

              "OffsetReferTarget": "Self",

              "AttachPoint": "RootPoint",

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

            }

          },

          // "EffectScale":

          // {

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

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

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

          // }

        },

        {

          "$type": "MoleMole.FireAudio",

          "AudioPattern": "Play_GoldenBomb_Taunt2_2_Loop",

        }

      ],

      "DelayHandlers": [

        {

          "DelayTime": 0.18,

          "TimeUpActions": [

            {

              "$type": "MoleMole.AttachEffect",

              "EffectPattern": "Eff_Monster_GoldenBomb_Skill_04_L",

              "Target": "Self",

              "AttachEffectPosRot": {

                "CoordsOption": "ReferTarget",

                "TargetOption": {

                  "$type": "MoleMole.ConfigPosRotReferTarget",

                  "OffsetReferTarget": "Self",

                  "AttachPoint": "HandPoint_L",

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

                }

              },

              // "EffectScale":

              // {

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

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

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

              // }

            },

            {

              "$type": "MoleMole.AttachEffect",

              "EffectPattern": "Eff_Monster_GoldenBomb_Skill_04_R",

              "Target": "Self",

              "AttachEffectPosRot": {

                "CoordsOption": "ReferTarget",

                "TargetOption": {

                  "$type": "MoleMole.ConfigPosRotReferTarget",

                  "OffsetReferTarget": "Self",

                  "AttachPoint": "HandPoint_R",

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

                }

              },

              // "EffectScale":

              // {

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

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

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

              // }

            }

          ]

        }

      ],

      "OnRemoved": [

        {

          "$type": "MoleMole.FireAudio",

          "AudioPattern": "Stop_GoldenBomb_Taunt2_2_Loop",

        }

      ],

    },

    "BeScaredStart": {

      "ModifierStacking": "Unique",

      "Duration": 2,

      "OnAdded": [

        {

          "$type": "MoleMole.AttachEffect",

          "EffectPattern": "Eff_Monster_GoldenBomb_BeScaredEnd",

          "Target": "Self",

          "AttachEffectPosRot": {

            "CoordsOption": "ReferTarget",

            "TargetOption": {

              "$type": "MoleMole.ConfigPosRotReferTarget",

              "OffsetReferTarget": "Self",

              "AttachPoint": "RootPoint",

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

            }

          },

        },

      ]

    },

    "BeScaredLoop": {

      "ModifierStacking": "Unique",

      "Duration": -1,

      "OnAdded": [

        {

          "$type": "MoleMole.AttachEffect",

          "EffectPattern": "Eff_Monster_GoldenBomb_BeScaredLoop",

          "Target": "Self",

          "AttachEffectPosRot": {

            "CoordsOption": "ReferTarget",

            "TargetOption": {

              "$type": "MoleMole.ConfigPosRotReferTarget",

              "OffsetReferTarget": "Self",

              "AttachPoint": "RootPoint",

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

          "AudioPattern": "Play_GoldenBomb_Bescard_3_Loop",

        }

      ],

      "OnRemoved": [

        {

          "$type": "MoleMole.FireAudio",

          "AudioPattern": "Stop_GoldenBomb_Bescard_3_Loop",

        }

      ]

    },

    "BeScaredEnd": {

      "ModifierStacking": "Unique",

      "Duration": -1,

      "OnAdded": [

        {

          "$type": "MoleMole.AttachEffect",

          "EffectPattern": "Eff_Monster_GoldenBomb_BeScaredEnd01",

          "Target": "Self",

          "AttachEffectPosRot": {

            "CoordsOption": "ReferTarget",

            "TargetOption": {

              "$type": "MoleMole.ConfigPosRotReferTarget",

              "OffsetReferTarget": "Self",

              "AttachPoint": "RootPoint",

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

            }

          },

        },

      ]

    },

    "RunLoop": {

      "ModifierStacking": "Unique",

      "Duration": -1,

      "OnAdded": [

        // {

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

        //   "AudioPattern": "Play_GoldenBomb_Run",

        // },

        {

          "$type": "MoleMole.AttachEffect",

          "EffectPattern": "Eff_Monster_GoldenBomb_Run_Loop",

          "Target": "Self",

          "AttachEffectPosRot": {

            "CoordsOption": "ReferTarget",

            "TargetOption": {

              "$type": "MoleMole.ConfigPosRotReferTarget",

              "OffsetReferTarget": "Self",

              "AttachPoint": "RootPoint",

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

            }

          },

        },

      ],

      // "OnRemoved": [

      //   {

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

      //     "AudioPattern": "Stop_GoldenBomb_Run",

      //   },

      // ]

    },

    "RemoveIdleEffectModifier": {

      "ModifierStacking": "Unique",

      "Duration": -1,

      "OnAdded": [

        {

          "$type": "MoleMole.RemoveModifier",

          "ModifierName": "GoldenBomb_IdleEffect",

          "Target": "Self"

        },

      ],

      "OnRemoved": [

        {

          "$type": "MoleMole.ApplyModifier",

          "ModifierName": "GoldenBomb_IdleEffect",

          "Target": "Self"

        }

      ]

    }

  }

}