Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/common/tooltips.js
Show First 20 Lines • Show All 180 Lines • ▼ Show 20 Lines | function getArmorTooltip(template) | ||||
return sprintf(translate("%(label)s %(details)s"), { | return sprintf(translate("%(label)s %(details)s"), { | ||||
"label": headerFont(translate("Armor:")), | "label": headerFont(translate("Armor:")), | ||||
"details": | "details": | ||||
Object.keys(template.armour).map( | Object.keys(template.armour).map( | ||||
dmgType => sprintf(translate("%(damage)s %(damageType)s %(armorPercentage)s"), { | dmgType => sprintf(translate("%(damage)s %(damageType)s %(armorPercentage)s"), { | ||||
"damage": template.armour[dmgType].toFixed(1), | "damage": template.armour[dmgType].toFixed(1), | ||||
"damageType": unitFont(translateWithContext("damage type", g_DamageTypes.GetNames()[dmgType])), | "damageType": unitFont(translateWithContext("damage type", g_DamageTypes.GetNames()[dmgType])), | ||||
"armorPercentage": | "armorPercentage": | ||||
'[font="sans-10"]' + | setFont( | ||||
sprintf(translate("(%(armorPercentage)s)"), { | sprintf(translate("(%(armorPercentage)s)"), { | ||||
"armorPercentage": armorLevelToPercentageString(template.armour[dmgType]) | "armorPercentage": armorLevelToPercentageString(template.armour[dmgType]) | ||||
}) + '[/font]' | }), | ||||
"sans-10") | |||||
}) | }) | ||||
).join(commaFont(translate(", "))) | ).join(commaFont(translate(", "))) | ||||
}); | }); | ||||
} | } | ||||
function damageTypesToText(dmg) | function damageTypesToText(dmg) | ||||
{ | { | ||||
if (!dmg) | if (!dmg) | ||||
return '[font="sans-12"]' + translate("(None)") + '[/font]'; | return setFont(translate("(None)"), "sans-12"); | ||||
return g_DamageTypes.GetTypes().filter( | return g_DamageTypes.GetTypes().filter( | ||||
dmgType => dmg[dmgType]).map( | dmgType => dmg[dmgType]).map( | ||||
dmgType => sprintf(translate("%(damage)s %(damageType)s"), { | dmgType => sprintf(translate("%(damage)s %(damageType)s"), { | ||||
"damage": dmg[dmgType].toFixed(1), | "damage": dmg[dmgType].toFixed(1), | ||||
"damageType": unitFont(translateWithContext("damage type", g_DamageTypes.GetNames()[dmgType])) | "damageType": unitFont(translateWithContext("damage type", g_DamageTypes.GetNames()[dmgType])) | ||||
})).join(commaFont(translate(", "))); | })).join(commaFont(translate(", "))); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 378 Lines • ▼ Show 20 Lines | |||||
function getNeededResourcesTooltip(resources) | function getNeededResourcesTooltip(resources) | ||||
{ | { | ||||
if (!resources) | if (!resources) | ||||
return ""; | return ""; | ||||
let formatted = []; | let formatted = []; | ||||
for (let resource in resources) | for (let resource in resources) | ||||
formatted.push(sprintf(translate("%(component)s %(cost)s"), { | formatted.push(sprintf(translate("%(component)s %(cost)s"), { | ||||
"component": '[font="sans-12"]' + resourceIcon(resource) + '[/font]', | "component": setFont(resourceIcon(resource), "sans-12"), | ||||
"cost": resources[resource] | "cost": resources[resource] | ||||
})); | })); | ||||
return coloredText( | return coloredText( | ||||
'[font="sans-bold-13"]' + translate("Insufficient resources:") + '[/font]', | setFont(translate("Insufficient resources:"), "sans-bold-13"), | ||||
"red") + " " + | "red") + " " + | ||||
formatted.join(" "); | formatted.join(" "); | ||||
} | } | ||||
function getSpeedTooltip(template) | function getSpeedTooltip(template) | ||||
{ | { | ||||
if (!template.speed) | if (!template.speed) | ||||
return ""; | return ""; | ||||
▲ Show 20 Lines • Show All 87 Lines • ▼ Show 20 Lines | return sprintf(translate("%(specificName)s (%(genericName)s)"), { | ||||
"specificName": template.name.specific, | "specificName": template.name.specific, | ||||
"genericName": template.name.generic | "genericName": template.name.generic | ||||
}); | }); | ||||
} | } | ||||
function getEntityNamesFormatted(template) | function getEntityNamesFormatted(template) | ||||
{ | { | ||||
if (!template.name.specific) | if (!template.name.specific) | ||||
return '[font="sans-bold-16"]' + template.name.generic + "[/font]"; | return setFont(template.name.generic, "sans-bold-16"); | ||||
// Translation: Example: "Epibátēs Athēnaîos [font="sans-bold-16"](Athenian Marine)[/font]" | // Translation: Example: "Epibátēs Athēnaîos [font="sans-bold-16"](Athenian Marine)[/font]" | ||||
return sprintf(translate("%(specificName)s %(fontStart)s(%(genericName)s)%(fontEnd)s"), { | return sprintf(translate("%(specificName)s %(fontStart)s(%(genericName)s)%(fontEnd)s"), { | ||||
"specificName": | "specificName": | ||||
'[font="sans-bold-16"]' + template.name.specific[0] + '[/font]' + | setFont(template.name.specific[0], "sans-bold-16") + | ||||
'[font="sans-bold-12"]' + template.name.specific.slice(1).toUpperCase() + '[/font]', | setFont(template.name.specific.slice(1).toUpperCase(), "sans-bold-12"), | ||||
"genericName": template.name.generic, | "genericName": template.name.generic, | ||||
"fontStart": '[font="sans-bold-16"]', | "fontStart": '[font="sans-bold-16"]', | ||||
"fontEnd": '[/font]' | "fontEnd": '[/font]' | ||||
elexis: can we kill fontStart fontEnd? | |||||
}); | }); | ||||
} | } | ||||
function getVisibleEntityClassesFormatted(template) | function getVisibleEntityClassesFormatted(template) | ||||
{ | { | ||||
if (!template.visibleIdentityClasses || !template.visibleIdentityClasses.length) | if (!template.visibleIdentityClasses || !template.visibleIdentityClasses.length) | ||||
return ""; | return ""; | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator
can we kill fontStart fontEnd?