2009-01-20 16:44:05 -06:00
|
|
|
#ifndef AUCTION_HOUSE_BOT_H
|
|
|
|
|
#define AUCTION_HOUSE_BOT_H
|
|
|
|
|
#include "Common.h"
|
|
|
|
|
#include "Log.h"
|
|
|
|
|
#include "Config/ConfigEnv.h"
|
2009-02-13 18:35:21 -06:00
|
|
|
#include "AuctionHouseMgr.h"
|
2009-01-20 16:44:05 -06:00
|
|
|
#define AHB_GREY 0
|
|
|
|
|
#define AHB_WHITE 1
|
|
|
|
|
#define AHB_GREEN 2
|
|
|
|
|
#define AHB_BLUE 3
|
|
|
|
|
#define AHB_PURPLE 4
|
|
|
|
|
#define AHB_GREY_TG 0
|
|
|
|
|
#define AHB_WHITE_TG 1
|
|
|
|
|
#define AHB_GREEN_TG 2
|
|
|
|
|
#define AHB_BLUE_TG 3
|
|
|
|
|
#define AHB_PURPLE_TG 4
|
|
|
|
|
#define AHB_GREY_I 5
|
|
|
|
|
#define AHB_WHITE_I 6
|
|
|
|
|
#define AHB_GREEN_I 7
|
|
|
|
|
#define AHB_BLUE_I 8
|
|
|
|
|
#define AHB_PURPLE_I 9
|
|
|
|
|
#define AHBplayerAccount sConfig.GetIntDefault("AuctionHouseBot.Account", 0)
|
|
|
|
|
#define AHBplayerGUID sConfig.GetIntDefault("AuctionHouseBot.GUID", 0)
|
|
|
|
|
#define ItemsPerCycle sConfig.GetIntDefault("AuctionHouseBot.ItemsPerCycle", 200)
|
|
|
|
|
#define SellMethod sConfig.GetIntDefault("AuctionHouseBot.UseBuyPriceForSeller", 1)
|
|
|
|
|
#define BuyMethod sConfig.GetIntDefault("AuctionHouseBot.UseBuyPriceForBuyer", 0)
|
|
|
|
|
|
|
|
|
|
class AHBConfig
|
|
|
|
|
{
|
|
|
|
|
private:
|
2009-02-09 22:08:06 -06:00
|
|
|
AuctionLocation AHID;
|
2009-01-20 16:44:05 -06:00
|
|
|
uint32 minItems;
|
|
|
|
|
uint32 maxItems;
|
|
|
|
|
uint32 minTime;
|
|
|
|
|
uint32 maxTime;
|
|
|
|
|
uint32 percentWhiteTradeGoods;
|
|
|
|
|
uint32 percentGreenTradeGoods;
|
|
|
|
|
uint32 percentBlueTradeGoods;
|
|
|
|
|
uint32 percentPurpleTradeGoods;
|
|
|
|
|
uint32 percentWhiteItems;
|
|
|
|
|
uint32 percentGreenItems;
|
|
|
|
|
uint32 percentBlueItems;
|
|
|
|
|
uint32 percentPurpleItems;
|
|
|
|
|
uint32 minPriceWhite;
|
|
|
|
|
uint32 maxPriceWhite;
|
|
|
|
|
uint32 minBidPriceWhite;
|
|
|
|
|
uint32 maxBidPriceWhite;
|
|
|
|
|
uint32 maxStackWhite;
|
|
|
|
|
uint32 minPriceGreen;
|
|
|
|
|
uint32 maxPriceGreen;
|
|
|
|
|
uint32 minBidPriceGreen;
|
|
|
|
|
uint32 maxBidPriceGreen;
|
|
|
|
|
uint32 maxStackGreen;
|
|
|
|
|
uint32 minPriceBlue;
|
|
|
|
|
uint32 maxPriceBlue;
|
|
|
|
|
uint32 minBidPriceBlue;
|
|
|
|
|
uint32 maxBidPriceBlue;
|
|
|
|
|
uint32 maxStackBlue;
|
|
|
|
|
uint32 minPricePurple;
|
|
|
|
|
uint32 maxPricePurple;
|
|
|
|
|
uint32 minBidPricePurple;
|
|
|
|
|
uint32 maxBidPricePurple;
|
|
|
|
|
uint32 maxStackPurple;
|
|
|
|
|
|
|
|
|
|
uint32 buyerPriceGrey;
|
|
|
|
|
uint32 buyerPriceWhite;
|
|
|
|
|
uint32 buyerPriceGreen;
|
|
|
|
|
uint32 buyerPriceBlue;
|
|
|
|
|
uint32 buyerPricePurple;
|
|
|
|
|
uint32 buyerBiddingInterval;
|
|
|
|
|
uint32 buyerBidsPerInterval;
|
|
|
|
|
|
|
|
|
|
uint32 wtgp;
|
|
|
|
|
uint32 gtgp;
|
|
|
|
|
uint32 btgp;
|
|
|
|
|
uint32 ptgp;
|
|
|
|
|
uint32 wip;
|
|
|
|
|
uint32 gip;
|
|
|
|
|
uint32 bip;
|
|
|
|
|
uint32 pip;
|
|
|
|
|
public:
|
2009-02-09 22:08:06 -06:00
|
|
|
AHBConfig(AuctionLocation ahid)
|
2009-01-20 16:44:05 -06:00
|
|
|
{
|
|
|
|
|
AHID = ahid;
|
|
|
|
|
}
|
|
|
|
|
AHBConfig()
|
|
|
|
|
{
|
|
|
|
|
}
|
2009-02-09 22:08:06 -06:00
|
|
|
AuctionLocation GetAHID()
|
2009-01-20 16:44:05 -06:00
|
|
|
{
|
|
|
|
|
return AHID;
|
|
|
|
|
}
|
|
|
|
|
void SetMinItems(uint32 value)
|
|
|
|
|
{
|
|
|
|
|
minItems = value;
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMinItems()
|
|
|
|
|
{
|
|
|
|
|
if ((minItems == 0) && (maxItems))
|
|
|
|
|
return maxItems;
|
|
|
|
|
else if ((maxItems) && (minItems > maxItems))
|
|
|
|
|
return maxItems;
|
|
|
|
|
else
|
|
|
|
|
return minItems;
|
|
|
|
|
}
|
|
|
|
|
void SetMaxItems(uint32 value)
|
|
|
|
|
{
|
|
|
|
|
maxItems = value;
|
|
|
|
|
CalculatePercents();
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMaxItems()
|
|
|
|
|
{
|
|
|
|
|
return maxItems;
|
|
|
|
|
}
|
|
|
|
|
void SetMinTime(uint32 value)
|
|
|
|
|
{
|
|
|
|
|
minTime = value;
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMinTime()
|
|
|
|
|
{
|
|
|
|
|
if (minTime < 1)
|
|
|
|
|
return 1;
|
|
|
|
|
else if ((maxTime) && (minTime > maxTime))
|
|
|
|
|
return maxTime;
|
|
|
|
|
else
|
|
|
|
|
return minTime;
|
|
|
|
|
}
|
|
|
|
|
void SetMaxTime(uint32 value)
|
|
|
|
|
{
|
|
|
|
|
maxTime = value;
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMaxTime()
|
|
|
|
|
{
|
|
|
|
|
return maxTime;
|
|
|
|
|
}
|
|
|
|
|
void SetPercentages(uint32 wtg, uint32 gtg, uint32 btg, uint32 ptg, uint32 wi, uint32 gi, uint32 bi, uint32 pi)
|
|
|
|
|
{
|
|
|
|
|
uint32 totalPercent = wtg + gtg + btg + ptg + wi + gi + bi + pi;
|
|
|
|
|
|
|
|
|
|
if (totalPercent == 0)
|
|
|
|
|
{
|
|
|
|
|
maxItems = 0;
|
|
|
|
|
}
|
|
|
|
|
else if (totalPercent != 100)
|
|
|
|
|
{
|
|
|
|
|
double scale = (double) 100 / (double) totalPercent;
|
|
|
|
|
|
|
|
|
|
wtg = (uint32) (scale * (double) pi);
|
|
|
|
|
gtg = (uint32) (scale * (double) gtg);
|
|
|
|
|
btg = (uint32) (scale * (double) btg);
|
|
|
|
|
ptg = (uint32) (scale * (double) ptg);
|
|
|
|
|
wi = (uint32) (scale * (double) wi);
|
|
|
|
|
gi = (uint32) (scale * (double) gi);
|
|
|
|
|
bi = (uint32) (scale * (double) bi);
|
|
|
|
|
pi = 100 - wtg - gtg - btg - ptg - wi - gi - bi;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
percentWhiteTradeGoods = wtg;
|
|
|
|
|
percentGreenTradeGoods = gtg;
|
|
|
|
|
percentBlueTradeGoods = btg;
|
|
|
|
|
percentPurpleTradeGoods = ptg;
|
|
|
|
|
percentWhiteItems = wi;
|
|
|
|
|
percentGreenItems = gi;
|
|
|
|
|
percentBlueItems = bi;
|
|
|
|
|
percentPurpleItems = pi;
|
|
|
|
|
CalculatePercents();
|
|
|
|
|
}
|
|
|
|
|
uint32 GetPercentages(uint32 color)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY_TG:
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE_TG:
|
|
|
|
|
return percentWhiteTradeGoods;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN_TG:
|
|
|
|
|
return percentGreenTradeGoods;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE_TG:
|
|
|
|
|
return percentBlueTradeGoods;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE_TG:
|
|
|
|
|
return percentPurpleTradeGoods;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREY_I:
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE_I:
|
|
|
|
|
return percentWhiteItems;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN_I:
|
|
|
|
|
return percentGreenItems;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE_I:
|
|
|
|
|
return percentBlueItems;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE_I:
|
|
|
|
|
return percentPurpleItems;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void SetMinPrice(uint32 color, uint32 value)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
minPriceWhite = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
minPriceGreen = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
minPriceBlue = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
minPricePurple = value;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMinPrice(uint32 color)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
{
|
|
|
|
|
if (minPriceWhite == 0)
|
|
|
|
|
return 150;
|
|
|
|
|
else if (minPriceWhite > maxPriceWhite)
|
|
|
|
|
return maxPriceWhite;
|
|
|
|
|
else
|
|
|
|
|
return minPriceWhite;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
{
|
|
|
|
|
if (minPriceGreen == 0)
|
|
|
|
|
return 200;
|
|
|
|
|
else if (minPriceGreen > maxPriceGreen)
|
|
|
|
|
return maxPriceGreen;
|
|
|
|
|
else
|
|
|
|
|
return minPriceGreen;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
{
|
|
|
|
|
if (minPriceBlue == 0)
|
|
|
|
|
return 250;
|
|
|
|
|
else if (minPriceBlue > maxPriceBlue)
|
|
|
|
|
return maxPriceBlue;
|
|
|
|
|
else
|
|
|
|
|
return minPriceBlue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
{
|
|
|
|
|
if (minPricePurple == 0)
|
|
|
|
|
return 300;
|
|
|
|
|
else if (minPricePurple > maxPricePurple)
|
|
|
|
|
return maxPricePurple;
|
|
|
|
|
else
|
|
|
|
|
return minPricePurple;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void SetMaxPrice(uint32 color, uint32 value)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
maxPriceWhite = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
maxPriceGreen = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
maxPriceBlue = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
maxPricePurple = value;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMaxPrice(uint32 color)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
{
|
|
|
|
|
if (maxPriceWhite == 0)
|
|
|
|
|
return 250;
|
|
|
|
|
else
|
|
|
|
|
return maxPriceWhite;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
{
|
|
|
|
|
if (maxPriceGreen == 0)
|
|
|
|
|
return 300;
|
|
|
|
|
else
|
|
|
|
|
return maxPriceGreen;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
{
|
|
|
|
|
if (maxPriceBlue == 0)
|
|
|
|
|
return 350;
|
|
|
|
|
else
|
|
|
|
|
return maxPriceBlue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
{
|
|
|
|
|
if (maxPricePurple == 0)
|
|
|
|
|
return 450;
|
|
|
|
|
else
|
|
|
|
|
return maxPricePurple;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void SetMinBidPrice(uint32 color, uint32 value)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
minBidPriceWhite = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
minBidPriceGreen = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
minBidPriceBlue = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
minBidPricePurple = value;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMinBidPrice(uint32 color)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
{
|
|
|
|
|
if (minBidPriceWhite > 100)
|
|
|
|
|
return 100;
|
|
|
|
|
else
|
|
|
|
|
return minBidPriceWhite;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
{
|
|
|
|
|
if (minBidPriceGreen > 100)
|
|
|
|
|
return 100;
|
|
|
|
|
else
|
|
|
|
|
return minBidPriceGreen;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
{
|
|
|
|
|
if (minBidPriceBlue > 100)
|
|
|
|
|
return 100;
|
|
|
|
|
else
|
|
|
|
|
return minBidPriceBlue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
{
|
|
|
|
|
if (minBidPricePurple > 100)
|
|
|
|
|
return 100;
|
|
|
|
|
else
|
|
|
|
|
return minBidPricePurple;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void SetMaxBidPrice(uint32 color, uint32 value)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
maxBidPriceWhite = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
maxBidPriceGreen = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
maxBidPriceBlue = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
maxBidPricePurple = value;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMaxBidPrice(uint32 color)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
{
|
|
|
|
|
if (maxBidPriceWhite > 100)
|
|
|
|
|
return 100;
|
|
|
|
|
else
|
|
|
|
|
return maxBidPriceWhite;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
{
|
|
|
|
|
if (maxBidPriceGreen > 100)
|
|
|
|
|
return 100;
|
|
|
|
|
else
|
|
|
|
|
return maxBidPriceGreen;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
{
|
|
|
|
|
if (maxBidPriceBlue > 100)
|
|
|
|
|
return 100;
|
|
|
|
|
else
|
|
|
|
|
return maxBidPriceBlue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
{
|
|
|
|
|
if (maxBidPricePurple > 100)
|
|
|
|
|
return 100;
|
|
|
|
|
else
|
|
|
|
|
return maxBidPricePurple;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void SetMaxStack(uint32 color, uint32 value)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
maxStackWhite = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
maxStackGreen = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
maxStackBlue = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
maxStackPurple = value;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
uint32 GetMaxStack(uint32 color)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
{
|
|
|
|
|
return maxStackWhite;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
{
|
|
|
|
|
return maxStackGreen;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
{
|
|
|
|
|
return maxStackBlue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
{
|
|
|
|
|
return maxStackPurple;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void SetBuyerPrice(uint32 color, uint32 value)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
buyerPriceGrey = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
buyerPriceWhite = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
buyerPriceGreen = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
buyerPriceBlue = value;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
buyerPricePurple = value;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
uint32 GetBuyerPrice(uint32 color)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY:
|
|
|
|
|
return buyerPriceGrey;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE:
|
|
|
|
|
return buyerPriceWhite;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN:
|
|
|
|
|
return buyerPriceGreen;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE:
|
|
|
|
|
return buyerPriceBlue;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE:
|
|
|
|
|
return buyerPricePurple;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void SetBiddingInterval(uint32 value)
|
|
|
|
|
{
|
|
|
|
|
buyerBiddingInterval = value;
|
|
|
|
|
}
|
|
|
|
|
uint32 GetBiddingInterval()
|
|
|
|
|
{
|
|
|
|
|
return buyerBiddingInterval;
|
|
|
|
|
}
|
|
|
|
|
void CalculatePercents()
|
|
|
|
|
{
|
|
|
|
|
wtgp = (uint32) (((double)percentWhiteTradeGoods / 100.0) * maxItems);
|
|
|
|
|
gtgp = (uint32) (((double)percentGreenTradeGoods / 100.0) * maxItems);
|
|
|
|
|
btgp = (uint32) (((double)percentBlueTradeGoods / 100.0) * maxItems);
|
|
|
|
|
ptgp = (uint32) (((double)percentPurpleTradeGoods / 100.0) * maxItems);
|
|
|
|
|
wip = (uint32) (((double)percentWhiteItems / 100.0) * maxItems);
|
|
|
|
|
gip = (uint32) (((double)percentGreenItems / 100.0) * maxItems);
|
|
|
|
|
bip = (uint32) (((double)percentBlueItems / 100.0) * maxItems);
|
|
|
|
|
pip = (uint32) (((double)percentPurpleItems / 100.0) * maxItems);
|
|
|
|
|
uint32 total = wtgp + gtgp + btgp + ptgp + wip + gip + bip + pip;
|
|
|
|
|
if (total != maxItems)
|
|
|
|
|
{
|
|
|
|
|
wtgp = (uint32) (maxItems * (double) wtgp);
|
|
|
|
|
gtgp = (uint32) (maxItems * (double) gtgp);
|
|
|
|
|
btgp = (uint32) (maxItems * (double) btgp);
|
|
|
|
|
ptgp = (uint32) (maxItems * (double) ptgp);
|
|
|
|
|
wip = (uint32) (maxItems * (double) wip);
|
|
|
|
|
gip = (uint32) (maxItems * (double) gip);
|
|
|
|
|
bip = (uint32) (maxItems * (double) bip);
|
|
|
|
|
pip = (maxItems - (wtgp + gtgp + btgp + ptgp + wip + gip + bip));
|
|
|
|
|
total = wtgp + gtgp + btgp + ptgp + wip + gip + bip + pip;
|
|
|
|
|
}
|
|
|
|
|
//sLog.outString("%u %u %u %u %u %u %u %u", wtgp, gtgp, btgp, ptgp, wip, gip, bip, pip);
|
|
|
|
|
}
|
|
|
|
|
uint32 GetPercents(uint32 color)
|
|
|
|
|
{
|
|
|
|
|
switch(color)
|
|
|
|
|
{
|
|
|
|
|
case AHB_GREY_TG:
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE_TG:
|
|
|
|
|
return wtgp;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN_TG:
|
|
|
|
|
return gtgp;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE_TG:
|
|
|
|
|
return btgp;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE_TG:
|
|
|
|
|
return ptgp;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREY_I:
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_WHITE_I:
|
|
|
|
|
return wip;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_GREEN_I:
|
|
|
|
|
return gip;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_BLUE_I:
|
|
|
|
|
return bip;
|
|
|
|
|
break;
|
|
|
|
|
case AHB_PURPLE_I:
|
|
|
|
|
return pip;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void SetBidsPerInterval(uint32 value)
|
|
|
|
|
{
|
|
|
|
|
buyerBidsPerInterval = value;
|
|
|
|
|
}
|
|
|
|
|
uint32 GetBidsPerInterval()
|
|
|
|
|
{
|
|
|
|
|
return buyerBidsPerInterval;
|
|
|
|
|
}
|
|
|
|
|
~AHBConfig()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
void AuctionHouseBot();
|
|
|
|
|
void AuctionHouseBotInit();
|
|
|
|
|
void AuctionHouseBotLoadValues(AHBConfig*);
|
2009-02-09 22:08:06 -06:00
|
|
|
void AuctionHouseBotCommands(uint32, AuctionLocation, uint32, char*);
|
2009-01-20 16:44:05 -06:00
|
|
|
#endif
|
2009-02-17 20:07:49 -06:00
|
|
|
|