address #H6552 - #adjust behavior

The report stated that '#adjust a c' after '#adjust 1a b' moved all
the original 'a' to 'c' instead of leaving the one in 'b' alone.
That's true, but it is also the intended behavior.  Splitting off
with a count explicitly avoids gathering compatible stacks (but
does merge into the destination if compatible, instead of swapping).
Moving a whole stack gathers compatible ones and puts the whole
merged group into the destination.

But that leaves a gap in functionality:  there's no way to get the
don't-collect-other-stacks without splitting; there ought to be.
So, allow the player to specify full count to move a stack from one
slot to another without collecting compatible stacks (the behavior
when no count is given) or splitting (the behavior when count is
less than full amount).  In the example above, if 'a' started with
5 doodads and had 4 left after splitting one to 'b', '#adjust 4a c'
will move those 4 (all of 'a') to 'c' without merging 'b' into them.
The method is a bit obscure but it's also something which doesn't
come up very often.
This commit is contained in:
PatR
2017-11-30 19:15:45 -08:00
parent 359db05c2b
commit 90405235e5
4 changed files with 45 additions and 15 deletions

View File

@@ -1104,8 +1104,17 @@ This command allows you to move an item from one particular inventory
slot to another so that it has a letter which is more meaningful for you
or that it will appear in a particular location when inventory listings
are displayed.
You can move to a currently empty slot, or if the destination is
occupied--and won't merge--the item there will swap slots with the one
being moved.
``{\tt \#adjust}'' can also be used to split a stack of objects; when
choosing the item to adjust, enter a count prior to its letter.
choosing the item to adjust, enter a count prior to its letter.\\
%.lp ""
When no count is given, other compatible stacks are merged with the source
stack as it's moved to the destination. When a split count is given, the
only stack that might be merged is the one already in the destination.
To move a whole stack without having other compatible ones merge with it,
specify a ``split'' count which matches the full stack size.
%.lp
\item[\tb{\#annotate}]
Allows you to specify one line of text to associate with the current