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

265 lines
7.1 KiB
JSON

{
"AIName": "MazeMonster_Patrol_Loop",
"VariableList": [],
"DecisionList": [
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "Patrol",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"VisionsByName": [
"GlobalVisionConfig_SneakMonster"
],
"Visions": []
},
{
"$type": "RPG.GameCore.AdvNPCPatrol",
"StayOnWaypoint": true,
"StayOnWaypointDuration": 1
}
]
},
"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": []
},
"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",
"VisionsByName": [
"GlobalVisionConfig_Front"
],
"Visions": []
},
{
"$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",
"VisionsByName": [
"GlobalVisionConfig_GoBack"
],
"Visions": []
}
]
}
},
"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": "Attack",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvNPCAttack",
"AttackCD": 0
}
]
},
"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": {
"FixedValue": {
"Value": 5
}
}
},
{
"$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": 10
}
}