Core/AuctionHouse: Updated AuctionHouseFilterMask and implemented current expansion filter
Port From (https://github.com/TrinityCore/TrinityCore/commit/5b278a4ca79dd8aa19cde3892d92ae857d6f1dd4)
This commit is contained in:
@@ -50,19 +50,20 @@ namespace Framework.Constants
|
||||
[Flags]
|
||||
public enum AuctionHouseFilterMask
|
||||
{
|
||||
None = 0x0,
|
||||
UncollectedOnly = 0x1,
|
||||
UsableOnly = 0x2,
|
||||
UpgradesOnly = 0x4,
|
||||
ExactMatch = 0x8,
|
||||
PoorQuality = 0x10,
|
||||
CommonQuality = 0x20,
|
||||
UncommonQuality = 0x40,
|
||||
RareQuality = 0x80,
|
||||
EpicQuality = 0x100,
|
||||
LegendaryQuality = 0x200,
|
||||
ArtifactQuality = 0x400,
|
||||
LegendaryCraftedItemOnly = 0x800,
|
||||
None = 0x00,
|
||||
UncollectedOnly = 0x02,
|
||||
UsableOnly = 0x04,
|
||||
CurrentExpansionOnly = 0x08,
|
||||
UpgradesOnly = 0x10,
|
||||
ExactMatch = 0x20,
|
||||
PoorQuality = 0x40,
|
||||
CommonQuality = 0x80,
|
||||
UncommonQuality = 0x100,
|
||||
RareQuality = 0x200,
|
||||
EpicQuality = 0x400,
|
||||
LegendaryQuality = 0x800,
|
||||
ArtifactQuality = 0x1000,
|
||||
LegendaryCraftedItemOnly = 0x2000,
|
||||
}
|
||||
|
||||
public enum AuctionHouseSortOrder
|
||||
|
||||
@@ -625,7 +625,7 @@ namespace Game
|
||||
}
|
||||
}
|
||||
|
||||
bucket.QualityMask |= (AuctionHouseFilterMask)(1 << ((int)quality + 4));
|
||||
bucket.QualityMask |= (AuctionHouseFilterMask)((uint)AuctionHouseFilterMask.PoorQuality << (int)quality);
|
||||
++bucket.QualityCounts[quality];
|
||||
|
||||
if (trans != null)
|
||||
@@ -733,7 +733,7 @@ namespace Game
|
||||
}
|
||||
|
||||
if (--bucket.QualityCounts[quality] == 0)
|
||||
bucket.QualityMask &= (AuctionHouseFilterMask)(~(1 << ((int)quality + 4)));
|
||||
bucket.QualityMask &= (AuctionHouseFilterMask)((uint)AuctionHouseFilterMask.PoorQuality << (int)quality);
|
||||
}
|
||||
else
|
||||
_buckets.Remove(bucket.Key);
|
||||
@@ -937,6 +937,13 @@ namespace Game
|
||||
continue;
|
||||
}
|
||||
|
||||
if (filters.HasFlag(AuctionHouseFilterMask.CurrentExpansionOnly))
|
||||
{
|
||||
ItemTemplate itemTemplate = Global.ObjectMgr.GetItemTemplate(bucket.Key.ItemId);
|
||||
if (itemTemplate.GetRequiredExpansion() != WorldConfig.GetIntValue(WorldCfg.Expansion))
|
||||
continue;
|
||||
}
|
||||
|
||||
// TODO: this one needs to access loot history to know highest item level for every inventory type
|
||||
//if (filters.HasFlag(AuctionHouseFilterMask.UpgradesOnly))
|
||||
//{
|
||||
|
||||
Reference in New Issue
Block a user