{ "AbilityMixins": [ { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_Pre", "FrameCountHigh": 0, "FrameCountLow": 490, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "SearchSwordModifier" ], "Target": "Self" }, { "AnimatorStateName": "Attack_CoAttack_Pre", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "SearchSwordModifier" ], "Target": "Self" }, { "AnimatorStateName": "Attack_CoAttack_Pre", "FrameCountHigh": 35, "FrameCountLow": 10, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "AttachSwordModifier_01" ], "Target": "Self" }, { "AnimatorStateName": "Attack_CoAttack_Pre", "FrameCountHigh": 68, "FrameCountLow": 36, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "AttachSwordModifier_02" ], "Target": "Self" }, { "AnimatorStateName": "Attack_CoAttack_Pre", "FrameCountHigh": 68, "FrameCountLow": 10, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "MuteRootMotionModifier" ], "Target": "Self" }, { "AnimatorStateName": "Attack_CoAttack_Pre", "FrameCountHigh": 99, "FrameCountLow": 69, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "HoldSwordModifier" ], "Target": "Self" } ] }, { "$type": "ActwithStateFrameMixin", "ConfigList": [ { "ActionList": [ { "$type": "CallGraphEvent", "AbilityName": "Zhenzhen_SpawnSword_Graph", "CustomKey": "AbilityTarget_Zhenzhen", "EventName": "SpawnSwordByYaYa", "Predicates": [ { "$type": "ByIsInZoneTags", "CustomKey": "AbilityTarget_Zhenzhen", "Tags": [ "ThemeSpace_Type_03" ], "Target": "Custom" }, { "$type": "ByIsInZoneTags", "Tags": [ "YaYa_MathSkill" ], "Target": "Self" } ], "Target": "Custom" } ], "AnimatorStateName": "Attack_Pre", "ForceTriggerOnTransitionIn": false, "ForceTriggerOnTransitionOut": false, "Frame": 185, "IsLoop": false, "LayerIndex": 0 } ] } ], "AbilityName": "Bangboo_YaYa_AttackManager", "AbilityStacking": "Unique", "DefaultModifier": { }, "Modifiers": { "AttachSwordModifier_01": { "Duration": -1, "IgnoreTimeScale": false, "Modifierstacking": "Unique", "OnAdded": [ { "$type": "ApplyLogicMoveAction", "MovementConfig": { "$type": "ConfigMovementTarget", "Duration": 0.35, "Gravity": 0, "HitNormalRatio": 1, "HitTangentialRatio": 1, "MoveType": { "$type": "MovementTypeFixedTime", "Time": 0.35 }, "ReachTargetStop": true, "TargetPosRot": { "CoordsOption": "Relative", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": 0, "y": 0, "z": -0.5 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "CustomKey": "YaYa_SwordEntity", "OffsetReferTarget": "RecordEntityKey" } }, "TargetUpdateMode": "OnStart", "TimesUpMoveOption": "Stop" }, "Predicates": [ { "$type": "ByRecordEntityCount", "CompareType": "GreaterEqual", "CompareValue": 1, "RecordEntityKey": "YaYa_SwordEntity", "Target": "Self" } ], "Target": "Self" }, { "$type": "ApplyLogicMoveAction", "MovementConfig": { "$type": "ConfigMovementTarget", "Duration": 0.35, "Gravity": 0, "HitNormalRatio": 1, "HitTangentialRatio": 1, "MoveType": { "$type": "MovementTypeFixedTime", "Time": 0.35 }, "ReachTargetStop": true, "TargetPosRot": { "CoordsOption": "Relative", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": 0, "y": 0, "z": -5 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "LocalAvatarAttackTarget" } }, "TargetUpdateMode": "OnStart", "TimesUpMoveOption": "Stop" }, "Predicates": [ { "$type": "ByRecordEntityCount", "CompareType": "Equal", "CompareValue": 0, "RecordEntityKey": "YaYa_SwordEntity", "Target": "Self" } ], "Target": "Self" } ] }, "AttachSwordModifier_02": { "Duration": -1, "IgnoreTimeScale": false, "Modifierstacking": "Unique", "OnAdded": [ { "$type": "ApplyLogicMoveAction", "MovementConfig": { "$type": "ConfigMovementTarget", "Duration": 0.55, "Gravity": 0, "HitNormalRatio": 1, "HitTangentialRatio": 1, "MoveType": { "$type": "MovementTypeFixedTime", "Time": 0.55 }, "ReachTargetStop": true, "TargetPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "CustomKey": "YaYa_SwordEntity", "OffsetReferTarget": "RecordEntityKey" } }, "TargetUpdateMode": "OnStart", "TimesUpMoveOption": "Stop" }, "Predicates": [ { "$type": "ByRecordEntityCount", "CompareType": "GreaterEqual", "CompareValue": 1, "RecordEntityKey": "YaYa_SwordEntity", "Target": "Self" } ], "Target": "Self" } ] }, "CheckMountedModifier": { "Duration": -1, "IgnoreTimeScale": false, "Modifierstacking": "Unique", "OnAdded": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "YaYaMounted" ], "IsAdd": true, "Target": "Self" } ], "OnCustomEventReceived": [ { "$type": "SetAnimCtrlerParamAction", "IntVal": 1, "ParamName": "Int_AttackLaunch", "ParamType": 3, "Predicates": [ { "$type": "ByCustomEvent", "EventKey": "Zhenzhen_Sword_Mounted" } ], "Target": "Caster" } ], "OnRemoved": [ { "$type": "SetAnimCtrlerParamAction", "IntVal": 1, "ParamName": "Int_AttackLaunch", "ParamType": 3, "Target": "Caster" } ] }, "HoldSwordModifier": { "Duration": -1, "IgnoreTimeScale": false, "Modifierstacking": "Unique", "OnAdded": [ { "$type": "ApplyLogicMoveAction", "MovementConfig": { "$type": "ConfigMovementTarget", "Duration": -1, "Gravity": 0, "HitNormalRatio": 1, "HitTangentialRatio": 1, "MoveType": { "$type": "MovementTypeInstantAttach" }, "ReachTargetStop": false, "TargetPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "CustomKey": "YaYa_SwordEntity", "OffsetReferTarget": "RecordEntityKey" } }, "TargetUpdateMode": "OnStart", "TimesUpMoveOption": "Stop" }, "Predicates": [ { "$type": "ByRecordEntityCount", "CompareType": "GreaterEqual", "CompareValue": 1, "RecordEntityKey": "YaYa_SwordEntity", "Target": "Self" } ], "Target": "Self" } ] }, "MuteRootMotionModifier": { "Duration": -1, "IgnoreTimeScale": false, "Modifierstacking": "Unique", "OnAdded": [ { "$type": "MuteRootMotionAction", "EnableMute": true } ], "OnRemoved": [ { "$type": "MuteRootMotionAction", "EnableMute": false } ] }, "SearchSwordModifier": { "Duration": -1, "IgnoreTimeScale": false, "Modifierstacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "IntVal": 2, "ParamName": "Int_AttackLaunch", "ParamType": 3, "Predicates": [ { "$type": "ByAbilityTargetCount", "AbilityTargetKey": "AbilityTarget_Zhenzhen_Sword_YaYa", "CompareType": "GreaterEqual", "CompareValue": 1, "Target": "Self" } ], "Target": "Self" }, { "$type": "AddAbilityRecordEntity", "CustomKey": "AbilityTarget_Zhenzhen_Sword_YaYa", "Predicates": [ { "$type": "ByAbilityTargetCount", "AbilityTargetKey": "AbilityTarget_Zhenzhen_Sword_YaYa", "CompareType": "GreaterEqual", "CompareValue": 1, "Target": "Self" } ], "RecordEntityKey": "YaYa_SwordEntity", "Target": "Custom" }, { "$type": "SetAnimCtrlerParamAction", "IntVal": 1, "ParamName": "Int_AttackLaunch", "ParamType": 3, "Predicates": [ { "$type": "ByAbilityTargetCount", "AbilityTargetKey": "AbilityTarget_Zhenzhen_Sword_YaYa", "CompareType": "Equal", "CompareValue": 0, "Target": "Self" } ], "Target": "Self" }, { "$type": "ApplyModifier", "CustomKey": "YaYa_SwordEntity", "ModifierName": "CheckMountedModifier", "Predicates": [ { "$type": "ByRecordEntityCount", "CompareType": "GreaterEqual", "CompareValue": 1, "RecordEntityKey": "YaYa_SwordEntity", "Target": "Self" } ], "Target": "RecordEntityKey" }, { "$type": "ProcessAttachPointAction", "AttachPointName": "YaYa_SwordEntityPoint", "HierarchyType": "World", "PosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": false, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "CustomKey": "YaYa_SwordEntity", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": false, "OffsetReferTarget": "RecordEntityKey" } }, "Predicates": [ { "$type": "ByRecordEntityCount", "CompareType": "GreaterEqual", "CompareValue": 1, "RecordEntityKey": "YaYa_SwordEntity", "Target": "Self" } ], "ProcessType": "Create", "Target": "Self" } ], "OnRemoved": [ { "$type": "RemoveAbilityRecordEntity", "IsRemoveAllWithKey": true, "RecordEntityKey": "YaYa_SwordEntity" } ] } } }