Модуль:SpeciesStats: различия между версиями

мНет описания правки
Нет описания правки
Строка 42: Строка 42:
--  * Особенность, которой нет в данных, пишется не здесь, а на самой странице
--  * Особенность, которой нет в данных, пишется не здесь, а на самой странице
--    в параметре notes= у нужной расы.
--    в параметре notes= у нужной расы.
--  * Расцветка: всё сравнивается с человеком (BASELINE_SPECIES). Зелёный — лучше,
--  * Расцветка: зелёный — положительное (лечение, преимущества), красный —
--    красный — хуже, жёлтый — как у человека (цвет задаёт SAME_STYLE). Для чисел используйте mark(),
--    отрицательное (урон, недостатки). Для урона используйте takenText(), для лечения —
--    для урона — takenText(), для лечения — healText(), для фраз — tone().
--    healText(), для фраз — tone(). Режим сравнения с человеком — COMPARE_WITH_HUMAN.
--  * Порядок групп урона и органов задают GROUP_ORDER и ORGAN_ORDER ниже.
--  * Порядок групп урона и органов задают GROUP_ORDER и ORGAN_ORDER ниже.
--    Состав групп и органов там не задаётся: его дают данные.
--    Состав групп и органов там не задаётся: его дают данные.
Строка 233: Строка 233:


-- Цвет значений, которые совпадают с человеческими (нейтральный жёлтый).
-- Цвет значений, которые совпадают с человеческими (нейтральный жёлтый).
-- Расцветка страницы:
--  зелёный (class="positive") — положительное: лечение, преимущества, баффы;
--  красный (class="negative") — отрицательное: получаемый урон, недостатки, дебаффы.
--  жёлтый (SAME_STYLE) — остальные числа (здоровье, скорость, температура и т. п.).
-- COMPARE_WITH_HUMAN = true включает другой режим: числа красятся по сравнению с человеком
-- (лучше — зелёный, хуже — красный, так же — SAME_STYLE). Сейчас выключен.
local COMPARE_WITH_HUMAN = false
-- Нейтральный цвет чисел.
local SAME_STYLE = "color:#e6c07b;font-weight:bold"
local SAME_STYLE = "color:#e6c07b;font-weight:bold"
-- true, пока выводится сам человек: сравнивать его с собой незачем, значения без цвета.
-- true, пока выводится сам человек: сравнивать его с собой незачем, значения без цвета.
Строка 246: Строка 254:
-- fmt — как показать значение человека в подсказке (по умолчанию num).
-- fmt — как показать значение человека в подсказке (по умолчанию num).
local function mark(text, v, base, higherBetter, fmt)
local function mark(text, v, base, higherBetter, fmt)
if not COMPARE_WITH_HUMAN then
-- Обычное число (не урон и не лечение): нейтральный цвет, для красоты.
if type(v) == "number" then
return '<span style="' .. SAME_STYLE .. '">' .. text .. '</span>'
end
return text
end
if type(v) ~= "number" or type(base) ~= "number" then
if type(v) ~= "number" or type(base) ~= "number" then
return text
return text
Строка 273: Строка 288:
end
end
local function value(v, b)
local function value(v, b)
if base then
if base and COMPARE_WITH_HUMAN then
return mark(num(v), v, b or 0, higherBetter)
return mark(num(v), v, b or 0, higherBetter)
elseif base then
-- Без сравнения: урон, который получает раса, — красный, лечение — зелёный.
return tone(num(v), higherBetter)
end
end
return num(v)
return num(v)