[
  {
    "type": "mapgen",
    "method": "json",
    "om_terrain": [ "bunker" ],
    "object": {
      "rows": [
        "                        ",
        " -----------------------",
        " |                     |",
        " |                     |",
        " |                     |",
        " |                     |",
        " |                     |",
        " |     MMMMMMMMMM      |",
        " |     MMMMMMMMMM      |",
        " |     MMMM>>MMMM      |",
        " |     MM,,,,,,MM      |",
        " |     MMMM,,MMMM      |",
        " |     MM,,,,,,MM      |",
        " //*/  MMMM,,MMMM   /*//",
        " I#,/  MM,,,,,,MM   /,#I",
        " I00/  MMMMDDMMMM   /00I",
        " |     MMMM  6MMM      |",
        " +                     +",
        " +                     +",
        " +                     +",
        " +                     +",
        " +                     +",
        " +-------++++++--------+",
        "                        "
      ],
      "terrain": {
        " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
        "#": "t_floor",
        "*": "t_door_c",
        "+": "t_chaingate_l",
        ",": "t_floor",
        "-": "t_chainfence_h",
        "/": "t_concrete_wall",
        "0": "t_window",
        "6": "t_card_military",
        ">": "t_stairs_down",
        "D": "t_door_metal_locked",
        "I": "t_ballistic_glass",
        "M": "t_wall_metal",
        "|": "t_chainfence_v"
      },
      "furniture": { "#": "f_table" },
      "place_monster": [
        { "monster": "mon_turret_rifle", "x": 9, "y": 10 },
        { "monster": "mon_turret_rifle", "x": 14, "y": 10 },
        { "monster": "mon_turret_rifle", "x": 9, "y": 12 },
        { "monster": "mon_turret_rifle", "x": 14, "y": 12 },
        { "monster": "mon_turret_rifle", "x": 9, "y": 14 },
        { "monster": "mon_turret_rifle", "x": 14, "y": 14 }
      ]
    }
  },
  {
    "type": "mapgen",
    "method": "json",
    "om_terrain": [ "bunker_basement" ],
    "weight": 1000,
    "object": {
      "//": "TODO: When it was hardcoded, each room had at most one of the bots, grenades, etc. groups in it, but the way it is now, it's possible for a room to have items from both the bots and grenades group in it.",
      "rows": [
        "########################",
        "#MMMMMMMMMMMMMMMMMMMMMM#",
        "#Mrrrrrrr6    6rrrrrrrM#",
        "#M       +    +       M#",
        "#M       |    |       M#",
        "#M       |    |       M#",
        "#M       |    |       M#",
        "#MrrrrrrrM    MrrrrrrrM#",
        "#MMMMMMMMM    MMMMMMMMM#",
        "#Mrrrrrrr6    6rrrrrrrM#",
        "#M       +    +       M#",
        "#M       |    |       M#",
        "#M       |    |       M#",
        "#M       |    |       M#",
        "#MrrrrrrrM    MrrrrrrrM#",
        "#MMMMMMMMM    MMMMMMMMM#",
        "#Mrrrrrrr6    6rrrrrrrM#",
        "#M       +    +       M#",
        "#M       |    |       M#",
        "#M       |    |       M#",
        "#M       |    |       M#",
        "#MrrrrrrrM << MrrrrrrrM#",
        "#MMMMMMMMMMMMMMMMMMMMMM#",
        "########################"
      ],
      "terrain": {
        " ": "t_floor",
        "r": "t_floor",
        "#": "t_rock",
        "+": "t_door_metal_locked",
        "6": "t_card_military",
        "<": "t_stairs_up",
        "M": "t_wall_metal",
        "|": "t_ballistic_glass"
      },
      "furniture": { "r": "f_rack" },
      "items": { "r": { "item": "bunker_basement_loot", "chance": 15, "repeat": [ 2, 8 ] } },
      "place_monster": [
        { "monster": "mon_mech_combat", "x": 5, "y": 5, "chance": 2 },
        { "monster": "mon_mech_lifter", "x": 6, "y": 6, "chance": 5 },
        { "monster": "mon_mech_recon", "x": 7, "y": 6, "chance": 3 }
      ]
    }
  },
  {
    "type": "mapgen",
    "method": "json",
    "om_terrain": [ "bunker_basement" ],
    "weight": 250,
    "object": {
      "fill_ter": "t_floor",
      "rows": [
        "########################",
        "#MMMMMMMMMMMMMMMMMMMMMM#",
        "#Ms  6 {{M3 5M ?A2MbCbM#",
        "#Ms ct   ^   +    /   M#",
        "#Mt     2M   MCCCgMbCbM#",
        "#MMMMMMMMM   MMMMMMMMMM#",
        "#MrrrrrrrM   2Mb  23 bM#",
        "#M       +    Ml     lM#",
        "#MLLLLLLLM5   *      bM#",
        "#MMMMMMMMMM   Mb     lM#",
        "#Mc t t t2M   Ml     bM#",
        "#Mt c c cWM   Mlb bl lM#",
        "#Mc       *   MMMMMMMMM#",
        "#MMMM*MMMMM   M}   2 %M#",
        "#M2      TM   *       M#",
        "#MSBOCCfCCM   MYsssY{{M#",
        "#MMMMMMMMMM ~ MMMMMMMMM#",
        "#ML *             *  SM#",
        "#MMMMM^MMMMM+MMM*MM2 SM#",
        "#Ms Mr cd|   5M   M   M#",
        "#Ms Mr cd|    M*M*M*M*M#",
        "#Mt *   2M << M1M1M&M&M#",
        "#MMMMMMMMMMMMMMMMMMMMMM#",
        "########################"
      ],
      "palettes": [ "basement_bunker" ],
      "furniture": {
        "r": "f_rack",
        "f": "f_fridge",
        "s": "f_sofa",
        "t": "f_table",
        "d": "f_desk",
        "c": "f_chair",
        "b": "f_bunkbed",
        "1": "f_shower",
        "S": "f_sink",
        "O": "f_oven",
        "C": "f_counter",
        "T": "f_trashcan",
        "B": "f_cupboard",
        "l": "f_locker",
        "L": "f_locker",
        "Y": "f_table",
        "A": "f_autodoc",
        "?": "f_autodoc_couch",
        "g": "f_glass_fridge",
        "{": "f_bookcase",
        "}": "f_pinball_machine",
        "%": "f_floor_canvas",
        "2": "f_air_conditioner",
        "3": "f_speaker_cabinet"
      },
      "items": {
        "b": { "item": "bed", "chance": 60 },
        "{": { "item": "bunker_basement_books", "chance": 70 },
        "T": { "item": "trash_cart", "chance": 50 },
        "l": { "item": "bunker_basement_clothing", "chance": 50 },
        "t": { "item": "dining", "chance": 45 },
        "A": { "item": "autodoc_supplies", "chance": 100 }
      },
      "place_fields": [ { "field": "fd_blood", "x": 2, "y": 3 }, { "field": "fd_blood", "x": 3, "y": 3 } ],
      "place_loot": [
        { "group": "surgery", "x": [ 14, 16 ], "y": 4, "chance": 70, "repeat": [ 1, 3 ] },
        { "group": "bunker_basement_drugs", "x": [ 14, 16 ], "y": 4, "chance": 80, "repeat": [ 1, 3 ] },
        { "group": "mags_milspec", "x": [ 2, 6 ], "y": 8, "chance": 100, "repeat": [ 3, 5 ] },
        { "group": "ammo_milspec", "x": [ 2, 6 ], "y": 8, "chance": 100, "repeat": [ 30, 250 ] },
        { "group": "grenades", "x": [ 2, 6 ], "y": 8, "chance": 100, "repeat": [ 5, 15 ] },
        { "group": "mil_hw", "x": [ 7, 8 ], "y": 8, "chance": 100, "repeat": [ 15, 40 ] },
        { "group": "mil_armor", "x": [ 7, 8 ], "y": 6, "chance": 65, "repeat": [ 1, 2 ] },
        { "group": "guns_rifle_milspec", "x": [ 2, 6 ], "y": 6, "chance": 80, "repeat": [ 1, 3 ] },
        { "group": "guns_rifle_milspec", "x": 5, "y": [ 19, 20 ], "chance": 80, "repeat": [ 1, 3 ] },
        { "group": "guns_launcher_milspec", "x": [ 2, 6 ], "y": 6, "chance": 80, "repeat": [ 1, 3 ] },
        { "group": "gear_soldier_sidearm", "x": [ 2, 6 ], "y": 6, "chance": 90, "repeat": [ 1, 3 ] },
        { "group": "fridge", "x": 7, "y": 15, "chance": 70, "repeat": 3 },
        { "group": "bunker_basement_food", "x": [ 5, 6 ], "y": 15, "chance": 75, "repeat": [ 1, 10 ] },
        { "group": "dining", "x": [ 8, 9 ], "y": 15, "chance": 75, "repeat": [ 1, 2 ] },
        { "group": "oven", "x": 4, "y": 15, "chance": 70 },
        { "group": "cleaning", "x": 2, "y": 17, "chance": 70 },
        { "group": "bionics_mil", "x": 16, "y": 4, "chance": 65 },
        { "group": "bunker_basement_suicide", "x": 3, "y": 3 },
        { "item": "mess_tray", "x": [ 5, 6 ], "y": 15, "chance": 50, "repeat": [ 4, 5 ] },
        { "item": "whiskey", "x": 5, "y": 3 },
        { "item": "glass", "x": 5, "y": 3 },
        { "item": "militarymap", "x": 5, "y": 3 },
        { "item": "anesthetic_kit", "x": 17, "y": 4, "ammo": 100 },
        { "item": "television", "x": 17, "y": 13, "chance": 95 },
        { "item": "stereo", "x": 19, "y": 15, "chance": 80 }
      ],
      "monster": { "~": { "monster": "mon_turret_rifle" } }
    }
  },
  {
    "type": "mapgen",
    "method": "json",
    "om_terrain": [ "bunker_basement" ],
    "weight": 500,
    "object": {
      "fill_ter": "t_floor",
      "rows": [
        "########################",
        "#MMMMMMMMMMMMMMMMMMMMMM#",
        "#Ms  6 {{M3 5M ?A2MbCbM#",
        "#Ms cY   ^   +    /   M#",
        "#Mt     2M   MCCCgMbCbM#",
        "#MMMMMMMMM   MMMMMMMMMM#",
        "#MrrrrrrrM   2Mb  23 bM#",
        "#M       +    Ml     lM#",
        "#MLLLLLLLM5   *      bM#",
        "#MMMMMMMMMM   Mb     lM#",
        "#Mc t t t2M   Ml     bM#",
        "#Mt c c cWM   Mlb bl lM#",
        "#Mc       *   MMMMMMMMM#",
        "#MMMM*MMMMM   M}   2 %M#",
        "#M2      TM   *       M#",
        "#MSBOCCfCCM   MYsssY{{M#",
        "#MMMMMMMMMM ~ MMMMMMMMM#",
        "#ML *             *  SM#",
        "#MMMMM^MMMMM+MMM*MM2 SM#",
        "#Ms Mr cd|   5M   M   M#",
        "#Ms Mr cd|    M*M*M*M*M#",
        "#Mt *   2M << M1M1M&M&M#",
        "#MMMMMMMMMMMMMMMMMMMMMM#",
        "########################"
      ],
      "palettes": [ "basement_bunker" ],
      "furniture": {
        "r": "f_rack",
        "f": "f_fridge",
        "s": "f_sofa",
        "t": "f_table",
        "d": "f_desk",
        "c": "f_chair",
        "b": "f_bunkbed",
        "1": "f_shower",
        "S": "f_sink",
        "O": "f_oven",
        "C": "f_counter",
        "T": "f_trashcan",
        "B": "f_cupboard",
        "l": "f_locker",
        "L": "f_locker",
        "A": "f_autodoc",
        "Y": "f_table",
        "?": "f_autodoc_couch",
        "g": "f_glass_fridge",
        "{": "f_bookcase",
        "}": "f_pinball_machine",
        "%": "f_floor_canvas",
        "2": "f_air_conditioner",
        "3": "f_speaker_cabinet"
      },
      "items": {
        "b": { "item": "bed", "chance": 60 },
        "{": { "item": "bunker_basement_books", "chance": 80 },
        "T": { "item": "trash_cart", "chance": 50 },
        "l": { "item": "bunker_basement_clothing", "chance": 50 },
        "t": { "item": "dining", "chance": 45 },
        "A": { "item": "autodoc_supplies", "chance": 100 }
      },
      "place_loot": [
        { "group": "surgery", "x": [ 14, 16 ], "y": 4, "chance": 70, "repeat": [ 1, 3 ] },
        { "group": "bunker_basement_drugs", "x": [ 14, 16 ], "y": 4, "chance": 80, "repeat": [ 1, 3 ] },
        { "group": "mags_milspec", "x": [ 2, 6 ], "y": 8, "chance": 100, "repeat": [ 2, 6 ] },
        { "group": "ammo_milspec", "x": [ 2, 6 ], "y": 8, "chance": 100, "repeat": [ 30, 150 ] },
        { "group": "grenades", "x": [ 2, 6 ], "y": 8, "chance": 100, "repeat": [ 10, 30 ] },
        { "group": "mil_hw", "x": [ 7, 8 ], "y": 8, "chance": 100, "repeat": [ 5, 10 ] },
        { "group": "mil_armor", "x": [ 7, 8 ], "y": 6, "chance": 65, "repeat": [ 1, 2 ] },
        { "group": "guns_rifle_milspec", "x": [ 2, 6 ], "y": 6, "chance": 80, "repeat": [ 1, 2 ] },
        { "group": "guns_rifle_milspec", "x": 5, "y": [ 19, 20 ], "chance": 80, "repeat": [ 1, 2 ] },
        { "group": "guns_launcher_milspec", "x": [ 2, 6 ], "y": 6, "chance": 90, "repeat": [ 1, 2 ] },
        { "group": "gear_soldier_sidearm", "x": [ 2, 6 ], "y": 6, "chance": 90, "repeat": [ 1, 2 ] },
        { "group": "fridge", "x": 7, "y": 15, "chance": 70, "repeat": 3 },
        { "group": "bunker_basement_food", "x": [ 5, 6 ], "y": 15, "chance": 75, "repeat": [ 1, 2 ] },
        { "group": "dining", "x": [ 8, 9 ], "y": 15, "chance": 75, "repeat": [ 1, 2 ] },
        { "group": "oven", "x": 4, "y": 15, "chance": 70 },
        { "group": "cleaning", "x": 2, "y": 17, "chance": 70 },
        { "group": "bionics_mil", "x": 16, "y": 4, "chance": 65 },
        { "group": "alcohol", "x": 5, "y": 3 },
        { "item": "glass", "x": 5, "y": 3 },
        { "item": "militarymap", "x": 5, "y": 3, "chance": 80 },
        { "item": "anesthetic_kit", "x": 17, "y": 4, "ammo": 100 },
        { "item": "television", "x": 17, "y": 13, "chance": 95 },
        { "item": "stereo", "x": 19, "y": 15, "chance": 80 }
      ],
      "monster": { "~": { "monster": "mon_turret_rifle" } }
    }
  },
  {
    "id": "bunker_basement_loot",
    "type": "item_group",
    "subtype": "distribution",
    "ammo": 100,
    "entries": [
      { "group": "bots", "prob": 1 },
      { "group": "guns_launcher_milspec", "prob": 1 },
      { "group": "guns_rifle_milspec", "prob": 2 },
      { "group": "energy_weapon_armory", "prob": 1 },
      { "group": "mags_milspec", "prob": 1 },
      { "group": "ammo_milspec", "prob": 120 },
      { "group": "grenades", "prob": 30 },
      { "group": "mil_armor", "prob": 1 },
      { "group": "mil_hw", "prob": 30 },
      { "group": "mil_food", "prob": 5 },
      { "group": "bionics_mil", "prob": 1 }
    ]
  },
  {
    "type": "item_group",
    "id": "bunker_basement_books",
    "items": [
      { "group": "book_military", "prob": 50 },
      { "group": "book_survival", "prob": 50 },
      { "group": "magazines", "prob": 80 }
    ]
  },
  {
    "type": "item_group",
    "id": "bunker_basement_drugs",
    "items": [ { "group": "drugs_pharmacy", "prob": 70 }, { "group": "drugs_soldier", "prob": 50 } ]
  },
  {
    "type": "item_group",
    "id": "bunker_basement_food",
    "items": [ { "group": "cannedfood", "prob": 80 }, { "group": "pasta", "prob": 50 } ]
  },
  {
    "type": "item_group",
    "id": "bunker_basement_suicide",
    "subtype": "collection",
    "items": [
      { "item": "m1911", "charges": 6, "ammo-item": "45_acp" },
      { "item": "45_casing", "charges-min": 1, "charges-max": 1 },
      { "group": "underwear" },
      { "item": "corpse" }
    ]
  },
  {
    "id": "bunker_basement_clothing",
    "type": "item_group",
    "items": [
      { "group": "clothing_soldier_shirt", "prob": 20 },
      { "item": "jacket_army", "prob": 20 },
      { "item": "pants_army", "prob": 20 },
      { "item": "boots_combat", "prob": 20 },
      { "item": "helmet_army", "prob": 20 },
      { "item": "gloves_tactical", "prob": 10 },
      { "item": "elbow_pads", "prob": 10 },
      { "group": "clothing_tactical_leg", "prob": 15 },
      { "group": "clothing_tactical_torso", "prob": 15 },
      { "group": "underwear" },
      { "distribution": [ { "item": "socks", "prob": 95 }, { "item": "socks_wool", "prob": 5 } ] },
      {
        "distribution": [
          { "group": "clothing_glasses", "prob": 60 },
          { "item": "glasses_bal", "prob": 30 },
          { "item": "goggles_nv", "prob": 5 },
          { "item": "goggles_ir", "prob": 5 }
        ],
        "prob": 20
      },
      { "group": "clothing_watch", "prob": 5 }
    ]
  }
]
