ФЭНДОМ


local Infobox = {}
local HF = require('Module:HF')
local FormatNum = require('Module:FormatNum')
local lang = mw.language.new('en')
 
-- This avoids using the {{#if:{{{factionreq|}}}||}} ParserFunction.
function Infobox.Factionreq( field, vars )
    -- Rather than ParserFunctions, try passing your variables this way. 
    local text = 'Requires [['.. field.Requirement ..']] rank of '.. field.Rank ..' or higher'
    if not HF.isempty(field.Requirement) then
        -- Use mw.html for the best HTML output.
        local output = mw.html.create('span')
        :addClass('factionreq'):wikitext(text)
        return tostring(output)
    end
end  
 
-- replaces {{#if:{{{topspeed|}}}|{{{topspeed|?}}} m/s|---}} logic
function Infobox.Quantify( field, vars )
    local unit = field.Unit or ''
    local value = field.Value or field.Default or '?'
    if HF.isempty(value) then 
        return '---'
    else
        return value .. ' ' .. unit
    end
end
 
-- fixes numbers with commas, e.g: 4,323
function Infobox.FormatCost( field, vars )
    if HF.isempty(field.Value) then
        return '---'
    else
        field.Value = FormatNum.commavalue(field.Value:gsub(',',''))
        return Infobox.Quantify(field, vars)
    end
end
 
function Infobox.Insurance( field, vars )
    -- replaces {{#if:{{{cost|}}}|{{formatnum:{{#expr:trunc({{formatnum:{{{cost|}}}|R}}*0.05)}}}} CR|}}
    local insurance = field.Cost:gsub(',','')
    if not HF.isempty(insurance) then
        return FormatNum.commavalue(math.floor(tonumber(insurance) * 0.05)) .. ' CR'
    else return ''
    end
end
 
function Infobox.Internals( field, vars )
    local matroska = nil
    local output = {}
    if not HF.isempty(field.S1) then 
        table.insert(output, field.S1 .. 'x Size 1 ' .. 
            lang:plural( tonumber(field.S1), 'Compartment', 'Compartments'))
        matroska = true
    end
    if not HF.isempty(field.S2) then 
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.S2 .. 'x Size 2 ' .. 
            lang:plural( tonumber(field.S2), 'Compartment', 'Compartments'))
        matroska = true
    end
    if not HF.isempty(field.S3) then 
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.S3 .. 'x Size 3 ' .. 
            lang:plural( tonumber(field.S3), 'Compartment', 'Compartments'))
        matroska = true
    end
    if not HF.isempty(field.S4) then 
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.S4 .. 'x Size 4 ' .. 
            lang:plural( tonumber(field.S4), 'Compartment', 'Compartments'))
        matroska = true
    end
    if not HF.isempty(field.S5) then 
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.S5 .. 'x Size 5 ' .. 
            lang:plural( tonumber(field.S5), 'Compartment', 'Compartments'))
        matroska = true
    end
    if not HF.isempty(field.S6) then 
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.S6 .. 'x Size 6 ' .. 
            lang:plural( tonumber(field.S6), 'Compartment', 'Compartments'))
        matroska = true
    end
    if not HF.isempty(field.S7) then 
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.S7 .. 'x Size 7 ' .. 
            lang:plural( tonumber(field.S7), 'Compartment', 'Compartments'))
        matroska = true
    end
    if not HF.isempty(field.S8) then 
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.S8 .. 'x Size 8 ' .. 
            lang:plural( tonumber(field.S8), 'Compartment', 'Compartments'))
        matroska = true
    end
    if not HF.isempty(field.Reserved) then 
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.Reserved)
    end
    return table.concat(output)
end
 
function Infobox.Hardpoints( field, vars )
    local matroska = nil
    local output = {}
    if not HF.isempty(field.Utility) then 
        table.insert(output, field.Utility .. 'x Utility ' ..
            lang:plural( tonumber(field.Utility), 'Mount', 'Mounts'))
        matroska = true
    end
    if not HF.isempty(field.S) then
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.S .. 'x Small ' .. 
            lang:plural( tonumber(field.S), 'Hardpoint', 'Hardpoints'))
        matroska = true
    end
    if not HF.isempty(field.M) then
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.M .. 'x Medium ' .. 
            lang:plural( tonumber(field.M), 'Hardpoint', 'Hardpoints'))
        matroska = true
    end
    if not HF.isempty(field.L) then
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.L .. 'x Large ' ..
            lang:plural( tonumber(field.L), 'Hardpoint', 'Hardpoints'))
        matroska = true
    end
    if not HF.isempty(field.H) then
        if (matroska) then table.insert(output, '<br />') end
        table.insert(output, field.H .. 'x Huge '  .. 
            lang:plural( tonumber(field.H), 'Hardpoint', 'Hardpoints'))
    end
    return table.concat( output )
end
 
return Infobox

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики