Index: binaries/data/mods/public/gui/common/tooltips.js
===================================================================
--- binaries/data/mods/public/gui/common/tooltips.js
+++ binaries/data/mods/public/gui/common/tooltips.js
@@ -17,6 +17,17 @@
"crush": translate("Crush"),
};
+var g_RangeTooltipString = {
+ "relative": {
+ "minRange": translate("%(attackLabel)s %(damageTypes)s, %(rangeLabel)s %(minRange)s to %(maxRange)s (%(relativeRange)s) %(rangeUnit)s, %(rate)s"),
+ "no-minRange": translate("%(attackLabel)s %(damageTypes)s, %(rangeLabel)s %(maxRange)s (%(relativeRange)s) %(rangeUnit)s, %(rate)s"),
+ },
+ "non-relative": {
+ "minRange": translate("%(attackLabel)s %(damageTypes)s, %(rangeLabel)s %(minRange)s to %(maxRange)s %(rangeUnit)s, %(rate)s"),
+ "no-minRange": translate("%(attackLabel)s %(damageTypes)s, %(rangeLabel)s %(maxRange)s %(rangeUnit)s, %(rate)s"),
+ }
+};
+
function resourceIcon(resource)
{
return '[icon="icon_' + resource + '"]';
@@ -132,13 +143,12 @@
})).join(commaFont(translate(", ")));
}
-// TODO: should also show minRange
function getAttackTooltip(template)
{
if (!template.attack)
return "";
- let attacks = [];
+ let tooltips = [];
for (let type in template.attack)
{
if (type == "Slaughter")
@@ -156,7 +166,7 @@
let attackLabel = headerFont(g_AttackTypes[type]);
if (type == "Capture" || type != "Ranged")
{
- attacks.push(sprintf(translate("%(attackLabel)s %(details)s, %(rate)s"), {
+ tooltips.push(sprintf(translate("%(attackLabel)s %(details)s, %(rate)s"), {
"attackLabel": attackLabel,
"details":
type == "Capture" ?
@@ -167,28 +177,27 @@
continue;
}
+ let minRange = Math.round(template.attack[type].minRange);
+ let maxRange = Math.round(template.attack[type].maxRange);
let realRange = template.attack[type].elevationAdaptedRange;
- let range = Math.round(template.attack[type].maxRange);
- let relativeRange = realRange ? Math.round(realRange - range) : 0;
-
- let rangeString = relativeRange ?
- translate("%(attackLabel)s %(damageTypes)s, %(rangeLabel)s %(rangeString)s (%(relative)s), %(rate)s") :
- translate("%(attackLabel)s %(damageTypes)s, %(rangeLabel)s %(rangeString)s, %(rate)s");
+ let relativeRange = realRange ? Math.round(realRange - maxRange) : 0;
- attacks.push(sprintf(rangeString, {
+ tooltips.push(sprintf(g_RangeTooltipString[relativeRange ? "relative" : "non-relative"][minRange ? "minRange" : "no-minRange"], {
"attackLabel": attackLabel,
"damageTypes": damageTypesToText(template.attack[type]),
- "rangeLabel": translate("Range:"),
- "rangeString": sprintf(
- translatePlural("%(range)s %(meters)s", "%(range)s %(meters)s", range), {
- "range": range,
- "meters": unitFont(translatePlural("meter", "meters", range))
- }),
+ "rangeLabel": headerFont(translate("Range:")),
+ "minRange": minRange,
+ "maxRange": maxRange,
+ "relativeRange": relativeRange > 0 ? "+" + relativeRange : relativeRange,
+ "rangeUnit":
+ unitFont(minRange || relativeRange ?
+ // Translation: For example "0.5 to 1 meters", "1 (+1) meters" or "1 to 2 (+3) meters"
+ translate("meters") :
+ translatePlural("meter", "meters", maxRange)),
"rate": rate,
- "relative": relativeRange > 0 ? "+" + relativeRange : relativeRange,
}));
}
- return attacks.join("\n");
+ return tooltips.join("\n");
}
function getSplashDamageTooltip(template)
Index: binaries/data/mods/public/simulation/data/technologies/attack_tower_murderholes.json
===================================================================
--- binaries/data/mods/public/simulation/data/technologies/attack_tower_murderholes.json
+++ binaries/data/mods/public/simulation/data/technologies/attack_tower_murderholes.json
@@ -8,6 +8,6 @@
"researchTime": 40,
"tooltip": "Removes defense tower minimum range.",
"modifications": [{"value": "Attack/Ranged/MinRange", "replace": 0}],
- "affects": ["DefenseTower"],
+ "affects": ["Defensive"],
"soundComplete": "interface/alarm/alarm_upgradearmory.xml"
}
Index: binaries/data/mods/public/simulation/templates/structures/brit_fortress.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/brit_fortress.xml
+++ binaries/data/mods/public/simulation/templates/structures/brit_fortress.xml
@@ -3,7 +3,7 @@
80.0
- 14.0
+ 25.0
Index: binaries/data/mods/public/simulation/templates/structures/ptol_military_colony.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/ptol_military_colony.xml
+++ binaries/data/mods/public/simulation/templates/structures/ptol_military_colony.xml
@@ -1,5 +1,10 @@
+
+
+ 25.0
+
+
12.0
Index: binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml
+++ binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml
@@ -16,7 +16,7 @@
25.0
0.0
80.0
- 12.0
+ 25.0
75.0
1200
2000
Index: binaries/data/mods/public/simulation/templates/structures/sele_military_colony.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/sele_military_colony.xml
+++ binaries/data/mods/public/simulation/templates/structures/sele_military_colony.xml
@@ -1,5 +1,10 @@
+
+
+ 20.0
+
+
8.0
Index: binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml
+++ binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml
@@ -19,7 +19,7 @@
12.0
0.0
72.0
- 10.0
+ 20.0
75.0
1200
2000
Index: binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre_military_colony.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre_military_colony.xml
+++ binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre_military_colony.xml
@@ -21,10 +21,6 @@
200
-
-
- 12.0
-
2000
rubble/rubble_stone_5x5
Index: binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml
+++ binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml
@@ -11,7 +11,7 @@
16.0
0.0
72.0
- 8.0
+ 20.0
75.0
1200
2000