From 6c26bc9c8f05700e851f11d69dc5f018cecc2760 Mon Sep 17 00:00:00 2001 From: KimLS Date: Fri, 20 Mar 2015 13:10:36 -0700 Subject: [PATCH] Fix for alt currency reclaim exploit and fix for exploit in trader code where price != set price --- zone/client_packet.cpp | 2 +- zone/trading.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 1bf44e3ee..a04d4359c 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -2604,7 +2604,7 @@ void Client::Handle_OP_AltCurrencyReclaim(const EQApplicationPacket *app) ++iter; } - if (item_id == 0) { + if (item_id == 0 || reclaim->count == 0) { return; } diff --git a/zone/trading.cpp b/zone/trading.cpp index 0e44a91bc..a521e63cc 100644 --- a/zone/trading.cpp +++ b/zone/trading.cpp @@ -1583,6 +1583,8 @@ void Client::BuyTraderItem(TraderBuy_Struct* tbs, Client* Trader, const EQApplic return; } + tbs->Price = BuyItem->GetPrice(); + Log.Out(Logs::Detail, Logs::Trading, "Buyitem: Name: %s, IsStackable: %i, Requested Quantity: %i, Charges on Item %i", BuyItem->GetItem()->Name, BuyItem->IsStackable(), tbs->Quantity, BuyItem->GetCharges()); // If the item is not stackable, then we can only be buying one of them.