Модуль:Prototypes/Механика/Растение: различия между версиями

мНет описания правки
Нет описания правки
 
(не показано 9 промежуточных версий этого же участника)
Строка 20: Строка 20:
local function formatCharacteristics(seed)
local function formatCharacteristics(seed)
     local parts = {
     local parts = {
         ("[[Гидропоника#Потенция|Потенция]]: %s"):format(seed.potency or 0),
         ("[[Гидропоника#Потенция|Потенция]]: %s"):format(seed.potency or 1),
         ("[[Гидропоника#Урожайность|Урожайность]]: %s"):format(seed.yield or 0),
         ("[[Гидропоника#Урожайность|Урожайность]]: %s"):format(seed.yield),
         ("[[Гидропоника#Продолжительность жизни|Время жизни]]: %s"):format(seed.lifespan or 0),
         ("[[Гидропоника#Срок жизни|Срок жизни]]: %s"):format(seed.lifespan),
         ("[[Гидропоника#Скорость созревани|Созревания]]: %s"):format(seed.maturation or 0),
         ("[[Гидропоника#Созревание|Созревание]]: %s"):format(seed.maturation),
         ("[[Гидропоника#Продуктивность|Продуктивность]]: %s"):format(seed.production or 0),
         ("[[Гидропоника#Производство|Производство]]: %s"):format(seed.production),
         ("[[Гидропоника#Стадии роста|Стадии роста]]: %s"):format(seed.growthStages or 0),
         ("[[Гидропоника#Стадии роста|Стадии роста]]: %s"):format(seed.growthStages or 6),
     }
     }
     return table.concat(parts, '<br>')
     return table.concat(parts, '<br>')
Строка 31: Строка 31:


local function formatConditions(seed)
local function formatConditions(seed)
    local tempC = kelvinToCelsius(seed.idealHeat or 273.15)
     local parts = {
     local parts = {
         ("[[Гидропоника#|Вода]]: %s"):format(seed.waterConsumption or "-"),
         ("[[Гидропоника#Потребление воды|Вода]]: %s"):format(seed.waterConsumption or 0.5),
         ("[[Гидропоника#|Удобрения]]: %s"):format(seed.nutrientConsumption or "-"),
         ("[[Гидропоника#Потребление нутриентов|Удобрение]]: %s"):format(seed.nutrientConsumption or 0.75),
         ("[[Гидропоника#|Температура]]: %.2f°C"):format(tempC),
         ("[[Гидропоника#Оптимальная температура|Темп.]]: %.2f°C"):format(kelvinToCelsius(seed.idealHeat or 293)),
        ("[[Гидропоника#|Освещения]]: %s"):format(seed.idealLight or "-"),
     }
     }
     return table.concat(parts, '<br>')
     return table.concat(parts, '<br>')
Строка 42: Строка 40:


local function formatHarvestType(seed)
local function formatHarvestType(seed)
     return seed.harvestRepeat and "[[Гидропоника#Сбор урожая|" .. tostring(seed.harvestRepeat) .. "]]" or "-"
     return seed.harvestRepeat and "[[Гидропоника#Тип урожая|" .. tostring(seed.harvestRepeat) .. "]]" or "-"
end
end
local function formatHarvestType(seed)
local function formatHarvestType(seed)
     local harvestRepeat = seed.harvestRepeat
     local harvestRepeat = seed.harvestRepeat
     if harvestRepeat == "Repeat" then
     if harvestRepeat == "Repeat" then
         return "[[Гидропоника#Сбор урожая|Повторяющийся]]"
         return "[[Гидропоника#Тип урожая|Многолетнее]]"
     elseif harvestRepeat == "SelfHarvest" then
     elseif harvestRepeat == "SelfHarvest" then
         return "[[Гидропоника#Сбор урожая|Самосбор]]"
         return "[[Гидропоника#Тип урожая|Самосбор]]"
     else
     else
         return "[[Гидропоника#Сбор урожая|Одноразовый]]"
         return "[[Гидропоника#Тип урожая|Однолетнее]]"
     end
     end
end
end
Строка 66: Строка 64:
         ))
         ))
     end
     end
     return table.concat(list)
     return "<ul>" .. table.concat(list) .. "</ul>"
end
end


Строка 80: Строка 78:
         end
         end
     end
     end
     return table.concat(list)
     return "<ul>" .. table.concat(list) .. "</ul>"
end
end


Строка 95: Строка 93:
! style="width:10%;" class="unsortable" | Рост
! style="width:10%;" class="unsortable" | Рост
! style="width:10%;" class="unsortable" | Условия
! style="width:10%;" class="unsortable" | Условия
! style="width:10%;" class="unsortable" | Тип сбора
! style="width:5%;" class="unsortable" | Тип сбора
]]
]]
end
end
Строка 109: Строка 107:
     for _, seed in ipairs(data) do
     for _, seed in ipairs(data) do
         local prodId = seed.productPrototypes[1]
         local prodId = seed.productPrototypes[1]
         local prodName = string.format('{{#invoke:Entity Lookup|getname|%s}}', prodId)
         local seedId = seed.packetPrototype
        local seedName = seed.packetPrototype
        local seedName = string.format('{{#invoke:Entity Lookup|getname|%s}}', seedId)


         local anchor  = string.format('{{anchor|%s}}', prodName)
         local anchor  = string.format('{{anchor|%s}}', seedName)
         local fruitImg = string.format(
         local fruitImg = string.format(
             '{{Предмет|%s|size=64px|vertical=1|imageTooltip=1|link=%s}}',
             '{{Предмет|%s|size=64px|vertical=1|imageTooltip=1|link=%s}}',
             prodId, prodName
             prodId, seedName
         )
         )
         local seedImg  = string.format(
         local seedImg  = string.format(
             '{{Предмет|%s|size=64px|vertical=1|imageTooltip=1|l=|link=%s}}',
             '{{Предмет|%s|size=64px|vertical=1|imageTooltip=1|l=|link=%s}}',
             seedName, prodName
             seedId, seedName
         )
         )
         local plantImg = string.format(
         local plantImg = string.format(
             '{{Предмет|%s-harvest|size=64px|l=|link=%s}}',
             '{{Предмет|%s-harvest|size=64px|l=|link=%s}}',
             seedName, prodName
             seedId, seedName
         )
         )