From 979ea476b7b981d47069caf4794e9a8b9ecc0a72 Mon Sep 17 00:00:00 2001 From: mimo Date: Fri, 11 Sep 2015 18:06:26 +0000 Subject: [PATCH] petra: do no make a trade route between too nearby markets This was SVN commit r17005. --- binaries/data/mods/public/simulation/ai/petra/headquarters.js | 2 +- binaries/data/mods/public/simulation/ai/petra/tradeManager.js | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/binaries/data/mods/public/simulation/ai/petra/headquarters.js b/binaries/data/mods/public/simulation/ai/petra/headquarters.js index 5e43b4450f..264af51fad 100644 --- a/binaries/data/mods/public/simulation/ai/petra/headquarters.js +++ b/binaries/data/mods/public/simulation/ai/petra/headquarters.js @@ -1078,7 +1078,7 @@ m.HQ.prototype.findMarketLocation = function(gameState, template) if (this.Config.debug > 1) API3.warn("this would give a trading gain of " + expectedGain); // do not keep it if gain is too small, except if this is our first BarterMarket - if (expectedGain < 3 || + if (expectedGain < this.tradeManager.minimalGain || (expectedGain < 8 && (!template.hasClass("BarterMarket") || gameState.getOwnEntitiesByClass("BarterMarket", true).length > 0))) return false; diff --git a/binaries/data/mods/public/simulation/ai/petra/tradeManager.js b/binaries/data/mods/public/simulation/ai/petra/tradeManager.js index 2b3608d99a..b36ed736c1 100644 --- a/binaries/data/mods/public/simulation/ai/petra/tradeManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/tradeManager.js @@ -12,6 +12,7 @@ m.TradeManager = function(Config) this.potentialTradeRoute = undefined; this.routeProspection = false; this.targetNumTraders = this.Config.Economy.targetNumTraders; + this.minimalGain = 3; this.warnedAllies = {}; }; @@ -408,6 +409,8 @@ m.TradeManager.prototype.checkRoutes = function(gameState, accessIndex) if (!land && !sea) continue; var gain = Math.round(API3.SquareVectorDistance(m1.position(), m2.position()) / this.Config.distUnitGain); + if (gain < this.minimalGain) + continue; if (m1.foundationProgress() === undefined && m2.foundationProgress() === undefined) { if (accessIndex)