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 @@ -115,16 +115,7 @@ healthSize.rright = 100*Math.max(0, Math.min(1, entState.hitpoints / entState.maxHitpoints)); unitHealthBar.size = healthSize; - if (entState.foundation && entState.visibility == "visible" && entState.foundation.numBuilders !== 0) - { - // logic comes from Foundation component. - let speed = Math.pow(entState.foundation.numBuilders, 0.7); - let timeLeft = (1.0 - entState.foundation.progress / 100.0) * template.cost.time; - let timeToCompletion = Math.ceil(timeLeft/speed); - Engine.GetGUIObjectByName("health").tooltip = sprintf(translatePlural("This foundation will be completed in %(seconds)s second.", "This foundation will be completed in %(seconds)s seconds.", timeToCompletion), { "seconds": timeToCompletion }); - } - else - Engine.GetGUIObjectByName("health").tooltip = ""; + Engine.GetGUIObjectByName("health").tooltip = ""; Engine.GetGUIObjectByName("healthStats").caption = sprintf(translate("%(hitpoints)s / %(maxHitpoints)s"), { "hitpoints": Math.ceil(entState.hitpoints), @@ -258,10 +249,27 @@ Engine.GetGUIObjectByName("resourceCarryingText").caption = entState.foundation.numBuilders + " "; if (entState.foundation.numBuilders !== 0) { + // logic comes from Foundation component. + let speed = Math.pow(entState.foundation.numBuilders, 0.7); + let timeLeft = (1.0 - entState.foundation.progress / 100.0) * template.cost.time; + let timeToCompletion = Math.ceil(timeLeft/speed); let speedup = Math.pow((entState.foundation.numBuilders+1)/entState.foundation.numBuilders, 0.7); - let timeLeft = (1.0 - entState.foundation.progress / 100.0) * template.cost.time; let timeSpeedup = Math.ceil(timeLeft - timeLeft/speedup); - Engine.GetGUIObjectByName("resourceCarryingIcon").tooltip = sprintf(translatePlural("Number of builders.\nTasking another to this foundation would speed construction up by %(speedup)s second.", "Number of builders.\nTasking another to this foundation would speed construction up by %(speedup)s seconds.", timeSpeedup), { "speedup": timeSpeedup }); + Engine.GetGUIObjectByName("resourceCarryingIcon").tooltip = translate("Number of builders.") + "\n" + sprintf( + translatePlural( + "The foundation will be completed in %(seconds)s second.", + "The foundation will be completed in %(seconds)s seconds.", + timeToCompletion), + { + "seconds": timeToCompletion + }) + "\n" + sprintf( + translatePlural( + "Adding another worker would speed up the construction by %(speedup)s second.", + "Adding another worker would speed up the construction by %(speedup)s seconds.", + timeSpeedup), + { + "speedup": timeSpeedup + }); } else Engine.GetGUIObjectByName("resourceCarryingIcon").tooltip = translate("Number of builders.");