Модуль:Инвентарный слот/Псевдонимы
< Модуль:Инвентарный слотЭтот Lua-модуль содержит общие данные по псевдонимам, которые можно использовать в инвентарных слотах вместо собственных названий предметов.
Большинство псевдонимов определяются для групп предметов. Это удобно, так как не приходится перечислять все предметы. Более того, группу предметов, для которой записан псевдоним можно изменять в одном месте (данном модуле), и тогда не придётся менять те страницы, где он используется.
Другие псевдонимы переопределяют отображаемый всплывающий текст. Он указывается в квадратных скобках. Это делается для того, чтобы он примерно соответствовал тому тексту, что используется в игре (но это возможно не до конца — поддержка форматирования текста и многострочного комментария на данный момент не реализована).
Расположенная выше документация включена из Модуль:Инвентарный слот/Псевдонимы/док.
-- Список псевдонимов названий блоков и предметов, принимаемых модулем «Инвентарный слот».
local russian = mw.language.new('ru')
-- «Цветные» красители
local coloredDyes = 'Оранжевый краситель; Сиреневый краситель; Светло-синий краситель; Жёлтый одуванчиковый; Лаймовый краситель; Розовый краситель; Серый краситель; Светло-серый краситель; Бирюзовый краситель; Фиолетовый краситель; Лазурит; Какао-бобы; Кактусовая зелень; Красный краситель; Чернильный мешок'
local aliases = {
-- Списки --
['Любой краситель'] = 'Костная мука; ' .. coloredDyes,
['Любой цветной краситель'] = coloredDyes,
['Любая цветная шерсть'] = 'Оранжевая шерсть; Сиреневая шерсть; Светло-синяя шерсть; Жёлтая шерсть; Лаймовая шерсть; Розовая шерсть; Серая шерсть; Светло-серая шерсть; Бирюзовая шерсть; Фиолетовая шерсть; Синяя шерсть; Коричневая шерсть; Зелёная шерсть; Красная шерсть; Чёрная шерсть',
['Любое топливо'] = 'Уголь; Древесный уголь; Древесина; Дубовые доски',
['Любой гриб'] = '[Гриб]Красный гриб; [Гриб]Коричневый гриб',
['Уголь'] = 'v:Древесный уголь',
['Любой кварцевый блок'] = 'Кварцевый блок; Резной кварцевый блок; Кварцевый пилон',
['Любой красный песчаник'] = 'Красный песчаник; Декоративный красный песчаник; Гладкий красный песчаник',
['Любой песчаник'] = 'Песчаник; Декоративный песчаник; Гладкий песчаник',
['Любой каменный кирпич'] = 'Каменный кирпич; Замшелый каменный кирпич; Потрескавшийся каменный кирпич; Резной каменный кирпич',
['Любая каменная плита'] = 'Каменная плита; Песчаниковая плита; Булыжниковая плита; Кирпичная плита; Плита из каменного кирпича; Плита из адского кирпича; Кварцевая плита',
-- Техническое --
['Базовый флаг'] = '[Флаг]Светло-серый флаг' .. string.rep('; Флаг', 15), -- Используется в изображении процесса нанесения на флаг фигур; первый флаг
-- в цепочке светло-серый (как и получаемый флаг), чтобы были видны белые фигуры
-- Блоки и предметы с изменёнными отображаемыми названиями --
['Сломанные надкрылья'] = '[Надкрылья]Сломанные надкрылья',
['Коричневый гриб'] = '[Гриб]Коричневый гриб',
['Огромный коричневый гриб'] = '[Гриб]Огромный коричневый гриб',
['Глиняный блок'] = '[Глина]Глиняный блок',
['Зачарованная книга'] = '[&e]Зачарованная книга',
['Зачарованное золотое яблоко'] = '[&d]Золотое яблоко',
['Рамка портала Края'] = '[Портал (Край)]Рамка портала Края',
['Золотое яблоко'] = '[&b]Золотое яблоко',
['Адский кирпич (предмет)'] = '[Адский кирпич]Адский кирпич (предмет)',
['Красный гриб'] = '[Гриб]Красный гриб',
['Огромный красный гриб'] = '[Гриб]Огромный красный гриб',
['Снег (слой)'] = '[Снег]Снег (слой)',
['Каменная кнопка'] = '[Кнопка]Каменная кнопка',
['Деревянная кнопка'] = '[Кнопка]Деревянная кнопка',
-- Зелья без эффектов --
['Грубое зелье'] = 'Грубое зелье[&7Без эффектов]',
['Колба воды'] = 'Колба воды[&7Без эффектов]', -- колба воды тоже относится к зельям
['Густое зелье'] = 'Густое зелье[&7Без эффектов]',
['Непримечательное зелье'] = 'Непримечательное зелье[&7Без эффектов]',
-- Зелья --
['Зелье ночного зрения'] = 'Зелье ночного зрения[&9Ночное зрение (3:00)]',
['Зелье ночного зрения +'] = 'Зелье ночного зрения[&9Ночное зрение (8:00)]',
['Зелье невидимости'] = 'Зелье невидимости[&9Невидимость (3:00)]',
['Зелье невидимости +'] = 'Зелье невидимости[&9Невидимость (8:00)]',
['Зелье прыгучести'] = 'Зелье прыгучести[&9Прыгучесть (3:00)]',
['Зелье прыгучести +'] = 'Зелье прыгучести[&9Прыгучесть (8:00)]',
['Зелье прыгучести II'] = 'Зелье прыгучести[&9Прыгучесть II (1:30)]',
['Зелье огнестойкости'] = 'Зелье огнестойкости[&9Огнестойкость (3:00)]',
['Зелье огнестойкости +'] = 'Зелье огнестойкости[&9Огнестойкость (8:00)]',
['Зелье ускорения'] = 'Зелье ускорения[&9Скорость (3:00)//&5При применении:/&9+20% Скорость]',
['Зелье ускорения +'] = 'Зелье ускорения[&9Скорость (8:00)//&5При применении:/&9+20% Скорость]',
['Зелье ускорения II'] = 'Зелье ускорения[&9Скорость II (1:30)//&5При применении:/&9+40% Скорость]',
['Зелье замедления'] = 'Зелье замедления[&cЗамедление (1:30)//&5При применении:/&c-15% Скорость]',
['Зелье замедления +'] = 'Зелье замедления[&cЗамедление (4:00)//&5При применении:/&c-15% Скорость]',
['Зелье подводного дыхания'] = 'Зелье подводного дыхания[&9Водное дыхание (3:00)]',
['Зелье подводного дыхания +'] = 'Зелье подводного дыхания[&9Водное дыхание (8:00)]',
['Зелье лечения'] = 'Зелье лечения[&9Исцеление]',
['Зелье лечения II'] = 'Зелье лечения[&9Исцеление II]',
['Зелье урона'] = 'Зелье урона[&cМоментальный урон]',
['Зелье урона II'] = 'Зелье урона[&cМоментальный урон II]',
['Зелье отравления'] = 'Зелье отравления[&cОтравление (0:45)]',
['Зелье отравления +'] = 'Зелье отравления[&cОтравление (1:30)]',
['Зелье отравления II'] = 'Зелье отравления[&cОтравление (0:21)]',
['Зелье регенерации'] = 'Зелье регенерации[&9Регенерация (0:45)]',
['Зелье регенерации +'] = 'Зелье регенерации[&9Регенерация (1:30)]',
['Зелье регенерации II'] = 'Зелье регенерации[&9Регенерация II (0:22)]',
['Зелье силы'] = 'Зелье силы[&9Сила (3:00)//&5При применении:/&9+3 Урон]',
['Зелье силы +'] = 'Зелье силы[&9Сила (8:00)//&5При применении:/&9+3 Урон]',
['Зелье силы II'] = 'Зелье силы[&9Сила II (1:30)//&5При применении:/&9+6 Урон]',
['Зелье слабости'] = 'Зелье слабости[&cСлабость (1:30)//&5При применении:/&9-4 Урон]',
['Зелье слабости +'] = 'Зелье слабости[&cСлабость (4:00)//&5При применении:/&9-4 Урон]',
['Зелье удачи'] = 'Зелье удачи[&9Удача (5:00)//&5При применении:/&9+1 Удача]',
-- Взрывающиеся зелья --
['Грубое взрывающееся зелье'] = 'Грубое взрывающееся зелье[&7Без эффектов]',
['Оседающая колба воды'] = 'Оседающая колба воды[&7Без эффектов]',
['Густое взрывающееся зелье'] = 'Густое взрывающееся зелье[&7Без эффектов]',
['Непримечательное взрывающееся зелье'] = 'Непримечательное взрывающееся зелье[&7Без эффектов]',
['Взрывающееся зелье ночного зрения'] = 'Взрывающееся зелье ночного зрения[&9Ночное зрение (3:00)]',
['Взрывающееся зелье ночного зрения +'] = 'Взрывающееся зелье ночного зрения[&9Ночное зрение (8:00)]',
['Взрывающееся зелье невидимости'] = 'Взрывающееся зелье невидимости[&9Невидимость (3:00)]',
['Взрывающееся зелье невидимости +'] = 'Взрывающееся зелье невидимости[&9Невидимость (8:00)]',
['Взрывающееся зелье прыгучести'] = 'Взрывающееся зелье прыгучести[&9Прыгучесть (3:00)]',
['Взрывающееся зелье прыгучести +'] = 'Взрывающееся зелье прыгучести[&9Прыгучесть (8:00)]',
['Взрывающееся зелье прыгучести II'] = 'Взрывающееся зелье прыгучести[&9Прыгучесть II (1:30)]',
['Взрывающееся зелье огнестойкости'] = 'Взрывающееся зелье огнестойкости[&9Огнестойкость (3:00)]',
['Взрывающееся зелье огнестойкости +'] = 'Взрывающееся зелье огнестойкости[&9Огнестойкость (8:00)]',
['Взрывающееся зелье ускорения'] = 'Взрывающееся зелье ускорения[&9Скорость (3:00)//&5При применении:/&9+20% Скорость]',
['Взрывающееся зелье ускорения +'] = 'Взрывающееся зелье ускорения[&9Скорость (8:00)//&5При применении:/&9+20% Скорость]',
['Взрывающееся зелье ускорения II'] = 'Взрывающееся зелье ускорения[&9Скорость II (1:30)//&5При применении:/&9+40% Скорость]',
['Взрывающееся зелье замедления'] = 'Взрывающееся зелье замедления[&cЗамедление (1:30)//&5При применении:/&c-15% Скорость]',
['Взрывающееся зелье замедления +'] = 'Взрывающееся зелье замедления[&cЗамедление (4:00)//&5При применении:/&c-15% Скорость]',
['Взрывающееся зелье подводного дыхания'] = 'Взрывающееся зелье подводного дыхания[&9Водное дыхание (3:00)]',
['Взрывающееся зелье подводного дыхания +'] = 'Взрывающееся зелье подводного дыхания[&9Водное дыхание (8:00)]',
['Взрывающееся зелье лечения'] = 'Взрывающееся зелье лечения[&9Исцеление]',
['Взрывающееся зелье лечения II'] = 'Взрывающееся зелье лечения[&9Исцеление II]',
['Взрывающееся зелье урона'] = 'Взрывающееся зелье урона[&cМоментальный урон]',
['Взрывающееся зелье урона II'] = 'Взрывающееся зелье урона[&cМоментальный урон II]',
['Взрывающееся зелье отравления'] = 'Взрывающееся зелье отравления[&cОтравление (0:45)]',
['Взрывающееся зелье отравления +'] = 'Взрывающееся зелье отравления[&cОтравление (1:30)]',
['Взрывающееся зелье отравления II'] = 'Взрывающееся зелье отравления[&cОтравление (0:21)]',
['Взрывающееся зелье регенерации'] = 'Взрывающееся зелье регенерации[&9Регенерация (0:45)]',
['Взрывающееся зелье регенерации +'] = 'Взрывающееся зелье регенерации[&9Регенерация (1:30)]',
['Взрывающееся зелье регенерации II'] = 'Взрывающееся зелье регенерации[&9Регенерация II (0:22)]',
['Взрывающееся зелье силы'] = 'Взрывающееся зелье силы[&9Сила (3:00)//&5При применении:/&9+3 Урон]',
['Взрывающееся зелье силы +'] = 'Взрывающееся зелье силы[&9Сила (8:00)//&5При применении:/&9+3 Урон]',
['Взрывающееся зелье силы II'] = 'Взрывающееся зелье силы[&9Сила II (1:30)//&5При применении:/&9+6 Урон]',
['Взрывающееся зелье слабости'] = 'Взрывающееся зелье слабости[&cСлабость (1:30)//&5При применении:/&9-4 Урон]',
['Взрывающееся зелье слабости +'] = 'Взрывающееся зелье слабости[&cСлабость (4:00)//&5При применении:/&9-4 Урон]',
['Взрывающееся зелье удачи'] = 'Взрывающееся зелье удачи[&9Удача (5:00)//&5При применении:/&9+1 Удача]',
-- Взвешенные (оседающие) зелья --
['Грубое оседающее зелье'] = 'Грубое оседающее зелье[&7Без эффектов]',
['Оседающая колба воды'] = 'Оседающая колба воды[&7Без эффектов]',
['Густое оседающее зелье'] = 'Густое оседающее зелье[&7Без эффектов]',
['Непримечательное оседающее зелье'] = 'Непримечательное оседающее зелье[&7Без эффектов]',
['Оседающее зелье ночного зрения'] = 'Оседающее зелье ночного зрения[&9Ночное зрение (0:45)]',
['Оседающее зелье ночного зрения +'] = 'Оседающее зелье ночного зрения[&9Ночное зрение (2:00)]',
['Оседающее зелье невидимости'] = 'Оседающее зелье невидимости[&9Невидимость (0:45)]',
['Оседающее зелье невидимости +'] = 'Оседающее зелье невидимости[&9Невидимость (2:00)]',
['Оседающее зелье прыгучести'] = 'Оседающее зелье прыгучести[&9Прыгучесть (0:45)]',
['Оседающее зелье прыгучести +'] = 'Оседающее зелье прыгучести[&9Прыгучесть (2:00)]',
['Оседающее зелье прыгучести II'] = 'Оседающее зелье прыгучести[&9Прыгучесть II (0:22)]',
['Оседающее зелье огнестойкости'] = 'Оседающее зелье огнестойкости[&9Огнестойкость (0:45)]',
['Оседающее зелье огнестойкости +'] = 'Оседающее зелье огнестойкости[&9Огнестойкость (2:00)]',
['Оседающее зелье ускорения'] = 'Оседающее зелье ускорения[&9Скорость (0:45)//&5При применении:/&9+20% Скорость]',
['Оседающее зелье ускорения +'] = 'Оседающее зелье ускорения[&9Скорость (2:00)//&5При применении:/&9+20% Скорость]',
['Оседающее зелье ускорения II'] = 'Оседающее зелье ускорения[&9Скорость II (0:22)//&5При применении:/&9+40% Скорость]',
['Оседающее зелье замедления'] = 'Оседающее зелье замедления[&cЗамедление (0:22)//&5При применении:/&c-15% Скорость]',
['Оседающее зелье замедления +'] = 'Оседающее зелье замедления[&cЗамедление (1:00)//&5При применении:/&c-15% Скорость]',
['Оседающее зелье подводного дыхания'] = 'Оседающее зелье подводного дыхания[&9Водное дыхание (0:45)]',
['Оседающее зелье подводного дыхания +'] = 'Оседающее зелье подводного дыхания[&9Водное дыхание (2:00)]',
['Оседающее зелье лечения'] = 'Оседающее зелье лечения[&9Исцеление]',
['Оседающее зелье лечения II'] = 'Оседающее зелье лечения[&9Исцеление II]',
['Оседающее зелье урона'] = 'Оседающее зелье урона[&cМоментальный урон]',
['Оседающее зелье урона II'] = 'Оседающее зелье урона[&cМоментальный урон II]',
['Оседающее зелье отравления'] = 'Оседающее зелье отравления[&cОтравление (0:11)]',
['Оседающее зелье отравления +'] = 'Оседающее зелье отравления[&cОтравление (0:22)]',
['Оседающее зелье отравления II'] = 'Оседающее зелье отравления[&cОтравление (0:05)]',
['Оседающее зелье регенерации'] = 'Оседающее зелье регенерации[&9Регенерация (0:11)]',
['Оседающее зелье регенерации +'] = 'Оседающее зелье регенерации[&9Регенерация (0:22)]',
['Оседающее зелье регенерации II'] = 'Оседающее зелье регенерации[&9Регенерация II (0:05)]',
['Оседающее зелье силы'] = 'Оседающее зелье силы[&9Сила (0:45)//&5При применении:/&9+3 Урон]',
['Оседающее зелье силы +'] = 'Оседающее зелье силы[&9Сила (2:00)//&5При применении:/&9+3 Урон]',
['Оседающее зелье силы II'] = 'Оседающее зелье силы[&9Сила II (0:22)//&5При применении:/&9+6 Урон]',
['Оседающее зелье слабости'] = 'Оседающее зелье слабости[&cСлабость (0:22)//&5При применении:/&9-4 Урон]',
['Оседающее зелье слабости +'] = 'Оседающее зелье слабости[&cСлабость (1:00)//&5При применении:/&9-4 Урон]',
['Оседающее зелье удачи'] = 'Оседающее зелье удачи[&9Удача (1:15)//&5При применении:/&9+1 Удача]',
-- Стрелы --
['Стрела ночного зрения'] = 'Стрела ночного зрения[&9Ночное зрение (0:22)]',
['Стрела ночного зрения +'] = 'Стрела ночного зрения[&9Ночное зрение (1:00)]',
['Стрела невидимости'] = 'Стрела невидимости[&9Невидимость (0:22)]',
['Стрела невидимости +'] = 'Стрела невидимости[&9Невидимость (1:00)]',
['Стрела прыгучести'] = 'Стрела прыгучести[&9Прыгучесть (0:22)]',
['Стрела прыгучести +'] = 'Стрела прыгучести[&9Прыгучесть (1:00)]',
['Стрела прыгучести II'] = 'Стрела прыгучести[&9Прыгучесть II (0:11)]',
['Стрела огнестойкости'] = 'Стрела огнестойкости[&9Огнестойкость (0:22)]',
['Стрела огнестойкости +'] = 'Стрела огнестойкости[&9Огнестойкость (1:00)]',
['Стрела ускорения'] = 'Стрела ускорения[&9Скорость (0:22)//&5При применении:/&9+20% Скорость]',
['Стрела ускорения +'] = 'Стрела ускорения[&9Скорость (1:00)//&5При применении:/&9+20% Скорость]',
['Стрела ускорения II'] = 'Стрела ускорения[&9Скорость II (0:11)//&5При применении:/&9+40% Скорость]',
['Стрела замедления'] = 'Стрела замедления[&cЗамедление (0:11)//&5При применении:/&c-15% Скорость]',
['Стрела замедления +'] = 'Стрела замедления[&cЗамедление (0:30)//&5При применении:/&c-15% Скорость]',
['Стрела подводного дыхания'] = 'Стрела подводного дыхания[&9Водное дыхание (0:22)]',
['Стрела подводного дыхания +'] = 'Стрела подводного дыхания[&9Водное дыхание (1:00)]',
['Стрела лечения'] = 'Стрела лечения[&9Исцеление]',
['Стрела лечения II'] = 'Стрела лечения[&9Исцеление II]',
['Стрела урона'] = 'Стрела урона[&cМоментальный урон]',
['Стрела урона II'] = 'Стрела урона[&cМоментальный урон II]',
['Стрела отравления'] = 'Стрела отравления[&cОтравление (0:05)]',
['Стрела отравления +'] = 'Стрела отравления[&cОтравление (0:11)]',
['Стрела отравления II'] = 'Стрела отравления[&cОтравление (0:02)]',
['Стрела регенерации'] = 'Стрела регенерации[&9Регенерация (0:05)]',
['Стрела регенерации +'] = 'Стрела регенерации[&9Регенерация (0:11)]',
['Стрела регенерации II'] = 'Стрела регенерации[&9Регенерация II (0:02)]',
['Стрела силы'] = 'Стрела силы[&9Сила (0:22)//&5При применении:/&9+3 Урон]',
['Стрела силы +'] = 'Стрела силы[&9Сила (1:00)//&5При применении:/&9+3 Урон]',
['Стрела силы II'] = 'Стрела силы[&9Сила II (0:11)//&5При применении:/&9+6 Урон]',
['Стрела слабости'] = 'Стрела слабости[&cСлабость (0:11)//&5При применении:/&9-4 Урон]',
['Стрела слабости +'] = 'Стрела слабости[&cСлабость (0:30)//&5При применении:/&9-4 Урон]',
['Стрела удачи'] = 'Стрела удачи[&9Удача (0:37)//&5При применении:/&9+1 Удача]'
}
-- Пластинки --
local discs = { '13', 'cat', 'blocks', 'chirp', 'far', 'mall', 'mellohi', 'stal', 'strad', 'ward', '11', 'wait' }
for _, disc in ipairs( discs ) do
local name = 'Пластинка ' .. disc
aliases[name] = '[&bПластинка]' .. name .. '[&7C418 - ' .. disc .. ']'
end
-- Повреждённая экипировка --
-- В отличие от английского языка в русском языке окончание прилагательных изменяется в зависимости
-- от числа и рода существительных, к которым они относятся. Поэтому элементами таблицы являются
-- подтаблицы из двух элементов — собственно названия и рода (в единственном числе) или показателя
-- множественного числа.
local damagedItems = {
{'лук', 'м'}, -- мужской род
{'кольчужный шлем', 'м'},
{'алмазный топор', 'м'},
{'алмазный шлем', 'м'},
{'алмазный меч', 'м'},
{'золотой топор', 'м'},
{'золотой шлем', 'м'},
{'золотой меч', 'м'},
{'железный топор', 'м'},
{'железный шлем', 'м'},
{'железный меч', 'м'},
{'щит', 'м'},
{'каменный топор', 'м'},
{'каменный меч', 'м'},
{'деревянный топор', 'м'},
{'деревянный меч', 'м'},
{'огниво', 'с'}, -- средний род
{"удочка с морковью", "ж"}, -- женский род
{"кольчужная кираса", "ж"},
{"алмазная кираса", "ж"},
{"алмазная мотыга", "ж"},
{"алмазная кирка", "ж"},
{"алмазная лопата", "ж"},
{"удочка", "ж"},
{"золотая кираса", "ж"},
{"золотая мотыга", "ж"},
{"золотая кирка", "ж"},
{"золотая лопата", "ж"},
{"железная кираса", "ж"},
{"железная мотыга", "ж"},
{"железная кирка", "ж"},
{"железная лопата", "ж"},
{"кожаный шлем", "м"},
{"кожаная кираса", "ж"},
{"каменная мотыга", "ж"},
{"каменная кирка", "ж"},
{"каменная лопата", "ж"},
{"деревянная мотыга", "ж"},
{"деревянная кирка", "ж"},
{"деревянная лопата", "ж"},
{"кольчужные ботинки", "н"}, -- множественное число (н — от «несколько»)
{"кольчужные поножи", "н"},
{"алмазные ботинки", "н"},
{"алмазные поножи", "н"},
{"надкрылья", "н"},
{"золотые ботинки", "н"},
{"золотые поножи", "н"},
{"железные ботинки", "н"},
{"железные поножи", "н"},
{"кожаные ботинки", "н"},
{"кожаные поножи", "н"},
{"ножницы", "н"}
}
local damaged = {["м"] = "Повреждённый", ["ж"] = "Повреждённая", ["с"] = "Повреждённое", ["н"] = "Повреждённые"}
-- Добавление
for _, item in ipairs(damagedItems) do
local name = damaged[item[2]] .. ' ' .. item[1]
aliases[name] = '[' .. mw.ustring.gsub( item[1], '^%l', mw.ustring.upper ) .. ']' .. name
end
-- Цветные предметы и флаги --
-- Прилагательное «любой»
local anyDeclensed = {["м"] = "Любой", ["ж"] = "Любая", ["с"] = "Любое", ["н"] = "Любые"}
-- Все цвета в начальной форме
local colors = {
"белый",
"оранжевый",
"сиреневый",
"светло-синий",
"жёлтый",
"лаймовый",
"розовый",
"серый",
"светло-серый",
"бирюзовый",
"фиолетовый",
"синий",
"коричневый",
"зелёный",
"красный",
"чёрный"
}
-- Все склонения прилагательных
local colorsDeclensed = mw.loadData("Модуль:Склонение прилагательных")
-- Шаблоны названий фигур флагов в творительном падеже. %s — цвет (тоже в творительном).
-- Значения элементов таблицы сами являются таблицами: первое значение — собственно текст, второе — род или число названия фигуры.
local patterns = {
{'%s верхне-правым крыжем', 'м'},
{'%s верхне-левым крыжем', 'м'},
{'%s нижне-правым крыжем', 'м'},
{'%s нижне-левым крыжем', 'м'},
{'%s основанием', 'с'},
{'%s поясом', 'м'},
{'%s главой', 'ж'},
{'%s зубчатым основанием', 'с'},
{'%s зубчатой главой', 'ж'},
{'%s правосторонним столбом', 'м'},
{'%s столбом', 'м'},
{'%s левосторонним столбом', 'м'},
{'%s столбами', 'н'},
{'%s перевязью', 'ж'},
{'%s левой перевязью', 'ж'},
{'%s крестом', 'м'},
{'%s косым крестом', 'м'},
{'%s верхней половиной', 'ж'},
{'%s нижней половиной', 'ж'},
{'%s левой половиной', 'ж'},
{'%s правой половиной', 'ж'},
{'%s скошением', 'с'},
{'%s опрокинутым скошением', 'с'},
{'%s скошением слева', 'с'},
{'%s опрокинутым скошением слева', 'с'},
{'%s каймой', 'ж'},
{'%s зубчатой каймой', 'ж'},
{'%s муровкой', 'ж'},
{'%s книзу градиентом', 'м'},
{'%s кверху градиентом', 'м'},
{'%s остриём', 'с'},
{'%s опрокинутым остриём', 'с'},
{'%s ромбом', 'м'},
{'%s кругом', 'м'},
{'%s крипером', 'м'},
{'%s цветком', 'м'},
{'%s черепом', 'м'},
{'чем-то %s', 'с'},
}
aliases['Любая звёздочка'] = {}
for _, color in ipairs( colors ) do
local name = russian:ucfirst(colorsDeclensed[color]["ж"]["и"]) .. ' звёздочка'
aliases[name] = '[Звёздочка]' .. name .. '[&7' .. mw.ustring.gsub( color, '^%l', mw.ustring.upper ) .. ']'
table.insert( aliases['Любая звёздочка'], aliases[name] )
for _, pattern in ipairs( patterns ) do
name = "Флаг с " .. mw.ustring.format(pattern[1], colorsDeclensed[color][pattern[2] ]["т"])
aliases[name] = '[Флаг]' .. name .. '[&7С ' .. mw.ustring.format(pattern[1], colorsDeclensed[color][pattern[2] ]["т"]) .. ']'
end
end
aliases['Любая звёздочка'] = table.concat( aliases['Любая звёздочка'], ';' )
-- Все цветовые версии узоров флагов
-- Прилагательное «любой» в творительном падеже
local anyInstrumental = {["м"] = "любым", ["ж"] = "любой", ["с"] = "любым", ["н"] = "любыми"}
for _, pattern in ipairs(patterns) do
local name = "Флаг с " .. mw.ustring.format(pattern[1], anyInstrumental[pattern[2]])
aliases[name] = {}
for _, color in ipairs(colors) do
value = mw.ustring.gsub("Флаг с " .. mw.ustring.format(pattern[1], colorsDeclensed[color][pattern[2]]["т"]), "Флаг с с([^аоуыеяёюие])", "Флаг со с%1")
table.insert(aliases[name], value)
end
aliases[name] = table.concat(aliases[name], ";")
end
-- Предметы, использующие все 16 цветов --
local coloredItems = {
{'ковёр', 'м'},
{'окрашенная глина', 'ж'},
{'окрашенное стекло', 'с'},
{'окрашенная стеклянная панель', 'ж'},
{'флаг', 'м'},
{'шерсть', 'ж'},
{'щит', 'м'}
}
for _, item in ipairs( coloredItems ) do
local name = anyDeclensed[item[2]] .. ' ' .. item[1]
aliases[name] = {}
for _, color in ipairs( colors ) do
table.insert( aliases[name], russian:ucfirst(colorsDeclensed[color][item[2]]["и"]) .. ' ' .. item[1] )
end
aliases[name] = table.concat( aliases[name], ';' )
end
-- Зелья --
-- Названия эффектов в родительном падеже
local effectsGenitive = {
"регенерации",
"ускорения",
"огнестойкости",
"отравления",
"лечения",
"ночного зрения",
"слабости",
"силы",
"замедления",
"прыгучести",
"урона",
"подводного дыхания",
"невидимости",
"удачи"
}
aliases['Любое зелье'] = {
"Колба воды",
"Грубое зелье",
"Густое зелье",
"Непримечательное зелье"
}
aliases['Любое взрывающееся зелье'] = {
"Взрывающаяся колба воды",
"Взрывающееся грубое зелье",
"Взрывающееся густое зелье",
"Взрывающееся непримечательное зелье"
}
aliases['Любое оседающее зелье'] = {
"Оседающая колба воды", -- хоть и звучит странно, но это так
"Оседающее грубое зелье",
"Оседающее густое зелье",
"Оседающее непримечательное зелье"
}
aliases['Любая стрела с эффектом'] = {
"Стрела разбрызгивания",
"Стрела с эффектом",
"Стрела с эффектом",
"Стрела с эффектом"
}
for _, ofEffect in ipairs( effectsGenitive ) do
table.insert( aliases['Любое зелье'], 'Зелье ' .. ofEffect )
table.insert( aliases['Любое взрывающееся зелье'], 'Взрывающееся зелье ' .. ofEffect )
table.insert( aliases['Любое оседающее зелье'], 'Оседающее зелье ' .. ofEffect )
table.insert( aliases['Любая стрела с эффектом'], 'Стрела ' .. ofEffect )
end
aliases['Любое зелье'] = table.concat( aliases['Любое зелье'], ';' )
aliases['Любое взрывающееся зелье'] = table.concat( aliases['Любое взрывающееся зелье'], ';' )
aliases['Любое оседающее зелье'] = table.concat( aliases['Любое оседающее зелье'], ';' )
aliases['Любая стрела с эффектом'] = table.concat( aliases['Любая стрела с эффектом'], ';' )
-- Древесина --
-- Список сортов дерева. По умолчанию подразумевается прилагательное, но если указано поле genitiveOnly,
-- то указывается существительное в родительном падеже.
local woods = {
{["м"] = 'дубовый', ["ж"] = 'дубовая', ["с"] = 'дубовое', ["н"] = 'дубовые'},
{["м"] = 'еловый', ["ж"] = 'еловая', ["с"] = 'еловое', ["н"] = 'еловые'},
{["м"] = 'берёзовый', ["ж"] = 'берёзовая', ["с"] = 'берёзовое', ["н"] = 'берёзовые'},
{["м"] = 'джунглевый', ["ж"] = 'джунглевая', ["с"] = 'джунглевое', ["н"] = 'джунглевые'},
{["м"] = 'акациевый', ["ж"] = 'акациевая', ["с"] = 'акациевое', ["н"] = 'акациевые'},
{genitiveOnly = "тёмного дуба"},
}
-- Список предметов из дерева
local woodItems = {
{'ворота', 'н'},
{'доски', 'н'},
{'древесина', 'ж'},
{'деревянная дверь', 'ж'},
{'деревянный забор', 'м'},
{'лодка', 'ж'},
{'деревянная плита', 'ж'},
{'деревянные ступени', 'н'},
}
-- Некоторые предметы имеют своих собратьев не из дерева, но в названиях их деревянных вариантов нет слова «деревянный», которое требуется
-- в обобщающем псевдониме.
local woodNames = {
['деревянная дверь'] = 'дверь',
['деревянный забор'] = 'забор',
['деревянная плита'] = 'плита',
['деревянные ступени'] = 'ступени',
}
for _, item in ipairs( woodItems ) do
local itemName = woodNames[item[1]] or item[1]
local woodAliases = {}
for _, wood in ipairs( woods ) do
local name = ""
if wood.genitiveOnly then
if item[1] == "древесина" then
name = itemName .. " " .. wood.genitiveOnly
else
name = itemName .. " из " .. wood.genitiveOnly
end
else
name = wood[item[2]] .. " " .. itemName
end
table.insert( woodAliases, russian:ucfirst(name) )
end
woodAliases = table.concat( woodAliases, ';' )
aliases[anyDeclensed[item[2]] .. " " .. item[1]] = woodAliases
end
return aliases