1) Highlight which items are currently worn when displaying a set (Metria's suggestion)
2) Fixed a bug that failed to detect when a paused note was resumed
1) Fixed another bug in the "dinv portal use" code that mistakenly looked for the
"held" location instead of the "hold" location. Many thanks to Daak for finding
this and submitting the fix!
1) Fixed conflict between searching in "id" mode and using an "id" query. The search
mode that shows object IDs is now named "objid" to differentiate it from a query
searching for a specific ID.
2) Added capability for priorities to specify that an equipment set should not include
weapons with specific damage types
3) Added "dinv weapon ..." mode that supports swapping weapons with specific damage types
to the user if the user went to sleep or went AFK at the wrong time
2) Fixed an "off-by-one" level check that bought the wrong consumable item
if your level exactly matched the level of the item to buy
1) Fixed an error handling bug that didn't properly time out if you failed to run to
a shopkeeper in a "dinv consume buy ..." request
2) Added error checking on the results of all gmcp calls
1) Added "custom" cache to provide long-term storage for custom keywords and
container organize queries
2) Fixed a bug that could potentially lose custom keywords if refreshes were disabled
3) Fixed a bug that prevented caching containers that were pending a refresh scan.
This could result in lost container organize queries in some scenarios (e.g., death).
4) Fixed bug in recovery code that handles if an item isn't at the expected location.
For example, if you restore a backup and no longer have a container that was in the
backup's inventory table, the previous code would repeatedly complain about the
1) Added refresh completion message for a full scan in "light" notification mode
2) Removed references to "dbot" that were echoed to the mud and confusing the imms :P
items. The previous refresh "on" mode works the same as before.
2) Made the plugin less verbose. Some info notifications were downgraded to
notes and some notes were downgraded to debug messages.
3) Optimized refresh code to skip notifications and checks in some cases where
there are no known unidentified items in your inventory
2) Added support for custom search queries "worn" and "all
3) Changed interpretation of an empty search string to mean "everything not worn"
4) Search queries with the "clan" key now match individual words in the clan name
(required for clans whose name is not a single word)
5) Equipment sets now check alignment before using anti-[good|neutral|evil] items
2) Added support for dinv priority: create, clone, delete, and edit
3) Divided all field values in default priorities by 10 to have a more consistent
range of values
1) Adjusted set creation and analysis framework. It now supports using
separate equipment search "intensities" for a single set and for a
full analysis of 200 sets. This should give you the best possible
results for a single set while keeping the time to do a full analysis
more manageable. Also, the resolution of a full analysis is fairly
rough to begin with because it is dependent on stat bonus estimates.
It doesn't make sense to try to squeeze every possible fraction of
a fraction of a percent out of the analysis when the original stat
assumptions could be off by 10% or more.
1) Updated refresh documentation to reflect the current status (automatic
refreshes are disabled by default)
2) Updated refresh code so that your first successful refresh after loading the
plugin will be a full refresh. We need this so that we properly handle items
that are orphaned (e.g., a no-save key disappears) and so that we can re-sync
items that may have been moved or modified outside of this client/plugin.
3) Fixed incorrect return value check in plugin update code. The previous code
could send an incorrect (nil) return value in some error cases.
2) Updated stat comparison display to give aveDam and offhandDam 4 columns
each. This lets us handle things like a "-500" change to offhandDam if
one set has a second weapon and another set has a shield.
3) Added support to detect if a quit command is cancelled. The previous
code essentially halted all activity in the plugin if someone entered
"quit" even if the quit was cancelled for some reason (e.g., they were
holding a no-save key.)
4) Removed "dinv update confirm" mode
5) Added "dinv version [check | update] <confirm>" mode
6) Plugin auto-updates now support both old (r1825) and new-ish (r1937)
MUSHclient builds. If the new async functions aren't available we
fallback to the original raw request functions.
7) Added new "version mismatch" return value code
2) Added new "dinv debug" interface for testing new features
3) Changed default # of automatic backups from 4 down to 3 and updated the verbage
in "dinv help backup" to make things more clear
4) Added dbot.shell() framework to execute shell commands in the background without
pulling up a command prompt window. The previous method of using os.execute()
was functionally correct, but on Windows (but not wine?!?) using os.execute()
could briefly display a command prompt window before automatically closing it.
5) Added routines to detect if files/directories exist and to spin until a specified
file or directory is created or deleted. You can spin in either a sleep loop
(more efficient but requires a co-routine) or in a busy loop (less efficient but
can be used anywhere.)
6) Replaced all os.execute() calls with equivalent dbot.shell() calls. The os.execute
code runs everything in the foreground and stalls until the command completes. In
contrast, dbot.shell() runs in the background and does not block the user from
doing other things. In places where we need to block (e.g., you don't want the
user changing saved state in the middle of a backup) the plugin will explicitly
block now.
7) Fixed an assert that could potentially trigger while opening a state file
2) Removed temporary debugging code for portals
3) Updated release notes to warn uses to rebuild their inventory table if they
ever get the portal wish
2) Fixed a bug that prevented equipment sets from exploring what happens if overmaxed
stats are reduced. This could result in non-optimal sets.
3) Temporarily added debugging code for using portals in equipment sets
2) Fixed broken paths on Win7 and Win10. The previous code didn't handle it properly
if there was a space in the absolute path to your saved state.
3) Changed the backup code to use "rename" instead of "move". Win10 couldn't handle
long pathnames with "move" but it does with "rename". Go figure.
2) Temporarily commented out the status bonus thread since it appears to have caused a conflict
for a user. I need to investigate that further.
3) Temporarily commented out the auto refresh at login since it was causing a lot of spam for
new users. I'll look into a better way of handling that.
We don't want a "note write" command to be pending at the same time
that we send a fench message to the mud because the fence could
interfere with the "to" or "subject" fields of the note.