Index: binaries/data/mods/public/globalscripts/Templates.js
===================================================================
--- binaries/data/mods/public/globalscripts/Templates.js (révision 18460)
+++ binaries/data/mods/public/globalscripts/Templates.js (copie de travail)
@@ -222,10 +222,21 @@ function GetTemplateDataHelper(template,
ret.garrisonHolder = {};
if (template.GarrisonHolder.Max)
ret.garrisonHolder.max = getEntityValue("GarrisonHolder/Max");
}
+ if (template.Heal)
+ {
+ ret.heal = {};
+ if (template.Heal.HP)
+ ret.heal.hp = getEntityValue("Heal/HP");
+ if (template.Heal.Range)
+ ret.heal.range = getEntityValue("Heal/Range");
+ if (template.Heal.Rate)
+ ret.heal.rate = getEntityValue("Heal/Rate");
+ }
+
if (template.Obstruction)
{
ret.obstruction = {
"active": ("" + template.Obstruction.Active == "true"),
"blockMovement": ("" + template.Obstruction.BlockMovement == "true"),
Index: binaries/data/mods/public/gui/common/tooltips.js
===================================================================
--- binaries/data/mods/public/gui/common/tooltips.js (révision 18460)
+++ binaries/data/mods/public/gui/common/tooltips.js (copie de travail)
@@ -458,29 +458,29 @@ function getSpeedTooltip(template)
});
}
function getHealerTooltip(template)
{
- if (!template.healer)
+ if (!template.heal)
return "";
return [
- sprintf(translatePlural("%(label)s %(val)s %(unit)s", "%(label)s %(val)s %(unit)s", template.healer.HP), {
+ sprintf(translatePlural("%(label)s %(val)s %(unit)s", "%(label)s %(val)s %(unit)s", template.heal.hp), {
"label": headerFont(translate("Heal:")),
- "val": template.healer.HP,
+ "val": template.heal.hp,
// Translation: Short for hit points (or health points) that are healed in one healing action
- "unit": unitFont(translatePlural("HP", "HP", template.healer.HP))
+ "unit": unitFont(translatePlural("HP", "HP", template.heal.hp))
}),
- sprintf(translatePlural("%(label)s %(val)s %(unit)s", "%(label)s %(val)s %(unit)s", template.healer.Range), {
+ sprintf(translatePlural("%(label)s %(val)s %(unit)s", "%(label)s %(val)s %(unit)s", template.heal.range), {
"label": headerFont(translate("Range:")),
- "val": template.healer.Range,
- "unit": unitFont(translatePlural("meter", "meters", template.healer.Range))
+ "val": template.heal.range,
+ "unit": unitFont(translatePlural("meter", "meters", template.heal.range))
}),
- sprintf(translatePlural("%(label)s %(val)s %(unit)s", "%(label)s %(val)s %(unit)s", template.healer.Rate/1000), {
+ sprintf(translatePlural("%(label)s %(val)s %(unit)s", "%(label)s %(val)s %(unit)s", template.heal.rate/1000), {
"label": headerFont(translate("Rate:")),
- "val": template.healer.Rate/1000,
- "unit": unitFont(translatePlural("second", "seconds", template.healer.Rate / 1000))
+ "val": template.heal.rate/1000,
+ "unit": unitFont(translatePlural("second", "seconds", template.heal.rate / 1000))
})
].join(translate(", "));
}
function getAurasTooltip(template)
Index: binaries/data/mods/public/gui/session/selection_details.js
===================================================================
--- binaries/data/mods/public/gui/session/selection_details.js (révision 18460)
+++ binaries/data/mods/public/gui/session/selection_details.js (copie de travail)
@@ -285,10 +285,11 @@ function displaySingle(entState)
Engine.GetGUIObjectByName("attackAndArmorStats").tooltip = [
getAttackTooltip,
getArmorTooltip,
getRepairRateTooltip,
getBuildRateTooltip,
+ getHealerTooltip,
getGarrisonTooltip,
getProjectilesTooltip
].map(func => func(entState)).filter(tip => tip).join("\n");
let iconTooltips = [];
Index: binaries/data/mods/public/gui/session/selection_panels.js
===================================================================
--- binaries/data/mods/public/gui/session/selection_panels.js (révision 18460)
+++ binaries/data/mods/public/gui/session/selection_panels.js (copie de travail)
@@ -1005,10 +1005,11 @@ g_SelectionPanels.Training = {
if (Engine.ConfigDB_GetValue("user", "showdetailedtooltips") === "true")
tooltips.push(
getHealthTooltip(template),
getAttackTooltip(template),
getArmorTooltip(template),
+ getHealerTooltip(template),
getGarrisonTooltip(template),
getProjectilesTooltip(template),
getSpeedTooltip(template)
);
Index: binaries/data/mods/public/gui/structree/load.js
===================================================================
--- binaries/data/mods/public/gui/structree/load.js (révision 18460)
+++ binaries/data/mods/public/gui/structree/load.js (copie de travail)
@@ -79,14 +79,14 @@ function loadUnit(templateName)
}
}
}
if (template.Heal)
- unit.healer = {
- "Range": +template.Heal.Range || 0,
- "HP": +template.Heal.HP || 0,
- "Rate": +template.Heal.Rate || 0
+ unit.heal = {
+ "range": +template.Heal.Range || 0,
+ "hp": +template.Heal.HP || 0,
+ "rate": +template.Heal.Rate || 0
};
if (template.Builder && template.Builder.Entities._string)
for (let build of template.Builder.Entities._string.split(" "))
{
Index: binaries/data/mods/public/simulation/components/GuiInterface.js
===================================================================
--- binaries/data/mods/public/simulation/components/GuiInterface.js (révision 18460)
+++ binaries/data/mods/public/simulation/components/GuiInterface.js (copie de travail)
@@ -543,11 +543,14 @@ GuiInterface.prototype.GetExtendedEntity
ret.barterMarket = { "prices": cmpBarter.GetPrices() };
}
let cmpHeal = Engine.QueryInterface(ent, IID_Heal);
if (cmpHeal)
- ret.healer = {
+ ret.heal = {
+ "hp": cmpHeal.GetHP(),
+ "range": cmpHeal.GetRange().max,
+ "rate": cmpHeal.GetRate(),
"unhealableClasses": cmpHeal.GetUnhealableClasses(),
"healableClasses": cmpHeal.GetHealableClasses(),
};
return ret;
Index: binaries/data/mods/public/simulation/components/Heal.js
===================================================================
--- binaries/data/mods/public/simulation/components/Heal.js (révision 18460)
+++ binaries/data/mods/public/simulation/components/Heal.js (copie de travail)
@@ -45,10 +45,20 @@ Heal.prototype.GetTimers = function()
repeat = ApplyValueModificationsToEntity("Heal/Rate", repeat, this.entity);
return { "prepare": prepare, "repeat": repeat };
};
+Heal.prototype.GetHP = function()
+{
+ return ApplyValueModificationsToEntity("Heal/Range", +this.template.HP, this.entity);
+};
+
+Heal.prototype.GetRate = function()
+{
+ return ApplyValueModificationsToEntity("Heal/Rate", +this.template.Rate, this.entity);
+};
+
Heal.prototype.GetRange = function()
{
var min = 0;
var max = +this.template.Range;
Index: binaries/data/mods/public/simulation/templates/units/maur_hero_chanakya.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/maur_hero_chanakya.xml (révision 18460)
+++ binaries/data/mods/public/simulation/templates/units/maur_hero_chanakya.xml (copie de travail)
@@ -29,12 +29,10 @@
Human Organic Support
Hero Healer
Acharya Chanakya
Acharya Chāṇakya
units/maur_hero_chanakya.png
- Hero Special: "Healer" - Heal units at an accelerated rate.
-Hero Special: "Philosopher" - Research 4 special technologies only available to Chanakya.
phase_city
hero