Index: binaries/data/mods/public/gui/reference/common/TemplateLister.js =================================================================== --- binaries/data/mods/public/gui/reference/common/TemplateLister.js +++ binaries/data/mods/public/gui/reference/common/TemplateLister.js @@ -111,11 +111,6 @@ if (!templateName || !Engine.TemplateExists(templateName)) return {}; - // If this is a non-promotion variant (ie. {civ}_support_female_citizen_house) - // then it is functionally equivalent to another unit being processed, so skip it. - if (this.TemplateLoader.getBaseTemplateName(templateName, civCode) != templateName) - return {}; - let template = this.TemplateLoader.loadEntityTemplate(templateName, civCode); let templateLists = this.TemplateLoader.deriveProductionQueue(template, civCode); Index: binaries/data/mods/public/gui/reference/common/TemplateLoader.js =================================================================== --- binaries/data/mods/public/gui/reference/common/TemplateLoader.js +++ binaries/data/mods/public/gui/reference/common/TemplateLoader.js @@ -121,7 +121,7 @@ { templateName = templateName.replace(/\{(civ|native)\}/g, civCode); if (Engine.TemplateExists(templateName)) - production.units.push(this.getBaseTemplateName(templateName, civCode)); + production.units.push(templateName); } let appendTechnology = (technologyName) => { @@ -224,44 +224,6 @@ return auraList; } - /** - * Returns the name of a template's base form (without `_house`, `_trireme`, or similar), - * or the template's own name if the base is of a different promotion rank. - */ - getBaseTemplateName(templateName, civCode) - { - if (!templateName || !Engine.TemplateExists(templateName)) - return undefined; - - templateName = removeFiltersFromTemplateName(templateName); - let template = this.loadEntityTemplate(templateName, civCode); - - if (!dirname(templateName) || dirname(template["@parent"]) != dirname(templateName)) - return templateName; - - let parentTemplate = this.loadEntityTemplate(template["@parent"], civCode); - - if (parentTemplate.Identity && ( - parentTemplate.Identity.Civ && parentTemplate.Identity.Civ != template.Identity.Civ || - parentTemplate.Identity.Rank && parentTemplate.Identity.Rank != template.Identity.Rank - )) - return templateName; - - if (!parentTemplate.Cost) - return templateName; - - if (parentTemplate.Upgrade) - for (let upgrade in parentTemplate.Upgrade) - if (parentTemplate.Upgrade[upgrade].Entity) - return templateName; - - for (let res in parentTemplate.Cost.Resources) - if (+parentTemplate.Cost.Resources[res]) - return this.getBaseTemplateName(template["@parent"], civCode); - - return templateName; - } - isPairTech(technologyCode) { return !!this.loadTechnologyTemplate(technologyCode).top;