{ "AIName": "ST_Sub_NPCMonster_Taunt_Chase", "VariableList": [ { "$type": "RPG.GameCore.AIVariableFloat", "Name": "CD_ATK" } ], "DecisionList": [], "TransitionTable": [], "RootState": { "Name": "Root", "TaskList": [ { "$type": "RPG.GameCore.ST_Side_OverrideVision", "VisionSetName": "DefaultVision_Relaxed", "Visions": [] }, { "$type": "RPG.GameCore.ST_Side_OverrideStandByStance", "Stance": "Detect" } ], "TransitionList": [ { "Trigger": "OnTick", "TransitionToType": "TreeSucceed", "Condition": { "$type": "RPG.GameCore.ByAnd", "PredicateList": [ { "$type": "RPG.GameCore.ST_ByInAIStatus", "States": [ "Attack" ], "Inverse": true }, { "$type": "RPG.GameCore.ST_ByHasAbnormalState", "States": [ "NpcChase" ], "Inverse": true } ] }, "BoolVariableList": [], "FloatVariableList": [] } ], "SubStateList": [ { "$type": "RPG.GameCore.StateTreeStateConfig", "EnterCondition": { "$type": "RPG.GameCore.ByAnd", "PredicateList": [ { "$type": "RPG.GameCore.ST_ByInAttackDistance" }, { "$type": "RPG.GameCore.ST_ByInAttackAngle" }, { "$type": "RPG.GameCore.ST_BySkillInCD", "CDVariableName": "CD_ATK", "Inverse": true } ] }, "TaskList": [ { "$type": "RPG.GameCore.ST_Main_DoSkill", "Name": "MazeAtk01", "CDType": "UseAIConfig", "CD": 4, "CDVariableName": "CD_ATK" }, { "$type": "RPG.GameCore.ST_Side_SetVariableBool", "OnEnter": true, "EnterName": "IsAttacking", "EnterValue": true, "OnExit": true, "ExitName": "IsAttacking" }, { "$type": "RPG.GameCore.ST_Side_AttachAIStatus", "AIStatusTags": [ "Attack" ] } ], "TransitionList": [ { "TransitionToState": "WaitState", "BoolVariableList": [], "FloatVariableList": [] } ], "Name": "AttackState" }, { "$type": "RPG.GameCore.StateTreeStateConfig", "TaskList": [], "TransitionList": [ { "Trigger": "OnTick", "TransitionToState": "AttackState", "Condition": { "$type": "RPG.GameCore.ByAnd", "PredicateList": [ { "$type": "RPG.GameCore.ST_ByInAttackDistance" }, { "$type": "RPG.GameCore.ST_ByInAttackAngle" }, { "$type": "RPG.GameCore.ST_BySkillInCD", "CDVariableName": "CD_ATK", "Inverse": true } ] }, "BoolVariableList": [], "FloatVariableList": [] } ], "SubStateList": [ { "$type": "RPG.GameCore.StateTreeStateConfig", "EnterCondition": { "$type": "RPG.GameCore.ByAnd", "PredicateList": [ { "$type": "RPG.GameCore.ByAny", "PredicateList": [ { "$type": "RPG.GameCore.ST_ByInAttackDistance", "Inverse": true }, { "$type": "RPG.GameCore.ST_ByInAttackAngle", "Inverse": true } ] } ] }, "TaskList": [ { "$type": "RPG.GameCore.ST_Main_MoveToTarget", "TargetType": "LocalTarget", "MoveStance": "Run", "ToleranceType": "UseAIConfig", "Tolerance": 2, "SpeedScale": 1.2 } ], "TransitionList": [ { "TransitionToType": "NextState", "TransitionToState": "WaitSteer", "BoolVariableList": [], "FloatVariableList": [] } ], "Name": "WaitChase" }, { "$type": "RPG.GameCore.StateTreeStateConfig", "TaskList": [ { "$type": "RPG.GameCore.ST_Main_Wait", "Time": -1 } ], "TransitionList": [ { "Trigger": "OnTick", "TransitionToType": "TreeFail", "Condition": { "$type": "RPG.GameCore.ST_ByHasTarget", "Inverse": true }, "BoolVariableList": [], "FloatVariableList": [] }, { "Trigger": "OnTick", "TransitionToState": "WaitChase", "Condition": { "$type": "RPG.GameCore.ByAnd", "PredicateList": [ { "$type": "RPG.GameCore.ByAny", "PredicateList": [ { "$type": "RPG.GameCore.ST_ByInAttackDistance", "Inverse": true }, { "$type": "RPG.GameCore.ST_ByInAttackAngle", "Inverse": true } ] }, { "$type": "RPG.GameCore.ST_ByDistToGuardPosition", "ValueType": "UseAIConfig" } ] }, "BoolVariableList": [], "FloatVariableList": [] } ], "Name": "WaitSteer" } ], "Name": "WaitState" } ] }, "OnDisable": { "$type": "RPG.GameCore.TaskConfig" }, "OnInit": { "$type": "RPG.GameCore.TaskConfig" } }