893 lines
28 KiB
JSON
893 lines
28 KiB
JSON
|
[
|
||
|
{
|
||
|
"Type": "HTN",
|
||
|
"Name": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTN'",
|
||
|
"Flags": "RF_Public | RF_Standalone | RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"StartNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_Scope'HTN_Combat:HTNNode_Scope_11'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.18"
|
||
|
}
|
||
|
],
|
||
|
"BlackboardAsset": {
|
||
|
"ObjectName": "BlackboardData'BB_Mimic'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/BB_Mimic.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_Blackboard",
|
||
|
"Name": "HTNDecorator_Blackboard_37",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNDecorator_Blackboard'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"FloatValue": 50.0,
|
||
|
"CachedDescription": "ZoneRadius Is Greater Than Or Equal To 50.000000",
|
||
|
"OperationType": 5,
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "ZoneRadius"
|
||
|
},
|
||
|
"bInverseCondition": true,
|
||
|
"bCheckConditionOnTick": false,
|
||
|
"bCheckConditionOnTickOnlyOnce": false,
|
||
|
"NodeName": "Dont has limiting zone",
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_Blackboard",
|
||
|
"Name": "HTNDecorator_Blackboard_38",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNDecorator_Blackboard'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"CachedDescription": "CanFireInMove Is Not Set",
|
||
|
"OperationType": 1,
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "CanFireInMove"
|
||
|
},
|
||
|
"bCheckConditionOnTick": false,
|
||
|
"bCheckConditionOnTickOnlyOnce": false,
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_CheckAngle_C",
|
||
|
"Name": "HTNDecorator_CheckAngle_C_1",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "BlueprintGeneratedClass'/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_CheckAngle.HTNDecorator_CheckAngle_C'",
|
||
|
"Template": {
|
||
|
"ObjectName": "HTNDecorator_CheckAngle_C'Default__HTNDecorator_CheckAngle_C'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_CheckAngle.2"
|
||
|
},
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"Cover": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"MinDotThreshhold[1]": 0.6,
|
||
|
"MaxDotThreshhold[2]": 0.98,
|
||
|
"ShootLocationKey[3]": {
|
||
|
"SelectedKeyName": "ShootLocation"
|
||
|
},
|
||
|
"CheckMinThreshold[4]": true,
|
||
|
"bInverseCondition": true,
|
||
|
"bCheckConditionOnTick": false,
|
||
|
"ConditionCheckInterval": 0.5,
|
||
|
"NodeName": "Is Angle Not Too Big",
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_ConfigurableDistanceCheck",
|
||
|
"Name": "HTNDecorator_ConfigurableDistanceCheck_2",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNDecorator_ConfigurableDistanceCheck'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"LocationSourceA": {
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "SelfLocation"
|
||
|
}
|
||
|
},
|
||
|
"LocationSourceB": {
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "ShootLocation"
|
||
|
}
|
||
|
},
|
||
|
"CheckMode": "EHTNDecoratorDistanceCheckMode::Distance2D",
|
||
|
"DistanceRangeKey": {
|
||
|
"SelectedKeyName": "ForceAttackRange"
|
||
|
},
|
||
|
"bInverseCondition": true,
|
||
|
"NodeName": "Is not in foce attack range",
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_IsInCover_C",
|
||
|
"Name": "HTNDecorator_IsInCover_C_3",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "BlueprintGeneratedClass'/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_IsInCover.HTNDecorator_IsInCover_C'",
|
||
|
"Template": {
|
||
|
"ObjectName": "HTNDecorator_IsInCover_C'Default__HTNDecorator_IsInCover_C'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_IsInCover.2"
|
||
|
},
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"Cover": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"LocTolerance[1]": 150.0,
|
||
|
"bCheckConditionOnTick": false,
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_IsTargetTooFar_C",
|
||
|
"Name": "HTNDecorator_IsTargetTooFar_C_1",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "BlueprintGeneratedClass'/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_IsTargetTooFar.HTNDecorator_IsTargetTooFar_C'",
|
||
|
"Template": {
|
||
|
"ObjectName": "HTNDecorator_IsTargetTooFar_C'Default__HTNDecorator_IsTargetTooFar_C'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_IsTargetTooFar.2"
|
||
|
},
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"ShootLocationKey": {
|
||
|
"SelectedKeyName": "ShootLocation"
|
||
|
},
|
||
|
"DefensiveDistance[1]": {
|
||
|
"SelectedKeyName": "DefensiveDistance"
|
||
|
},
|
||
|
"bInverseCondition": true,
|
||
|
"bCheckConditionOnTick": false,
|
||
|
"NodeName": "IsTargetNotTooFar",
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_IsTargetTooFarFromZone_C",
|
||
|
"Name": "HTNDecorator_IsTargetTooFarFromZone_C_5",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "BlueprintGeneratedClass'/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_IsTargetTooFarFromZone.HTNDecorator_IsTargetTooFarFromZone_C'",
|
||
|
"Template": {
|
||
|
"ObjectName": "HTNDecorator_IsTargetTooFarFromZone_C'Default__HTNDecorator_IsTargetTooFarFromZone_C'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_IsTargetTooFarFromZone.2"
|
||
|
},
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"ZoneCenter": {
|
||
|
"SelectedKeyName": "ZoneCenterLocation"
|
||
|
},
|
||
|
"ShootLocation[1]": {
|
||
|
"SelectedKeyName": "ShootLocation"
|
||
|
},
|
||
|
"MaxAttackDist[2]": {
|
||
|
"SelectedKeyName": "MaxAttackDist"
|
||
|
},
|
||
|
"ZoneRadius[3]": {
|
||
|
"SelectedKeyName": "ZoneRadius"
|
||
|
},
|
||
|
"DistGap[4]": 1000.0,
|
||
|
"bInverseCondition": true,
|
||
|
"NodeName": "IsTargetNotTooFarFromZone",
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_NeedAttack_C",
|
||
|
"Name": "HTNDecorator_NeedAttack_C_9",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "BlueprintGeneratedClass'/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_NeedAttack.HTNDecorator_NeedAttack_C'",
|
||
|
"Template": {
|
||
|
"ObjectName": "HTNDecorator_NeedAttack_C'Default__HTNDecorator_NeedAttack_C'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/Decorators/HTNDecorator_NeedAttack.2"
|
||
|
},
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"ShootLocation": {
|
||
|
"SelectedKeyName": "ShootLocation"
|
||
|
},
|
||
|
"Cover[1]": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"CanFireNowKey[2]": {
|
||
|
"SelectedKeyName": "CanFireNow"
|
||
|
},
|
||
|
"ForceAttackRangeKey[3]": {
|
||
|
"SelectedKeyName": "ForceAttackRange"
|
||
|
},
|
||
|
"ConditionCheckInterval": 0.5,
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNDecorator_RadiusFocusScope",
|
||
|
"Name": "HTNDecorator_RadiusFocusScope_9",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNDecorator_RadiusFocusScope'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"FocusTarget": {
|
||
|
"SelectedKeyName": "ShootLocation"
|
||
|
},
|
||
|
"bObserveBlackboardValue": true,
|
||
|
"bRestoreOldFocusOnExecutionFinish": false,
|
||
|
"RotationSpeed": 6.0,
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_If",
|
||
|
"Name": "HTNNode_If_3",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_If'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NumPrimaryNodes": 1,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_SubNetwork'HTN_Combat:HTNNode_SubNetwork_4'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.22"
|
||
|
},
|
||
|
{
|
||
|
"ObjectName": "HTNTask_UnOccupyCover_C'HTN_Combat:HTNTask_UnOccupyCover_C_5'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.33"
|
||
|
}
|
||
|
],
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_IsInCover_C'HTN_Combat:HTNDecorator_IsInCover_C_3'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.5"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_If",
|
||
|
"Name": "HTNNode_If_34",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_If'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NumPrimaryNodes": 1,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_UnOccupyCover_C'HTN_Combat:HTNTask_UnOccupyCover_C_6'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.34"
|
||
|
},
|
||
|
{
|
||
|
"ObjectName": "HTNTask_UnOccupyCover_C'HTN_Combat:HTNTask_UnOccupyCover_C_0'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.32"
|
||
|
}
|
||
|
],
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_CheckAngle_C'HTN_Combat:HTNDecorator_CheckAngle_C_1'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.3"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_If",
|
||
|
"Name": "HTNNode_If_36",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_If'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NumPrimaryNodes": 1,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_SubPlan'HTN_Combat:HTNTask_SubPlan_8'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.31"
|
||
|
},
|
||
|
{
|
||
|
"ObjectName": "HTNNode_SubNetwork'HTN_Combat:HTNNode_SubNetwork_13'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.19"
|
||
|
}
|
||
|
],
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_ConfigurableDistanceCheck'HTN_Combat:HTNDecorator_ConfigurableDistanceCheck_2'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.4"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_If",
|
||
|
"Name": "HTNNode_If_51",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_If'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NumPrimaryNodes": 1,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_Prefer'HTN_Combat:HTNNode_Prefer_7'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.17"
|
||
|
},
|
||
|
{
|
||
|
"ObjectName": "HTNNode_SubNetwork'HTN_Combat:HTNNode_SubNetwork_19'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.21"
|
||
|
}
|
||
|
],
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_IsTargetTooFarFromZone_C'HTN_Combat:HTNDecorator_IsTargetTooFarFromZone_C_5'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.7"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_If",
|
||
|
"Name": "HTNNode_If_56",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_If'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NumPrimaryNodes": 1,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_Prefer'HTN_Combat:HTNNode_Prefer_7'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.17"
|
||
|
},
|
||
|
{
|
||
|
"ObjectName": "HTNNode_If'HTN_Combat:HTNNode_If_51'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.13"
|
||
|
}
|
||
|
],
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_Blackboard'HTN_Combat:HTNDecorator_Blackboard_37'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.1"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_If",
|
||
|
"Name": "HTNNode_If_57",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_If'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NumPrimaryNodes": 1,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_Fail'HTN_Combat:HTNTask_Fail_6'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.28"
|
||
|
},
|
||
|
{
|
||
|
"ObjectName": "HTNNode_If'HTN_Combat:HTNNode_If_56'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.14"
|
||
|
}
|
||
|
],
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_NeedAttack_C'HTN_Combat:HTNDecorator_NeedAttack_C_9'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.8"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_If",
|
||
|
"Name": "HTNNode_If_58",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_If'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"bCanConditionsInterruptTrueBranch": false,
|
||
|
"NumPrimaryNodes": 1,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_ClearValue'HTN_Combat:HTNTask_ClearValue_10'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.25"
|
||
|
},
|
||
|
{
|
||
|
"ObjectName": "HTNNode_If'HTN_Combat:HTNNode_If_56'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.14"
|
||
|
}
|
||
|
],
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_Blackboard'HTN_Combat:HTNDecorator_Blackboard_38'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.2"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_Prefer",
|
||
|
"Name": "HTNNode_Prefer_7",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_Prefer'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NumPrimaryNodes": 1,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_SubNetwork'HTN_Combat:HTNNode_SubNetwork_17'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.20"
|
||
|
},
|
||
|
{
|
||
|
"ObjectName": "HTNNode_SubNetwork'HTN_Combat:HTNNode_SubNetwork_19'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.21"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_Scope",
|
||
|
"Name": "HTNNode_Scope_11",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_Scope'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_If'HTN_Combat:HTNNode_If_3'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.10"
|
||
|
}
|
||
|
],
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_RadiusFocusScope'HTN_Combat:HTNDecorator_RadiusFocusScope_9'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.9"
|
||
|
}
|
||
|
],
|
||
|
"Services": [
|
||
|
{
|
||
|
"ObjectName": "HTNService_SetShootLocation'HTN_Combat:HTNService_SetShootLocation_9'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.23"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_SubNetwork",
|
||
|
"Name": "HTNNode_SubNetwork_13",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_SubNetwork'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"HTN": {
|
||
|
"ObjectName": "HTN'HTN_Attack'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Attack.0"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_SetValue'HTN_Combat:HTNTask_SetValue_2'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.29"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_SubNetwork",
|
||
|
"Name": "HTNNode_SubNetwork_17",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_SubNetwork'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"HTN": {
|
||
|
"ObjectName": "HTN'HTN_GetInShootingRange'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_GetInShootingRange.0"
|
||
|
},
|
||
|
"Decorators": [
|
||
|
{
|
||
|
"ObjectName": "HTNDecorator_IsTargetTooFar_C'HTN_Combat:HTNDecorator_IsTargetTooFar_C_1'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.6"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_SubNetwork",
|
||
|
"Name": "HTNNode_SubNetwork_19",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_SubNetwork'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"HTN": {
|
||
|
"ObjectName": "HTN'HTN_Defensive'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Defensive.1"
|
||
|
},
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNNode_SubNetwork",
|
||
|
"Name": "HTNNode_SubNetwork_4",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNNode_SubNetwork'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"HTN": {
|
||
|
"ObjectName": "HTN'HTN_CoverLogic'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_CoverLogic.2"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_SubPlan'HTN_Combat:HTNTask_SubPlan_0'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.30"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNService_SetShootLocation",
|
||
|
"Name": "HTNService_SetShootLocation_9",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNService_SetShootLocation'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"ShootLocationKey": {
|
||
|
"SelectedKeyName": "ShootLocation"
|
||
|
},
|
||
|
"EnemyKey": {
|
||
|
"SelectedKeyName": "Enemy"
|
||
|
},
|
||
|
"TargetLocationOffset": {
|
||
|
"X": 0.0,
|
||
|
"Y": 0.0,
|
||
|
"Z": 140.0
|
||
|
},
|
||
|
"NPCConfig": {
|
||
|
"ObjectName": "NPCConfig'DA_NPCConfig'",
|
||
|
"ObjectPath": "/Game/ITR2/Configurations/DA_NPCConfig.0"
|
||
|
},
|
||
|
"TickInterval": 0.02,
|
||
|
"TickIntervalRandomDeviation": 0.0,
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_ClearValue",
|
||
|
"Name": "HTNTask_ClearValue_0",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_ClearValue'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_SubNetwork'HTN_Combat:HTNNode_SubNetwork_13'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.19"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_ClearValue",
|
||
|
"Name": "HTNTask_ClearValue_10",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_ClearValue'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "CanFireNow"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_If'HTN_Combat:HTNNode_If_57'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.15"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_ClearValue",
|
||
|
"Name": "HTNTask_ClearValue_2",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_ClearValue'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_SubNetwork'HTN_Combat:HTNNode_SubNetwork_13'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.19"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_ClearValue",
|
||
|
"Name": "HTNTask_ClearValue_3",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_ClearValue'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_If'HTN_Combat:HTNNode_If_36'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.12"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_Fail",
|
||
|
"Name": "HTNTask_Fail_6",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_Fail'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_SetValue",
|
||
|
"Name": "HTNTask_SetValue_2",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_SetValue'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"BlackboardKey": {
|
||
|
"SelectedKeyName": "IsShootingInMove"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_Wait'HTN_Combat:HTNTask_Wait_2'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.35"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_SubPlan",
|
||
|
"Name": "HTNTask_SubPlan_0",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_SubPlan'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_If'HTN_Combat:HTNNode_If_34'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.11"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_SubPlan",
|
||
|
"Name": "HTNTask_SubPlan_8",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_SubPlan'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNNode_If'HTN_Combat:HTNNode_If_58'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.16"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_UnOccupyCover_C",
|
||
|
"Name": "HTNTask_UnOccupyCover_C_0",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "BlueprintGeneratedClass'/Game/ITR2/BPs/AI/HTN/Tasks/HTNTask_UnOccupyCover.HTNTask_UnOccupyCover_C'",
|
||
|
"Template": {
|
||
|
"ObjectName": "HTNTask_UnOccupyCover_C'Default__HTNTask_UnOccupyCover_C'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/Tasks/HTNTask_UnOccupyCover.2"
|
||
|
},
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"Cover": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_ClearValue'HTN_Combat:HTNTask_ClearValue_0'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.24"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_UnOccupyCover_C",
|
||
|
"Name": "HTNTask_UnOccupyCover_C_5",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "BlueprintGeneratedClass'/Game/ITR2/BPs/AI/HTN/Tasks/HTNTask_UnOccupyCover.HTNTask_UnOccupyCover_C'",
|
||
|
"Template": {
|
||
|
"ObjectName": "HTNTask_UnOccupyCover_C'Default__HTNTask_UnOccupyCover_C'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/Tasks/HTNTask_UnOccupyCover.2"
|
||
|
},
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"Cover": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_ClearValue'HTN_Combat:HTNTask_ClearValue_2'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.26"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_UnOccupyCover_C",
|
||
|
"Name": "HTNTask_UnOccupyCover_C_6",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "BlueprintGeneratedClass'/Game/ITR2/BPs/AI/HTN/Tasks/HTNTask_UnOccupyCover.HTNTask_UnOccupyCover_C'",
|
||
|
"Template": {
|
||
|
"ObjectName": "HTNTask_UnOccupyCover_C'Default__HTNTask_UnOccupyCover_C'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/Tasks/HTNTask_UnOccupyCover.2"
|
||
|
},
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"Cover": {
|
||
|
"SelectedKeyName": "Cover"
|
||
|
},
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_ClearValue'HTN_Combat:HTNTask_ClearValue_3'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.27"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"Type": "HTNTask_Wait",
|
||
|
"Name": "HTNTask_Wait_2",
|
||
|
"Outer": "HTN_Combat",
|
||
|
"Class": "UScriptClass'HTNTask_Wait'",
|
||
|
"Flags": "RF_Transactional | RF_WasLoaded | RF_LoadCompleted",
|
||
|
"Properties": {
|
||
|
"WaitTime": 0.35,
|
||
|
"RandomDeviation": 0.15,
|
||
|
"NextNodes": [
|
||
|
{
|
||
|
"ObjectName": "HTNTask_SubPlan'HTN_Combat:HTNTask_SubPlan_8'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.31"
|
||
|
}
|
||
|
],
|
||
|
"HTNAsset": {
|
||
|
"ObjectName": "HTN'HTN_Combat'",
|
||
|
"ObjectPath": "/Game/ITR2/BPs/AI/HTN/HTN_Combat.0"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
]
|