{ "AbilityMixins": [ { "$type": "FloatParamSmoothMixin", "CurrentParam": "Float_AIBlendDir", "FloatParamSmoothType": "Lerp", "LerpSpeed": 3, "SmoothType": "Lerp", "TargetParam": "Float_AIBlendDir_Target" }, { "$type": "ActwithStateFrameMixin", "ConfigList": [ { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "TurnResetManager", "Target": "Self" } ], "AnimatorStateName": "P1_Dash_Turn_Left", "ForceTriggerOnTransitionOut": false, "Frame": 60, "IsLoop": false, "LayerIndex": 0 }, { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "TurnResetManager", "Target": "Self" } ], "AnimatorStateName": "P1_Dash_Turn_Right", "ForceTriggerOnTransitionOut": false, "Frame": 70, "IsLoop": false, "LayerIndex": 0 }, { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "TurnResetManager", "Target": "Self" } ], "AnimatorStateName": "P1_Dash_Turn_Left_90", "ForceTriggerOnTransitionOut": false, "Frame": 50, "IsLoop": false, "LayerIndex": 0 }, { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "TurnResetManager", "Target": "Self" } ], "AnimatorStateName": "P1_Dash_Turn_Right_90", "ForceTriggerOnTransitionOut": false, "Frame": 50, "IsLoop": false, "LayerIndex": 0 }, { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "TurnResetManager", "Target": "Self" } ], "AnimatorStateName": "P1_Dash_Raised_Turn_Left", "ForceTriggerOnTransitionOut": false, "Frame": 60, "IsLoop": false, "LayerIndex": 0 }, { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "TurnResetManager", "Target": "Self" } ], "AnimatorStateName": "P1_Dash_Raised_Turn_Right", "ForceTriggerOnTransitionOut": false, "Frame": 70, "IsLoop": false, "LayerIndex": 0 } ] }, { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "P1_Dash_Loop", "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "CollisionCheckModifier" ] } ] } ], "AbilityName": "TyrantPompey_TurnManager", "AbilitySpecials": { "AS_AIBlendDir_Target": { "Value": 0 } }, "AbilityStacking": "Unique", "Modifiers": { "CollisionCheckModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnThinkInterval": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByObstacle", "BoxDistance": 6, "BoxHeight": 0.1, "BoxPosOffset": { "x": 3, "y": 1, "z": 3 }, "BoxWidth": 6, "CheckShape": "Box", "Target": "Self" } ], "FailureActions": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByObstacle", "BoxDistance": 6, "BoxHeight": 0.1, "BoxPosOffset": { "x": -3, "y": 1, "z": 3 }, "BoxWidth": 6, "CheckShape": "Box", "Target": "Self" } ], "FailureActions": [ { "$type": "RemoveModifier", "ModifierName": "CollisionEvadeTurn_Left" }, { "$type": "RemoveModifier", "ModifierName": "CollisionEvadeTurn_Right" }, { "$type": "ApplyModifier", "ModifierName": "TurnThinkModifier" } ], "SuccessActions": [ { "$type": "RemoveModifier", "ModifierName": "CollisionEvadeTurn_Left" }, { "$type": "RemoveModifier", "ModifierName": "TurnThinkModifier" }, { "$type": "ApplyModifier", "ModifierName": "CollisionEvadeTurn_Right" } ] } ], "SuccessActions": [ { "$type": "RemoveModifier", "ModifierName": "CollisionEvadeTurn_Right" }, { "$type": "RemoveModifier", "ModifierName": "TurnThinkModifier" }, { "$type": "ApplyModifier", "ModifierName": "CollisionEvadeTurn_Left" } ] } ], "ThinkInterval": 0.05 }, "CollisionEvadeTurn_Left": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "FloatVal": -90, "ParamName": "Float_AIBlendDir_Target", "ParamType": 4 } ] }, "CollisionEvadeTurn_Right": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "FloatVal": 90, "ParamName": "Float_AIBlendDir_Target", "ParamType": 4 } ] }, "TurnResetManager": { "Duration": 1, "IgnoreTimeScale": false, "ModifierStacking": "Refresh", "OnAdded": [ { "$type": "WriteAIParamAction", "BoolParamValue": true, "ParamName": "Bool_IsTurnOver" }, { "$type": "SetAnimCtrlerParamAction", "FloatVal": "%AS_AIBlendDir_Target", "ParamName": "Float_AIBlendDir", "ParamType": 4, "Target": "Self" } ] }, "TurnThinkModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnThinkInterval": [ { "$type": "SetAnimCtrlerParamAction", "FloatVal": 0, "ParamName": "Float_AIBlendDir_Target", "ParamType": 4, "Predicates": [ { "$type": "ByAngleRange", "AngleMax": 10, "AngleMin": -10, "CompareTarget": "SelfAttackTarget" } ] }, { "$type": "SetAnimCtrlerParamAction", "FloatVal": -45, "ParamName": "Float_AIBlendDir_Target", "ParamType": 4, "Predicates": [ { "$type": "ByAngleRange", "AngleMax": 45, "AngleMin": 10, "CompareTarget": "SelfAttackTarget" } ] }, { "$type": "SetAnimCtrlerParamAction", "FloatVal": 45, "ParamName": "Float_AIBlendDir_Target", "ParamType": 4, "Predicates": [ { "$type": "ByAngleRange", "AngleMax": -10, "AngleMin": -45, "CompareTarget": "SelfAttackTarget" } ] }, { "$type": "SetAnimCtrlerParamAction", "FloatVal": -90, "ParamName": "Float_AIBlendDir_Target", "ParamType": 4, "Predicates": [ { "$type": "ByAngleRange", "AngleMax": 180, "AngleMin": 45, "CompareTarget": "SelfAttackTarget" } ] }, { "$type": "SetAnimCtrlerParamAction", "FloatVal": 90, "ParamName": "Float_AIBlendDir_Target", "ParamType": 4, "Predicates": [ { "$type": "ByAngleRange", "AngleMax": -45, "AngleMin": -180, "CompareTarget": "SelfAttackTarget" } ] } ], "ThinkInterval": 0.05 } } }