Módulo:Efígies

De RuneScape Wiki
Ir para navegação Ir para pesquisar
Documentação do módulo
Esta documentação é transcluída de Predefinição:Sem documentação/doc. [editar] [atualizar]
Este módulo não possui nenhuma documentação. Por favor, considere adicionar uma documentação em Módulo:Efígies/doc. [editar]
Módulo:Efígies's a função effigies_for_level é invocada por Calculadora:Predefinição/Outros/Calculadora de Efígies.
Módulo:Efígies requer Módulo:Addcommas.
Módulo:Efígies requer Módulo:Efígies/data.
Módulo:Efígies requer Módulo:Experience/data.

--
-- Implements [[Calculator:Other/Dragonkin lamps]]
--
local p = {}

local effigy_exp = require('Módulo:Efígies/data')
local XPAtLevel = require('Módulo:Experience/data')
local commas = require('Módulo:Addcommas')
 
function p.effigies_for_level(frame)
    local target_level = frame.args.level
    local current_xp = frame.args.xp
    local dungeoneering = string.lower(frame.args.dg) == 'sim'
 
    if type(current_xp) == 'string' then
         current_xp = commas._strip(current_xp)
         current_xp = tonumber(current_xp)
    end
 
    if type(target_level) == 'string' then
         target_level = commas._strip(target_level)
         target_level = tonumber(target_level)
    end
 
    local current_lvl
    local function level_at_xp(xp)
        local level
        for i=120,1,-1 do
           if XPAtLevel[i] <= xp then
                level = i
                break
           end
        end
        if (level > 99 and not dungeoneering) then
            return 99
        else
            return level
        end
    end
 
    local target_xp = XPAtLevel[target_level]
    local effigies = 0
 
    while current_xp < target_xp do
        effigies = effigies + 1
        current_level = level_at_xp(current_xp)
        local xp_per_effigy = effigy_exp[current_level]
 
        current_xp = current_xp + xp_per_effigy
    end
 
    return 'Você vai precisar de '..commas._add(effigies)..' lâmpadas ou estrelas de dragonkin.'
end
 
return p