Construction: Difference between revisions

From The Cataclysm: Dark Days Ahead Wiki
Jump to navigation Jump to search
m (→‎Construction.cpp: updated github links)
mNo edit summary
 
(32 intermediate revisions by 11 users not shown)
Line 1: Line 1:
Use {{k|*}} to display the construction screen.
In Cataclysm-DDA, there are many different things you can create. Construction adds or removes parts of the game map, such as walls or pits, and create furniture like beds or chairs. It is one of the three main ways that you can create things in Cataclysm-DDA, the others are [[Crafting|normal item crafting]], and [[Vehicle construction|Vehicle creation]]. Use {{k|*}} to display the construction screen.


Both items in your inventory and all items in 2 square radius are available as construction [[tools]] and [[components]]. If items needed can be found in both your inventory and on the ground, you will be prompted as to which items you want to use in your crafting.
Both items in your inventory and all items in a 6 square radius are available as construction [[tools]] and [[components]]. If items needed can be found in both your inventory and on the ground, you will be prompted as to which items you want to use in your crafting.


A completed construction trains [[character]]'s construction [[skill]] by [construction difficulty] * 10 points (or 10 points for a zero difficulty). Using a crowbar on certain objects will also give you 1 practice point in the construction skill, but only if your skill level is 0.
A completed construction trains the construction relevant [[skill]] by (10 + [construction difficulty] * 10) points (modified by [[focus]]). Various constructions have different skill requirements, related to the type of construction, such as cloth related constructions are now [[Tailoring]], most of them are [[Fabrication]], etc.


Most structures can only be built over [[Terrain types#floor|floor]] terrain types. If you want to build on any other kind of floor you'll need to replace the floor first by Building a Roof, which will add a roof to that tile and replace the floor with the default one. Only then you'll be able to build any kind of structure there.
Removing constructions that keep up a roof, with a low skill, has a chance of causing a cave-in or the roof to come down on you. High skill removes this chance{{verify|<!--where is this described in the code-->}}.


Alternatively, build a locker, cabinet, or any other piece of movable furniture and move it around. The tiles it moves over will turn into floor tiles.
In versions before {{inlineVer|0.D}} there was a construction skill, but this has been removed, and any relevant skills have been changed to either fabrication, or a different relevant skill.
 
== Item Browser ==
 
The [http://cdda-trunk.chezzo.com Item Browser] contains a catalog of [http://cdda-trunk.chezzo.com/construction/categories construction categories], this catalog is built automatically using the game data files so it should be very accurate.
 
Every item includes a list of constructions it can be used in.


== List of constructions ==
== List of constructions ==
Line 25: Line 31:
|rowspan="2" align="center"|0
|rowspan="2" align="center"|0
|rowspan="2"|<!-- &construct::able_dig, &construct::done_nothing --> Creates [[traps#pit|pit trap]] on any diggable tile in two steps
|rowspan="2"|<!-- &construct::able_dig, &construct::done_nothing --> Creates [[traps#pit|pit trap]] on any diggable tile in two steps
|1: shallow pit ||align="center"|10 || [[shovel]] '''OR''' [[stone_shovel|stone shovel]] '''OR''' [[digging_stick|digging stick]] ||
|1: [[shallow_pit|shallow pit]] ||align="center"|10 || [[shovel]] '''OR''' [[stone_shovel|stone shovel]] '''OR''' [[digging_stick|digging stick]] ||
|-
|-
|style="border-top: 1px dashed gray;"|2: pit || style="border-top: 1px dashed gray;" align="center"|10 || style="border-top: 1px dashed gray;"|[[shovel]] '''OR''' [[stone_shovel|stone shovel]] '''OR''' [[digging_stick|digging stick]] ||style="border-top: 1px dashed gray;"|
|style="border-top: 1px dashed gray;"|2: [[pit]] || style="border-top: 1px dashed gray;" align="center"|10 || style="border-top: 1px dashed gray;"|[[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||style="border-top: 1px dashed gray;"|


|-
|-
| scope="row"|'''[[spiked_pit|Spike Pit]]''' || align="center"|0
| scope="row"|'''[[spiked_pit|Spike Pit]]''' || align="center"|0
| <!-- &construct::able_pit, &construct::done_nothing --> Changes pit trap into [[traps#spiked pit|spiked pit trap]]
| <!-- &construct::able_pit, &construct::done_nothing --> Changes pit trap into [[traps#spiked pit|spiked pit trap]]
| spiked pit || align="center"|5 ||   
| [[spiked_pit|spiked pit]] || align="center"|5 ||   
|
|
* 4x [[wood_spear|wood spear]]
* 4x [[wood_spear|wood spear]]
Line 40: Line 46:
| rowspan="2" align="center"|0
| rowspan="2" align="center"|0
| rowspan="2"|<!-- &construct::able_pit, &construct::done_nothing --> Removes [[traps#pit|pit trap]] in two steps
| rowspan="2"|<!-- &construct::able_pit, &construct::done_nothing --> Removes [[traps#pit|pit trap]] in two steps
| 1: shallow pit || align="center"|5 || [[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||
| 1: [[shallow_pit|shallow pit]] || align="center"|5 || [[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||
|-
|-
| style="border-top: 1px dashed gray;"|2: dirt ||style="border-top: 1px dashed gray;" align="center"|5 ||style="border-top: 1px dashed gray;"| [[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||style="border-top: 1px dashed gray;"|
| style="border-top: 1px dashed gray;"|2: [[dirt]] ||style="border-top: 1px dashed gray;" align="center"|5 ||style="border-top: 1px dashed gray;"| [[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||style="border-top: 1px dashed gray;"|


|-
|-
| scope="row"| '''Chop Down [[Tree]]'''
| scope="row"| '''Chop Down [[Tree]]'''
| align="center"|0
| align="center"|0
| <!-- &construct::able_tree, &construct::done_tree --> Creates 1-8 [[log]] tiles in asked direction, but destroying original underneath tiles which is [[noise|noisy]].<!-- 40 points in each tile -->
| <!-- &construct::able_tree, &construct::done_tree --> Creates 1-8 [[Tree_trunk|tree trunk]] tiles in asked direction, but destroying original underneath tiles which is [[noise|noisy]].<!-- 40 points in each tile -->
| dirt || align="center"|10 || [[wood_axe|wood axe]] '''OR''' [[chainsaw| chainsaw (on)]] '''OR''' [[stone_axe|stone axe]]
Note: in {{inlineVer|0.D}} you need to {{k|a}}ctivate an axe to cut trees.
| [[dirt]] || align="center"|10 || [[wood_axe|wood axe]] '''OR''' [[chainsaw| chainsaw (on)]] '''OR''' [[stone_axe|stone axe]]


|-
|-
| scope="row"| '''Chop Up [[log]]'''
| scope="row"| '''Chop Tree trunk into [[log]]s'''
| align="center"|0
| align="center"|0
| <!-- &construct::able_log, &construct::done_log --> Converts [[log]] tile into 10-20 [[two_by_four|two by four]] planks
| <!-- &construct::able_log, &construct::done_log --> Converts tree trunk tiles into [[log]]s
| dirt || align="center"|20 || [[wood_axe|wood axe]] '''OR''' [[chainsaw| chainsaw (on)]] '''OR''' [[stone_axe|stone axe]]
| [[dirt]] || align="center"|20 || [[wood_axe|wood axe]] '''OR''' [[chainsaw| chainsaw (on)]] '''OR''' [[stone_axe|stone axe]]


|-
|-
| scope="row"| '''Move Furniture''' || align="center"|-1
| scope="row"| '''Chop Tree trunk into [[two_by_four|planks]]'''
| <!-- &construct::able_furniture, &construct::done_furniture --> Moves the selected furniture object one tile in the desired direction
| align="center"|0
| null || align="center"|5 || ||
| <!-- &construct::able_log, &construct::done_log --> Converts tree trunk tiles into 10-20 [[two_by_four|two by four]] planks
| [[dirt]] || align="center"|23 || [[wood_axe|wood axe]] '''OR''' [[chainsaw| chainsaw (on)]] '''OR''' [[stone_axe|stone axe]] '''OR''' [[wood_saw|wood saw]]


|-
|-
| scope="row"| '''Clean Broken [[Window]]''' || align="center"|0
| scope="row"| '''Clean [[window_frame|Broken Window]]''' || align="center"|0
| <!-- &construct::able_broken_window, &construct::done_nothing --> Removes sharp fragments of glass from broken window.
| <!-- &construct::able_broken_window, &construct::done_nothing --> Removes sharp fragments of glass from broken window.
| empty window || align="center"|5 ||  ||
| [[empty_window|empty window]] || align="center"|5 ||  ||


|-
|-
| scope="row"| '''Repair [[Door]]''' || align="center"|1
| scope="row"| '''Repair [[Door]]''' || align="center"|1
| <!-- &construct::able_door_broken, &construct::done_nothing --> Repair broken wooden door (not an empty door frame).
| <!-- &construct::able_door_broken, &construct::done_nothing --> Repair broken wooden door (not an empty door frame).
| closed wood door || align="center"|10 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[closed_wood_door|closed wood door]] || align="center"|10 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 3x [[two_by_four|two by four]]  
* 3x [[two_by_four|two by four]]  
* 12x [[nails]]  
* 12x [[nail|nails]]  


|-
|-
| scope="row"| '''Board Up [[Door]]''' || align="center"|0
| scope="row"| '''[[Boarded_up_door|Board Up Door]]''' || align="center"|0
| <!-- &construct::able_door, &construct::done_nothing --> Reinforces closed, opened, broken '''OR''' locked wooden door. Boards can be pried out with [[crowbar]] '''OR''' [[hammer]] (boards and [[nails]] will be fully returned).
| <!-- &construct::able_door, &construct::done_nothing --> Reinforces closed, opened, broken or locked wooden door. Boards can be pried out with [[crowbar]] or [[hammer]] (boards and [[nail|nails]] will be fully returned).
| boarded up door || align="center"|8 || [[hammer]] '''OR''' [[sledge hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[Boarded_up_door|boarded up door]] || align="center"|8 || [[hammer]] '''OR''' [[sledge hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 4x [[two_by_four|two by four]]  
* 4x [[two_by_four|two by four]]  
* 8x [[nails]]  
* 8x [[nail|nails]]  


|-
|-
| scope="row"| '''Board Up [[Window]]''' || align="center"|0
| scope="row"| '''[[Reinforced_Wood_Door|Reinforce Wood Door]]''' || align="center"|5
| <!-- &construct::able_window, &construct::done_nothing --> Reinforces window, empty window '''OR''' window frame. Boards can be pried out with [[crowbar]] '''OR''' [[hammer]] (boards and [[nails]] will be fully returned).
| <!-- &construct::able_door, &construct::done_nothing --> Reinforces closed, opened, or locked wooden door.
| boarded up window || align="center"|5 || [[hammer]] '''OR''' [[sledge hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[Reinforced_Wood_Door|Reinforced Wood Door]] || align="center"|30 || [[hammer]] '''OR'''  [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] '''OR''' [[Integrated Toolset|integrated toolset]]
|
* 12x [[two_by_four|two by four]]
* 48x [[nail|nails]]
 
|-
| scope="row"| '''[[Boarded_up_window|Board Up Window]]''' || align="center"|0
| <!-- &construct::able_window, &construct::done_nothing --> Reinforces window, empty window or window frame. Boards can be pried out with [[crowbar]] or [[hammer]] (boards and [[nail|nails]] will be fully returned).
| [[Boarded_up_window|boarded up window]] || align="center"|5 || [[hammer]] '''OR''' [[sledge hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 4x [[two_by_four|two by four]]  
* 4x [[two_by_four|two by four]]  
* 8x [[nails]]  
* 8x [[nail|nails]]
 
|-
| scope="row"| '''[[Reinforced_Boarded_up_Window|Reinforce Boarded Up Window]]''' || align="center"|5
| <!-- &construct::able_window, &construct::done_nothing --> Reinforces boarded up window.
| [[Reinforced_Boarded_up_window|Reinforced boarded up window]] || align="center"|10 || [[hammer]] '''OR''' [[sledge hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] [[Integrated Toolset|Integrated toolset]] '''OR''' [[nail_gun|nail gun]]
|
* 8x [[two_by_four|two by four]]
* 16x [[nail|nails]]
 
|-
| scope="row"| '''[[Reinforced_Boarded_up_empty_Window|Reinforce Boarded Up empty Window]]''' || align="center"|5
| <!-- &construct::able_window, &construct::done_nothing --> Reinforces boarded up empty window.
| [[Reinforced_Boarded_up_empty_window|Reinforced boarded up empty window]] || align="center"|30 || [[hammer]] '''OR''' [[sledge hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] [[Integrated Toolset|Integrated toolset]]
|
* 8x [[two_by_four|two by four]]
* 16x [[nail|nails]]
 
|-
|rowspan="2" scope="row"| '''Build [[Wall]]'''
|rowspan="2" align="center"| 2
|rowspan="2"| <!-- &construct::able_empty, &construct::done_nothing -->Builds a wall in two steps
|1: [[Half-built_wall|half-built wall]] || align="center"|10 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||
* 10x [[two_by_four|two by four]]
* 20x [[nail|nails]]
|-
| style="border-top: 1px dashed gray;"|2: [[Wooden_wall|wooden wall]] || style="border-top: 1px dashed gray;" align="center"|10 || style="border-top: 1px dashed gray;"|[[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||style="border-top: 1px dashed gray;"|
* 10x [[two_by_four|two by four]]
* 20x [[nail|nails]]
 
 
|-
|rowspan="4" scope="row"| '''Build [[log_wall|Log Wall]]'''
|rowspan="4" align="center"| 2
|rowspan="4"| <!-- &construct::able_empty, &construct::done_nothing -->Builds a log wall in four steps
|1: [[shallow_pit|shallow pit]] || align="center"|10 || [[shovel]] '''OR''' [[stone_shovel|stone shovel]] '''OR''' [[digging_stick|digging stick]]
|-
| style="border-top: 1px dashed gray;"|2: [[pit]] || style="border-top: 1px dashed gray;" align="center"|10 || style="border-top: 1px dashed gray;"| [[shovel]] '''OR''' [[stone_shovel|stone shovel]]
|-
| style="border-top: 1px dashed gray;"|3: [[Half-built_wall_(log)|half-built wall (log)]] || style="border-top: 1px dashed gray;" align="center"|20 || style="border-top: 1px dashed gray;"|[[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||style="border-top: 1px dashed gray;"|
* 2x [[log]]
* 3x [[heavy_stick|heavy stick]] '''OR''' 6x [[two_by_four|two by four]]
|-
| style="border-top: 1px dashed gray;"|4: [[Log_wall|log wall]] || style="border-top: 1px dashed gray;" align="center"|20 || style="border-top: 1px dashed gray;"|[[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||style="border-top: 1px dashed gray;"|
* 2x [[log]]
* 3x [[heavy_stick|heavy stick]] '''OR''' 6x [[two_by_four|two by four]]
 
 
|-
|rowspan="3" scope="row"| '''Build [[palisade_wall|Palisade Wall]]'''
|rowspan="3" align="center"| 2
|rowspan="3"| <!-- &construct::able_empty, &construct::done_nothing -->Builds a palisade wall in three steps
|1: [[shallow_pit|shallow pit]] || align="center"|10 || [[shovel]] '''OR''' [[stone_shovel|stone shovel]] '''OR''' [[digging_stick|digging stick]]
|-
| style="border-top: 1px dashed gray;"|2: [[pit]] || style="border-top: 1px dashed gray;" align="center"|10 || style="border-top: 1px dashed gray;"| [[shovel]] '''OR''' [[stone_shovel|stone shovel]]
|-
| style="border-top: 1px dashed gray;"|3: [[palisade_wall|palisade wall]] || style="border-top: 1px dashed gray;" align="center"|20 || style="border-top: 1px dashed gray;"|[[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||style="border-top: 1px dashed gray;"|
* 2x [[log]]
* 2x [[Short rope]]
 
|-
| scope="row"|'''Build [[Rope_and_pulley|Rope & Pulley]] System''' || align="center"|2
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a rope and pulley system, needed to open palisade gates
| [[Rope_and_pulley|rope and pulley]] || align="center"|0 ||
|
* 1x [[Long rope]]
* 8x [[heavy_stick|heavy stick]] '''OR''' 8x [[two_by_four|two by four]]
 
 
|-
|rowspan="3" scope="row"| '''Build [[palisade_gate|Palisade Gate]]'''
|rowspan="3" align="center"| 2
|rowspan="3"| <!-- &construct::able_empty, &construct::done_nothing -->Builds a palisade gate in three steps. Requires a rope and pulley system in an adjacent tile for this type of gate to work.
|1: [[shallow_pit|shallow pit]] || align="center"|10 || [[shovel]] '''OR''' [[stone_shovel|stone shovel]] '''OR''' [[digging_stick|digging stick]]
|-
| style="border-top: 1px dashed gray;"|2: [[pit]] || style="border-top: 1px dashed gray;" align="center"|10 || style="border-top: 1px dashed gray;"| [[shovel]] '''OR''' [[stone_shovel|stone shovel]]
|-
| style="border-top: 1px dashed gray;"|3: [[palisade_gate|palisade gate]] || style="border-top: 1px dashed gray;" align="center"|20 || style="border-top: 1px dashed gray;"|[[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||style="border-top: 1px dashed gray;"|
* 2x [[log]]
* 3x [[two_by_four|two by four]]
* 2x [[Short rope]]




Line 95: Line 191:
|rowspan="3" align="center"| 2
|rowspan="3" align="center"| 2
|rowspan="3"| <!-- &construct::able_empty, &construct::done_nothing -->Builds a window in three steps
|rowspan="3"| <!-- &construct::able_empty, &construct::done_nothing -->Builds a window in three steps
|1: empty window frame || align="center"|10 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||  
|1: [[window_frame|empty window frame]] || align="center"|10 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||  
* 15x [[two_by_four|two by four]] '''OR''' 2x [[log]]
* 15x [[two_by_four|two by four]] '''OR''' 2x [[log]]
* 30x [[nails]]  
* 30x [[nail|nails]]  
|-
|-
| style="border-top: 1px dashed gray;"|2: window || style="border-top: 1px dashed gray;" align="center"|5 || style="border-top: 1px dashed gray;"|[[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||style="border-top: 1px dashed gray;"|
| style="border-top: 1px dashed gray;"|2: [[window]] || style="border-top: 1px dashed gray;" align="center"|5 || style="border-top: 1px dashed gray;"|[[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||style="border-top: 1px dashed gray;"|
* 1x [[sheet_of_glass|sheet of glass]]
* 1x [[sheet_of_glass|sheet of glass]]
|-
|-
| style="border-top: 1px dashed gray;"|3: closed window || style="border-top: 1px dashed gray;" align="center"|5 || style="border-top: 1px dashed gray;"|[[wood_saw|wood saw]] ||style="border-top: 1px dashed gray;"|
| style="border-top: 1px dashed gray;"|3: [[Window_(domestic)|closed window]] || style="border-top: 1px dashed gray;" align="center"|5 || style="border-top: 1px dashed gray;"|[[wood_saw|wood saw]] ||style="border-top: 1px dashed gray;"|
* 4x [[nails]]
* 4x [[nail|nails]]
* 2x [[sheet]]
* 2x [[sheet]]
* 1x [[heavy_stick|heavy stick]]
* 1x [[heavy_stick|heavy stick]]
Line 112: Line 208:
|rowspan="2" align="center"| 2
|rowspan="2" align="center"| 2
|rowspan="2"| <!-- &construct::able_empty, &construct::done_nothing -->Builds a door in two steps
|rowspan="2"| <!-- &construct::able_empty, &construct::done_nothing -->Builds a door in two steps
|1: empty door frame || align="center"|15 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||  
|1: [[empty_door_frame|empty door frame]] || align="center"|15 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||  
* 12x [[two_by_four|two by four]]  
* 12x [[two_by_four|two by four]]  
* 24x [[nails]]  
* 24x [[nail|nails]]  
|-
|-
| style="border-top: 1px dashed gray;"|2: closed wood door || style="border-top: 1px dashed gray;" align="center"|15 || style="border-top: 1px dashed gray;"|[[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||style="border-top: 1px dashed gray;"|
| style="border-top: 1px dashed gray;"|2: [[closed_wood_door|closed wood door]] || style="border-top: 1px dashed gray;" align="center"|15 || style="border-top: 1px dashed gray;"|[[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] ||style="border-top: 1px dashed gray;"|
* 4x [[two_by_four|two by four]]  
* 4x [[two_by_four|two by four]]  
* 12x [[nails]]  
* 12x [[nail|nails]]  


|-
|-
Line 124: Line 220:
|rowspan="2" align="center"| 3
|rowspan="2" align="center"| 3
|rowspan="2"| <!-- &construct::able_dig, &construct::done_nothing -->Builds a wire fence in two steps
|rowspan="2"| <!-- &construct::able_dig, &construct::done_nothing -->Builds a wire fence in two steps
| 1: wire fence posts || align="center"|20 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[rock]] ||  
| 1: [[fence_post|fence posts]] || align="center"|20 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[rock]] ||  
* 6x [[pipe]]
* 6x [[pipe]]
* 8x [[scrap_metal|scrap metal]]
* 8x [[scrap_metal|scrap metal]]
|-
|-
| style="border-top: 1px dashed gray;"|2: wire fence || style="border-top: 1px dashed gray;" align="center"|20 ||style="border-top: 1px dashed gray;"|  ||style="border-top: 1px dashed gray;"|  
| style="border-top: 1px dashed gray;"|2: [[wire_fence|wire fence]] || style="border-top: 1px dashed gray;" align="center"|20 ||style="border-top: 1px dashed gray;"|  ||style="border-top: 1px dashed gray;"|  
* 15x [[wire]]
* 15x [[wire]]


Line 142: Line 238:
| scope="row"|'''Build [[wire_gate|Wire Gate]]''' || align="center"|3
| scope="row"|'''Build [[wire_gate|Wire Gate]]''' || align="center"|3
| <!-- &construct::able_between_walls, &construct::done_nothing -->Creates a wire gate
| <!-- &construct::able_between_walls, &construct::done_nothing -->Creates a wire gate
| wire fence gate || align="center"|15 ||  
| [[wire_gate|wire fence gate]] || align="center"|15 ||  
|
|
* 20x [[wire]]
* 20x [[wire]]
Line 150: Line 246:
|-
|-
| scope="row"|'''Build [[floor|Roof]]''' || align="center"|4
| scope="row"|'''Build [[floor|Roof]]''' || align="center"|4
| <!-- &construct::able_between_walls, &construct::done_nothing -->Creates a floor and a roof, prevents damage from acid rain.
| <!-- &construct::able_between_walls, &construct::done_nothing -->Creates a floor and a roof, prevents pain from acid rain.
| floor || align="center"|40 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[floor]] || align="center"|40 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 8x [[two_by_four|two by four]]  
* 8x [[two_by_four|two by four]]  
* 40x [[nails]]  
* 40x [[nail|nails]]
 
|-
|scope="row"| '''Build Log & Sod Roof'''
|align="center"| 3
|<!-- &construct::able_between_walls, &construct::done_nothing -->Alternative way to create a floor and roof tile by using other materials and tools.
| [[floor]] || align="center"|80 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[shovel]] '''OR''' [[stone_shovel|stone shovel]] ||
* 2x [[log]]
* 4x [[heavy_stick|heavy stick]] '''OR''' 8x [[two_by_four|two by four]]


|-
|-
| scope="row"|'''Build [[bulletin_board|Bulletin Board]]''' || align="center"|0
| scope="row"|'''Build [[bulletin_board|Bulletin Board]]''' || align="center"|0
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a bulletin board to designate a player's base. This allows players to order allied [[NPC]]s to move to that position and defend it.
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a bulletin board to designate a player's base. This allows players to order allied [[NPC]]s to move to that position and defend it.
| bulletin board || align="center"|10 || [[wood_saw|wood saw]] '''OR''' [[hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[bulletin_board|bulletin board]] || align="center"|10 || [[wood_saw|wood saw]] '''OR''' [[hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 4x [[two_by_four|two by four]]  
* 4x [[two_by_four|two by four]]  
* 8x [[nails]]  
* 8x [[nail|nails]]  


|-
|-
| scope="row"|'''Build [[Dresser]]''' || align="center"|1
| scope="row"|'''Build [[Dresser]]''' || align="center"|1
| <!-- &construct::able_indoors, &construct::done_nothing -->Creates a dresser
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a dresser
| dresser || align="center"|20 || [[wood_saw|wood saw]] '''OR''' [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[dresser]] || align="center"|20 || [[wood_saw|wood saw]] '''OR''' [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 8x [[nails]]  
* 8x [[nail|nails]]  
* 6x [[two_by_four|two by four]]  
* 6x [[two_by_four|two by four]]  


|-
|-
| scope="row"|'''Build [[Book_case|Bookcase]]''' || align="center"|1
| scope="row"|'''Build [[Book_case|Book case]]''' || align="center"|1
| <!-- &construct::able_indoors, &construct::done_nothing -->Creates a bookcase
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a bookcase
| bookcase || align="center"|20 || [[wood_saw|wood saw]] '''OR''' [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[book_case|book case]] || align="center"|20 || [[wood_saw|wood saw]] '''OR''' [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 16x [[nails]]  
* 16x [[nail|nails]]  
* 12x [[two_by_four|two by four]]  
* 12x [[two_by_four|two by four]]  
|-
| scope="row"|'''Build [[Locker]]''' || align="center"|1
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a locker
| [[locker]] || align="center"|20
|
* [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]]
* [[wrench]]
|
* 2x [[Sheet_metal|sheet metal]]
* 8x [[pipe]]
|-
| scope="row"|'''Build [[Display_rack|Metal Rack]]''' || align="center"|1
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a display rack
| [[Display_rack|display rack]] || align="center"|20
|
* [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]]
* [[wrench]]
|
* 12x [[pipe]]


|-
|-
| scope="row"|'''Build [[Counter]]''' || align="center"|0
| scope="row"|'''Build [[Counter]]''' || align="center"|0
| <!-- &construct::able_indoors, &construct::done_nothing -->Creates a counter
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a counter
| counter || align="center"|20 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[counter]] || align="center"|20 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 8x [[nails]]  
* 8x [[nail|nails]]  
* 6x [[two_by_four|two by four]]  
* 6x [[two_by_four|two by four]]  


|-
|-
| scope="row"|'''Build [[makeshift_bed|Makeshift Bed]]''' || align="center"|1
| scope="row"|'''Build [[makeshift_bed|Makeshift Bed]]''' || align="center"|1
| <!-- &construct::able_indoors, &construct::done_nothing -->Creates a makeshift bed
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a makeshift bed
| makeshift bed || align="center"|20 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
| [[makeshift_bed|makeshift bed]] || align="center"|20 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
|
|
* 8x [[nails]]  
* 8x [[nail|nails]]  
* 10x [[two_by_four|two by four]]  
* 10x [[two_by_four|two by four]]  
* 1x [[sheet]]
* 1x [[sheet]]
|-
| scope="row"|'''Build [[arm chair|Arm chair]]''' || align="center"|2
| Build arm chair
| [[sofa]] || align="center"|20 ||
* [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] '''OR''' [[Integrated Toolset|integrated toolset]]
* [[wood saw]]
|
* 8x [[nail|nails]]
* 10x [[two_by_four|two by four]]
* 1x [[blanket]]
|-
| scope="row"|'''Build [[sofa|Sofa]]''' || align="center"|3
| Build sofa
| [[sofa]] || align="center"|20 ||
* [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]] '''OR''' [[Integrated Toolset|integrated toolset]]
* [[wood saw]]
|
* 8x [[nail|nails]]
* 10x [[two_by_four|two by four]]
* 1x [[blanket]]
|-
| scope="row"|'''Mark Firewood Source''' || align="center"|0
| Marks a tile as a firewood source. During crafting or reading near a fire, flammable material will be pulled from the firewood source if the amount of fuel in the fire is too low. No fuel is added if time passes without crafting or reading.
| Tile marked as firewood source || align="center"|0 || ||
None


|-
|-
| scope="row"|'''Tape up [[window]]''' || align="center"|0
| scope="row"|'''Tape up [[window]]''' || align="center"|0
| <!-- &construct::able_window, &construct::done_tape -->Covers a window with [[duct_tape|duct tape]], so it obscures line of sight and reduces the leaking of human odor outside
| <!-- &construct::able_window, &construct::done_tape -->Covers a window with [[duct_tape|duct tape]], so it obscures line of sight and reduces the leaking of human odor outside. '''You must {{k|o}}pen the drapes first for this to work'''.
| <!-- t_null --> || align="center"|2 || ||
| [[Taped_window|taped window]] || align="center"|2 || ||
* 50x [[duct_tape|duct tape]]
* 50x [[duct_tape|duct tape]]


Line 210: Line 364:
|
|
* [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
* [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[hatchet]] '''OR''' [[nail_gun|nail gun]]
* [[screwdriver]] '''OR''' [[integrated_toolset|integrated toolset]]  
* [[screwdriver]] '''OR''' [[Integrated Toolset|integrated toolset]]  
|
|


Line 217: Line 371:
| align="center"|0
| align="center"|0
| <!-- &construct::able_empty, &construct::done_vehicle -->Starts the construction of a vehicle from scratch
| <!-- &construct::able_empty, &construct::done_vehicle -->Starts the construction of a vehicle from scratch
| <!-- t_null --> || align="center"|10 ||  ||
| [[Vehicle#frame|frame]] || align="center"|10 ||  ||
* 1x [[steel_frame|steel frame]]
* 1x [[steel_frame|steel frame]]


Line 223: Line 377:
| scope="row"|'''[[fence_post|Fence Posts]]''' || align="center"|0
| scope="row"|'''[[fence_post|Fence Posts]]''' || align="center"|0
| <!-- &construct::able_dig, &construct::done_nothing -->Creates a fence post
| <!-- &construct::able_dig, &construct::done_nothing -->Creates a fence post
| fence post || align="center"|5 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[shovel]] '''OR''' [[stone_shovel|stone shovel]] '''OR''' [[rock]] '''OR''' [[hatchet]] '''OR''' [[wood_axe|wood axe]] '''OR''' [[stone_axe|stone axe]]
| [[fence_post|fence post]] || align="center"|5 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[shovel]] '''OR''' [[stone_shovel|stone shovel]] '''OR''' [[rock]] '''OR''' [[hatchet]] '''OR''' [[wood_axe|wood axe]] '''OR''' [[stone_axe|stone axe]]
|
|
* 2x [[wood_spear|wood spear]]  
* 2x [[wood_spear|wood spear]]  
Line 230: Line 384:
| scope="row"|'''Build [[wood_stove|Wood Stove]]''' || align="center"|0
| scope="row"|'''Build [[wood_stove|Wood Stove]]''' || align="center"|0
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a wood stove
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a wood stove
| wood stove || align="center"|10 || [[hack_saw|hack saw]]
| [[wood_stove|wood stove]] || align="center"|10 || [[hacksaw|hacksaw]]
|
|
* 1x [[metal_tank|metal tank]]
* 1x [[metal_tank|metal tank]]
Line 238: Line 392:
| scope="row"|'''Build Stone [[Fireplace]]''' || align="center"|0
| scope="row"|'''Build Stone [[Fireplace]]''' || align="center"|0
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a fireplace
| <!-- &construct::able_empty, &construct::done_nothing -->Creates a fireplace
| fireplace || align="center"|40 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[shovel]] '''OR''' [[stone_shovel|stone shovel]]
| [[fireplace]] || align="center"|40 || [[hammer]] '''OR''' [[stone_hammer|stone hammer]] '''OR''' [[shovel]] '''OR''' [[stone_shovel|stone shovel]]
|
|
* 40x [[rock]]
* 40x [[rock]]


|}
|}
== [https://github.com/CleverRaven/Cataclysm-DDA/master/construction.cpp Construction.cpp] ==
The syntax is quite simple:
CONSTRUCT("Build Wall", 2, &construct::able_empty, &construct::done_nothing);
  STAGE(t_wall_half, 10);
  TOOL(itm_hammer, itm_hatchet, itm_nailgun, NULL);
  COMP(itm_2x4, 10, NULL);
  COMP(itm_nail, 20, NULL);
  STAGE(t_wall_wood, 10);
  TOOL(itm_hammer, itm_hatchet, itm_nailgun, NULL);
  COMP(itm_2x4, 10, NULL);
  COMP(itm_nail, 20, NULL);
In CONSTRUCT you define name as it appears in the menu (30 characters or less), difficulty (what level of construction [[skill]] that requires), condition- and post-construction-functions (see [https://github.com/CleverRaven/Cataclysm-DDA/master/construction.h construction.h] for options, and later in construction.cpp for definitions).
In you define what map tile will be placed there (see [https://github.com/CleverRaven/Cataclysm-DDA/master/mapdata.h mapdata.h]) and time that it takes to finish this (in ''minutes'', 10 turns = 1 minute)
In TOOL you define what tools are needed and if it should be used up. Tools will always be kept, because tools with charges are not set in constructions yet.
Multiply items in one TOOL can substitute each other, if you want a recipe to need two tools at a time you need a second TOOL line. <!--Same goes for the components?-->
In COMP you define which and how much components the recipe uses, if you want a recipe to need two different components at a time you need a second COMP line.
TOOL and COMP both have to end in ,NULL);


[[Category:Creation]]
[[Category:Creation]]

Latest revision as of 21:08, 22 November 2022

In Cataclysm-DDA, there are many different things you can create. Construction adds or removes parts of the game map, such as walls or pits, and create furniture like beds or chairs. It is one of the three main ways that you can create things in Cataclysm-DDA, the others are normal item crafting, and Vehicle creation. Use * to display the construction screen.

Both items in your inventory and all items in a 6 square radius are available as construction tools and components. If items needed can be found in both your inventory and on the ground, you will be prompted as to which items you want to use in your crafting.

A completed construction trains the construction relevant skill by (10 + [construction difficulty] * 10) points (modified by focus). Various constructions have different skill requirements, related to the type of construction, such as cloth related constructions are now Tailoring, most of them are Fabrication, etc.

Removing constructions that keep up a roof, with a low skill, has a chance of causing a cave-in or the roof to come down on you. High skill removes this chanceVerify.

In versions before 0.D (Danny) there was a construction skill, but this has been removed, and any relevant skills have been changed to either fabrication, or a different relevant skill.

Item Browser

The Item Browser contains a catalog of construction categories, this catalog is built automatically using the game data files so it should be very accurate.

Every item includes a list of constructions it can be used in.

List of constructions

Action D
Description Creates tile T
Tools Materials
Dig Pit 0 Creates pit trap on any diggable tile in two steps 1: shallow pit 10 shovel OR stone shovel OR digging stick
2: pit 10 shovel OR stone shovel
Spike Pit 0 Changes pit trap into spiked pit trap spiked pit 5
Fill Pit 0 Removes pit trap in two steps 1: shallow pit 5 shovel OR stone shovel
2: dirt 5 shovel OR stone shovel
Chop Down Tree 0 Creates 1-8 tree trunk tiles in asked direction, but destroying original underneath tiles which is noisy.

Note: in 0.D (Danny) you need to activate an axe to cut trees.

dirt 10 wood axe OR chainsaw (on) OR stone axe
Chop Tree trunk into logs 0 Converts tree trunk tiles into logs dirt 20 wood axe OR chainsaw (on) OR stone axe
Chop Tree trunk into planks 0 Converts tree trunk tiles into 10-20 two by four planks dirt 23 wood axe OR chainsaw (on) OR stone axe OR wood saw
Clean Broken Window 0 Removes sharp fragments of glass from broken window. empty window 5
Repair Door 1 Repair broken wooden door (not an empty door frame). closed wood door 10 hammer OR stone hammer OR hatchet OR nail gun
Board Up Door 0 Reinforces closed, opened, broken or locked wooden door. Boards can be pried out with crowbar or hammer (boards and nails will be fully returned). boarded up door 8 hammer OR sledge hammer OR stone hammer OR hatchet OR nail gun
Reinforce Wood Door 5 Reinforces closed, opened, or locked wooden door. Reinforced Wood Door 30 hammer OR stone hammer OR hatchet OR nail gun OR integrated toolset
Board Up Window 0 Reinforces window, empty window or window frame. Boards can be pried out with crowbar or hammer (boards and nails will be fully returned). boarded up window 5 hammer OR sledge hammer OR stone hammer OR hatchet OR nail gun
Reinforce Boarded Up Window 5 Reinforces boarded up window. Reinforced boarded up window 10 hammer OR sledge hammer OR stone hammer OR hatchet Integrated toolset OR nail gun
Reinforce Boarded Up empty Window 5 Reinforces boarded up empty window. Reinforced boarded up empty window 30 hammer OR sledge hammer OR stone hammer OR hatchet Integrated toolset
Build Wall 2 Builds a wall in two steps 1: half-built wall 10 hammer OR stone hammer OR hatchet OR nail gun
2: wooden wall 10 hammer OR stone hammer OR hatchet OR nail gun


Build Log Wall 2 Builds a log wall in four steps 1: shallow pit 10 shovel OR stone shovel OR digging stick
2: pit 10 shovel OR stone shovel
3: half-built wall (log) 20 shovel OR stone shovel
4: log wall 20 shovel OR stone shovel


Build Palisade Wall 2 Builds a palisade wall in three steps 1: shallow pit 10 shovel OR stone shovel OR digging stick
2: pit 10 shovel OR stone shovel
3: palisade wall 20 shovel OR stone shovel
Build Rope & Pulley System 2 Creates a rope and pulley system, needed to open palisade gates rope and pulley 0


Build Palisade Gate 2 Builds a palisade gate in three steps. Requires a rope and pulley system in an adjacent tile for this type of gate to work. 1: shallow pit 10 shovel OR stone shovel OR digging stick
2: pit 10 shovel OR stone shovel
3: palisade gate 20 shovel OR stone shovel


Build Window 2 Builds a window in three steps 1: empty window frame 10 hammer OR stone hammer OR hatchet OR nail gun
2: window 5 hammer OR stone hammer OR hatchet OR nail gun
3: closed window 5 wood saw


Build Door 2 Builds a door in two steps 1: empty door frame 15 hammer OR stone hammer OR hatchet OR nail gun
2: closed wood door 15 hammer OR stone hammer OR hatchet OR nail gun
Build Wire Fence 3 Builds a wire fence in two steps 1: fence posts 20 hammer OR stone hammer OR hatchet OR rock
2: wire fence 20
Realign Fence 0 Realigns a wire fence either vertically or horizontally 1: align horizontally 0
2: align vertically 0
Build Wire Gate 3 Creates a wire gate wire fence gate 15
Build Roof 4 Creates a floor and a roof, prevents pain from acid rain. floor 40 hammer OR stone hammer OR hatchet OR nail gun
Build Log & Sod Roof 3 Alternative way to create a floor and roof tile by using other materials and tools. floor 80 hammer OR stone hammer OR hatchet OR shovel OR stone shovel
Build Bulletin Board 0 Creates a bulletin board to designate a player's base. This allows players to order allied NPCs to move to that position and defend it. bulletin board 10 wood saw OR hammer OR hatchet OR nail gun
Build Dresser 1 Creates a dresser dresser 20 wood saw OR hammer OR stone hammer OR hatchet OR nail gun
Build Book case 1 Creates a bookcase book case 20 wood saw OR hammer OR stone hammer OR hatchet OR nail gun
Build Locker 1 Creates a locker locker 20
Build Metal Rack 1 Creates a display rack display rack 20
Build Counter 0 Creates a counter counter 20 hammer OR stone hammer OR hatchet OR nail gun
Build Makeshift Bed 1 Creates a makeshift bed makeshift bed 20 hammer OR stone hammer OR hatchet OR nail gun
Build Arm chair 2 Build arm chair sofa 20


Build Sofa 3 Build sofa sofa 20
Mark Firewood Source 0 Marks a tile as a firewood source. During crafting or reading near a fire, flammable material will be pulled from the firewood source if the amount of fuel in the fire is too low. No fuel is added if time passes without crafting or reading. Tile marked as firewood source 0

None

Tape up window 0 Covers a window with duct tape, so it obscures line of sight and reduces the leaking of human odor outside. You must open the drapes first for this to work. taped window 2
Deconstruct Furniture 0 Disassembles a furniture object to it's construction components 20
Start vehicle construction 0 Starts the construction of a vehicle from scratch frame 10
Fence Posts 0 Creates a fence post fence post 5 hammer OR stone hammer OR shovel OR stone shovel OR rock OR hatchet OR wood axe OR stone axe
Build Wood Stove 0 Creates a wood stove wood stove 10 hacksaw
Build Stone Fireplace 0 Creates a fireplace fireplace 40 hammer OR stone hammer OR shovel OR stone shovel