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]
|
[Flags]
|
||||||
public enum AuctionHouseFilterMask
|
public enum AuctionHouseFilterMask
|
||||||
{
|
{
|
||||||
None = 0x0,
|
None = 0x00,
|
||||||
UncollectedOnly = 0x1,
|
UncollectedOnly = 0x02,
|
||||||
UsableOnly = 0x2,
|
UsableOnly = 0x04,
|
||||||
UpgradesOnly = 0x4,
|
CurrentExpansionOnly = 0x08,
|
||||||
ExactMatch = 0x8,
|
UpgradesOnly = 0x10,
|
||||||
PoorQuality = 0x10,
|
ExactMatch = 0x20,
|
||||||
CommonQuality = 0x20,
|
PoorQuality = 0x40,
|
||||||
UncommonQuality = 0x40,
|
CommonQuality = 0x80,
|
||||||
RareQuality = 0x80,
|
UncommonQuality = 0x100,
|
||||||
EpicQuality = 0x100,
|
RareQuality = 0x200,
|
||||||
LegendaryQuality = 0x200,
|
EpicQuality = 0x400,
|
||||||
ArtifactQuality = 0x400,
|
LegendaryQuality = 0x800,
|
||||||
LegendaryCraftedItemOnly = 0x800,
|
ArtifactQuality = 0x1000,
|
||||||
|
LegendaryCraftedItemOnly = 0x2000,
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum AuctionHouseSortOrder
|
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];
|
++bucket.QualityCounts[quality];
|
||||||
|
|
||||||
if (trans != null)
|
if (trans != null)
|
||||||
@@ -733,7 +733,7 @@ namespace Game
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (--bucket.QualityCounts[quality] == 0)
|
if (--bucket.QualityCounts[quality] == 0)
|
||||||
bucket.QualityMask &= (AuctionHouseFilterMask)(~(1 << ((int)quality + 4)));
|
bucket.QualityMask &= (AuctionHouseFilterMask)((uint)AuctionHouseFilterMask.PoorQuality << (int)quality);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_buckets.Remove(bucket.Key);
|
_buckets.Remove(bucket.Key);
|
||||||
@@ -937,6 +937,13 @@ namespace Game
|
|||||||
continue;
|
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
|
// TODO: this one needs to access loot history to know highest item level for every inventory type
|
||||||
//if (filters.HasFlag(AuctionHouseFilterMask.UpgradesOnly))
|
//if (filters.HasFlag(AuctionHouseFilterMask.UpgradesOnly))
|
||||||
//{
|
//{
|
||||||
|
|||||||
Reference in New Issue
Block a user