448 lines
12 KiB
JSON
448 lines
12 KiB
JSON
{
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |