show more understandable units for bars and cloths

develop
Myk Taylor 2023-02-13 00:41:23 -08:00
parent 8dd938c5a6
commit 68d314c9c0
No known key found for this signature in database
2 changed files with 18 additions and 5 deletions

@ -42,6 +42,7 @@ changelog.txt uses a syntax similar to RST, with a few special sequences:
- `autodump`: changed behaviour to only change ``dump`` and ``forbid`` flags if an item is successfully dumped. - `autodump`: changed behaviour to only change ``dump`` and ``forbid`` flags if an item is successfully dumped.
## Misc Improvements ## Misc Improvements
- `showmood`: now shows the number of items needed for cloth and bars in addition to the technically correct but always confusing "total dimension" (150 per bar or 10,000 per cloth)
## Documentation ## Documentation

@ -275,17 +275,29 @@ command_result df_showmood (color_ostream &out, vector <string> & parameters)
// count how many items of this type the crafter already collected // count how many items of this type the crafter already collected
{ {
int count_got = 0; int count_got = 0;
int dimension_got = 0;
int divisor = 1;
bool has_dims = false;
if (item->item_type == item_type::BAR) {
divisor = 150;
has_dims = true;
} else if (item->item_type == item_type::CLOTH) {
divisor = 10000;
has_dims = true;
}
for (size_t j = 0; j < job->items.size(); j++) for (size_t j = 0; j < job->items.size(); j++)
{ {
if(job->items[j]->job_item_idx == int32_t(i)) if(job->items[j]->job_item_idx == int32_t(i))
{ {
if (item->item_type == item_type::BAR || item->item_type == item_type::CLOTH) if (has_dims)
count_got += job->items[j]->item->getTotalDimension(); dimension_got += job->items[j]->item->getTotalDimension();
else count_got += 1;
count_got += 1;
} }
} }
out.print(", quantity %i (got %i)\n", item->quantity, count_got); out.print(", got %i of %i", count_got, item->quantity/divisor);
if (has_dims)
out.print(" (%i of %i sub-units)", dimension_got, item->quantity);
out.print("\n");
} }
} }
} }