diff --git a/data/json/mapgen/abandoned01.json b/data/json/mapgen/abandoned01.json index e8bf127dac744..324464210b439 100644 --- a/data/json/mapgen/abandoned01.json +++ b/data/json/mapgen/abandoned01.json @@ -618,8 +618,7 @@ "7": "t_dirtfloor", "8": "t_dirtfloor", "9": "t_dirtfloor", - ":": "t_wall_wood", - ";": "t_dirtfloor", + ":": "t_dirtfloor", "+": "t_door_c", "=": "t_rock_floor", ">": "t_dirtfloor", @@ -648,7 +647,6 @@ "8": "f_bathtub", "9": "f_rack", ":": "f_dresser", - ";": "f_toilet", "=": "f_woodstove", ">": "f_counter", "?": "f_sofa", diff --git a/src/mapgen.cpp b/src/mapgen.cpp index ed83429a471a0..e40d078da03b5 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -5676,7 +5676,7 @@ ff.......|....|WWWWWWWW|\n\ ter_set(cw, bw + 5, t_window); ter_set(cw + 1, bw + 5, t_window); ter_set(rng(rw + 2, rw + 8), bw + 5, t_door_c); - ter_set(rng(rw + 2, rw + 8), bw + 1, t_radio_controls); + set(rng(rw + 2, rw + 8), bw + 1, t_radio_controls, f_null); place_items("radio", 60, rw + 1, bw + 2, rw + 10, bw + 4, true, 0); } else { // No control room... simple controls near the tower ter_set(rng(lw, lw + 3), tw + 4, t_radio_controls); @@ -10091,7 +10091,7 @@ FFFFFFFFFFFFFFFFFFFFFFFF\n\ line(this, t_wall_h, 13, 13, 23, 13); line(this, t_door_c, 18, 13, 19, 13); // Next, the contents of each operating room - line_furn(this, f_counter, 1, 0, 1, 9); + line_furn(this, f_counter, 1, 1, 1, 9); place_items("surgery", 70, 1, 1, 1, 9, false, 0); place_items("bionics_common", 5, 1, 1, 1, 9, false, 0); square_furn(this, f_bed, 5, 4, 6, 5); @@ -10140,12 +10140,12 @@ FFFFFFFFFFFFFFFFFFFFFFFF\n\ // Hard drug storage line(this, t_wall_v, 13, 0, 13, 19); ter_set(13, 6, t_door_locked); - line_furn(this, f_rack, 14, 0, 14, 4); + line_furn(this, f_rack, 14, 1, 14, 4); place_items("harddrugs", 78, 14, 1, 14, 4, false, 0); - line_furn(this, f_rack, 17, 0, 17, 7); - place_items("harddrugs", 85, 17, 0, 17, 7, false, 0); - line_furn(this, f_rack, 20, 0, 20, 7); - place_items("harddrugs", 85, 20, 0, 20, 7, false, 0); + line_furn(this, f_rack, 17, 1, 17, 7); + place_items("harddrugs", 85, 17, 1, 17, 7, false, 0); + line_furn(this, f_rack, 20, 1, 20, 7); + place_items("harddrugs", 85, 20, 1, 20, 7, false, 0); line(this, t_wall_h, 20, 10, 23, 10); line_furn(this, f_rack, 16, 10, 19, 10); place_items("harddrugs", 78, 16, 10, 19, 10, false, 0); diff --git a/src/mapgen_functions.cpp b/src/mapgen_functions.cpp index 892c003636414..e422a1f39db94 100644 --- a/src/mapgen_functions.cpp +++ b/src/mapgen_functions.cpp @@ -2015,28 +2015,33 @@ void mapgen_gas_station(map *m, oter_id terrain_type, mapgendata dat, int, float type2 = "vending_drink"; type = "vending_food"; } - int vset = rng(1,5); + int vset = rng(1,5), vset2 = rng(1,5); if(rng(0,1)) { vset += left_w; } else { vset = right_w - vset; } - m->place_vending(vset,top_w-1, type); + m->place_vending(vset, top_w-1, type); if(rng(0,1)) { - int vset2 = rng(1,9); - if(vset2 >= vset) vset2++; - if(vset2 > 5) vset2 = right_w - (vset2 - 5); - else vset2 += left_w; - m->place_vending(vset2,top_w-1, type2); + if(rng(0,1)) { + vset2 += left_w; + } else { + vset2 = right_w - vset2; + } + if (vset2 != vset) { + m->place_vending(vset2, top_w-1, type); + } } - if(rng(0,1)) { - //ATM - m->ter_set(vset - 1, top_w-1, t_atm); - } else { - //charging rack - m->furn_set(vset - 1, top_w-1, f_rack); - m->place_items("gas_charging_rack", 100, vset - 1, top_w-1, vset - 1, top_w-1, false, 0); + if (vset2 != vset-1) { + if(rng(0,1)) { + //ATM + m->ter_set(vset - 1, top_w-1, t_atm); + } else { + //charging rack + m->furn_set(vset - 1, top_w-1, f_rack); + m->place_items("gas_charging_rack", 100, vset - 1, top_w-1, vset - 1, top_w-1, false, 0); + } } // m->ter_set(center_w, rng(middle_w + 1, bottom_w - 1), t_door_c); @@ -3251,8 +3256,8 @@ void mapgen_s_hardware(map *m, oter_id terrain_type, mapgendata dat, int, float starty = 18; } bool hori = (starty == 18 ? false : true); - for (int i = startx; i <= startx + (hori ? 3 : 2); i++) { - for (int j = starty; j <= starty + (hori ? 2 : 3); j++) { + for (int i = startx; i < startx + (hori ? 3 : 2); i++) { + for (int j = starty; j < starty + (hori ? 2 : 3); j++) { m->furn_set(i, j, f_dumpster); } }