skip marker mode dig designations

develop
myk002 2021-06-27 12:15:21 -07:00
parent 1670cfab05
commit aa1cbc95db
No known key found for this signature in database
GPG Key ID: 8A39CA0FA0C16E78
2 changed files with 10 additions and 8 deletions

@ -2840,17 +2840,18 @@ Options:
dig-now dig-now
======= =======
Instantly completes dig designations, modifying tile shapes and creating Instantly completes non-marker dig designations, modifying tile shapes and
boulders, ores, and gems as if a miner were doing the mining or engraving. By creating boulders, ores, and gems as if a miner were doing the mining or
default, the entire map is processed and boulder generation follows standard engraving. By default, the entire map is processed and boulder generation
game rules, but the behavior is configurable. follows standard game rules, but the behavior is configurable.
Note that no units will get mining or engraving experience for the dug/engraved Note that no units will get mining or engraving experience for the dug/engraved
tiles. tiles.
Trees, and roots will be ignored. Engravings are also not automatically Trees and roots are not currently handled by this plugin and will be skipped.
generated by this plugin as they depend on the skill and creative choices of Requests for engravings are also skipped since they would depend on the skill
individual engravers. and creative choices of individual engravers. Other types of engraving (i.e.
smoothing and track carving) are handled.
Usage:: Usage::

@ -566,7 +566,8 @@ static void do_dig(color_ostream &out, std::vector<DFCoord> &dug_coords,
DFCoord pos(x, y, z); DFCoord pos(x, y, z);
df::tile_designation td = map.designationAt(pos); df::tile_designation td = map.designationAt(pos);
df::tile_occupancy to = map.occupancyAt(pos); df::tile_occupancy to = map.occupancyAt(pos);
if (td.bits.dig != df::tile_dig_designation::No) { if (td.bits.dig != df::tile_dig_designation::No &&
!to.bits.dig_marked) {
std::vector<dug_tile_info> dug_tiles; std::vector<dug_tile_info> dug_tiles;
if (dig_tile(out, map, pos, td.bits.dig, dug_tiles)) { if (dig_tile(out, map, pos, td.bits.dig, dug_tiles)) {
td = map.designationAt(pos); td = map.designationAt(pos);