Module:Loot tables: Difference between revisions

From Veloren Wiki
Content added Content deleted
No edit summary
Tag: Reverted
No edit summary
Tag: Manual revert
Line 4: Line 4:


p.getLootTable = function(frame)
p.getLootTable = function(frame)
local npc = mw.title.getCurrentTitle()
local npc = frame.args[1]
local txt = frame:expandTemplate{ title = 'LootHeader' }
local txt = frame:expandTemplate{ title = 'LootHeader' }
for i=1, #lootTable, 1 do
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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.