[PATCH] Add Option to Auction House Bot to Sell Under Existing Character Name #136

Merged
merged 1 commit into from Jun 9, 2016

2 participants

@evacomaroski
evacomaroski commented Jun 7, 2016 edited

Greetings!

The problem with the current auction house bot implementation is that it puts up items for auction without a seller (owner name) which leads to addons relying on a proper auction house format to fail. As a former avid player of World of Warcraft I have used addons such as Auctioneer [1] a lot and a lot of people have - primarily because it is able to give you a price check on any item after it has scanned the auction house. When you use Auctioneer with the current auction house bot, the addon stalls and takes ages to scan, due to the addon being written such that it considers an auction with no seller name to be invalid and retries to fetch the item.

This leads to "funny" stuff, such as players using Auctioneer having to scan the auction house section by section [2] and having the patience to leave the game on for days to wait for the scan to complete. This lead the community to create a fork of Auctioneer in order to make it accept auctions that are put up with no seller name [3]. Nevertheless, given that auctions with no name manage to produce such hazardous incompatibilities, it begs the question what other addons are broken due to the missing seller name for the AH bot auctions.

The proposed patch is a benign addition to the Auction House Bot (AHbot) that allows the user to configure a character that will figure as the seller in the auction house:


AuctionHouseBot.CharacterName
The name of the character that the bot will use to auction
items in the Alliance, Horde and neutral auction houses.
Default "" (No owner)

For instance, you would create a character in-game called "Sesha", and then you would edit ahbot.conf in order to set the name:

AuctionHouseBot.CharacterName = "Sesha"

After that, the AHBot will sell the items by impersonating the character "Sesha".

In case the option is not set, then mangos-zero will follow the same behaviour as it did up to now and sell items with no owner.

If useful and correct, please apply!

Thank you!
Eva

[1] Auctioneer Addon - http://auctioneeraddon.com
[2] Auctioneer Woes - http://forum.nostalrius.org/viewtopic.php?f=63&t=3615&start=10
[3] Auctioneer Workaround - http://forum.nostalrius.org/viewtopic.php?f=63&t=3615&start=20

withoutpatch

withpatch

Eva Comaroski Add option to auction house bot to sell under an existing character n…
…ame.
ce5233a
@billy1arm
MaNGOS Zero member

@evacomaroski - what would happen in the case of the .conf file having a name set and the character not being set up ?

@evacomaroski
evacomaroski commented Jun 8, 2016 edited

@billy1arm Hi! In case a character is not set up, then the call to GetPlayer in AuctionHouseBot.cpp:


sObjectMgr.GetPlayer(AHBotCharacterName.c_str()))

will return NULL. The NULL will propagate to AddAuction defined in AuctionHouseMgr.cpp where it will meet the ternary:


AH->owner = pl ? pl->GetGUIDLow() : 0;

since pl will be NULL, then the 0 branch will be chosen.

In other words, if the name is not valid, the default behaviour would be preserved where auctions are put up without a seller name.

@billy1arm billy1arm merged commit 455c620 into mangoszero:develop21 Jun 9, 2016

2 checks passed

Details continuous-integration/appveyor/pr AppVeyor build succeeded
Details continuous-integration/travis-ci/pr The Travis CI build passed
@keyshuwen keyshuwen added a commit to keyshuwen/Mangos_Zero that referenced this pull request Jun 14, 2016
@evacomaroski evacomaroski Add option to auction house bot to sell under an existing character n…
…ame. (#136)
10b6f72
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment