Skip to content

Commit 8c83692

Browse files
committed
feat(eventbus): Add auction create event hook
Publishes AuctionEvent with type 'create' when players create auctions. Only fires for player-created auctions, not during server load.
1 parent 568d80d commit 8c83692

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/server/game/AuctionHouse/AuctionHouseMgr.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -989,6 +989,39 @@ void AuctionHouseObject::AddAuction(CharacterDatabaseTransaction trans, AuctionP
989989
bucket->Auctions.insert(std::ranges::lower_bound(bucket->Auctions, addedAuction, std::cref(insertSorter)), addedAuction);
990990

991991
sScriptMgr->OnAuctionAdd(this, addedAuction);
992+
993+
// Araxia: Publish auction create event to ZeroMQ event bus
994+
// Only publish for player-created auctions (trans != nullptr), not during server load
995+
if (trans)
996+
{
997+
std::string ownerName;
998+
Player* owner = ObjectAccessor::FindConnectedPlayer(addedAuction->Owner);
999+
if (owner)
1000+
ownerName = owner->GetName();
1001+
else if (CharacterCacheEntry const* entry = sCharacterCache->GetCharacterCacheByGuid(addedAuction->Owner))
1002+
ownerName = entry->Name;
1003+
1004+
uint32 itemEntry = 0;
1005+
uint32 itemCount = 0;
1006+
if (!addedAuction->Items.empty())
1007+
{
1008+
itemEntry = addedAuction->Items[0]->GetEntry();
1009+
for (Item const* item : addedAuction->Items)
1010+
itemCount += item->GetCount();
1011+
}
1012+
1013+
sAraxiaEventBus->Publish(AuctionEvent(
1014+
"create",
1015+
addedAuction->Owner.GetCounter(),
1016+
ownerName,
1017+
addedAuction->Id,
1018+
itemEntry,
1019+
itemCount,
1020+
addedAuction->BuyoutOrUnitPrice ? addedAuction->BuyoutOrUnitPrice : addedAuction->MinBid,
1021+
0, 0,
1022+
ContentType::World
1023+
));
1024+
}
9921025
}
9931026

9941027
std::map<uint32, AuctionPosting>::node_type AuctionHouseObject::RemoveAuction(CharacterDatabaseTransaction trans, AuctionPosting* auction,

0 commit comments

Comments
 (0)