diff --git a/binaries/data/mods/public/simulation/components/Trader.js b/binaries/data/mods/public/simulation/components/Trader.js index c8c682be73..516403f40a 100644 --- a/binaries/data/mods/public/simulation/components/Trader.js +++ b/binaries/data/mods/public/simulation/components/Trader.js @@ -75,7 +75,7 @@ Trader.prototype.SetTargetMarket = function(target, source) return false; if (!cmpTargetIdentity.HasClass("Market") && !cmpTargetIdentity.HasClass("NavalMarket")) return false; - var marketsChanged = true; + if (source) { // Establish a trade route with both markets in one go. @@ -98,7 +98,7 @@ Trader.prototype.SetTargetMarket = function(target, source) // If we have only one market and target is different from it, // set the target as second one if (target == this.markets[0]) - marketsChanged = false; + return false; else { this.index = 0; @@ -113,12 +113,9 @@ Trader.prototype.SetTargetMarket = function(target, source) this.index = 0; this.markets = [target]; } - if (marketsChanged) - { - // Drop carried goods - this.goods.amount = null; - } - return marketsChanged; + // Drop carried goods if markets were changed + this.goods.amount = null; + return true; }; Trader.prototype.GetFirstMarket = function() diff --git a/binaries/data/mods/public/simulation/components/UnitAI.js b/binaries/data/mods/public/simulation/components/UnitAI.js index 306d47e9a7..143bff7072 100644 --- a/binaries/data/mods/public/simulation/components/UnitAI.js +++ b/binaries/data/mods/public/simulation/components/UnitAI.js @@ -5244,7 +5244,8 @@ UnitAI.prototype.PerformTradeAndMoveToNextMarket = function(currentMarket) let cmpTrader = Engine.QueryInterface(this.entity, IID_Trader); cmpTrader.PerformTrade(currentMarket); - if (!cmpTrader.GetGoods().amount.traderGain) + let amount = cmpTrader.GetGoods().amount; + if (!amount || !amount.traderGain) { this.StopTrading(); return;