Neverwinter Wiki
Исследовать
Заглавная
Все страницы
Интерактивные карты
navigation
Заглавная страница
Добро пожаловать
Случайная страница
Ссылки
Официальный сайт (EN)
Форум (EN)
Официальный сайт (RU)
Форум (RU)
Discord
Twitter
Cryptic Studios
Участие
Портал сообщества
Правила
Запросы к администраторам
Свежие правки
Справка
Gamepedia
Техподдержка Gamepedia
Сообщить о недопустимой рекламе
Справочная Gamepedia
Связаться с нами
FANDOM
Игры
Кино
ТВ
Вики
Исследуйте вики
Вики Сообщества
Создать вики
Нет учётной записи?
Регистрация
Войти
FANDOM
Explore
Current Wiki
Создать вики
Нет учётной записи?
Регистрация
Войти
Войти
Регистрация
Neverwinter Wiki
13 386
страниц
Исследовать
Заглавная
Все страницы
Интерактивные карты
navigation
Заглавная страница
Добро пожаловать
Случайная страница
Ссылки
Официальный сайт (EN)
Форум (EN)
Официальный сайт (RU)
Форум (RU)
Discord
Twitter
Cryptic Studios
Участие
Портал сообщества
Правила
Запросы к администраторам
Свежие правки
Справка
Gamepedia
Техподдержка Gamepedia
Сообщить о недопустимой рекламе
Справочная Gamepedia
Связаться с нами
Редактирование:
Модуль:Mount
Вернуться на страницу
Править код
История
Обсуждение (0)
Редактировать страницу
Модуль:Mount
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
local itemIcon = require('Модуль:Item_icon') local attributes = mw.loadData('Модуль:Item/Attributes') -- База данных параметров предметов local p = {} -- Функция для разделения чисел запятой function commaValue(amount) local formatted = amount while true do formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2') if (k==0) then break end end return formatted end function p.Main( frame ) local powersData = mw.loadData( 'Module:Mount/Powers' ) text = powersData[frame.args[1]] return text end function p.mountBonuses(frame) local cargo = mw.ext.cargo local tablesI = 'Items' local fieldsI = 'Items.name, Items.quality, Items.categories, Items.slot1, Items.slot2, Items.slot3, Items.slot4, Items.insignia_bonuses, Items.combat_power_name, Items.equip_power_name,' local argsI = { where = 'Items.categories HOLDS "Скакун" AND Items.name = "' .. frame.args[1] .. '"', orderBy = 'Items._pageName', } local result = cargo.query( tablesI, fieldsI, argsI ) local r = result[1] local function queryPower(power_type, power_name) local tables = 'Powers' local fields = 'name, type, power_use, item_ui_equip_power, hit_points, power, accuracy, combat_advantage, critical_strike, critical_severity, critical_avoidance, forte, stamina_regen, deflect, awareness, movement_speed, defense, stat_universal' local args_power = { where = 'type = "' .. power_type .. '" AND name = "' .. power_name .. '"' } return cargo.query(tables, fields, args_power)[1] end -- Боевое умение local r_combat_power_name = queryPower("боевое умение", r['Items.combat_power_name']) -- Умение экипировки local r_equip_power = queryPower("умение экипировки", r['Items.equip_power_name']) local formatted_wikitext = {} for _, attrib in ipairs(attributes) do if r_equip_power[attrib.fields_cargo] ~= nil then table.insert(formatted_wikitext, '+' .. commaValue(r_equip_power[attrib.fields_cargo]) .. ' [[' .. attrib.name[1] .. '|<span class="slate">'.. attrib.name[1] .. '</span>]]') end end local text = '<b>Умение экипировки:</b> [[' .. r['Items.equip_power_name'] .. ']]<dl><dd>'.. (#formatted_wikitext == 0 and (r_equip_power['power_use'] ~= '' and r_equip_power['power_use'] or r_equip_power['item_ui_equip_power']) or table.concat(formatted_wikitext, '<br>')) .. '</dd></dl><b>Боевое умение:</b> [[' .. r['Items.combat_power_name'] .. ']]<dl><dd>'.. r_combat_power_name["power_use"] .. '</dd></dl>' return text .. '<b>Список бонусов знака:</b>' .. frame:expandTemplate{title = 'Список бонусов знака', args = args} end function p.mountPowerTable(frame) local cargo = mw.ext.cargo local tables = 'Powers' local fields = 'Powers._pageName, Powers.name, Powers.icon, Powers.item_level, Powers.type, Powers.power_use, item_ui_equip_power, hit_points, power, accuracy, combat_advantage, critical_strike, critical_severity, critical_avoidance, forte, stamina_regen, deflect, awareness, movement_speed, defense, stat_universal' local args = { where = 'Powers.type = "' .. frame.args[1] .. '"', orderBy = 'Powers.item_level, Powers._pageName', } local result = cargo.query( tables, fields, args ) local tbl = mw.html.create('table') tbl:addClass('wikitable sortable jquery-tablesorter') tbl:tag("th"):wikitext("Умение"):done() tbl:tag("th"):wikitext("Уровень предмета"):done() tbl:tag("th"):wikitext("Эффект"):done() tbl:tag("th"):wikitext("Доступно на<br>следующих скакунах"):done() tbl:done() for _, power in ipairs(result) do local item_stats = {} local item_ui_equip_power_value = { { name = 'На себе', value = power.item_ui_equip_power }, } for _, attrib in ipairs(attributes) do if power[attrib.fields_cargo] ~= nil then table.insert(item_stats, attrib.name[1]) end end tr = tbl:tag("tr"):attr("data-stats", table.concat(item_stats, ", ")) tr:tag("td"):wikitext('[[File:' .. power["Powers.icon"] .. '|32px|link=' .. power["Powers._pageName"] ..']] [[' .. power["Powers._pageName"] .. ']]'):done() tr:tag("td"):wikitext(power["Powers.item_level"]):done() if mw.ustring.lower(frame.args[1]) == 'боевое умение' then tr:tag("td"):wikitext(power["Powers.power_use"]):done() elseif mw.ustring.lower(frame.args[1]) == 'умение экипировки' then local formatted_wikitext = {} for _, attrib in ipairs(attributes) do if power[attrib.fields_cargo] ~= nil then table.insert(formatted_wikitext, '+' .. commaValue(power[attrib.fields_cargo]) .. ' [[' .. attrib.name[1] .. '|<span class="slate">'.. attrib.name[1] .. '</span>]]') end end for _, stat in ipairs(item_ui_equip_power_value) do if stat.value then table.insert(formatted_wikitext, '<span class="green">'.. stat.name .. ': </span>' .. commaValue(stat.value)) end end tr:tag("td"):wikitext(table.concat(formatted_wikitext, '<br>')):done() end local tables_items = 'Items' local fields_items = 'Items._pageName, Items.quality, Items.combat_power_name, Items.equip_power_name' local args_items = { where = 'Items.equip_power_name = "' .. power["Powers.name"] .. '" OR Items.combat_power_name = "' .. power["Powers.name"] .. '"', orderBy = 'Items.name, Items.quality', } local result_items = cargo.query( tables_items, fields_items, args_items ) local mounts = {} for _, item in ipairs(result_items) do table.insert(mounts, itemIcon.Main({args={item["Items._pageName"],""}})) end if #result_items > 4 then tr:tag("td"):tag("div"):attr('style', 'height: 150px; overflow-y: scroll;'):wikitext(table.concat(mounts, "<br>")):done() else tr:tag("td"):wikitext(table.concat(mounts, "<br>")):done() end end return tbl end return p
Описание изменений:
Обратите внимание, что все правки на Neverwinter Wiki публикуются по лицензии CC BY-NC-SA
Отменить
Справка по редактированию
(в новом окне)
Шаблон, используемый на этой странице:
Модуль:Mount/doc
(
править
)
Follow on IG
TikTok
Join Fan Lab