{

	//比利天赋03：Counter伤害提升50%；且普攻中站立射击衔接至蹲姿射击的位移动作也将视为闪避，不会受到伤害，若完美闪避则自动释放Counter

	"AbilityName": "Billy_Talent_03",

	"AbilityStacking": "Unique",



	"DefaultModifier": 

	{

		"OnAdded": 

		[

			{

				"$type": "MoleMole.SetAnimCtrlerParamAction",

				"ParamType": 2,

				"ParamName": "Bool_Talent_03",

				"Target": "Self",

				"BoolVal": true

			},

			{

				"$type": "MoleMole.HandleAnimatorZoneTagsAction",

				"Target": "Self",

				"AnimatorStateTags": 

				[

					"BillyTalent03_CreateDodgeDummy"

				],

				"IsAdd": true

			}

		],



		//完美闪避时点亮状态机参数（由于及时清理，因此简化配置，不再StateName进行Predicate）

		"OnDodgeSuccess": 

		[

			{

				"$type": "MoleMole.SetAnimCtrlerParamAction",

				"ParamType": 2,

				"ParamName": "Bool_Talent03Counter",

				"Target": "Self",

				"BoolVal": true

			}

		],



		//完美闪避反击伤害提升（去除了支援攻击，天赋02中有对状态机参数作过处理，支援攻击结束后还原Int_SwitchType_In）

		"OnHitOther":

		[

			{

				"$type": "MoleMole.ModifyAttackDataAction",

				"Target" : "Self",

				"PropertyKey": "Actor_AddedDamageRatio", 

				"PropertyValue": "%AS_AddedDamageRatio_Talent_03", 

				"Predicates": 

				[

					{

						"$type": "MoleMole.ByAnimCtrlerParam",

						"ParamType": 3,

						"ParamName": "Int_SwitchType_In",

						"CompareType": "NotEqual",

						"IntVal": 30

					},

					{   

						"$type" : "MoleMole.ByAnimTagList",

						"TagList" : 

						[

							"Counter"

						]

					}

				]

			}

		]

	},



	//具体效果通过状态机以及AnimatorEvent进行控制

	//动画事件中：额外创建DodgeDummy

	//状态机中：衔接至Counter动作

	//无敌时间点：后闪0~42，前闪0~40，左右闪0~40（衔接进Counter的时间点）

	//创建DodgeDummy时间点：前闪第7帧，后闪第7帧，左右闪第8帧

	"AbilityMixins": 

	[

		{

			"$type": "MoleMole.AttachStateWithModifierMixin",

			"ConfigList": 

			[

				//添加额外的无敌区间

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_B_01",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": false,

					"FrameCountHigh": 42,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_Invincible",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_B_02",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": false,

					"FrameCountHigh": 42,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_Invincible",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_F_01",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": false,

					"FrameCountHigh": 40,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_Invincible",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_F_02",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": false,

					"FrameCountHigh": 40,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_Invincible",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_L_01",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": false,

					"FrameCountHigh": 40,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_Invincible",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_L_02",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": false,

					"FrameCountHigh": 40,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_Invincible",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_R_01",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": false,

					"FrameCountHigh": 40,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_Invincible",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_R_02",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": false,

					"FrameCountHigh": 40,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_Invincible",

					], 

				},

				//对Tag进行管理

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_B_01",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_AddTag",

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_B_02",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_AddTag",

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_F_01",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_AddTag",

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_F_02",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_AddTag",

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_L_01",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_AddTag",

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_L_02",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_AddTag",

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_R_01",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_AddTag",

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Normal_03_Start_02_R_02",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_AddTag",

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

				{

					"LayerIndex": 0,

					"AnimatorStateName": "Attack_Counter",

					"MaxFrameCountLow": false,

					"FrameCountLow": 0,

					"MaxFrameCountHigh": true,

					"FrameCountHigh": 0,

					"IsLoop": false,

					"ModifierNameList":

					[

						"BillyTalent03Modifier_RemoveTag",

					], 

				},

			]

		}

	],



	"Modifiers": 

	{

		"BillyTalent03Modifier_Invincible": 

		{

			"ModifierStacking": "Unique",

			"Duration": -1,

			"IgnoreTimeScale": false,



			"OnAdded": 

			[

				{

					"$type": "MoleMole.PushInvincibleAction",

					"Tag": "BillyTalent03_Invincible"

				},

				//顺便清一手状态机参数

				{

					"$type": "MoleMole.SetAnimCtrlerParamAction",

					"ParamType": 2,

					"ParamName": "Bool_Talent03Counter",

					"Target": "Self",

					"BoolVal": false

				}

			],



			"OnRemoved": 

			[

				{

					"$type": "MoleMole.PopInvincibleAction",

					"Tag": "BillyTalent03_Invincible"

				},

			]

		},



		//临时配置方案：在触发时打上Tag，在结束后去除

		//等功能开发完毕后，勾选对应选项执行事件即可，不再需要该Tag（强制执行被TransitionOffset动画事件）

		"BillyTalent03Modifier_AddTag": 

		{

			"ModifierStacking": "Unique",

			"Duration": -1,

			"IgnoreTimeScale": false,



			"OnAdded": 

			[

				{

					"$type": "MoleMole.HandleAnimatorZoneTagsAction",

					"Target": "Self",

					"AnimatorStateTags": 

					[

						"BillyTalent03_CounterEvent"

					],

					"IsAdd": true

				}

			],

		},



		"BillyTalent03Modifier_RemoveTag": 

		{

			"ModifierStacking": "Unique",

			"Duration": -1,

			"IgnoreTimeScale": false,



			"OnRemoved": 

			[

				{

					"$type": "MoleMole.HandleAnimatorZoneTagsAction",

					"Target": "Self",

					"AnimatorStateTags": 

					[

						"BillyTalent03_CounterEvent"

					],

					"IsAdd": false

				}

			]

		},

	},



	"AbilitySpecials": 

	{

		//伤害提升

		"AS_AddedDamageRatio_Talent_03": 

		{

			"Value": 0.5

		}

	}

}