From 83f0b1c09713632d0d36552b709c70e64fea231d Mon Sep 17 00:00:00 2001 From: Milopetilo <78963720+Milopetilo@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:29:55 +0100 Subject: [PATCH 1/8] x-ray machine --- .../furniture-medical.json | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/data/json/furniture_and_terrain/furniture-medical.json b/data/json/furniture_and_terrain/furniture-medical.json index 1080259311312..4960c2a82bc3f 100644 --- a/data/json/furniture_and_terrain/furniture-medical.json +++ b/data/json/furniture_and_terrain/furniture-medical.json @@ -939,5 +939,45 @@ { "item": "cable", "charges": [ 1, 15 ] } ] } + }, + { + "type": "furniture", + "id": "f_xray", + "name": "X-ray scanner", + "looks_like": "f_machinery_electronic", + "description": "A table with a movable head, often used for medical examinations.", + "symbol": "X", + "bgcolor": "white", + "move_cost_mod": 6, + "coverage": 50, + "required_str": -1, + "flags": [ "PLACE_ITEM" ], + "deconstruct": { + "items": [ + { "item": "scrap", "count": [ 2, 6 ] }, + { "item": "steel_chunk", "count": [ 1, 3 ] }, + { "item": "plastic_chunk", "count": [ 15, 20 ] }, + { "item": "sheet_metal_small", "count": [ 1, 6 ] }, + { "item": "sheet_metal", "count": [ 2, 4 ] }, + { "item": "pipe", "count": [ 1, 4 ] }, + { "item": "cable", "charges": [ 1, 15 ] } + ] + }, + "bash": { + "str_min": 40, + "str_max": 80, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 2, 7 ] }, + { "item": "steel_chunk", "count": [ 0, 5 ] }, + { "item": "sheet_metal_small", "count": [ 8, 12 ] }, + { "item": "sheet_metal", "count": [ 1, 2 ] }, + { "item": "pipe", "count": [ 1, 2 ] }, + { "item": "cable", "charges": [ 1, 15 ] }, + { "item": "e_scrap", "count": [ 5, 10 ] }, + { "item": "plastic_chunk", "count": [ 0, 2 ] } + ] + } } ] From 7e32e8bf05c9817e78efecd0cf2bc9efccb4542a Mon Sep 17 00:00:00 2001 From: Milopetilo <78963720+Milopetilo@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:30:14 +0100 Subject: [PATCH 2/8] First bit of palette --- data/json/mapgen_palettes/hospital.json | 66 ++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/data/json/mapgen_palettes/hospital.json b/data/json/mapgen_palettes/hospital.json index 58e69ef17cc02..3fd7ddb141dbc 100644 --- a/data/json/mapgen_palettes/hospital.json +++ b/data/json/mapgen_palettes/hospital.json @@ -1,4 +1,68 @@ [ + { + "type": "palette", + "id": "hospital", + "palettes": [ "parametrized_highrise_walls_palette" ], + "parameters": { + "metal_doors_lock_type": { + "//": "Does hospital use traditional or electronic locks", + "type": "ter_str_id", + "default": { "distribution": [ [ "t_door_metal_pickable", 1 ], [ "t_door_metal_elocked", 3 ] ] } + } + }, + "terrain": { + "|": "t_strconc_w", + ".": [ + [ "t_region_groundcover_urban", 10 ], + [ "t_region_shrub_decorative", 3 ], + [ "t_region_shrub_fruit", 2 ], + [ "t_region_shrub", 1 ], + [ "t_region_tree_fruit", 2 ], + [ "t_region_tree_nut", 2 ], + [ "t_region_tree_shade", 1 ] + ], + ",": "t_region_groundcover_urban", + "%": [ "t_region_shrub", "t_region_shrub_fruit", "t_region_shrub_decorative" ], + "[": [ [ "t_region_tree_fruit", 2 ], [ "t_region_tree_nut", 2 ], "t_region_tree_shade" ], + ":": "t_door_glass", + "+": [ [ "t_door_c", 2 ], [ "t_door_o", 1 ] ], + "*": [ [ "t_door_c", 1 ], [ "t_door_locked_interior", 2 ] ], + "$": { "param": "metal_doors_lock_type", "fallback": "t_door_metal_elocked" }, + "_": "t_pavement", + "˽": "t_pavement_y", + ";": "t_sidewalk", + "o": "t_wall_glass", + "O": "t_curtains" + }, + "furniture": { + "a": "f_electron_microscope", + "b": "f_CTscan", + "c": "f_MRI", + "d": "f_scan_bed", + "e": "f_anesthetic", + "f": "f_dialysis", + "g": "f_ventilator", + "J": "f_lab_bench", + "1": "f_fume_hood", + "2": "f_shaker", + "3": "f_eyewash", + "4": "f_IV_pole", + "5": "f_centrifuge", + "6": "f_console", + "7": "f_HPLC", + "8": "f_GC", + "9": "f_MS", + "0": "f_NMR" + }, + "vehicles": { + "^": [ + { "vehicle": "hospital_bed", "chance": 100, "rotation": 0 }, + { "vehicle": "hospital_bed", "chance": 100, "rotation": 90 }, + { "vehicle": "hospital_bed", "chance": 100, "rotation": 180 }, + { "vehicle": "hospital_bed", "chance": 100, "rotation": 270 } + ] + } + }, { "type": "palette", "id": "hospital", @@ -92,7 +156,7 @@ "˽": "t_pavement_y", ";": "t_sidewalk", "#": "t_strconc_wall", - "+": "t_door_c", + "+": [ [ "t_door_c", 5 ], [ "t_door_o", 5 ], [ "t_door_locked_interior", 1 ] ], "|": "t_wall_w", "o": "t_laminated_glass", "°": "t_flat_roof", From c83bec7c1989ed68881f0592a24e6a4012847b9d Mon Sep 17 00:00:00 2001 From: Milopetilo Date: Mon, 25 Nov 2024 12:43:16 +0100 Subject: [PATCH 3/8] More palette work --- data/json/mapgen_palettes/hospital.json | 49 ++++++++++++++++++------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/data/json/mapgen_palettes/hospital.json b/data/json/mapgen_palettes/hospital.json index 293f8ce17f19a..7599db888d75d 100644 --- a/data/json/mapgen_palettes/hospital.json +++ b/data/json/mapgen_palettes/hospital.json @@ -2,7 +2,6 @@ { "type": "palette", "id": "hospital", - "palettes": [ "parametrized_highrise_walls_palette" ], "parameters": { "metal_doors_lock_type": { "//": "Does hospital use traditional or electronic locks", @@ -11,7 +10,8 @@ } }, "terrain": { - "|": "t_strconc_w", + "|": "t_strconc_wall_w", + "#": "t_strconc_wall", ".": [ [ "t_region_groundcover_urban", 10 ], [ "t_region_shrub_decorative", 3 ], @@ -24,15 +24,19 @@ ",": "t_region_groundcover_urban", "%": [ "t_region_shrub", "t_region_shrub_fruit", "t_region_shrub_decorative" ], "[": [ [ "t_region_tree_fruit", 2 ], [ "t_region_tree_nut", 2 ], "t_region_tree_shade" ], - ":": "t_door_glass", + ":": [ "t_door_glass_c", "t_door_glass_o" ], "+": [ [ "t_door_c", 2 ], [ "t_door_o", 1 ] ], "*": [ [ "t_door_c", 1 ], [ "t_door_locked_interior", 2 ] ], + "=": "t_door_metal_locked", "$": { "param": "metal_doors_lock_type", "fallback": "t_door_metal_elocked" }, "_": "t_pavement", "˽": "t_pavement_y", + "`": "t_strconc_floor", + ">": "t_stairs_down", ";": "t_sidewalk", - "o": "t_wall_glass", - "O": "t_curtains" + "o": "t_laminated_glass", + "O": "t_curtains", + "0": "t_wall_glass" }, "furniture": { "a": "f_electron_microscope", @@ -42,7 +46,25 @@ "e": "f_anesthetic", "f": "f_dialysis", "g": "f_ventilator", + "h": "f_xray", + "i": "f_bench", + "j": "f_curtain", + "k": "f_curtain_open", + "l": "f_counter", + "p": "f_freezer", + "t": "f_table", + "v": "f_desk", + "x": "f_chair", + "y": [ "f_indoor_plant_y", "f_indoor_plant" ], + "A": "f_stool", + "B": "f_locker", + "C": "f_filing_cabinet", + "D": "f_utility_shelf", + "F": "f_utility_shelf", "J": "f_lab_bench", + "S": "f_sink", + "U": "f_console_broken", + "W": "f_desk", "1": "f_fume_hood", "2": "f_shaker", "3": "f_eyewash", @@ -51,21 +73,20 @@ "6": "f_console", "7": "f_HPLC", "8": "f_GC", - "9": "f_MS", - "0": "f_NMR" + "9": "f_MS" }, + "vendingmachines": { "E": { "item_group": "vending_drink", "lootable": true }, "G": { "item_group": "vending_food", "lootable": true } }, + "nested": { "-": { "chunks": [ [ "null", 70 ], [ "pile_bodybag_corpses", 30 ] ] } }, "vehicles": { - "^": [ - { "vehicle": "hospital_bed", "chance": 100, "rotation": 0 }, - { "vehicle": "hospital_bed", "chance": 100, "rotation": 90 }, - { "vehicle": "hospital_bed", "chance": 100, "rotation": 180 }, - { "vehicle": "hospital_bed", "chance": 100, "rotation": 270 } - ] + "^": [ { "vehicle": "hospital_bed", "chance": 100, "rotation": [ 0, 90, 180, 270 ] } ], + "ɱ": { "vehicle": "laundry_cart", "chance": 100, "rotation": 0 }, + "ƃ": { "vehicle": "wheelchair", "chance": 100, "rotation": 0 }, + "Ƨ": { "vehicle": "swivel_chair", "chance": 100, "rotation": 0 } } }, { "type": "palette", - "id": "hospital", + "id": "hospital_old", "terrain": { " ": "t_region_groundcover_urban", ":": "t_pavement_y", From 0b26fd9c454079a5695570abb6f845673c250cd0 Mon Sep 17 00:00:00 2001 From: Milopetilo <78963720+Milopetilo@users.noreply.github.com> Date: Sat, 30 Nov 2024 04:16:11 +0100 Subject: [PATCH 4/8] Finish it --- data/json/mapgen/hospital.json | 278 ++++++++++-------------- data/json/mapgen_palettes/hospital.json | 146 ++++--------- data/json/monstergroups/zombies.json | 2 +- 3 files changed, 165 insertions(+), 261 deletions(-) diff --git a/data/json/mapgen/hospital.json b/data/json/mapgen/hospital.json index 0edbf1cd6dee9..9ff6b7ae012e7 100644 --- a/data/json/mapgen/hospital.json +++ b/data/json/mapgen/hospital.json @@ -75,139 +75,95 @@ ], "weight": 250, "object": { - "fill_ter": "t_dirt", + "fill_ter": "t_linoleum_white", "rows": [ - "_______________________________________________________########;########", - "_______________________________________________________#...cT#...#Tc...#", - "_:__=_:__=_:__=_:____=____:__=_:__=_:__=_:__=_:__=_:___#BB...+...+...BB#", - "_:____:____:____:_________:____:____:____:____:____:___#BB...+...+...BB#", - "_:____:____:____:_________:____:____:____:____:____:___#....l#...#l....#", - "_:____:____:____:_________:____:____:____:____:____:___#######...#######", - "_:____:____:____:_________:____:____:____:____:____:___#....l#...#l....#", - "_:____:____:____:_________:____:____:____:____:____:___#BB...+...+...BB#", - "_______________________________________________________#BB...+...+...BB#", - "####################//####xxxxxxxxxxxxxxxxxxxxxxxxxx#;;#...cT#...#Tc...#", - "#&#&#&#&#&#sssss#.........TbbbbTbbbbTbbbbTbbbbTbbbbT#``#######...#######", - "#.#.#.#.#.#.....#..................................b#``#...cT#...#Tc...#", - "#+#+#+#+#+#.....+..................................b#``#BB...+...+...BB#", - "#...............+..................................b#``#BB...+...+...BB#", - "#...............#..................................b#``#....l#...#l....#", - "#################F........xCCCCCCCCCx..............T#``#######...#######", - "#...............#.........x.c.c.c.c.x..............b#``#....l#...#l....#", - "#...............+........./.........x..............b#``#BB...+...+...BB#", - "#+#+#+#+#+#.....+........./.........x..............b#``#BB...+...+...BB#", - "#.#.#.#.#.#.....#.........x...a.....x..............b#``#...cT#...#Tc...#", - "#&#&#&#&#&#sssss#.D.....F.#rr###+####.DF.TbbbbTbbbbT#``#######///#######", - "####################//########r..a.d#################``#l.rrr#...#rrr.l#", - "#...ll...x...ll...x....#SSSTf#r...cd#s.&#&.s#s.&#&.s#``#l....!...!....l#", - "#.TB..BT.x.TB..BT.x....#.....+.....L#...#...#...#...#``#larrr#...#rrral#", - "#r.B..B.rxr.B..B.rx....#########!#####+###+###+###+##;;#######...#######", - "#r....a.rxr....a.rx....................................................#", - "#xxx//xxxxxxx//xxxx....................................................;", - "#......................................................................#", - "#......................####################...#######;;#######...#######", - "#......................x...........l#8....#...#rrr.l#``#l.rrr#...#rrr.l#", - "#....................../.....A..BT.l#8....!...!....l#``#l....!...!....l#", - "#....................../.....?..B..r#88888#...#rrral#``#larrr#...#rrral#", - "#5.....................x..........ar#######///#######``#######///#######", - "##X#################///##############...cT#...#Tc...#``#...cT#...#Tc...#", - "#H.......H#a......l#...x...........l#BB...+...+...BB#``#BB...+...+...BB#", - "#H.......H#r.TBBT..#.../.....TBBT..a#BB...+...+...BB#``#BB...+...+...BB#", - "#H.......H#r..BB...#.../......BB...r#....l#...#l....#``#....l#...#l....#", - "#H.......H#........#...x...........r#######...#######``#######...#######", - "###########xxx//xxx#...##############....l#...#l....#``#....l#...#l....#", - "#l........x............x........a..R#BB...+...+...BB#``#BB...+...+...BB#", - "#R.TB..A../............/.....6.....R#BB...+...+...BB#``#BB...+...+...BB#", - "#R..B..?../............/.....*.....R#...cT#...#Tc...#``#...cT#...#Tc...#", - "#a........x............x.......22..R#######...#######``#######...#######", - "###########xxx//xxx#...##############...cT#...#Tc...#``#...cT#...#Tc...#", - "#..KKKKK..#........#...x...........r#BB...+...+...BB#``#BB...+...+...BB#", - "#N........#r..BB...#.../......BB...r#BB...+...+...BB#``#BB...+...+...BB#", - "#Y.......8#r.TBBT..#.../.....TBBT..a#....l#...#l....#``#....l#...#l....#", - "#...TT...8#a......l#...x...........l#######...#######``#######...#######", - "#######!#############///#############....l#...#l....#``#....l#...#l....#", - ";``````````````````;....bbb.bbb.bbb.#BB...+...+...BB#``#BB...+...+...BB#", - ";``````````````````;...............b#BB...+...+...BB#``#BB...+...+...BB#", - "######;;############...............b#...cT#...#Tc...#``#...cT#...#Tc...#", - "#&..#....LLLLLLLLLL#...............b#######...#######``#######...#######", - "#...+..............!................#...cT#...#Tc...#``#...cT#...#Tc...#", - "#..s#.....bbb.rrrra#...............b#BB...+...+...BB#``#BB...+...+...BB#", - "#####....###########...............b#BB...#...+...BB#``#BB...#...+...BB#", - "#kddd...C#d..ddd.ad#...............b#....l#...#l....#``#....l#...#l....#", - "w..c....C#dc..c..cd#................#######///#######;;#######///#######", - "#.......C#d.......d#.............................................#88888#", - "w........+.........!.............................................!....8#", - "#SSSSSS.f#lllkkkrrr#.............................................#....8#", - "####################xxxxxxxxxxxx///x##+###+###+###+##;;#######///#######", - "x...................................#...#...#...#...#``#...cT#...#Tc...#", - "x..bbbb..bbbb..bbbb..bbbb..bbbb....4#s.&#&.s#s.&#&.s#``#BB...+...+...BB#", - "x..TTTT..TTTT..TTTT..TTTT..TTTT....4#################``#BB...+...+...BB#", - "x..bbbb..bbbb..bbbb..bbbb..bbbb....4#44444#ssss#ssss#``#....l#...#l....#", - "x...................................#...............#``#######...#######", - "x..bbbb..bbbb..bbbb..bbbb..bbbb.....+......99999999.;``#....l#...#l....#", - "x..TTTT..TTTT..TTTT..TTTT..TTTT.....+......99999999.;``#BB...+...+...BB#", - "x..bbbb..bbbb..bbbb..bbbb..bbbb.....#...............#``#BB...+...+...BB#", - "x...............................444.#44444#oooo#ffff#``#...cT#...#Tc...#", - "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#######################;;#################" + ",%,,[,,______;,%,,###OOO#######OO#####OO#####OO#####OO###______________,", + ",____________;,,,,#llllllf |yCC y|yCC y|yCC y|yCC y#______________,", + "%____________;,,,,#l x| x | x | | #______________,", + ",__Á_________;,,,[#S xx xt| W | W |x W | xW #______________,", + ",____________;,[,,#S xttxxt|UWWW |UWWW |UWWW |UWWW #______________,", + ",˽˽˽˽˽˽______;,,%,Ol xttx | xx | x | x | x #______________,", + "[____________;,,,,Ol xx | 3| 3| 3|x 3#______________,", + ",____________;,,,,Ol xx x| S| x S|x S| S#______________,", + ",__Á_________;,,,,Ol xttxxt| J| J| J| J#______________,", + ",____________;,,,,Ol xttxxt| J| J| J| J#______________,", + ",˽˽˽˽˽˽______;,,,%#l xx |y J|y J|y J|y J#______________,", + ",____________;,,[,#3 ||+||||||+||||||+||||||+||||#______________,", + "[____________;,,,,# ED + $______________,", + ",__Á_________;,,,,#|||||||||| ^ ^ ^ $______________,", + ",____________;,%,,#yiiiiiiiy ||||||*|||#______________,", + ",˽˽˽˽˽˽______;,,,,#i ^ ^ ^ |CCCy y|#======##======#", + ",____________;,,,[#i ^ ED| C|#``````&&``````#", + ",____________;,,,,oi ^ 3|||||||| W C|#``````````````#", + ",__Á_________;%,,,oi iiiiiƃ ^ ^ |y CCC| xW W |#``````````````#", + ",____________;,,,,oi | O W Wx |#``````````````#", + "%˽˽˽˽˽˽______;,,,,oi ^ | WW O W |#``````````````#", + ",____________;[,,,#y iiii iiii Г| W Oy C|#``````````````#", + ",____________;,,%,#i i##i i##i | xW | C|#``````````````#", + ",____________;,,,,#i i##i i##i | W + W |#``````````````#", + ",____________;,,,,#i iiii iiii | WW | Wx |#``````````````#", + "[˽˽˽˽˽˽______;,,,,oi ^ ƃ | O W |#``````````````#", + ",____________;,,,,oi ^ E|C OCCCCy y|#``````````````#", + ",____________;,,,,oy ^ D|y y||||||||||#``ւ``````ւ````#", + ",__Á_________;,,,oo |oooooo|||OOOO|||#########``````````````#", + ",____________;,,oo o...............|#KKKKKKK#``````````````#", + ",˽˽˽˽˽˽______;,oo i#i vvv o...............|# #``````````````#", + ",____________;oo i#i v o...............|# #``````````````#", + ",____________;oƃ i#i Ux o...............|#FFFFF #``````````````#", + ",__Á_________;o v o...............|# $``````````````#", + ",____________;o v o...............|# $``````````````#", + ",˽˽˽˽˽˽______;: ^ U x o...............|#FFFF #``````````````#", + ",____________;: v o...............|# ##`````&``&`````#", + "%____________;o ^ vx o...............|# #||====||||====|#", + ",__Á_________;o U o...............|#FFFF #|& vx &#", + ",____________;o i#i vx o...............|# #| U U #", + ",˽˽˽˽˽˽______;oo i#i v o...............|# #| ^ v vx Г#", + ",____________;,oo i#i U o...............|#LLLL #| vx v #", + ",____________;,,oo ƃ v o...............|# #|Г v xv o", + ",__Á_________;,,,oo vvv o...............|#LLLL #| ^ vvUv o", + ",____________;,,,,o o...............|######$#| ^ #", + "%˽˽˽˽˽˽______;,,,,o ^ ^ 3|ooooooooooooooo||||||| || ^ #", + ",____________;,,[,o ) ) + E#", + ",____________;,,,,#yiiiiiiiy ) ) Г ) + Г D#", + ",____________;%,,,#||||||||| ||||||||||||||||||||||*||jjjj #####", + ",____________;,,,,#n + |C * C| J|B |4Г k ^ ^ $ F#", + ",˽˽˽˽˽˽______;,,%,#) x | ^ |C v |x | b J|B |) j S# F#", + ",____________;,,,,#4 | | v ^ i| $ d J|B i |jjjj J#Г F#", + ",____________;,,,,O y| ^ E| xv i| U0 J|B i |4 k J#Г F#", + "[__Á_________;,[,,#|||||| D| v i|||| J|B i |) Гk J#Г F#", + ",____________;,,,,#n + |UvUv |ii| AJ|B i |jjjj J#Г F#", + ",˽˽˽˽˽˽______;%,,,#) | Г | ^ + + J|B |4 j ^ S#Г F#", + ",____________;,,,,#4 |3 ^ |||||||||||||||) k J#Г F#", + ",____________;,,,,O x y| ^ + + J|G ɱ|jjjj J#Г F#", + "%__Á_________;,,%,#|||||| Г |ii| J|G ɱ|4 Гk ^ S#Г F#", + ",____________;,,,,#n + ^ ^ 3|||| AJ|G ɱ|) j 3#Г F#", + ",˽˽˽˽˽˽______;,,[,#) x| | | U0 J|G ɱ|jjjj #####", + ",____________;,,,,#4 | | iiii * $ d J|G ɱ|4 k #", + "[____________;,,%,O y| |*|||||||+| | c J|G |) j ^ ^ $", + ",__Á_________;,,,,#|||||| |x x |i |x | J|G |jjjj $", + ",____________;%,,,#n + ^ ƃ|CC UU|i ||||||||||||+|| Г #", + ",˽˽˽˽˽˽______;,,,,#) Г| ^ ƃ|||$|00||+|6 + * #", + ",____________;,,,,#4 x| ƃ| |5 I| |kjjkjjkkjkjjkj#", + ",____________;,,,,O y| ƃ| |I III I|||+| jГ j j j #", + ",____________;,,,,#|||||| ƃ| h |I I|RR | j j jГ j #", + "%__Á_________;,[,,#RRRɱɱ| ^ ƃ| A |5 I| | j j j j #", + ",____________;,,,%# * 3 ƃ|JJJJJJJJJ|6 HnUnH 3|RRR|4(j4(j4(j4(j4(#", + ",,%,,,,[,,%,,,,,,,#########$$###########################################" ], "palettes": [ "hospital" ], - "terrain": { "5": "t_floor", "H": "t_floor", "X": [ "t_door_metal_locked", "t_door_metal_elocked" ], "=": "t_pavement" }, - "furniture": { "H": "f_locker" }, - "place_zones": [ { "type": "ZONE_START_POINT", "faction": "your_followers", "x": [ 39, 41 ], "y": [ 45, 46 ] } ], - "vendingmachines": { "D": { "item_group": "vending_drink", "lootable": true }, "F": { "item_group": "vending_food", "lootable": true } }, + "vendingmachines": { "D": { "item_group": "vending_drink", "lootable": true }, "E": { "item_group": "vending_food", "lootable": true } }, "computers": { - "5": { - "name": "Medical Supply Access", - "security": 2, - "options": [ { "name": "Unlock Door", "action": "unlock" } ], - "failures": [ { "action": "shutdown" }, { "action": "alarm" } ] - }, "6": { "name": "Centrifuge", "options": [ { "name": "Analyze blood", "action": "blood_anal" } ], "failures": [ { "action": "destroy_blood" } ] } }, - "vehicles": { "=": { "vehicle": "pickup_corpses", "chance": 10, "rotation": 270, "status": 1 } }, - "nested": { "=": { "chunks": [ [ "null", 70 ], [ "pile_bodybag_corpses", 30 ] ] } }, - "items": { - "b": { "item": "magazines", "chance": 50 }, - "B": { "item": "hospital_bed", "chance": 80 }, - "f": { "item": "SUS_fridge_breakroom", "chance": 90 }, - "d": { "item": "office", "chance": 80 }, - "C": { "item": "office", "chance": 20 }, - "S": { "item": "bed", "chance": 60 }, - "r": { "item": "hospital_medical_items", "chance": 30 }, - "R": { "item": "hospital_lab", "chance": 70 }, - "l": { "item": "surgery", "chance": 80 }, - "L": { "item": "allclothes", "chance": 90 }, - "8": { "item": "cleaning", "chance": 70 }, - "9": { "item": "produce", "chance": 40 }, - "T": { "item": "snacks", "chance": 50 }, - "2": { "item": "hospital_samples", "chance": 50 }, - "k": { "item": "doctors_books", "chance": 60 }, - "K": { "item": "hospital_oxygen", "chance": 85 }, - "a": { "item": "gear_medical", "chance": 65, "repeat": [ 2, 3 ] }, - "H": [ - { "item": "harddrugs", "chance": 60 }, - { "item": "gear_medical", "chance": 60, "repeat": [ 1, 3 ] }, - { "item": "drugs_analgesic", "chance": 60, "repeat": [ 1, 3 ] }, - { "item": "drugs_rare", "chance": 60 }, - { "item": "surgery", "chance": 60 } - ] - }, - "monster": { "B": { "monster": "mon_civilian_icu", "chance": 10 } }, - "place_monster": [ - { "group": "GROUP_HOSPITAL", "x": [ 0, 23 ], "y": [ 0, 23 ], "repeat": [ 15, 20 ] }, - { "group": "GROUP_HOSPITAL", "x": [ 25, 46 ], "y": [ 1, 22 ], "repeat": [ 15, 20 ] }, - { "group": "GROUP_HOSPITAL", "x": [ 49, 70 ], "y": [ 1, 22 ], "repeat": [ 15, 20 ] }, - { "group": "GROUP_HOSPITAL", "x": [ 1, 22 ], "y": [ 25, 46 ], "repeat": [ 15, 20 ] }, - { "group": "GROUP_HOSPITAL", "x": [ 25, 46 ], "y": [ 25, 46 ], "repeat": [ 15, 20 ] }, - { "group": "GROUP_HOSPITAL", "x": [ 49, 70 ], "y": [ 25, 46 ], "repeat": [ 15, 20 ] }, - { "group": "GROUP_HOSPITAL", "x": [ 1, 22 ], "y": [ 49, 70 ], "repeat": [ 15, 20 ] }, - { "group": "GROUP_HOSPITAL", "x": [ 25, 46 ], "y": [ 49, 70 ], "repeat": [ 15, 20 ] }, - { "group": "GROUP_HOSPITAL", "x": [ 49, 70 ], "y": [ 49, 70 ], "repeat": [ 15, 20 ] } - ] + "monster": { + "ƃ": { "monster": "mon_civilian_icu", "chance": 75 }, + "^": { "group": "GROUP_HOSPITAL" }, + " ": { "group": "GROUP_HOSPITAL", "chance": 4 } + } } }, { @@ -222,44 +178,27 @@ "object": { "fill_ter": "t_flat_roof", "rows": [ - " -----------------", - " -...............-", - " -...............-", - " -...............-", - " -...............-", - " -...............-", - " -...............-", - " -...............-", - " -...............-", - "--------------------------------------------------------...............-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ---------- ", + " --........-- ", + " --..........-- ", + " --............-- ", + "5---------------------------5..............5---------------------------5", "-......................................................................-", + "-...1......1..............1.......1..........1..........1..........1...-", "-......................................................................-", "-......................................................................-", "-......................................................................-", @@ -270,6 +209,7 @@ "-......................................................................-", "-......................................................................-", "-......................................................................-", + "-...3............6................7......................3.............-", "-......................................................................-", "-......................................................................-", "-......................................................................-", @@ -289,11 +229,27 @@ "-......................................................................-", "-......................................................................-", "-......................................................................-", + "-...3.....................................................3............-", "-......................................................................-", "-......................................................................-", "-......................................................................-", "-......................................................................-", - "------------------------------------------------------------------------" + "5--------------5.......................................................-", + " -.......................................................-", + " -.......................................................-", + " -.......................................................-", + " -.....................7.................................-", + " -.......................................................-", + " -.......................................................-", + " -.......................................................-", + " -................................................6......-", + " -.......................................................-", + " -.......................................................-", + " -.......................................................-", + " -.......................................................-", + " -.......................................................-", + " -.......................................................-", + " 5-------------------------------------------------------5" ], "palettes": [ "roof_palette" ] } diff --git a/data/json/mapgen_palettes/hospital.json b/data/json/mapgen_palettes/hospital.json index 7599db888d75d..0bd23e74ea313 100644 --- a/data/json/mapgen_palettes/hospital.json +++ b/data/json/mapgen_palettes/hospital.json @@ -12,11 +12,12 @@ "terrain": { "|": "t_strconc_wall_w", "#": "t_strconc_wall", + "&": "t_gates_mech_control", ".": [ - [ "t_region_groundcover_urban", 10 ], - [ "t_region_shrub_decorative", 3 ], - [ "t_region_shrub_fruit", 2 ], - [ "t_region_shrub", 1 ], + [ "t_region_groundcover_urban", 40 ], + [ "t_region_shrub_decorative", 12 ], + [ "t_region_shrub_fruit", 8 ], + [ "t_region_shrub", 8 ], [ "t_region_tree_fruit", 2 ], [ "t_region_tree_nut", 2 ], [ "t_region_tree_shade", 1 ] @@ -34,24 +35,23 @@ "`": "t_strconc_floor", ">": "t_stairs_down", ";": "t_sidewalk", + "ւ": "t_strconc_floor", + "Á": "t_pavement", "o": "t_laminated_glass", - "O": "t_curtains", + "O": [ [ "t_curtains", 1 ], [ "t_window_domestic", 2 ] ], "0": "t_wall_glass" }, "furniture": { - "a": "f_electron_microscope", "b": "f_CTscan", "c": "f_MRI", "d": "f_scan_bed", - "e": "f_anesthetic", - "f": "f_dialysis", - "g": "f_ventilator", + "f": "f_fridge", "h": "f_xray", "i": "f_bench", "j": "f_curtain", "k": "f_curtain_open", "l": "f_counter", - "p": "f_freezer", + "n": "f_autoclave", "t": "f_table", "v": "f_desk", "x": "f_chair", @@ -59,9 +59,14 @@ "A": "f_stool", "B": "f_locker", "C": "f_filing_cabinet", - "D": "f_utility_shelf", "F": "f_utility_shelf", + "H": "f_lab_bench", + "G": "f_washer", + "I": "f_lab_bench", "J": "f_lab_bench", + "K": "f_utility_shelf", + "L": "f_utility_shelf", + "R": "f_rack", "S": "f_sink", "U": "f_console_broken", "W": "f_desk", @@ -70,99 +75,42 @@ "3": "f_eyewash", "4": "f_IV_pole", "5": "f_centrifuge", - "6": "f_console", - "7": "f_HPLC", - "8": "f_GC", - "9": "f_MS" + "6": "f_console" + }, + "items": { + "i": { "item": "magazines", "chance": 5 }, + "^": { "item": "hospital_bed", "repeat": [ 1, 2 ] }, + "f": { "item": "SUS_fridge_breakroom" }, + "W": { "item": "office", "chance": 80, "repeat": [ 0, 2 ] }, + "v": { "item": "office", "chance": 80, "repeat": [ 0, 1 ] }, + "C": { "item": "office", "chance": 60, "repeat": [ 2, 3 ] }, + "K": { "item": "hospital_lab", "chance": 70 }, + "J": { "item": "drugs_emergency", "chance": 80 }, + "G": { "item": "allclothes", "chance": 90, "repeat": [ 2, 3 ] }, + "R": { "item": "cleaning", "chance": 70, "repeat": [ 2, 3 ] }, + "H": { "item": "hospital_samples", "chance": 75, "repeat": [ 1, 3 ] }, + "L": { "item": "hospital_oxygen", "chance": 85, "repeat": [ 1, 3 ] }, + "Г": { "item": "full_1st_aid", "chance": 65, "repeat": [ 1, 3 ] }, + "F": [ + { "item": "harddrugs", "chance": 60, "repeat": [ 2, 3 ] }, + { "item": "gear_medical", "chance": 60, "repeat": [ 1, 3 ] }, + { "item": "drugs_analgesic", "chance": 60, "repeat": [ 1, 3 ] }, + { "item": "drugs_rare", "chance": 60, "repeat": [ 0, 2 ] }, + { "item": "surgery", "chance": 60, "repeat": [ 1, 2 ] }, + { "item": "full_ifak", "chance": 40 } + ] }, - "vendingmachines": { "E": { "item_group": "vending_drink", "lootable": true }, "G": { "item_group": "vending_food", "lootable": true } }, - "nested": { "-": { "chunks": [ [ "null", 70 ], [ "pile_bodybag_corpses", 30 ] ] } }, "vehicles": { - "^": [ { "vehicle": "hospital_bed", "chance": 100, "rotation": [ 0, 90, 180, 270 ] } ], + "^": { "vehicle": "hospital_bed", "chance": 100, "rotation": [ 0, 90, 180, 270 ] }, + ")": { "vehicle": "hospital_bed", "chance": 100, "rotation": 180 }, + "(": { "vehicle": "hospital_bed", "chance": 100, "rotation": 90 }, "ɱ": { "vehicle": "laundry_cart", "chance": 100, "rotation": 0 }, "ƃ": { "vehicle": "wheelchair", "chance": 100, "rotation": 0 }, - "Ƨ": { "vehicle": "swivel_chair", "chance": 100, "rotation": 0 } - } - }, - { - "type": "palette", - "id": "hospital_old", - "terrain": { - " ": "t_region_groundcover_urban", - ":": "t_pavement_y", - "&": "t_floor", - ".": "t_floor", - "a": "t_floor", - "b": "t_floor", - "c": "t_floor", - "d": "t_floor", - "k": "t_floor", - "f": "t_floor", - "l": "t_floor", - "L": "t_floor", - "w": "t_window", - "B": "t_floor", - "C": "t_floor", - "o": "t_floor", - "D": "t_floor", - "F": "t_floor", - "4": "t_floor", - "r": "t_floor", - "R": "t_floor", - "T": "t_floor", - "_": "t_pavement", - "/": "t_door_glass_c", - ";": "t_door_locked", - "s": "t_floor", - "x": "t_wall_glass", - "`": "t_thconc_floor", - "+": "t_door_c", - "!": "t_door_locked_interior", - "*": "t_floor", - "6": "t_floor", - "7": "t_floor", - "S": "t_floor", - "2": "t_floor", - "8": "t_floor", - "9": "t_floor", - "A": "t_floor", - "?": "t_floor", - "K": "t_floor", - "N": "t_floor", - "Y": "t_floor" - }, - "furniture": { - "*": "f_centrifuge", - "6": "f_console", - "7": "f_console", - "b": "f_bench", - "c": "f_chair", - "B": "f_bed", - "f": [ "f_heavy_duty_fridge", "f_heavy_duty_freezer" ], - "d": "f_desk", - "k": "f_bookcase", - "C": "f_counter", - "S": "f_sofa", - "s": "f_sink", - "o": [ "f_oven", "f_gas_oven_microwave_combo" ], - "4": "f_rack", - "r": "f_rack", - "R": "f_rack", - "8": "f_locker", - "l": "f_locker", - "L": "f_locker", - "K": "f_locker", - "2": "f_table", - "T": "f_table", - "9": "f_table", - "&": "f_toilet", - "A": "f_autodoc", - "?": "f_autodoc_couch", - "N": "f_oxygen_concentrator", - "Y": "f_hd_compressor_unit" + "Г": { "vehicle": "medical_cart", "chance": 100, "rotation": 0 }, + "ւ": { "vehicle": "ambulance", "chance": 75, "rotation": 270 }, + "Á": { "vehicle": "parking_garage", "chance": 75, "rotation": 180 } }, - "toilets": { "&": { } }, - "vehicles": { "a": { "vehicle": "medical_cart", "chance": 100, "rotation": 0 } } + "nested": { " ": { "chunks": [ [ "blood_field", 2 ], [ "bile_field", 1 ], [ "null", 47 ] ] } } }, { "type": "palette", diff --git a/data/json/monstergroups/zombies.json b/data/json/monstergroups/zombies.json index 536cc90ae852d..52c0c948bb0b4 100644 --- a/data/json/monstergroups/zombies.json +++ b/data/json/monstergroups/zombies.json @@ -652,7 +652,7 @@ "name": "GROUP_HOSPITAL", "//": "Hospital monster spawns. Same as GROUP_ZOMBIE, but without Z-dogs + 20% medical", "monsters": [ - { "monster": "mon_null", "weight": 150 }, + { "group": "GROUP_VANILLA_DORMANT", "weight": 100, "cost_multiplier": 3 }, { "group": "GROUP_CIVILIANS_STANDARD", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_zombie", "weight": 1, "cost_multiplier": 7, "pack_size": [ 5, 10 ] }, { "monster": "mon_zombie", "weight": 1, "cost_multiplier": 13, "pack_size": [ 15, 20 ] }, From a9c036e377d6d5f25bc6fea9d5231677b359bcf6 Mon Sep 17 00:00:00 2001 From: Milopetilo <78963720+Milopetilo@users.noreply.github.com> Date: Sat, 30 Nov 2024 04:34:29 +0100 Subject: [PATCH 5/8] Rotate the roof correctly --- data/json/mapgen/hospital.json | 144 ++++++++++++++++----------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/data/json/mapgen/hospital.json b/data/json/mapgen/hospital.json index 9ff6b7ae012e7..c82f9b5dcfc24 100644 --- a/data/json/mapgen/hospital.json +++ b/data/json/mapgen/hospital.json @@ -178,78 +178,78 @@ "object": { "fill_ter": "t_flat_roof", "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ---------- ", - " --........-- ", - " --..........-- ", - " --............-- ", - "5---------------------------5..............5---------------------------5", - "-......................................................................-", - "-...1......1..............1.......1..........1..........1..........1...-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-...3............6................7......................3.............-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-...3.....................................................3............-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "-......................................................................-", - "5--------------5.......................................................-", - " -.......................................................-", - " -.......................................................-", - " -.......................................................-", - " -.....................7.................................-", - " -.......................................................-", - " -.......................................................-", - " -.......................................................-", - " -................................................6......-", - " -.......................................................-", - " -.......................................................-", - " -.......................................................-", - " -.......................................................-", - " -.......................................................-", - " -.......................................................-", - " 5-------------------------------------------------------5" + " 5-------------------------------------5 ", + " -.....................................- ", + " -.....................................- ", + " -.....................................- ", + " -.1..........3...................3....- ", + " -.....................................- ", + " -.....................................- ", + " -.....................................- ", + " -.....................................- ", + " -.....................................- ", + " -.....................................- ", + " -.1...................................- ", + " -.....................................- ", + " -.....................................- ", + " -.....................................- ", + " -.....................................5--------------5", + " -....................................................-", + " -............6.......................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -.1..................................................-", + " -....................................................-", + " -5....................................................-", + " --.....................................................-", + " --......................................................-", + " --.......................................................-", + " -........................................................-", + " -........................................................-", + " -.....1..........7.......................................-", + " -........................................................-", + " -........................................................-", + " -.............................................7..........-", + " -........................................................-", + " -........................................................-", + " --.......................................................-", + " --......................................................-", + " --.....................................................-", + " -5....................................................-", + " -....................................................-", + " -.1..................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -.1..................................................-", + " -............3.......................................-", + " -................................3...................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " -.............................................6......-", + " -....................................................-", + " -....................................................-", + " -.1..................................................-", + " -....................................................-", + " -....................................................-", + " -....................................................-", + " 5----------------------------------------------------5" ], "palettes": [ "roof_palette" ] } From 30bf21cbf63e49f9a1018dd1b699ffea3ade4c4f Mon Sep 17 00:00:00 2001 From: Milopetilo <78963720+Milopetilo@users.noreply.github.com> Date: Sat, 30 Nov 2024 04:34:40 +0100 Subject: [PATCH 6/8] Last few item spawns --- data/json/mapgen_palettes/hospital.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/data/json/mapgen_palettes/hospital.json b/data/json/mapgen_palettes/hospital.json index 0bd23e74ea313..7903aa1071109 100644 --- a/data/json/mapgen_palettes/hospital.json +++ b/data/json/mapgen_palettes/hospital.json @@ -98,7 +98,14 @@ { "item": "drugs_rare", "chance": 60, "repeat": [ 0, 2 ] }, { "item": "surgery", "chance": 60, "repeat": [ 1, 2 ] }, { "item": "full_ifak", "chance": 40 } - ] + ], + "l": [ + { "item": "SUS_utensils", "chance": 60 }, + { "item": "SUS_silverware", "chance": 60 }, + { "item": "SUS_dishes", "chance": 60 }, + { "item": "SUS_appliances_cupboard", "chance": 60 } + ], + "S": { "item": "public_sink", "chance": 60 } }, "vehicles": { "^": { "vehicle": "hospital_bed", "chance": 100, "rotation": [ 0, 90, 180, 270 ] }, From 08eb706aba83706f61edb8bdce6903648b6f7061 Mon Sep 17 00:00:00 2001 From: Milopetilo <78963720+Milopetilo@users.noreply.github.com> Date: Sat, 30 Nov 2024 12:29:20 +0100 Subject: [PATCH 7/8] Fix the roof + make the challenge start possible --- data/json/mapgen/hospital.json | 59 ++++++++++++++----------- data/json/mapgen_palettes/hospital.json | 2 + 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/data/json/mapgen/hospital.json b/data/json/mapgen/hospital.json index c82f9b5dcfc24..3ad86948c65eb 100644 --- a/data/json/mapgen/hospital.json +++ b/data/json/mapgen/hospital.json @@ -89,8 +89,8 @@ ",____________;,,,,Ol xttxxt| J| J| J| J#______________,", ",˽˽˽˽˽˽______;,,,%#l xx |y J|y J|y J|y J#______________,", ",____________;,,[,#3 ||+||||||+||||||+||||||+||||#______________,", - "[____________;,,,,# ED + $______________,", - ",__Á_________;,,,,#|||||||||| ^ ^ ^ $______________,", + "[____________;,,,,# ED + £______________,", + ",__Á_________;,,,,#|||||||||| ^ ^ ^ £______________,", ",____________;,%,,#yiiiiiiiy ||||||*|||#______________,", ",˽˽˽˽˽˽______;,,,,#i ^ ^ ^ |CCCy y|#======##======#", ",____________;,,,[#i ^ ED| C|#``````&&``````#", @@ -132,23 +132,23 @@ ",____________;,,,,O y| ^ E| xv i| U0 J|B i |4 k J#Г F#", "[__Á_________;,[,,#|||||| D| v i|||| J|B i |) Гk J#Г F#", ",____________;,,,,#n + |UvUv |ii| AJ|B i |jjjj J#Г F#", - ",˽˽˽˽˽˽______;%,,,#) | Г | ^ + + J|B |4 j ^ S#Г F#", + ",˽˽˽˽˽˽______;%,,,#) | Г | ^ +--+ J|B |4 j ^ S#Г F#", ",____________;,,,,#4 |3 ^ |||||||||||||||) k J#Г F#", - ",____________;,,,,O x y| ^ + + J|G ɱ|jjjj J#Г F#", + ",____________;,,,,O x y| ^ +--+ J|G ɱ|jjjj J#Г F#", "%__Á_________;,,%,#|||||| Г |ii| J|G ɱ|4 Гk ^ S#Г F#", ",____________;,,,,#n + ^ ^ 3|||| AJ|G ɱ|) j 3#Г F#", ",˽˽˽˽˽˽______;,,[,#) x| | | U0 J|G ɱ|jjjj #####", ",____________;,,,,#4 | | iiii * $ d J|G ɱ|4 k #", - "[____________;,,%,O y| |*|||||||+| | c J|G |) j ^ ^ $", - ",__Á_________;,,,,#|||||| |x x |i |x | J|G |jjjj $", - ",____________;%,,,#n + ^ ƃ|CC UU|i ||||||||||||+|| Г #", + "[____________;,,%,O y| |*|||||||+| | c J|G |) j ^ ^ £", + ",__Á_________;,,,,#|||||| |x x |i-|x | J|G |jjjj £", + ",____________;%,,,#n + ^ ƃ|CC UU|i-||||||||||||+|| Г #", ",˽˽˽˽˽˽______;,,,,#) Г| ^ ƃ|||$|00||+|6 + * #", ",____________;,,,,#4 x| ƃ| |5 I| |kjjkjjkkjkjjkj#", ",____________;,,,,O y| ƃ| |I III I|||+| jГ j j j #", ",____________;,,,,#|||||| ƃ| h |I I|RR | j j jГ j #", "%__Á_________;,[,,#RRRɱɱ| ^ ƃ| A |5 I| | j j j j #", ",____________;,,,%# * 3 ƃ|JJJJJJJJJ|6 HnUnH 3|RRR|4(j4(j4(j4(j4(#", - ",,%,,,,[,,%,,,,,,,#########$$###########################################" + ",,%,,,,[,,%,,,,,,,#########££###########################################" ], "palettes": [ "hospital" ], "vendingmachines": { "D": { "item_group": "vending_drink", "lootable": true }, "E": { "item_group": "vending_food", "lootable": true } }, @@ -163,7 +163,12 @@ "ƃ": { "monster": "mon_civilian_icu", "chance": 75 }, "^": { "group": "GROUP_HOSPITAL" }, " ": { "group": "GROUP_HOSPITAL", "chance": 4 } - } + }, + "place_zones": [ + { "type": "ZONE_START_POINT", "faction": "your_followers", "x": [ 43, 44 ], "y": [ 54, 55 ] }, + { "type": "ZONE_START_POINT", "faction": "your_followers", "x": [ 43, 44 ], "y": [ 57, 58 ] }, + { "type": "ZONE_START_POINT", "faction": "your_followers", "x": [ 40, 41 ], "y": [ 63, 64 ] } + ] } }, { @@ -206,24 +211,24 @@ " -....................................................-", " -.1..................................................-", " -....................................................-", - " -5....................................................-", - " --.....................................................-", - " --......................................................-", - " --.......................................................-", - " -........................................................-", - " -........................................................-", - " -.....1..........7.......................................-", - " -........................................................-", - " -........................................................-", - " -.............................................7..........-", - " -........................................................-", - " -........................................................-", - " --.......................................................-", - " --......................................................-", - " --.....................................................-", - " -5....................................................-", - " -....................................................-", - " -.1..................................................-", + " -5............-----------------.......................-", + " --.............- -.......................-", + " --..............- -.......................-", + " --...............- -.......................-", + " -................- -.......................-", + " -................- -.......................-", + " -.....1..........- -.......................-", + " -................- -.......................-", + " -................- -.......................-", + " -................- -............7..........-", + " -................- -.......................-", + " -................- -.......................-", + " --...............- -.......................-", + " --..............- -.......................-", + " --.............- -.......................-", + " -5............- -.......................-", + " -............- -.......................-", + " -.1..........-----------------.......................-", " -....................................................-", " -....................................................-", " -....................................................-", diff --git a/data/json/mapgen_palettes/hospital.json b/data/json/mapgen_palettes/hospital.json index 7903aa1071109..a4c8a730c5632 100644 --- a/data/json/mapgen_palettes/hospital.json +++ b/data/json/mapgen_palettes/hospital.json @@ -30,8 +30,10 @@ "*": [ [ "t_door_c", 1 ], [ "t_door_locked_interior", 2 ] ], "=": "t_door_metal_locked", "$": { "param": "metal_doors_lock_type", "fallback": "t_door_metal_elocked" }, + "£": [ [ "t_door_metal_c", 1 ], [ "t_door_metal_o", 2 ] ], "_": "t_pavement", "˽": "t_pavement_y", + "-": "t_linoleum_white", "`": "t_strconc_floor", ">": "t_stairs_down", ";": "t_sidewalk", From 4a4dfb1e206aa39f942ade57a93167caef7163a9 Mon Sep 17 00:00:00 2001 From: Milopetilo <78963720+Milopetilo@users.noreply.github.com> Date: Mon, 2 Dec 2024 02:15:45 +0100 Subject: [PATCH 8/8] Make defense mode mod work --- data/mods/Defense_Mode/mapgen/hospital.json | 189 +++++++++----------- 1 file changed, 80 insertions(+), 109 deletions(-) diff --git a/data/mods/Defense_Mode/mapgen/hospital.json b/data/mods/Defense_Mode/mapgen/hospital.json index d6c295864b9db..491d0c1452521 100644 --- a/data/mods/Defense_Mode/mapgen/hospital.json +++ b/data/mods/Defense_Mode/mapgen/hospital.json @@ -7,126 +7,97 @@ [ "dm_hospital_6", "dm_hospital_5", "dm_hospital_4" ], [ "dm_hospital_9", "dm_hospital_8", "dm_hospital_7" ] ], + "weight": 250, "object": { - "fill_ter": "t_dirt", + "fill_ter": "t_linoleum_white", "rows": [ - "_______________________________________________________########;########", - "_______________________________________________________#...cT#...#Tc...#", - "_:__=_:__=_:__=_:____=____:__=_:__=_:__=_:__=_:__=_:___#BB...+...+...BB#", - "_:____:____:____:_________:____:____:____:____:____:___#BB...+...+...BB#", - "_:____:____:____:_________:____:____:____:____:____:___#....l#...#l....#", - "_:____:____:____:_________:____:____:____:____:____:___#######...#######", - "_:____:____:____:_________:____:____:____:____:____:___#....l#...#l....#", - "_:____:____:____:_________:____:____:____:____:____:___#BB...+...+...BB#", - "_______________________________________________________#BB...+...+...BB#", - "####################//####xxxxxxxxxxxxxxxxxxxxxxxxxx#;;#...cT#...#Tc...#", - "#&#&#&#&#&#sssss#.........TbbbbTbbbbTbbbbTbbbbTbbbbT#``#######...#######", - "#.#.#.#.#.#.....#..................................b#``#...cT#...#Tc...#", - "#+#+#+#+#+#.....+..................................b#``#BB...+...+...BB#", - "#...............+..................................b#``#BB...+...+...BB#", - "#...............#..................................b#``#....l#...#l....#", - "#################F........xCCCCCCCCCx..............T#``#######...#######", - "#...............#.........x.c.c.c.c.x..............b#``#....l#...#l....#", - "#...............+........./.........x..............b#``#BB...+...+...BB#", - "#+#+#+#+#+#.....+........./.........x..............b#``#BB...+...+...BB#", - "#.#.#.#.#.#.....#.........x.........x..............b#``#...cT#...#Tc...#", - "#&#&#&#&#&#sssss#.D.....F.#rr###+####.DF.TbbbbTbbbbT#``#######///#######", - "####################//########r....d#################``#l.rrr#...#rrr.l#", - "#...ll...x...ll...x....#SSSTf#r...cd#s.&#&.s#s.&#&.s#``#l....!...!....l#", - "#.TB..BT.x.TB..BT.x....#.....+.....L#...#...#...#...#``#l.rrr#...#rrr.l#", - "#r.B..B.rxr.B..B.rx....#########!#####+###+###+###+##;;#######...#######", - "#r......rxr......rx....................................................#", - "#xxx//xxxxxxx//xxxx....................................................;", - "#......................................................................#", - "#......................####################...#######;;#######...#######", - "#......................x...........l#8....#...#rrr.l#``#l.rrr#...#rrr.l#", - "#....................../.....A..BT.l#8....!...!....l#``#l....!...!....l#", - "#....................../.....?..B..r#88888#...#rrr.l#``#l.rrr#...#rrr.l#", - "#5.....................x...........r#######///#######``#######///#######", - "##X#################///##############...cT#...#Tc...#``#...cT#...#Tc...#", - "#H.......H#.......l#...x...........l#BB...+...+...BB#``#BB...+...+...BB#", - "#H.......H#r.TBBT..#.../.....TBBT...#BB...+...+...BB#``#BB...+...+...BB#", - "#H.......H#r..BB...#.../......BB...r#....l#...#l....#``#....l#...#l....#", - "#H.......H#........#...x...........r#######...#######``#######...#######", - "###########xxx//xxx#...##############....l#...#l....#``#....l#...#l....#", - "#l........x............x...........R#BB...+...+...BB#``#BB...+...+...BB#", - "#R.TB..A../............/.....6.....R#BB...+...+...BB#``#BB...+...+...BB#", - "#R..B..?../............/.....*.....R#...cT#...#Tc...#``#...cT#...#Tc...#", - "#.........x............x.......22..R#######...#######``#######...#######", - "###########xxx//xxx#...##############...cT#...#Tc...#``#...cT#...#Tc...#", - "#..KKKKK..#........#...x...........r#BB...+...+...BB#``#BB...+...+...BB#", - "#N........#r..BB...#.../......BB...r#BB...+...+...BB#``#BB...+...+...BB#", - "#Y.......8#r.TBBT..#.../.....TBBT...#....l#...#l....#``#....l#...#l....#", - "#...TT...8#.......l#...x...........l#######...#######``#######...#######", - "#######!#############///#############....l#...#l....#``#....l#...#l....#", - ";``````````````````;....bbb.bbb.bbb.#BB...+...+...BB#``#BB...+...+...BB#", - ";``````````````````;...............b#BB...+...+...BB#``#BB...+...+...BB#", - "######;;############...............b#...cT#...#Tc...#``#...cT#...#Tc...#", - "#&..#....LLLLLLLLLL#...............b#######...#######``#######...#######", - "#...+..............!................#...cT#...#Tc...#``#...cT#...#Tc...#", - "#..s#.....bbb.rrrr.#...............b#BB...+...+...BB#``#BB...+...+...BB#", - "#####....###########...............b#BB...#...+...BB#``#BB...#...+...BB#", - "#kddd...C#d..ddd..d#...............b#....l#...#l....#``#....l#...#l....#", - "w..c....C#dc..c..cd#................#######///#######;;#######///#######", - "#.......C#d.......d#.............................................#88888#", - "w........+.........!.............................................!....8#", - "#SSSSSS.f#lllkkkrrr#.............................................#....8#", - "####################xxxxxxxxxxxx///x##+###+###+###+##;;#######///#######", - "x...................................#...#...#...#...#``#...cT#...#Tc...#", - "x..bbbb..bbbb..bbbb..bbbb..bbbb....4#s.&#&.s#s.&#&.s#``#BB...+...+...BB#", - "x..TTTT..TTTT..TTTT..TTTT..TTTT....4#################``#BB...+...+...BB#", - "x..bbbb..bbbb..bbbb..bbbb..bbbb....4#44444#ssss#ssss#``#....l#...#l....#", - "x...................................#...............#``#######...#######", - "x..bbbb..bbbb..bbbb..bbbb..bbbb.....+......99999999.;``#....l#...#l....#", - "x..TTTT..TTTT..TTTT..TTTT..TTTT.....+......99999999.;``#BB...+...+...BB#", - "x..bbbb..bbbb..bbbb..bbbb..bbbb.....#...............#``#BB...+...+...BB#", - "x...............................444.#44444#oooo#ffff#``#...cT#...#Tc...#", - "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#######################;;#################" + ",%,,[,,______;,%,,###OOO#######OO#####OO#####OO#####OO###______________,", + ",____________;,,,,#llllllf |yCC y|yCC y|yCC y|yCC y#______________,", + "%____________;,,,,#l x| x | x | | #______________,", + ",__Á_________;,,,[#S xx xt| W | W |x W | xW #______________,", + ",____________;,[,,#S xttxxt|UWWW |UWWW |UWWW |UWWW #______________,", + ",˽˽˽˽˽˽______;,,%,Ol xttx | xx | x | x | x #______________,", + "[____________;,,,,Ol xx | 3| 3| 3|x 3#______________,", + ",____________;,,,,Ol xx x| S| x S|x S| S#______________,", + ",__Á_________;,,,,Ol xttxxt| J| J| J| J#______________,", + ",____________;,,,,Ol xttxxt| J| J| J| J#______________,", + ",˽˽˽˽˽˽______;,,,%#l xx |y J|y J|y J|y J#______________,", + ",____________;,,[,#3 ||+||||||+||||||+||||||+||||#______________,", + "[____________;,,,,# ED + £______________,", + ",__Á_________;,,,,#|||||||||| ^ ^ ^ £______________,", + ",____________;,%,,#yiiiiiiiy ||||||*|||#______________,", + ",˽˽˽˽˽˽______;,,,,#i ^ ^ ^ |CCCy y|#======##======#", + ",____________;,,,[#i ^ ED| C|#``````&&``````#", + ",____________;,,,,oi ^ 3|||||||| W C|#``````````````#", + ",__Á_________;%,,,oi iiiiiƃ ^ ^ |y CCC| xW W |#``````````````#", + ",____________;,,,,oi | O W Wx |#``````````````#", + "%˽˽˽˽˽˽______;,,,,oi ^ | WW O W |#``````````````#", + ",____________;[,,,#y iiii iiii Г| W Oy C|#``````````````#", + ",____________;,,%,#i i##i i##i | xW | C|#``````````````#", + ",____________;,,,,#i i##i i##i | W + W |#``````````````#", + ",____________;,,,,#i iiii iiii | WW | Wx |#``````````````#", + "[˽˽˽˽˽˽______;,,,,oi ^ ƃ | O W |#``````````````#", + ",____________;,,,,oi ^ E|C OCCCCy y|#``````````````#", + ",____________;,,,,oy ^ D|y y||||||||||#``ւ``````ւ````#", + ",__Á_________;,,,oo |oooooo|||OOOO|||#########``````````````#", + ",____________;,,oo o...............|#KKKKKKK#``````````````#", + ",˽˽˽˽˽˽______;,oo i#i vvv o...............|# #``````````````#", + ",____________;oo i#i v o...............|# #``````````````#", + ",____________;oƃ i#i Ux o...............|#FFFFF #``````````````#", + ",__Á_________;o v o...............|# $``````````````#", + ",____________;o v o...............|# $``````````````#", + ",˽˽˽˽˽˽______;: ^ U x o...............|#FFFF #``````````````#", + ",____________;: v o...............|# ##`````&``&`````#", + "%____________;o ^ vx o...............|# #||====||||====|#", + ",__Á_________;o U o...............|#FFFF #|& vx &#", + ",____________;o i#i vx o...............|# #| U U #", + ",˽˽˽˽˽˽______;oo i#i v o...............|# #| ^ v vx Г#", + ",____________;,oo i#i U o...............|#LLLL #| vx v #", + ",____________;,,oo ƃ v o...............|# #|Г v xv o", + ",__Á_________;,,,oo vvv o...............|#LLLL #| ^ vvUv o", + ",____________;,,,,o o...............|######$#| ^ #", + "%˽˽˽˽˽˽______;,,,,o ^ ^ 3|ooooooooooooooo||||||| || ^ #", + ",____________;,,[,o ) ) + E#", + ",____________;,,,,#yiiiiiiiy ) ) Г ) + Г D#", + ",____________;%,,,#||||||||| ||||||||||||||||||||||*||jjjj #####", + ",____________;,,,,#n + |C * C| J|B |4Г k ^ ^ $ F#", + ",˽˽˽˽˽˽______;,,%,#) x | ^ |C v |x | b J|B |) j S# F#", + ",____________;,,,,#4 | | v ^ i| $ d J|B i |jjjj J#Г F#", + ",____________;,,,,O y| ^ E| xv i| U0 J|B i |4 k J#Г F#", + "[__Á_________;,[,,#|||||| D| v i|||| J|B i |) Гk J#Г F#", + ",____________;,,,,#n + |UvUv |ii| AJ|B i |jjjj J#Г F#", + ",˽˽˽˽˽˽______;%,,,#) | Г | ^ +--+ J|B |4 j ^ S#Г F#", + ",____________;,,,,#4 |3 ^ |||||||||||||||) k J#Г F#", + ",____________;,,,,O x y| ^ +--+ J|G ɱ|jjjj J#Г F#", + "%__Á_________;,,%,#|||||| Г |ii| J|G ɱ|4 Гk ^ S#Г F#", + ",____________;,,,,#n + ^ ^ 3|||| AJ|G ɱ|) j 3#Г F#", + ",˽˽˽˽˽˽______;,,[,#) x| | | U0 J|G ɱ|jjjj #####", + ",____________;,,,,#4 | | iiii * $ d J|G ɱ|4 k #", + "[____________;,,%,O y| |*|||||||+| | c J|G |) j ^ ^ £", + ",__Á_________;,,,,#|||||| |x x |i-|x | J|G |jjjj £", + ",____________;%,,,#n + ^ ƃ|CC UU|i-||||||||||||+|| Г #", + ",˽˽˽˽˽˽______;,,,,#) Г| ^ ƃ|||$|00||+|6 + * #", + ",____________;,,,,#4 x| ƃ| |5 I| |kjjkjjkkjkjjkj#", + ",____________;,,,,O y| ƃ| |I III I|||+| jГ j j j #", + ",____________;,,,,#|||||| ƃ| h |I I|RR | j j jГ j #", + "%__Á_________;,[,,#RRRɱɱ| ^ ƃ| A |5 I| | j j j j #", + ",____________;,,,%# * 3 ƃ|JJJJJJJJJ|6 HnUnH 3|RRR|4(j4(j4(j4(j4(#", + ",,%,,,,[,,%,,,,,,,#########££###########################################" ], "palettes": [ "hospital" ], - "terrain": { "5": "t_floor", "H": "t_floor", "X": [ "t_door_metal_locked", "t_door_metal_elocked" ], "=": "t_pavement" }, - "furniture": { "H": "f_locker" }, - "vendingmachines": { "D": { "item_group": "vending_drink", "lootable": true }, "F": { "item_group": "vending_food", "lootable": true } }, + "vendingmachines": { "D": { "item_group": "vending_drink", "lootable": true }, "E": { "item_group": "vending_food", "lootable": true } }, "computers": { - "5": { - "name": "Medical Supply Access", - "security": 2, - "options": [ { "name": "Unlock Door", "action": "unlock" } ], - "failures": [ { "action": "shutdown" }, { "action": "alarm" } ] - }, "6": { "name": "Centrifuge", "options": [ { "name": "Analyze blood", "action": "blood_anal" } ], "failures": [ { "action": "destroy_blood" } ] } }, - "vehicles": { "=": { "vehicle": "pickup_corpses", "chance": 10, "rotation": 270, "status": 1 } }, - "nested": { "=": { "chunks": [ [ "null", 70 ] ] } }, - "items": { - "b": { "item": "magazines", "chance": 50 }, - "B": { "item": "hospital_bed", "chance": 80 }, - "f": { "item": "SUS_fridge_breakroom", "chance": 90 }, - "d": { "item": "office", "chance": 80 }, - "C": { "item": "office", "chance": 20 }, - "S": { "item": "bed", "chance": 60 }, - "r": { "item": "hospital_medical_items", "chance": 30 }, - "R": { "item": "hospital_lab", "chance": 70 }, - "l": { "item": "surgery", "chance": 80 }, - "L": { "item": "allclothes", "chance": 90 }, - "8": { "item": "cleaning", "chance": 70 }, - "9": { "item": "produce", "chance": 40 }, - "T": { "item": "snacks", "chance": 50 }, - "2": { "item": "hospital_samples", "chance": 50 }, - "k": { "item": "doctors_books", "chance": 60 }, - "K": { "item": "hospital_oxygen", "chance": 85 }, - "H": [ - { "item": "harddrugs", "chance": 60 }, - { "item": "gear_medical", "chance": 60, "repeat": [ 1, 3 ] }, - { "item": "drugs_analgesic", "chance": 60, "repeat": [ 1, 3 ] }, - { "item": "drugs_rare", "chance": 60 }, - { "item": "surgery", "chance": 60 } - ] - } + "place_zones": [ + { "type": "ZONE_START_POINT", "faction": "your_followers", "x": [ 43, 44 ], "y": [ 54, 55 ] }, + { "type": "ZONE_START_POINT", "faction": "your_followers", "x": [ 43, 44 ], "y": [ 57, 58 ] }, + { "type": "ZONE_START_POINT", "faction": "your_followers", "x": [ 40, 41 ], "y": [ 63, 64 ] } + ] } } ]