Модуль:Prototypes/Механика/Растение: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) Новая страница: «local p = {} local function kelvinToCelsius(kelvin) return kelvin - 273.15 end function p.main(frame) local data = mw.loadData("Модуль:IanComradeBot/prototypes/seeds.json/data") local header = [[ {|id="BOTANY" class="wikitable sortable mw-collapsible" style="width:100%;margin:0;" |- ! rowspan="2" style="width:10%;" | Плод ! rowspan="2" class="unsortable" style="width:5%;" | Семена ! rowspan="2" class="unsortable" style="wid...» |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 28: | Строка 28: | ||
local characteristics = string.format( | local characteristics = string.format( | ||
[[Потенция: % | [[Потенция: %s <br> Урожайность: %s <br> Время жизни: %s <br> Созревания: %s <br> Продуктивность: %s <br> Стадии роста: %s]], | ||
seed.potency, seed.yield, seed.lifespan, seed.maturation, seed.production, seed.growthStages or 0 | seed.potency or 0, seed.yield or 0, seed.lifespan or 0, seed.maturation or 0, seed.production or 0, seed.growthStages or 0 | ||
) | ) | ||
| Строка 43: | Строка 43: | ||
if seed.chemicals then | if seed.chemicals then | ||
for chem, vals in pairs(seed.chemicals) do | for chem, vals in pairs(seed.chemicals) do | ||
table.insert(chemList, string.format("* %s (Min: %s, Max: %s, Divisor: %s)", chem, vals.Min, vals.Max, vals.PotencyDivisor)) | table.insert(chemList, string.format("* %s (Min: %s, Max: %s, Divisor: %s)", chem, vals.Min or 0, vals.Max or 0, vals.PotencyDivisor or 1)) | ||
end | end | ||
end | end | ||
Версия от 15:56, 23 июля 2025
Для документации этого модуля может быть создана страница Модуль:Prototypes/Механика/Растение/doc
local p = {}
local function kelvinToCelsius(kelvin)
return kelvin - 273.15
end
function p.main(frame)
local data = mw.loadData("Модуль:IanComradeBot/prototypes/seeds.json/data")
local header = [[
{|id="BOTANY" class="wikitable sortable mw-collapsible" style="width:100%;margin:0;"
|- ! rowspan="2" style="width:10%;" | Плод
! rowspan="2" class="unsortable" style="width:5%;" | Семена
! rowspan="2" class="unsortable" style="width:5%;" | Растение
! colspan="3" class="unsortable" style="width:20%;" id="no-highlight" | Характеристики
! rowspan="2" class="unsortable" style="width:20%;" | Содержит вещества
! rowspan="2" style="width:20%;" | Мутации
|- ! style="width:10%;" class="unsortable" | Рост
! style="width:10%;" class="unsortable" | Условия
! style="width:10%;" class="unsortable" | Тип сбора
]]
local rows = {}
for _, seed in ipairs(data) do
local fruitImg = string.format("{{Предмет|(%s)|size=64px|vertical=1|imageTooltip=1|link={{#invoke:Entity Lookup|getname|(%s)}}}}", seed.packetPrototype, seed.packetPrototype)
local seedImg = string.format("{{Предмет|(%s)|size=64px|vertical=1|imageTooltip=1|link={{#invoke:Entity Lookup|getname|(%s)}}}}", seed.id, seed.id)
local plantImg = string.format("{{Предмет|(%s)-harvest|size=64px|vertical=1|imageTooltip=1|link={{#invoke:Entity Lookup|getname|(%s)}}}}", seed.id, seed.id)
local characteristics = string.format(
[[Потенция: %s <br> Урожайность: %s <br> Время жизни: %s <br> Созревания: %s <br> Продуктивность: %s <br> Стадии роста: %s]],
seed.potency or 0, seed.yield or 0, seed.lifespan or 0, seed.maturation or 0, seed.production or 0, seed.growthStages or 0
)
local heatC = kelvinToCelsius(seed.idealHeatKelvin or 273.15)
local conditions = string.format(
[[Вода: %s <br> Удобрения: %s <br> Температура: %.2f <br> Освещения: %s]],
seed.waterConsumption or "-", seed.nutrientConsumption or "-", heatC, seed.idealLight or "-"
)
local harvestType = seed.harvestRepeat and tostring(seed.harvestRepeat) or "-"
local chemList = {}
if seed.chemicals then
for chem, vals in pairs(seed.chemicals) do
table.insert(chemList, string.format("* %s (Min: %s, Max: %s, Divisor: %s)", chem, vals.Min or 0, vals.Max or 0, vals.PotencyDivisor or 1))
end
end
local chems = table.concat(chemList, '<br>')
local mutList = {}
if seed.mutationPrototypes then
for _, mu in ipairs(seed.mutationPrototypes) do
table.insert(mutList, string.format("* {{Предмет|(%s)|link=}}", mu))
end
end
local muts = table.concat(mutList, '<br>')
local row = string.format(
[[|-
| %s || %s || %s || %s || %s || %s || %s || %s]],
fruitImg, seedImg, plantImg, characteristics, conditions, harvestType, chems, muts
)
table.insert(rows, row)
end
local footer = '|}'
return header .. table.concat(rows, '\n') .. '\n' .. footer
end
return p