void AhBot::HandleCommand(string command) { if (!player) return; if (command == "expire") { for (int i = 0; i < MAX_AUCTIONS; i++) Expire(i); return; } if (command == "update") { ForceUpdate(); return; } uint32 itemId = atoi(command.c_str()); if (!itemId) { sLog.outString("ahbot expire - expire all auctions"); sLog.outString("ahbot update - update all auctions"); sLog.outString("ahbot <itemId> - show item price"); return; } ItemPrototype const* proto = sObjectMgr.GetItemPrototype(itemId); if (!proto) return; for (int i=0; i<CategoryList::instance.size(); i++) { Category* category = CategoryList::instance[i]; if (category->Contains(proto)) { ostringstream out; out << proto->Name1 << " (" << category->GetDisplayName() << ")" << "\n"; for (int auction = 0; auction < MAX_AUCTIONS; auction++) { out << "--- auction house " << auctionIds[auction] << "(money: " << GetAvailableMoney(auctionIds[auction]) << ") ---\n"; out << "sell: " << category->GetPricingStrategy()->GetSellPrice(proto, auctionIds[auction]) << " (" << category->GetPricingStrategy()->ExplainSellPrice(proto, auctionIds[auction]) << ")" << "\n"; out << "buy: " << category->GetPricingStrategy()->GetBuyPrice(proto, auctionIds[auction]) << " (" << category->GetPricingStrategy()->ExplainBuyPrice(proto, auctionIds[auction]) << ")" << "\n"; } sLog.outString(out.str().c_str()); break; } } }
void ItemBag::Init(bool silent) { if (silent) { Load(); return; } sLog->outMessage("playerbot", LOG_LEVEL_INFO, "Loading/Scanning %s...", GetName().c_str()); Load(); for (int i = 0; i < CategoryList::instance.size(); i++) { Category* category = CategoryList::instance[i]; Shuffle(content[category]); sLog->outMessage("playerbot", LOG_LEVEL_INFO, "loaded %d %s items", content[category].size(), category->GetDisplayName().c_str()); } }