Module:Skill List/Header: Difference between revisions

Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(6 intermediate revisions by one other user not shown)
Line 7: Line 7:
local exampleSkill = args[2]:lower()
local exampleSkill = args[2]:lower()
local getSkill = require('Module:Data/Skill/' .. game)
local getSkill = require('Module:Data/Skill/' .. game)
local possibleColumns = {
local columnIds = { "name", "rpname", "battlename", "skilltype", "damagetype", "cost", "powerlvl", "target", "range", "hit", "power", "crit", "acc", "rank", "description", "rpdescription", "effect", "notes" }
name = "Name",
local columnLabels = {
rpname = frame:expandTemplate{ title = "tt", args = { "RP Name", "''Revelations: Persona'' Name" } },
"Name",
battlename = "Battle Name",
frame:expandTemplate{ title = "tt", args = { "RP Name", "''Revelations: Persona'' Name" } },
skilltype = frame:expandTemplate{ title = "tt", args = { "S. Type", "Skill Type" } },
"Battle Name",
damagetype = frame:expandTemplate{ title = "tt", args = { "D. Type", "Damage Type" } },
frame:expandTemplate{ title = "tt", args = { "S. Type", "Skill Type" } },
cost = "Cost",
frame:expandTemplate{ title = "tt", args = { "D. Type", "Damage Type" } },
powerlvl = frame:expandTemplate{ title = "tt", args = { "P. Level", "Power Level" } },
"Cost",
target = "Target",
frame:expandTemplate{ title = "tt", args = { "P. Level", "Power Level" } },
range = "Range",
"Target",
hit = "Hits",
"Range",
power = frame:expandTemplate{ title = "tt", args = { "B. Power", "Base Power" } },
"Hits",
crit = frame:expandTemplate{ title = "tt", args = { "C. Rate", "Critical Hit Rate" } },
frame:expandTemplate{ title = "tt", args = { "B. Power", "Base Power" } },
acc = "Accuracy",
frame:expandTemplate{ title = "tt", args = { "C. Rate", "Critical Hit Rate" } },
rank = "Rank",
"Accuracy",
description = "Description",
"Rank",
rpdescription = frame:expandTemplate{ title = "tt", args = { "RP Description", "''Revelations: Persona'' Description" } },
"Description",
effect = "Effect"
frame:expandTemplate{ title = "tt", args = { "RP Description", "''Revelations: Persona'' Description" } },
"Effect",
"Notes"
}
}
local usedColumns = ""
local usedColumns = ""
for columnId, columnLabel in ipairs(possibleColumns) do
for i, columnId in ipairs(columnIds) do
if getSkill.skill[exampleSkill][columnId] then
if getSkill.skill[exampleSkill][columnId] then
usedColumns = usedColumns .. "! " .. columnLabel .. "\n"
if not (columnId == "cost" and getSkill.skill[exampleSkill]["attribute"] == "passive") then
usedColumns = usedColumns .. "! " .. columnLabels[i] .. "\n"
end
end
end
end
end

Latest revision as of 18:11, 15 November 2024

Documentation for this module may be created at Module:Skill List/Header/doc

local getArgs = require('Module:Arguments').getArgs
local p = {}

function p.main(frame)
	local args = getArgs(frame)
	local game = args[1]:lower()
	local exampleSkill = args[2]:lower()
	local getSkill = require('Module:Data/Skill/' .. game)
	local columnIds = { "name", "rpname", "battlename", "skilltype", "damagetype", "cost", "powerlvl", "target", "range", "hit", "power", "crit", "acc", "rank", "description", "rpdescription", "effect", "notes" }
	local columnLabels = {
		"Name",
		frame:expandTemplate{ title = "tt", args = { "RP Name", "''Revelations: Persona'' Name" } },
		"Battle Name",
		frame:expandTemplate{ title = "tt", args = { "S. Type", "Skill Type" } },
		frame:expandTemplate{ title = "tt", args = { "D. Type", "Damage Type" } },
		"Cost",
		frame:expandTemplate{ title = "tt", args = { "P. Level", "Power Level" } },
		"Target",
		"Range",
		"Hits",
		frame:expandTemplate{ title = "tt", args = { "B. Power", "Base Power" } },
		frame:expandTemplate{ title = "tt", args = { "C. Rate", "Critical Hit Rate" } },
		"Accuracy",
		"Rank",
		"Description",
		frame:expandTemplate{ title = "tt", args = { "RP Description", "''Revelations: Persona'' Description" } },
		"Effect",
		"Notes"
	}
	local usedColumns = ""
	for i, columnId in ipairs(columnIds) do
		if getSkill.skill[exampleSkill][columnId] then
			if not (columnId == "cost" and getSkill.skill[exampleSkill]["attribute"] == "passive") then
				usedColumns = usedColumns .. "! " .. columnLabels[i] .. "\n"
			end
		end
	end
	
	return '{| class="wikitable"\n' .. usedColumns .. "|-\n"
end

return p