Index: binaries/data/mods/public/gui/session/menu.js =================================================================== --- binaries/data/mods/public/gui/session/menu.js +++ binaries/data/mods/public/gui/session/menu.js @@ -855,7 +855,10 @@ }); }; - barterButton.Buy.hidden = isSelected; + // Cannot sell non-currency for non-currency + let currencyCodes = g_ResourceData.GetCodes("currency"); + barterButton.Buy.hidden = isSelected || !currencyCodes.some(x => x == g_BarterSell || x == resourceCode); + barterButton.Buy.enabled = controlsPlayer(player); barterButton.Sell.hidden = false; selectionIcon.hidden = !isSelected; Index: binaries/data/mods/public/simulation/ai/petra/tradeManager.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/tradeManager.js +++ binaries/data/mods/public/simulation/ai/petra/tradeManager.js @@ -247,6 +247,10 @@ if (needs[sell] > 0 || available[sell] < 500) continue; + // Do not sell non-currency for non-currency + if (!GetCodes("currency").some(x => x == sell || x == buy)) + continue; + let barterRateMin; if (sell == "food") {