Preview ShaguTweaks-style README

This commit is contained in:
2026-09-05 23:10:10 +02:00
parent 5fd6142390
commit fb2bc52672
+189 -147
View File
@@ -1,182 +1,224 @@
# aux Turtle
# 🧩 aux — ClassicAPI
* Now comes with a new blizz-like theme by default thanks to Oldmana. Use **/aux theme** to switch between them.
* Shares some price data through the LFT chat when searching the AH, use **/aux sharing** to disable sending and receiving data.
* Accurate auction durations for Turtle WoW.
* Autocompletion for custom Turtle WoW items.
* Display Unit Vendor Price
* The displayed deposit fee has been reduced by 40%, this isn't accurate but should be closer to the real cost. I'd like to have it accurate eventually, if you know what turtle's calculations are feel free to reach out to me or even send a pr.
A performance-focused fork of **aux** for **World of Warcraft 1.12.1 / Turtle WoW**.
"Why is aux so slow on turtle wow?"
The rate at which the client receives auction data is intentionally limited by the server, there is nothing addons can do here.
Focused on **stability, compatibility and lower runtime overhead** while keeping the original aux Auction House workflow intact.
New Blizz-like theme:
<img src="https://i.imgur.com/8HTsH2D.png" alt="Main Screen">
<img src="https://i.imgur.com/iwrPHIE.png" alt="Search Screen">
<img src="https://i.imgur.com/mBVV7cf.png" alt="Post Screen">
> Despite the repository name, aux currently has **no hard ClassicAPI dependency**. `ShaguTweaks` remains optional and is only used as a vendor-value fallback when available.
# aux - WoW 1.12 AddOn
## 🔌 Requirements
The most advanced auction house addOn for the 1.12 client with some features more advanced than anything even on retail.
- **World of Warcraft 1.12.1 / Turtle WoW**
- Do not load another copy of aux at the same time
- **ShaguTweaks** — optional
## Core Features
## 📦 Installation
### General
* Completely independent replacement for the Blizzard interface.
* Elegant look based on the retail addOn TSM.
* Many convenient shortcuts.
* Convenient access to the unaltered Blizzard interface.
1. Download or clone the repository.
2. Rename the folder to `aux-AddOn` if needed.
3. Copy it to:
```text
World of Warcraft\Interface\AddOns\aux-AddOn
```
4. Restart the game.
## ✨ Main changes
This fork keeps aux's original behaviour and focuses on targeted low-risk improvements:
- Bounded WDB item-cache scanning to avoid large synchronous warm-cache bursts.
- Merchant bag-value refresh changed from permanent polling to one-shot deferred updates.
- Reduced listener and scheduler bookkeeping overhead.
- Daily Auction House minimum cache to avoid repeated SavedVariables parsing.
- Reduced allocations in historical-value calculations.
- Search, Auctions and Bids validation throttled to **10 Hz** instead of every frame.
- Post-tab heavy UI work only runs when something actually changes.
- Autopricing reuses historical, vendor-charge and disenchant calculations.
- Reduced tooltip scans and temporary table creation.
- Auction-listing rendering stops once all visible rows are filled.
- Selection lookup returns immediately once the selected auction is found.
- LFT price-sharing handler rejects unrelated traffic earlier and reuses cached daily minimums.
- Disenchant tooltip calculations are skipped when both disenchant tooltip options are disabled.
The Auction House request throttle and embedded **ChatThrottleLib** are intentionally left unchanged where server-side limits or compatibility make modification unsafe.
## 🏛️ Auction House Features
### Search
* Automatic scanning of all pages for a query.
* Saving of recent and favorite queries.
* History of result listings with internet browser-like interface.
* Advanced search filters which can be combined with logical operators.
* Autocompletion for entering filters.
* Concise listings cleary showing the most important information.
* Sorting by percentage of historical value and unit price.
* Sorting across all scanned pages.
* Quick buying from any page without rescanning everything.
* Real time mode which continuously scans the last page.
* Purchase summary window to track gold spent during a session.
- Automatic multi-page scanning
- Saved and favorite searches
- Search-history navigation
- Advanced filters and autocompletion
- Sorting across all scanned pages
- Historical-value percentage sorting
- Unit / stack price switching
- Quick Bid / Buyout
- Real Time mode
- Purchase Summary
### Post
* Automatic assembling and posting of multiple stacks.
* Automatic scanning of existing auctions.
* Concise listing of existing auctions.
* Undercutting of existing auctions by click.
* Concise listing of inventory items excluding the non auctionable.
* Manual exclusion of specific items from the inventory listing.
* Saving post configuration per item.
* Efficient price input inspired by the retail addOn TSM.
### History
* Automatic gathering of historical data from all scans.
* Automatic collection of vendor prices.
* Intricate calculations for a reliable historical value.
* Tooltip with historical value, vendor prices and disenchant value.
* Efficient storage of data.
- Automatic stack assembly and posting
- Existing-auction scan
- One-click undercut selection
- Per-item posting settings
- Optional bid-price listing
- Saved stack sizes
- Vendor and disenchant safeguards used by autopricing
## Slash Commands
### General
**/aux** (Lists the settings)<br/>
**/aux scale _factor_** (Scales the aux GUI by _factor_)<br/>
**/aux uc** (Toggles automatic undercutting.)<br/>
**/aux ignore owner** (Disables waiting for owner names when scanning. Recommended)<br/>
**/aux post bid** (Adds a bid price listing to the post tab)<br/>
**/aux post duration _hours_** (Sets the default auction duration to _2_/_8_/_24_ hours)<br/>
**/aux post stack** (Toggles stack size saving per item in the post tab)<br/>
**/aux crafting cost** (Toggles the crafting price information)<br/>
**/aux sharing** (Enable or disable auction data sharing as described above)<br/>
**/aux theme** (Switch between the two themes)<br/>
**/aux purchase summary** (Toggles the purchase summary window that tracks gold spending)<br/>
### Tooltip
**/aux tooltip value**<br/>
**/aux tooltip daily**<br/>
**/aux tooltip disenchant value**<br/>
**/aux tooltip disenchant distribution**<br/>
**/aux tooltip vendor buy**<br/>
**/aux tooltip vendor sell**<br/>
### Auctions & Bids
## Usage
### General
For the auction listings in the search, auctions and bids tabs the following shortcuts are available.
- Double-click on a row with blue colored count to expand it.
- Alt-left-click on the selected row for buyout/cancel.
- Alt-right-click on the selected row for bid/cancel.
- Right-click on a row to start a search for the auctioned item.
- Control-click on a row the show a preview in the wardrobe frame.
- Shift-click on a row to copy the link to the chatframe.
- Left-click on a header to sort.
- Right-click on a header of a price column to switch between unit and stack price.
- Dedicated active-auction and bid listings
- Quick Cancel / Bid / Buyout validation
- Grouped auction rows with expand / collapse support
Furthermore
- Double-click in editboxes will highlight everything.
## 📊 Price History
### Search
- Hitting tab in the search box will accept an autocompletion.
- Dragging inventory items to the search box or right-clicking them will start a search.
- Right-clicking item links will start a search.
aux stores market information using two separate values:
#### Search Results
![Alt text](http://i.imgur.com/hI6ODqM.png)
- Bid prices for your own active bids are colored in green.
- Bid prices for other auctions with an active bid are colored in orange.
- **Today** — the lowest unit buyout known for the current day
- **Value** — the long-term historical reference calculated from daily values
#### Saved Searches
![Alt text](http://i.imgur.com/dICDnxR.png)
- When hovering over an entry the tooltip shows a longer and more nicely formatted version.
- Left-click on an entry will start a search.
- Right-click on an entry will show a menu with various options, including toggling Auto Buy.
- Shift-left-click on an entry will copy a search to the search box.
- Shift-right-click on an entry will add a search to the existing query in the search box.
The daily minimum can come from your own Auction House scans or from compatible `AuxData` messages received through **LFT** when sharing is enabled.
#### Filter Builder
![Alt text](http://i.imgur.com/8hilZc9.png)
While it is faster to type filters directly into the search box this sub-tab serves as a tutorial to learn how to formulate queries.
The filters on the left side are Blizzard filters which may reduce the number of pages to be scanned and those on the right side are post filters which do not affect the scan time but can be combined with logical operators to formulate very complex filters.
### Post
![Alt text](http://i.imgur.com/otzOT2I.png)
- When entering prices **g**, **s** and **c** denote gold, silver and copper respectively.
- A price value without explicit denotations will count as gold. (e.g., 10.5 = 10g50s)
- Price values can contain decimals. (e.g., 1.5g = 1g50s)
- Right-clicking an item in the inventory listing will start a search.
- Right-clicking a bag item will select it in the listing.
- In the listing of bids/buyouts a red price is undercutting stack/unit price.
- Clicking an entry in the in the listings of bids/buyouts of existing auctions will undercut with your bid stack/buyout unit price.
- Double-click in the bids/buyouts listings will also match the stack size.
At daily rollover, the minimum becomes a historical data point. aux keeps up to **11 daily values** and calculates an **age-weighted median** to keep the result stable without allowing repeated same-day scans to dominate the history.
### Auctions
![Alt text](http://i.imgur.com/6HjaIo2.png)
Enable both tooltip values with:
### Bids
![Alt text](http://i.imgur.com/NOjPKNW.png)
```text
/aux tooltip value
/aux tooltip daily
```
## Search Filters
AddOns do not have any additional Blizzard filters available to them beyond the ones in the default auction house interface, nor do they have any other ways to combine them.
Of course it is possible for an addOn to apply arbitrary filters after the Blizzard query but only the Blizzard query will affect the number of pages to be scanned and thus the time it takes for a scan.
Since the Vanilla API will only let you request a page every 4 seconds having no Blizzard query in your filter can lead to very long scan times.
## 🔗 LFT Price Sharing
aux queries are separated by semicolons and always contain exactly one Blizzard query. The Blizzard query may be empty, i.e., all pages are scanned, which can be useful for collecting historical data.
The real time mode only supports empty Blizzard queries.
Semicolons always mean "or", i.e., **q1;q2;q3** means all items matching **q1** or **q2** or **q3** will be listed.
Price sharing is enabled by default.
The parts of individual queries are separated by slashes, e.g., **q1p1/q1p2;q2p1/q2p2/q2p3**. All parts either belong to the Blizzard filter or the post processing filter.
Toggle it with:
Blizzard filters can be created through the form on the left side of the "New Filter" sub-tab of the "Search" tab or typed directly into the search box.
For learning to write queries you can fill in the form, add the query to the search box with the "Add" or "Replace" buttons and inspect the generated output until you feel comfortable typing them out yourself.
For the most part it should be rather intuitive.
The first part is special in that if it doesn't match any specific filter keyword it will be treated as a Blizzard name search. E.g., a query consisting only of **felcloth** would list the items Felcloth, Pattern: Felcloth Hood, Felcloth Bag etc.
Usually you would want to use the **exact** modifier which only matches auctions where the name, apart from case, exactly equals the first part of the query.
**exact** is the only modifier which is part Blizzard and part post filter, though it is mostly treated as a Blizzard filter. **exact** will tailor the Blizzard query as well as possible towards the item searched (level range, item class/subclass/slot, quality ...) and it cannot be used together with Blizzard filters for these properties.
```text
/aux sharing
```
Post processing filters are more flexible.
They are specified using the filter primitives you find on the right side of the "New Filter" sub-tab and can be combined with **and**, **or** and **not** using polish notation (https://en.wikipedia.org/wiki/Polish_notation).
Filter parts other than the first which don't match any specific filter, just like the first part is treated as a Blizzard name filter, are treated as a tooltip filter.
For using a tooltip filter as the first filter part there is an explicit **tooltip** modifier.
Messages use the format:
Here are some queries I use myself for illustration:
```text
AuxData,<item_key>,<unit_buyout_price>
```
**or/and2/profit/5g/percent/60/and3/bid-profit/5g/bid-percent/60/left/30m**<br/>
This filter will search the whole auction house for auctions either with a buyout price of 5g or more below market value and 60% or less of the market value or a bid price for which the same is true and in addition only 30m or less remaining.
Only a lower daily minimum is stored. Very large / full scans are intentionally not broadcast to reduce channel traffic.
**wrangler's wristbands/exact/or2/and2/+3 agility/+3 stamina/+5 stamina/price/1g**<br/>
This will search for wrangler's wristband with 3/3 monkey or 5 stam suffixes for at most 1g buyout price.
## 🎨 Themes
**recipe/usable/not/libram**<br/>
This will scan for usable recipes and exclude those with "libram" in the tooltip (i.e., librams)
aux includes two interface styles:
**armor/cloth/50/intellect/stamina**<br/>
This will scan the auction house for cloth armor which has a requirement of at least lvl 50 as well both intellect and stamina stats.
- **Blizzard** — default Blizzard-like theme
- **Modern** — original-style modern theme
**felcloth/exact/stack/5**<br/>
This will search for auctions of felcloth with exactly 5 items in the stack.
Switch with:
## Historical Value
```text
/aux theme
```
aux condenses the prices you've scanned during a day (midnight to midnight) into a single value, similarly to retail Auctioneer's "stat-simple" module.
This daily value is calculated as the minimum buyout of the day which in practice gives a similar enough value to that of retail TSM while using much less memory.
Limiting the memory usage is important because like Auctioneer and unlike TSM aux is using a day based instead of scan based interval and thus has to store the daily progress in the savedvariables.
Finally these daily values are collected in a list of the last 11 of them from which the market value is taken as the median. The values are weighted by their age but it doesn't have a large effect unless they're older than a month.
### Blizzard-like Theme
The bottom line is that you get a fairly accurate market value for both very active markets as well as rarer items that has a reasonably short reaction time to market changes, recovers easily and never needs to be reset while still being reasonably stable and hard to manipulate and dealing with outliers very well, not getting distorted by multiple scans per day, not needing a single full scan per day but instead naturally picking up every price you scan while going about your usual business, letting you focus on a certain part of the auction house by scanning only that part regularly and avoiding information overload by giving you a single concise value for the tooltip.
![Main Screen](https://i.imgur.com/8HTsH2D.png)
![Search Screen](https://i.imgur.com/iwrPHIE.png)
![Post Screen](https://i.imgur.com/mBVV7cf.png)
## 📝 Commands
| Command | Function |
|---|---|
| `/aux` | Show current settings |
| `/aux scale <factor>` | Change UI scale |
| `/aux undercut` | Toggle automatic undercutting |
| `/aux ignore owner` | Toggle waiting for auction owner names |
| `/aux post bid` | Toggle bid-price listing in Post |
| `/aux post duration 6` | Set 6-hour default duration |
| `/aux post duration 24` | Set 24-hour default duration |
| `/aux post duration 72` | Set 72-hour default duration |
| `/aux post stack` | Toggle saved stack size per item |
| `/aux crafting cost` | Toggle crafting-cost information |
| `/aux sharing` | Toggle LFT price sharing |
| `/aux theme` | Toggle Blizzard / Modern theme |
| `/aux show hidden` | Toggle hidden Post items |
| `/aux purchase summary` | Toggle Purchase Summary |
| `/aux tooltip value` | Toggle historical Value |
| `/aux tooltip daily` | Toggle Today value |
| `/aux tooltip merchant buy` | Toggle vendor-buy value |
| `/aux tooltip merchant sell` | Toggle vendor-sell value |
| `/aux tooltip disenchant value` | Toggle disenchant value |
| `/aux tooltip disenchant distribution` | Toggle disenchant distribution |
| `/aux clear item cache` | Clear aux item cache |
| `/aux populate wdb` | Populate local item cache |
## 🖱️ Useful Shortcuts
- **Double-click** a grouped auction row to expand / collapse it
- **Alt + Left-Click** selected row for Buyout / Cancel
- **Alt + Right-Click** selected row for Bid / Cancel
- **Right-Click** a row to search for that item
- **Ctrl + Click** a row to preview supported items
- **Shift + Click** a row to copy its link to chat
- **Left-Click** a header to sort
- **Right-Click** a price header to switch unit / stack pricing
- **Tab** accepts search autocompletion
## 🔎 Search Filters
Queries are separated by `;`, while individual filter parts use `/`.
Examples:
```text
felcloth/exact/stack/5
recipe/usable/not/libram
armor/cloth/50/intellect/stamina
```
The built-in **Filter Builder** can be used as a visual tutorial for more advanced filters and logical operators.
## ⚙️ Compatibility
- World of Warcraft 1.12.1
- Turtle WoW-style Auction House behaviour
- Turtle WoW custom-item cache / autocompletion support
- Optional ShaguTweaks vendor-value fallback
- Existing aux SavedVariables format preserved
- Existing LFT `AuxData` message format preserved
## ⚠️ Notes
- Auction House page-request speed is limited by the server. aux cannot safely bypass that limit.
- `Today` is the **lowest price seen today**, not simply the most recently scanned listing.
- Turtle WoW deposit costs can differ from the locally displayed estimate.
- ChatThrottleLib is kept intact for safe chat-rate handling.
## 📸 Additional Screenshots
### Search Results
![Search Results](http://i.imgur.com/hI6ODqM.png)
### Saved Searches
![Saved Searches](http://i.imgur.com/dICDnxR.png)
### Filter Builder
![Filter Builder](http://i.imgur.com/8hilZc9.png)
## 🙏 Credits
Original **aux** by **shirsig**.
Turtle WoW adaptation and previous maintenance from **Otari98/aux-addon** and its contributors.
Blizzard-like theme by **Oldmana**.
Performance-focused maintenance of this fork by **Dusk-92**.