# JSONizing mapgen\_basement\_junk gun safe items, any advice?

**URL:** <https://discourse.cataclysmdda.org/t/jsonizing-mapgen-basement-junk-gun-safe-items-any-advice/14218>\
**Category:** The Toolbox\
**Created:** [September 10, 2017, 7:04pm UTC](https://discourse.cataclysmdda.org/t/jsonizing-mapgen-basement-junk-gun-safe-items-any-advice/14218 "2017-09-10T19:04:35Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![BorkBorkGoesTheCode](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/borkborkgoesthecode/32/2343_2.png) [@BorkBorkGoesTheCode](https://discourse.cataclysmdda.org/u/BorkBorkGoesTheCode)\
**Post date:** [September 10, 2017, 7:04pm UTC](https://discourse.cataclysmdda.org/t/jsonizing-mapgen-basement-junk-gun-safe-items-any-advice/14218/1 "2017-09-10T19:04:35Z")

</div>

Modifying this bit of code in src/mapgen\_functions.cpp mapgen\_basement\_junk:

` if( one_in( 1600 ) ) {
            m->furn_set( p, furn_str_id( "f_gun_safe_el" ) );
            if( one_in( 2 ) ) {
                m->spawn_item( p, "9mm", 2 );
                m->spawn_item( p, "usp_9mm" );
                m->spawn_item( p, "suppressor" );
                m->spawn_item( p, "cash_card", 2 );
            } else {
                m->place_items( "ammo", 96, p.x, p.y, p.x, p.y, false, 0 );
                m->place_items( "guns_survival", 90, p.x, p.y, p.x, p.y, false, 0 );
            }
        }
`  
So far it looks like this:

` if( one_in( 1600 ) ) {
            m->furn_set( p, furn_str_id( "f_gun_safe_el" ) );
            if( one_in( 2 ) ) {
                m->place_items( "basement_op_guns", 96, p.x, p.y, p.x, p.y, false, 0 );
            } else {
                m->place_items( "ammo", 90, p.x, p.y, p.x, p.y, false, 0 );
            }
        }`  
With the new itemgroup in /itemgroups/locations.json:

```auto
  {
    "id": "basement_op_guns",
    "type": "item_group",
    "//": "Hardcoded gunsafe itemgroup for basement_junk in mapgen_functions.cpp .",
    "magazine": 100,
    "items": [
      {
        "distribution": [
          {
            "collection": [
              { "item": "usp_9mm" },
              { "item": "usp9mag" },
              { "item": "9mmP", "charges-min": 24, "charges-max": 50 },
              { "item": "suppressor" },
              { "item": "holster" }
            ], "prob": 20
          },
          {
            "collection": [
              { "item": "usp_9mm" },
              { "item": "9mm", "charges-min": 50, "charges-max": 50 },
              { "item": "suppressor" },
              { "item": "cash_card" }
            ], "prob": 50
          },
          {
            "collection": [
              { "group": "guns_pistol_milspec" },
              { "item": "holster" }
            ], "prob": 50
          },
              { "group": "guns_survival", "prob": 50 },
              { "group": "ammo", "prob": 50 }
        ]
      }
    ]
  },
```

Have I done anything gamebreaking?
