update docs for changeitem

develop
myk002 2022-07-20 13:00:27 -07:00
parent 0fe4bed121
commit ddd2e5003a
No known key found for this signature in database
GPG Key ID: 8A39CA0FA0C16E78
2 changed files with 43 additions and 52 deletions

@ -1,26 +1,43 @@
changeitem changeitem
========== ==========
Allows changing item material and base quality. By default the item currently
selected in the UI will be changed (you can select items in the 'k' list Tags:
or inside containers/inventory). By default change is only allowed if materials :dfhack-keybind:
is of the same subtype (for example wood<->wood, stone<->stone etc). But since
some transformations work pretty well and may be desired you can override this Allows changing item material and base quality. By default, a change is only
with 'force'. Note that some attributes will not be touched, possibly resulting allowed if the existing and desired item materials are of the same subtype
in weirdness. To get an idea how the RAW id should look like, check some items (for example wood -> wood, stone -> stone, etc). But since some transformations
with 'info'. Using 'force' might create items which are not touched by work pretty well and may be desired you can override this with ``force``. Note
crafters/haulers. that forced changes can possibly result in items that crafters and haulers
refuse to touch.
Options:
Usage:
:info: Don't change anything, print some info instead.
:here: Change all items at the cursor position. Requires in-game cursor. - ``changeitem info``
:material, m: Change material. Must be followed by valid material RAW id. Show details about the selected item. Does not change the item. You can use
:quality, q: Change base quality. Must be followed by number (0-5). this command to discover RAW ids for existing items.
:force: Ignore subtypes, force change to new material. - ``changeitem [<options>]``
Change the item selected in the ``k`` list or inside a container/inventory.
Examples: - ``changeitem here [<options>]``
Change all items at the cursor position. Requires in-game cursor.
``changeitem m INORGANIC:GRANITE here``
Change material of all items under the cursor to granite. Options
-------
- ``m``, ``material <RAW id>``
Change material. Must be followed by valid material RAW id.
- ``s``, ``subtype <RAW id>``
Change subtype. Must be followed by a valid subtype RAW id."
- ``q``, ``quality <quality>``
Change base quality. Must be followed by number (0-5) with 0 being no quality
and 5 being masterpiece quality.
- ``force``
Ignore subtypes and force the change to the new material.
Examples
--------
``changeitem here m INORGANIC:GRANITE``
Change material of all stone items under the cursor to granite.
``changeitem q 5`` ``changeitem q 5``
Change currently selected item to masterpiece quality. Change currently selected item to masterpiece quality.

@ -37,37 +37,12 @@ REQUIRE_GLOBAL(world);
command_result df_changeitem(color_ostream &out, vector <string> & parameters); command_result df_changeitem(color_ostream &out, vector <string> & parameters);
const string changeitem_help =
"Changeitem allows to change some item attributes.\n"
"By default the item currently selected in the UI will be changed\n"
"(you can select items in the 'k' list or inside containers/inventory).\n"
"By default change is only allowed if materials is of the same subtype\n"
"(for example wood<->wood, stone<->stone etc). But since some transformations\n"
"work pretty well and may be desired you can override this with 'force'.\n"
"Note that some attributes will not be touched, possibly resulting in weirdness.\n"
"To get an idea how the RAW id should look like, check some items with 'info'.\n"
"Using 'force' might create items which are not touched by crafters/haulers.\n"
"Options:\n"
" info - don't change anything, print some item info instead\n"
" here - change all items at cursor position\n"
" material, m - change material. must be followed by material RAW id\n"
" subtype, s - change subtype. must be followed by correct RAW id\n"
" quality, q - change base quality. must be followed by number (0-5)\n"
" force - ignore subtypes, force change to new material.\n"
"Example:\n"
" changeitem m INORGANIC:GRANITE here\n"
" change material of all items under the cursor to granite\n"
" changeitem q 5\n"
" change currently selected item to masterpiece quality\n";
DFhackCExport command_result plugin_init ( color_ostream &out, vector <PluginCommand> &commands) DFhackCExport command_result plugin_init ( color_ostream &out, vector <PluginCommand> &commands)
{ {
commands.push_back(PluginCommand( commands.push_back(PluginCommand(
"changeitem", "Change item attributes (material, quality).", "changeitem",
df_changeitem, false, "Change item attributes (material, quality).",
changeitem_help.c_str() df_changeitem));
));
return CR_OK; return CR_OK;
} }
@ -130,8 +105,7 @@ command_result df_changeitem(color_ostream &out, vector <string> & parameters)
if (p == "help" || p == "?") if (p == "help" || p == "?")
{ {
out << changeitem_help << endl; return CR_WRONG_USAGE;
return CR_OK;
} }
else if (p == "here") else if (p == "here")
{ {