mirror of
https://gitlab.com/Dimbreath/turnbasedgamedata.git
synced 2026-03-05 15:55:55 +08:00
165 lines
4.3 KiB
JSON
165 lines
4.3 KiB
JSON
{
|
|
"AIName": "ST_Sub_NPCMonster_Combat_Steer",
|
|
"VariableList": [
|
|
{
|
|
"$type": "RPG.GameCore.AIVariableFloat",
|
|
"Name": "CD_ATK"
|
|
}
|
|
],
|
|
"DecisionList": [],
|
|
"TransitionTable": [],
|
|
"RootState": {
|
|
"Name": "Root",
|
|
"TaskList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_Side_OverrideVision",
|
|
"VisionSetName": "DefaultVision_Chase"
|
|
}
|
|
],
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToType": "TreeFail",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByInAIStatus",
|
|
"States": [
|
|
"Attack"
|
|
],
|
|
"Inverse": true
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByExitCombat"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"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_AttachAIStatus",
|
|
"AIStatusTags": [
|
|
"Attack"
|
|
]
|
|
}
|
|
],
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToState": "WaitState"
|
|
}
|
|
],
|
|
"Name": "AttackState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"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
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByInAttackDistance",
|
|
"Inverse": true
|
|
},
|
|
"TaskList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_Main_MoveToTarget",
|
|
"TargetType": "LocalTarget",
|
|
"MoveStance": "Run",
|
|
"ToleranceType": "UseAIConfig",
|
|
"Tolerance": 2
|
|
}
|
|
],
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToType": "NextState",
|
|
"TransitionToState": "WaitSteer"
|
|
}
|
|
],
|
|
"Name": "WaitChase"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"TaskList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_Main_Wait",
|
|
"Time": -1
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_Side_SteerToTarget"
|
|
}
|
|
],
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToType": "TreeFail",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByExitCombat"
|
|
}
|
|
},
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "WaitChase",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByInAttackDistance",
|
|
"Inverse": true
|
|
}
|
|
}
|
|
],
|
|
"Name": "WaitSteer"
|
|
}
|
|
],
|
|
"Name": "WaitState"
|
|
}
|
|
]
|
|
}
|
|
} |