{ "AbilityMixins": [ { "$type": "AttachZoneTagWithModifierMixin", "ConfigList": [ { "ModifierNameList": [ "OnMotorModifier" ], "ZoneTag": "SPBilly_MotorState" } ] }, { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_Special_01", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "ChargeModifier" ] }, { "AnimatorStateName": "Attack_Special_01_Drift_Start", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "DriftChargeModifier" ] }, { "AnimatorStateName": "Attack_Special_01_Drift_Loop", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "DriftChargeModifier" ] }, { "AnimatorStateName": "Attack_Special_01_Drift_Start_L", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "DriftChargeModifier" ] }, { "AnimatorStateName": "Attack_Special_01_Drift_Loop_L", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "DriftChargeModifier" ] } ], "IsSeam": false }, { "$type": "SkillBtnListenerMixin", "BtnListeners": [ { "BtnOperations": [ { "ListenerType": "Press", "TriggerActions": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "HoldEvade" ], "IsAdd": true, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_CustomHoldEvade", "ParamType": 2, "Target": "Self" } ] }, { "ListenerType": "PointUp", "TriggerActions": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "HoldEvade" ], "IsAdd": false, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_CustomHoldEvade", "ParamType": 2, "Target": "Self" } ] } ], "SkillBtnIndex": 1 } ] } ], "AbilityName": "SPBilly_MotorManager", "AbilitySpecials": { "AS_ChargeTime": { "Value": 0, "ValueType": "Float" }, "AS_ChargeTime_Max": { "Value": 0.65, "ValueType": "Float" }, "AS_HitCount": { "Value": 0, "ValueType": "Integer" }, "AS_HitCount_Max": { "Value": 10, "ValueType": "Integer" } }, "AbilityStacking": "Unique", "DefaultModifier": { }, "Modifiers": { "ChargeModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_FullCharged", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "FloatVal": "%AS_ChargeTime_Max", "ParamName": "AS_ChargeTime", "ParamType": 4, "Target": "Self" }, { "$type": "SetAbilitySpecialAction", "DoRefresh": true, "ModifyFunction": "Replace", "Param": 0, "ParamName": "AS_HitCount", "ParamType": "Integer" } ], "OnRemoved": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_ChargeTime_Max)*(1-specials(AS_HitCount)\/specials(AS_HitCount_Max))", "ParamName": "AS_ChargeTime", "Target": "Self", "ValueType": "Float" } ] }, "DriftChargeModifier": { "DelayHandlers": [ { "DelayTime": "%AS_ChargeTime", "TimeUpActions": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_FullCharged", "ParamType": 2, "Target": "Self" }, { "$type": "RemoveModifier", "ModifierName": "ChargeEffectModifier", "Target": "Self" } ] } ], "Duration": -1, "ModifierStacking": "Unique" }, "OnMotorModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsOnMotor", "ParamType": 2, "Target": "Self" } ], "OnRemoved": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsOnMotor", "ParamType": 2, "Target": "Self" } ] } }, "OnAbilityStart": [ { "$type": "SetAbilitySpecialAction", "DoRefresh": true, "ModifyFunction": "Add", "Param": 1, "ParamName": "AS_HitCount", "ParamType": "Integer" }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAbilitySpecial", "CompareType": "GreaterEqual", "Param": "%AS_HitCount_Max", "ParamName": "AS_HitCount", "ParamType": "Integer", "Target": "Self" } ], "SuccessActions": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_FullCharged", "ParamType": 2, "Target": "Self" }, { "$type": "SetAbilitySpecialAction", "DoRefresh": true, "ModifyFunction": "Replace", "Param": 0, "ParamName": "AS_HitCount", "ParamType": "Integer" } ] } ] }