{ "AIName": "MazeNPC_FollowPlayer", "VariableList": [], "DecisionList": [ { "$type": "RPG.GameCore.AIDecisionConfig", "DecisionName": "Follow Player", "RootTask": { "$type": "RPG.GameCore.AdvNpcFollowPlayer", "WaitProtectTime": 1, "TransferDistance": 10, "EnterRushDistance": 4, "ExitRushDistance": 3, "RushChangeProtectTime": 1, "KeepDistance": 2.5, "FollowDistance": 3 }, "ScoreEvaluatorType": "DefaultDSE", "Weight": { "Value": 4 }, "ConsiderAxisList": [ { "$type": "RPG.GameCore.CheckPredicateAxis", "Predicate": { "$type": "RPG.GameCore.ByNPCStatus", "NPCStatus": "FollowPlayer" }, "SuccessScore": { "Value": 1 } } ] }, { "$type": "RPG.GameCore.AIDecisionConfig", "DecisionName": "Follow By Player", "RootTask": { "$type": "RPG.GameCore.AdvNpcFollowByPlayer", "KeepDistance": 200, "FollowDistance": 100, "WaitProtectTime": 1, "WaitActionTime": 6, "Waypath": "TaskFollow", "OnReachTask": { "$type": "RPG.GameCore.AdvNPCIdle" }, "RushProtectTime": -1 }, "ScoreEvaluatorType": "DefaultDSE", "Weight": { "Value": 4 }, "ConsiderAxisList": [ { "$type": "RPG.GameCore.CheckPredicateAxis", "Predicate": { "$type": "RPG.GameCore.ByNPCStatus", "NPCStatus": "FollowByPlayer" }, "SuccessScore": { "Value": 1 } } ] } ], "OnDisable": { "$type": "RPG.GameCore.AdvNPCIdle" }, "OnInit": { "$type": "RPG.GameCore.TaskConfig" } }