Module:BDR
From Fallen London Wiki (Staging)
Documentation for this module may be created at Module:BDR/doc
-- Based on stuff from the original 'Module:Item' by [[User:Adnoam]]
local p = {}
function quality_from_effect(effect)
local quality, sign, value = string.match(effect, "%[%[File:.*link=([^%|]*)%|alt=%]%] %[%[%1%]%]%<%/span%>%s+([%+-])(%d+)")
value = tonumber(value)
if sign == '-' then
value = value * -1
end
return quality, value
end
function p.get_bdr(frame)
targs = frame:getParent().args
list = {}
total_bdr = 0
for k, v in pairs(targs) do
num = string.match(k, "^Effects(%d+)$")
if (num) then
table.insert(list, tonumber(num))
end
end
bdr = {
["Bizarre"] = true,
["Dreaded"] = true,
["Respectable"] = true
}
for _, num in ipairs(list) do
local effect = targs["Effects" .. num]
local quality, value = quality_from_effect(effect)
if (bdr[quality]) then
total_bdr = total_bdr + value
end
end
return total_bdr
end
return p