Module:StageQuotes

From Inkipedia, the Splatoon wiki
Revision as of 09:19, 22 February 2018 by Inkrid (talk | contribs) (Creating a module to replace Template:StageQuoteCharacters and Template:StageQuotePunctuation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

For use with Template:StageQuotes.


local p = {}

function p.fill_parent_parameters(frame)
    local defaultvals ={
        Qopen='“',
        Qclose='”',
        [':']=':',
        C='Callie',
        M='Marie',
        Ccolor='{{TextColor|Callie}}',
        Mcolor='{{TextColor|Marie}}',
        game='Splatoon',
        language='Eng'
    }
    local parentframe = frame:getParent()
    local lang = parentframe.args.language or defaultvals.language
    --Get the character names per language:
    local charnames = {'Callie', 'Marie', 'Pearl', 'Marina'}
    if lang == 'Jap' then
        charnames = {'アオリ', 'ホタル', 'ヒメ', 'イイダ'}
        defaultvals.Qopen='「'
        defaultvals.Qclose='」'
        defaultvals[':']=':'
    elseif lang == 'Dut' then
        charnames = {'Callie', 'Marie', 'Lorelei', 'Mariana'}
    elseif lang == 'Fre' then
        charnames = {'Ayo', 'Oly', 'Perle', 'Coralie'}
        defaultvals.Qopen='«'
        defaultvals.Qclose='»'
    elseif lang == 'Ger' then
        charnames = {'Aioli', 'Limone', 'Perla', 'Marina'}
        defaultvals.Qopen='„'
        defaultvals.Qclose='“'
    elseif lang == 'Ita' then
        charnames = {'Stella', 'Marina', 'Alga', 'Nori'}
        defaultvals.Qopen='«'
        defaultvals.Qclose='»'
    elseif lang == 'Rus' then
        charnames = {'Кэлли', 'Мари', 'Жемчик', 'Мариша'}
    elseif lang == 'Spa' then
        charnames = {'Mar', 'Tina', 'Perla', 'Marina'}
        defaultvals.Qopen='"'
        defaultvals.Qclose='"'
    end --'Eng' is handled by default
    --Game-specific settings:
    local game = parentframe.args.game or defaultvals.game
    if game == 'Splatoon 2' then
        defaultvals.Ccolor='{{TextColor|Pearl}}'
        defaultvals.Mcolor='{{TextColor|Marina}}'
        defaultvals.C=charnames[3]
        defaultvals.M=charnames[4]
    else
        defaultvals.C=charnames[1]
        defaultvals.M=charnames[2]
    end
    --Use the default for any unspecified parameter:
    for k,v in pairs(defaultvals) do
        if parentframe[k] == nil then
            parentframe[k] = v
        end
    end
end

return p