Skip to content

Add Quick Buy — one-click buyout of stacked auction listings - #13

Open
Leemo94 wants to merge 1 commit into
Ascension-Addons:mainfrom
Leemo94:quick-buy
Open

Add Quick Buy — one-click buyout of stacked auction listings#13
Leemo94 wants to merge 1 commit into
Ascension-Addons:mainfrom
Leemo94:quick-buy

Conversation

@Leemo94

@Leemo94 Leemo94 commented Aug 4, 2026

Copy link
Copy Markdown

What this adds

Buying lots of cheap, stacked auctions is tedious — clicking row → Buyout → confirm over and over. Quick Buy turns it into one click per stack.

On the Buy tab, click a price row that holds several stacks at the same price and it expands into a small panel with a Buy button per stack (Shift-click a row works too). Each click buys one stack, no confirmation pop-up — so a listing of 30× stacks of 1 takes ~30 clicks in the same spot instead of ~90 clicks and dialogs.

Demo

QB1 QB2

From the player's side

  • Click a multi-stack price row → it expands beside the AH into per-stack Buy buttons.
  • One click = one buyout, no confirm dialog. Shift-click a row does the same.
  • Chain-click the top button to sweep a whole listing — it stays put, so your mouse doesn't move.
  • Bought stacks drop out of both the panel and Auctionator's main list.
  • Pages through large listings automatically; tells you in chat if an auction gets sniped.

How it works (and why it's safe to merge)

  • One new self-contained file (AuctionatorQuickBuy.lua) + one line in the .toc. No existing files or behaviour changed.
  • Hooks Atr_EntryOnClick and reads the pane via Atr_GetCurrentPane() / activeScan.sortedData, so it reuses the existing scan + UI instead of duplicating anything.
  • Every buyout is placed from a hardware event (a button click) against the live auction list at that instant (GetAuctionItemInfo("list", …)PlaceAuctionBid), then calls the existing AuctionatorSubtractFromScan to keep the list in sync.
  • Ascension completes one buyout per server round-trip, so it throttles the button until the game confirms "You won an auction…" before firing the next — mashing never loses a click or bids a phantom.
  • Guards on every external call, so it degrades gracefully if dropped onto a different Auctionator.

Footprint

 Auctionator/Auctionator.toc         |   1 +
 Auctionator/AuctionatorQuickBuy.lua | 369 +

Testing

Search an item with several same-price stacks (e.g. Linen Cloth) on the Buy tab → click that row → the Quick Buy panel appears beside the AH → click Buy down the list. /qbdebug toggles verbose logging.

On the Buy tab, clicking a price row that holds several stacks at the same
price expands it into a small panel with a Buy button per stack (Shift+click
a row works too). Each click buys one stack straight off the live auction
list -- no confirmation popup -- and it paces itself to the server's
one-buyout-per-round-trip, so you can chain-click a whole listing. Bought
stacks drop out of both the panel and Auctionator's main window; it pages
through large listings and tells you when an auction was sniped.

Self-contained: one new file (AuctionatorQuickBuy.lua) plus one line in the
.toc. No existing files or behaviour changed. Debug via /qbdebug.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant