{ "AbilityMixins": [ { "$type": "ActwithStateFrameMixin", "ConfigList": [ { "ActionList": [ { "$type": "RemoveModifier", "ModifierName": "BlockingStateModifier" } ], "AnimatorStateName": "Attack_Special_02_Start", "ForceTriggerOnTransitionIn": false, "ForceTriggerOnTransitionOut": true, "Frame": 20, "IsLoop": false, "LayerIndex": 0 }, { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "BlockingStateModifier" } ], "AnimatorStateName": "Attack_Special_03_Perfect_Start", "ForceTriggerOnTransitionIn": true, "ForceTriggerOnTransitionOut": false, "Frame": 0, "IsLoop": false, "LayerIndex": 0 }, { "ActionList": [ { "$type": "RemoveModifier", "ModifierName": "BlockingStateModifier" } ], "AnimatorStateName": "Attack_Special_03_Perfect_Start", "ForceTriggerOnTransitionIn": false, "ForceTriggerOnTransitionOut": true, "Frame": 20, "IsLoop": false, "LayerIndex": 0 } ] }, { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_Special_HoldAttack_Loop_Move", "FrameCountHigh": 14, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "BlockingStateModifier" ] }, { "AnimatorStateName": "Attack_Special_HoldAttack_Move", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "BlockingStateModifier" ] } ], "IsSeam": false } ], "AbilityName": "SPBilly_BlockManager", "AbilityStacking": "Unique", "DefaultModifier": { "OnHitOther": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByApplyPredicate", "PredicateName": "PerfectBlockCheck" } ], "SuccessActions": [ { "$type": "CameraStretchAction", "StretchConfigKey": "SPBilly_BlockSuccess_CamStretch_01" }, { "$type": "GamepadRumbleAction", "GamepadRumbleKey": "Longinus_GamepadRumble_E_BlockSuccess" }, { "$type": "DamageByAttackPropertyAction", "AnimEventID": "SPBilly_Attack_Drift_PerfectBlock_AttackProperty_01", "Target": "Other" }, { "$type": "AttackCameraShakeAction", "ShakeConfigKey": "SPBiily_BlockPerfect_CamShake_E_01" }, { "$type": "ApplyModifier", "ModifierName": "BlockCDModifier" } ] } ] }, "Modifiers": { "BlockCDModifier": { "Duration": 0.5, "ModifierStacking": "Unique" }, "BlockDelayCounter": { "Duration": 0.175, "ModifierStacking": "Unique", "OnRemoved": [ { "$type": "SetAnimCtrlerParamAction", "ParamName": "Trigger_IsAutoBlock", "ParamType": 1, "Target": "Self" } ] }, "BlockRewardModifier": { "Duration": 2.6, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "PushInvincibleAction", "Tag": "SPBilly_AutoBlock", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsInBlockSuccess", "ParamType": 2, "Target": "Self" } ], "OnRemoved": [ { "$type": "PopInvincibleAction", "Tag": "SPBilly_AutoBlock", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsInBlockSuccess", "ParamType": 2, "Target": "Self" } ] }, "BlockSuccessModifier": { "Duration": 3, "ModifierStacking": "Unique" }, "BlockingStateModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ ], "OnBeingHit": [ { "$type": "SetAnimCtrlerParamAction", "ParamName": "Trigger_ToBlockPose", "ParamType": 1, "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "Target": "Self" }, { "$type": "AttackCameraShakeAction", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "ShakeConfigKey": "SPBiily_BlockPerfect_CamShake_E_02" }, { "$type": "FireEffect", "EffectPattern": "Eff_Longinus_Guard_Hit_01_Boom", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "Target": "Caster" }, { "$type": "SendCustomEvent", "EventKey": "SPBilly_BlockSuccess", "IsGlobal": false, "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "Target": "Self" }, { "$type": "HandleAnimEvent", "AnimEventID": "SPBilly_Attack_PerfectBlock_AttackProperty_01", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ] }, { "$type": "ModifyAttackDataAction", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "PropertyKey": "Actor_NoHitEffect", "PropertyValue": 1, "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "BlockSuccessModifier", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "BlockRewardModifier", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ] }, { "$type": "ApplyModifier", "ModifierName": "BlockDelayCounter", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ] }, { "$type": "ApplyModifier", "ModifierName": "InvincibleBuffModifier_Evade", "Predicates": [ { "$type": "ByApplyPredicate", "PredicateName": "AutoBlockCheck" }, { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "Target": "Self" }, { "$type": "CameraLockOnAction", "IsLockPermanently": false, "IsSimpleNormalLock": true, "Predicates": [ { "$type": "ByApplyPredicate", "PredicateName": "AutoBlockCheck" }, { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "Target": "Target" }, { "$type": "SendCustomEvent", "EventKey": "BlockSuccess_To_Move", "IsGlobal": false, "Predicates": [ { "$type": "ByApplyPredicate", "PredicateName": "AutoBlockCheck" }, { "$type": "ByHasModifier", "ModifierNameList": [ "BlockingStateModifier_Auto" ], "Target": "Self" }, { "$type": "ByIsInZoneTags", "Tags": [ "AttackNormal" ] }, { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByRelativeCampType", "Relationship": "Enemy", "Target": "Other" } ], "Target": "Self" } ] } }, "Predicates": { "PerfectBlockCheck": { "Predicates": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "SPBilly_Attack_Special_02_Start_AttackProperty_01", "SPBilly_Attack_Special_03_Perfect_Start_AttackProperty_01_01", "SPBilly_Attack_Special_03_Perfect_Start_AttackProperty_01_02", "SPBilly_Attack_Special_03_Perfect_Start_AttackProperty_01_03", "SPBilly_Attack_Special_03_Perfect_Start_AttackProperty_01_04" ] }, { "$type": "ByHasModifier", "ModifierNameList": [ "BlockSuccessModifier" ], "Target": "Self" }, { "$type": "ByNot", "Predicates": [ { "$type": "ByHasModifier", "ModifierCaster": "Self", "ModifierNameList": [ "BlockCDModifier" ] } ], "Target": "Self" } ] } } }