diff --git a/binaries/data/mods/public/globalscripts/Templates.js b/binaries/data/mods/public/globalscripts/Templates.js index 37705fc986..9b622db46e 100644 --- a/binaries/data/mods/public/globalscripts/Templates.js +++ b/binaries/data/mods/public/globalscripts/Templates.js @@ -229,7 +229,10 @@ function GetTemplateDataHelper(template, player, auraTemplates) if (template.GarrisonHolder) { - ret.garrisonHolder = {}; + ret.garrisonHolder = { + "buffHeal": getEntityValue("GarrisonHolder/BuffHeal") + }; + if (template.GarrisonHolder.Max) ret.garrisonHolder.max = getEntityValue("GarrisonHolder/Max"); } diff --git a/binaries/data/mods/public/gui/common/tooltips.js b/binaries/data/mods/public/gui/common/tooltips.js index 73145dd76c..2b63c51880 100644 --- a/binaries/data/mods/public/gui/common/tooltips.js +++ b/binaries/data/mods/public/gui/common/tooltips.js @@ -226,10 +226,24 @@ function getGarrisonTooltip(template) if (!template.garrisonHolder) return ""; - return sprintf(translate("%(label)s: %(garrisonLimit)s"), { - "label": headerFont(translate("Garrison Limit")), - "garrisonLimit": template.garrisonHolder.capacity || template.garrisonHolder.max - }); + let tooltips = [ + sprintf(translate("%(label)s: %(garrisonLimit)s"), { + "label": headerFont(translate("Garrison Limit")), + "garrisonLimit": template.garrisonHolder.capacity || template.garrisonHolder.max + }) + ]; + + if (template.garrisonHolder.buffHeal) + tooltips.push( + sprintf(translate("%(healRateLabel)s %(value)s %(health)s / %(second)s"), { + "healRateLabel": headerFont(translate("Heal:")), + "value": Math.round(template.garrisonHolder.buffHeal), + "health": unitFont(translate("health")), + "second": unitFont(translate("second")), + }) + ); + + return tooltips.join(commaFont(translate(", "))); } function getProjectilesTooltip(template) diff --git a/binaries/data/mods/public/simulation/components/GuiInterface.js b/binaries/data/mods/public/simulation/components/GuiInterface.js index 9b21773cbe..de6aebaf92 100644 --- a/binaries/data/mods/public/simulation/components/GuiInterface.js +++ b/binaries/data/mods/public/simulation/components/GuiInterface.js @@ -356,6 +356,7 @@ GuiInterface.prototype.GetEntityState = function(player, ent) if (cmpGarrisonHolder) ret.garrisonHolder = { "entities": cmpGarrisonHolder.GetEntities(), + "buffHeal": cmpGarrisonHolder.GetHealRate(), "allowedClasses": cmpGarrisonHolder.GetAllowedClasses(), "capacity": cmpGarrisonHolder.GetCapacity(), "garrisonedEntitiesCount": cmpGarrisonHolder.GetGarrisonedEntitiesCount()