Модуль:Cosmetic

Материал из Dota 2 Вики
Перейти к: навигация, поиск

Документация для Модуль:Cosmetic Перейти к коду ↴ [ править | очистить ]

Reality Rift icon.png
▶️ Planeshift.
Документацию для этого шаблона или модуля можно найти в Template:Cosmetic.
Вы можете быть перенаправлены на другой язык вики, если перевод недоступен.


Зависимости

--------------------------------------------------------------------------------
-- Imports
--------------------------------------------------------------------------------

local cargo = require('Модуль:Cargo')
local color = require('Модуль:Color')._main
local fileExists = require('Модуль:FileExists')
local getArgs = require('Модуль:Arguments').getArgs

--------------------------------------------------------------------------------
-- Template
--------------------------------------------------------------------------------

local p = {}

function p.main(frame)
  local args = getArgs(frame, {
    wrappers = {
      'Шаблон:Cosmetic'
    }
  })
  return p._main(args)
end

function p._main(args)
  local icon = 'File:Cosmetic icon ' .. args[1] .. '.png'
  local size = args.userparam or args[2] or '100px'
  local border_color = '#a55858'
  local page = args.link or args[1]
  local name = args.text or args[1]

  local output = cargo.query('cosmetic_items', 'image, rarity', {
    where='_pageName="' .. args[1] .. '"',
    groupBy='_pageID'
  })[1]

  if output then
    if output.image then icon = output.image end
    if output.rarity then border_color = color{('cos_' .. output.rarity):lower()} end
  end

  local image = string.format('[[%s|%s|link=%s|%s]]', icon, size, page, name)
  local link = string.format('[[%s|%s]]', page, name)

  return mw.html.create('div')
    :addClass('cosmetic-label')
    :css('width', size)
    :tag('div')
      :css('box-shadow', '0px 0px 2px 4px ' .. border_color)
      :wikitext(image)
      :done()
    :wikitext(link)
end

--------------------------------------------------------------------------------
-- Return
--------------------------------------------------------------------------------

return p