Index: binaries/data/config/default.cfg
===================================================================
--- binaries/data/config/default.cfg (revision 18409)
+++ binaries/data/config/default.cfg (working copy)
@@ -181,6 +181,7 @@
[hotkey.camera]
reset = "R" ; Reset camera rotation to default.
follow = "F" ; Follow the first unit in the selection
+rallypointfocus = unused ; Focus the camera on the rally point of the selected building
zoom.in = Plus, Equals, NumPlus ; Zoom camera in (continuous control)
zoom.out = Minus, NumMinus ; Zoom camera out (continuous control)
zoom.wheel.in = WheelUp ; Zoom camera in (stepped control)
@@ -284,6 +285,8 @@
garrison = Ctrl ; Modifier to garrison when clicking on building
autorallypoint = Ctrl ; Modifier to set the rally point on the building itself
guard = "G" ; Modifier to escort/guard when clicking on unit/building
+repair = "J" ; Modifier to repair when clicking on building/mechanical unit
+unload = "U" ; Modifier to unload when building/mechanical unit is selected
queue = Shift ; Modifier to queue unit orders instead of replacing
batchtrain = Shift ; Modifier to train units in batches
massbarter = Shift ; Modifier to barter bunch of resources
Index: binaries/data/mods/public/gui/session/hotkeys/camera.xml
===================================================================
--- binaries/data/mods/public/gui/session/hotkeys/camera.xml (revision 18409)
+++ binaries/data/mods/public/gui/session/hotkeys/camera.xml (working copy)
@@ -5,6 +5,11 @@
setCameraFollow(g_Selection.getFirstSelected());
+
+
+
+
+
+
Index: binaries/data/mods/public/gui/session/unit_actions.js
===================================================================
--- binaries/data/mods/public/gui/session/unit_actions.js (revision 18409)
+++ binaries/data/mods/public/gui/session/unit_actions.js (working copy)
@@ -344,6 +344,18 @@
"target": null
};
},
+ "hotkeyActionCheck": function(target)
+ {
+ if (!Engine.HotkeyIsPressed("session.repair") ||
+ !getActionInfo("repair", target).possible)
+ return false;
+
+ return {
+ "type": "build",
+ "cursor": "action-repair",
+ "target": target
+ };
+ },
"actionCheck": function(target)
{
if (!getActionInfo("repair", target).possible)
@@ -782,8 +794,15 @@
data.targetClasses = targetClasses;
cursor = "action-attack-move";
}
+ else if (Engine.HotkeyIsPressed("session.repair") && targetState.needsRepair &&
+ playerCheck(entState, targetState, ["Ally"]))
+ {
+ data.command = "repair";
+ data.target = targetState.id;
+ cursor = "action-repair";
+ }
- if (targetState.garrisonHolder &&
+ if (targetState.garrisonHolder && !Engine.HotkeyIsPressed("session.repair") &&
playerCheck(entState, targetState, ["Player", "MutualAlly"]))
{
data.command = "garrison";
@@ -973,7 +992,8 @@
}
return {
- "tooltip": translate("Unload All"),
+ "tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.unload") +
+ translate("Unload All."),
"icon": "garrison-out.png",
"count": count,
};
@@ -1103,7 +1123,8 @@
return false;
return {
- "tooltip": translate("Repair"),
+ "tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.repair") +
+ translate("Order the selected units to repair a building or mechanical unit."),
"icon": "repair.png"
};
},
@@ -1121,7 +1142,8 @@
return false;
return {
- "tooltip": translate("Focus on Rally Point"),
+ "tooltip": colorizeHotkey("%(hotkey)s" + " ", "camera.rallypointfocus") +
+ translate("Focus on Rally Point."),
"icon": "focus-rally.png"
};
},
@@ -1267,7 +1289,8 @@
}
return {
- "tooltip": translate("Unload All"),
+ "tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.unload") +
+ translate("Unload All."),
"icon": "garrison-out.png",
"count": count,
};