Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add paddy field and soil-to-clay constr #4197

Merged
merged 14 commits into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions data/json/construction.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,56 @@
"dark_craftable": true,
"post_special": "done_trunk_plank"
},
{
"type": "construction",
"id": "constr_paddy_field",
"group": "plow_a_paddy_field",
"category": "FARM_WOOD",
"required_skills": [ [ "survival", 1 ] ],
"time": "20 m",
"qualities": [ [ { "id": "DIG", "level": 1 } ] ],
"components": [ [ [ "clay_lump", 8 ] ], [ [ "water", 4 ], [ "water_clean", 4 ] ], [ [ "material_sand", 1 ], [ "material_soil", 2 ] ] ],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 soil is 5 liters, 1 sand is 5 ml. Suggestion here uses the same ratio that "Fill Shallow Water With Dirt" uses, which is still barely any but eh, doesn't have to be exact given that would require 2000 sand:

Suggested change
"components": [ [ [ "clay_lump", 8 ] ], [ [ "water", 4 ], [ "water_clean", 4 ] ], [ [ "material_sand", 1 ], [ "material_soil", 2 ] ] ],
"components": [ [ [ "clay_lump", 8 ] ], [ [ "water", 4 ], [ "water_clean", 4 ] ], [ [ "material_sand", 20 ], [ "material_soil", 2 ] ] ],

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought this construction was about changing the composition of the soil to hold the water that the rice crop needs, but didn't consider volume of sand.

If "Fill Shallow Water With Dirt" requires 10 liters, it would be better to leave out the sand and just fill it with clay and dirt. Of course, to fill 5 liters with clay alone would require 20 clay, so it would need to be mixed with water. Maybe 4 to 6?

Suggested change
"components": [ [ [ "clay_lump", 8 ] ], [ [ "water", 4 ], [ "water_clean", 4 ] ], [ [ "material_sand", 1 ], [ "material_soil", 2 ] ] ],
"components": [ [ [ "clay_lump", 8 ] ], [ [ "water", 12 ], [ "water_clean", 12 ] ], [ [ "material_soil", 1 ] ] ],

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could work then, soil's more reliable to get than sand so.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rice paddies require a hard layer of solid clay to trap water molecules in the pond. Sand is too porous to contain water so you want as much compacted clay as possible. There's a lot of research here but that's the jist of how a paddy field is done.

"pre_terrain": "t_pit_shallow",
"post_terrain": "t_paddy",
"dark_craftable": true
},
{
"type": "construction",
"id": "constr_paddy_field_remove",
"group": "remove_a_paddy_field",
"category": "FARM_WOOD",
"required_skills": [ [ "survival", 0 ] ],
"time": "5 m",
"qualities": [ [ { "id": "DIG", "level": 1 } ] ],
"pre_terrain": "t_paddy",
"post_terrain": "t_dirt",
"dark_craftable": true
},
{
"type": "construction",
"id": "constr_clay_bog",
"group": "gather_clay_from_dirt",
"category": "OTHER",
"required_skills": [ [ "survival", 2 ] ],
"time": "30 s",
"components": [ [ [ "material_soil", 50 ] ], [ [ "water", 32 ], [ "water_clean", 32 ] ] ],
"pre_terrain": "t_pit_shallow",
"post_terrain": "t_clay_bog",
"dark_craftable": true
},
{
"type": "construction",
"id": "constr_clay_stirred",
"group": "gather_clay_from_dirt",
"category": "OTHER",
"required_skills": [ [ "survival", 2 ] ],
"time": "90 m",
"qualities": [ [ { "id": "DIG", "level": 1 } ] ],
"byproducts": [ { "item": "pebble", "charges": [ 2, 16 ] } ],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This I assume should probably be clay lumps instead of pebbles, and equal the amount of clay you get out of constr_extract_clay?

Suggested change
"byproducts": [ { "item": "pebble", "charges": [ 2, 16 ] } ],
"byproducts": [ { "item": "clay_lump", "charges": [ 6, 12 ] } ],

"components": [ [ [ "water", 32 ], [ "water_clean", 32 ] ] ],
"pre_terrain": "t_clay_bog",
"post_terrain": "t_clay"
NappingOcean marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"post_terrain": "t_clay"
"post_terrain": "t_dirt"

},
{
"type": "construction",
"id": "constr_improvised_shelter",
Expand Down
15 changes: 15 additions & 0 deletions data/json/construction_group.json
Original file line number Diff line number Diff line change
Expand Up @@ -819,6 +819,21 @@
"id": "chop_tree_trunk_into_planks",
"name": "Chop Tree Trunk Into Planks"
},
{
"type": "construction_group",
"id": "plow_a_paddy_field",
"name": "Plow A Paddy Field"
},
{
"type": "construction_group",
"id": "remove_a_paddy_field",
"name": "Remove A Paddy Field"
},
{
"type": "construction_group",
"id": "gather_clay_from_dirt",
"name": "Gather Clay From Dirt"
},
{
"type": "construction_group",
"id": "clean_broken_window",
Expand Down
29 changes: 29 additions & 0 deletions data/json/external_tileset/External_Tileset_DP_terrain_normal.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[
{
"type": "mod_tileset",
"compatibility": [ "UNDEAD_PEOPLE_BASE", "UNDEAD_PEOPLE" ],
"tiles-new": [
{
"file": "external_tileset/External_Tileset_DP_terrain_normal.png",
"tiles": [
{
"id": "t_paddy",
"fg": 0,
"rotates": true,
"multitile": true,
"additional_tiles": [
{ "id": "center", "fg": 1 },
{ "id": "corner", "fg": [ 2, 3, 4, 5 ] },
{ "id": "t_connection", "fg": [ 12, 13, 14, 15 ] },
{ "id": "edge", "fg": [ 8, 9 ] },
{ "id": "end_piece", "fg": [ 10, 11, 6, 7 ] },
{ "id": "unconnected", "fg": 16 }
]
}
],
"sprite_width": 32,
"sprite_height": 32
}
]
}
]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions data/json/furniture_and_terrain/terrain-floors-outdoors.json
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,38 @@
},
"examine_action": "dirtmound"
},
{
"type": "terrain",
"id": "t_paddy",
"name": "paddy field",
"description": "A damp, muddy field used to grow crops that require a lot of water. The clay holds moisture, making it perfect for the crops.",
NappingOcean marked this conversation as resolved.
Show resolved Hide resolved
"symbol": "#",
"color": "brown",
"move_cost": 3,
"flags": [ "TRANSPARENT", "DIGGABLE", "VEH_TREAT_AS_BASH_BELOW", "PLANTABLE", "SHALLOW_WATER" ],
"bash": {
"sound": "thump",
"ter_set": "t_pit_shallow",
"str_min": 50,
"str_max": 100,
"str_min_supported": 100,
"items": [ { "item": "clay_lump", "count": [ 2, 6 ] } ]
},
"examine_action": "dirtmound",
"//": "Is this work even not t_dirtmound?"
},
{
"type": "terrain",
"id": "t_clay_bog",
"name": "ooze bog",
"description": "A pit filled with muddy water. Neither used as a water source nor ground. Keep pouring water and stirring it.",
NappingOcean marked this conversation as resolved.
Show resolved Hide resolved
"symbol": "O",
"color": "brown",
"looks_like": "t_mud",
"move_cost": 5,
"flags": [ "TRANSPARENT", "DIGGABLE", "FLAT", "VEH_TREAT_AS_BASH_BELOW" ],
"bash": { "sound": "thump", "ter_set": "t_pit_shallow", "str_min": 50, "str_max": 100, "str_min_supported": 100 }
},
{
"type": "terrain",
"id": "t_fault",
Expand Down
Loading