Skip to content

Commit

Permalink
Fix batch trade ordering.
Browse files Browse the repository at this point in the history
  • Loading branch information
bdawg1989 committed Oct 27, 2024
1 parent 26f0fe4 commit 8922ec2
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions SysBot.Pokemon/Queues/TradeQueueInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -204,12 +204,20 @@ public QueueResultAdd AddToTradeQueue(TradeEntry<T> trade, ulong userID, bool al
if (Hub.Config.Legality.ResetHOMETracker && trade.Trade.TradeData is IHomeTrack t)
t.Tracker = 0;

var priority = sudo ? PokeTradePriorities.Tier1 :
trade.Trade.IsFavored ? PokeTradePriorities.Tier2 :
PokeTradePriorities.TierFree;
var basePriority = sudo ? PokeTradePriorities.Tier1 :
trade.Trade.IsFavored ? PokeTradePriorities.Tier2 :
PokeTradePriorities.TierFree;

int adjustedPriority = (int)basePriority;

if (trade.Trade.Type == PokeTradeType.Batch)
{
adjustedPriority = (int)(basePriority * 1000 - trade.Trade.BatchTradeNumber);
}

var queue = Hub.Queues.GetQueue(trade.Type);

queue.Enqueue(trade.Trade, priority);
queue.Enqueue(trade.Trade, (uint)adjustedPriority);
UsersInQueue.Add(trade);

trade.Trade.Notifier.OnFinish = _ => Remove(trade);
Expand Down

0 comments on commit 8922ec2

Please sign in to comment.