* AHBot rewritten to cause less lag spikes when checking for bids and when adding new auctions.
* AH Deposit function rewritten to generate deposits closer to official. * AH Mail system rewritten to fix some bugs. * MULTI_THREAD_MAP enabled by default (I have no idea why this was commented out before) * CLIENT_VER added for allowing parts of the code to be enabled/disabled depending on the client version supported. Only used in AHBot for now. * Various code cleanups. --HG-- branch : trunk
This commit is contained in:
@@ -3,7 +3,11 @@
|
||||
|
||||
#include "World.h"
|
||||
#include "Config/ConfigEnv.h"
|
||||
#if CLIENT_VER > 300
|
||||
#include "ace/Vector_T.h"
|
||||
#else if CLIENT_VER > 100
|
||||
#include <vector>
|
||||
#endif
|
||||
|
||||
#define AHB_GREY 0
|
||||
#define AHB_WHITE 1
|
||||
@@ -110,6 +114,22 @@ private:
|
||||
uint32 orangeip;
|
||||
uint32 yellowip;
|
||||
|
||||
uint32 greyTGoods;
|
||||
uint32 whiteTGoods;
|
||||
uint32 greenTGoods;
|
||||
uint32 blueTGoods;
|
||||
uint32 purpleTGoods;
|
||||
uint32 orangeTGoods;
|
||||
uint32 yellowTGoods;
|
||||
|
||||
uint32 greyItems;
|
||||
uint32 whiteItems;
|
||||
uint32 greenItems;
|
||||
uint32 blueItems;
|
||||
uint32 purpleItems;
|
||||
uint32 orangeItems;
|
||||
uint32 yellowItems;
|
||||
|
||||
public:
|
||||
AHBConfig(uint32 ahid)
|
||||
{
|
||||
@@ -876,6 +896,225 @@ public:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DecItemCounts(uint32 Class, uint32 Quality)
|
||||
{
|
||||
switch(Class)
|
||||
{
|
||||
case ITEM_CLASS_TRADE_GOODS:
|
||||
DecItemCounts(Quality);
|
||||
break;
|
||||
default:
|
||||
DecItemCounts(Quality + 7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DecItemCounts(uint32 color)
|
||||
{
|
||||
switch(color)
|
||||
{
|
||||
case AHB_GREY_TG:
|
||||
--greyTGoods;
|
||||
break;
|
||||
case AHB_WHITE_TG:
|
||||
--whiteTGoods;
|
||||
break;
|
||||
case AHB_GREEN_TG:
|
||||
--greenTGoods;
|
||||
break;
|
||||
case AHB_BLUE_TG:
|
||||
--blueTGoods;
|
||||
break;
|
||||
case AHB_PURPLE_TG:
|
||||
--purpleTGoods;
|
||||
break;
|
||||
case AHB_ORANGE_TG:
|
||||
--orangeTGoods;
|
||||
break;
|
||||
case AHB_YELLOW_TG:
|
||||
--yellowTGoods;
|
||||
break;
|
||||
case AHB_GREY_I:
|
||||
--greyItems;
|
||||
break;
|
||||
case AHB_WHITE_I:
|
||||
--whiteItems;
|
||||
break;
|
||||
case AHB_GREEN_I:
|
||||
--greenItems;
|
||||
break;
|
||||
case AHB_BLUE_I:
|
||||
--blueItems;
|
||||
break;
|
||||
case AHB_PURPLE_I:
|
||||
--purpleItems;
|
||||
break;
|
||||
case AHB_ORANGE_I:
|
||||
--orangeItems;
|
||||
break;
|
||||
case AHB_YELLOW_I:
|
||||
--yellowItems;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void IncItemCounts(uint32 Class, uint32 Quality)
|
||||
{
|
||||
switch(Class)
|
||||
{
|
||||
case ITEM_CLASS_TRADE_GOODS:
|
||||
IncItemCounts(Quality);
|
||||
break;
|
||||
default:
|
||||
IncItemCounts(Quality + 7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void IncItemCounts(uint32 color)
|
||||
{
|
||||
switch(color)
|
||||
{
|
||||
case AHB_GREY_TG:
|
||||
++greyTGoods;
|
||||
break;
|
||||
case AHB_WHITE_TG:
|
||||
++whiteTGoods;
|
||||
break;
|
||||
case AHB_GREEN_TG:
|
||||
++greenTGoods;
|
||||
break;
|
||||
case AHB_BLUE_TG:
|
||||
++blueTGoods;
|
||||
break;
|
||||
case AHB_PURPLE_TG:
|
||||
++purpleTGoods;
|
||||
break;
|
||||
case AHB_ORANGE_TG:
|
||||
++orangeTGoods;
|
||||
break;
|
||||
case AHB_YELLOW_TG:
|
||||
++yellowTGoods;
|
||||
break;
|
||||
case AHB_GREY_I:
|
||||
++greyItems;
|
||||
break;
|
||||
case AHB_WHITE_I:
|
||||
++whiteItems;
|
||||
break;
|
||||
case AHB_GREEN_I:
|
||||
++greenItems;
|
||||
break;
|
||||
case AHB_BLUE_I:
|
||||
++blueItems;
|
||||
break;
|
||||
case AHB_PURPLE_I:
|
||||
++purpleItems;
|
||||
break;
|
||||
case AHB_ORANGE_I:
|
||||
++orangeItems;
|
||||
break;
|
||||
case AHB_YELLOW_I:
|
||||
++yellowItems;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ResetItemCounts()
|
||||
{
|
||||
greyTGoods = 0;
|
||||
whiteTGoods = 0;
|
||||
greenTGoods = 0;
|
||||
blueTGoods = 0;
|
||||
purpleTGoods = 0;
|
||||
orangeTGoods = 0;
|
||||
yellowTGoods = 0;
|
||||
|
||||
greyItems = 0;
|
||||
whiteItems = 0;
|
||||
greenItems = 0;
|
||||
blueItems = 0;
|
||||
purpleItems = 0;
|
||||
orangeItems = 0;
|
||||
yellowItems = 0;
|
||||
}
|
||||
|
||||
uint32 TotalItemCounts()
|
||||
{
|
||||
return(
|
||||
greyTGoods +
|
||||
whiteTGoods +
|
||||
greenTGoods +
|
||||
blueTGoods +
|
||||
purpleTGoods +
|
||||
orangeTGoods +
|
||||
yellowTGoods +
|
||||
|
||||
greyItems +
|
||||
whiteItems +
|
||||
greenItems +
|
||||
blueItems +
|
||||
purpleItems +
|
||||
orangeItems +
|
||||
yellowItems);
|
||||
}
|
||||
|
||||
uint32 GetItemCounts(uint32 color)
|
||||
{
|
||||
switch(color)
|
||||
{
|
||||
case AHB_GREY_TG:
|
||||
return greyTGoods;
|
||||
break;
|
||||
case AHB_WHITE_TG:
|
||||
return whiteTGoods;
|
||||
break;
|
||||
case AHB_GREEN_TG:
|
||||
return greenTGoods;
|
||||
break;
|
||||
case AHB_BLUE_TG:
|
||||
return blueTGoods;
|
||||
break;
|
||||
case AHB_PURPLE_TG:
|
||||
return purpleTGoods;
|
||||
break;
|
||||
case AHB_ORANGE_TG:
|
||||
return orangeTGoods;
|
||||
break;
|
||||
case AHB_YELLOW_TG:
|
||||
return yellowTGoods;
|
||||
break;
|
||||
case AHB_GREY_I:
|
||||
return greyItems;
|
||||
break;
|
||||
case AHB_WHITE_I:
|
||||
return whiteItems;
|
||||
break;
|
||||
case AHB_GREEN_I:
|
||||
return greenItems;
|
||||
break;
|
||||
case AHB_BLUE_I:
|
||||
return blueItems;
|
||||
break;
|
||||
case AHB_PURPLE_I:
|
||||
return purpleItems;
|
||||
break;
|
||||
case AHB_ORANGE_I:
|
||||
return orangeItems;
|
||||
break;
|
||||
case AHB_YELLOW_I:
|
||||
return yellowItems;
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
void SetBidsPerInterval(uint32 value)
|
||||
{
|
||||
buyerBidsPerInterval = value;
|
||||
@@ -891,6 +1130,7 @@ public:
|
||||
class AuctionHouseBot
|
||||
{
|
||||
private:
|
||||
#if CLIENT_VER > 300
|
||||
ACE_Vector<uint32> npcItems;
|
||||
ACE_Vector<uint32> lootItems;
|
||||
ACE_Vector<uint32> greyTradeGoodsBin;
|
||||
@@ -907,6 +1147,7 @@ private:
|
||||
ACE_Vector<uint32> purpleItemsBin;
|
||||
ACE_Vector<uint32> orangeItemsBin;
|
||||
ACE_Vector<uint32> yellowItemsBin;
|
||||
#endif
|
||||
|
||||
bool debug_Out;
|
||||
bool debug_Out_Filters;
|
||||
@@ -937,7 +1178,9 @@ private:
|
||||
|
||||
bool DisableBeta_PTR_Unused;
|
||||
bool DisablePermEnchant;
|
||||
#if CLIENT_VER > 300
|
||||
bool DisableConjured;
|
||||
#endif
|
||||
bool DisableGems;
|
||||
bool DisableMoney;
|
||||
bool DisableMoneyLoot;
|
||||
@@ -995,6 +1238,8 @@ public:
|
||||
void Update();
|
||||
void Initialize();
|
||||
void LoadValues(AHBConfig*);
|
||||
void DecrementItemCounts(AuctionEntry* ah, uint32 item_template);
|
||||
void IncrementItemCounts(AuctionEntry* ah);
|
||||
void Commands(uint32, uint32, uint32, char*);
|
||||
uint32 GetAHBplayerGUID() { return AHBplayerGUID; };
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user