Conversation
* Update regrass.cpp * Update regrass.lua * Update regrass.rst * Rename plants.cpp to plant.cpp * Rename plants.rst to plant.rst * Update plugins/CMakeLists.txt * Update plant.cpp * Create plant.lua * Update plant.rst
|
don't mind the compilation failures. they'll clear up once #4631 is merged |
myk002
left a comment
There was a problem hiding this comment.
needs a section in Removed.rst so that old links still work
|
ok, now the build errors are real |
this PR depends on #4591 for the use of |
* Add option to force plant create on no_grow; allow more valid tiles * Update plant.cpp: remove extra includes, use if/else for plant vectors * Update regrass.cpp: don't remove mud * Update changelog.txt * Update Removed.rst * Update regrass.rst * Update plant.rst
|
Should |
yes, that sounds reasonable |
* Add "plant list" and "regrass --list" to replace clunky commands * Update Tags.rst: Add grass to "plants" tag description
myk002
left a comment
There was a problem hiding this comment.
comparing with other tools, the parameter is usually named dry-run instead of dryrun. Could you add a dash?
* Update regrass.rst * Update plant.rst * Update plant.lua * Update plant.cpp * Update changelog.txt
U.S. English built different. |
I'm going by https://www.thepunctuationguide.com/parentheses.html (but of course only because that's the way I already write..) |
Not according to my legal writing instructor (at a US-based law school). |
|
i am working on an PR that adds identity support for |
|
I'll merge in the following diff to adjust to structure changes: diff --git a/plugins/plants.cpp b/plugins/plants.cpp
index 2325c01e3..8de7ccc6f 100644
--- a/plugins/plants.cpp
+++ b/plugins/plants.cpp
@@ -69,7 +69,8 @@ command_result df_grow (color_ostream &out, vector <string> & parameters)
{
df::plant *p = world->plants.all[i];
df::tiletype ttype = map.tiletypeAt(df::coord(p->pos.x,p->pos.y,p->pos.z));
- if(!p->flags.bits.is_shrub && tileShape(ttype) == tiletype_shape::SAPLING && tileSpecial(ttype) != tiletype_special::DEAD)
+ bool is_shrub = plant->type == df::plant_type::DRY_PLANT || plant->type == df::plant_type::WET_PLANT;
+ if(!is_shrub && tileShape(ttype) == tiletype_shape::SAPLING && tileSpecial(ttype) != tiletype_special::DEAD)
{
p->grow_counter = sapling_to_tree_threshold;
grown++;
@@ -148,12 +149,12 @@ command_result df_createplant (color_ostream &out, vector <string> & parameters)
else
{
plant->hitpoints = 100000;
- plant->flags.bits.is_shrub = 1;
+ plant->type = df::plant_type::DRY_PLANT;
}
- // for now, always set "watery" for WET-permitted plants, even if they're spawned away from water
+ // for now, assume wet for WET-permitted plants, even if they're spawned away from water
// the proper method would be to actually look for nearby water features, but it's not clear exactly how that works
- if (plant_raw->flags.is_set(plant_raw_flags::WET))
- plant->type = df::plant_type::WET_TREE;
+ if (plant_raw->flags.is_set(plant_raw_flags::WET)) {
+ if (plant_raw->flags.is_set(plant_raw_flags::TREE))
+ plant->type = df::plant_type::WET_TREE;
+ else
+ plant->type = df::plant_type::WET_PLANT;
+ }
plant->material = plant_id;
plant->pos.x = x;
plant->pos.y = y;
@@ -169,7 +170,7 @@ command_result df_createplant (color_ostream &out, vector <string> & parameters)
case 3: world->plants.shrub_wet.push_back(plant); break;
}
col->plants.push_back(plant);
- if (plant->flags.bits.is_shrub)
+ if (plant->type == df::plant_type::DRY_PLANT || plant->type == df::plant_type::WET_PLANT)
map->tiletype[tx][ty] = tiletype::Shrub;
else
map->tiletype[tx][ty] = tiletype::Sapling; |
Rename the
plantsplugin toplantto match the command, making it easier to find docs.Add command
plant removeto remove plants. (Doesn't work on mature trees yet. Will need to reverse-engineer proper tile removal at a later date.) Addplant listto list shrub and sapling raw IDs, avoiding use of lengthydevel/querycommand and excluding grasses.Adds a bunch of options to existing
plant createandplant grow. See:docs/plugins/plant.rst. Use proper logic for determining plantwateryflag, adding to wet/dry vector.Minor improvement to
regrassto accept numerical raw ID for grass type.regrass --listreplacesregrass --plant "". Don't remove mud on regrass (since DF doesn't.)plantsdoc tag now encompasses tools that affect grass, to includeregrassplugin.DataIdentityfor container types #4591) to pass vector ref to Luaplantuses its owncuboidstruct. This can be replaced by a more global one: Cuboid struct/class for df::coord bounds #4595