behaviour_tree

Citizen

Fields

FieldValue
nodes
[
  {
    "input": {},
    "name": "MerchantHeadAll",
    "nodes": [
      {
        "input": {},
        "name": null,
        "nodes": [],
        "type": "NodeCheckIfNeedToCryForHelp",
        "weight": 1
      },
      {
        "input": {},
        "name": null,
        "nodes": [],
        "type": "NodeRandomBanter",
        "weight": 1
      },
      {
        "input": {
          "scheduleVariableName": "ScheduleVar"
        },
        "name": null,
        "nodes": [],
        "type": "NodeProcessSchedule",
        "weight": 1
      },
      {
        "input": {},
        "name": "CitizenSelector",
        "nodes": [
          {
            "input": {},
            "name": "CombatSelector",
            "nodes": [
              {
                "input": {
                  "targetName": "TargetEnemy"
                },
                "name": "FindHostileNPC",
                "nodes": [
                  {
                    "input": {
                      "treeId": "attack"
                    },
                    "name": "IncludeTree_Attack",
                    "nodes": [],
                    "type": "NodeTreeInclude",
                    "weight": 1
                  }
                ],
                "type": "NodeFindHostileNPC",
                "weight": 1
              },
              {
                "input": {
                  "professionType": "Guard"
                },
                "name": "CheckProfession_Guard",
                "nodes": [
                  {
                    "input": {},
                    "name": "FindCriminalSelector",
                    "nodes": [
                      {
                        "input": {
                          "targetName": "TargetEnemy",
                          "targetType": "Murderer"
                        },
                        "name": "FindMurderer",
                        "nodes": [
                          {
                            "input": {
                              "treeId": "attack"
                            },
                            "name": "IncludeTree_Attack",
                            "nodes": [],
                            "type": "NodeTreeInclude",
                            "weight": 1
                          }
                        ],
                        "type": "NodeFindCriminalNPC",
                        "weight": 1
                      },
                      {
                        "input": {
                          "targetName": "TargetThief",
                          "targetType": "Thief"
                        },
                        "name": "FindThief",
                        "nodes": [
                          {
                            "input": {
                              "treeId": "arrest"
                            },
                            "name": "IncludeTree_Arrest",
                            "nodes": [],
                            "type": "NodeTreeInclude",
                            "weight": 1
                          }
                        ],
                        "type": "NodeFindCriminalNPC",
                        "weight": 1
                      },
                      {
                        "input": {},
                        "name": "MoveToWantedNPC",
                        "nodes": [],
                        "type": "NodeMoveToWantedNPC",
                        "weight": 1
                      }
                    ],
                    "type": "NodeSelector",
                    "weight": 1
                  }
                ],
                "type": "NodeCheckProfession",
                "weight": 1
              }
            ],
            "type": "NodeSelector",
            "weight": 1
          },
          {
            "input": {},
            "name": "ScheduleSelector",
            "nodes": [
              {
                "input": {},
                "name": "ScheduledMovementSelector",
                "nodes": [
                  {
                    "input": {},
                    "name": "ScheduledWakeUp",
                    "nodes": [],
                    "type": "NodeScheduledWakeUp",
                    "weight": 1
                  },
                  {
                    "input": {},
                    "name": "ScheduledCheckIfCanLeave",
                    "nodes": [],
                    "type": "NodeScheduledCheckIfCanLeave",
                    "weight": 1
                  },
                  {
                    "input": {},
                    "name": "MoveToScheduledLocation",
                    "nodes": [],
                    "type": "NodeMoveToScheduledLocation",
                    "weight": 1
                  }
                ],
                "type": "NodeSelector",
                "weight": 1
              },
              {
                "input": {
                  "actionType": "Work"
                },
                "name": "ScheduleWork",
                "nodes": [
                  {
                    "input": {},
                    "name": "SelectorCheckProfession",
                    "nodes": [
                      {
                        "input": {
                          "professionType": "Guard"
                        },
                        "name": "CheckProfession_Guard",
                        "nodes": [
                          {
                            "input": {
                              "treeId": "wander_city_guard"
                            },
                            "name": "IncludeWanderTree",
                            "nodes": [],
                            "type": "NodeTreeInclude",
                            "weight": 1
                          }
                        ],
                        "type": "NodeCheckProfession",
                        "weight": 1
                      },
                      {
                        "input": {
                          "professionType": "Innkeeper"
                        },
                        "name": "CheckProfession_Innkeeper",
                        "nodes": [
                          {
                            "input": {
                              "treeId": "wander_in_work_zone"
                            },
                            "name": "IncludeWanderTree",
                            "nodes": [],
                            "type": "NodeTreeInclude",
                            "weight": 1
                          }
                        ],
                        "type": "NodeCheckProfession",
                        "weight": 1
                      },
                      {
                        "input": {},
                        "name": null,
                        "nodes": [],
                        "type": "NodeWork",
                        "weight": 1
                      }
                    ],
                    "type": "NodeSelector",
                    "weight": 1
                  }
                ],
                "type": "NodeCheckIfNPCIsAtScheduledLocation",
                "weight": 1
              },
              {
                "input": {
                  "actionType": "Entertainment"
                },
                "name": "ScheduleEntertainment",
                "nodes": [
                  {
                    "input": {},
                    "name": "All_Entertainment",
                    "nodes": [
                      {
                        "input": {},
                        "name": null,
                        "nodes": [],
                        "type": "NodeEntertainment",
                        "weight": 1
                      },
                      {
                        "input": {
                          "treeId": "sit_in_map_prefab"
                        },
                        "name": "IncludeTree_SitInMapPrefab",
                        "nodes": [],
                        "type": "NodeTreeInclude",
                        "weight": 1
                      }
                    ],
                    "type": "NodeAll",
                    "weight": 1
                  }
                ],
                "type": "NodeCheckIfNPCIsAtScheduledLocation",
                "weight": 1
              },
              {
                "input": {
                  "actionType": "Sleep"
                },
                "name": "ScheduleSleep",
                "nodes": [
                  {
                    "input": {},
                    "name": "All_Sleep",
                    "nodes": [
                      {
                        "input": {},
                        "name": null,
                        "nodes": [],
                        "type": "NodeSleep",
                        "weight": 1
                      }
                    ],
                    "type": "NodeAll",
                    "weight": 1
                  }
                ],
                "type": "NodeCheckIfNPCIsAtScheduledLocation",
                "weight": 1
              }
            ],
            "type": "NodeSelector",
            "weight": 1
          }
        ],
        "type": "NodeSelector",
        "weight": 1
      }
    ],
    "type": "NodeAll",
    "weight": 1
  }
]