Files
turnbasedgamedata/Config/ConfigAI/Adventure/NPCMonster_Common_TriggerTrap_AI.json
2024-10-21 03:16:22 -03:00

374 lines
10 KiB
JSON

{
"AIName": "MazeMonster_TriggerTrap_AI",
"VariableList": [],
"DecisionList": [
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "GuardAlertDeviceInactive",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"VisionsByName": [
"GlobalVisionConfig_WaitTrigger_Fast"
]
},
{
"$type": "RPG.GameCore.AdvSetMinimapAlertVisionState",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
}
},
{
"$type": "RPG.GameCore.AdvNpcGuardAlertDeviceInactive",
"OnPlayerEnter": [
{
"$type": "RPG.GameCore.SetNpcStatus",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Status": "GuardAlertDevice"
},
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"VisionsByName": [
"GlobalVisionConfig_Front_Back_Chase",
"GlobalVisionConfig_Front_Fast_Chase"
]
},
{
"$type": "RPG.GameCore.AdvSetMinimapAlertVisionState",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Enable": true
},
{
"$type": "RPG.GameCore.AdvSetTargetAlertValue",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"BehaviourType": "AlertToMax"
},
{
"$type": "RPG.GameCore.AdvAIRemeberGobackPosition",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
}
},
{
"$type": "RPG.GameCore.AdvAINavigateTo",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Mode": "AIKnowledge",
"MotionFlag": "Run"
}
],
"OnActiveByAlertValue": [
{
"$type": "RPG.GameCore.SetNpcStatus",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Status": "GuardAlertDevice"
},
{
"$type": "RPG.GameCore.AdvSetMinimapAlertVisionState",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Enable": true
},
{
"$type": "RPG.GameCore.AdvSetTargetAlertValue",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"BehaviourType": "AlertToMax"
},
{
"$type": "RPG.GameCore.AdvAIRemeberGobackPosition",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
}
},
{
"$type": "RPG.GameCore.AdvAINavigateTo",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Mode": "NavigateToEntity",
"MotionFlag": "Run",
"NavigateTarget": {
"$type": "RPG.GameCore.TargetFetchAdvLocalPlayer"
}
}
]
}
]
},
"ScoreEvaluatorType": "AdventureDefaultDSE",
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAlertValueInRange",
"AlertValueMax": 5
},
"SuccessScore": {
"Value": 1
}
}
]
},
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "GuardAlertDeviceActive",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvAINavigateTo",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Mode": "AIKnowledge",
"MotionFlag": "Run"
},
{
"$type": "RPG.GameCore.AdvNpcGuardAlertDeviceActive",
"TargetPlayerWhenActive": [
{
"$type": "RPG.GameCore.SetNpcStatus",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
}
}
],
"AlertClearWhenActive": [
{
"$type": "RPG.GameCore.SetNpcStatus",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Status": "GoBack"
}
],
"OnPlayerEnterAgain": [
{
"$type": "RPG.GameCore.AdvAINavigateTo",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"Mode": "AIKnowledge",
"MotionFlag": "Run"
}
]
}
]
},
"ScoreEvaluatorType": "AdventureDefaultDSE",
"Weight": {
"Value": 2
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByNPCStatus",
"NPCStatus": "GuardAlertDevice"
},
"SuccessScore": {
"Value": 1
}
}
]
},
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "Chase",
"RootTask": {
"$type": "RPG.GameCore.SequenceConfig",
"TaskList": [
{
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"VisionsByName": [
"GlobalVisionConfig_Front_Back_Chase",
"GlobalVisionConfig_Front_Fast_Chase"
]
},
{
"$type": "RPG.GameCore.AdvNPCChase",
"ChaseRadius": 30,
"OnMissTarget": {
"$type": "RPG.GameCore.AdvForceSetNpcAlertValue",
"AlertValue": 26
},
"OnEnterChaseButNoTarget": {
"$type": "RPG.GameCore.AdvForceSetNpcAlertValue",
"AlertValue": 26
}
}
]
},
"ScoreEvaluatorType": "AdventureDefaultDSE",
"Weight": {
"Value": 3
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAlertValueInRange",
"AlertValueMin": 5,
"AlertValueMax": 45
}
]
},
"SuccessScore": {
"Value": 1
}
}
]
},
{
"$type": "RPG.GameCore.AIDecisionConfig",
"DecisionName": "GoBack",
"RootTask": {
"$type": "RPG.GameCore.AdvNPCGoback",
"OnBeforeGoBack": {
"$type": "RPG.GameCore.AdvSetNpcVisionsConfig",
"VisionsByName": [
"GlobalVisionConfig_GoBack"
]
}
},
"ScoreEvaluatorType": "AdventureDefaultDSE",
"Weight": {
"Value": 5
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$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": "AdventureDefaultDSE",
"Weight": {
"Value": 4
},
"ConsiderAxisList": [
{
"$type": "RPG.GameCore.CheckPredicateAxis",
"Predicate": {
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAnd",
"PredicateList": [
{
"$type": "RPG.GameCore.ByInAttackRange"
},
{
"$type": "RPG.GameCore.ByAlertValueInRange",
"AlertValueMin": 5,
"AlertValueMax": 45
}
]
},
{
"$type": "RPG.GameCore.ByNPCStatus",
"NPCStatus": "Attack"
}
]
},
"SuccessScore": {
"Value": 1
}
}
]
}
],
"TransitionTable": [
{
"FromDecision": "GuardAlertDeviceInactive",
"AvailableDecisions": [
"GuardAlertDeviceInactive",
"GuardAlertDeviceActive"
]
},
{
"FromDecision": "GuardAlertDeviceActive",
"AvailableDecisions": [
"GuardAlertDeviceActive",
"Chase",
"GoBack"
]
},
{
"FromDecision": "Chase",
"AvailableDecisions": [
"GoBack",
"Chase",
"Attack"
]
},
{
"FromDecision": "Attack",
"AvailableDecisions": [
"GoBack",
"Chase",
"Attack"
]
},
{
"FromDecision": "GoBack",
"AvailableDecisions": [
"GuardAlertDeviceInactive",
"GoBack"
]
}
],
"OnDisable": {
"$type": "RPG.GameCore.AdvNPCIdle"
},
"OnInit": {
"$type": "RPG.GameCore.AdvSetNpcAlertConfig",
"TargetType": {
"$type": "RPG.GameCore.TargetFetchAdvNpcEx"
},
"AlertLimitMax": 45,
"AlertGuardLimitMin": 5,
"AlertGuardLimitMax": 25,
"AlertDeclineSpeed": 3
}
}