ID69 / ConsulWar advanced script

Создал новый тикет, потому что старый не смог переоткрыть.
Пересмотрел ещё раз всю функцию целиком.
Переделал так:

  function createCalculationForItem(item) {
    $("#cwas-price-calculator-calculate").click(function(){
        var startLvl = parseInt($("#cwas-price-calculator-startLvl").val());
        var endLvl = parseInt($("#cwas-price-calculator-endLvl").val());
        var results = $("#cwas-price-calculator-results");
        results.children().remove();

        var resourceDict = {};
        for (var updateLvl = startLvl + 1; updateLvl <= endLvl; updateLvl++) {
            var levelPrice = item.price(updateLvl);
            for (var resourceName in levelPrice) {
                var resourceAmount = levelPrice[resourceName];
                if (resourceAmount > 0) {
                    if (resourceDict[resourceName] === undefined) {
                        resourceDict[resourceName] = 0;
                    }
                    resourceDict[resourceName] += resourceAmount;
                }
            }
        }
        for (var r in resourceDict) {
            if (r !== 'time') {
                results.append(createResourceSection(r, resourceDict[r]));
            }
        }
        results.append(createResourceSection('time', formatTimeFromSeconds(resourceDict.time)));
    });
  }

За один цикл одновременно собираем и нужные ресурсы и их количество.
Проходимся только по нужным уровням.
Значения с ресурсом, равным 0, отфильтровываем.