mirror of
https://gitlab.com/Dimbreath/turnbasedgamedata.git
synced 2026-03-05 15:55:55 +08:00
832 lines
33 KiB
JSON
832 lines
33 KiB
JSON
{
|
|
"AIName": "ST_NPCMonster_Master_Base",
|
|
"VariableList": [],
|
|
"GlobalVariableList": [],
|
|
"DecisionList": [],
|
|
"TransitionTable": [],
|
|
"RootState": {
|
|
"Name": "Root",
|
|
"TaskList": [],
|
|
"TransitionList": [],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAny",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"HangUp",
|
|
"Confine"
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByOnHit"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_StateMemory",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 200
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_StateMemory",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 299
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAny",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"HangUp"
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByOnHit"
|
|
}
|
|
]
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnStateSucceeded",
|
|
"TransitionToType": "TreeSucceed",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Controlled.json",
|
|
"Name": "Ctrl_HangUp"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAny",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"Confine"
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_StateMemory",
|
|
"CompareType": "Equal",
|
|
"CompareValue": 201
|
|
}
|
|
]
|
|
},
|
|
"TaskList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_Side_SetVariableFloat",
|
|
"OnEnter": true,
|
|
"EnterName": "Int_StateMemory",
|
|
"EnterValue": 201
|
|
}
|
|
],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToState": "SpecialExitCombatState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": [
|
|
{
|
|
"VariableName": "Int_StateMemory",
|
|
"Value": 901
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Confine.json",
|
|
"OverrideVariableList": [],
|
|
"Name": "Ctrl_Confine_Sub"
|
|
}
|
|
],
|
|
"Name": "Ctrl_Confine"
|
|
}
|
|
],
|
|
"Name": "ControlledState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAny",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"Taunt",
|
|
"Fear",
|
|
"Enchanted"
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_StateMemory",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 100
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_StateMemory",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 199
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"TransitionList": [],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"Taunt"
|
|
]
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToState": "ExitCombatState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 100
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 199
|
|
}
|
|
]
|
|
},
|
|
"TransitionList": [],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Taunt_Chase.json",
|
|
"Name": "TauntState_Chase"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 200
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 299
|
|
}
|
|
]
|
|
},
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Taunt_Steer.json",
|
|
"Name": "TauntState_Steer"
|
|
}
|
|
],
|
|
"Name": "TauntState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"Fear"
|
|
]
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToState": "ExitCombatState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Fear.json",
|
|
"Name": "FearState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"Enchanted"
|
|
]
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToState": "SpecialExitCombatState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": [
|
|
{
|
|
"VariableName": "Int_StateMemory",
|
|
"Value": 901
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Enchanted_Chase.json",
|
|
"OverrideVariableList": [],
|
|
"Name": "EnchantedState"
|
|
}
|
|
],
|
|
"Name": "AbnormalState"
|
|
}
|
|
],
|
|
"Name": "AbnormalLayer"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToType": "TreeFail",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ByAny",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"Taunt",
|
|
"HangUp",
|
|
"Fear",
|
|
"Enchanted",
|
|
"Confine"
|
|
]
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByOnHit"
|
|
}
|
|
]
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByAIHangUp"
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "SystemicState",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ByAny",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByAIHangUp",
|
|
"Inverse": true
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByAlertLevel",
|
|
"AlertLevel": "Alert"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByEnterCombat"
|
|
}
|
|
]
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_HangUp.json",
|
|
"Name": "HangUpState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"NpcChase"
|
|
]
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToState": "ExitCombatState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 100
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 199
|
|
}
|
|
]
|
|
},
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_NPCInteract_Chase.json",
|
|
"Name": "NPCChaseState_Chase"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 200
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 299
|
|
}
|
|
]
|
|
},
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_NPCInteract_Steer.json",
|
|
"Name": "NPCChaseState_Steer"
|
|
}
|
|
],
|
|
"Name": "NPCChaseState"
|
|
}
|
|
],
|
|
"Name": "NPCInteractLayer"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "HangUpState",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByAIHangUp"
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
},
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "HangUpState",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"None"
|
|
]
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"Taunt",
|
|
"Fear",
|
|
"Enchanted"
|
|
],
|
|
"Inverse": true
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_StateMemory",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 901
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_StateMemory",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 999
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"TransitionList": [],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_StateMemory",
|
|
"CompareType": "Equal",
|
|
"CompareValue": 901
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToType": "TreeFail",
|
|
"TransitionToState": "ExitCombatAlert",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByAlertLevel",
|
|
"AlertLevel": "Alert"
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": [
|
|
{
|
|
"VariableName": "Int_StateMemory"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"TransitionToType": "TreeSucceed",
|
|
"TransitionToState": "ExitCombatState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": [
|
|
{
|
|
"VariableName": "Int_StateMemory"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_ExitCombat_Calm.json",
|
|
"Name": "ExitCombatCalmState"
|
|
}
|
|
],
|
|
"Name": "SpecialExitCombatState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"TransitionList": [],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByAlertLevel"
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "CombatState",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByEnterCombat"
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
},
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "AlertState",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByAlertLevel",
|
|
"AlertLevel": "Alert"
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Relax.json",
|
|
"Name": "RelaxState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByEnterCombat"
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnStateFailed",
|
|
"TransitionToState": "ExitCombatState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 100
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 199
|
|
}
|
|
]
|
|
},
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "Equal",
|
|
"CompareValue": 101
|
|
},
|
|
"TransitionList": [],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Combat_Chase.json",
|
|
"Name": "CombatState_Chase_Default"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "Equal",
|
|
"CompareValue": 102
|
|
},
|
|
"TaskList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_Side_TriggerCustomString",
|
|
"UseVariable": true,
|
|
"VariableName": "CustomStringName"
|
|
}
|
|
],
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByCompareCarryMazebuff",
|
|
"TargetType": {
|
|
"$type": "RPG.GameCore.TargetAlias",
|
|
"Alias": "Caster"
|
|
},
|
|
"BuffID": 2013105,
|
|
"Inverse": true
|
|
},
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"TaskList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_Main_Wait",
|
|
"Time": 1
|
|
}
|
|
],
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToType": "NextState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"Name": "SkillWait"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"TaskList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_Main_DoSkill",
|
|
"Name": "MazeSkill01"
|
|
}
|
|
],
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnStateSucceeded",
|
|
"TransitionToState": "CombatSubState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
},
|
|
{
|
|
"Trigger": "OnStateFailed",
|
|
"TransitionToState": "SkillWait",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"Name": "Skill"
|
|
}
|
|
],
|
|
"Name": "SkillState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnStateFailed",
|
|
"TransitionToState": "ExitCombatState",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
},
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "SkillState",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ByCompareCarryMazebuff",
|
|
"TargetType": {
|
|
"$type": "RPG.GameCore.TargetAlias",
|
|
"Alias": "Caster"
|
|
},
|
|
"BuffID": 2013105,
|
|
"Inverse": true
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Combat_Chase.json",
|
|
"Name": "CombatSubState"
|
|
}
|
|
],
|
|
"Name": "CombatState_Chase_MazeSkill"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "Equal",
|
|
"CompareValue": 103
|
|
},
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Combat_Chase_Flash.json",
|
|
"Name": "CombatState_Chase_Flash"
|
|
}
|
|
],
|
|
"Name": "CombatState_Chase"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeStateConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "GreaterEqual",
|
|
"CompareValue": 200
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "LessEqual",
|
|
"CompareValue": 299
|
|
}
|
|
]
|
|
},
|
|
"SubStateList": [
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "Equal",
|
|
"CompareValue": 201
|
|
},
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Combat_Steer.json",
|
|
"Name": "CombatState_Steer_Default"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "Equal",
|
|
"CompareValue": 202
|
|
},
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Combat_Steer_Flash.json",
|
|
"Name": "CombatState_Steer_Flash"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByCompareVariableFloat",
|
|
"VarName": "Int_AIStrategy",
|
|
"CompareType": "Equal",
|
|
"CompareValue": 203
|
|
},
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Combat_Steer_Notmove.json",
|
|
"Name": "CombatState_Steer_Flash"
|
|
}
|
|
],
|
|
"Name": "CombatState_Steer"
|
|
}
|
|
],
|
|
"Name": "CombatState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ST_ByAlertLevel",
|
|
"AlertLevel": "Alert"
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "CombatState",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByEnterCombat"
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
},
|
|
{
|
|
"Trigger": "OnTick",
|
|
"TransitionToState": "RelaxState",
|
|
"Condition": {
|
|
"$type": "RPG.GameCore.ST_ByAlertLevel"
|
|
},
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_Alert.json",
|
|
"Name": "AlertState"
|
|
},
|
|
{
|
|
"$type": "RPG.GameCore.StateTreeSubTreeConfig",
|
|
"EnterCondition": {
|
|
"$type": "RPG.GameCore.ByAnd",
|
|
"PredicateList": [
|
|
{
|
|
"$type": "RPG.GameCore.ST_ByHasAbnormalState",
|
|
"States": [
|
|
"NpcChase"
|
|
],
|
|
"Inverse": true
|
|
}
|
|
]
|
|
},
|
|
"TransitionList": [
|
|
{
|
|
"TransitionToType": "TreeSucceed",
|
|
"BoolVariableList": [],
|
|
"FloatVariableList": []
|
|
}
|
|
],
|
|
"FilePath": "Config/ConfigAI/Adventure/NPCMonster/ST_NPCMonster_Sub_ExitCombat.json",
|
|
"Name": "ExitCombatState"
|
|
}
|
|
],
|
|
"Name": "SystemicState"
|
|
}
|
|
],
|
|
"Name": "SystemicLayer"
|
|
}
|
|
],
|
|
"Name": "NormalLayer"
|
|
}
|
|
]
|
|
},
|
|
"OnDisable": {
|
|
"$type": "RPG.GameCore.TaskConfig"
|
|
},
|
|
"OnInit": {
|
|
"$type": "RPG.GameCore.TaskConfig"
|
|
}
|
|
} |