[
  {
    "type": "behavior",
    "id": "npc_needs",
    "strategy": "sequential_until_done",
    "children": [ "npc_homeostasis", "npc_thirst", "npc_hunger" ]
  },
  {
    "type": "behavior",
    "id": "npc_homeostasis",
    "strategy": "fallback",
    "conditions": [ { "predicate": "npc_needs_warmth_badly" } ],
    "children": [ "npc_wear_warmer_clothes", "npc_get_warm" ]
  },
  {
    "type": "behavior",
    "id": "npc_wear_warmer_clothes",
    "conditions": [ { "predicate": "npc_can_wear_warmer_clothes" } ],
    "goal": "wear_warmer_clothes"
  },
  {
    "type": "behavior",
    "id": "npc_get_warm",
    "strategy": "fallback",
    "children": [ "npc_make_fire", "npc_take_shelter" ]
  },
  {
    "type": "behavior",
    "id": "npc_make_fire",
    "conditions": [ { "predicate": "npc_can_make_fire" } ],
    "goal": "start_fire"
  },
  {
    "type": "behavior",
    "id": "npc_take_shelter",
    "conditions": [ { "predicate": "npc_can_take_shelter" } ],
    "goal": "take_shelter"
  },
  {
    "type": "behavior",
    "id": "npc_thirst",
    "strategy": "sequential",
    "conditions": [ { "predicate": "npc_needs_water_badly" } ],
    "children": [ "npc_drink_water" ]
  },
  {
    "type": "behavior",
    "id": "npc_drink_water",
    "conditions": [ { "predicate": "npc_has_water" } ],
    "goal": "drink_water"
  },
  {
    "type": "behavior",
    "id": "npc_hunger",
    "strategy": "sequential",
    "conditions": [ { "predicate": "npc_needs_food_badly" } ],
    "children": [ "npc_eat_food" ]
  },
  {
    "type": "behavior",
    "id": "npc_eat_food",
    "conditions": [ { "predicate": "npc_has_food" } ],
    "goal": "eat_food"
  }
]
