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

244 lines
6.8 KiB
JSON

{
"AIName": "ST_Sub_NPCMonster_Taunt_Chase",
"VariableList": [
{
"$type": "RPG.GameCore.AIVariableFloat",
"Name": "CD_ATK"
}
],
"DecisionList": [],
"TransitionTable": [],
"RootState": {
"Name": "Root",
"TaskList": [
{
"$type": "RPG.GameCore.ST_Side_OverrideVision",
"VisionSetName": "DefaultVision_Relaxed",
"Visions": []
},
{
"$type": "RPG.GameCore.ST_Side_OverrideStandByStance",
"Stance": "Detect"
}
],
"TransitionList": [
{
"Trigger": "OnTick",
"TransitionToType": "TreeSucceed",
"Condition": {
"$type": "RPG.GameCore.ByAnd",
"PredicateList": [
{
"$type": "RPG.GameCore.ST_ByInAIStatus",
"States": [
"Attack"
],
"Inverse": true
},
{
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
"States": [
"Taunt"
],
"Inverse": true
}
]
},
"BoolVariableList": [],
"FloatVariableList": []
}
],
"SubStateList": [
{
"$type": "RPG.GameCore.StateTreeStateConfig",
"EnterCondition": {
"$type": "RPG.GameCore.ByAnd",
"PredicateList": [
{
"$type": "RPG.GameCore.ST_ByInAttackDistance"
},
{
"$type": "RPG.GameCore.ST_ByInAttackAngle"
},
{
"$type": "RPG.GameCore.ST_BySkillInCD",
"CDVariableName": "CD_ATK",
"Inverse": true
}
]
},
"TaskList": [
{
"$type": "RPG.GameCore.ST_Main_DoSkill",
"Name": "MazeAtk01",
"CDType": "UseAIConfig",
"CD": 4,
"CDVariableName": "CD_ATK"
},
{
"$type": "RPG.GameCore.ST_Side_SetVariableBool",
"OnEnter": true,
"EnterName": "IsAttacking",
"EnterValue": true,
"OnExit": true,
"ExitName": "IsAttacking"
},
{
"$type": "RPG.GameCore.ST_Side_AttachAIStatus",
"AIStatusTags": [
"Attack"
]
}
],
"TransitionList": [
{
"TransitionToState": "WaitState",
"BoolVariableList": [],
"FloatVariableList": []
}
],
"Name": "AttackState"
},
{
"$type": "RPG.GameCore.StateTreeStateConfig",
"EnterCondition": {
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
"States": [
"Taunt"
]
},
"TaskList": [],
"TransitionList": [
{
"Trigger": "OnTick",
"TransitionToState": "AttackState",
"Condition": {
"$type": "RPG.GameCore.ByAnd",
"PredicateList": [
{
"$type": "RPG.GameCore.ST_ByInAttackDistance"
},
{
"$type": "RPG.GameCore.ST_ByInAttackAngle"
},
{
"$type": "RPG.GameCore.ST_BySkillInCD",
"CDVariableName": "CD_ATK",
"Inverse": true
}
]
},
"BoolVariableList": [],
"FloatVariableList": []
}
],
"SubStateList": [
{
"$type": "RPG.GameCore.StateTreeStateConfig",
"EnterCondition": {
"$type": "RPG.GameCore.ByAnd",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ST_ByInAttackDistance",
"Inverse": true
},
{
"$type": "RPG.GameCore.ST_ByInAttackAngle",
"Inverse": true
}
]
}
]
},
"TaskList": [
{
"$type": "RPG.GameCore.ST_Main_MoveToTarget",
"TargetType": "LocalTarget",
"MoveStance": "Run",
"ToleranceType": "UseAIConfig",
"Tolerance": 2,
"SpeedScale": 1.2
}
],
"TransitionList": [
{
"TransitionToType": "NextState",
"TransitionToState": "WaitSteer",
"BoolVariableList": [],
"FloatVariableList": []
},
{
"Trigger": "OnTick",
"TransitionToType": "NextState",
"Condition": {
"$type": "RPG.GameCore.ST_ByDistToGuardPosition",
"ValueType": "UseAIConfig",
"Inverse": true
},
"BoolVariableList": [],
"FloatVariableList": []
}
],
"Name": "WaitChase"
},
{
"$type": "RPG.GameCore.StateTreeStateConfig",
"TaskList": [
{
"$type": "RPG.GameCore.ST_Main_Wait",
"Time": -1
}
],
"TransitionList": [
{
"Trigger": "OnTick",
"TransitionToType": "TreeFail",
"Condition": {
"$type": "RPG.GameCore.ST_ByHasTarget",
"Inverse": true
},
"BoolVariableList": [],
"FloatVariableList": []
},
{
"Trigger": "OnTick",
"TransitionToState": "WaitChase",
"Condition": {
"$type": "RPG.GameCore.ByAnd",
"PredicateList": [
{
"$type": "RPG.GameCore.ByAny",
"PredicateList": [
{
"$type": "RPG.GameCore.ST_ByInAttackDistance",
"Inverse": true
},
{
"$type": "RPG.GameCore.ST_ByInAttackAngle",
"Inverse": true
}
]
}
]
},
"BoolVariableList": [],
"FloatVariableList": []
}
],
"Name": "WaitSteer"
}
],
"Name": "WaitState"
}
]
},
"OnDisable": {
"$type": "RPG.GameCore.TaskConfig"
},
"OnInit": {
"$type": "RPG.GameCore.TaskConfig"
}
}