Index: binaries/data/mods/public/gui/session/selection_panels.js =================================================================== --- binaries/data/mods/public/gui/session/selection_panels.js +++ binaries/data/mods/public/gui/session/selection_panels.js @@ -134,10 +134,9 @@ data.countDisplay.caption = data.item.count || ""; - data.button.enabled = - g_IsObserver && data.item.name == "focus-rally" || - controlsPlayer(data.player) && (data.item.name != "delete" || - data.unitEntStates.some(state => !isUndeletable(state))); + data.button.enabled = g_IsObserver ? !!data.item.enabledObserver : + controlsPlayer(data.player) && + (data.item.enabledPlayer === undefined || data.item.enabledPlayer == true); data.icon.sprite = "stretched:session/icons/" + data.item.icon; Index: binaries/data/mods/public/gui/session/unit_actions.js =================================================================== --- binaries/data/mods/public/gui/session/unit_actions.js +++ binaries/data/mods/public/gui/session/unit_actions.js @@ -1050,6 +1050,7 @@ translate("Use %(hotkey)s to avoid the confirmation dialog."), "session.noconfirmation" ), + "enabledPlayer": true, "icon": "kill_small.png" } : { @@ -1058,6 +1059,7 @@ .filter((reason, pos, self) => self.indexOf(reason) == pos && reason ).join("\n"), + "enabledPlayer": false, "icon": "kill_small_disabled.png" }; }, @@ -1174,6 +1176,7 @@ return { "tooltip": colorizeHotkey("%(hotkey)s" + " ", "camera.rallypointfocus") + translate("Focus on Rally Point."), + "enabledObserver": true, "icon": "focus-rally.png" }; },