[
  {
    "type": "ter_furn_transform",
    "id": "move_earth",
    "terrain": [
      { "result": "t_hole", "valid_terrain": [ "t_pit", "t_slope_down" ], "message": "The pit has deepened further." },
      {
        "result": "t_pit",
        "valid_terrain": [
          "t_pit_corpsed",
          "t_pit_covered",
          "t_pit_glass",
          "t_pit_glass_covered",
          "t_pit_spiked",
          "t_pit_spiked_covered",
          "t_rootcellar",
          "t_pit_shallow"
        ],
        "message": "More debris shifts out of the pit."
      },
      {
        "result": "t_pit_shallow",
        "valid_terrain": [
          "t_grave",
          "t_dirt",
          "t_sand",
          "t_clay",
          "t_dirtmound",
          "t_grass",
          "t_grass_long",
          "t_grass_tall",
          "t_grass_dead",
          "t_grass_white",
          "t_dirtfloor",
          "t_fungus_floor_in",
          "t_fungus_floor_sup",
          "t_fungus_floor_out",
          "t_sandbox"
        ],
        "message": "The earth moves out of the way for you."
      },
      {
        "result": "t_sand",
        "valid_terrain": [
          "t_pavement",
          "t_pavement_y",
          "t_sidewalk",
          "t_concrete",
          "t_thconc_floor",
          "t_thconc_floor_olight",
          "t_strconc_floor",
          "t_floor",
          "t_floor_waxed",
          "t_carpet_red",
          "t_carpet_yellow",
          "t_carpet_purple",
          "t_carpet_green",
          "t_linoleum_white",
          "t_linoleum_gray",
          "t_slope_up",
          "t_rock_red",
          "t_rock_blue",
          "t_floor_red",
          "t_floor_green",
          "t_floor_blue",
          "t_pavement_bg_dp",
          "t_pavement_y_bg_dp",
          "t_sidewalk_bg_dp"
        ],
        "message": "The rocks here are ground into sand."
      },
      { "result": "t_rock_floor", "valid_terrain": [ "t_rock" ], "message": "The rock crumbles to dust." },
      {
        "result": "t_hole",
        "valid_terrain": [ "t_null" ],
        "message": "All the dust in the air here falls to the ground.",
        "message_good": false
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "fungicide",
    "terrain": [ { "result": "t_dirt_barren", "valid_flags": [ "FUNGUS" ], "message": "The fungus here dies back." } ],
    "furniture": [ { "result": "f_null", "valid_flags": [ "FUNGUS" ], "message": "The fungus here dies back." } ]
  },
  {
    "type": "ter_furn_transform",
    "id": "lava_bomb",
    "terrain": [ { "result": "t_lava", "valid_flags": [ "DIGGABLE" ] } ]
  },
  {
    "type": "ter_furn_transform",
    "id": "earthshaper_pillar",
    "//": "Furniture alteration has to be able to reasonably check for most intervening furniture and remove it.",
    "terrain": [
      {
        "result": "t_rock_smooth",
        "valid_flags": [ "DIGGABLE", "FLAT" ],
        "message": "The ground shakes, a section of unnaturally smooth stone wall rising up."
      }
    ],
    "furniture": [ { "result": "f_null", "valid_flags": [ "TRANSPARENT", "WALL" ] } ]
  },
  {
    "type": "ter_furn_transform",
    "id": "earthshaper_turning_earth",
    "terrain": [
      {
        "result": "t_dirtmound",
        "valid_terrain": [ "t_dirt", "t_dirtfloor", "t_grass", "t_grass_long", "t_grass_tall", "t_grass_dead", "t_grass_white", "t_pit_shallow" ],
        "message": "The ground churns as a long straight furrow suitable for planting appears."
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "earthshaper_boulder",
    "furniture": [
      {
        "result": "f_boulder_earthshaper",
        "valid_furniture": [ "f_null" ],
        "message": "The ground shakes, and a section of unnaturally smooth stone rises to the surface."
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "druidic_renewal",
    "//": "TODO: Update the birch and willow transformations if they ever make those trees behave consistent relative to blackjack oak and pine.",
    "terrain": [
      {
        "result": [ [ "t_tree_blackjack_harvested", 10 ], [ "t_tree_harvested", 90 ] ],
        "valid_terrain": [ "t_tree_dead" ],
        "message": "The dead tree regrows."
      },
      {
        "result": "t_tree_pine_harvested",
        "valid_terrain": [ "t_tree_deadpine" ],
        "message": "The dead tree regrows."
      },
      {
        "result": "t_tree_hickory_harvested",
        "valid_terrain": [ "t_tree_hickory_dead" ],
        "message": "The dead tree regrows."
      },
      { "result": "t_tree_birch", "valid_terrain": [ "t_tree_birch_harvested" ], "message": "The dead tree regrows." },
      {
        "result": "t_tree_willow",
        "valid_terrain": [ "t_tree_willow_harvested" ],
        "message": "The dead tree regrows."
      },
      {
        "result": "t_grass",
        "valid_terrain": [ "t_grass_dead" ],
        "message": "Life springs anew from the dead grass."
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "unlock_doors",
    "terrain": [
      {
        "result": "t_door_o",
        "valid_terrain": [ "t_door_locked", "t_door_locked_interior", "t_door_locked_alarm" ],
        "message": "The door opens forcefully!"
      },
      {
        "result": "t_door_o_peep",
        "valid_terrain": [ "t_door_locked_peep" ],
        "message": "The door opens forcefully!"
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "unlock_all_doors",
    "terrain": [
      {
        "result": "t_door_o",
        "valid_terrain": [ "t_door_locked", "t_door_locked_interior", "t_door_locked_alarm" ],
        "message": "The door opens forcefully!"
      },
      {
        "result": "t_door_o_peep",
        "valid_terrain": [ "t_door_locked_peep" ],
        "message": "The door opens forcefully!"
      },
      {
        "result": "t_door_metal_o",
        "valid_terrain": [ "t_door_metal_locked", "t_door_metal_pickable", "t_door_bar_locked" ],
        "message": "The door opens forcefully!"
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "icelemental_crystal",
    "furniture": [
      {
        "result": "f_everfrost_crystal",
        "valid_furniture": [ "f_null" ],
        "message": "There's a rippling in the air and a blast of cold air, then the crystal forms."
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "earthshaper_granite_aegis_to_stone",
    "terrain": [
      {
        "result": "t_rock_smooth",
        "valid_terrain": [
          "t_rock_floor_no_roof",
          "t_rock_floor",
          "t_dirt",
          "t_dirtfloor",
          "t_dirtfloor_no_roof",
          "t_dirt_underground",
          "t_grass",
          "t_grass_long",
          "t_grass_tall",
          "t_grass_dead",
          "t_grass_white",
          "t_grass_golf",
          "t_pit_shallow",
          "t_sand",
          "t_sand_underground",
          "t_clay",
          "t_claymound",
          "t_claymound_underground",
          "t_dirtmound",
          "t_sandmound",
          "t_mud",
          "t_mud_underground",
          "t_forestfloor",
          "t_moss",
          "t_moss_underground",
          "t_region_soil",
          "t_puddle_underground",
          "t_pit_shallow",
          "t_concrete_y",
          "t_concrete",
          "t_thconc_y_olight",
          "t_thconc_warning",
          "t_thconc_y",
          "t_thconc_r",
          "t_thconc_floor",
          "t_strconc_floor",
          "t_strconc_floor_olight",
          "t_strconc_floor_no_roof",
          "t_railroad_rubble"
        ],
        "message": "A wall of smooth stone rises up around you!"
      }
    ]
  },
  {
    "type": "ter_furn_transform",
    "id": "earthshaper_granite_aegis_to_stone_safe",
    "terrain": [ { "result": "t_dirtmound", "valid_terrain": [ "t_rock_smooth" ], "message": "" } ]
  },
  {
    "type": "ter_furn_transform",
    "id": "earthshaper_granite_aegis_from_stone",
    "terrain": [ { "result": "t_dirtmound", "valid_terrain": [ "t_rock_smooth" ], "message": "The stone wall crumbles to dust." } ]
  },
  {
    "type": "ter_furn_transform",
    "id": "druid_summoned_brambles",
    "furniture": [
      {
        "result": "f_druid_brambles",
        "valid_furniture": [
          "f_null",
          "f_cattails",
          "t_grass_tall",
          "t_grass_long",
          "f_burdock",
          "f_lotus",
          "f_japanese_knotweed",
          "f_golden_reed",
          "f_barnacle_weed",
          "f_lilypad",
          "f_whiskflower",
          "f_bluebell",
          "f_lily",
          "f_salsify",
          "f_wild_sarsaparilla"
        ],
        "message": "The ground churns as thick, tangled brambles burst forth and grow in moments."
      }
    ]
  }
]
