diff --git a/data/json/itemgroups/Weapons_Mods_Ammo/weapons_misc.json b/data/json/itemgroups/Weapons_Mods_Ammo/weapons_misc.json index 22f6c0a80d33..853caaa4ef93 100644 --- a/data/json/itemgroups/Weapons_Mods_Ammo/weapons_misc.json +++ b/data/json/itemgroups/Weapons_Mods_Ammo/weapons_misc.json @@ -43,6 +43,9 @@ [ "nodachi", 1 ], [ "katana", 2 ], [ "sword_carbon", 2 ], + [ "broadsword_carbon", 2 ], + [ "nodachi_carbon", 2 ], + [ "greatsword_carbon", 2 ], [ "survnote", 1 ] ] }, diff --git a/data/json/itemgroups/collections_domestic.json b/data/json/itemgroups/collections_domestic.json index 144eec0f7e5b..860ac9526ffb 100644 --- a/data/json/itemgroups/collections_domestic.json +++ b/data/json/itemgroups/collections_domestic.json @@ -1058,6 +1058,9 @@ [ "cavalry_sabre_fake", 20 ], [ "katana", 1 ], [ "sword_carbon", 20 ], + [ "broadsword_carbon", 20 ], + [ "nodachi_carbon", 20 ], + [ "greatsword_carbon", 20 ], [ "katana_fake", 20 ], [ "katana_inferior", 2 ], [ "cutlass", 1 ], diff --git a/data/json/itemgroups/tools.json b/data/json/itemgroups/tools.json index b7f8a9e31701..c7f313bc2896 100644 --- a/data/json/itemgroups/tools.json +++ b/data/json/itemgroups/tools.json @@ -427,7 +427,7 @@ [ "hygrometer", 3 ], [ "barometer", 3 ], [ "camera", 3 ], - [ "3d_printer_basic", 3 ], + [ "3d_printer_advanced", 3 ], [ "flask_glass", 10 ], [ "bottle_glass", 10 ], [ "thermos", 5 ], diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index ba34750e745b..5e49d68452a8 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -1799,9 +1799,36 @@ "id": "sword_carbon", "type": "GENERIC", "copy-from": "katana", - "name": { "str": "carbon fiber sword" }, + "name": { "str": "carbon fiber katana" }, "description": "A custom 3D-printed single-bladed sword made out of carbon fiber. It is more lightweight than a normal sword thanks to its method of manufacturing, but it can only be repaired using a 3D printer.", "material": [ "carbon_fiber" ], "proportional": { "weight": 0.6, "price": 2, "price_postapoc": 2 } + }, + { + "id": "broadsword_carbon", + "type": "GENERIC", + "copy-from": "broadsword", + "name": { "str": "carbon fiber sword" }, + "description": "A custom 3D-printed double-bladed sword made out of carbon fiber. It is more lightweight than a normal sword thanks to its method of manufacturing, but it can only be repaired using a 3D printer.", + "material": [ "carbon_fiber" ], + "proportional": { "weight": 0.6, "price": 2, "price_postapoc": 2 } + }, + { + "id": "nodachi_carbon", + "type": "GENERIC", + "copy-from": "nodachi", + "name": { "str": "carbon fiber nodachi" }, + "description": "A custom 3D-printed single-bladed two-handed sword made out of carbon fiber. It is more lightweight than a normal sword thanks to its method of manufacturing, but it can only be repaired using a 3D printer.", + "material": [ "carbon_fiber" ], + "proportional": { "weight": 0.6, "price": 2, "price_postapoc": 2 } + }, + { + "id": "greatsword_carbon", + "type": "GENERIC", + "copy-from": "zweihander", + "name": { "str": "carbon fiber greatsword" }, + "description": "A custom 3D-printed two-handed sword made out of carbon fiber. It is more lightweight than a normal sword thanks to its method of manufacturing, but it can only be repaired using a 3D printer.", + "material": [ "carbon_fiber" ], + "proportional": { "weight": 0.6, "price": 2, "price_postapoc": 2 } } ] diff --git a/data/json/items/vehicle/frames.json b/data/json/items/vehicle/frames.json index 614628485a1e..f2d6b5a4d098 100644 --- a/data/json/items/vehicle/frames.json +++ b/data/json/items/vehicle/frames.json @@ -96,5 +96,29 @@ "price": "10 USD", "price_postapoc": "50 cent", "copy-from": "foldframe" + }, + { + "type": "GENERIC", + "id": "frame_plastic", + "name": { "str": "plastic frame" }, + "description": "A large frame made of plastic. Useful for cheap and lightweight vehicles.", + "weight": "2500 g", + "color": "brown", + "material": [ "plastic" ], + "price": "35 USD", + "price_postapoc": "1 USD", + "copy-from": "foldframe" + }, + { + "type": "GENERIC", + "id": "frame_carbon", + "name": { "str": "carbon fiber frame" }, + "description": "A large frame made of plastic. Useful for lightweight yet sturdy vehicles.", + "weight": "1500 g", + "color": "brown", + "material": [ "carbon_fiber" ], + "price": "35 USD", + "price_postapoc": "1 USD", + "copy-from": "foldframe" } ] diff --git a/data/json/materials.json b/data/json/materials.json index dde25c3e0b10..e15903c39183 100644 --- a/data/json/materials.json +++ b/data/json/materials.json @@ -1865,7 +1865,7 @@ "acid_resist": 5, "fire_resist": 3, "elec_resist": 2, - "chip_resist": 20, + "chip_resist": 14, "repaired_with": "carbon_fiber_filament", "salvaged_into": "carbon_fiber_filament", "dmg_adj": [ "dented", "bent", "smashed", "shattered" ], diff --git a/data/json/recipes/other/vehicles.json b/data/json/recipes/other/vehicles.json index 82d306a97dcd..8742fbde5bcd 100644 --- a/data/json/recipes/other/vehicles.json +++ b/data/json/recipes/other/vehicles.json @@ -1505,5 +1505,42 @@ "book_learn": [ [ "textbook_computer", 1 ], [ "advanced_electronics", 1 ], [ "reference_fabrication1", 1 ] ], "using": [ [ "3d_printing_standard", 10 ] ], "components": [ [ [ "carbon_fiber_filament", 100 ] ] ] + }, + { + "result": "frame_plastic", + "type": "recipe", + "id_suffix": "printed", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_VEHICLE", + "skill_used": "computer", + "difficulty": 1, + "autolearn": true, + "time": "50 m", + "using": [ [ "3d_printing_standard", 50 ] ], + "components": [ [ [ "plastic_chunk", 50 ] ] ] + }, + { + "type": "recipe", + "result": "frame_plastic", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_VEHICLE", + "skill_used": "fabrication", + "difficulty": 3, + "time": "75 m", + "autolearn": true, + "tools": [ [ [ "mold_plastic", -1 ] ], [ [ "surface_heat", 75, "LIST" ] ] ], + "components": [ [ [ "plastic_chunk", 50 ] ] ] + }, + { + "result": "frame_carbon", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_VEHICLE", + "skill_used": "computer", + "difficulty": 2, + "autolearn": true, + "time": "30 m", + "using": [ [ "3d_printing_standard", 30 ] ], + "components": [ [ [ "carbon_fiber_filament", 300 ] ] ] } ] diff --git a/data/json/recipes/weapon/cutting.json b/data/json/recipes/weapon/cutting.json index 14ee8ffdee12..090324adbb94 100644 --- a/data/json/recipes/weapon/cutting.json +++ b/data/json/recipes/weapon/cutting.json @@ -705,6 +705,104 @@ "using": [ [ "3d_printing_standard", 10 ], [ "steel_standard", 1 ], [ "blacksmithing_standard", 4 ] ], "components": [ [ [ "carbon_fiber_filament", 100 ] ] ] }, + { + "result": "sword_carbon", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "id_suffix": "blade", + "skill_used": "computer", + "difficulty": 3, + "skills_required": [ [ "fabrication", 2 ] ], + "time": "10 m", + "book_learn": [ [ "textbook_computer", 3 ], [ "advanced_electronics", 3 ], [ "reference_fabrication1", 3 ] ], + "using": [ [ "3d_printing_standard", 10 ] ], + "components": [ [ [ "carbon_fiber_filament", 100 ] ], [ [ "blade", 1 ] ] ] + }, + { + "result": "broadsword_carbon", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "skill_used": "computer", + "difficulty": 3, + "skills_required": [ [ "fabrication", 2 ] ], + "//": "Increased time since some forging incorporated into material for the edge", + "time": "60 m", + "book_learn": [ [ "textbook_computer", 3 ], [ "advanced_electronics", 3 ], [ "reference_fabrication1", 3 ] ], + "using": [ [ "3d_printing_standard", 10 ], [ "steel_standard", 2 ], [ "blacksmithing_standard", 8 ] ], + "components": [ [ [ "carbon_fiber_filament", 100 ] ] ] + }, + { + "result": "broadsword_carbon", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "id_suffix": "blade", + "skill_used": "computer", + "difficulty": 3, + "skills_required": [ [ "fabrication", 2 ] ], + "time": "10 m", + "book_learn": [ [ "textbook_computer", 3 ], [ "advanced_electronics", 3 ], [ "reference_fabrication1", 3 ] ], + "using": [ [ "3d_printing_standard", 10 ] ], + "components": [ [ [ "carbon_fiber_filament", 100 ] ], [ [ "blade", 1 ] ] ] + }, + { + "result": "greatsword_carbon", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "skill_used": "computer", + "difficulty": 4, + "skills_required": [ [ "fabrication", 2 ] ], + "//": "Increased time since some forging incorporated into material for the edge", + "time": "90 m", + "book_learn": [ [ "textbook_computer", 3 ], [ "advanced_electronics", 3 ], [ "reference_fabrication1", 3 ] ], + "using": [ [ "3d_printing_standard", 20 ], [ "steel_standard", 3 ], [ "blacksmithing_standard", 12 ] ], + "components": [ [ [ "carbon_fiber_filament", 200 ] ] ] + }, + { + "result": "greatsword_carbon", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "id_suffix": "blade", + "skill_used": "computer", + "difficulty": 4, + "skills_required": [ [ "fabrication", 2 ] ], + "time": "20 m", + "book_learn": [ [ "textbook_computer", 3 ], [ "advanced_electronics", 3 ], [ "reference_fabrication1", 3 ] ], + "using": [ [ "3d_printing_standard", 20 ] ], + "components": [ [ [ "carbon_fiber_filament", 200 ] ], [ [ "blade", 1 ] ] ] + }, + { + "result": "nodachi_carbon", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "skill_used": "computer", + "difficulty": 4, + "skills_required": [ [ "fabrication", 2 ] ], + "//": "Increased time since some forging incorporated into material for the edge", + "time": "90 m", + "book_learn": [ [ "textbook_computer", 3 ], [ "advanced_electronics", 3 ], [ "reference_fabrication1", 3 ] ], + "using": [ [ "3d_printing_standard", 20 ], [ "steel_standard", 3 ], [ "blacksmithing_standard", 12 ] ], + "components": [ [ [ "carbon_fiber_filament", 200 ] ] ] + }, + { + "result": "nodachi_carbon", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "id_suffix": "blade", + "skill_used": "computer", + "difficulty": 4, + "skills_required": [ [ "fabrication", 2 ] ], + "time": "20 m", + "book_learn": [ [ "textbook_computer", 3 ], [ "advanced_electronics", 3 ], [ "reference_fabrication1", 3 ] ], + "using": [ [ "3d_printing_standard", 20 ] ], + "components": [ [ [ "carbon_fiber_filament", 200 ] ], [ [ "blade", 1 ] ] ] + }, { "result": "katar_carbon", "type": "recipe", diff --git a/data/json/requirements/materials.json b/data/json/requirements/materials.json index a8c403e16694..19fa4bd948a5 100644 --- a/data/json/requirements/materials.json +++ b/data/json/requirements/materials.json @@ -282,6 +282,12 @@ "//": "Materials used for repairing superalloy parts", "components": [ [ [ "alloy_sheet", 1 ] ] ] }, + { + "id": "vehicle_repair_carbon", + "type": "requirement", + "//": "Materials used for repairing carbon fiber parts", + "components": [ [ [ "carbon_fiber_filament", 1 ] ] ] + }, { "id": "wood_structural", "type": "requirement", diff --git a/data/json/vehicle_groups.json b/data/json/vehicle_groups.json index 9468ece9dfc3..870c015a1c6b 100644 --- a/data/json/vehicle_groups.json +++ b/data/json/vehicle_groups.json @@ -16,7 +16,9 @@ [ "beetle", 500 ], [ "bicycle", 800 ], [ "bicycle_dirt", 200 ], + [ "bicycle_plastic", 100 ], [ "bicycle_electric", 100 ], + [ "bicycle_carbon", 100 ], [ "motorcycle", 200 ], [ "motorcycle_cross", 20 ], [ "motorcycle_enduro", 50 ], diff --git a/data/json/vehicleparts/frames.json b/data/json/vehicleparts/frames.json index 5f5e6203e9a9..a6d9e0003f9d 100644 --- a/data/json/vehicleparts/frames.json +++ b/data/json/vehicleparts/frames.json @@ -135,6 +135,44 @@ "flags": [ "MOUNTABLE" ], "damage_reduction": { "all": 28 } }, + { + "abstract": "frame_plastic", + "type": "vehicle_part", + "name": { "str": "plastic frame" }, + "item": "frame_plastic", + "location": "structure", + "durability": 500, + "description": "A plastic framework. Other vehicle components can be mounted on it, and it can be attached to other frames to increase the vehicle's size.", + "breaks_into": "ig_vp_plastic", + "requirements": { + "install": { "skills": [ [ "mechanics", 1 ] ], "time": "20 m", "using": [ [ "welding_standard", 10 ] ] }, + "removal": { "skills": [ [ "mechanics", 1 ] ], "time": "10 m", "using": "vehicle_weld_removal" }, + "repair": { "skills": [ [ "mechanics", 1 ] ], "time": "5 m", "using": [ [ "soldering_standard", 5 ], [ "plastics", 1 ] ] } + }, + "flags": [ "MOUNTABLE" ], + "damage_reduction": { "all": 28 } + }, + { + "abstract": "frame_carbon", + "type": "vehicle_part", + "name": { "str": "carbon fiber frame" }, + "item": "frame_carbon", + "location": "structure", + "durability": 150, + "description": "A carbon fiber framework. Other vehicle components can be mounted on it, and it can be attached to other frames to increase the vehicle's size.", + "breaks_into": "ig_vp_carbon", + "requirements": { + "install": { "skills": [ [ "mechanics", 1 ] ], "time": "20 m", "using": [ [ "welding_standard", 10 ] ] }, + "removal": { "skills": [ [ "mechanics", 1 ] ], "time": "10 m", "using": "vehicle_weld_removal" }, + "repair": { + "skills": [ [ "mechanics", 1 ] ], + "time": "5 m", + "using": [ [ "welding_standard", 5 ], [ "vehicle_repair_carbon", 10 ] ] + } + }, + "flags": [ "MOUNTABLE" ], + "damage_reduction": { "all": 84 } + }, { "id": "frame_cover", "copy-from": "frame", @@ -165,6 +203,18 @@ "type": "vehicle_part", "symbol": "^" }, + { + "id": "frame_plastic_cover", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "^" + }, + { + "id": "frame_carbon_cover", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "^" + }, { "id": "frame_cross", "copy-from": "frame", @@ -200,6 +250,20 @@ "symbol": "c", "extend": { "flags": [ "INITIAL_PART" ] } }, + { + "id": "frame_plastic_cross", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "c", + "extend": { "flags": [ "INITIAL_PART" ] } + }, + { + "id": "frame_carbon_cross", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "c", + "extend": { "flags": [ "INITIAL_PART" ] } + }, { "id": "frame_horizontal", "copy-from": "frame", @@ -230,6 +294,18 @@ "type": "vehicle_part", "symbol": "h" }, + { + "id": "frame_plastic_horizontal", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "h" + }, + { + "id": "frame_carbon_horizontal", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "h" + }, { "id": "frame_horizontal_2", "copy-from": "frame", @@ -260,6 +336,18 @@ "type": "vehicle_part", "symbol": "=" }, + { + "id": "frame_plastic_horizontal_2", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "=" + }, + { + "id": "frame_carbon_horizontal_2", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "=" + }, { "id": "frame_ne", "copy-from": "frame", @@ -290,6 +378,18 @@ "type": "vehicle_part", "symbol": "u" }, + { + "id": "frame_plastic_ne", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "u" + }, + { + "id": "frame_carbon_ne", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "u" + }, { "id": "frame_nw", "copy-from": "frame", @@ -320,6 +420,18 @@ "type": "vehicle_part", "symbol": "y" }, + { + "id": "frame_plastic_nw", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "y" + }, + { + "id": "frame_carbon_nw", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "y" + }, { "id": "frame_se", "copy-from": "frame", @@ -350,6 +462,18 @@ "type": "vehicle_part", "symbol": "n" }, + { + "id": "frame_plastic_se", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "n" + }, + { + "id": "frame_carbon_se", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "n" + }, { "id": "frame_sw", "copy-from": "frame", @@ -380,6 +504,18 @@ "type": "vehicle_part", "symbol": "b" }, + { + "id": "frame_plastic_sw", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "b" + }, + { + "id": "frame_carbon_sw", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "b" + }, { "id": "frame_vertical", "copy-from": "frame", @@ -410,6 +546,18 @@ "type": "vehicle_part", "symbol": "j" }, + { + "id": "frame_plastic_vertical", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "j" + }, + { + "id": "frame_carbon_vertical", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "j" + }, { "id": "frame_vertical_2", "copy-from": "frame", @@ -439,5 +587,17 @@ "copy-from": "xlframe", "type": "vehicle_part", "symbol": "H" + }, + { + "id": "frame_plastic_vertical_2", + "copy-from": "frame_plastic", + "type": "vehicle_part", + "symbol": "H" + }, + { + "id": "frame_carbon_vertical_2", + "copy-from": "frame_carbon", + "type": "vehicle_part", + "symbol": "H" } ] diff --git a/data/json/vehicleparts/vehicle_parts.json b/data/json/vehicleparts/vehicle_parts.json index 7ff54e366ed8..b03601b8b82d 100644 --- a/data/json/vehicleparts/vehicle_parts.json +++ b/data/json/vehicleparts/vehicle_parts.json @@ -68,6 +68,18 @@ { "item": "scrap", "count": [ 1, 3 ] } ] }, + { + "type": "item_group", + "id": "ig_vp_plastic", + "subtype": "collection", + "entries": [ { "item": "plastic_chunk", "count": [ 4, 6 ] } ] + }, + { + "type": "item_group", + "id": "ig_vp_carbon", + "subtype": "collection", + "entries": [ { "item": "carbon_fiber_filament", "count": [ 20, 40 ] } ] + }, { "type": "vehicle_part", "id": "null", diff --git a/data/json/vehicles/bikes.json b/data/json/vehicles/bikes.json index b34baa0dd83a..45bbd13d7a5d 100644 --- a/data/json/vehicles/bikes.json +++ b/data/json/vehicles/bikes.json @@ -262,5 +262,35 @@ "parts": [ { "x": 0, "y": 0, "parts": [ "frame_handle", "saddle_pedal", "foot_pedals", "wheel_mount_light", "wheel_unicycle" ] } ] + }, + { + "id": "bicycle_plastic", + "type": "vehicle", + "name": "Plastic Bicycle", + "blueprint": [ "o#o" ], + "parts": [ + { "x": 0, "y": 0, "parts": [ "frame_plastic_vertical_2", "saddle_pedal", "horn_bicycle", "foot_pedals" ] }, + { "x": 1, "y": 0, "parts": [ "frame_plastic_vertical", "wheel_mount_light_steerable", "wheel_bicycle" ] }, + { + "x": -1, + "y": 0, + "parts": [ "frame_plastic_vertical", "wheel_mount_light", "wheel_bicycle_rear", "basketsm_bike_rear" ] + } + ] + }, + { + "id": "bicycle_carbon", + "type": "vehicle", + "name": "Carbon Fiber Bicycle", + "blueprint": [ "o#o" ], + "parts": [ + { "x": 0, "y": 0, "parts": [ "frame_carbon_vertical_2", "saddle_pedal", "horn_bicycle", "foot_pedals" ] }, + { "x": 1, "y": 0, "parts": [ "frame_carbon_vertical", "wheel_mount_light_steerable", "wheel_bicycle" ] }, + { + "x": -1, + "y": 0, + "parts": [ "frame_carbon_vertical", "wheel_mount_light", "wheel_bicycle_rear", "basketsm_bike_rear" ] + } + ] } ]