diff --git a/common/patches/rof2.cpp b/common/patches/rof2.cpp index 6b65adc40..2dc361b26 100644 --- a/common/patches/rof2.cpp +++ b/common/patches/rof2.cpp @@ -3630,7 +3630,7 @@ namespace RoF2 OUT(TraderID); snprintf(eq->SerialNumber, sizeof(eq->SerialNumber), "%016d", emu->ItemID); - Log(Logs::Detail, Logs::Trading, "ENCODE(OP_TraderDelItem): TraderID %d, SerialNumber: %d", emu->TraderID, emu->ItemID); + LogTrading("ENCODE(OP_TraderDelItem): TraderID [{}], SerialNumber: [{}]", emu->TraderID, emu->ItemID); FINISH_ENCODE(); } @@ -3661,7 +3661,7 @@ namespace RoF2 eq->Traders2 = emu->Traders; eq->Items2 = emu->Items; - Log(Logs::Detail, Logs::Trading, "ENCODE(OP_TraderShop): BazaarWelcome_Struct Code %d, Traders %d, Items %d", + LogTrading("ENCODE(OP_TraderShop): BazaarWelcome_Struct Code [{}], Traders [{}], Items [{}]", eq->Code, eq->Traders, eq->Items); FINISH_ENCODE(); @@ -3684,14 +3684,14 @@ namespace RoF2 OUT(Quantity); snprintf(eq->SerialNumber, sizeof(eq->SerialNumber), "%016d", emu->ItemID); - Log(Logs::Detail, Logs::Trading, "ENCODE(OP_TraderShop): Buy Action %d, Price %d, Trader %d, ItemID %d, Quantity %d, ItemName, %s", + LogTrading("ENCODE(OP_TraderShop): Buy Action [{}], Price [{}], Trader [{}], ItemID [{}], Quantity [{}], ItemName, [{}]", eq->Action, eq->Price, eq->TraderID, eq->ItemID, eq->Quantity, emu->ItemName); FINISH_ENCODE(); } else { - Log(Logs::Detail, Logs::Trading, "ENCODE(OP_TraderShop): Encode Size Unknown (%d)", psize); + LogTrading("ENCODE(OP_TraderShop): Encode Size Unknown ([{}])", psize); } } @@ -5245,7 +5245,7 @@ namespace RoF2 IN(Code); IN(TraderID); IN(Approval); - Log(Logs::Detail, Logs::Trading, "DECODE(OP_TraderShop): TraderClick_Struct Code %d, TraderID %d, Approval %d", + LogTrading("DECODE(OP_TraderShop): TraderClick_Struct Code [{}], TraderID [{}], Approval [{}]", eq->Code, eq->TraderID, eq->Approval); FINISH_DIRECT_DECODE(); @@ -5259,7 +5259,7 @@ namespace RoF2 emu->Beginning.Action = eq->Code; IN(Traders); IN(Items); - Log(Logs::Detail, Logs::Trading, "DECODE(OP_TraderShop): BazaarWelcome_Struct Code %d, Traders %d, Items %d", + LogTrading("DECODE(OP_TraderShop): BazaarWelcome_Struct Code [{}], Traders [{}], Items [{}]", eq->Code, eq->Traders, eq->Items); FINISH_DIRECT_DECODE(); @@ -5276,20 +5276,20 @@ namespace RoF2 memcpy(emu->ItemName, eq->ItemName, sizeof(emu->ItemName)); IN(ItemID); IN(Quantity); - Log(Logs::Detail, Logs::Trading, "DECODE(OP_TraderShop): TraderBuy_Struct (Unknowns) Unknown004 %d, Unknown008 %d, Unknown012 %d, Unknown076 %d, Unknown276 %d", + LogTrading("DECODE(OP_TraderShop): TraderBuy_Struct (Unknowns) Unknown004 [{}], Unknown008 [{}], Unknown012 [{}], Unknown076 [{}], Unknown276 [{}]", eq->Unknown004, eq->Unknown008, eq->Unknown012, eq->Unknown076, eq->Unknown276); - Log(Logs::Detail, Logs::Trading, "DECODE(OP_TraderShop): TraderBuy_Struct Buy Action %d, Price %d, Trader %d, ItemID %d, Quantity %d, ItemName, %s", + LogTrading("DECODE(OP_TraderShop): TraderBuy_Struct Buy Action [{}], Price [{}], Trader [{}], ItemID [{}], Quantity [{}], ItemName, [{}]", eq->Action, eq->Price, eq->TraderID, eq->ItemID, eq->Quantity, eq->ItemName); FINISH_DIRECT_DECODE(); } else if (psize == 4) { - Log(Logs::Detail, Logs::Trading, "DECODE(OP_TraderShop): Forwarding packet as-is with size 4"); + LogTrading("DECODE(OP_TraderShop): Forwarding packet as-is with size 4"); } else { - Log(Logs::Detail, Logs::Trading, "DECODE(OP_TraderShop): Decode Size Unknown (%d)", psize); + LogTrading("DECODE(OP_TraderShop): Decode Size Unknown ([{}])", psize); } } diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 68de8b4ec..cc4aea265 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -3585,7 +3585,7 @@ void Client::Handle_OP_Barter(const EQApplicationPacket *app) default: Message(Chat::Red, "Unrecognised Barter action."); - Log(Logs::Detail, Logs::Trading, "Unrecognised Barter Action %i", Action); + LogTrading("Unrecognised Barter Action [{}]", Action); } } @@ -3647,7 +3647,7 @@ void Client::Handle_OP_BazaarSearch(const EQApplicationPacket *app) return; } else { - Log(Logs::Detail, Logs::Trading, "Malformed BazaarSearch_Struct packe, Action %it received, ignoring..."); + LogTrading("Malformed BazaarSearch_Struct packe, Action [{}]t received, ignoring"); LogError("Malformed BazaarSearch_Struct packet received, ignoring\n"); } @@ -13931,7 +13931,7 @@ void Client::Handle_OP_Trader(const EQApplicationPacket *app) { case BazaarTrader_EndTraderMode: { Trader_EndTrader(); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: End Trader Session"); + LogTrading("Client::Handle_OP_Trader: End Trader Session"); break; } case BazaarTrader_EndTransaction: { @@ -13940,20 +13940,20 @@ void Client::Handle_OP_Trader(const EQApplicationPacket *app) if (c) { c->WithCustomer(0); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: End Transaction"); + LogTrading("Client::Handle_OP_Trader: End Transaction"); } else - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Null Client Pointer"); + LogTrading("Client::Handle_OP_Trader: Null Client Pointer"); break; } case BazaarTrader_ShowItems: { Trader_ShowItems(); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Show Trader Items"); + LogTrading("Client::Handle_OP_Trader: Show Trader Items"); break; } default: { - Log(Logs::Detail, Logs::Trading, "Unhandled action code in OP_Trader ShowItems_Struct"); + LogTrading("Unhandled action code in OP_Trader ShowItems_Struct"); break; } } @@ -13972,7 +13972,7 @@ void Client::Handle_OP_Trader(const EQApplicationPacket *app) { GetItems_Struct* gis = GetTraderItems(); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Start Trader Mode"); + LogTrading("Client::Handle_OP_Trader: Start Trader Mode"); // Verify there are no NODROP or items with a zero price bool TradeItemsValid = true; @@ -14035,7 +14035,7 @@ void Client::Handle_OP_Trader(const EQApplicationPacket *app) } } else { - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Unknown TraderStruct code of: %i\n", + LogTrading("Client::Handle_OP_Trader: Unknown TraderStruct code of: [{}]\n", ints->Code); LogError("Unknown TraderStruct code of: [{}]\n", ints->Code); @@ -14045,22 +14045,22 @@ void Client::Handle_OP_Trader(const EQApplicationPacket *app) { TraderStatus_Struct* tss = (TraderStatus_Struct*)app->pBuffer; - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Trader Status Code: %d", tss->Code); + LogTrading("Client::Handle_OP_Trader: Trader Status Code: [{}]", tss->Code); switch (tss->Code) { case BazaarTrader_EndTraderMode: { Trader_EndTrader(); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: End Trader Session"); + LogTrading("Client::Handle_OP_Trader: End Trader Session"); break; } case BazaarTrader_ShowItems: { Trader_ShowItems(); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Show Trader Items"); + LogTrading("Client::Handle_OP_Trader: Show Trader Items"); break; } default: { - Log(Logs::Detail, Logs::Trading, "Unhandled action code in OP_Trader ShowItems_Struct"); + LogTrading("Unhandled action code in OP_Trader ShowItems_Struct"); break; } } @@ -14069,11 +14069,11 @@ void Client::Handle_OP_Trader(const EQApplicationPacket *app) } else if (app->size == sizeof(TraderPriceUpdate_Struct)) { - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Trader Price Update"); + LogTrading("Client::Handle_OP_Trader: Trader Price Update"); HandleTraderPriceUpdate(app); } else { - Log(Logs::Detail, Logs::Trading, "Unknown size for OP_Trader: %i\n", app->size); + LogTrading("Unknown size for OP_Trader: [{}]\n", app->size); LogError("Unknown size for OP_Trader: [{}]\n", app->size); DumpPacket(app); return; @@ -14097,10 +14097,10 @@ void Client::Handle_OP_TraderBuy(const EQApplicationPacket *app) if (Client* Trader = entity_list.GetClientByID(tbs->TraderID)) { BuyTraderItem(tbs, Trader, app); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_TraderBuy: Buy Trader Item "); + LogTrading("Client::Handle_OP_TraderBuy: Buy Trader Item "); } else { - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_TraderBuy: Null Client Pointer"); + LogTrading("Client::Handle_OP_TraderBuy: Null Client Pointer"); } @@ -14171,12 +14171,12 @@ void Client::Handle_OP_TraderShop(const EQApplicationPacket *app) TraderClick_Struct* tcs = (TraderClick_Struct*)app->pBuffer; - Log(Logs::Detail, Logs::Trading, "Handle_OP_TraderShop: TraderClick_Struct TraderID %d, Code %d, Unknown008 %d, Approval %d", + LogTrading("Handle_OP_TraderShop: TraderClick_Struct TraderID [{}], Code [{}], Unknown008 [{}], Approval [{}]", tcs->TraderID, tcs->Code, tcs->Unknown008, tcs->Approval); if (tcs->Code == BazaarWelcome) { - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_TraderShop: Sent Bazaar Welcome Info"); + LogTrading("Client::Handle_OP_TraderShop: Sent Bazaar Welcome Info"); SendBazaarWelcome(); } else @@ -14192,10 +14192,10 @@ void Client::Handle_OP_TraderShop(const EQApplicationPacket *app) if (Trader) { outtcs->Approval = Trader->WithCustomer(GetID()); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_TraderShop: Shop Request (%s) to (%s) with Approval: %d", GetCleanName(), Trader->GetCleanName(), outtcs->Approval); + LogTrading("Client::Handle_OP_TraderShop: Shop Request ([{}]) to ([{}]) with Approval: [{}]", GetCleanName(), Trader->GetCleanName(), outtcs->Approval); } else { - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_TraderShop: entity_list.GetClientByID(tcs->traderid)" + LogTrading("Client::Handle_OP_TraderShop: entity_list.GetClientByID(tcs->traderid)" " returned a nullptr pointer"); safe_delete(outapp); return; @@ -14212,12 +14212,12 @@ void Client::Handle_OP_TraderShop(const EQApplicationPacket *app) this->BulkSendTraderInventory(Trader->CharacterID()); Trader->Trader_CustomerBrowsing(this); TraderID = tcs->TraderID; - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_TraderShop: Trader Inventory Sent"); + LogTrading("Client::Handle_OP_TraderShop: Trader Inventory Sent"); } else { MessageString(Chat::Yellow, TRADER_BUSY); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_TraderShop: Trader Busy"); + LogTrading("Client::Handle_OP_TraderShop: Trader Busy"); } safe_delete(outapp); @@ -14230,7 +14230,7 @@ void Client::Handle_OP_TraderShop(const EQApplicationPacket *app) // RoF+ // Client requested Bazaar Welcome Info (Trader and Item Total Counts) SendBazaarWelcome(); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_TraderShop: Sent Bazaar Welcome Info"); + LogTrading("Client::Handle_OP_TraderShop: Sent Bazaar Welcome Info"); } else if (app->size == sizeof(TraderBuy_Struct)) { @@ -14242,12 +14242,12 @@ void Client::Handle_OP_TraderShop(const EQApplicationPacket *app) if (Client* Trader = entity_list.GetClientByID(tbs->TraderID)) { BuyTraderItem(tbs, Trader, app); - Log(Logs::Detail, Logs::Trading, "Handle_OP_TraderShop: Buy Action %d, Price %d, Trader %d, ItemID %d, Quantity %d, ItemName, %s", + LogTrading("Handle_OP_TraderShop: Buy Action [{}], Price [{}], Trader [{}], ItemID [{}], Quantity [{}], ItemName, [{}]", tbs->Action, tbs->Price, tbs->TraderID, tbs->ItemID, tbs->Quantity, tbs->ItemName); } else { - Log(Logs::Detail, Logs::Trading, "OP_TraderShop: Null Client Pointer"); + LogTrading("OP_TraderShop: Null Client Pointer"); } } else if (app->size == 4) @@ -14263,23 +14263,23 @@ void Client::Handle_OP_TraderShop(const EQApplicationPacket *app) if (c) { c->WithCustomer(0); - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: End Transaction - Code %d", Command); + LogTrading("Client::Handle_OP_Trader: End Transaction - Code [{}]", Command); } else { - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Null Client Pointer for Trader - Code %d", Command); + LogTrading("Client::Handle_OP_Trader: Null Client Pointer for Trader - Code [{}]", Command); } EQApplicationPacket empty(OP_ShopEndConfirm); QueuePacket(&empty); } else { - Log(Logs::Detail, Logs::Trading, "Client::Handle_OP_Trader: Unhandled Code %d", Command); + LogTrading("Client::Handle_OP_Trader: Unhandled Code [{}]", Command); } } else { - Log(Logs::Detail, Logs::Trading, "Unknown size for OP_TraderShop: %i\n", app->size); + LogTrading("Unknown size for OP_TraderShop: [{}]\n", app->size); LogError("Unknown size for OP_TraderShop: [{}]\n", app->size); DumpPacket(app); return; diff --git a/zone/client_process.cpp b/zone/client_process.cpp index dbd30be5e..1b17f6407 100644 --- a/zone/client_process.cpp +++ b/zone/client_process.cpp @@ -709,7 +709,7 @@ void Client::OnDisconnect(bool hard_disconnect) { Mob *Other = trade->With(); if(Other) { - Log(Logs::Detail, Logs::Trading, "Client disconnected during a trade. Returning their items."); + LogTrading("Client disconnected during a trade. Returning their items"); FinishTrade(this); if(Other->IsClient()) @@ -976,7 +976,7 @@ uint8 Client::WithCustomer(uint16 NewCustomer){ Client* c = entity_list.GetClientByID(CustomerID); if(!c) { - Log(Logs::Detail, Logs::Trading, "Previous customer has gone away."); + LogTrading("Previous customer has gone away"); CustomerID = NewCustomer; return 1; } diff --git a/zone/trading.cpp b/zone/trading.cpp index 5af4e4fcd..088582dc9 100644 --- a/zone/trading.cpp +++ b/zone/trading.cpp @@ -127,7 +127,7 @@ void Trade::AddEntity(uint16 trade_slot_id, uint32 stack_size) { inst2->SetCharges(stack_size + inst2->GetCharges()); } - Log(Logs::Detail, Logs::Trading, "%s added partial item '%s' stack (qty: %i) to trade slot %i", owner->GetName(), inst->GetItem()->Name, stack_size, trade_slot_id); + LogTrading("[{}] added partial item [{}] stack (qty: [{}]) to trade slot [{}]", owner->GetName(), inst->GetItem()->Name, stack_size, trade_slot_id); if (_stack_size > 0) inst->SetCharges(_stack_size); @@ -144,7 +144,7 @@ void Trade::AddEntity(uint16 trade_slot_id, uint32 stack_size) { SendItemData(inst, trade_slot_id); - Log(Logs::Detail, Logs::Trading, "%s added item '%s' to trade slot %i", owner->GetName(), inst->GetItem()->Name, trade_slot_id); + LogTrading("[{}] added item [{}] to trade slot [{}]", owner->GetName(), inst->GetItem()->Name, trade_slot_id); client->PutItemInInventory(trade_slot_id, *inst); client->DeleteItemInInventory(EQEmu::invslot::slotCursor); @@ -297,7 +297,7 @@ void Trade::LogTrade() void Trade::DumpTrade() { Mob* with = With(); - Log(Logs::Detail, Logs::Trading, "Dumping trade data: '%s' in TradeState %i with '%s'", + LogTrading("Dumping trade data: [{}] in TradeState [{}] with [{}]", this->owner->GetName(), state, ((with==nullptr)?"(null)":with->GetName())); if (!owner->IsClient()) @@ -308,7 +308,7 @@ void Trade::DumpTrade() const EQEmu::ItemInstance* inst = trader->GetInv().GetItem(i); if (inst) { - Log(Logs::Detail, Logs::Trading, "Item %i (Charges=%i, Slot=%i, IsBag=%s)", + LogTrading("Item [{}] (Charges=[{}], Slot=[{}], IsBag=[{}])", inst->GetItem()->ID, inst->GetCharges(), i, ((inst->IsClassBag()) ? "True" : "False")); @@ -316,7 +316,7 @@ void Trade::DumpTrade() for (uint8 j = EQEmu::invbag::SLOT_BEGIN; j <= EQEmu::invbag::SLOT_END; j++) { inst = trader->GetInv().GetItem(i, j); if (inst) { - Log(Logs::Detail, Logs::Trading, "\tBagItem %i (Charges=%i, Slot=%i)", + LogTrading("\tBagItem [{}] (Charges=[{}], Slot=[{}])", inst->GetItem()->ID, inst->GetCharges(), EQEmu::InventoryProfile::CalcSlotId(i, j)); } @@ -325,7 +325,7 @@ void Trade::DumpTrade() } } - Log(Logs::Detail, Logs::Trading, "\tpp:%i, gp:%i, sp:%i, cp:%i", pp, gp, sp, cp); + LogTrading("\tpp:[{}], gp:[{}], sp:[{}], cp:[{}]", pp, gp, sp, cp); } @@ -459,7 +459,7 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st bool qs_log = false; if(other) { - Log(Logs::Detail, Logs::Trading, "Finishing trade with client %s", other->GetName()); + LogTrading("Finishing trade with client [{}]", other->GetName()); this->AddMoneyToPP(other->trade->cp, other->trade->sp, other->trade->gp, other->trade->pp, true); @@ -492,7 +492,7 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st const EQEmu::ItemInstance* inst = m_inv[trade_slot]; if (inst && inst->IsClassBag()) { - Log(Logs::Detail, Logs::Trading, "Giving container %s (%d) in slot %d to %s", inst->GetItem()->Name, inst->GetItem()->ID, trade_slot, other->GetName()); + LogTrading("Giving container [{}] ([{}]) in slot [{}] to [{}]", inst->GetItem()->Name, inst->GetItem()->ID, trade_slot, other->GetName()); // TODO: need to check bag items/augments for no drop..everything for attuned... if (inst->GetItem()->NoDrop != 0 || Admin() >= RuleI(Character, MinStatusForNoDropExemptions) || RuleI(World, FVNoDropFlag) == 1 || other == this) { @@ -500,7 +500,7 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st if (free_slot != INVALID_INDEX) { if (other->PutItemInInventory(free_slot, *inst, true)) { - Log(Logs::Detail, Logs::Trading, "Container %s (%d) successfully transferred, deleting from trade slot.", inst->GetItem()->Name, inst->GetItem()->ID); + LogTrading("Container [{}] ([{}]) successfully transferred, deleting from trade slot", inst->GetItem()->Name, inst->GetItem()->ID); if (qs_log) { auto detail = new QSTradeItems_Struct; @@ -552,17 +552,17 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st } } else { - Log(Logs::Detail, Logs::Trading, "Transfer of container %s (%d) to %s failed, returning to giver.", inst->GetItem()->Name, inst->GetItem()->ID, other->GetName()); + LogTrading("Transfer of container [{}] ([{}]) to [{}] failed, returning to giver", inst->GetItem()->Name, inst->GetItem()->ID, other->GetName()); PushItemOnCursor(*inst, true); } } else { - Log(Logs::Detail, Logs::Trading, "%s's inventory is full, returning container %s (%d) to giver.", other->GetName(), inst->GetItem()->Name, inst->GetItem()->ID); + LogTrading("[{}]'s inventory is full, returning container [{}] ([{}]) to giver", other->GetName(), inst->GetItem()->Name, inst->GetItem()->ID); PushItemOnCursor(*inst, true); } } else { - Log(Logs::Detail, Logs::Trading, "Container %s (%d) is NoDrop, returning to giver.", inst->GetItem()->Name, inst->GetItem()->ID); + LogTrading("Container [{}] ([{}]) is NoDrop, returning to giver", inst->GetItem()->Name, inst->GetItem()->ID); PushItemOnCursor(*inst, true); } @@ -588,7 +588,7 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st break; if (partial_inst->GetID() != inst->GetID()) { - Log(Logs::Detail, Logs::Trading, "[CLIENT] Client::ResetTrade() - an incompatible location reference was returned by Inventory::FindFreeSlotForTradeItem()"); + LogTrading("[CLIENT] Client::ResetTrade() - an incompatible location reference was returned by Inventory::FindFreeSlotForTradeItem()"); break; } @@ -606,10 +606,10 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st inst->SetCharges(0); } - Log(Logs::Detail, Logs::Trading, "Transferring partial stack %s (%d) in slot %d to %s", inst->GetItem()->Name, inst->GetItem()->ID, trade_slot, other->GetName()); + LogTrading("Transferring partial stack [{}] ([{}]) in slot [{}] to [{}]", inst->GetItem()->Name, inst->GetItem()->ID, trade_slot, other->GetName()); if (other->PutItemInInventory(partial_slot, *partial_inst, true)) { - Log(Logs::Detail, Logs::Trading, "Partial stack %s (%d) successfully transferred, deleting %i charges from trade slot.", + LogTrading("Partial stack [{}] ([{}]) successfully transferred, deleting [{}] charges from trade slot", inst->GetItem()->Name, inst->GetItem()->ID, (old_charges - inst->GetCharges())); if (qs_log) { auto detail = new QSTradeItems_Struct; @@ -635,7 +635,7 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st } } else { - Log(Logs::Detail, Logs::Trading, "Transfer of partial stack %s (%d) to %s failed, returning %i charges to trade slot.", + LogTrading("Transfer of partial stack [{}] ([{}]) to [{}] failed, returning [{}] charges to trade slot", inst->GetItem()->Name, inst->GetItem()->ID, other->GetName(), (old_charges - inst->GetCharges())); inst->SetCharges(old_charges); @@ -710,7 +710,7 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st const EQEmu::ItemInstance* inst = m_inv[trade_slot]; if (inst) { - Log(Logs::Detail, Logs::Trading, "Giving item %s (%d) in slot %d to %s", inst->GetItem()->Name, inst->GetItem()->ID, trade_slot, other->GetName()); + LogTrading("Giving item [{}] ([{}]) in slot [{}] to [{}]", inst->GetItem()->Name, inst->GetItem()->ID, trade_slot, other->GetName()); // TODO: need to check bag items/augments for no drop..everything for attuned... if (inst->GetItem()->NoDrop != 0 || Admin() >= RuleI(Character, MinStatusForNoDropExemptions) || RuleI(World, FVNoDropFlag) == 1 || other == this) { @@ -718,7 +718,7 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st if (free_slot != INVALID_INDEX) { if (other->PutItemInInventory(free_slot, *inst, true)) { - Log(Logs::Detail, Logs::Trading, "Item %s (%d) successfully transferred, deleting from trade slot.", inst->GetItem()->Name, inst->GetItem()->ID); + LogTrading("Item [{}] ([{}]) successfully transferred, deleting from trade slot", inst->GetItem()->Name, inst->GetItem()->ID); if (qs_log) { auto detail = new QSTradeItems_Struct; @@ -771,17 +771,17 @@ void Client::FinishTrade(Mob* tradingWith, bool finalizer, void* event_entry, st } } else { - Log(Logs::Detail, Logs::Trading, "Transfer of Item %s (%d) to %s failed, returning to giver.", inst->GetItem()->Name, inst->GetItem()->ID, other->GetName()); + LogTrading("Transfer of Item [{}] ([{}]) to [{}] failed, returning to giver", inst->GetItem()->Name, inst->GetItem()->ID, other->GetName()); PushItemOnCursor(*inst, true); } } else { - Log(Logs::Detail, Logs::Trading, "%s's inventory is full, returning item %s (%d) to giver.", other->GetName(), inst->GetItem()->Name, inst->GetItem()->ID); + LogTrading("[{}]'s inventory is full, returning item [{}] ([{}]) to giver", other->GetName(), inst->GetItem()->Name, inst->GetItem()->ID); PushItemOnCursor(*inst, true); } } else { - Log(Logs::Detail, Logs::Trading, "Item %s (%d) is NoDrop, returning to giver.", inst->GetItem()->Name, inst->GetItem()->ID); + LogTrading("Item [{}] ([{}]) is NoDrop, returning to giver", inst->GetItem()->Name, inst->GetItem()->ID); PushItemOnCursor(*inst, true); } @@ -1178,7 +1178,7 @@ void Client::SendTraderItem(uint32 ItemID, uint16 Quantity) { const EQEmu::ItemData* item = database.GetItem(ItemID); if(!item){ - Log(Logs::Detail, Logs::Trading, "Bogus item deleted in Client::SendTraderItem!\n"); + LogTrading("Bogus item deleted in Client::SendTraderItem!\n"); return; } @@ -1237,10 +1237,8 @@ void Client::BulkSendTraderInventory(uint32 char_id) { safe_delete(inst); } else - Log(Logs::Detail, Logs::Trading, "Client::BulkSendTraderInventory nullptr inst pointer"); + LogTrading("Client::BulkSendTraderInventory nullptr inst pointer"); } - else - Log(Logs::Detail, Logs::Trading, "Client::BulkSendTraderInventory nullptr item pointer or item is NODROP %8X",item); } safe_delete(TraderItems); } @@ -1263,7 +1261,7 @@ uint32 Client::FindTraderItemSerialNumber(int32 ItemID) { } } } - Log(Logs::Detail, Logs::Trading, "Client::FindTraderItemSerialNumber Couldn't find item! Item ID %i", ItemID); + LogTrading("Client::FindTraderItemSerialNumber Couldn't find item! Item ID [{}]", ItemID); return 0; } @@ -1286,7 +1284,7 @@ EQEmu::ItemInstance* Client::FindTraderItemBySerialNumber(int32 SerialNumber){ } } } - Log(Logs::Detail, Logs::Trading, "Client::FindTraderItemBySerialNumber Couldn't find item! Serial No. was %i", SerialNumber); + LogTrading("Client::FindTraderItemBySerialNumber Couldn't find item! Serial No. was [{}]", SerialNumber); return nullptr; } @@ -1348,7 +1346,7 @@ uint16 Client::FindTraderItem(int32 SerialNumber, uint16 Quantity){ } } } - Log(Logs::Detail, Logs::Trading, "Could NOT find a match for Item: %i with a quantity of: %i on Trader: %s\n", + LogTrading("Could NOT find a match for Item: [{}] with a quantity of: [{}] on Trader: [{}]\n", SerialNumber , Quantity, this->GetName()); return 0; @@ -1359,7 +1357,7 @@ void Client::NukeTraderItem(uint16 Slot,int16 Charges,uint16 Quantity,Client* Cu if(!Customer) return; - Log(Logs::Detail, Logs::Trading, "NukeTraderItem(Slot %i, Charges %i, Quantity %i", Slot, Charges, Quantity); + LogTrading("NukeTraderItem(Slot [{}], Charges [{}], Quantity [{}]", Slot, Charges, Quantity); if(Quantity < Charges) { @@ -1446,7 +1444,7 @@ void Client::FindAndNukeTraderItem(int32 SerialNumber, uint16 Quantity, Client* if (!item) { - Log(Logs::Detail, Logs::Trading, "Could not find Item: %i on Trader: %s", SerialNumber, Quantity, this->GetName()); + LogTrading("Could not find Item: [{}] on Trader: [{}]", SerialNumber, Quantity, this->GetName()); return; } @@ -1457,7 +1455,7 @@ void Client::FindAndNukeTraderItem(int32 SerialNumber, uint16 Quantity, Client* if (!Stackable) Quantity = (Charges > 0) ? Charges : 1; - Log(Logs::Detail, Logs::Trading, "FindAndNuke %s, Charges %i, Quantity %i", item->GetItem()->Name, Charges, Quantity); + LogTrading("FindAndNuke [{}], Charges [{}], Quantity [{}]", item->GetItem()->Name, Charges, Quantity); if (Charges <= Quantity || (Charges <= 0 && Quantity==1) || !Stackable) { @@ -1499,7 +1497,7 @@ void Client::FindAndNukeTraderItem(int32 SerialNumber, uint16 Quantity, Client* } } - Log(Logs::Detail, Logs::Trading, "Could NOT find a match for Item: %i with a quantity of: %i on Trader: %s\n",SerialNumber, + LogTrading("Could NOT find a match for Item: [{}] with a quantity of: [{}] on Trader: [{}]\n",SerialNumber, Quantity,this->GetName()); } @@ -1599,7 +1597,7 @@ void Client::BuyTraderItem(TraderBuy_Struct* tbs, Client* Trader, const EQApplic BuyItem = Trader->FindTraderItemBySerialNumber(tbs->ItemID); if(!BuyItem) { - Log(Logs::Detail, Logs::Trading, "Unable to find item on trader."); + LogTrading("Unable to find item on trader"); TradeRequestFailed(app); safe_delete(outapp); return; @@ -1607,7 +1605,7 @@ void Client::BuyTraderItem(TraderBuy_Struct* tbs, Client* Trader, const EQApplic tbs->Price = BuyItem->GetPrice(); - Log(Logs::Detail, Logs::Trading, "Buyitem: Name: %s, IsStackable: %i, Requested Quantity: %i, Charges on Item %i", + LogTrading("Buyitem: Name: [{}], IsStackable: [{}], Requested Quantity: [{}], Charges on Item [{}]", BuyItem->GetItem()->Name, BuyItem->IsStackable(), tbs->Quantity, BuyItem->GetCharges()); // If the item is not stackable, then we can only be buying one of them. if(!BuyItem->IsStackable()) @@ -1625,7 +1623,7 @@ void Client::BuyTraderItem(TraderBuy_Struct* tbs, Client* Trader, const EQApplic outtbs->Quantity = tbs->Quantity; } - Log(Logs::Detail, Logs::Trading, "Actual quantity that will be traded is %i", outtbs->Quantity); + LogTrading("Actual quantity that will be traded is [{}]", outtbs->Quantity); if((tbs->Price * outtbs->Quantity) <= 0) { Message(Chat::Red, "Internal error. Aborting trade. Please report this to the ServerOP. Error code is 1"); @@ -1668,7 +1666,7 @@ void Client::BuyTraderItem(TraderBuy_Struct* tbs, Client* Trader, const EQApplic return; } - Log(Logs::Detail, Logs::Trading, "Customer Paid: %d in Copper", TotalCost); + LogTrading("Customer Paid: [{}] in Copper", TotalCost); uint32 platinum = TotalCost / 1000; TotalCost -= (platinum * 1000); @@ -1680,7 +1678,7 @@ void Client::BuyTraderItem(TraderBuy_Struct* tbs, Client* Trader, const EQApplic Trader->AddMoneyToPP(copper, silver, gold, platinum, true); - Log(Logs::Detail, Logs::Trading, "Trader Received: %d Platinum, %d Gold, %d Silver, %d Copper", platinum, gold, silver, copper); + LogTrading("Trader Received: [{}] Platinum, [{}] Gold, [{}] Silver, [{}] Copper", platinum, gold, silver, copper); ReturnTraderReq(app, outtbs->Quantity, ItemID); @@ -1939,7 +1937,7 @@ void Client::SendBazaarResults(uint32 TraderID, uint32 Class_, uint32 Race, uint return; } - Log(Logs::Detail, Logs::Trading, "SRCH: %s", query.c_str()); + LogTrading("SRCH: [{}]", query.c_str()); int Size = 0; uint32 ID = 0; @@ -1984,7 +1982,7 @@ void Client::SendBazaarResults(uint32 TraderID, uint32 Class_, uint32 Race, uint ID = Trader2->GetID(); VARSTRUCT_ENCODE_TYPE(uint32, bufptr, ID); } else { - Log(Logs::Detail, Logs::Trading, "Unable to find trader: %i\n", atoi(row[1])); + LogTrading("Unable to find trader: [{}]\n", atoi(row[1])); VARSTRUCT_ENCODE_TYPE(uint32, bufptr, 0); } Cost = atoi(row[5]); @@ -2074,7 +2072,7 @@ static void UpdateTraderCustomerItemsAdded(uint32 CustomerID, TraderCharges_Stru if(inst->IsStackable()) inst->SetMerchantCount(gis->Charges[i]); - Log(Logs::Detail, Logs::Trading, "Sending price update for %s, Serial No. %i with %i charges", + LogTrading("Sending price update for [{}], Serial No. [{}] with [{}] charges", item->Name, gis->SerialNumber[i], gis->Charges[i]); Customer->SendItemPacket(EQEmu::invslot::slotCursor, inst, ItemPacketMerchant); // MainCursor? @@ -2120,7 +2118,7 @@ static void UpdateTraderCustomerPriceChanged(uint32 CustomerID, TraderCharges_St tdis->ItemID = gis->SerialNumber[i]; } tdis->ItemID = gis->SerialNumber[i]; - Log(Logs::Detail, Logs::Trading, "Telling customer to remove item %i with %i charges and S/N %i", + LogTrading("Telling customer to remove item [{}] with [{}] charges and S/N [{}]", ItemID, Charges, gis->SerialNumber[i]); @@ -2132,7 +2130,7 @@ static void UpdateTraderCustomerPriceChanged(uint32 CustomerID, TraderCharges_St return; } - Log(Logs::Detail, Logs::Trading, "Sending price updates to customer %s", Customer->GetName()); + LogTrading("Sending price updates to customer [{}]", Customer->GetName()); EQEmu::ItemInstance* inst = database.CreateItem(item); @@ -2158,7 +2156,7 @@ static void UpdateTraderCustomerPriceChanged(uint32 CustomerID, TraderCharges_St inst->SetMerchantSlot(gis->SerialNumber[i]); - Log(Logs::Detail, Logs::Trading, "Sending price update for %s, Serial No. %i with %i charges", + LogTrading("Sending price update for [{}], Serial No. [{}] with [{}] charges", item->Name, gis->SerialNumber[i], gis->Charges[i]); Customer->SendItemPacket(EQEmu::invslot::slotCursor, inst, ItemPacketMerchant); // MainCursor?? @@ -2174,7 +2172,7 @@ void Client::HandleTraderPriceUpdate(const EQApplicationPacket *app) { // TraderPriceUpdate_Struct* tpus = (TraderPriceUpdate_Struct*)app->pBuffer; - Log(Logs::Detail, Logs::Trading, "Received Price Update for %s, Item Serial No. %i, New Price %i", + LogTrading("Received Price Update for [{}], Item Serial No. [{}], New Price [{}]", GetName(), tpus->SerialNumber, tpus->NewPrice); // Pull the items this Trader currently has for sale from the trader table. @@ -2202,7 +2200,7 @@ void Client::HandleTraderPriceUpdate(const EQApplicationPacket *app) { if((gis->ItemID[i] > 0) && (gis->SerialNumber[i] == tpus->SerialNumber)) { // We found the item that the Trader wants to change the price of (or add back up for sale). // - Log(Logs::Detail, Logs::Trading, "ItemID is %i, Charges is %i", gis->ItemID[i], gis->Charges[i]); + LogTrading("ItemID is [{}], Charges is [{}]", gis->ItemID[i], gis->Charges[i]); IDOfItemToUpdate = gis->ItemID[i]; @@ -2228,7 +2226,7 @@ void Client::HandleTraderPriceUpdate(const EQApplicationPacket *app) { return ; } - Log(Logs::Detail, Logs::Trading, "Unable to find item to update price for. Rechecking trader satchels"); + LogTrading("Unable to find item to update price for. Rechecking trader satchels"); // Find what is in their Trader Satchels GetItems_Struct* newgis=GetTraderItems(); @@ -2241,7 +2239,7 @@ void Client::HandleTraderPriceUpdate(const EQApplicationPacket *app) { if((newgis->Items[i] > 0) && (newgis->SerialNumber[i] == tpus->SerialNumber)) { - Log(Logs::Detail, Logs::Trading, "Found new Item to Add, ItemID is %i, Charges is %i", newgis->Items[i], + LogTrading("Found new Item to Add, ItemID is [{}], Charges is [{}]", newgis->Items[i], newgis->Charges[i]); IDOfItemToAdd = newgis->Items[i]; @@ -2259,7 +2257,7 @@ void Client::HandleTraderPriceUpdate(const EQApplicationPacket *app) { if(!IDOfItemToAdd || !item) { - Log(Logs::Detail, Logs::Trading, "Item not found in Trader Satchels either."); + LogTrading("Item not found in Trader Satchels either"); tpus->SubAction = BazaarPriceChange_Fail; QueuePacket(app); Trader_EndTrader(); @@ -2304,7 +2302,7 @@ void Client::HandleTraderPriceUpdate(const EQApplicationPacket *app) { gis->SerialNumber[i] = newgis->SerialNumber[i]; gis->ItemCost[i] = tpus->NewPrice; - Log(Logs::Detail, Logs::Trading, "Adding new item for %s. ItemID %i, SerialNumber %i, Charges %i, Price: %i, Slot %i", + LogTrading("Adding new item for [{}]. ItemID [{}], SerialNumber [{}], Charges [{}], Price: [{}], Slot [{}]", GetName(), newgis->Items[i], newgis->SerialNumber[i], newgis->Charges[i], tpus->NewPrice, i); } @@ -2350,7 +2348,7 @@ void Client::HandleTraderPriceUpdate(const EQApplicationPacket *app) { QueuePacket(app); if(OldPrice == tpus->NewPrice) { - Log(Logs::Detail, Logs::Trading, "The new price is the same as the old one."); + LogTrading("The new price is the same as the old one"); safe_delete(gis); return; } @@ -2955,11 +2953,11 @@ void Client::UpdateBuyLine(const EQApplicationPacket *app) { bool LoreConflict = CheckLoreConflict(item); - Log(Logs::Detail, Logs::Trading, "UpdateBuyLine: Char: %s BuySlot: %i ItemID %i %s Quantity %i Toggle: %i Price %i ItemCount %i LoreConflict %i", + LogTrading("UpdateBuyLine: Char: [{}] BuySlot: [{}] ItemID [{}] [{}] Quantity [{}] Toggle: [{}] Price [{}] ItemCount [{}] LoreConflict [{}]", GetName(), BuySlot, ItemID, item->Name, Quantity, ToggleOnOff, Price, ItemCount, LoreConflict); if((item->NoDrop != 0) && !LoreConflict && (Quantity > 0) && HasMoney(Quantity * Price) && ToggleOnOff && (ItemCount == 0)) { - Log(Logs::Detail, Logs::Trading, "Adding to database"); + LogTrading("Adding to database"); database.AddBuyLine(CharacterID(), BuySlot, ItemID, ItemName, Quantity, Price); QueuePacket(app); } diff --git a/zone/zonedb.cpp b/zone/zonedb.cpp index 60c7724d0..ef4e6e188 100755 --- a/zone/zonedb.cpp +++ b/zone/zonedb.cpp @@ -781,14 +781,14 @@ Trader_Struct* ZoneDatabase::LoadTraderItem(uint32 char_id) std::string query = StringFormat("SELECT * FROM trader WHERE char_id = %i ORDER BY slot_id LIMIT 80", char_id); auto results = QueryDatabase(query); if (!results.Success()) { - Log(Logs::Detail, Logs::Trading, "Failed to load trader information!\n"); + LogTrading("Failed to load trader information!\n"); return loadti; } loadti->Code = BazaarTrader_ShowItems; for (auto row = results.begin(); row != results.end(); ++row) { if (atoi(row[5]) >= 80 || atoi(row[4]) < 0) { - Log(Logs::Detail, Logs::Trading, "Bad Slot number when trying to load trader information!\n"); + LogTrading("Bad Slot number when trying to load trader information!\n"); continue; } @@ -806,13 +806,13 @@ TraderCharges_Struct* ZoneDatabase::LoadTraderItemWithCharges(uint32 char_id) std::string query = StringFormat("SELECT * FROM trader WHERE char_id=%i ORDER BY slot_id LIMIT 80", char_id); auto results = QueryDatabase(query); if (!results.Success()) { - Log(Logs::Detail, Logs::Trading, "Failed to load trader information!\n"); + LogTrading("Failed to load trader information!\n"); return loadti; } for (auto row = results.begin(); row != results.end(); ++row) { if (atoi(row[5]) >= 80 || atoi(row[5]) < 0) { - Log(Logs::Detail, Logs::Trading, "Bad Slot number when trying to load trader information!\n"); + LogTrading("Bad Slot number when trying to load trader information!\n"); continue; } @@ -832,7 +832,7 @@ EQEmu::ItemInstance* ZoneDatabase::LoadSingleTraderItem(uint32 CharID, int Seria return nullptr; if (results.RowCount() == 0) { - Log(Logs::Detail, Logs::Trading, "Bad result from query\n"); fflush(stdout); + LogTrading("Bad result from query\n"); fflush(stdout); return nullptr; } @@ -845,7 +845,7 @@ EQEmu::ItemInstance* ZoneDatabase::LoadSingleTraderItem(uint32 CharID, int Seria const EQEmu::ItemData *item = database.GetItem(ItemID); if(!item) { - Log(Logs::Detail, Logs::Trading, "Unable to create item\n"); + LogTrading("Unable to create item\n"); fflush(stdout); return nullptr; } @@ -855,7 +855,7 @@ EQEmu::ItemInstance* ZoneDatabase::LoadSingleTraderItem(uint32 CharID, int Seria EQEmu::ItemInstance* inst = database.CreateItem(item); if(!inst) { - Log(Logs::Detail, Logs::Trading, "Unable to create item instance\n"); + LogTrading("Unable to create item instance\n"); fflush(stdout); return nullptr; } @@ -882,7 +882,7 @@ void ZoneDatabase::SaveTraderItem(uint32 CharID, uint32 ItemID, uint32 SerialNum } void ZoneDatabase::UpdateTraderItemCharges(int CharID, uint32 SerialNumber, int32 Charges) { - Log(Logs::Detail, Logs::Trading, "ZoneDatabase::UpdateTraderItemCharges(%i, %i, %i)", CharID, SerialNumber, Charges); + LogTrading("ZoneDatabase::UpdateTraderItemCharges([{}], [{}], [{}])", CharID, SerialNumber, Charges); std::string query = StringFormat("UPDATE trader SET charges = %i WHERE char_id = %i AND serialnumber = %i", Charges, CharID, SerialNumber); @@ -895,7 +895,7 @@ void ZoneDatabase::UpdateTraderItemCharges(int CharID, uint32 SerialNumber, int3 void ZoneDatabase::UpdateTraderItemPrice(int CharID, uint32 ItemID, uint32 Charges, uint32 NewPrice) { - Log(Logs::Detail, Logs::Trading, "ZoneDatabase::UpdateTraderPrice(%i, %i, %i, %i)", CharID, ItemID, Charges, NewPrice); + LogTrading("ZoneDatabase::UpdateTraderPrice([{}], [{}], [{}], [{}])", CharID, ItemID, Charges, NewPrice); const EQEmu::ItemData *item = database.GetItem(ItemID); @@ -903,7 +903,7 @@ void ZoneDatabase::UpdateTraderItemPrice(int CharID, uint32 ItemID, uint32 Charg return; if(NewPrice == 0) { - Log(Logs::Detail, Logs::Trading, "Removing Trader items from the DB for CharID %i, ItemID %i", CharID, ItemID); + LogTrading("Removing Trader items from the DB for CharID [{}], ItemID [{}]", CharID, ItemID); std::string query = StringFormat("DELETE FROM trader WHERE char_id = %i AND item_id = %i",CharID, ItemID); auto results = QueryDatabase(query);