turnbasedgamedata/Config/ConfigAI/Adventure/MazeMonster_Soldier_MazeSkill_Patrol_Loop.json
2025-02-24 07:50:34 -03:00

417 lines
12 KiB
JSON

{
"AIName": "MazeMonster_Patrol_Loop",
"VariableList": [],
"DecisionList": [
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "Patrol",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"Visions": [
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 30,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30
}
]
},
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"Visions": [
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 4,
"YawAngleRange": 360,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30,
"VisionID": "default01"
}
]
},
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"Visions": [
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 8,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30,
"VisionID": "default02"
}
]
},
{
"$type": "RPG.GameCore.AdvNPCPatrol",
"StayOnWaypoint": true,
"StayOnWaypointDuration": 2
}
]
},
"ScoreEvaluatorType": "DefaultDSE",
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAlertValueInRange",
"AlertValueMax": 5
}
]
},
"SuccessScore": {
"Value": 1
}
}
]
},
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "Guarding",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"Visions": [
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 4,
"YawAngleRange": 360,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30,
"VisionID": "default01"
}
]
},
{
"$type": "RPG.GameCore.AdvNPCGuarding",
"SearchOffset": 5.5,
"OnGuardStart": {
"$type": "RPG.GameCore.TaskConfig"
},
"OnGuardEnd": {
"$type": "RPG.GameCore.TaskConfig"
}
}
]
},
"ScoreEvaluatorType": "DefaultDSE",
"Weight": {
"Value": 2
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAlertValueInRange",
"AlertValueMin": 5,
"AlertValueMax": 25
}
]
},
"SuccessScore": {
"Value": 1
}
}
]
},
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "Chase",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"Visions": [
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 15,
"YawAngleRange": 360,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30,
"VisionID": "default01"
},
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 8,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30,
"VisionID": "default02"
}
]
},
{
"$type": "RPG.GameCore.AdvNPCChase",
"ChaseRadius": 30,
"OnMissTarget": {
"$type": "RPG.GameCore.AdvForceSetNpcAlertValue",
"AlertValue": 26
},
"OnEnterChaseButNoTarget": {
"$type": "RPG.GameCore.AdvForceSetNpcAlertValue",
"AlertValue": 26
}
}
]
},
"ScoreEvaluatorType": "DefaultDSE",
"Weight": {
"Value": 3
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAlertValueInRange",
"AlertValueMin": 25,
"AlertValueMax": 45
}
]
},
"SuccessScore": {
"Value": 1
}
}
]
},
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "GoBack",
"RootTask": {
"$type": "RPG.GameCore.AdvNPCGoback",
"OnBeforeGoBack": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvForceSetNpcAlertValue"
},
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"Visions": [
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 0,
"YawAngleRange": 360,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30,
"VisionID": "default01"
},
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 0,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30,
"VisionID": "default02"
},
{
"$type": "RPG.GameCore.VisionConfig",
"DistanceRange": 0,
"PitchAngleLimitMin": -30,
"PitchAngleLimitMax": 30
}
]
}
]
},
"OnBackToGuardPoint": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.ClearTrigger",
"TriggerList": [
"TriggerAlert"
]
}
]
}
},
"ScoreEvaluatorType": "DefaultDSE",
"Weight": {
"Value": 4
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByNPCStatus",
"NPCStatus": "GoBack"
},
"SuccessScore": {
"Value": 1
}
}
]
},
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "UseMazeSkill",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvNPCUseMazeSkill"
}
]
},
"ScoreEvaluatorType": "DefaultDSE",
"Weight": {
"Value": 6
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAnd",
"PredicateList": [
{
"$type": "RPG.GameCore.AdventureByNpcMazeSkillCooldown"
},
{
"$type": "RPG.GameCore.ByAlertValueInRange",
"AlertValueMin": 25,
"AlertValueMax": 45
},
{
"$type": "RPG.GameCore.AdventureByMazeSkillUseCheck"
}
]
},
{
"$type": "RPG.GameCore.ByNPCStatus",
"NPCStatus": "UseMazeSkill"
}
]
},
"SuccessScore": {
"Value": 1
}
}
]
},
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "Attack",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvNPCAttack",
"AttackCD": 3
}
]
},
"ScoreEvaluatorType": "DefaultDSE",
"Weight": {
"Value": 5
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAnd",
"PredicateList": [
{
"$type": "RPG.GameCore.ByDistance",
"From": {
"$type": "RPG.GameCore.TargetAlias",
"Alias": "ModifierOwnerEntity"
},
"To": {
"$type": "RPG.GameCore.TargetAlias",
"Alias": "AdvLocalPlayer"
},
"CompareType": "LessEqual",
"CompareValue": {
"FixedValue": {
"Value": 3
}
}
},
{
"$type": "RPG.GameCore.ByAngle",
"From": {
"$type": "RPG.GameCore.TargetAlias",
"Alias": "ModifierOwnerEntity"
},
"To": {
"$type": "RPG.GameCore.TargetAlias",
"Alias": "AdvLocalPlayer"
},
"CompareType": "LessEqual",
"CompareValue": {
"IsDynamic": true,
"PostfixExpr": {
"OpCodes": "AAAR",
"FixedValues": [
{
"Value": 30
}
],
"DynamicHashes": []
}
}
},
{
"$type": "RPG.GameCore.ByHaveObstacle",
"From": {
"$type": "RPG.GameCore.TargetAlias",
"Alias": "ModifierOwnerEntity"
},
"To": {
"$type": "RPG.GameCore.TargetAlias",
"Alias": "AdvLocalPlayer"
}
},
{
"$type": "RPG.GameCore.ByAlertValueInRange",
"AlertValueMin": 25,
"AlertValueMax": 45
}
]
},
{
"$type": "RPG.GameCore.ByNPCStatus",
"NPCStatus": "Attack"
}
]
},
"SuccessScore": {
"Value": 1
}
}
]
}
],
"OnDisable": {
"$type": "RPG.GameCore.AdvNPCIdle"
},
"OnInit": {
"$type": "RPG.GameCore.AdvSetNpcAlertConfig",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"AlertLimitMax": 45,
"AlertGuardLimitMin": 5,
"AlertGuardLimitMax": 25,
"AlertDeclineSpeed": 3
}
}