mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2026-01-01 14:10:53 +00:00
Fix tradableOnly/marketableOnly not working properly
This commit is contained in:
@@ -231,7 +231,21 @@ public sealed class ArchiHandler : ClientMsgHandler {
|
||||
}
|
||||
|
||||
foreach (CEcon_Asset? asset in response.assets) {
|
||||
if (!descriptions.TryGetValue((asset.classid, asset.instanceid), out InventoryDescription? description) || !assetIDs.Add(asset.assetid)) {
|
||||
if (!assetIDs.Add(asset.assetid)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
(ulong ClassID, ulong InstanceID) key = (asset.classid, asset.instanceid);
|
||||
|
||||
if (!descriptions.TryGetValue(key, out InventoryDescription? description)) {
|
||||
// Best effort only
|
||||
description = new InventoryDescription(appID, asset.classid, asset.instanceid);
|
||||
|
||||
descriptions.Add(key, description);
|
||||
}
|
||||
|
||||
// Extra bulletproofing against Steam showing us middle finger
|
||||
if ((tradableOnly && !description.Tradable) || (marketableOnly && !description.Marketable)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -363,10 +363,19 @@ public sealed class ArchiWebHandler : IDisposable {
|
||||
}
|
||||
|
||||
foreach (Asset asset in response.Content.Assets) {
|
||||
if (!descriptions.TryGetValue((asset.ClassID, asset.InstanceID), out InventoryDescription? description) || !assetIDs.Add(asset.AssetID)) {
|
||||
if (!assetIDs.Add(asset.AssetID)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
(ulong ClassID, ulong InstanceID) key = (asset.ClassID, asset.InstanceID);
|
||||
|
||||
if (!descriptions.TryGetValue(key, out InventoryDescription? description)) {
|
||||
// Best effort only
|
||||
description = new InventoryDescription(appID, asset.ClassID, asset.InstanceID);
|
||||
|
||||
descriptions.Add(key, description);
|
||||
}
|
||||
|
||||
asset.Description = description;
|
||||
|
||||
yield return asset;
|
||||
|
||||
Reference in New Issue
Block a user