Overhaul exchange automation and refactor the codebase - #1
Open
mikkelpetersen wants to merge 1 commit into
Open
Conversation
Feature work: - Read market ratios directly from exchange panel memory instead of tooltip scraping; optionally list at the highest competing ratio, with a sufficient-stock requirement - Integrate InputHumanizer (UseInputHumanizer toggle) with SyncTask input plumbing pumped in Tick(); keyboard input and the fallback path stay on the plugin's own Win32 SendInput wrappers - Multi-sell: mark owned items and sell them as a queued batch capped at the free trade slots - Collect all: Ctrl+right-click collection of filled and canceled orders with inventory-space verification and rate-limit pacing - Discover UI elements at runtime (no hardcoded child indexes) and reorganize the settings into logical groups Refactor: - Replace all inline comments with XML documentation - Apply .NET naming conventions throughout, including the Win32 interop wrappers; rename AvailableMarketRatio.cs to MarketRatio.cs - Remove dead code (unused sort-header helpers, caches, and methods) - Cap the debug message list, honor the configured default sort column, and null-guard the wanted-item resolution - Review all user-facing strings for proper English grammar Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR contains two layers of work on the plugin: a set of automation features built on top of the current
main, followed by a full code-quality refactor of the whole codebase.Feature work
MarketRateGet/MarketRateGiveand theOfferedItemStockcompeting listings) instead of scraping the ratio tooltip. Optionally lists at the highest competing ratio (Use Highest Competing Ratio), with aRequire Sufficient Stockfilter.Use InputHumanizertoggle routes mouse input through the InputHumanizer plugin when it is loaded, withSyncTaskinput plumbing pumped inTick()and controller release once a batch finishes. Keyboard input and the fallback path stay on the plugin's own Win32SendInputwrappers (layout-independent Unicode typing).Maximum Concurrent Tradesminus placed orders). A stuck item is skipped on timeout instead of aborting the batch.Refactor
AvailableMarketRatio.csrenamed toMarketRatio.cs;MarketRatioandSellSequenceStepmoved into theSellMyShitnamespace.DefaultSortflag follows the configured default sort column, and the wanted-item resolution is null-guarded.Testing
dotnet build(0 errors; only the two pre-existing warnings about obsolete ExileCore APIs).🤖 Generated with Claude Code