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 @@ -425,8 +425,9 @@ if (hidden) continue; - button.caption = g_Players[g_ViewedPlayer]["is" + stance][i] ? translate("x") : ""; - button.enabled = controlsPlayer(g_ViewedPlayer); + let isSelected = g_Players[g_ViewedPlayer]["is" + stance][i]; + button.caption = isSelected ? translate("x") : ""; + button.enabled = controlsPlayer(g_ViewedPlayer) && !isSelected && !g_Paused; button.onPress = (function(player, stance) { return function() { Engine.PostNetworkCommand({ @@ -459,7 +460,7 @@ if (hidden) continue; - button.enabled = controlsPlayer(g_ViewedPlayer); + button.enabled = controlsPlayer(g_ViewedPlayer) && !g_Paused; button.tooltip = formatTributeTooltip(i, resNames[resCode], 100); button.onPress = (function(i, resCode, button) { // Shift+click to send 500, shift+click+click to send 1000, etc. @@ -502,7 +503,7 @@ if (hidden) return; - button.enabled = controlsPlayer(g_ViewedPlayer); + button.enabled = controlsPlayer(g_ViewedPlayer) && !g_Paused; button.tooltip = translate("Request your allies to attack this enemy"); button.onPress = (function(i) { return function() { Engine.PostNetworkCommand({ "type": "attack-request", "source": g_ViewedPlayer, "player": i }); @@ -517,7 +518,7 @@ if (button.hidden) return; - button.enabled = controlsPlayer(g_ViewedPlayer); + button.enabled = controlsPlayer(g_ViewedPlayer) && !g_Paused; let modifier = ""; let tooltips = [translate("Bribe a random unit from this player and share its vision during a limited period.")]; if (!button.enabled) @@ -650,7 +651,7 @@ proba[resCode] = proba[resCode] || 0; let buttonResource = Engine.GetGUIObjectByName("tradeResourceButton["+i+"]"); - buttonResource.enabled = controlsPlayer(g_ViewedPlayer); + buttonResource.enabled = controlsPlayer(g_ViewedPlayer) && !g_Paused; buttonResource.onPress = (resource => { return () => { if (Engine.HotkeyIsPressed("session.fulltradeswap")) @@ -665,7 +666,7 @@ }; })(resCode); - buttonUp.enabled = controlsPlayer(g_ViewedPlayer); + buttonUp.enabled = controlsPlayer(g_ViewedPlayer) && !g_Paused; buttonUp.onPress = (resource => { return () => { proba[resource] += Math.min(STEP, proba[currTradeSelection]); @@ -675,7 +676,7 @@ }; })(resCode); - buttonDn.enabled = controlsPlayer(g_ViewedPlayer); + buttonDn.enabled = controlsPlayer(g_ViewedPlayer) && !g_Paused; buttonDn.onPress = (resource => { return () => { proba[currTradeSelection] += Math.min(STEP, proba[resource]); @@ -714,7 +715,9 @@ let resource = getLocalizedResourceName(g_ResourceData.GetNames()[resourceCode], "withinSentence"); barterButton.Buy.tooltip = sprintf(translate("Buy %(resource)s"), { "resource": resource }); + barterButton.Buy.enabled = !g_Paused; barterButton.Sell.tooltip = sprintf(translate("Sell %(resource)s"), { "resource": resource }); + barterButton.Sell.enabled = !g_Paused; barterButton.Sell.onPress = function() { g_BarterSell = resourceCode; @@ -786,7 +789,7 @@ }; barterButton.Buy.hidden = isSelected; - barterButton.Buy.enabled = controlsPlayer(player); + barterButton.Buy.enabled = controlsPlayer(player) && !g_Paused; barterButton.Sell.hidden = false; selectionIcon.hidden = !isSelected; }