aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/AuctionHouse/AuctionHouseMgr.cpp')
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp29
1 files changed, 10 insertions, 19 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index e506f8c608b..04970e79860 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -63,28 +63,19 @@ AuctionHouseObject * AuctionHouseMgr::GetAuctionsMap(uint32 factionTemplateId)
return &mNeutralAuctions;
}
-uint32 AuctionHouseMgr::GetAuctionDeposit(AuctionHouseEntry const* entry, uint32 time, Item *pItem)
+uint32 AuctionHouseMgr::GetAuctionDeposit(AuctionHouseEntry const* entry, uint32 time, Item *pItem, uint32 count)
{
uint32 MSV = pItem->GetProto()->SellPrice;
- int32 deposit;
- uint32 timeHr = (((time / 60) / 60) / 12);
-
- if (MSV > 0)
- deposit = (int32)floor((double)MSV * (((double)(entry->depositPercent * 3) / 100.0f * (double)sWorld.getRate(RATE_AUCTION_DEPOSIT) * (double)pItem->GetCount()))) * timeHr;
- else
- deposit = 0;
-
- sLog.outDebug("Sellprice: %u / Depositpercent: %f / AT1: %u / AT2: %u / AT3: %u / Count: %u", MSV, ((double)entry->depositPercent / 100.0f), time, MIN_AUCTION_TIME, timeHr, pItem->GetCount() );
- if (deposit > 0)
- {
- sLog.outDebug("Deposit: %u", deposit);
- return deposit;
- }
- else
- {
- sLog.outDebug("Deposit: 0");
+ if (MSV <= 0)
return 0;
- }
+ uint32 timeHr = (((time / 60) / 60) /12);
+ float multiplier = (float)(entry->depositPercent * 3) / 100.0f;
+ uint32 deposit = ((uint32)((float)MSV * multiplier * (float)count)/3) * 3 * timeHr;
+ sLog.outDebug("MSV: %u", MSV);
+ sLog.outDebug("Items: %u", count);
+ sLog.outDebug("Multiplier: %f", multiplier);
+ sLog.outDebug("Deposit: %u", deposit);
+ return deposit;
}
//does not clear ram