Skip to content

Commit

Permalink
Audit: Farming Vehicles + Forklift (#72311)
Browse files Browse the repository at this point in the history
* add tractor item group

most tractors have cup holders and glove compartments with tools

* minor changes to vehicles: plow, reaper, seed drill

moved reaper vps to front and plow vps to behind frames; added some items

* forklift vehicle audit; rename forklift vp

"Electric Forklift" is now one tile wide; renamed "Heavy-Duty" diesel forklift remains the same

* farming tools recipe audit

plow/reaper/seed drill are now all nonelectric; more pipes/wheels required

* update farming tool power usage

* standardize location: "structure" for all farming vps

* farming vps don't use frames; vehicle_parts typos

advanced seed drill uses minimal amount of power

* justifying power usage

tying watts to horsepower wherever feasible

* JSON lint check

* test data updated for new vehicles

* JSON lint
  • Loading branch information
ShnitzelX2 authored Mar 23, 2024
1 parent 837b5a8 commit 76fe0e3
Show file tree
Hide file tree
Showing 8 changed files with 115 additions and 95 deletions.
14 changes: 14 additions & 0 deletions data/json/itemgroups/tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -965,6 +965,20 @@
{ "item": "plastichoboreel", "prob": 1 }
]
},
{
"id": "tools_tractor",
"type": "item_group",
"subtype": "distribution",
"//": "Tools that would be found in a tractor.",
"items": [
[ "wrench", 35 ],
[ "wrench_small", 35 ],
[ "hammer", 20 ],
[ "multitool", 20 ],
[ "pliers_locking", 15 ],
[ "wrench_large", 5 ]
]
},
{
"type": "item_group",
"id": "pur_tablets_bottle_plastic_small_15",
Expand Down
12 changes: 2 additions & 10 deletions data/json/recipes/other/parts_rigs.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,7 @@
{ "proficiency": "prof_welding" }
],
"qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 }, { "id": "WRENCH", "level": 2 } ],
"components": [
[ [ "pipe", 2 ] ],
[ [ "sheet_metal", 1 ] ],
[ [ "motor", 2 ] ],
[ [ "wheel", 1 ] ],
[ [ "processor", 1 ] ],
[ [ "nuts_bolts", 16 ] ]
]
"components": [ [ [ "pipe", 3 ] ], [ [ "sheet_metal", 1 ] ], [ [ "wheel", 2 ] ], [ [ "nuts_bolts", 16 ] ] ]
},
{
"type": "recipe",
Expand All @@ -101,7 +94,7 @@
{ "proficiency": "prof_welding" }
],
"qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 }, { "id": "WRENCH", "level": 2 } ],
"components": [ [ [ "pipe", 2 ] ], [ [ "sheet_metal", 1 ] ], [ [ "frame", 1 ] ], [ [ "wheel", 1 ] ], [ [ "nuts_bolts", 16 ] ] ]
"components": [ [ [ "pipe", 4 ] ], [ [ "sheet_metal", 1 ] ], [ [ "frame", 1 ] ], [ [ "wheel", 2 ] ], [ [ "nuts_bolts", 16 ] ] ]
},
{
"type": "recipe",
Expand All @@ -127,7 +120,6 @@
[ [ "steel_plate", 2 ] ],
[ [ "frame", 1 ] ],
[ [ "wheel", 1 ] ],
[ [ "motor", 1 ] ],
[ [ "pipe_fittings", 2 ] ],
[ [ "nuts_bolts", 50 ] ]
]
Expand Down
2 changes: 1 addition & 1 deletion data/json/vehicleparts/engineering.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
{
"id": "forklift_fork",
"type": "vehicle_part",
"name": { "str": "forklift arm" },
"name": { "str": "forklift arms" },
"item": "frame",
"location": "structure",
"categories": [ "utility" ],
Expand Down
18 changes: 11 additions & 7 deletions data/json/vehicleparts/vehicle_parts.json
Original file line number Diff line number Diff line change
Expand Up @@ -2990,8 +2990,9 @@
"durability": 200,
"description": "A plow. Use the vehicle controls to turn it on or off. When turned on, it will create a furrow in any dirt it travels over, making it suitable for planting seeds. It should be placed in front of any seed drills on the vehicle.",
"item": "v_plow_item",
"location": "under",
"power": "-300 W",
"location": "structure",
"power": "-6000 W",
"//2": "~8 hp for a moldboard plow depth of 8 inches",
"//1": "200 cm weld to install and 60 cm weld per damage quadrant to repair",
"transform_terrain": { "pre_flags": [ "PLOWABLE" ], "post_terrain": "t_dirtmound" },
"requirements": {
Expand Down Expand Up @@ -3025,7 +3026,8 @@
"item": "v_planter_item",
"location": "structure",
"size": "12500 ml",
"power": "-700 W",
"power": "-1200 W",
"//2": "~1.5 hp for seed drill depth of 1.5 inches",
"//1": "200 cm weld to install and 60 cm weld per damage quadrant to repair",
"requirements": {
"install": {
Expand Down Expand Up @@ -3058,6 +3060,7 @@
"item": "v_planter_item_advanced",
"location": "structure",
"power": "-700 W",
"epower": "-1 W",
"size": "17500 ml",
"//1": "200 cm weld to install and 60 cm weld per damage quadrant to repair",
"requirements": {
Expand All @@ -3073,7 +3076,7 @@
},
"repair": { "skills": [ [ "mechanics", 5 ] ], "time": "10 m", "using": [ [ "repair_welding_standard", 6 ] ] }
},
"flags": [ "PLANTER", "PROTRUSION", "CARGO", "ADVANCED_PLANTER", "EXTRA_DRAG", "CARGO_PASSABLE" ],
"flags": [ "PLANTER", "PROTRUSION", "CARGO", "ADVANCED_PLANTER", "EXTRA_DRAG", "CARGO_PASSABLE", "ENABLED_DRAINS_EPOWER" ],
"breaks_into": [
{ "item": "cable", "charges": [ 3, 6 ] },
{ "item": "e_scrap", "count": [ 4, 10 ] },
Expand All @@ -3091,7 +3094,8 @@
"broken_color": "light_blue",
"damage_modifier": 120,
"bonus": 7,
"power": "-700 W",
"power": "-1500 W",
"//2": "about 2 hp",
"durability": 200,
"description": "An automatic reaper. Use the vehicle controls to turn it on or off. When on, it will cut down plants that it travels over. It should be placed in front of any plows in the vehicle for efficient operation. It does not include cargo space, so harvested plants will end up on the ground.",
"item": "v_reaper_item",
Expand Down Expand Up @@ -3123,13 +3127,13 @@
"broken_color": "light_blue",
"damage_modifier": 120,
"bonus": 7,
"power": "-1050 W",
"power": "-2000 W",
"durability": 200,
"//": "No need to mention re drag - already provided by EXTRA_DRAG flag.",
"description": "An automatic reaper. Use the vehicle controls to turn it on or off. When on, it will cut down plants and store them in the vehicle's cargo. It should be placed in front of any plows in the vehicle for efficient operation. It has internal cargo space for collecting the harvest.",
"item": "v_reaper_item_advanced",
"//1": "200 cm weld to install and 60 cm weld per damage quadrant to repair",
"location": "under",
"location": "structure",
"size": "87500 ml",
"requirements": {
"install": {
Expand Down
109 changes: 56 additions & 53 deletions data/json/vehicles/farm.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
{ "x": 0, "y": 0, "parts": [ "frame#vertical", "seat", "controls" ] },
{ "x": 1, "y": 0, "parts": [ "frame#vertical", "halfboard#vertical" ] },
{ "x": 2, "y": 0, "parts": [ "frame#horizontal_front", "halfboard#vertical" ] },
{ "x": -1, "y": 0, "parts": [ "frame#horizontal_rear", "plow" ] },
{ "x": -1, "y": 0, "parts": [ "plow" ] },
{ "x": 2, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium_steerable" ] },
{ "x": 2, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium_steerable" ] },
{ "x": -1, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium" ] },
Expand All @@ -39,7 +39,7 @@
[ "O-+-O" ]
],
"parts": [
{ "x": 0, "y": 0, "parts": [ "frame#cross", "reaper_advanced", "roof" ] },
{ "x": 0, "y": 0, "parts": [ "reaper_advanced", "roof" ] },
{ "x": 0, "y": -1, "parts": [ "frame#vertical_left", "board#vertical_left" ] },
{ "x": 0, "y": 1, "parts": [ "frame#vertical_right", "door_opaque#full_right" ] },
{ "x": 1, "y": -1, "parts": [ "frame#vertical_left", "board#vertical_left" ] },
Expand All @@ -53,7 +53,7 @@
{ "x": 2, "y": 1, "parts": [ "wheel_mount_medium_steerable", "wheel_wide_or" ] },
{ "x": -1, "y": -1, "parts": [ "frame#cross", "storage_battery_mount" ] },
{ "x": -1, "y": -1, "parts": [ "storage_battery_removable", "board#sw" ] },
{ "x": -1, "y": 0, "parts": [ "frame#horizontal_2", "plow", "board#horizontal_rear" ] },
{ "x": -1, "y": 0, "parts": [ "plow", "board#horizontal_rear" ] },
{ "x": -1, "y": 1, "parts": [ "frame#cross", "storage_battery_mount" ] },
{ "x": -1, "y": 1, "parts": [ "storage_battery_removable", "board#se" ] },
{ "x": -2, "y": -1, "parts": [ "frame#sw", "engine_electric", "storage_battery_mount" ] },
Expand All @@ -71,70 +71,70 @@
"type": "vehicle",
"name": "Plow Tractor",
"blueprint": [
[ "& " ],
[ "+O O" ],
[ "&+ " ],
[ " O O" ],
[ "&=#==" ],
[ "+O O" ],
[ "& " ]
[ " O O" ],
[ "&+ " ]
],
"parts": [
{ "x": 0, "y": 0, "parts": [ "frame#vertical", "seat", "controls" ] },
{ "x": 1, "y": 0, "parts": [ "frame#horizontal", "halfboard#vertical" ] },
{ "x": 0, "y": 0, "parts": [ "frame#vertical", "seat", "controls", "dashboard" ] },
{
"x": 1,
"y": 0,
"parts": [ "frame", "halfboard#vertical", "battery_car", "diesel_engine_v6", "alternator_truck" ]
},
{ "x": 2, "y": 0, "parts": [ "frame#horizontal_front", "halfboard#vertical" ] },
{ "x": 2, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium_steerable" ] },
{ "x": 2, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium_steerable" ] },
{ "x": -1, "y": 0, "parts": [ "frame#cross", { "part": "tank", "fuel": "diesel" } ] },
{ "x": -1, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium" ] },
{ "x": -1, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium" ] },
{ "x": -2, "y": 0, "parts": [ "frame#cross", "plow" ] },
{ "x": -2, "y": -1, "parts": [ "frame#cross" ] },
{ "x": -2, "y": -2, "parts": [ "frame#cross", "plow" ] },
{ "x": -2, "y": 1, "parts": [ "frame#cross" ] },
{ "x": -2, "y": 2, "parts": [ "frame#cross", "plow" ] },
{ "x": 0, "y": 0, "parts": [ "dashboard" ] },
{ "x": 1, "y": 0, "parts": [ "battery_car", "diesel_engine_v6", "alternator_truck" ] },
{ "x": 2, "y": -1, "parts": [ "wheel_wide_or" ] },
{ "x": 2, "y": 1, "parts": [ "wheel_wide_or" ] },
{ "x": -1, "y": -1, "parts": [ "wheel_wide_or" ] },
{ "x": -1, "y": 0, "parts": [ "halfboard#vertical" ] },
{ "x": -1, "y": 1, "parts": [ "wheel_wide_or" ] }
{ "x": 2, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium_steerable", "wheel_wide_or" ] },
{ "x": 2, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium_steerable", "wheel_wide_or" ] },
{ "x": -1, "y": 0, "parts": [ "frame#cross", { "part": "tank", "fuel": "diesel" }, "halfboard#vertical" ] },
{ "x": -1, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium", "wheel_wide_or" ] },
{ "x": -1, "y": 2, "parts": [ "frame#cross" ] },
{ "x": -1, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium", "wheel_wide_or" ] },
{ "x": -1, "y": -2, "parts": [ "frame#cross" ] },
{ "x": -2, "y": 0, "parts": [ "plow" ] },
{ "x": -2, "y": 2, "parts": [ "plow" ] },
{ "x": -2, "y": -2, "parts": [ "plow" ] }
],
"items": [ ]
"items": [
{ "x": 0, "y": 0, "chance": 60, "item_groups": [ "tools_tractor" ] },
{ "x": 0, "y": 0, "chance": 40, "item_groups": [ "softdrinks_bottled" ] }
]
},
{
"id": "tractor_reaper",
"type": "vehicle",
"name": "Reaper Tractor",
"blueprint": [
[ "& " ],
[ "+O O" ],
[ "&=#==" ],
[ "+O O" ],
[ "& " ]
[ " &" ],
[ "O O+" ],
[ "=#==&" ],
[ "O O+" ],
[ " &" ]
],
"parts": [
{ "x": 0, "y": 0, "parts": [ "frame#vertical", "seat", "controls" ] },
{ "x": 0, "y": 0, "parts": [ "dashboard" ] },
{ "x": 1, "y": 0, "parts": [ "frame#horizontal", "halfboard#vertical" ] },
{ "x": 1, "y": 0, "parts": [ "battery_car", "diesel_engine_v6", "alternator_truck" ] },
{ "x": 0, "y": 0, "parts": [ "frame#vertical", "seat", "controls", "dashboard" ] },
{
"x": 1,
"y": 0,
"parts": [ "frame", "halfboard#vertical", "battery_car", "diesel_engine_v6", "alternator_truck" ]
},
{ "x": -1, "y": 0, "parts": [ "frame#cross", { "part": "tank", "fuel": "diesel" }, "halfboard#vertical" ] },
{ "x": -1, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium", "wheel_wide_or" ] },
{ "x": -1, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium", "wheel_wide_or" ] },
{ "x": 2, "y": 0, "parts": [ "frame#horizontal_front", "halfboard#vertical" ] },
{ "x": 2, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium_steerable" ] },
{ "x": 2, "y": -1, "parts": [ "wheel_wide_or" ] },
{ "x": 2, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium_steerable" ] },
{ "x": 2, "y": 1, "parts": [ "wheel_wide_or" ] },
{ "x": -1, "y": 0, "parts": [ "frame#cross", { "part": "tank", "fuel": "diesel" } ] },
{ "x": -1, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium" ] },
{ "x": -1, "y": -1, "parts": [ "wheel_wide_or" ] },
{ "x": -1, "y": 0, "parts": [ "halfboard#vertical" ] },
{ "x": -1, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium" ] },
{ "x": -1, "y": 1, "parts": [ "wheel_wide_or" ] },
{ "x": -2, "y": -1, "parts": [ "frame#cross" ] },
{ "x": -2, "y": -2, "parts": [ "reaper" ] },
{ "x": -2, "y": 0, "parts": [ "reaper" ] },
{ "x": -2, "y": 1, "parts": [ "frame#cross" ] },
{ "x": -2, "y": 2, "parts": [ "reaper" ] }
{ "x": 2, "y": 1, "parts": [ "frame#vertical_T_right", "wheel_mount_medium_steerable", "wheel_wide_or" ] },
{ "x": 2, "y": 2, "parts": [ "frame#cross" ] },
{ "x": 2, "y": -1, "parts": [ "frame#vertical_T_left", "wheel_mount_medium_steerable", "wheel_wide_or" ] },
{ "x": 2, "y": -2, "parts": [ "frame#cross" ] },
{ "x": 3, "y": 0, "parts": [ "reaper" ] },
{ "x": 3, "y": -2, "parts": [ "reaper" ] },
{ "x": 3, "y": 2, "parts": [ "reaper" ] }
],
"items": [ ]
"items": [
{ "x": 0, "y": 0, "chance": 60, "item_groups": [ "tools_tractor" ] },
{ "x": 0, "y": 0, "chance": 40, "item_groups": [ "softdrinks_bottled" ] }
]
},
{
"id": "tractor_seed",
Expand Down Expand Up @@ -169,7 +169,10 @@
{ "x": -2, "y": 1, "parts": [ "frame#cross" ] },
{ "x": -2, "y": 2, "parts": [ "seed_drill" ] }
],
"items": [ ]
"items": [
{ "x": 0, "y": 0, "chance": 60, "item_groups": [ "tools_tractor" ] },
{ "x": 0, "y": 0, "chance": 40, "item_groups": [ "softdrinks_bottled" ] }
]
},
{
"id": "uncovered_wagon",
Expand Down
47 changes: 27 additions & 20 deletions data/json/vehicles/utility.json
Original file line number Diff line number Diff line change
Expand Up @@ -178,38 +178,45 @@
{
"type": "vehicle",
"id": "forklift",
"name": "Forklift",
"name": "Electric Forklift",
"blueprint": [
[ "o#o-" ],
[ "o|o-" ]
[ "|" ],
[ "^" ],
[ "#" ],
[ "-" ]
],
"parts": [
{ "x": 0, "y": 0, "parts": [ "hdframe#vertical_T_left", "seat", "hdroof", "controls" ] },
{ "x": 0, "y": 0, "parts": [ "dashboard" ] },
{ "x": 0, "y": 1, "parts": [ "hdframe#vertical_T_right", "engine_electric", "hdroof" ] },
{ "x": 0, "y": 1, "parts": [ "hdhalfboard#vertical_right", "storage_battery" ] },
{ "x": 1, "y": 0, "parts": [ "hdframe#nw", "hdhalfboard#nw", "wheel_mount_medium" ] },
{ "x": 1, "y": 0, "parts": [ "wheel", "headlight" ] },
{ "x": 1, "y": 1, "parts": [ "hdframe#ne", "hdhalfboard#ne", "wheel_mount_medium" ] },
{ "x": 1, "y": 1, "parts": [ "wheel", "headlight" ] },
{ "x": 2, "y": 0, "parts": [ "forklift_fork" ] },
{ "x": 2, "y": 1, "parts": [ "forklift_fork" ] },
{ "x": -1, "y": 0, "parts": [ "hdframe#sw", "counterweight#sw", "wheel_mount_light_steerable" ] },
{ "x": -1, "y": 0, "parts": [ "wheel_small" ] },
{ "x": -1, "y": 1, "parts": [ "hdframe#se", "counterweight#se", "wheel_mount_light_steerable" ] },
{ "x": -1, "y": 1, "parts": [ "wheel_small" ] }
{
"x": -1,
"y": 0,
"parts": [ "frame#cover", "counterweight#horizontal_rear", "wheel_mount_light_steerable", "wheel_small", "muffler" ]
},
{ "x": 0, "y": 0, "parts": [ "frame#vertical_T_left", "seat", "roof", "controls", "dashboard" ] },
{
"x": 1,
"y": 0,
"parts": [
"frame#vertical_2",
"halfboard#cover",
"wheel_mount_medium",
"wheel",
"headlight",
"engine_electric",
"storage_battery"
]
},
{ "x": 2, "y": 0, "parts": [ "forklift_fork" ] }
],
"items": [
{ "x": 0, "y": 0, "chance": 5, "items": [ "hat_hard" ] },
{ "x": 0, "y": 0, "chance": 8, "items": [ "vest" ] },
{ "x": 2, "y": 0, "chance": 10, "items": [ "2x4" ] },
{ "x": 2, "y": 1, "chance": 10, "items": [ "2x4" ] }
{ "x": 2, "y": 0, "chance": 10, "items": [ "2x4" ] }
]
},
{
"type": "vehicle",
"id": "forklift_diesel",
"name": "Forklift",
"name": "Heavy-Duty Forklift",
"blueprint": [
[ "o#o-" ],
[ "o|o-" ]
Expand Down
6 changes: 3 additions & 3 deletions data/mods/TEST_DATA/vehicle_drag_test.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@
"quad_bike": [ 0.690795, 1.093925, 698.691964, 6893, 8235 ],
"golf_cart": [ 1.069088, 1.127783, 709.645833, 6813, 7065 ],
"unicycle": [ 0.690795, 0.00209, 21.0375, 1378, 1798 ],
"tractor_plow": [ 0.835275, 0.942558, 1785.235577, 10772, 12464 ],
"tractor_plow": [ 0.835275, 0.866535, 1641.245192, 10783, 12475 ],
"tractor_seed": [ 0.835275, 0.828333, 2039.86875, 10789, 12480 ],
"tractor_reaper": [ 0.835275, 0.828333, 2039.86875, 10789, 12480 ],
"tractor_reaper": [ 0.790125, 0.82846, 2039.86875, 10987, 12710 ],
"oldtractor": [ 0.537285, 0.89602, 1654.898437, 12446, 14407 ],
"autotractor": [ 1.64475, 1.506677, 1590.049554, 7477, 7751 ],
"trencher": [ 0.729173, 1.037314, 1310.940625, 7719, 8006 ],
"forklift": [ 0.440213, 6.504838, 4955.679167, 7626, 7980 ],
"forklift": [ 0.565988, 2.317921, 2100.279167, 8071, 8388 ],
"golf_cart_4seat": [ 1.069088, 1.095145, 689.108333, 6817, 7069 ],
"tandem": [ 0.609525, 0.01059, 19.990625, 1430, 1870 ],
"animalctrl": [ 0.660319, 2.666804, 1078.751786, 11007, 13168 ],
Expand Down
2 changes: 1 addition & 1 deletion data/mods/TEST_DATA/vehicle_efficiency_test.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"apc": { "forward": [ 5832494, 1558000, 1042000, 143000, 96817 ], "reverse": [ 5832494, 376700, 376700, 142900, 92760 ] },
"quad_bike": { "forward": [ 260845, 107400, 107400, 47040, 47040 ], "reverse": [ 260845, 18770, 18770, 14750, 14750 ] },
"golf_cart": { "forward": [ 340630, 44600, 44920, 20990, 12180 ], "reverse": [ 340630, 44670, 15800, 21030, 8274 ] },
"tractor_plow": { "forward": [ 742758, 673600, 673600, 142700, 142700 ], "reverse": [ 742758, 62490, 62490, 47320, 47320 ] }
"tractor_plow": { "forward": [ 682758, 689103, 689103, 149672, 149672 ], "reverse": [ 682758, 65753, 65753, 49009, 49009 ] }
}
}
]

0 comments on commit 76fe0e3

Please sign in to comment.