Gunsmith Store


( currently facing south )
A custom “Gunsmith Store” that replaces 1 in 10 gun stores with this (probably over-powered) attachments-and-gun-materials filled building. As always, feel free to include it in a git update or whatever, whoever is in charge of that.

In order to “install” this into your game, you must copy/paste the below spoilers into the appropriate file, and if you’ve done it properly it shouldn’t throw any errors at you…
in the data/json/item_groups.json
you will see something like this after the end and start of every entry:
[tt] ]
},{[/tt]
copy/paste the spoiler below into the space between the , and { (being certain to include the last comma in the spoiler!)

{
“type” : “item_group”,
“id” : “gunsmith_tools”,
“items”:[
[“glasses_safety”, 60],
[“screwdriver”,70],
[“hammer”,70],
[“boltcutters”,50],
[“crucible”,40],
[“pot”,50],
[“anvil”,50],
[“tongs”,50],
[“swage”,50],
[“hacksaw”,40],
[“welder”,40],
[“goggles_welding”,60],
[“wrench”,70],
[“extinguisher”,90],
[“puller”,90],
[“press”,90],
[“chemistry_set”,30],
[“hotplate”,50],
[“forge”,30]
]
},{
“type” : “item_group”,
“id” : “gunsmith_mat”,
“items”:[
[“rag”,30],
[“plastic_chunk”,60],
[“scrap”,90],
[“steel_chunk”,60],
[“steel_lump”,20],
[“cable”,60],
[“duct_tape”,60],
[“pipe”,70],
[“2x4”,90],
[“spring”,70],
[“string_6”,10],
[“string_36”,40],
[“superglue”,40],
[“cu_pipe”,40],
[“nail”,40]
]
},{
“type” : “item_group”,
“id” : “gunsmith_hazmat”,
“items”:[
[“gunpowder”,80],
[“oxy_powder”,60],
[“lead”,90],
[“incendiary”,30],
[“battery”,70],
[“sugar”,60],
[“charcoal”,70],
[“ammonia”,50],
[“bleach”,50],
[“lye_powder”,30],
[“shotgun_primer”, 30],
[“smpistol_primer”, 40],
[“lgpistol_primer”, 40],
[“smrifle_primer”, 20],
[“lgrifle_primer”, 20]
]
},{
“type” : “item_group”,
“id” : “gunsmith_gunparts”,
“items”:[
[“bayonet”, 20],
[“pistol_bayonet”, 10],
[“sword_bayonet”, 5],
[“suppressor”, 15],
[“grip”, 24],
[“pistol_grip”, 24],
[“adjustable_stock”, 24],
[“pistol_stock”, 12],
[“barrel_big”, 20],
[“barrel_small”, 12],
[“barrel_rifled”, 10],
[“barrel_ported”, 10],
[“conversion_battle”, 1],
[“conversion_sniper”, 1],
[“clip”, 16],
[“spare_mag”, 30],
[“clip2”, 8],
[“stabilizer”, 4],
[“blowback”, 3],
[“autofire”, 2],
[“retool_45”, 5],
[“retool_9mm”, 5],
[“retool_22”, 5],
[“retool_57”, 5],
[“retool_46”, 5],
[“retool_308”, 5],
[“retool_223”, 5],
[“brass_catcher”, 30],
[“laser_sight”, 15],
[“red_dot_sight”, 18],
[“holo_sight”, 20],
[“rifle_scope”, 18],
[“pistol_scope”, 12],
[“waterproof_gunmod”, 8],
[“improve_sights”, 40]
]
},{
“type” : “item_group”,
“id” : “gunsmith_casings”,
“items”:[
[“22_casing”, 24],
[“shot_hull”, 12],
[“9mm_casing”, 18],
[“38_casing”, 10],
[“40_casing”, 12],
[“44_casing”, 10],
[“45_casing”, 18],
[“454_casing”, 3],
[“500_casing”, 3],
[“57mm_casing”, 12],
[“46mm_casing”, 12],
[“762_casing”, 10],
[“223_casing”, 10],
[“3006_casing”, 10],
[“308_casing”, 10]
]
},

in the data/json/mapgen/house04.json file at the very bottom are the lines
[tt] },
“comment”: “end of mapgen entry —v”
}
][/tt]
copy/paste the spoiler below directly after that last } (being certain to include the first comma in the spoiler!)

,
{
“type”: “mapgen”,
“om_terrain”: [
“s_gun”
],
“method”: “json”,
“weight”: 100,
“object”: {
“rows”: [
sss",
"
,___,___,___,,sss%",
"
,___,___,___,,sss%",
"
,___,___,___,,sss%",
"
,___,___,___,,sss%",
"
,___,___,___,___,sss
",
“ssssssssssssssssssssssss”,
“s–5555–5555–±-55555s”,
“s|r…rrrrrr…^.^|rrrr8s”,
“s8r…L…r8s”,
"s8r…rrrrrr…###|----|
",
"s8r…rrrrrr…x…rrrrr|
",
"s8r…#…r|
",
"s|r…rrrrrr…#…r|
",
"s|---------D--------±|
",
"s|#######|…|tccEc…^|
",
"s|#.c…c#|…|t.xEc…w
",
"sL…c…L…D…w
",
"
|l.###.l|…^|##FCC…|
",
"
|l.rrr.l|-L-------D-D|",
"
|l.rrr.l|ssss____WS|SW_”,
"|l…l|s__,dd|T|T|",
"–WW-WW–s__,dd-----",
s,dd"
],
“terrain”: {
"
": “t_pavement”,
",": “t_pavement_y”,
“s”: “t_sidewalk”,
"-": “t_wall_h”,
"|": “t_wall_v”,
“5”: “t_wall_glass_h”,
“8”: “t_wall_glass_v”,
".": “t_floor”,
"+": “t_door_glass_c”,
“D”: “t_door_c”,
“L”: “t_door_locked”,
“w”: “t_window_domestic”,
“W”: “t_curtains”,
"%": “t_shrub”,
“x”: “t_console_broken”,
"^": “t_floor”,
“r”: “t_floor”,
“l”: “t_floor”,
"#": “t_floor”,
“E”: “t_floor”,
“t”: “t_floor”,
“c”: “t_floor”,
“C”: “t_floor”,
“F”: “t_floor”,
“S”: “t_floor”,
“T”: “t_floor”,
“d”: “t_pavement”
},
“furniture”: {
"
”: “f_null”,
",": “f_null”,
“s”: “f_null”,
"-": “f_null”,
"|": “f_null”,
“5”: “f_null”,
“8”: “f_null”,
".": “f_null”,
"+": “f_null”,
“D”: “f_null”,
“L”: “f_null”,
“w”: “f_null”,
“W”: “f_null”,
"%": “f_null”,
“x”: “f_null”,
"^": “f_indoor_plant”,
“r”: “f_rack”,
“l”: “f_locker”,
"#": “f_counter”,
“E”: “f_desk”,
“t”: “f_table”,
“c”: “f_chair”,
“C”: “f_sofa”,
“F”: “f_fridge”,
“S”: “f_sink”,
“T”: “f_toilet”,
“d”: “f_dumpster”
},
“set”: [
{ “point”: “terrain”, “id”: “t_tree_young”, “x”: 22, “y”: [ 1, 4 ], “chance”: 10, “repeat”: [ 1, 3 ] },
{ “point”: “terrain”, “id”: “t_tree_apple”, “x”: 22, “y”: [ 1, 4 ], “chance”: 30, “repeat”: [ 1, 2 ] }
],
“add”: [
{ “item”: “television”, “x”: 14, “y”: 16, “chance”: 60 },
{ “item”: “laptop”, “x”: 17, “y”: 15, “chance”: 30 }
],
“place_groups”: [
{ “item”: “fridgesnacks”, “chance”: 70, “x”: 16, “y”: 18, “repeat”: [ 1, 2 ] },
{ “item”: “ammo”, “chance”: 75, “x”: 21, “y”: [ 11, 13 ], “repeat”: [ 1, 5 ] },
{ “item”: “allguns”, “chance”: 60, “x”: [ 17, 20 ], “y”: 11, “repeat”: [ 1, 4 ] },
{ “item”: “gunxtras”, “chance”: 70, “x”: [ 18, 21 ], “y”: [ 8, 9 ], “repeat”: [ 3, 6 ] },
{ “item”: “gunxtras”, “chance”: 50, “x”: 2, “y”: [ 8, 13 ], “repeat”: [ 1, 4 ] },
{ “item”: “gunxtras”, “chance”: 50, “x”: [ 5, 10 ], “y”: 8, “repeat”: [ 1, 4 ] },
{ “item”: “gunxtras”, “chance”: 50, “x”: [ 5, 10 ], “y”: 10, “repeat”: [ 1, 4 ] },
{ “item”: “gunxtras”, “chance”: 50, “x”: [ 5, 10 ], “y”: 11, “repeat”: [ 1, 4 ] },
{ “item”: “gunxtras”, “chance”: 50, “x”: [ 5, 10 ], “y”: 13, “repeat”: [ 1, 4 ] },
{ “item”: “gunsmith_tools”, “chance”: 80, “x”: [ 2, 8 ] , “y”: 15 , “repeat”: [ 4, 6 ] },
{ “item”: “gunsmith_mat”, “chance”: 90, “x”: [ 4, 6], “y”: [ 19, 20 ], “repeat”: [ 4, 8 ] },
{ “item”: “gunsmith_hazmat”, “chance”: 75, “x”: 2, “y”: [ 18, 21 ], “repeat”: [ 2, 6 ] },
{ “item”: “gunsmith_hazmat”, “chance”: 75, “x”: 8, “y”: [ 18, 21 ], “repeat”: [ 2, 6 ] },
{ “item”: “gunsmith_gunparts”, “chance”: 40, “x”: [ 4, 6 ], “y”: 18, “repeat”: [ 3, 4 ] },
{ “item”: “gunsmith_casings”, “chance”: 75, “x”: 2, “y”: 16, “repeat”: [ 3, 5 ] },
{ “item”: “gunsmith_casings”, “chance”: 75, “x”: 8, “y”: 16, “repeat”: [ 3, 5 ] }
]
},
“comment”: “end of mapgen entry —v”
}
]

Note: The toilets are intentionally dry, and it’s a very open building with lots of access points. This is to make camping and crafting more difficult.

Great work! You could start making an entire buildings mod with this.

While I plan on downloading this, I do have to mention that if you could put the spoiler JSON text into the code BBC code things, that’d make copy pasting much easier.

Love it! Do you take requests? If so I’d like to see a dollar store or some lore friendly equivalent, maybe a pet shop with animal spawns, more mega store type stuff - super grocery, super hardware/lumber/tool/metal store, some shopping malls perhaps large and hopefully not just a boring rectangle stuffed with rooms and loots. A metal smith place would be cool too

Finally, a good place to get some raw materials that does not include disassembling things. Thanks Mechanoid.

Seems to have been merged into mainline now.