Ticket #4001: chanakyaTechsSupport.v2.patch

File chanakyaTechsSupport.v2.patch, 2.7 KB (added by s0600204, 8 years ago)

Comparison operator tweak as implicitly suggested by fatherbushido on irc

  • binaries/data/mods/public/gui/structree/draw.js

    function draw()  
    123123        thisEle.hidden = false;
    124124       
    125125        let p = 0;
    126         for (let prod of trainer.trainer)
     126        for (let prodType in trainer.production)
    127127        {
    128             prod = g_ParsedData.units[prod];
    129             if (!drawProdIcon(null, t, null, p, prod))
    130                 break;
    131             p++;
     128            for (let prod of trainer.production[prodType])
     129            {
     130                switch (prodType)
     131                {
     132                case "units":
     133                    prod = g_ParsedData.units[prod];
     134                    break;
     135                case "techs":
     136                    prod = g_ParsedData.techs[prod];
     137                    break;
     138                default:
     139                    continue;
     140                }
     141                if (!drawProdIcon(null, t, null, p, prod))
     142                    break;
     143                ++p;
     144            }
    132145        }
    133146        hideRemaining("trainer["+t+"]_prod[", p, "]");
    134147
  • binaries/data/mods/public/gui/structree/load.js

    function loadUnit(templateName)  
    5656
    5757    if (template.ProductionQueue)
    5858    {
    59         unit.trainer = [];
    60         for (let build of template.ProductionQueue.Entities._string.split(" "))
     59        unit.production = {};
     60        if (template.ProductionQueue.Entities)
    6161        {
    62             build = build.replace("{civ}", g_SelectedCiv);
    63             unit.trainer.push(build);
    64             if (g_Lists.units.indexOf(build) === -1)
    65                 g_Lists.units.push(build);
     62            unit.production.units = [];
     63            for (let build of template.ProductionQueue.Entities._string.split(" "))
     64            {
     65                build = build.replace("{civ}", g_SelectedCiv);
     66                unit.production.units.push(build);
     67                if (g_Lists.units.indexOf(build) < 0)
     68                    g_Lists.units.push(build);
     69            }
     70        }
     71        if (template.ProductionQueue.Technologies)
     72        {
     73            unit.production.techs = [];
     74            for (let research of template.ProductionQueue.Technologies._string.split(" "))
     75            {
     76                unit.production.techs.push(research);
     77                if (g_Lists.techs.indexOf(research) < 0)
     78                    g_Lists.techs.push(research);
     79            }
    6680        }
    6781    }
    6882
  • binaries/data/mods/public/gui/structree/structree.js

    function selectCiv(civCode)  
    289289        buildList[myPhase].push(structCode);
    290290    }
    291291    for (let unitCode of g_Lists.units)
    292         if (g_ParsedData.units[unitCode] && g_ParsedData.units[unitCode].trainer)
     292        if (g_ParsedData.units[unitCode] && g_ParsedData.units[unitCode].production)
    293293            trainerList.push(unitCode);
    294294
    295295    g_CivData[g_SelectedCiv].buildList = buildList;