Index: binaries/data/config/default.cfg =================================================================== --- binaries/data/config/default.cfg +++ binaries/data/config/default.cfg @@ -283,6 +283,7 @@ patrol = "P" ; Modifier to patrol a unit repair = "J" ; Modifier to repair when clicking on building/mechanical unit queue = Shift ; Modifier to queue unit orders instead of replacing +meta = Super ; Modifier to order only one unit in selection. batchtrain = Shift ; Modifier to train units in batches massbarter = Shift ; Modifier to barter bunch of resources masstribute = Shift ; Modifier to tribute bunch of resources Index: binaries/data/mods/public/gui/session/input.js =================================================================== --- binaries/data/mods/public/gui/session/input.js +++ binaries/data/mods/public/gui/session/input.js @@ -1139,15 +1139,23 @@ if (!controlsPlayer(g_ViewedPlayer)) return false; - var selection = g_Selection.toList(); // If shift is down, add the order to the unit's order queue instead // of running it immediately + var meta = Engine.HotkeyIsPressed("session.meta"); var queued = Engine.HotkeyIsPressed("session.queue"); var target = Engine.GetTerrainAtScreenPoint(ev.x, ev.y); if (unitActions[action.type] && unitActions[action.type].execute) + { + let selection = g_Selection.toList(); + if (meta) + { + selection = [selection[0]]; + g_Selection.removeList(selection); + } return unitActions[action.type].execute(target, action, selection, queued); + } error("Invalid action.type " + action.type); return false;