Модуль:BotanyStats: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| (не показаны 34 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
local p = {} | local p = {} | ||
-- Функция для установки значения по умолчанию | -- Функция для установки значения по умолчанию | ||
| Строка 31: | Строка 30: | ||
local idealLight = tonumber(default(frame.args.idealLight, 7)) -- Освещения | local idealLight = tonumber(default(frame.args.idealLight, 7)) -- Освещения | ||
local description = default(frame.args.description, "") -- Описание | local description = default(frame.args.description, "Не обладает никакими особыми свойствами") -- Описание | ||
local | local mutationId = frame.args.mutationId -- Мутации | ||
local | local location = default(frame.args.location, "* Гарантированных мест спавна нет") -- Местонахождение | ||
local mutation = frame.args.mutation -- Параметр для определения таблицы: мутаций она или обычных растений | |||
-- Разделение параметра mutationId на слова | -- Разделение параметра mutationId на слова | ||
local function splitWords(text) | local function splitWords(text) | ||
| Строка 44: | Строка 45: | ||
end | end | ||
local | -- Меняем цвета в зависимости от наличия параметра `mutation` | ||
local mutationClass = (mutation == nil) and 'mutation-cell__plants' or 'mutation-cell__mutation' | |||
local mutationCells = "" | local mutationCells = "" | ||
if mutationId == nil then | |||
-- Если параметр отсутствует | |||
for _, word in ipairs(words) do | mutationCells = "" -- Не отображаем ничего для мутаций | ||
elseif mutationId == "" then | |||
-- Если параметр пуст | |||
mutationCells = '<div class="' .. mutationClass .. '" style="color:#e3fff2;">Не имеет мутаций</div> \n' | |||
else | |||
-- Если параметр задан и не пуст | |||
local words = splitWords(mutationId) | |||
for _, word in ipairs(words) do | |||
mutationCells = mutationCells .. '<div class="' .. mutationClass .. '">{{#invoke:Entity Lookup|createimagetooltip|Файл:' .. word .. '.png|' .. word .. '|Мета=32x32px,link=}} [[#{{#invoke:Entity Lookup|getname|' .. word .. '}}|{{#invoke:Entity Lookup|getname|' .. word .. '}}]]</div>' | |||
end | |||
end | end | ||
| Строка 59: | Строка 70: | ||
out = out .. frame:preprocess('!{{#invoke:Entity Lookup|createimagetooltip|Файл:' .. seedId .. '.png|' .. seedId .. '|Мета=64x64px,link=}} \n') | out = out .. frame:preprocess('!{{#invoke:Entity Lookup|createimagetooltip|Файл:' .. seedId .. '.png|' .. seedId .. '|Мета=64x64px,link=}} \n') | ||
out = out .. '|style="text-wrap:nowrap;"| \n' | out = out .. '|style="text-wrap:nowrap;"| \n' | ||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Потенция|Потенция растения, которая влияет на количество химических веществ в растении|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. potency .. '</span>' .. '</dd> \n') | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Урожайность|Количество продуктов, которые растение дает за один урожай|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. yield .. '</span>' .. '</dd> \n') | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Время жизни|Продолжительность жизни растения|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. lifespan .. '</span>' .. '</dd> \n') | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Созревания|Время созревания растения|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. maturation .. '</span>' .. '</dd> \n') | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Продуктивность|Время, необходимое для производства следующего урожая после созревания|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. production .. '</span>' .. '</dd> \n') | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Стадии роста|Этапы роста растения, которые оно проходит от начальной стадии до полной зрелости|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. growthStages .. '</span>' .. '\n') | |||
out = out .. '|style="text-wrap:nowrap;"| \n' | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Вода|Потребления воды в секунду|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. waterConsumption .. '</span>' .. '</dd> \n') | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Удобрения|Потребления удобрений в секунду|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. nutrientConsumption .. '</span>' .. '</dd> \n') | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Температура|Оптимальная температура|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. string.format("%.2f", idealHeatCelsius) .. '</span>' .. '°C</dd> \n') | |||
out = out .. frame:preprocess('<dd style="font-size: 0.9em;">{{AltTooltip|Освещения|Оптимальный уровень освещения|font-weight=500}}: ' .. '<span style="font-weight: 500">' .. idealLight .. '</span>' .. '</dd> \n') | |||
out = out .. '| ' .. description .. '\n' | out = out .. '| ' .. description .. '\n' | ||
out = out .. '| ' .. location .. '\n' | out = out .. frame:preprocess('|' .. mutationCells .. '\n') | ||
out = out .. frame:preprocess(' | |||
-- Меняем цвета в зависимости от наличия параметра `mutation` | |||
if mutation == nil then | |||
out = out .. frame:preprocess('|{{SlideMenu|overlay|color=#e3fff2|background-color=#0b6b3f|border-color=#074d2f|border-size=3px|title=Список|content=<p></p> \n' .. location .. '}} \n') | |||
else | |||
out = out .. frame:preprocess('|{{SlideMenu|overlay|color=#e3fff2|background-color=#301453|border-color=#211235|border-size=3px|title=Список|content=<p></p> \n' .. location .. '}} \n') | |||
end | |||
out = out .. '|- \n' | out = out .. '|- \n' | ||
return out | return out | ||
end | end | ||
return p | return p | ||