Content added Content deleted
No edit summary Tag: Reverted |
No edit summary Tag: Manual revert |
||
Line 4:
p.getLootTable = function(frame)
local npc =
local txt = frame:expandTemplate{ title = 'LootHeader' }
for i=1, #lootTable, 1 do
|
Revision as of 17:26, 29 December 2021
This module retrieves data from the "Loot tables.json" template according to the {{PAGENAME}} (usually, an NPC name) provided as an argument value.
local lootTable = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{title='Template:Loot tables.json'})
local p = {}
p.getLootTable = function(frame)
local npc = frame.args[1]
local txt = frame:expandTemplate{ title = 'LootHeader' }
for i=1, #lootTable, 1 do
if lootTable[i][1] == npc then
txt = txt .. frame:expandTemplate{ title = 'LootRow', args = { itemname = lootTable[i][3], quantity = lootTable[i][4], rarity = lootTable[i][2] .. '%' } }
end
end
txt = txt .. frame:expandTemplate{ title = 'LootEnd' }
return txt
end
p.getSourceTable = function(frame)
local item = frame.args[1]
local txt = frame:expandTemplate{ title = 'SourceHeader' }
for i=1, #lootTable, 1 do
if lootTable[i][3] == item then
txt = txt .. frame:expandTemplate{ title = 'SourceRow', args = { npcname = lootTable[i][1], quantity = lootTable[i][4], rarity = lootTable[i][2] .. '%' } }
end
end
txt = txt .. frame:expandTemplate{ title = 'LootEnd' }
return txt
end
return p