From d2ca09456396aca874a7ad376f8d1152edabf9f5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 May 2020 04:31:21 -0400 Subject: [PATCH 01/14] Script to convert vehicle parts into directional versions --- tools/make_vehicle_parts_directions.py | 60 ++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 tools/make_vehicle_parts_directions.py diff --git a/tools/make_vehicle_parts_directions.py b/tools/make_vehicle_parts_directions.py new file mode 100644 index 0000000000000..f6dd6f355a9db --- /dev/null +++ b/tools/make_vehicle_parts_directions.py @@ -0,0 +1,60 @@ +import argparse +import json +import os +import subprocess + +default_path = "data/json/vehicleparts/rams.json" +default_output = "data/json/vehicleparts/rams2.json" +ids_created_output = "data/json/vehicleparts/new_ids.txt" + +ids_to_create_directional_parts_for = [] +list_of_created_ids = [] + +variants = { + "nw" : "y", + "vertical" : "j", + "ne" : "u", + "sw" : "b", + "vertical_2" : "H", + "se" : "n", + "cover" : "^", + "horizontal" : "h", + "horizontal_2" : "=", + "cross" : "c", + "box" : "#" +} + +def gen_new(path): + with open(path, "r") as json_file: + json_data = json.load(json_file) + for jo in json_data: + if "id" in jo: + jo["abstract"] = jo["id"] + jo.pop("id") + ids_to_create_directional_parts_for.append(jo["abstract"]) + + for key, value in variants.items(): + for ram in ids_to_create_directional_parts_for: + new_ram_id = ram + "_" + key + new_ram_data = { + "id": new_ram_id, + "copy-from": ram, + "symbol": value, + "type": "vehicle_part" + } + json_data.append(new_ram_data) + list_of_created_ids.append(new_ram_id) + return json_data + +path = os.path.join(os.getcwd(), default_path) +output_path = os.path.join(os.getcwd(), default_output) +result = gen_new(path) +print(*ids_to_create_directional_parts_for, sep = "\n") + +with open(output_path, "w") as jf: + json.dump(result, jf, ensure_ascii=False, sort_keys=True) + subprocess.Popen(['D:/Cataclysm-DDA/tools/format/json_formatter.exe', output_path], shell=True) + +with open(ids_created_output, "w") as jf: + for id in list_of_created_ids: + jf.write(id + "\n") \ No newline at end of file From 8d3170cb916be7d302c401e875928e7b30474a85 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 May 2020 05:07:20 -0400 Subject: [PATCH 02/14] New rams, break out doors into own file --- data/json/vehicleparts/doors.json | 217 ++++++ data/json/vehicleparts/rams.json | 872 +++++++++++++++++++--- data/json/vehicleparts/vehicle_parts.json | 215 ------ 3 files changed, 983 insertions(+), 321 deletions(-) create mode 100644 data/json/vehicleparts/doors.json diff --git a/data/json/vehicleparts/doors.json b/data/json/vehicleparts/doors.json new file mode 100644 index 0000000000000..7c88fd3458cb0 --- /dev/null +++ b/data/json/vehicleparts/doors.json @@ -0,0 +1,217 @@ +[ + { + "type": "vehicle_part", + "id": "door", + "name": { "str": "door" }, + "symbol": "+", + "looks_like": "t_door_metal_c", + "color": "cyan", + "broken_symbol": "&", + "broken_color": "cyan", + "damage_modifier": 80, + "durability": 225, + "description": "A door. Has a window so you can see out of it, even when closed.", + "size": 10, + "item": "frame", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "OPENABLE", "BOARDABLE", "WINDOW" ], + "breaks_into": "ig_vp_frame", + "damage_reduction": { "all": 21 } + }, + { + "type": "vehicle_part", + "id": "door_opaque", + "name": { "str": "opaque door" }, + "symbol": "+", + "looks_like": "door", + "color": "cyan", + "broken_symbol": "&", + "broken_color": "cyan", + "damage_modifier": 80, + "durability": 240, + "description": "A door. Solid construction means you can't see through it when closed.", + "size": 10, + "item": "frame", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "OPAQUE", "OPENABLE", "BOARDABLE" ], + "breaks_into": "ig_vp_frame", + "damage_reduction": { "all": 28 } + }, + { + "type": "vehicle_part", + "id": "hddoor", + "name": { "str": "heavy duty door" }, + "symbol": "+", + "color": "cyan", + "looks_like": "door", + "broken_symbol": "&", + "broken_color": "cyan", + "damage_modifier": 80, + "durability": 600, + "description": "A strong door. Has a window so you can see out of it, even when closed.", + "size": 10, + "item": "hdframe", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "OPENABLE", "BOARDABLE", "WINDOW" ], + "breaks_into": "ig_vp_hdframe", + "damage_reduction": { "all": 68 } + }, + { + "type": "vehicle_part", + "id": "hddoor_opaque", + "name": { "str": "heavy duty opaque door" }, + "symbol": "+", + "color": "cyan", + "looks_like": "door_opaque", + "broken_symbol": "&", + "broken_color": "cyan", + "damage_modifier": 80, + "durability": 660, + "description": "A strong door. Solid construction means you can't see through it when closed.", + "size": 10, + "item": "hdframe", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "OPAQUE", "OPENABLE", "BOARDABLE" ], + "breaks_into": "ig_vp_hdframe", + "damage_reduction": { "all": 75 } + }, + { + "type": "vehicle_part", + "id": "door_internal", + "name": { "str": "internal door" }, + "symbol": "+", + "looks_like": "door", + "color": "cyan", + "broken_symbol": "&", + "broken_color": "cyan", + "damage_modifier": 75, + "durability": 240, + "description": "An interior door. Solid construction means you can't see through it when closed.", + "item": "frame", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "OBSTACLE", "OPAQUE", "OPENABLE", "ROOF", "BOARDABLE" ], + "breaks_into": "ig_vp_frame", + "damage_reduction": { "all": 28 } + }, + { + "type": "vehicle_part", + "id": "hatch", + "name": { "str": "hatch" }, + "symbol": "+", + "looks_like": "door", + "color": "light_gray", + "broken_symbol": "&", + "broken_color": "light_gray", + "damage_modifier": 80, + "durability": 420, + "description": "A strong door. A window lets you see through it when closed.", + "size": 150, + "item": "frame", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED" ], + "breaks_into": "ig_vp_frame", + "damage_reduction": { "all": 30 } + }, + { + "type": "vehicle_part", + "id": "hatch_opaque", + "name": { "str": "opaque hatch" }, + "symbol": "+", + "looks_like": "door_opaque", + "color": "light_gray", + "broken_symbol": "&", + "broken_color": "light_gray", + "damage_modifier": 80, + "durability": 450, + "description": "A strong door. Solid construction means you can't see through it when closed.", + "size": 150, + "item": "frame", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED", "OPAQUE" ], + "breaks_into": "ig_vp_frame", + "damage_reduction": { "all": 34 } + }, + { + "type": "vehicle_part", + "id": "hdhatch", + "name": { "str": "heavy duty hatch" }, + "symbol": "+", + "color": "dark_gray", + "looks_like": "hatch", + "broken_symbol": "&", + "broken_color": "dark_gray", + "damage_modifier": 80, + "durability": 900, + "description": "A very strong door. A window lets you see through it when closed.", + "size": 150, + "item": "hdframe", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED" ], + "breaks_into": "ig_vp_hdframe", + "damage_reduction": { "all": 78 } + }, + { + "type": "vehicle_part", + "id": "hdhatch_opaque", + "name": { "str": "opaque heavy duty hatch" }, + "symbol": "+", + "color": "dark_gray", + "looks_like": "hatch_opaque", + "broken_symbol": "&", + "broken_color": "dark_gray", + "damage_modifier": 80, + "durability": 1000, + "description": "A very strong door. Solid construction means you can't see through it when closed.", + "size": 150, + "item": "hdframe", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED", "OPAQUE" ], + "breaks_into": "ig_vp_hdframe", + "damage_reduction": { "all": 80 } + } +] \ No newline at end of file diff --git a/data/json/vehicleparts/rams.json b/data/json/vehicleparts/rams.json index 54b38b727b82f..50ba62e3a8a82 100644 --- a/data/json/vehicleparts/rams.json +++ b/data/json/vehicleparts/rams.json @@ -1,195 +1,855 @@ [ { "abstract": "ram_blaze", - "type": "vehicle_part", - "location": "structure", - "symbol": "X", "broken_symbol": "*", "damage_modifier": 150, "description": "A reinforced ram. Place at the edge of vehicle to reduce damage taken in collisions, and to increase damaged delivered in collisions, if the ram is the first vehicle part to collide.", + "flags": [ "PROTRUSION", "OBSTACLE" ], + "location": "structure", "requirements": { "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } }, - "flags": [ "PROTRUSION", "OBSTACLE" ] + "symbol": "X", + "type": "vehicle_part" }, { - "id": "ram_alloy", - "copy-from": "ram_blaze", - "type": "vehicle_part", - "name": { "str": "superalloy ram" }, - "item": "alloy_plate", - "color": "dark_gray", - "broken_color": "dark_gray", - "durability": 650, + "abstract": "ram_alloy", "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 6 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] } + { "count": [ 4, 6 ], "item": "steel_lump" }, + { "count": [ 4, 6 ], "item": "steel_chunk" }, + { "count": [ 4, 6 ], "item": "scrap" } ], + "broken_color": "dark_gray", + "color": "dark_gray", + "copy-from": "ram_blaze", + "damage_reduction": { "all": 120 }, + "durability": 650, + "item": "alloy_plate", + "name": { "str": "superalloy ram" }, "requirements": { "install": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 5 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } }, - "damage_reduction": { "all": 120 } + "type": "vehicle_part" }, { - "id": "ram_hardsteel", - "copy-from": "ram_blaze", - "type": "vehicle_part", - "name": { "str": "heavy steel ram" }, - "item": "hard_plate", - "color": "cyan", - "broken_color": "cyan", - "durability": 860, + "abstract": "ram_hardsteel", "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 6 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] } + { "count": [ 4, 6 ], "item": "steel_lump" }, + { "count": [ 4, 6 ], "item": "steel_chunk" }, + { "count": [ 4, 6 ], "item": "scrap" } ], + "broken_color": "cyan", + "color": "cyan", + "copy-from": "ram_blaze", + "damage_reduction": { "all": 200 }, + "durability": 860, + "item": "hard_plate", + "name": { "str": "heavy steel ram" }, "requirements": { "install": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 5 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } }, - "damage_reduction": { "all": 200 } + "type": "vehicle_part" }, { - "id": "ram_military_horizontal", - "copy-from": "ram_blaze", - "type": "vehicle_part", - "name": { "str": "military composite ram" }, - "item": "mil_plate", - "color": "green", - "broken_color": "green", - "durability": 800, + "abstract": "ram_military_horizontal", "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 6 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] }, - { "item": "ceramic_armor", "count": [ 0, 4 ] } + { "count": [ 4, 6 ], "item": "steel_lump" }, + { "count": [ 4, 6 ], "item": "steel_chunk" }, + { "count": [ 4, 6 ], "item": "scrap" }, + { "count": [ 0, 4 ], "item": "ceramic_armor" } ], + "broken_color": "green", + "color": "green", + "copy-from": "ram_blaze", + "damage_reduction": { "all": 180, "cut": 210, "stab": 280 }, + "durability": 800, + "item": "mil_plate", + "name": { "str": "military composite ram" }, "requirements": { "install": { "skills": [ [ "mechanics", 6 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, "removal": { "skills": [ [ "mechanics", 4 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 7 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } }, - "damage_reduction": { "all": 180, "cut": 210, "stab": 280 } + "type": "vehicle_part" }, { - "id": "ram_spiked", - "copy-from": "ram_blaze", - "type": "vehicle_part", - "name": { "str": "spiked ram" }, - "item": "spiked_plate", - "color": "red", - "broken_color": "red", - "durability": 550, - "damage_modifier": 200, + "abstract": "ram_spiked", "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 6 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] }, - { "item": "spike", "count": [ 0, 2 ] } + { "count": [ 4, 6 ], "item": "steel_lump" }, + { "count": [ 4, 6 ], "item": "steel_chunk" }, + { "count": [ 4, 6 ], "item": "scrap" }, + { "count": [ 0, 2 ], "item": "spike" } ], + "broken_color": "red", + "color": "red", + "copy-from": "ram_blaze", + "damage_modifier": 200, + "damage_reduction": { "all": 148 }, + "durability": 550, + "item": "spiked_plate", + "name": { "str": "spiked ram" }, "requirements": { "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } }, - "damage_reduction": { "all": 148 } + "type": "vehicle_part" }, { - "id": "ram_steel", - "copy-from": "ram_blaze", - "type": "vehicle_part", - "name": { "str": "steel ram" }, - "item": "steel_plate", - "color": "light_cyan", + "abstract": "ram_steel", + "breaks_into": "ig_vp_steel_plate", "broken_color": "light_cyan", + "color": "light_cyan", + "copy-from": "ram_blaze", + "damage_reduction": { "all": 156 }, "durability": 650, - "breaks_into": "ig_vp_steel_plate", - "damage_reduction": { "all": 156 } + "item": "steel_plate", + "name": { "str": "steel ram" }, + "type": "vehicle_part" }, { - "id": "ram_wood", - "copy-from": "ram_blaze", - "type": "vehicle_part", - "name": { "str": "wooden ram" }, - "item": "wood_plate", - "color": "brown", + "abstract": "ram_wood", + "breaks_into": "ig_vp_wood_plate", "broken_color": "brown", + "color": "brown", + "copy-from": "ram_blaze", + "damage_reduction": { "all": 75 }, "durability": 300, - "breaks_into": "ig_vp_wood_plate", + "item": "wood_plate", + "name": { "str": "wooden ram" }, "requirements": { "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_nail_install", 1 ] ] }, "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_nail_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "adhesive", 2 ] ] } }, - "damage_reduction": { "all": 75 } + "type": "vehicle_part" }, { - "id": "ram_chitin", + "abstract": "ram_chitin", + "breaks_into": [ { "count": [ 5, 15 ], "item": "chitin_piece" } ], + "broken_color": "light_gray", + "color": "yellow", "copy-from": "ram_blaze", - "type": "vehicle_part", - "name": { "str": "chitin ram" }, + "damage_reduction": { "all": 80 }, + "durability": 320, "item": "chitin_plate", - "color": "yellow", - "broken_color": "light_gray", "looks_like": "ram_wood", - "durability": 320, - "breaks_into": [ { "item": "chitin_piece", "count": [ 5, 15 ] } ], - "damage_reduction": { "all": 80 } + "name": { "str": "chitin ram" }, + "type": "vehicle_part" }, { - "id": "ram_acidchitin", + "abstract": "ram_acidchitin", + "breaks_into": [ { "count": [ 6, 19 ], "item": "chitin_piece" } ], "copy-from": "ram_chitin", - "type": "vehicle_part", - "name": { "str": "biosilicified chitin ram" }, + "damage_reduction": { "all": 110 }, "item": "acidchitin_plate", + "name": { "str": "biosilicified chitin ram" }, "proportional": { "durability": 1.5 }, - "breaks_into": [ { "item": "chitin_piece", "count": [ 6, 19 ] } ], - "damage_reduction": { "all": 110 } + "type": "vehicle_part" }, { - "id": "ram_mattress", - "copy-from": "ram_blaze", - "type": "vehicle_part", - "name": { "str": "tied mattress" }, - "symbol": "=", - "item": "mattress", + "abstract": "ram_mattress", + "breaks_into": [ { "count": [ 40, 55 ], "item": "rag" } ], "color": "white", + "copy-from": "ram_blaze", "damage_modifier": 50, - "durability": 40, + "damage_reduction": { "bash": 20 }, "description": "A mattress, strapped onto the vehicle. It could serve to blunt any impact.", - "breaks_into": [ { "item": "rag", "count": [ 40, 55 ] } ], + "durability": 40, + "flags": [ "PROTRUSION", "OBSTACLE", "OPAQUE" ], + "item": "mattress", + "name": { "str": "tied mattress" }, "requirements": { "install": { "skills": [ [ "mechanics", 0 ] ], "time": "5 m", "using": [ [ "rope_natural_short", 2 ] ] } }, - "damage_reduction": { "bash": 20 }, - "flags": [ "PROTRUSION", "OBSTACLE", "OPAQUE" ] + "symbol": "=", + "type": "vehicle_part" }, { - "id": "tearer", - "type": "vehicle_part", - "name": { "str": "shredder" }, - "item": "tearer", - "location": "structure", - "symbol": "*", + "abstract": "tearer", + "breaks_into": [ ], + "broken_color": "dark_gray", "broken_symbol": "x", "color": "dark_gray", - "broken_color": "dark_gray", - "durability": 450, - "power": -1750, "damage_modifier": 500, - "breaks_into": [ ], + "damage_reduction": { "all": 82 }, "description": "A circular blade, powered by the vehicle's engine. It will dramatically increase the damage the vehicle delivers in collisions. Mount on the edges of the vehicle, preferably the front.", + "durability": 450, + "flags": [ "UNMOUNT_ON_DAMAGE", "SHARP", "PROTRUSION" ], + "item": "tearer", + "location": "structure", + "name": { "str": "shredder" }, + "power": -1750, "requirements": { "install": { "skills": [ [ "mechanics", 5 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, "removal": { "skills": [ [ "mechanics", 3 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 6 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } }, - "flags": [ "UNMOUNT_ON_DAMAGE", "SHARP", "PROTRUSION" ], - "damage_reduction": { "all": 82 } + "symbol": "*", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy", + "id": "ram_alloy_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel", + "id": "ram_hardsteel_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal", + "id": "ram_military_horizontal_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked", + "id": "ram_spiked_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel", + "id": "ram_steel_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood", + "id": "ram_wood_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin", + "id": "ram_chitin_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin", + "id": "ram_acidchitin_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress", + "id": "ram_mattress_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "tearer", + "id": "tearer_box", + "symbol": "#", + "type": "vehicle_part" } ] diff --git a/data/json/vehicleparts/vehicle_parts.json b/data/json/vehicleparts/vehicle_parts.json index 6de5f661aed63..3b277cda2aa97 100644 --- a/data/json/vehicleparts/vehicle_parts.json +++ b/data/json/vehicleparts/vehicle_parts.json @@ -569,221 +569,6 @@ "breaks_into": "ig_vp_steel_plate", "damage_reduction": { "all": 75 } }, - { - "type": "vehicle_part", - "id": "door", - "name": { "str": "door" }, - "symbol": "+", - "looks_like": "t_door_metal_c", - "color": "cyan", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 80, - "durability": 225, - "description": "A door. Has a window so you can see out of it, even when closed.", - "size": 10, - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "OPENABLE", "BOARDABLE", "WINDOW" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 21 } - }, - { - "type": "vehicle_part", - "id": "door_opaque", - "name": { "str": "opaque door" }, - "symbol": "+", - "looks_like": "door", - "color": "cyan", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 80, - "durability": 240, - "description": "A door. Solid construction means you can't see through it when closed.", - "size": 10, - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "OPAQUE", "OPENABLE", "BOARDABLE" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 28 } - }, - { - "type": "vehicle_part", - "id": "hddoor", - "name": { "str": "heavy duty door" }, - "symbol": "+", - "color": "cyan", - "looks_like": "door", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 80, - "durability": 600, - "description": "A strong door. Has a window so you can see out of it, even when closed.", - "size": 10, - "item": "hdframe", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "OPENABLE", "BOARDABLE", "WINDOW" ], - "breaks_into": "ig_vp_hdframe", - "damage_reduction": { "all": 68 } - }, - { - "type": "vehicle_part", - "id": "hddoor_opaque", - "name": { "str": "heavy duty opaque door" }, - "symbol": "+", - "color": "cyan", - "looks_like": "door_opaque", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 80, - "durability": 660, - "description": "A strong door. Solid construction means you can't see through it when closed.", - "size": 10, - "item": "hdframe", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "OPAQUE", "OPENABLE", "BOARDABLE" ], - "breaks_into": "ig_vp_hdframe", - "damage_reduction": { "all": 75 } - }, - { - "type": "vehicle_part", - "id": "door_internal", - "name": { "str": "internal door" }, - "symbol": "+", - "looks_like": "door", - "color": "cyan", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 75, - "durability": 240, - "description": "An interior door. Solid construction means you can't see through it when closed.", - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "OBSTACLE", "OPAQUE", "OPENABLE", "ROOF", "BOARDABLE" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 28 } - }, - { - "type": "vehicle_part", - "id": "hatch", - "name": { "str": "hatch" }, - "symbol": "+", - "looks_like": "door", - "color": "light_gray", - "broken_symbol": "&", - "broken_color": "light_gray", - "damage_modifier": 80, - "durability": 420, - "description": "A strong door. A window lets you see through it when closed.", - "size": 150, - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 30 } - }, - { - "type": "vehicle_part", - "id": "hatch_opaque", - "name": { "str": "opaque hatch" }, - "symbol": "+", - "looks_like": "door_opaque", - "color": "light_gray", - "broken_symbol": "&", - "broken_color": "light_gray", - "damage_modifier": 80, - "durability": 450, - "description": "A strong door. Solid construction means you can't see through it when closed.", - "size": 150, - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED", "OPAQUE" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 34 } - }, - { - "type": "vehicle_part", - "id": "hdhatch", - "name": { "str": "heavy duty hatch" }, - "symbol": "+", - "color": "dark_gray", - "looks_like": "hatch", - "broken_symbol": "&", - "broken_color": "dark_gray", - "damage_modifier": 80, - "durability": 900, - "description": "A very strong door. A window lets you see through it when closed.", - "size": 150, - "item": "hdframe", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED" ], - "breaks_into": "ig_vp_hdframe", - "damage_reduction": { "all": 78 } - }, - { - "type": "vehicle_part", - "id": "hdhatch_opaque", - "name": { "str": "opaque heavy duty hatch" }, - "symbol": "+", - "color": "dark_gray", - "looks_like": "hatch_opaque", - "broken_symbol": "&", - "broken_color": "dark_gray", - "damage_modifier": 80, - "durability": 1000, - "description": "A very strong door. Solid construction means you can't see through it when closed.", - "size": 150, - "item": "hdframe", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED", "OPAQUE" ], - "breaks_into": "ig_vp_hdframe", - "damage_reduction": { "all": 80 } - }, { "type": "vehicle_part", "id": "windshield", From c62eaca1a7560683e8326ee013b7302ab3115345 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 May 2020 16:50:33 -0400 Subject: [PATCH 03/14] Breakout doors into own file, update script --- tools/make_vehicle_parts_directions.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/make_vehicle_parts_directions.py b/tools/make_vehicle_parts_directions.py index f6dd6f355a9db..7ac35a6c8d9e6 100644 --- a/tools/make_vehicle_parts_directions.py +++ b/tools/make_vehicle_parts_directions.py @@ -1,16 +1,16 @@ -import argparse import json import os import subprocess -default_path = "data/json/vehicleparts/rams.json" -default_output = "data/json/vehicleparts/rams2.json" +default_path = "data/json/vehicleparts/doors.json" +default_output = "data/json/vehicleparts/doors.json" ids_created_output = "data/json/vehicleparts/new_ids.txt" ids_to_create_directional_parts_for = [] list_of_created_ids = [] variants = { + "default_look" : "M", "nw" : "y", "vertical" : "j", "ne" : "u", @@ -29,16 +29,18 @@ def gen_new(path): json_data = json.load(json_file) for jo in json_data: if "id" in jo: - jo["abstract"] = jo["id"] + jo["abstract"] = jo["id"] + "_abstract" jo.pop("id") ids_to_create_directional_parts_for.append(jo["abstract"]) for key, value in variants.items(): for ram in ids_to_create_directional_parts_for: new_ram_id = ram + "_" + key + if(key == "default_look"): + new_ram_id = ram new_ram_data = { "id": new_ram_id, - "copy-from": ram, + "copy-from": ram + "_abstract", "symbol": value, "type": "vehicle_part" } @@ -49,11 +51,12 @@ def gen_new(path): path = os.path.join(os.getcwd(), default_path) output_path = os.path.join(os.getcwd(), default_output) result = gen_new(path) -print(*ids_to_create_directional_parts_for, sep = "\n") + +json_formatter_path = os.path.join(os.getcwd(), "tools/format/json_formatter.exe") with open(output_path, "w") as jf: json.dump(result, jf, ensure_ascii=False, sort_keys=True) - subprocess.Popen(['D:/Cataclysm-DDA/tools/format/json_formatter.exe', output_path], shell=True) + subprocess.Popen([json_formatter_path, output_path], shell=True) with open(ids_created_output, "w") as jf: for id in list_of_created_ids: From 85614a07e59c65c659c81fac722c8490840612fe Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 May 2020 16:55:39 -0400 Subject: [PATCH 04/14] Fix script logic --- tools/make_vehicle_parts_directions.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/make_vehicle_parts_directions.py b/tools/make_vehicle_parts_directions.py index 7ac35a6c8d9e6..dd0b1bd057de6 100644 --- a/tools/make_vehicle_parts_directions.py +++ b/tools/make_vehicle_parts_directions.py @@ -2,8 +2,8 @@ import os import subprocess -default_path = "data/json/vehicleparts/doors.json" -default_output = "data/json/vehicleparts/doors.json" +default_path = "data/json/vehicleparts/rams.json" +default_output = "data/json/vehicleparts/rams2.json" ids_created_output = "data/json/vehicleparts/new_ids.txt" ids_to_create_directional_parts_for = [] @@ -30,17 +30,19 @@ def gen_new(path): for jo in json_data: if "id" in jo: jo["abstract"] = jo["id"] + "_abstract" + ids_to_create_directional_parts_for.append(jo["id"]) jo.pop("id") - ids_to_create_directional_parts_for.append(jo["abstract"]) for key, value in variants.items(): for ram in ids_to_create_directional_parts_for: new_ram_id = ram + "_" + key + copyfrom = ram if(key == "default_look"): new_ram_id = ram + copyfrom = ram + "_abstract" new_ram_data = { "id": new_ram_id, - "copy-from": ram + "_abstract", + "copy-from": copyfrom, "symbol": value, "type": "vehicle_part" } From ef65acd1036b6cc0f04feee604746bff0592116f Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 May 2020 17:39:04 -0400 Subject: [PATCH 05/14] Fix the logic again, add door variants --- data/json/vehicleparts/doors.json | 1080 +++++++++++++++++++----- tools/make_vehicle_parts_directions.py | 8 +- 2 files changed, 868 insertions(+), 220 deletions(-) diff --git a/data/json/vehicleparts/doors.json b/data/json/vehicleparts/doors.json index 7c88fd3458cb0..8828452c1c308 100644 --- a/data/json/vehicleparts/doors.json +++ b/data/json/vehicleparts/doors.json @@ -1,217 +1,865 @@ [ - { - "type": "vehicle_part", - "id": "door", - "name": { "str": "door" }, - "symbol": "+", - "looks_like": "t_door_metal_c", - "color": "cyan", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 80, - "durability": 225, - "description": "A door. Has a window so you can see out of it, even when closed.", - "size": 10, - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "OPENABLE", "BOARDABLE", "WINDOW" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 21 } - }, - { - "type": "vehicle_part", - "id": "door_opaque", - "name": { "str": "opaque door" }, - "symbol": "+", - "looks_like": "door", - "color": "cyan", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 80, - "durability": 240, - "description": "A door. Solid construction means you can't see through it when closed.", - "size": 10, - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "OPAQUE", "OPENABLE", "BOARDABLE" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 28 } - }, - { - "type": "vehicle_part", - "id": "hddoor", - "name": { "str": "heavy duty door" }, - "symbol": "+", - "color": "cyan", - "looks_like": "door", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 80, - "durability": 600, - "description": "A strong door. Has a window so you can see out of it, even when closed.", - "size": 10, - "item": "hdframe", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "OPENABLE", "BOARDABLE", "WINDOW" ], - "breaks_into": "ig_vp_hdframe", - "damage_reduction": { "all": 68 } - }, - { - "type": "vehicle_part", - "id": "hddoor_opaque", - "name": { "str": "heavy duty opaque door" }, - "symbol": "+", - "color": "cyan", - "looks_like": "door_opaque", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 80, - "durability": 660, - "description": "A strong door. Solid construction means you can't see through it when closed.", - "size": 10, - "item": "hdframe", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "OPAQUE", "OPENABLE", "BOARDABLE" ], - "breaks_into": "ig_vp_hdframe", - "damage_reduction": { "all": 75 } - }, - { - "type": "vehicle_part", - "id": "door_internal", - "name": { "str": "internal door" }, - "symbol": "+", - "looks_like": "door", - "color": "cyan", - "broken_symbol": "&", - "broken_color": "cyan", - "damage_modifier": 75, - "durability": 240, - "description": "An interior door. Solid construction means you can't see through it when closed.", - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "OBSTACLE", "OPAQUE", "OPENABLE", "ROOF", "BOARDABLE" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 28 } - }, - { - "type": "vehicle_part", - "id": "hatch", - "name": { "str": "hatch" }, - "symbol": "+", - "looks_like": "door", - "color": "light_gray", - "broken_symbol": "&", - "broken_color": "light_gray", - "damage_modifier": 80, - "durability": 420, - "description": "A strong door. A window lets you see through it when closed.", - "size": 150, - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 30 } - }, - { - "type": "vehicle_part", - "id": "hatch_opaque", - "name": { "str": "opaque hatch" }, - "symbol": "+", - "looks_like": "door_opaque", - "color": "light_gray", - "broken_symbol": "&", - "broken_color": "light_gray", - "damage_modifier": 80, - "durability": 450, - "description": "A strong door. Solid construction means you can't see through it when closed.", - "size": 150, - "item": "frame", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED", "OPAQUE" ], - "breaks_into": "ig_vp_frame", - "damage_reduction": { "all": 34 } - }, - { - "type": "vehicle_part", - "id": "hdhatch", - "name": { "str": "heavy duty hatch" }, - "symbol": "+", - "color": "dark_gray", - "looks_like": "hatch", - "broken_symbol": "&", - "broken_color": "dark_gray", - "damage_modifier": 80, - "durability": 900, - "description": "A very strong door. A window lets you see through it when closed.", - "size": 150, - "item": "hdframe", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED" ], - "breaks_into": "ig_vp_hdframe", - "damage_reduction": { "all": 78 } - }, - { - "type": "vehicle_part", - "id": "hdhatch_opaque", - "name": { "str": "opaque heavy duty hatch" }, - "symbol": "+", - "color": "dark_gray", - "looks_like": "hatch_opaque", - "broken_symbol": "&", - "broken_color": "dark_gray", - "damage_modifier": 80, - "durability": 1000, - "description": "A very strong door. Solid construction means you can't see through it when closed.", - "size": 150, - "item": "hdframe", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED", "OPAQUE" ], - "breaks_into": "ig_vp_hdframe", - "damage_reduction": { "all": 80 } - } -] \ No newline at end of file + { + "abstract": "door_abstract", + "breaks_into": "ig_vp_frame", + "broken_color": "cyan", + "broken_symbol": "&", + "color": "cyan", + "damage_modifier": 80, + "damage_reduction": { "all": 21 }, + "description": "A door. Has a window so you can see out of it, even when closed.", + "durability": 225, + "flags": [ "CARGO", "OBSTACLE", "OPENABLE", "BOARDABLE", "WINDOW" ], + "item": "frame", + "location": "center", + "looks_like": "t_door_metal_c", + "name": { "str": "door" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 10, + "symbol": "+", + "type": "vehicle_part" + }, + { + "abstract": "door_opaque_abstract", + "breaks_into": "ig_vp_frame", + "broken_color": "cyan", + "broken_symbol": "&", + "color": "cyan", + "damage_modifier": 80, + "damage_reduction": { "all": 28 }, + "description": "A door. Solid construction means you can't see through it when closed.", + "durability": 240, + "flags": [ "CARGO", "OBSTACLE", "OPAQUE", "OPENABLE", "BOARDABLE" ], + "item": "frame", + "location": "center", + "looks_like": "door", + "name": { "str": "opaque door" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 10, + "symbol": "+", + "type": "vehicle_part" + }, + { + "abstract": "hddoor_abstract", + "breaks_into": "ig_vp_hdframe", + "broken_color": "cyan", + "broken_symbol": "&", + "color": "cyan", + "damage_modifier": 80, + "damage_reduction": { "all": 68 }, + "description": "A strong door. Has a window so you can see out of it, even when closed.", + "durability": 600, + "flags": [ "CARGO", "OBSTACLE", "OPENABLE", "BOARDABLE", "WINDOW" ], + "item": "hdframe", + "location": "center", + "looks_like": "door", + "name": { "str": "heavy duty door" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 10, + "symbol": "+", + "type": "vehicle_part" + }, + { + "abstract": "hddoor_opaque_abstract", + "breaks_into": "ig_vp_hdframe", + "broken_color": "cyan", + "broken_symbol": "&", + "color": "cyan", + "damage_modifier": 80, + "damage_reduction": { "all": 75 }, + "description": "A strong door. Solid construction means you can't see through it when closed.", + "durability": 660, + "flags": [ "CARGO", "OBSTACLE", "OPAQUE", "OPENABLE", "BOARDABLE" ], + "item": "hdframe", + "location": "center", + "looks_like": "door_opaque", + "name": { "str": "heavy duty opaque door" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 10, + "symbol": "+", + "type": "vehicle_part" + }, + { + "abstract": "door_internal_abstract", + "breaks_into": "ig_vp_frame", + "broken_color": "cyan", + "broken_symbol": "&", + "color": "cyan", + "damage_modifier": 75, + "damage_reduction": { "all": 28 }, + "description": "An interior door. Solid construction means you can't see through it when closed.", + "durability": 240, + "flags": [ "OBSTACLE", "OPAQUE", "OPENABLE", "ROOF", "BOARDABLE" ], + "item": "frame", + "location": "center", + "looks_like": "door", + "name": { "str": "internal door" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "symbol": "+", + "type": "vehicle_part" + }, + { + "abstract": "hatch_abstract", + "breaks_into": "ig_vp_frame", + "broken_color": "light_gray", + "broken_symbol": "&", + "color": "light_gray", + "damage_modifier": 80, + "damage_reduction": { "all": 30 }, + "description": "A strong door. A window lets you see through it when closed.", + "durability": 420, + "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED" ], + "item": "frame", + "location": "center", + "looks_like": "door", + "name": { "str": "hatch" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 150, + "symbol": "+", + "type": "vehicle_part" + }, + { + "abstract": "hatch_opaque_abstract", + "breaks_into": "ig_vp_frame", + "broken_color": "light_gray", + "broken_symbol": "&", + "color": "light_gray", + "damage_modifier": 80, + "damage_reduction": { "all": 34 }, + "description": "A strong door. Solid construction means you can't see through it when closed.", + "durability": 450, + "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED", "OPAQUE" ], + "item": "frame", + "location": "center", + "looks_like": "door_opaque", + "name": { "str": "opaque hatch" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 150, + "symbol": "+", + "type": "vehicle_part" + }, + { + "abstract": "hdhatch_abstract", + "breaks_into": "ig_vp_hdframe", + "broken_color": "dark_gray", + "broken_symbol": "&", + "color": "dark_gray", + "damage_modifier": 80, + "damage_reduction": { "all": 78 }, + "description": "A very strong door. A window lets you see through it when closed.", + "durability": 900, + "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED" ], + "item": "hdframe", + "location": "center", + "looks_like": "hatch", + "name": { "str": "heavy duty hatch" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 150, + "symbol": "+", + "type": "vehicle_part" + }, + { + "abstract": "hdhatch_opaque_abstract", + "breaks_into": "ig_vp_hdframe", + "broken_color": "dark_gray", + "broken_symbol": "&", + "color": "dark_gray", + "damage_modifier": 80, + "damage_reduction": { "all": 80 }, + "description": "A very strong door. Solid construction means you can't see through it when closed.", + "durability": 1000, + "flags": [ "CARGO", "LOCKABLE_CARGO", "OBSTACLE", "OPENABLE", "MULTISQUARE", "BOARDABLE", "COVERED", "OPAQUE" ], + "item": "hdframe", + "location": "center", + "looks_like": "hatch_opaque", + "name": { "str": "opaque heavy duty hatch" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 150, + "symbol": "+", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "door_abstract", + "id": "door_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "door_opaque_abstract", + "id": "door_opaque_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_abstract", + "id": "hddoor_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "hddoor_opaque_abstract", + "id": "hddoor_opaque_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "door_internal_abstract", + "id": "door_internal_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_abstract", + "id": "hatch_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "hatch_opaque_abstract", + "id": "hatch_opaque_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_abstract", + "id": "hdhatch_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "hdhatch_opaque_abstract", + "id": "hdhatch_opaque_box", + "symbol": "#", + "type": "vehicle_part" + } +] diff --git a/tools/make_vehicle_parts_directions.py b/tools/make_vehicle_parts_directions.py index dd0b1bd057de6..d6b3da02b4932 100644 --- a/tools/make_vehicle_parts_directions.py +++ b/tools/make_vehicle_parts_directions.py @@ -2,8 +2,8 @@ import os import subprocess -default_path = "data/json/vehicleparts/rams.json" -default_output = "data/json/vehicleparts/rams2.json" +default_path = "data/json/vehicleparts/doors.json" +default_output = "data/json/vehicleparts/doors.json" ids_created_output = "data/json/vehicleparts/new_ids.txt" ids_to_create_directional_parts_for = [] @@ -36,10 +36,10 @@ def gen_new(path): for key, value in variants.items(): for ram in ids_to_create_directional_parts_for: new_ram_id = ram + "_" + key - copyfrom = ram + copyfrom = ram + "_abstract" if(key == "default_look"): new_ram_id = ram - copyfrom = ram + "_abstract" + new_ram_data = { "id": new_ram_id, "copy-from": copyfrom, From 37110a4285cc162b1cd8ec6b5ca9ddeef851c6fe Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 May 2020 17:41:57 -0400 Subject: [PATCH 06/14] Breakout windshields --- data/json/vehicleparts/vehicle_parts.json | 45 ---------------------- data/json/vehicleparts/windshields.json | 47 +++++++++++++++++++++++ 2 files changed, 47 insertions(+), 45 deletions(-) create mode 100644 data/json/vehicleparts/windshields.json diff --git a/data/json/vehicleparts/vehicle_parts.json b/data/json/vehicleparts/vehicle_parts.json index 3b277cda2aa97..07cbbfe6910dc 100644 --- a/data/json/vehicleparts/vehicle_parts.json +++ b/data/json/vehicleparts/vehicle_parts.json @@ -569,28 +569,6 @@ "breaks_into": "ig_vp_steel_plate", "damage_reduction": { "all": 75 } }, - { - "type": "vehicle_part", - "id": "windshield", - "name": { "str": "windshield" }, - "symbol": "\"", - "looks_like": "t_wall_glass", - "color": "light_cyan", - "broken_symbol": "0", - "broken_color": "light_gray", - "damage_modifier": 70, - "description": "A sheet of glass that lets you see outside the vehicle.", - "durability": 50, - "item": "glass_sheet", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 1 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "OVER", "WINDSHIELD", "OBSTACLE", "WINDOW" ], - "breaks_into": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] - }, { "type": "vehicle_part", "id": "blade_horizontal", @@ -2285,29 +2263,6 @@ ], "damage_reduction": { "all": 70, "cut": 95, "stab": 88 } }, - { - "type": "vehicle_part", - "id": "reinforced_windshield", - "name": { "str": "reinforced windshield" }, - "symbol": "\"", - "looks_like": "windshield", - "color": "light_blue", - "broken_symbol": "0", - "broken_color": "light_gray", - "damage_modifier": 80, - "durability": 250, - "description": "A sheet of glass that lets you see outside the vehicle. Reinforced with wire to make it harder to break than normal glass.", - "item": "reinforced_glass_sheet", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 5 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "WINDSHIELD", "OBSTACLE", "WINDOW" ], - "breaks_into": [ { "item": "glass_shard", "count": [ 25, 50 ] }, { "item": "wire", "count": [ 4, 8 ] } ], - "damage_reduction": { "all": 16 } - }, { "type": "vehicle_part", "id": "horn_bicycle", diff --git a/data/json/vehicleparts/windshields.json b/data/json/vehicleparts/windshields.json new file mode 100644 index 0000000000000..2815d78a63e49 --- /dev/null +++ b/data/json/vehicleparts/windshields.json @@ -0,0 +1,47 @@ +[ + { + "type": "vehicle_part", + "id": "windshield", + "name": { "str": "windshield" }, + "symbol": "\"", + "looks_like": "t_wall_glass", + "color": "light_cyan", + "broken_symbol": "0", + "broken_color": "light_gray", + "damage_modifier": 70, + "description": "A sheet of glass that lets you see outside the vehicle.", + "durability": 50, + "item": "glass_sheet", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 1 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "OVER", "WINDSHIELD", "OBSTACLE", "WINDOW" ], + "breaks_into": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] + }, + { + "type": "vehicle_part", + "id": "reinforced_windshield", + "name": { "str": "reinforced windshield" }, + "symbol": "\"", + "looks_like": "windshield", + "color": "light_blue", + "broken_symbol": "0", + "broken_color": "light_gray", + "damage_modifier": 80, + "durability": 250, + "description": "A sheet of glass that lets you see outside the vehicle. Reinforced with wire to make it harder to break than normal glass.", + "item": "reinforced_glass_sheet", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 5 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "WINDSHIELD", "OBSTACLE", "WINDOW" ], + "breaks_into": [ { "item": "glass_shard", "count": [ 25, 50 ] }, { "item": "wire", "count": [ 4, 8 ] } ], + "damage_reduction": { "all": 16 } + } +] \ No newline at end of file From d0dad09bf2627f82c2de26fa7b1a5ffa3ac0cefa Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 May 2020 17:42:54 -0400 Subject: [PATCH 07/14] Windshield variants --- data/json/vehicleparts/windshields.json | 188 +++++++++++++++++++++--- 1 file changed, 166 insertions(+), 22 deletions(-) diff --git a/data/json/vehicleparts/windshields.json b/data/json/vehicleparts/windshields.json index 2815d78a63e49..1205179e70134 100644 --- a/data/json/vehicleparts/windshields.json +++ b/data/json/vehicleparts/windshields.json @@ -1,47 +1,191 @@ -[ +[ { - "type": "vehicle_part", - "id": "windshield", - "name": { "str": "windshield" }, - "symbol": "\"", - "looks_like": "t_wall_glass", - "color": "light_cyan", - "broken_symbol": "0", + "abstract": "windshield_abstract", + "breaks_into": [ { "count": [ 25, 50 ], "item": "glass_shard" } ], "broken_color": "light_gray", + "broken_symbol": "0", + "color": "light_cyan", "damage_modifier": 70, "description": "A sheet of glass that lets you see outside the vehicle.", "durability": 50, + "flags": [ "OVER", "WINDSHIELD", "OBSTACLE", "WINDOW" ], "item": "glass_sheet", "location": "center", + "looks_like": "t_wall_glass", + "name": { "str": "windshield" }, "requirements": { "install": { "skills": [ [ "mechanics", 1 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } }, - "flags": [ "OVER", "WINDSHIELD", "OBSTACLE", "WINDOW" ], - "breaks_into": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] + "symbol": "\"", + "type": "vehicle_part" }, { - "type": "vehicle_part", - "id": "reinforced_windshield", - "name": { "str": "reinforced windshield" }, - "symbol": "\"", - "looks_like": "windshield", - "color": "light_blue", - "broken_symbol": "0", + "abstract": "reinforced_windshield_abstract", + "breaks_into": [ { "count": [ 25, 50 ], "item": "glass_shard" }, { "count": [ 4, 8 ], "item": "wire" } ], "broken_color": "light_gray", + "broken_symbol": "0", + "color": "light_blue", "damage_modifier": 80, - "durability": 250, + "damage_reduction": { "all": 16 }, "description": "A sheet of glass that lets you see outside the vehicle. Reinforced with wire to make it harder to break than normal glass.", + "durability": 250, + "flags": [ "WINDSHIELD", "OBSTACLE", "WINDOW" ], "item": "reinforced_glass_sheet", "location": "center", + "looks_like": "windshield", + "name": { "str": "reinforced windshield" }, "requirements": { "install": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] }, "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_weld_removal", 1 ] ] }, "repair": { "skills": [ [ "mechanics", 5 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } }, - "flags": [ "WINDSHIELD", "OBSTACLE", "WINDOW" ], - "breaks_into": [ { "item": "glass_shard", "count": [ 25, 50 ] }, { "item": "wire", "count": [ 4, 8 ] } ], - "damage_reduction": { "all": 16 } + "symbol": "\"", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_nw", + "symbol": "y", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_vertical", + "symbol": "j", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_ne", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_sw", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_vertical_2", + "symbol": "H", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_se", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_cover", + "symbol": "^", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_horizontal", + "symbol": "h", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_horizontal_2", + "symbol": "=", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_cross", + "symbol": "c", + "type": "vehicle_part" + }, + { + "copy-from": "windshield_abstract", + "id": "windshield_box", + "symbol": "#", + "type": "vehicle_part" + }, + { + "copy-from": "reinforced_windshield_abstract", + "id": "reinforced_windshield_box", + "symbol": "#", + "type": "vehicle_part" } -] \ No newline at end of file +] From 51e48929d75a50058b6216238d10892f0a66c935 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 May 2020 17:43:19 -0400 Subject: [PATCH 08/14] Ram variants --- data/json/vehicleparts/rams.json | 300 ++++++++++++++++++------------- 1 file changed, 180 insertions(+), 120 deletions(-) diff --git a/data/json/vehicleparts/rams.json b/data/json/vehicleparts/rams.json index 50ba62e3a8a82..f589d584b06be 100644 --- a/data/json/vehicleparts/rams.json +++ b/data/json/vehicleparts/rams.json @@ -15,7 +15,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_alloy", + "abstract": "ram_alloy_abstract", "breaks_into": [ { "count": [ 4, 6 ], "item": "steel_lump" }, { "count": [ 4, 6 ], "item": "steel_chunk" }, @@ -36,7 +36,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_hardsteel", + "abstract": "ram_hardsteel_abstract", "breaks_into": [ { "count": [ 4, 6 ], "item": "steel_lump" }, { "count": [ 4, 6 ], "item": "steel_chunk" }, @@ -57,7 +57,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_military_horizontal", + "abstract": "ram_military_horizontal_abstract", "breaks_into": [ { "count": [ 4, 6 ], "item": "steel_lump" }, { "count": [ 4, 6 ], "item": "steel_chunk" }, @@ -79,7 +79,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_spiked", + "abstract": "ram_spiked_abstract", "breaks_into": [ { "count": [ 4, 6 ], "item": "steel_lump" }, { "count": [ 4, 6 ], "item": "steel_chunk" }, @@ -102,7 +102,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_steel", + "abstract": "ram_steel_abstract", "breaks_into": "ig_vp_steel_plate", "broken_color": "light_cyan", "color": "light_cyan", @@ -114,7 +114,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_wood", + "abstract": "ram_wood_abstract", "breaks_into": "ig_vp_wood_plate", "broken_color": "brown", "color": "brown", @@ -131,7 +131,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_chitin", + "abstract": "ram_chitin_abstract", "breaks_into": [ { "count": [ 5, 15 ], "item": "chitin_piece" } ], "broken_color": "light_gray", "color": "yellow", @@ -144,7 +144,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_acidchitin", + "abstract": "ram_acidchitin_abstract", "breaks_into": [ { "count": [ 6, 19 ], "item": "chitin_piece" } ], "copy-from": "ram_chitin", "damage_reduction": { "all": 110 }, @@ -154,7 +154,7 @@ "type": "vehicle_part" }, { - "abstract": "ram_mattress", + "abstract": "ram_mattress_abstract", "breaks_into": [ { "count": [ 40, 55 ], "item": "rag" } ], "color": "white", "copy-from": "ram_blaze", @@ -170,7 +170,7 @@ "type": "vehicle_part" }, { - "abstract": "tearer", + "abstract": "tearer_abstract", "breaks_into": [ ], "broken_color": "dark_gray", "broken_symbol": "x", @@ -193,661 +193,721 @@ "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", + "id": "ram_alloy", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_hardsteel_abstract", + "id": "ram_hardsteel", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_military_horizontal_abstract", + "id": "ram_military_horizontal", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_spiked_abstract", + "id": "ram_spiked", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_steel_abstract", + "id": "ram_steel", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_wood_abstract", + "id": "ram_wood", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_chitin_abstract", + "id": "ram_chitin", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_acidchitin_abstract", + "id": "ram_acidchitin", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_mattress_abstract", + "id": "ram_mattress", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "tearer_abstract", + "id": "tearer", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_nw", "symbol": "y", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_vertical", "symbol": "j", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_ne", "symbol": "u", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_sw", "symbol": "b", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_vertical_2", "symbol": "H", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_se", "symbol": "n", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_cover", "symbol": "^", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_horizontal", "symbol": "h", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_horizontal_2", "symbol": "=", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_cross", "symbol": "c", "type": "vehicle_part" }, { - "copy-from": "ram_alloy", + "copy-from": "ram_alloy_abstract", "id": "ram_alloy_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "ram_hardsteel", + "copy-from": "ram_hardsteel_abstract", "id": "ram_hardsteel_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "ram_military_horizontal", + "copy-from": "ram_military_horizontal_abstract", "id": "ram_military_horizontal_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "ram_spiked", + "copy-from": "ram_spiked_abstract", "id": "ram_spiked_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "ram_steel", + "copy-from": "ram_steel_abstract", "id": "ram_steel_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "ram_wood", + "copy-from": "ram_wood_abstract", "id": "ram_wood_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "ram_chitin", + "copy-from": "ram_chitin_abstract", "id": "ram_chitin_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "ram_acidchitin", + "copy-from": "ram_acidchitin_abstract", "id": "ram_acidchitin_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "ram_mattress", + "copy-from": "ram_mattress_abstract", "id": "ram_mattress_box", "symbol": "#", "type": "vehicle_part" }, { - "copy-from": "tearer", + "copy-from": "tearer_abstract", "id": "tearer_box", "symbol": "#", "type": "vehicle_part" From 3fe3c5012d96fbab8840a8179230006983710f72 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 12 May 2020 22:34:13 -0400 Subject: [PATCH 09/14] Breakout vehicle mounted tools --- data/json/vehicleparts/utilities.json | 182 ++++++++++++++++++++++ data/json/vehicleparts/vehicle_parts.json | 180 --------------------- 2 files changed, 182 insertions(+), 180 deletions(-) create mode 100644 data/json/vehicleparts/utilities.json diff --git a/data/json/vehicleparts/utilities.json b/data/json/vehicleparts/utilities.json new file mode 100644 index 0000000000000..c2509968dd96c --- /dev/null +++ b/data/json/vehicleparts/utilities.json @@ -0,0 +1,182 @@ +[ + { + "type": "vehicle_part", + "id": "kitchen_unit", + "name": { "str": "kitchen unit" }, + "symbol": "&", + "looks_like": "f_oven", + "color": "light_cyan", + "broken_symbol": "x", + "broken_color": "light_cyan", + "damage_modifier": 10, + "durability": 80, + "description": "A small but complete kitchen unit, powered from the vehicle's batteries.", + "size": 200, + "item": "kitchen_unit", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "KITCHEN", "FAUCET", "COVERED" ], + "breaks_into": [ + { "item": "steel_lump", "count": [ 4, 6 ] }, + { "item": "steel_chunk", "count": [ 4, 6 ] }, + { "item": "scrap", "count": [ 4, 6 ] }, + { "item": "pan", "prob": 50 }, + { "item": "pot", "prob": 50 } + ], + "damage_reduction": { "all": 30 } + }, + { + "type": "vehicle_part", + "id": "welding_rig", + "name": { "str": "welding rig" }, + "symbol": "&", + "color": "light_red", + "broken_symbol": "x", + "broken_color": "light_red", + "damage_modifier": 10, + "durability": 80, + "description": "A welding rig mounted in the vehicle, that draws power from the vehicle's batteries. You still need glare protection. 'e'xamine the tile with the rig to use it to repair items in your inventory. If you attempt to craft an item or perform a repair that requires a welder, you will be given the option of using the welding rig.", + "size": 200, + "item": "weldrig", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "WELDRIG", "COVERED" ], + "breaks_into": [ + { "item": "steel_lump", "count": [ 3, 6 ] }, + { "item": "steel_chunk", "count": [ 3, 6 ] }, + { "item": "scrap", "count": [ 3, 6 ] }, + { "item": "welder", "charges": 0, "prob": 50 } + ], + "damage_reduction": { "all": 24 } + }, + { + "type": "vehicle_part", + "id": "craft_rig", + "name": { "str": "FOODCO kitchen buddy" }, + "symbol": "&", + "looks_like": "f_sink", + "color": "light_green", + "broken_symbol": "x", + "broken_color": "light_gray", + "damage_modifier": 10, + "durability": 80, + "description": "A multi-function crafting station, with a water purifier, food dehydrator, vacuum sealer, and hand press for making ammo. Draws power from the vehicle's batteries. 'e'xamine the tile with the kitchen buddy to access the water faucet or to purify water in a vehicle tank or in a container in your inventory. If you attempt craft an item that needs one of the kitchen buddy's functions, it will automatically be selected as a tool.", + "size": 200, + "item": "craftrig", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "CRAFTRIG", "WATER_PURIFIER", "COVERED" ], + "breaks_into": [ + { "item": "steel_lump", "count": [ 4, 7 ] }, + { "item": "steel_chunk", "count": [ 4, 7 ] }, + { "item": "scrap", "count": [ 4, 7 ] }, + { "item": "pan", "prob": 50 }, + { "item": "pot", "prob": 50 }, + { "item": "water_purifier", "charges": 0, "prob": 50 }, + { "item": "vac_sealer", "charges": 0, "prob": 50 }, + { "item": "dehydrator", "charges": 0, "prob": 50 }, + { "item": "food_processor", "charges": 0, "prob": 50 }, + { "item": "press", "charges": 0, "prob": 50 } + ], + "damage_reduction": { "all": 20 } + }, + { + "type": "vehicle_part", + "id": "chemlab", + "name": { "str": "onboard chemistry lab" }, + "symbol": "&", + "looks_like": "f_workbench", + "color": "yellow", + "broken_symbol": "x", + "broken_color": "light_gray", + "damage_modifier": 10, + "description": "A small chemistry station, including a hotplate and electrolysis setup powered by the vehicle's batteries. 'e'xamine the tile with the chemistry lab to access the water faucet or to heat up food with the hotplate. If you attempt craft an item that needs one of the chemistry lab's functions, it will automatically be selected as a tool.", + "durability": 80, + "size": 200, + "item": "chemlab", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "CHEMLAB", "FAUCET", "COVERED" ], + "breaks_into": [ + { "item": "steel_lump", "count": [ 4, 7 ] }, + { "item": "steel_chunk", "count": [ 4, 7 ] }, + { "item": "scrap", "count": [ 4, 7 ] }, + { "item": "cable", "charges": [ 30, 50 ] }, + { "item": "chemistry_set", "charges": 0, "prob": 50 }, + { "item": "hotplate", "charges": 0, "prob": 50 } + ], + "damage_reduction": { "all": 19 } + }, + { + "type": "vehicle_part", + "id": "veh_forge", + "name": { "str": "mounted electric forge" }, + "symbol": "&", + "looks_like": "f_forge_rock", + "color": "red", + "broken_symbol": "x", + "broken_color": "light_gray", + "damage_modifier": 10, + "durability": 80, + "description": "A electric forge for metalworking, powered by the vehicle's batteries. With a hammer and other tools, you could use this for metalworking. If you attempt craft an item that needs a forge, you will be given the option of selecting it as a tool.", + "size": 200, + "item": "forgerig", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "FORGE" ], + "breaks_into": [ + { "item": "steel_lump", "count": [ 4, 5 ] }, + { "item": "steel_chunk", "count": [ 4, 6 ] }, + { "item": "scrap", "count": [ 4, 6 ] } + ], + "damage_reduction": { "all": 29 } + }, + { + "type": "vehicle_part", + "id": "veh_kiln", + "name": { "str": "mounted electric kiln" }, + "symbol": "&", + "looks_like": "f_kiln_empty", + "color": "red", + "broken_symbol": "x", + "broken_color": "light_gray", + "damage_modifier": 10, + "durability": 80, + "description": "A electric kiln for baking brick or clay, powered by the vehicle's batteries. You could use this to harden bricks or clay. If you attempt craft an item that needs a kiln, you will be given the option of selecting it as a tool.", + "size": 200, + "item": "kilnrig", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "KILN" ], + "breaks_into": [ + { "item": "steel_lump", "count": [ 4, 5 ] }, + { "item": "steel_chunk", "count": [ 4, 6 ] }, + { "item": "scrap", "count": [ 4, 6 ] } + ], + "damage_reduction": { "all": 25 } + } +] \ No newline at end of file diff --git a/data/json/vehicleparts/vehicle_parts.json b/data/json/vehicleparts/vehicle_parts.json index 07cbbfe6910dc..92abd8440fa77 100644 --- a/data/json/vehicleparts/vehicle_parts.json +++ b/data/json/vehicleparts/vehicle_parts.json @@ -1943,186 +1943,6 @@ "flags": [ "TOWEL", "FOLDABLE" ], "breaks_into": [ { "item": "scrap", "count": [ 1, 3 ] }, { "item": "rag", "count": [ 1, 6 ] } ] }, - { - "type": "vehicle_part", - "id": "kitchen_unit", - "name": { "str": "kitchen unit" }, - "symbol": "&", - "looks_like": "f_oven", - "color": "light_cyan", - "broken_symbol": "x", - "broken_color": "light_cyan", - "damage_modifier": 10, - "durability": 80, - "description": "A small but complete kitchen unit, powered from the vehicle's batteries.", - "size": 200, - "item": "kitchen_unit", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "KITCHEN", "FAUCET", "COVERED" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 6 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] }, - { "item": "pan", "prob": 50 }, - { "item": "pot", "prob": 50 } - ], - "damage_reduction": { "all": 30 } - }, - { - "type": "vehicle_part", - "id": "welding_rig", - "name": { "str": "welding rig" }, - "symbol": "&", - "color": "light_red", - "broken_symbol": "x", - "broken_color": "light_red", - "damage_modifier": 10, - "durability": 80, - "description": "A welding rig mounted in the vehicle, that draws power from the vehicle's batteries. You still need glare protection. 'e'xamine the tile with the rig to use it to repair items in your inventory. If you attempt to craft an item or perform a repair that requires a welder, you will be given the option of using the welding rig.", - "size": 200, - "item": "weldrig", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "WELDRIG", "COVERED" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 3, 6 ] }, - { "item": "steel_chunk", "count": [ 3, 6 ] }, - { "item": "scrap", "count": [ 3, 6 ] }, - { "item": "welder", "charges": 0, "prob": 50 } - ], - "damage_reduction": { "all": 24 } - }, - { - "type": "vehicle_part", - "id": "craft_rig", - "name": { "str": "FOODCO kitchen buddy" }, - "symbol": "&", - "looks_like": "f_sink", - "color": "light_green", - "broken_symbol": "x", - "broken_color": "light_gray", - "damage_modifier": 10, - "durability": 80, - "description": "A multi-function crafting station, with a water purifier, food dehydrator, vacuum sealer, and hand press for making ammo. Draws power from the vehicle's batteries. 'e'xamine the tile with the kitchen buddy to access the water faucet or to purify water in a vehicle tank or in a container in your inventory. If you attempt craft an item that needs one of the kitchen buddy's functions, it will automatically be selected as a tool.", - "size": 200, - "item": "craftrig", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "CRAFTRIG", "WATER_PURIFIER", "COVERED" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 7 ] }, - { "item": "steel_chunk", "count": [ 4, 7 ] }, - { "item": "scrap", "count": [ 4, 7 ] }, - { "item": "pan", "prob": 50 }, - { "item": "pot", "prob": 50 }, - { "item": "water_purifier", "charges": 0, "prob": 50 }, - { "item": "vac_sealer", "charges": 0, "prob": 50 }, - { "item": "dehydrator", "charges": 0, "prob": 50 }, - { "item": "food_processor", "charges": 0, "prob": 50 }, - { "item": "press", "charges": 0, "prob": 50 } - ], - "damage_reduction": { "all": 20 } - }, - { - "type": "vehicle_part", - "id": "chemlab", - "name": { "str": "onboard chemistry lab" }, - "symbol": "&", - "looks_like": "f_workbench", - "color": "yellow", - "broken_symbol": "x", - "broken_color": "light_gray", - "damage_modifier": 10, - "description": "A small chemistry station, including a hotplate and electrolysis setup powered by the vehicle's batteries. 'e'xamine the tile with the chemistry lab to access the water faucet or to heat up food with the hotplate. If you attempt craft an item that needs one of the chemistry lab's functions, it will automatically be selected as a tool.", - "durability": 80, - "size": 200, - "item": "chemlab", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "CHEMLAB", "FAUCET", "COVERED" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 7 ] }, - { "item": "steel_chunk", "count": [ 4, 7 ] }, - { "item": "scrap", "count": [ 4, 7 ] }, - { "item": "cable", "charges": [ 30, 50 ] }, - { "item": "chemistry_set", "charges": 0, "prob": 50 }, - { "item": "hotplate", "charges": 0, "prob": 50 } - ], - "damage_reduction": { "all": 19 } - }, - { - "type": "vehicle_part", - "id": "veh_forge", - "name": { "str": "mounted electric forge" }, - "symbol": "&", - "looks_like": "f_forge_rock", - "color": "red", - "broken_symbol": "x", - "broken_color": "light_gray", - "damage_modifier": 10, - "durability": 80, - "description": "A electric forge for metalworking, powered by the vehicle's batteries. With a hammer and other tools, you could use this for metalworking. If you attempt craft an item that needs a forge, you will be given the option of selecting it as a tool.", - "size": 200, - "item": "forgerig", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "FORGE" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 5 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] } - ], - "damage_reduction": { "all": 29 } - }, - { - "type": "vehicle_part", - "id": "veh_kiln", - "name": { "str": "mounted electric kiln" }, - "symbol": "&", - "looks_like": "f_kiln_empty", - "color": "red", - "broken_symbol": "x", - "broken_color": "light_gray", - "damage_modifier": 10, - "durability": 80, - "description": "A electric kiln for baking brick or clay, powered by the vehicle's batteries. You could use this to harden bricks or clay. If you attempt craft an item that needs a kiln, you will be given the option of selecting it as a tool.", - "size": 200, - "item": "kilnrig", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "KILN" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 5 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] } - ], - "damage_reduction": { "all": 25 } - }, { "type": "vehicle_part", "id": "plating_wood", From 12f65b24d762814466c4f1fd7165b47932b1be25 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 12 May 2020 22:40:23 -0400 Subject: [PATCH 10/14] Directional vehicle tools --- data/json/vehicleparts/utilities.json | 542 +++++++++++++++++--------- 1 file changed, 361 insertions(+), 181 deletions(-) diff --git a/data/json/vehicleparts/utilities.json b/data/json/vehicleparts/utilities.json index c2509968dd96c..54669fdb8dd90 100644 --- a/data/json/vehicleparts/utilities.json +++ b/data/json/vehicleparts/utilities.json @@ -1,182 +1,362 @@ [ - { - "type": "vehicle_part", - "id": "kitchen_unit", - "name": { "str": "kitchen unit" }, - "symbol": "&", - "looks_like": "f_oven", - "color": "light_cyan", - "broken_symbol": "x", - "broken_color": "light_cyan", - "damage_modifier": 10, - "durability": 80, - "description": "A small but complete kitchen unit, powered from the vehicle's batteries.", - "size": 200, - "item": "kitchen_unit", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "KITCHEN", "FAUCET", "COVERED" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 6 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] }, - { "item": "pan", "prob": 50 }, - { "item": "pot", "prob": 50 } - ], - "damage_reduction": { "all": 30 } - }, - { - "type": "vehicle_part", - "id": "welding_rig", - "name": { "str": "welding rig" }, - "symbol": "&", - "color": "light_red", - "broken_symbol": "x", - "broken_color": "light_red", - "damage_modifier": 10, - "durability": 80, - "description": "A welding rig mounted in the vehicle, that draws power from the vehicle's batteries. You still need glare protection. 'e'xamine the tile with the rig to use it to repair items in your inventory. If you attempt to craft an item or perform a repair that requires a welder, you will be given the option of using the welding rig.", - "size": 200, - "item": "weldrig", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "WELDRIG", "COVERED" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 3, 6 ] }, - { "item": "steel_chunk", "count": [ 3, 6 ] }, - { "item": "scrap", "count": [ 3, 6 ] }, - { "item": "welder", "charges": 0, "prob": 50 } - ], - "damage_reduction": { "all": 24 } - }, - { - "type": "vehicle_part", - "id": "craft_rig", - "name": { "str": "FOODCO kitchen buddy" }, - "symbol": "&", - "looks_like": "f_sink", - "color": "light_green", - "broken_symbol": "x", - "broken_color": "light_gray", - "damage_modifier": 10, - "durability": 80, - "description": "A multi-function crafting station, with a water purifier, food dehydrator, vacuum sealer, and hand press for making ammo. Draws power from the vehicle's batteries. 'e'xamine the tile with the kitchen buddy to access the water faucet or to purify water in a vehicle tank or in a container in your inventory. If you attempt craft an item that needs one of the kitchen buddy's functions, it will automatically be selected as a tool.", - "size": 200, - "item": "craftrig", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "CRAFTRIG", "WATER_PURIFIER", "COVERED" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 7 ] }, - { "item": "steel_chunk", "count": [ 4, 7 ] }, - { "item": "scrap", "count": [ 4, 7 ] }, - { "item": "pan", "prob": 50 }, - { "item": "pot", "prob": 50 }, - { "item": "water_purifier", "charges": 0, "prob": 50 }, - { "item": "vac_sealer", "charges": 0, "prob": 50 }, - { "item": "dehydrator", "charges": 0, "prob": 50 }, - { "item": "food_processor", "charges": 0, "prob": 50 }, - { "item": "press", "charges": 0, "prob": 50 } - ], - "damage_reduction": { "all": 20 } - }, - { - "type": "vehicle_part", - "id": "chemlab", - "name": { "str": "onboard chemistry lab" }, - "symbol": "&", - "looks_like": "f_workbench", - "color": "yellow", - "broken_symbol": "x", - "broken_color": "light_gray", - "damage_modifier": 10, - "description": "A small chemistry station, including a hotplate and electrolysis setup powered by the vehicle's batteries. 'e'xamine the tile with the chemistry lab to access the water faucet or to heat up food with the hotplate. If you attempt craft an item that needs one of the chemistry lab's functions, it will automatically be selected as a tool.", - "durability": 80, - "size": 200, - "item": "chemlab", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "CHEMLAB", "FAUCET", "COVERED" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 7 ] }, - { "item": "steel_chunk", "count": [ 4, 7 ] }, - { "item": "scrap", "count": [ 4, 7 ] }, - { "item": "cable", "charges": [ 30, 50 ] }, - { "item": "chemistry_set", "charges": 0, "prob": 50 }, - { "item": "hotplate", "charges": 0, "prob": 50 } - ], - "damage_reduction": { "all": 19 } - }, - { - "type": "vehicle_part", - "id": "veh_forge", - "name": { "str": "mounted electric forge" }, - "symbol": "&", - "looks_like": "f_forge_rock", - "color": "red", - "broken_symbol": "x", - "broken_color": "light_gray", - "damage_modifier": 10, - "durability": 80, - "description": "A electric forge for metalworking, powered by the vehicle's batteries. With a hammer and other tools, you could use this for metalworking. If you attempt craft an item that needs a forge, you will be given the option of selecting it as a tool.", - "size": 200, - "item": "forgerig", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "FORGE" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 5 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] } - ], - "damage_reduction": { "all": 29 } - }, - { - "type": "vehicle_part", - "id": "veh_kiln", - "name": { "str": "mounted electric kiln" }, - "symbol": "&", - "looks_like": "f_kiln_empty", - "color": "red", - "broken_symbol": "x", - "broken_color": "light_gray", - "damage_modifier": 10, - "durability": 80, - "description": "A electric kiln for baking brick or clay, powered by the vehicle's batteries. You could use this to harden bricks or clay. If you attempt craft an item that needs a kiln, you will be given the option of selecting it as a tool.", - "size": 200, - "item": "kilnrig", - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "CARGO", "OBSTACLE", "KILN" ], - "breaks_into": [ - { "item": "steel_lump", "count": [ 4, 5 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 4, 6 ] } - ], - "damage_reduction": { "all": 25 } - } -] \ No newline at end of file + { + "abstract": "kitchen_unit_abstract", + "breaks_into": [ + { "count": [ 4, 6 ], "item": "steel_lump" }, + { "count": [ 4, 6 ], "item": "steel_chunk" }, + { "count": [ 4, 6 ], "item": "scrap" }, + { "item": "pan", "prob": 50 }, + { "item": "pot", "prob": 50 } + ], + "broken_color": "light_cyan", + "broken_symbol": "x", + "color": "light_cyan", + "damage_modifier": 10, + "damage_reduction": { "all": 30 }, + "description": "A small but complete kitchen unit, powered from the vehicle's batteries.", + "durability": 80, + "flags": [ "CARGO", "OBSTACLE", "KITCHEN", "FAUCET", "COVERED" ], + "item": "kitchen_unit", + "location": "center", + "looks_like": "f_oven", + "name": { "str": "kitchen unit" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 200, + "symbol": "&", + "type": "vehicle_part" + }, + { + "abstract": "welding_rig_abstract", + "breaks_into": [ + { "count": [ 3, 6 ], "item": "steel_lump" }, + { "count": [ 3, 6 ], "item": "steel_chunk" }, + { "count": [ 3, 6 ], "item": "scrap" }, + { "charges": 0, "item": "welder", "prob": 50 } + ], + "broken_color": "light_red", + "broken_symbol": "x", + "color": "light_red", + "damage_modifier": 10, + "damage_reduction": { "all": 24 }, + "description": "A welding rig mounted in the vehicle, that draws power from the vehicle's batteries. You still need glare protection. 'e'xamine the tile with the rig to use it to repair items in your inventory. If you attempt to craft an item or perform a repair that requires a welder, you will be given the option of using the welding rig.", + "durability": 80, + "flags": [ "CARGO", "OBSTACLE", "WELDRIG", "COVERED" ], + "item": "weldrig", + "location": "center", + "name": { "str": "welding rig" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 200, + "symbol": "&", + "type": "vehicle_part" + }, + { + "abstract": "craft_rig_abstract", + "breaks_into": [ + { "count": [ 4, 7 ], "item": "steel_lump" }, + { "count": [ 4, 7 ], "item": "steel_chunk" }, + { "count": [ 4, 7 ], "item": "scrap" }, + { "item": "pan", "prob": 50 }, + { "item": "pot", "prob": 50 }, + { "charges": 0, "item": "water_purifier", "prob": 50 }, + { "charges": 0, "item": "vac_sealer", "prob": 50 }, + { "charges": 0, "item": "dehydrator", "prob": 50 }, + { "charges": 0, "item": "food_processor", "prob": 50 }, + { "charges": 0, "item": "press", "prob": 50 } + ], + "broken_color": "light_gray", + "broken_symbol": "x", + "color": "light_green", + "damage_modifier": 10, + "damage_reduction": { "all": 20 }, + "description": "A multi-function crafting station, with a water purifier, food dehydrator, vacuum sealer, and hand press for making ammo. Draws power from the vehicle's batteries. 'e'xamine the tile with the kitchen buddy to access the water faucet or to purify water in a vehicle tank or in a container in your inventory. If you attempt craft an item that needs one of the kitchen buddy's functions, it will automatically be selected as a tool.", + "durability": 80, + "flags": [ "CARGO", "OBSTACLE", "CRAFTRIG", "WATER_PURIFIER", "COVERED" ], + "item": "craftrig", + "location": "center", + "looks_like": "f_sink", + "name": { "str": "FOODCO kitchen buddy" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 200, + "symbol": "&", + "type": "vehicle_part" + }, + { + "abstract": "chemlab_abstract", + "breaks_into": [ + { "count": [ 4, 7 ], "item": "steel_lump" }, + { "count": [ 4, 7 ], "item": "steel_chunk" }, + { "count": [ 4, 7 ], "item": "scrap" }, + { "charges": [ 30, 50 ], "item": "cable" }, + { "charges": 0, "item": "chemistry_set", "prob": 50 }, + { "charges": 0, "item": "hotplate", "prob": 50 } + ], + "broken_color": "light_gray", + "broken_symbol": "x", + "color": "yellow", + "damage_modifier": 10, + "damage_reduction": { "all": 19 }, + "description": "A small chemistry station, including a hotplate and electrolysis setup powered by the vehicle's batteries. 'e'xamine the tile with the chemistry lab to access the water faucet or to heat up food with the hotplate. If you attempt craft an item that needs one of the chemistry lab's functions, it will automatically be selected as a tool.", + "durability": 80, + "flags": [ "CARGO", "OBSTACLE", "CHEMLAB", "FAUCET", "COVERED" ], + "item": "chemlab", + "location": "center", + "looks_like": "f_workbench", + "name": { "str": "onboard chemistry lab" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 200, + "symbol": "&", + "type": "vehicle_part" + }, + { + "abstract": "veh_forge_abstract", + "breaks_into": [ + { "count": [ 4, 5 ], "item": "steel_lump" }, + { "count": [ 4, 6 ], "item": "steel_chunk" }, + { "count": [ 4, 6 ], "item": "scrap" } + ], + "broken_color": "light_gray", + "broken_symbol": "x", + "color": "red", + "damage_modifier": 10, + "damage_reduction": { "all": 29 }, + "description": "A electric forge for metalworking, powered by the vehicle's batteries. With a hammer and other tools, you could use this for metalworking. If you attempt craft an item that needs a forge, you will be given the option of selecting it as a tool.", + "durability": 80, + "flags": [ "CARGO", "OBSTACLE", "FORGE" ], + "item": "forgerig", + "location": "center", + "looks_like": "f_forge_rock", + "name": { "str": "mounted electric forge" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 200, + "symbol": "&", + "type": "vehicle_part" + }, + { + "abstract": "veh_kiln_abstract", + "breaks_into": [ + { "count": [ 4, 5 ], "item": "steel_lump" }, + { "count": [ 4, 6 ], "item": "steel_chunk" }, + { "count": [ 4, 6 ], "item": "scrap" } + ], + "broken_color": "light_gray", + "broken_symbol": "x", + "color": "red", + "damage_modifier": 10, + "damage_reduction": { "all": 25 }, + "description": "A electric kiln for baking brick or clay, powered by the vehicle's batteries. You could use this to harden bricks or clay. If you attempt craft an item that needs a kiln, you will be given the option of selecting it as a tool.", + "durability": 80, + "flags": [ "CARGO", "OBSTACLE", "KILN" ], + "item": "kilnrig", + "location": "center", + "looks_like": "f_kiln_empty", + "name": { "str": "mounted electric kiln" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 200, + "symbol": "&", + "type": "vehicle_part" + }, + { + "copy-from": "kitchen_unit_abstract", + "id": "kitchen_unit", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "welding_rig_abstract", + "id": "welding_rig", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "craft_rig_abstract", + "id": "craft_rig", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "chemlab_abstract", + "id": "chemlab", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "veh_forge_abstract", + "id": "veh_forge", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "veh_kiln_abstract", + "id": "veh_kiln", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "kitchen_unit_abstract", + "id": "kitchen_unit_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "welding_rig_abstract", + "id": "welding_rig_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "craft_rig_abstract", + "id": "craft_rig_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "chemlab_abstract", + "id": "chemlab_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "veh_forge_abstract", + "id": "veh_forge_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "veh_kiln_abstract", + "id": "veh_kiln_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "kitchen_unit_abstract", + "id": "kitchen_unit_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "welding_rig_abstract", + "id": "welding_rig_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "craft_rig_abstract", + "id": "craft_rig_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "chemlab_abstract", + "id": "chemlab_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "veh_forge_abstract", + "id": "veh_forge_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "veh_kiln_abstract", + "id": "veh_kiln_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "kitchen_unit_abstract", + "id": "kitchen_unit_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "welding_rig_abstract", + "id": "welding_rig_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "craft_rig_abstract", + "id": "craft_rig_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "chemlab_abstract", + "id": "chemlab_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "veh_forge_abstract", + "id": "veh_forge_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "veh_kiln_abstract", + "id": "veh_kiln_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "kitchen_unit_abstract", + "id": "kitchen_unit_down", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "welding_rig_abstract", + "id": "welding_rig_down", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "craft_rig_abstract", + "id": "craft_rig_down", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "chemlab_abstract", + "id": "chemlab_down", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "veh_forge_abstract", + "id": "veh_forge_down", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "veh_kiln_abstract", + "id": "veh_kiln_down", + "symbol": "u", + "type": "vehicle_part" + } +] From df53fd457828c7e353a8d5854d937b70ec9c705a Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 12 May 2020 22:40:32 -0400 Subject: [PATCH 11/14] Breakout seats --- data/json/vehicleparts/seats.json | 95 +++++++++++++++++++++++ data/json/vehicleparts/vehicle_parts.json | 23 ------ 2 files changed, 95 insertions(+), 23 deletions(-) create mode 100644 data/json/vehicleparts/seats.json diff --git a/data/json/vehicleparts/seats.json b/data/json/vehicleparts/seats.json new file mode 100644 index 0000000000000..1cc260d33af18 --- /dev/null +++ b/data/json/vehicleparts/seats.json @@ -0,0 +1,95 @@ +[ + { + "type": "item_group", + "id": "ig_vp_seat", + "subtype": "collection", + "entries": [ + { "item": "rag", "count": [ 2, 8 ] }, + { "item": "pipe", "count": [ 1, 3 ] }, + { "item": "spring", "count": [ 0, 2 ] }, + { "item": "scrap", "count": [ 3, 5 ] } + ] + }, + { + "type": "item_group", + "id": "ig_vp_seat_leather", + "subtype": "collection", + "entries": [ + { "item": "leather", "count": [ 1, 5 ] }, + { "item": "rag", "count": [ 1, 3 ] }, + { "item": "pipe", "count": [ 1, 3 ] }, + { "item": "spring", "count": [ 0, 2 ] }, + { "item": "scrap", "count": [ 3, 5 ] } + ] + }, + { + "type": "vehicle_part", + "id": "seat", + "name": { "str": "seat" }, + "symbol": "#", + "looks_like": "reclining_seat", + "color": "red", + "broken_symbol": "*", + "broken_color": "red", + "damage_modifier": 60, + "durability": 300, + "description": "A place to sit, or sleep if you're desperate.", + "size": 100, + "item": "seat", + "floor_bedding_warmth": 200, + "comfort": 2, + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 1 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "15 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "SEAT", "BOARDABLE", "CARGO", "BELTABLE" ], + "breaks_into": "ig_vp_seat", + "damage_reduction": { "all": 2 } + }, + { + "type": "vehicle_part", + "id": "seat_leather", + "copy-from": "seat", + "looks_like": "seat", + "name": { "str": "leather seat" }, + "item": "seat_leather", + "breaks_into": "ig_vp_seat_leather" + }, + { + "type": "vehicle_part", + "id": "reclining_seat", + "name": { "str": "reclining seat" }, + "symbol": "#", + "looks_like": "seat", + "color": "red", + "broken_symbol": "*", + "broken_color": "red", + "damage_modifier": 60, + "durability": 100, + "description": "A place to sit, and the backrest reclines to make it an uncomfortable bed.", + "item": "seat", + "size": 25, + "floor_bedding_warmth": 250, + "comfort": 3, + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 1 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "15 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "BED", "SEAT", "BOARDABLE", "BELTABLE", "CARGO" ], + "breaks_into": "ig_vp_seat", + "damage_reduction": { "all": 3 } + }, + { + "type": "vehicle_part", + "id": "reclining_seat_leather", + "looks_like": "seat_leather", + "copy-from": "reclining_seat", + "name": { "str": "reclining leather seat" }, + "item": "seat_leather", + "breaks_into": "ig_vp_seat_leather" + } +] \ No newline at end of file diff --git a/data/json/vehicleparts/vehicle_parts.json b/data/json/vehicleparts/vehicle_parts.json index 92abd8440fa77..aa80a855df12f 100644 --- a/data/json/vehicleparts/vehicle_parts.json +++ b/data/json/vehicleparts/vehicle_parts.json @@ -1,27 +1,4 @@ [ - { - "type": "item_group", - "id": "ig_vp_seat", - "subtype": "collection", - "entries": [ - { "item": "rag", "count": [ 2, 8 ] }, - { "item": "pipe", "count": [ 1, 3 ] }, - { "item": "spring", "count": [ 0, 2 ] }, - { "item": "scrap", "count": [ 3, 5 ] } - ] - }, - { - "type": "item_group", - "id": "ig_vp_seat_leather", - "subtype": "collection", - "entries": [ - { "item": "leather", "count": [ 1, 5 ] }, - { "item": "rag", "count": [ 1, 3 ] }, - { "item": "pipe", "count": [ 1, 3 ] }, - { "item": "spring", "count": [ 0, 2 ] }, - { "item": "scrap", "count": [ 3, 5 ] } - ] - }, { "type": "item_group", "id": "ig_vp_frame", From 3d5dc487c9e82b676ecd45b5f574883f78a5a7cf Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 12 May 2020 22:44:31 -0400 Subject: [PATCH 12/14] Make seats directional --- data/json/vehicleparts/seats.json | 308 +++++++++++++++++++++--------- 1 file changed, 214 insertions(+), 94 deletions(-) diff --git a/data/json/vehicleparts/seats.json b/data/json/vehicleparts/seats.json index 1cc260d33af18..4fc3a6a3e74e0 100644 --- a/data/json/vehicleparts/seats.json +++ b/data/json/vehicleparts/seats.json @@ -1,95 +1,215 @@ [ - { - "type": "item_group", - "id": "ig_vp_seat", - "subtype": "collection", - "entries": [ - { "item": "rag", "count": [ 2, 8 ] }, - { "item": "pipe", "count": [ 1, 3 ] }, - { "item": "spring", "count": [ 0, 2 ] }, - { "item": "scrap", "count": [ 3, 5 ] } - ] - }, - { - "type": "item_group", - "id": "ig_vp_seat_leather", - "subtype": "collection", - "entries": [ - { "item": "leather", "count": [ 1, 5 ] }, - { "item": "rag", "count": [ 1, 3 ] }, - { "item": "pipe", "count": [ 1, 3 ] }, - { "item": "spring", "count": [ 0, 2 ] }, - { "item": "scrap", "count": [ 3, 5 ] } - ] - }, - { - "type": "vehicle_part", - "id": "seat", - "name": { "str": "seat" }, - "symbol": "#", - "looks_like": "reclining_seat", - "color": "red", - "broken_symbol": "*", - "broken_color": "red", - "damage_modifier": 60, - "durability": 300, - "description": "A place to sit, or sleep if you're desperate.", - "size": 100, - "item": "seat", - "floor_bedding_warmth": 200, - "comfort": 2, - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 1 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "15 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "SEAT", "BOARDABLE", "CARGO", "BELTABLE" ], - "breaks_into": "ig_vp_seat", - "damage_reduction": { "all": 2 } - }, - { - "type": "vehicle_part", - "id": "seat_leather", - "copy-from": "seat", - "looks_like": "seat", - "name": { "str": "leather seat" }, - "item": "seat_leather", - "breaks_into": "ig_vp_seat_leather" - }, - { - "type": "vehicle_part", - "id": "reclining_seat", - "name": { "str": "reclining seat" }, - "symbol": "#", - "looks_like": "seat", - "color": "red", - "broken_symbol": "*", - "broken_color": "red", - "damage_modifier": 60, - "durability": 100, - "description": "A place to sit, and the backrest reclines to make it an uncomfortable bed.", - "item": "seat", - "size": 25, - "floor_bedding_warmth": 250, - "comfort": 3, - "location": "center", - "requirements": { - "install": { "skills": [ [ "mechanics", 1 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "15 m", "using": [ [ "vehicle_bolt", 1 ] ] }, - "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "welding_standard", 5 ] ] } - }, - "flags": [ "BED", "SEAT", "BOARDABLE", "BELTABLE", "CARGO" ], - "breaks_into": "ig_vp_seat", - "damage_reduction": { "all": 3 } - }, - { - "type": "vehicle_part", - "id": "reclining_seat_leather", - "looks_like": "seat_leather", - "copy-from": "reclining_seat", - "name": { "str": "reclining leather seat" }, - "item": "seat_leather", - "breaks_into": "ig_vp_seat_leather" - } -] \ No newline at end of file + { + "entries": [ + { "count": [ 2, 8 ], "item": "rag" }, + { "count": [ 1, 3 ], "item": "pipe" }, + { "count": [ 0, 2 ], "item": "spring" }, + { "count": [ 3, 5 ], "item": "scrap" } + ], + "id": "ig_vp_seat", + "subtype": "collection", + "type": "item_group" + }, + { + "entries": [ + { "count": [ 1, 5 ], "item": "leather" }, + { "count": [ 1, 3 ], "item": "rag" }, + { "count": [ 1, 3 ], "item": "pipe" }, + { "count": [ 0, 2 ], "item": "spring" }, + { "count": [ 3, 5 ], "item": "scrap" } + ], + "id": "ig_vp_seat_leather", + "subtype": "collection", + "type": "item_group" + }, + { + "abstract": "seat_abstract", + "breaks_into": "ig_vp_seat", + "broken_color": "red", + "broken_symbol": "*", + "color": "red", + "comfort": 2, + "damage_modifier": 60, + "damage_reduction": { "all": 2 }, + "description": "A place to sit, or sleep if you're desperate.", + "durability": 300, + "flags": [ "SEAT", "BOARDABLE", "CARGO", "BELTABLE" ], + "floor_bedding_warmth": 200, + "item": "seat", + "location": "center", + "looks_like": "reclining_seat", + "name": { "str": "seat" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 1 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "15 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 100, + "symbol": "#", + "type": "vehicle_part" + }, + { + "abstract": "seat_leather_abstract", + "breaks_into": "ig_vp_seat_leather", + "copy-from": "seat", + "item": "seat_leather", + "looks_like": "seat", + "name": { "str": "leather seat" }, + "type": "vehicle_part" + }, + { + "abstract": "reclining_seat_abstract", + "breaks_into": "ig_vp_seat", + "broken_color": "red", + "broken_symbol": "*", + "color": "red", + "comfort": 3, + "damage_modifier": 60, + "damage_reduction": { "all": 3 }, + "description": "A place to sit, and the backrest reclines to make it an uncomfortable bed.", + "durability": 100, + "flags": [ "BED", "SEAT", "BOARDABLE", "BELTABLE", "CARGO" ], + "floor_bedding_warmth": 250, + "item": "seat", + "location": "center", + "looks_like": "seat", + "name": { "str": "reclining seat" }, + "requirements": { + "install": { "skills": [ [ "mechanics", 1 ] ], "time": "30 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "15 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "size": 25, + "symbol": "#", + "type": "vehicle_part" + }, + { + "abstract": "reclining_seat_leather_abstract", + "breaks_into": "ig_vp_seat_leather", + "copy-from": "reclining_seat", + "item": "seat_leather", + "looks_like": "seat_leather", + "name": { "str": "reclining leather seat" }, + "type": "vehicle_part" + }, + { + "copy-from": "seat_abstract", + "id": "seat", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "seat_leather_abstract", + "id": "seat_leather", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_abstract", + "id": "reclining_seat", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_leather_abstract", + "id": "reclining_seat_leather", + "symbol": "M", + "type": "vehicle_part" + }, + { + "copy-from": "seat_abstract", + "id": "seat_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "seat_leather_abstract", + "id": "seat_leather_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_abstract", + "id": "reclining_seat_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_leather_abstract", + "id": "reclining_seat_leather_left", + "symbol": "d", + "type": "vehicle_part" + }, + { + "copy-from": "seat_abstract", + "id": "seat_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "seat_leather_abstract", + "id": "seat_leather_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_abstract", + "id": "reclining_seat_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_leather_abstract", + "id": "reclining_seat_leather_right", + "symbol": "b", + "type": "vehicle_part" + }, + { + "copy-from": "seat_abstract", + "id": "seat_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "seat_leather_abstract", + "id": "seat_leather_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_abstract", + "id": "reclining_seat_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_leather_abstract", + "id": "reclining_seat_leather_up", + "symbol": "n", + "type": "vehicle_part" + }, + { + "copy-from": "seat_abstract", + "id": "seat_down", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "seat_leather_abstract", + "id": "seat_leather_down", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_abstract", + "id": "reclining_seat_down", + "symbol": "u", + "type": "vehicle_part" + }, + { + "copy-from": "reclining_seat_leather_abstract", + "id": "reclining_seat_leather_down", + "symbol": "u", + "type": "vehicle_part" + } +] From 1ea74fc144bdb91676b7a66565be416ab550811f Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 12 May 2020 22:45:57 -0400 Subject: [PATCH 13/14] Only apply to vehicle parts --- tools/make_vehicle_parts_directions.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/make_vehicle_parts_directions.py b/tools/make_vehicle_parts_directions.py index d6b3da02b4932..0c57e26613f88 100644 --- a/tools/make_vehicle_parts_directions.py +++ b/tools/make_vehicle_parts_directions.py @@ -2,8 +2,8 @@ import os import subprocess -default_path = "data/json/vehicleparts/doors.json" -default_output = "data/json/vehicleparts/doors.json" +default_path = "data/json/vehicleparts/seats.json" +default_output = "data/json/vehicleparts/seats.json" ids_created_output = "data/json/vehicleparts/new_ids.txt" ids_to_create_directional_parts_for = [] @@ -28,7 +28,7 @@ def gen_new(path): with open(path, "r") as json_file: json_data = json.load(json_file) for jo in json_data: - if "id" in jo: + if "id" in jo and jo["type"] == "vehicle_part": jo["abstract"] = jo["id"] + "_abstract" ids_to_create_directional_parts_for.append(jo["id"]) jo.pop("id") From cbe138879cffcabcf896079f8c8caf9b2436ee6b Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 12 May 2020 23:10:25 -0400 Subject: [PATCH 14/14] Keep default symbols for default parts --- data/json/vehicleparts/doors.json | 18 ++-- data/json/vehicleparts/rams.json | 4 +- data/json/vehicleparts/seats.json | 72 ++++++++-------- data/json/vehicleparts/utilities.json | 108 ++++++++++++------------ data/json/vehicleparts/windshields.json | 4 +- tools/make_vehicle_parts_directions.py | 26 ++++-- 6 files changed, 123 insertions(+), 109 deletions(-) diff --git a/data/json/vehicleparts/doors.json b/data/json/vehicleparts/doors.json index 8828452c1c308..1374e9564d00b 100644 --- a/data/json/vehicleparts/doors.json +++ b/data/json/vehicleparts/doors.json @@ -217,55 +217,55 @@ { "copy-from": "door_abstract", "id": "door", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { "copy-from": "door_opaque_abstract", "id": "door_opaque", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { "copy-from": "hddoor_abstract", "id": "hddoor", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { "copy-from": "hddoor_opaque_abstract", "id": "hddoor_opaque", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { "copy-from": "door_internal_abstract", "id": "door_internal", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { "copy-from": "hatch_abstract", "id": "hatch", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { "copy-from": "hatch_opaque_abstract", "id": "hatch_opaque", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { "copy-from": "hdhatch_abstract", "id": "hdhatch", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { "copy-from": "hdhatch_opaque_abstract", "id": "hdhatch_opaque", - "symbol": "M", + "symbol": "+", "type": "vehicle_part" }, { diff --git a/data/json/vehicleparts/rams.json b/data/json/vehicleparts/rams.json index f589d584b06be..1c9afcdd400e2 100644 --- a/data/json/vehicleparts/rams.json +++ b/data/json/vehicleparts/rams.json @@ -243,13 +243,13 @@ { "copy-from": "ram_mattress_abstract", "id": "ram_mattress", - "symbol": "M", + "symbol": "=", "type": "vehicle_part" }, { "copy-from": "tearer_abstract", "id": "tearer", - "symbol": "M", + "symbol": "*", "type": "vehicle_part" }, { diff --git a/data/json/vehicleparts/seats.json b/data/json/vehicleparts/seats.json index 4fc3a6a3e74e0..2a0e96baa2cca 100644 --- a/data/json/vehicleparts/seats.json +++ b/data/json/vehicleparts/seats.json @@ -95,121 +95,121 @@ { "copy-from": "seat_abstract", "id": "seat", - "symbol": "M", + "symbol": "#", "type": "vehicle_part" }, { "copy-from": "seat_leather_abstract", "id": "seat_leather", - "symbol": "M", + "symbol": "#", "type": "vehicle_part" }, { "copy-from": "reclining_seat_abstract", "id": "reclining_seat", - "symbol": "M", + "symbol": "#", "type": "vehicle_part" }, { "copy-from": "reclining_seat_leather_abstract", "id": "reclining_seat_leather", - "symbol": "M", + "symbol": "#", "type": "vehicle_part" }, { "copy-from": "seat_abstract", - "id": "seat_left", - "symbol": "d", + "id": "seat_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "seat_leather_abstract", - "id": "seat_leather_left", - "symbol": "d", + "id": "seat_leather_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "reclining_seat_abstract", - "id": "reclining_seat_left", - "symbol": "d", + "id": "reclining_seat_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "reclining_seat_leather_abstract", - "id": "reclining_seat_leather_left", - "symbol": "d", + "id": "reclining_seat_leather_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "seat_abstract", - "id": "seat_right", - "symbol": "b", + "id": "seat_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "seat_leather_abstract", - "id": "seat_leather_right", - "symbol": "b", + "id": "seat_leather_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "reclining_seat_abstract", - "id": "reclining_seat_right", - "symbol": "b", + "id": "reclining_seat_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "reclining_seat_leather_abstract", - "id": "reclining_seat_leather_right", - "symbol": "b", + "id": "reclining_seat_leather_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "seat_abstract", - "id": "seat_up", - "symbol": "n", + "id": "seat_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "seat_leather_abstract", - "id": "seat_leather_up", - "symbol": "n", + "id": "seat_leather_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "reclining_seat_abstract", - "id": "reclining_seat_up", - "symbol": "n", + "id": "reclining_seat_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "reclining_seat_leather_abstract", - "id": "reclining_seat_leather_up", - "symbol": "n", + "id": "reclining_seat_leather_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "seat_abstract", - "id": "seat_down", - "symbol": "u", + "id": "seat_right", + "symbol": "b", "type": "vehicle_part" }, { "copy-from": "seat_leather_abstract", - "id": "seat_leather_down", - "symbol": "u", + "id": "seat_leather_right", + "symbol": "b", "type": "vehicle_part" }, { "copy-from": "reclining_seat_abstract", - "id": "reclining_seat_down", - "symbol": "u", + "id": "reclining_seat_right", + "symbol": "b", "type": "vehicle_part" }, { "copy-from": "reclining_seat_leather_abstract", - "id": "reclining_seat_leather_down", - "symbol": "u", + "id": "reclining_seat_leather_right", + "symbol": "b", "type": "vehicle_part" } ] diff --git a/data/json/vehicleparts/utilities.json b/data/json/vehicleparts/utilities.json index 54669fdb8dd90..9f6c6b38bb90d 100644 --- a/data/json/vehicleparts/utilities.json +++ b/data/json/vehicleparts/utilities.json @@ -182,181 +182,181 @@ { "copy-from": "kitchen_unit_abstract", "id": "kitchen_unit", - "symbol": "M", + "symbol": "&", "type": "vehicle_part" }, { "copy-from": "welding_rig_abstract", "id": "welding_rig", - "symbol": "M", + "symbol": "&", "type": "vehicle_part" }, { "copy-from": "craft_rig_abstract", "id": "craft_rig", - "symbol": "M", + "symbol": "&", "type": "vehicle_part" }, { "copy-from": "chemlab_abstract", "id": "chemlab", - "symbol": "M", + "symbol": "&", "type": "vehicle_part" }, { "copy-from": "veh_forge_abstract", "id": "veh_forge", - "symbol": "M", + "symbol": "&", "type": "vehicle_part" }, { "copy-from": "veh_kiln_abstract", "id": "veh_kiln", - "symbol": "M", + "symbol": "&", "type": "vehicle_part" }, { "copy-from": "kitchen_unit_abstract", - "id": "kitchen_unit_left", - "symbol": "d", + "id": "kitchen_unit_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "welding_rig_abstract", - "id": "welding_rig_left", - "symbol": "d", + "id": "welding_rig_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "craft_rig_abstract", - "id": "craft_rig_left", - "symbol": "d", + "id": "craft_rig_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "chemlab_abstract", - "id": "chemlab_left", - "symbol": "d", + "id": "chemlab_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "veh_forge_abstract", - "id": "veh_forge_left", - "symbol": "d", + "id": "veh_forge_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "veh_kiln_abstract", - "id": "veh_kiln_left", - "symbol": "d", + "id": "veh_kiln_up", + "symbol": "n", "type": "vehicle_part" }, { "copy-from": "kitchen_unit_abstract", - "id": "kitchen_unit_right", - "symbol": "b", + "id": "kitchen_unit_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "welding_rig_abstract", - "id": "welding_rig_right", - "symbol": "b", + "id": "welding_rig_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "craft_rig_abstract", - "id": "craft_rig_right", - "symbol": "b", + "id": "craft_rig_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "chemlab_abstract", - "id": "chemlab_right", - "symbol": "b", + "id": "chemlab_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "veh_forge_abstract", - "id": "veh_forge_right", - "symbol": "b", + "id": "veh_forge_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "veh_kiln_abstract", - "id": "veh_kiln_right", - "symbol": "b", + "id": "veh_kiln_down", + "symbol": "u", "type": "vehicle_part" }, { "copy-from": "kitchen_unit_abstract", - "id": "kitchen_unit_up", - "symbol": "n", + "id": "kitchen_unit_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "welding_rig_abstract", - "id": "welding_rig_up", - "symbol": "n", + "id": "welding_rig_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "craft_rig_abstract", - "id": "craft_rig_up", - "symbol": "n", + "id": "craft_rig_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "chemlab_abstract", - "id": "chemlab_up", - "symbol": "n", + "id": "chemlab_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "veh_forge_abstract", - "id": "veh_forge_up", - "symbol": "n", + "id": "veh_forge_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "veh_kiln_abstract", - "id": "veh_kiln_up", - "symbol": "n", + "id": "veh_kiln_left", + "symbol": "d", "type": "vehicle_part" }, { "copy-from": "kitchen_unit_abstract", - "id": "kitchen_unit_down", - "symbol": "u", + "id": "kitchen_unit_right", + "symbol": "b", "type": "vehicle_part" }, { "copy-from": "welding_rig_abstract", - "id": "welding_rig_down", - "symbol": "u", + "id": "welding_rig_right", + "symbol": "b", "type": "vehicle_part" }, { "copy-from": "craft_rig_abstract", - "id": "craft_rig_down", - "symbol": "u", + "id": "craft_rig_right", + "symbol": "b", "type": "vehicle_part" }, { "copy-from": "chemlab_abstract", - "id": "chemlab_down", - "symbol": "u", + "id": "chemlab_right", + "symbol": "b", "type": "vehicle_part" }, { "copy-from": "veh_forge_abstract", - "id": "veh_forge_down", - "symbol": "u", + "id": "veh_forge_right", + "symbol": "b", "type": "vehicle_part" }, { "copy-from": "veh_kiln_abstract", - "id": "veh_kiln_down", - "symbol": "u", + "id": "veh_kiln_right", + "symbol": "b", "type": "vehicle_part" } ] diff --git a/data/json/vehicleparts/windshields.json b/data/json/vehicleparts/windshields.json index 1205179e70134..638d25fb1bcbd 100644 --- a/data/json/vehicleparts/windshields.json +++ b/data/json/vehicleparts/windshields.json @@ -47,13 +47,13 @@ { "copy-from": "windshield_abstract", "id": "windshield", - "symbol": "M", + "symbol": "\"", "type": "vehicle_part" }, { "copy-from": "reinforced_windshield_abstract", "id": "reinforced_windshield", - "symbol": "M", + "symbol": "\"", "type": "vehicle_part" }, { diff --git a/tools/make_vehicle_parts_directions.py b/tools/make_vehicle_parts_directions.py index 0c57e26613f88..691506ef6856e 100644 --- a/tools/make_vehicle_parts_directions.py +++ b/tools/make_vehicle_parts_directions.py @@ -2,8 +2,8 @@ import os import subprocess -default_path = "data/json/vehicleparts/seats.json" -default_output = "data/json/vehicleparts/seats.json" +default_path = "data/json/vehicleparts/doors.json" +default_output = "data/json/vehicleparts/doors.json" ids_created_output = "data/json/vehicleparts/new_ids.txt" ids_to_create_directional_parts_for = [] @@ -24,21 +24,35 @@ "box" : "#" } +#variants = { +# "default_look" : "M", +# "up" : "n", +# "down" : "u", +# "left" : "d", +# "right" : "b", +#} + def gen_new(path): with open(path, "r") as json_file: json_data = json.load(json_file) for jo in json_data: if "id" in jo and jo["type"] == "vehicle_part": jo["abstract"] = jo["id"] + "_abstract" - ids_to_create_directional_parts_for.append(jo["id"]) + original_symbol = "" + if "symbol" in jo: + original_symbol = jo["symbol"] + + ids_to_create_directional_parts_for.append({"id":jo["id"], "symbol": original_symbol}) jo.pop("id") for key, value in variants.items(): for ram in ids_to_create_directional_parts_for: - new_ram_id = ram + "_" + key - copyfrom = ram + "_abstract" + new_ram_id = ram["id"] + "_" + key + copyfrom = ram["id"] + "_abstract" if(key == "default_look"): - new_ram_id = ram + new_ram_id = ram["id"] + if(ram["symbol"] != ""): + value = ram["symbol"] new_ram_data = { "id": new_ram_id,