{ //比利天赋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 } } }