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
@@ -377,21 +377,21 @@
let tooltipString = "";
if (template.Tooltip)
{
- tooltipAttributes.push("%(tooltip)s");
+ tooltipAttributes.push(translate("%(tooltip)s"));
tooltipString = translate(template.Tooltip);
}
let attackEffectsString = "";
if (template.Damage || template.Capture)
{
- tooltipAttributes.push("%(effects)s");
+ tooltipAttributes.push(translate("%(effects)s"));
attackEffectsString = attackEffectsDetails(template);
}
let intervalString = "";
if (template.Interval)
{
- tooltipAttributes.push("%(rate)s");
+ tooltipAttributes.push(translate("%(rate)s"));
intervalString = sprintf(translate("%(interval)s"), {
"interval": attackRateDetails(+template.Interval)
});
@@ -400,19 +400,34 @@
let durationString = "";
if (template.Duration)
{
- tooltipAttributes.push("%(duration)s");
+ tooltipAttributes.push(translate("%(duration)s"));
durationString = sprintf(translate("%(durName)s: %(duration)s"), {
"durName": headerFont(translate("Duration")),
"duration": getSecondsString((template._timeElapsed ? +template.Duration - template._timeElapsed : +template.Duration) / 1000),
});
}
- return sprintf(translate("%(statusName)s: " + tooltipAttributes.join(translate(commaFont(", ")))), {
+ let stackabilityString = "";
+ if (template.Stackability && template.Stackability != "Ignore")
+ {
+ tooltipAttributes.push(translate("%(stackability)s"));
+ if (template.Stackability == "Extend")
+ stackabilityString = translateWithContext("status effect stackability", "(extends)");
+ else if (template.Stackability == "Replace")
+ stackabilityString = translateWithContext("status effect stackability", "(replaces)");
+ else if (template.Stackability == "Stack")
+ stackabilityString = translateWithContext("status effect stackability", "(stacks)");
+ }
+
+ return sprintf(translate("%(statusName)s: %(statusInfo)s"), {
"statusName": headerFont(translateWithContext("status effect", template.Name)),
- "tooltip": tooltipString,
- "effects": attackEffectsString,
- "rate": intervalString,
- "duration": durationString
+ "statusInfo": sprintf(translate(tooltipAttributes.join(commaFont(translate(", ")))), {
+ "tooltip": tooltipString,
+ "effects": attackEffectsString,
+ "rate": intervalString,
+ "duration": durationString,
+ "stackability": stackabilityString
+ })
});
}
Index: binaries/data/mods/public/gui/session/selection_details.js
===================================================================
--- binaries/data/mods/public/gui/session/selection_details.js
+++ binaries/data/mods/public/gui/session/selection_details.js
@@ -108,7 +108,9 @@
size.top = i * 18;
size.bottom = i * 18 + 16;
statusIcons[i].size = size;
- i++;
+
+ if (++i >= statusIcons.length)
+ break;
}
for (; i < statusIcons.length; ++i)
statusIcons[i].hidden = true;
Index: binaries/data/mods/public/gui/session/selection_panels_middle/single_details_area.xml
===================================================================
--- binaries/data/mods/public/gui/session/selection_panels_middle/single_details_area.xml
+++ binaries/data/mods/public/gui/session/selection_panels_middle/single_details_area.xml
@@ -83,7 +83,7 @@
Rank
-
+