mirror of
https://gitlab.com/Dimbreath/turnbasedgamedata.git
synced 2025-05-11 22:45:53 +08:00
360 lines
10 KiB
JSON
360 lines
10 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": 12
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.VisionConfig",
|
|
"DistanceRange": 3,
|
|
"YawAngleRange": 360,
|
|
"VisionID": "default01"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.VisionConfig",
|
|
"DistanceRange": 8,
|
|
"VisionID": "default02"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.AdvNPCPatrol",
|
|
"StayOnWaypoint": true,
|
|
"StayOnWaypointDuration": 4,
|
|
"OnWaypointTask": {
|
|
"$type": "RPG.GameCore.RandomConfig",
|
|
"OddsList": [
|
|
{
|
|
"FixedValue": {
|
|
"Value": 0.5
|
|
}
|
|
},
|
|
{
|
|
"FixedValue": {
|
|
"Value": 0.5
|
|
}
|
|
}
|
|
],
|
|
"TaskList": [
|
|
{
|
|
"$type": "RPG.GameCore.CharacterTriggerAnimState",
|
|
"AnimStateName": "Idle1",
|
|
"NormalizedTransitionDuration": 1,
|
|
"NormalizedTimeWait": 5
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.CharacterTriggerAnimState",
|
|
"AnimStateName": "Idle2",
|
|
"NormalizedTransitionDuration": 1,
|
|
"NormalizedTimeWait": 5
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"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,
|
|
"VisionID": "default01"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.AdvNPCGuarding",
|
|
"EnableSearch": true,
|
|
"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.AdvForceSetNpcAlertValue",
|
|
"Range": 8,
|
|
"AlertValue": 40
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
|
|
"Visions": [
|
|
{
|
|
"$type": "RPG.GameCore.VisionConfig",
|
|
"DistanceRange": 15,
|
|
"YawAngleRange": 360,
|
|
"VisionID": "default01"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.AdvNPCChase",
|
|
"ChaseRadius": 15,
|
|
"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.AdvSetNpcVisionsConfig",
|
|
"Visions": [
|
|
{
|
|
"$type": "RPG.GameCore.VisionConfig",
|
|
"DistanceRange": 1,
|
|
"YawAngleRange": 0
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.VisionConfig",
|
|
"DistanceRange": 1,
|
|
"YawAngleRange": 0,
|
|
"VisionID": "default01"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.VisionConfig",
|
|
"DistanceRange": 1,
|
|
"YawAngleRange": 0,
|
|
"VisionID": "default02"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.AdvForceSetNpcAlertValue"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"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": 4
|
|
}
|
|
]
|
|
},
|
|
"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": 2
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"$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": 90
|
|
}
|
|
],
|
|
"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": 20
|
|
}
|
|
} |