Index: binaries/data/config/default.cfg =================================================================== --- binaries/data/config/default.cfg +++ binaries/data/config/default.cfg @@ -372,6 +372,7 @@ healrange = true ; Display heal range overlays of selected units rankabovestatusbar = true ; Show rank icons above status bars experiencestatusbar = true ; Show an experience status bar above each selected unit +showrange = false ; Show the unit's attack and aura ranges respoptooltipsort = 0 ; Sorting players in the resources and population tooltip by value (0 - no sort, -1 - ascending, 1 - descending) [gui.session.minimap] Index: binaries/data/mods/public/gui/options/options.json =================================================================== --- binaries/data/mods/public/gui/options/options.json +++ binaries/data/mods/public/gui/options/options.json @@ -496,6 +496,12 @@ "tooltip": "Show an experience status bar above each selected unit.", "config": "gui.session.experiencestatusbar" }, + { + "type": "boolean", + "label": "Unit Ranges", + "tooltip": "Show the unit's attack and aura ranges.", + "config": "gui.session.showrange" + }, { "type": "boolean", "label": "Detailed Tooltips", Index: binaries/data/mods/public/gui/session/session.js =================================================================== --- binaries/data/mods/public/gui/session/session.js +++ binaries/data/mods/public/gui/session/session.js @@ -1340,7 +1340,8 @@ "entities": entities, "enabled": g_ShowAllStatusBars && !remove, "showRank": Engine.ConfigDB_GetValue("user", "gui.session.rankabovestatusbar") == "true", - "showExperience": Engine.ConfigDB_GetValue("user", "gui.session.experiencestatusbar") == "true" + "showExperience": Engine.ConfigDB_GetValue("user", "gui.session.experiencestatusbar") == "true", + "showRange": Engine.ConfigDB_GetValue("user", "gui.session.showrange") == "true" }); } Index: binaries/data/mods/public/simulation/components/GuiInterface.js =================================================================== --- binaries/data/mods/public/simulation/components/GuiInterface.js +++ binaries/data/mods/public/simulation/components/GuiInterface.js @@ -878,6 +878,10 @@ let affectedEnts = new Set(); for (let ent of cmd.entities) { + let cmpRangeOverlayManager = Engine.QueryInterface(ent, IID_RangeOverlayManager); + if (cmpRangeOverlayManager) + cmpRangeOverlayManager.SetEnabled(cmd.showRange && cmd.enabled, this.enabledVisualRangeOverlayTypes, false); + let cmpStatusBars = Engine.QueryInterface(ent, IID_StatusBars); if (!cmpStatusBars) continue;