[
  {
    "type": "ter_furn_transform",
    "//": "Used for unlocking all hackable furniture in the mod.",
    "id": "afs_multi_unlock",
    "furniture": [
      {
        "result": "f_intermodal_crate_open",
        "valid_furniture": [ "f_sealed_intermodal_crate" ],
        "message": "The shipping crate bolts slide back and the lid pops open.",
        "message_good": true
      },
      {
        "result": "f_reinforced_displaycase_o",
        "valid_furniture": [ "f_reinforced_displaycase" ],
        "message": "A panel of reinforced glass receeds into the case.",
        "message_good": true
      },
      {
        "result": "f_e_safe_c",
        "valid_furniture": [ "f_e_safe_l" ],
        "message": "The safe's display chimes happily as the locking mechanism releases.",
        "message_good": true
      }
    ],
    "terrain": [
      {
        "result": "t_door_metal_c",
        "valid_terrain": [ "t_afs_door_metal_elocked" ],
        "message": "The door's PIN pad chimes happily as the locking mechanism releases.",
        "message_good": true
      },
      {
        "result": "t_afs_security_door_frame",
        "valid_terrain": [ "t_afs_security_gate_closed" ],
        "message": "The security gate recedes into the cieling.",
        "message_good": true
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "//": "Used for generic critical failures on furniture that doesn't define custom behavior.",
    "id": "afs_multi_lockdown",
    "furniture": [
      {
        "result": "f_sealed_intermodal_crate_locked",
        "valid_furniture": [ "f_sealed_intermodal_crate" ],
        "message": "The shipping crate beeps unhappily before powering down."
      },
      {
        "result": "f_e_safe_l_down",
        "valid_furniture": [ "f_e_safe_l" ],
        "message": "The safe beeps unhappily before powering down."
      },
      {
        "result": "f_security_panel_locked",
        "valid_furniture": [ "f_security_panel", "f_security_panel_10" ],
        "message": "You trip the security failsafe and the panel fries it's own electronics."
      },
      {
        "result": "f_reinforced_displaycase_locked",
        "valid_furniture": [ "f_reinforced_displaycase" ],
        "message": "The display case beeps unhappily before powering down."
      }
    ],
    "terrain": [
      {
        "result": "t_door_metal_locked",
        "valid_terrain": [ "t_afs_door_metal_elocked" ],
        "message": "The door's PIN pad chimes unhappily before powering down."
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "transform_gratings",
    "terrain": [
      {
        "result": "t_prison_grate_r",
        "valid_terrain": [ "t_prison_grate" ],
        "message": "The grating retracts into the floor and ceiling."
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "engine_overload_transform",
    "terrain": [ { "result": [ "t_afs_gun_ship_engine_console_burnt" ], "valid_terrain": [ "t_afs_gun_ship_engine_console" ] } ]
  },
  {
    "type": "ter_furn_transform",
    "id": "afs_lights_on",
    "terrain": [
      { "result": "t_metal_floor_olight", "valid_terrain": [ "t_metal_floor_olight_inactive" ] },
      { "result": "t_linoleum_whitefloor_olight", "valid_terrain": [ "t_linoleum_white_olight_inactive" ] },
      { "result": "t_thconc_floor_olight", "valid_terrain": [ "t_thconc_floor_olight_inactive" ] }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "afs_lights_off",
    "terrain": [
      { "result": "t_metal_floor_olight_inactive", "valid_terrain": [ "t_metal_floor_olight" ] },
      { "result": "t_linoleum_white_olight_inactive", "valid_terrain": [ "t_linoleum_whitefloor_olight" ] }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "afs_deadify_plants",
    "terrain": [
      {
        "result": "t_dirt",
        "valid_terrain": [
          "t_tree",
          "t_tree_young",
          "t_tree_blackjack",
          "t_tree_alder",
          "t_tree_basswood",
          "t_tree_cottonwood",
          "t_tree_elm",
          "t_tree_pine",
          "t_tree_birch",
          "t_tree_willow",
          "t_tree_walnut",
          "t_tree_butternut",
          "t_tree_chestnut",
          "t_tree_beech",
          "t_tree_hazelnut",
          "t_tree_apple",
          "t_tree_crabapple",
          "t_tree_pear",
          "t_tree_coffee",
          "t_tree_cherry",
          "t_tree_juniper",
          "t_tree_peach",
          "t_tree_apricot",
          "t_tree_plum",
          "t_tree_mulberry",
          "t_tree_elderberry",
          "t_tree_maple",
          "t_tree_hickory",
          "t_tree_pistachio",
          "t_tree_almond",
          "t_tree_pecan",
          "t_tree_sassafras",
          "t_underbrush",
          "t_shrub",
          "t_fern",
          "t_shrub_rose",
          "t_shrub_hydrangea",
          "t_shrub_lilac",
          "t_shrub_peanut",
          "t_shrub_blueberry",
          "t_shrub_strawberry",
          "t_shrub_blackberry",
          "t_shrub_huckleberry",
          "t_shrub_raspberry",
          "t_shrub_grape",
          "t_grass",
          "t_grass_tall"
        ]
      },
      { "result": "t_ice", "valid_terrain": [ "t_water_sh", "t_water_dp", "t_water_pool_outdoors" ] }
    ],
    "furniture": [
      {
        "result": "f_null",
        "valid_furniture": [
          "f_dandelion",
          "f_maianthemum_stellatum",
          "f_salsify",
          "f_chamomile",
          "f_flower_tulip",
          "f_flower_spurge",
          "f_sunflower",
          "f_jerusalem_artichoke",
          "f_lily",
          "f_bluebell",
          "f_dahlia",
          "f_chicory",
          "f_datura",
          "f_mustard",
          "f_wild_sarsaparilla",
          "f_fireweed",
          "f_selfheal",
          "f_purple_loosestrife"
        ]
      }
    ]
  },
  {
    "type": "mapgen",
    "nested_mapgen_id": "afs_map_lights_on",
    "object": {
      "mapgensize": [ 24, 24 ],
      "place_ter_furn_transforms": [ { "transform": "afs_lights_on", "x": [ 0, 23 ], "y": [ 0, 23 ] } ]
    }
  }
]
