{ "AbilityMixins": [ { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_Spin_Start", "FrameCountHigh": 0, "FrameCountLow": 6, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "SpinMoveModifier", "BtnListenModifier", "InSpinModifier" ] }, { "AnimatorStateName": "Attack_Spin_Start", "FrameCountHigh": 0, "FrameCountLow": 19, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "HotSpinnerModifier" ] }, { "AnimatorStateName": "Attack_Spin_Loop_Accelerate", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "SpinMoveModifier", "DamageModifier", "BtnListenModifier", "InSpinModifier", "HotSpinnerModifier" ] }, { "AnimatorStateName": "Attack_Spin_Loop_Decelerate", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "DamageModifier", "InSpinModifier", "BtnListenModifier", "HotSpinnerModifier" ] }, { "AnimatorStateName": "Attack_Spin_Loop_Bounce", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "InSpinModifier", "BtnListenModifier", "HotSpinnerModifier", "BounceMoveCheckModifier" ] }, { "AnimatorStateName": "Attack_Spin_End", "FrameCountHigh": 15, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "SpinMoveModifier", "BtnListenModifier", "InSpinModifier", "HotSpinnerModifier" ] }, { "AnimatorStateName": "Attack_Normal_03", "FrameCountLow": 0, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "DamageTakeModifier" ] }, { "AnimatorStateName": "Attack_Normal_03_2", "FrameCountLow": 0, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "DamageTakeModifier" ] } ], "IsSeam": false }, { "$type": "ActwithStateFrameMixin", "ConfigList": [ { "ActionList": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByHasBuffID", "BuffIDList": [ "3000431" ] } ], "FailureActions": [ { "$type": "FireEffect", "EffectPattern": "Eff_Jufufu_Attack_Spin_Start_05_Trail", "Target": "Self" } ], "SuccessActions": [ { "$type": "FireEffect", "EffectPattern": "Eff_Jufufu_Attack_Spin_Start_03_Trail", "Target": "Self" } ] } ], "AnimatorStateName": "Attack_Spin_Start", "ForceTriggerOnTransitionIn": false, "ForceTriggerOnTransitionOut": false, "Frame": 6, "IsLoop": false, "LayerIndex": 0 } ] } ], "AbilityName": "Jufufu_SpinManager", "AbilitySpecials": { "AS_AddHot_Spin": { "Value": 25 }, "AS_DamageTakeRatio": { "Value": -0.6 } }, "AbilityStacking": "Unique", "DefaultModifier": { "OnBuffAdded": [ { "$type": "ModifyProperty", "Amount": 1, "CustomPropertyType": "Fufu_HotSpinner", "IsUsePercentage": false, "Predicates": [ { "$type": "ByBuffCount", "BuffID": 3000431, "CompareType": "Greater", "StackCount": 0 }, { "$type": "ByHandlingBuffID", "BuffIDList": [ 3000431 ] } ], "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" } ], "OnBuffRemoved": [ { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "Fufu_HotSpinner", "IsUsePercentage": false, "Predicates": [ { "$type": "ByBuffCount", "BuffID": 3000431, "CompareType": "Equal", "StackCount": 0 }, { "$type": "ByHandlingBuffID", "BuffIDList": [ 3000431 ] } ], "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2, "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": false, "Target": "Self" }, { "$type": "ByBuffCount", "BuffID": 3000431, "CompareType": "Equal", "StackCount": 0 }, { "$type": "ByHandlingBuffID", "BuffIDList": [ 3000431 ] } ], "Target": "Self" } ], "OnPatternAttackLanded": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Jufufu_Attack_Spin_Hot_AttackProperty_01" ] } ], "SuccessActions": [ { "$type": "RemoveBuffModifier", "BuffID": 3000431, "StackCount": 1 }, { "$type": "ModifyProperty", "Amount": "%AS_AddHot_Spin", "CustomKey": "AbilityTarget_Jufufu_FindJufufu", "CustomPropertyType": "Fufu_Hotlimit", "IsUsePercentage": false, "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "Custom" }, { "$type": "TriggerAbilityAction", "AbilityName": "Jufufu_ExplodeManager", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "GreaterEqual", "CustomKey": "AbilityTarget_Jufufu_FindJufufu", "CustomNumerator": "Fufu_Hotlimit", "IsUsePercent": false, "Numerator": "Custom", "Target": "Custom", "Val1": 100 } ] } ] }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2, "Predicates": [ { "$type": "ByAnimCtrlerParam", "BoolVal": false, "CompareType": "Equal", "ParamName": "Bool_IsHoldingAttackA", "ParamType": 2 }, { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Jufufu_Attack_Spin_AttackProperty_01" ] } ], "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2, "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": false, "Target": "Self" }, { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Jufufu_Attack_Spin_AttackProperty_01" ] } ], "Target": "Self" } ] }, "Modifiers": { "BounceModifier": { "Duration": 0.45, "ModifierStacking": "Replace", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsBounce", "ParamType": 2 } ], "OnRemoved": [ { "$type": "RemoveModifier", "ModifierName": "BounceMoveModifier" }, { "$type": "RemoveModifier", "ModifierName": "BounceMoveModifier_Real" }, { "$type": "RemoveModifier", "ModifierName": "BounceMoveModifier_Hot" }, { "$type": "RemoveModifier", "ModifierName": "BounceMoveModifier_Hot_Real" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsBounce", "ParamType": 2 } ] }, "BounceModifier_Hot": { "Duration": 0.25, "ModifierStacking": "Replace", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsBounce", "ParamType": 2 } ], "OnRemoved": [ { "$type": "RemoveModifier", "ModifierName": "BounceMoveModifier" }, { "$type": "RemoveModifier", "ModifierName": "BounceMoveModifier_Real" }, { "$type": "RemoveModifier", "ModifierName": "BounceMoveModifier_Hot" }, { "$type": "RemoveModifier", "ModifierName": "BounceMoveModifier_Hot_Real" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsBounce", "ParamType": 2 } ] }, "BounceMoveCheckModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByHasBuffID", "BuffIDList": [ "3000431" ] } ], "FailureActions": [ { "$type": "ApplyModifier", "ModifierName": "BounceMoveModifier" } ], "SuccessActions": [ { "$type": "ApplyModifier", "ModifierName": "BounceMoveModifier_Hot" } ] } ] }, "BounceMoveModifier": { "Duration": 0.01, "ModifierStacking": "Unique", "OnRemoved": [ { "$type": "ApplyModifier", "ModifierName": "BounceMoveModifier_Real" } ] }, "BounceMoveModifier_Hot": { "Duration": 0.01, "ModifierStacking": "Unique", "OnRemoved": [ { "$type": "ApplyModifier", "ModifierName": "BounceMoveModifier_Hot_Real" } ] }, "BounceMoveModifier_Hot_Real": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "ApplyLogicMoveAction", "MovementConfig": { "$type": "ConfigMovementCurve", "CoordinateType": "Local", "Duration": -1, "Gravity": 0, "HitNormalRatio": 1, "HitTangentialRatio": 1, "ScaleRatio": -20, "TimesUpMoveOption": "Remain", "VelocityCurveZ": "Avatar_Jufufu_SpinBounce_Hot_Curve" }, "RotationConfig": { "$type": "ConfigRotationToTarget", "Duration": -1, "ReachTargetStop": false, "RotateType": "Instant", "TargetPosRot": { "CoordsOption": "Relative", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "BackupAngleOffset": { "x": 0, "y": 180, "z": 0 }, "PositionOffset": { "x": 0, "y": 180, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "BackupOffsetReferTarget": "Self", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": true, "OffsetReferTarget": "SavePoint", "PointName": "JufufuPoint_Bounce" } }, "TargetUpdateMode": "Always" }, "Target": "Self" } ] }, "BounceMoveModifier_Real": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "ApplyLogicMoveAction", "MovementConfig": { "$type": "ConfigMovementCurve", "CoordinateType": "Local", "Duration": -1, "Gravity": 0, "HitNormalRatio": 1, "HitTangentialRatio": 1, "ScaleRatio": -20, "TimesUpMoveOption": "Remain", "VelocityCurveZ": "Avatar_Jufufu_SpinBounce_Curve" }, "RotationConfig": { "$type": "ConfigRotationToTarget", "Duration": -1, "ReachTargetStop": false, "RotateType": "Instant", "TargetPosRot": { "CoordsOption": "Relative", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "BackupAngleOffset": { "x": 0, "y": 180, "z": 0 }, "PositionOffset": { "x": 0, "y": 180, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "BackupOffsetReferTarget": "Self", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": true, "OffsetReferTarget": "SavePoint", "PointName": "JufufuPoint_Bounce" } }, "TargetUpdateMode": "Always" }, "Target": "Self" } ] }, "BtnListenModifier": { "Duration": -1, "ModifierMixins": [ { "$type": "SkillBtnListenerMixin", "BtnListeners": [ { "BtnOperations": [ { "ListenerType": "PointUp", "PressTime": 0, "TriggerActions": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2, "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true } ] } ] } ], "SkillBtnIndex": 0 } ] } ], "ModifierStacking": "Unique" }, "DamageModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "HandleAnimEvent", "AnimEventID": "Jufufu_Attack_Spin_AttackProperty_01", "Predicates": [ { "$type": "ByBuffCount", "BuffID": 3000431, "CompareType": "LessEqual", "StackCount": 0 } ] }, { "$type": "HandleAnimEvent", "AnimEventID": "Jufufu_Attack_Spin_Hot_AttackProperty_01", "Predicates": [ { "$type": "ByBuffCount", "BuffID": 3000431, "CompareType": "Greater", "StackCount": 0 } ] } ], "OnHitOther": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Jufufu_Attack_Spin_AttackProperty_01", "Jufufu_Attack_Spin_Hot_AttackProperty_01" ] } ], "SuccessActions": [ { "$type": "ApplyModifier", "ModifierName": "BounceModifier", "Predicates": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Jufufu_Attack_Spin_AttackProperty_01" ] } ] }, { "$type": "ApplyModifier", "ModifierName": "BounceModifier_Hot", "Predicates": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Jufufu_Attack_Spin_Hot_AttackProperty_01" ] } ] }, { "$type": "SetAttackTargetBySpecificTargetAction", "ForceOverride": true, "IgnoreSetAttackTargetCD": true, "NewLockTarget": "Target", "Target": "Self" }, { "$type": "CameraLockOnAction", "CameraLockTargetKey": "Jufufu_Spin_CamLock_01", "IsLockPermanently": false, "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" } ], "Target": "SelfAttackTarget" }, { "$type": "CreateSavePointAction", "PointName": "JufufuPoint_Bounce", "Target": "Self", "TargetPosRot": { "CoordsOption": "Relative", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "PositionOffset": { "x": 0, "y": 0, "z": -20 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "SelfAttackTarget" } } } ] } ] }, "DamageTakeModifier": { "Duration": -1, "ModifierStacking": "Unique", "Properties": { "Actor_DamageTakeRatio": "%AS_DamageTakeRatio" } }, "HotEffModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "AttachEffect", "AttachEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": false, "IsUseRotationY": false, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Self" } }, "EffectPattern": "Eff_Jufufu_Attack_Spin_Loop_Accelerate_01_Trail", "IgnoreLocalAvatarLimit": true, "Tag": "Eff_Jufufu_Attack_Spin_Loop_Accelerate_01_Trail", "Target": "Self" }, { "$type": "ModifyMaterialPropertyAction", "ApplyAllRenderers": true, "Tag": "Avatar_Female_Size01_Jufufu_MA_Attack_Spin_Start_OverrideRimGlow_01", "Target": "Self", "key": "Avatar_Female_Size01_Jufufu_MA_Attack_Spin_Start_OverrideRimGlow_01" } ], "OnRemoved": [ { "$type": "InterruptMaterialPropertyAction", "Tag": "Avatar_Female_Size01_Jufufu_MA_Attack_Spin_Start_OverrideRimGlow_01", "Target": "Self" }, { "$type": "SpecialEffectFadeAction", "EffectNames": [ "Eff_Jufufu_Attack_Spin_Loop_Accelerate_01_Trail" ], "OverrideFadeOutCurve": "QuintEaseInReverse", "OverrideFadeOutTime": 0, "Target": "Self" } ] }, "HotSpinnerModifier": { "OnAdded": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByHasBuffID", "BuffIDList": [ "3000431" ] } ], "FailureActions": [ { "$type": "ApplyModifier", "ModifierName": "NormalEffModifier" } ], "SuccessActions": [ { "$type": "ApplyModifier", "ModifierName": "HotEffModifier" } ] } ], "OnBuffRemoved": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByBuffCount", "BuffID": 3000431, "CompareType": "LessEqual", "StackCount": 0 }, { "$type": "ByHandlingBuffID", "BuffIDList": [ "3000431" ] } ], "SuccessActions": [ { "$type": "RemoveModifier", "ModifierName": "HotEffModifier" }, { "$type": "ApplyModifier", "ModifierName": "NormalEffModifier" } ] } ], "OnRemoved": [ { "$type": "RemoveModifier", "ModifierName": "HotEffModifier" }, { "$type": "RemoveModifier", "ModifierName": "NormalEffModifier" } ] }, "InSpinModifier": { "DelayHandlers": [ { "DelayTime": 2, "TimeUpActions": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsLongSpin", "ParamType": 2 } ] } ], "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" } ], "FailureActions": [ { "$type": "PushInvincibleAction", "Tag": "Jufufu_SpinInvincible_NotLocalAvatar", "Target": "Self" } ], "SuccessActions": [ { "$type": "PopInvincibleAction", "Tag": "Jufufu_SpinInvincible_NotLocalAvatar" } ] } ], "OnBattleExit": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2, "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": false, "Target": "Self" } ] } ], "OnRemoved": [ { "$type": "PopInvincibleAction", "Tag": "Jufufu_SpinInvincible_NotLocalAvatar" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsLongSpin", "ParamType": 2 } ], "OnSwitchInFinish": [ { "$type": "RemoveModifier", "ModifierName": "StayModifier" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2 } ], "OnSwitchTriggered": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" } ], "FailureActions": [ { "$type": "PushInvincibleAction", "Tag": "Jufufu_SpinInvincible_NotLocalAvatar", "Target": "Self" } ], "SuccessActions": [ { "$type": "PopInvincibleAction", "Tag": "Jufufu_SpinInvincible_NotLocalAvatar" }, { "$type": "RemoveModifier", "ModifierName": "StayModifier" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Trigger_BackToSpin", "ParamType": 1, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2 } ] } ], "Properties": { "Actor_DamageTakeRatio": "%AS_DamageTakeRatio" } }, "NormalEffModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "AttachEffect", "AttachEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": false, "IsUseRotationY": false, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Self" } }, "EffectPattern": "Eff_Jufufu_Attack_Spin_Loop_Accelerate_02_Trail", "IgnoreLocalAvatarLimit": true, "Tag": "Eff_Jufufu_Attack_Spin_Loop_Accelerate_02_Trail", "Target": "Self" }, { "$type": "ModifyMaterialPropertyAction", "ApplyAllRenderers": true, "Tag": "Avatar_Female_Size01_Jufufu_MA_Attack_Spin_Start_SecondaryEmission_02", "Target": "Self", "key": "Avatar_Female_Size01_Jufufu_MA_Attack_Spin_Start_SecondaryEmission_02" } ], "OnRemoved": [ { "$type": "InterruptMaterialPropertyAction", "Tag": "Avatar_Female_Size01_Jufufu_MA_Attack_Spin_Start_SecondaryEmission_02", "Target": "Self" }, { "$type": "SpecialEffectFadeAction", "EffectNames": [ "Eff_Jufufu_Attack_Spin_Loop_Accelerate_02_Trail" ], "OverrideFadeOutCurve": "QuintEaseInReverse", "OverrideFadeOutTime": 0, "Target": "Self" } ] }, "SpinMoveLocal": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "ApplyLogicMoveAction", "MovementConfig": { "$type": "ConfigMovementCurve", "CoordinateType": "Local", "Duration": -1, "Gravity": 0, "HitNormalRatio": 1, "HitTangentialRatio": 1, "ScaleRatio": 8, "TimesUpMoveOption": "Remain", "VelocityCurveZ": "Avatar_Jufufu_SpinSpeed_Curve" }, "Target": "Self" } ] }, "SpinMoveModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsSpinning", "ParamType": 2 }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true } ], "FailureActions": [ { "$type": "ApplyModifier", "ModifierName": "SpinMoveNotLocal" } ], "SuccessActions": [ { "$type": "ApplyModifier", "ModifierName": "SpinMoveLocal" } ] } ], "OnRemoved": [ { "$type": "RemoveModifier", "ModifierName": "SpinMoveLocal" }, { "$type": "RemoveModifier", "ModifierName": "SpinMoveNotLocal" }, { "$type": "RemoveModifier", "ModifierName": "StayModifier" } ], "OnSwitchTriggered": [ { "$type": "RemoveModifier", "ModifierName": "SpinMoveLocal" }, { "$type": "RemoveModifier", "ModifierName": "SpinMoveNotLocal" }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true } ], "FailureActions": [ { "$type": "ApplyModifier", "ModifierName": "SpinMoveNotLocal" }, { "$type": "ApplyModifier", "ModifierName": "StayModifier" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsSpinning", "ParamType": 2 } ], "SuccessActions": [ { "$type": "RemoveModifier", "ModifierName": "StayModifier" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Trigger_BackToSpin", "ParamType": 1, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2 } ] } ], "OnThinkInterval": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByHasSelfAttackTarget", "Target": "Self" } ] }, { "$type": "ByIsLocalAvatar", "IsLocalAvatar": false, "Target": "Self" } ], "SuccessActions": [ { "$type": "LockTargetAction", "LockTargetID": "Player_Default_LockTarget_02_OnlyMonster" }, { "$type": "RemoveModifier", "ModifierName": "SpinMoveLocal" }, { "$type": "RemoveModifier", "ModifierName": "SpinMoveNotLocal" }, { "$type": "ApplyModifier", "ModifierName": "SpinMoveNotLocal" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2, "Predicates": [ { "$type": "ByInOutBattleStatus", "IsInBattle": false, "Target": "Caster" } ] } ] } ], "ThinkInterval": 1 }, "SpinMoveNotLocal": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "LockTargetAction", "LockTargetID": "Player_Default_LockTarget_01" }, { "$type": "ApplyLogicMoveAction", "MovementConfig": { "$type": "ConfigMovementCurve", "CoordinateType": "Local", "Duration": -1, "Gravity": 0, "HitNormalRatio": 1, "HitTangentialRatio": 1, "ScaleRatio": 8, "TimesUpMoveOption": "Remain", "VelocityCurveZ": "Avatar_Jufufu_SpinSpeed_Curve" }, "RotationConfig": { "$type": "ConfigRotationToTarget", "Duration": -1, "FreezeRotateXZ": false, "FreezeRotateY": false, "ReachTargetStop": false, "RotateSpeed": 160, "RotateType": "Fixed", "TargetPosRot": { "CoordsOption": "Relative", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": true, "OffsetReferTarget": "Target" } }, "TargetUpdateMode": "Always" }, "Target": "Self" } ], "OnThinkInterval": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsSpinning", "ParamType": 2, "Predicates": [ { "$type": "ByAbilityTargetCount", "AbilityTargetKey": "AbilityTarget_Jufufu_FindClosestOtherTarget", "CompareType": "LessEqual", "CompareValue": 0, "Target": "Self" } ] } ], "ThinkInterval": 3 }, "StayModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsStay", "ParamType": 2 }, { "$type": "PushForceEnableNormalSwitchInAction", "ForceEnabled": true, "Tag": "Jufufu_SpinStay", "Target": "Self", "TryKeepInPosition": false } ], "OnRemoved": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsStay", "ParamType": 2 }, { "$type": "PopForceEnableNormalSwitchInAction", "Tag": "Jufufu_SpinStay", "Target": "Self" } ] } } }