Megami Tensei Wiki
Registre-se
ViniSD (discussão | contribs)
Sem resumo de edição
Etiqueta: sourceedit
ViniSD (discussão | contribs)
Sem resumo de edição
Etiqueta: sourceedit
Linha 1 435: Linha 1 435:
 
result = result .. styles.table2 .. styles.h .. 'colspan=4|Summon Information\n|-'
 
result = result .. styles.table2 .. styles.h .. 'colspan=4|Summon Information\n|-'
 
if prop.material then
 
if prop.material then
result = result .. styles.skill .. '[[Carta Material|' .. styles.spanc .. 'Carta Material</span>]]' .. styles.effect1 .. '[[File:Material_Card_Icon_(P2ISP).png|alt=|link=]] Carta <span style="color:yellow;font-weight:bold">' .. prop.material .. '</span>'
+
result = result .. styles.skill .. '[[Carta Material|' .. styles.spanc .. 'Carta Material</span>]]' .. styles.effect1 .. 'Carta [[File:Material_Card_Icon_(P2ISP).png|alt=|link=]] <span style="color:yellow;font-weight:bold">' .. prop.material .. '</span>'
 
end
 
end
 
if prop.card then
 
if prop.card then
result = result .. styles.skillc .. '[[Carta de Tarô|' .. styles.spanc .. 'Cartas de Tarô</span>]]' .. styles.effect1 .. 'Cartas <span style="color:yellow;font-weight:bold">' .. prop.card .. ' [[File:Tarot_Card_Symbol_2.png|alt=|link=]] ' .. prop.arcana .. '</span>'
+
result = result .. styles.skillc .. '[[Carta de Tarô|' .. styles.spanc .. 'Cartas de Tarô</span>]]' .. styles.effect1 .. '<span style="color:yellow;font-weight:bold">' .. prop.card .. ' [[File:Tarot_Card_Symbol_2.png|alt=|link=]] ' .. prop.arcana .. '</span> Cartas'
 
end
 
end
 
local effect1
 
local effect1

Edição das 21h34min de 7 de abril de 2017

A documentação para este módulo pode ser criada em Módulo:Skills/sandbox/doc

--<pre>
local getArgs = require('Module:Arguments').getArgs
local getGames = require('Module:Gamedata')
 
local p = {}
 
local function makeInvokeFunction(funcName)
	-- makes a function that can be returned from #invoke, using
	-- [[Module:Arguments]].
	return function (frame)
		local args = getArgs(frame, {parentOnly = true})
		return p[funcName](args)
	end
end
 
local styles = {
	['skill'] = '\n|-\n!style="background:#000;color:#fff"|',
	['skillc'] = '\n!style="background:#000;color:#fff"|',
	['skill3'] = '\n!style="background:#000;color:#fff;',
	['skill3m'] = '\n!style="background:transparent"|',
	['cost1'] = '\n|style="background:#222"|',
	['cost2'] = '\n|style="background:#282828"|',
	['effect1'] = '\n|style="background:#222;text-align:left;padding-left:5px"|',
	['effect2'] = '\n|style="background:#282828;text-align:left;padding-left:5px"|',
	['effect1p'] = '\n|colspan=2 style="background:#222;text-align:left;padding-left:5px"|',
	['effect2p'] = '\n|colspan=2 style="background:#282828;text-align:left;padding-left:5px"|',
	['order'] = '\n|style="background:#000;color:#fff;text-align:left;padding-left:5px"|',
	['table2h'] = '\n{|width="100%" class="customtable ',
	['table2'] = '\n{|width="100%" class="customtable"',
	['table2b'] = '\n{|cellpadding=0 cellspacing=0 style="width:100%;background:transparent" ',
	['statlow'] = '\n|style="background:#000;color:#fff"|',
	['statlow2'] = '\n|style="background:#fff;color:#000"|',
	['statlow3'] = '\n|style="background:#000;',
	['quote'] = '\n|-\n|style="background:#000;color:#fff;text-align:center;border-radius:3.5px;',
	}

local function frac(numerator,denominator)
	return '<span style="font-size:9px;position:relative;top:2px"><span style="position:relative;top:-5px;right:-3px">' .. numerator .. '</span><span style="position:relative;top:-2px">/</span>' .. denominator .. '</span>'
end

local function resoutput(v,denominator,game)
	if not denominator then denominator = 8 end
	if v == 'dr' or v == 'ab' then
		v = 'color:lime" title="Drena"|Dr'
	elseif v == '.5dr' or v == '.5ab' or v == '50dr' or v == '50ab' or v == 'dr50' or v == 'ab50' then
		v = 'color:lime" title="Drena 50%"|<span style="color:white">½</span>Dr'
	elseif v == '2dr' or v == '2ab' then
		v = 'color:lime" title="Drena em Dobro"|<span style="color:white">2×</span>Dr'
	elseif v == 'rp' or v == 'rf' then
		v = 'color:cyan" title="Reflete"|Rf'
	elseif v == '.5rp' or v == '.5rf' or v == '50rp' or v == '50rf' or v == 'rp50' or v == 'rf50' then
		v = 'color:cyan" title="Reflete 50%"|<span style="color:white">½</span>Rf'
	elseif v == '1.5rp' or v == '1.5rf' or v == '150rp' or v == '150rf' or v == 'rp150' or v == 'rf150' then
		v = 'color:cyan" title="Reflete 150%"|<span style="color:white">1.5×</span>Rf'
	elseif v == '2rp' or v == '2rf' then
		v = 'color:cyan" title="Reflete em Dobro"|<span style="color:white">2×</span>Rf'
	elseif tonumber(v) == 0 then
		v = 'color:white" title="Anula"|Anu'
	elseif tonumber(v) == 1 then
		v = '" title="Normal"| -'
	elseif tonumber(v) < 1 then
		v = 'color:teal"  title="Resiste"|' .. frac((tonumber(v) * denominator),denominator)
	elseif tonumber(v) > 2 then
		v = 'color:red" title="Fraco"|' .. v .. '×'
	elseif tonumber(v) > 1.3 then
		if game == 'smt1' or game == 'smt2' or game == 'smtif' then
			v = 'color:orange" title="Vulnerável"|' .. v .. '×'
		else
			v = 'color:red" title="Fraco"|' .. v .. '×'
		end
	elseif tonumber(v) > 1.1 then
			v = 'color:orange" title="Vulnerável"|' .. v .. '×'
	end
	return styles.statlow3 .. v
end

local function cate(catename)
	if mw.title.getCurrentTitle():inNamespace('') then 
		return '[[Category:' .. catename .. ']]'
	else
		return ''
	end
end
 
local function noskill(skill,gamed)
	local result = '\n|-\n!colspan=5 style="background:#300;width:600px"|<strong style="color:red;font-size:150%">'
	if skill and gamed then
		result = result .. 'Invalid skill name of "' .. skill .. '". You may correct the skill name or modify [[module:Skills/' .. gamed .. ']] if needed'
	else
		result = result .. 'No empty line or empty skill name is allowed. You should either remove the empty line or add some proper skill name'
	end
	return result .. '.</strong>' .. cate('Articles with unrecognizable skill name for Module:Skills') .. '\n|-style="display:none"\n'
end
 
local race_names = {
--Gods
	['Deity'] = { 'Deity', 'Demon God', },
	['Megami'] = { 'Megami', 'Goddess', },
	['Amatsu'] = { 'Amatsu', 'Heavenly God', 'Tenjin', },
	['Enigma'] = { 'Enigma', },
	['Entity'] = { 'Entity', 'Geist', },
	['Godly'] = { 'Godly', 'Godly Spirit', },
	['Soshin'] = { 'Soshin', },
	['Chaos'] = { 'Chaos', linkdab=true, },
--Guardians
	['Tenma'] = { 'Tenma', },
	['Fury'] = { 'Fury', 'Destroyer', 'Omega', },
	['Lady'] = { 'Lady', 'Earth Mother', },
	['Kunitsu'] = { 'Kunitsu', 'Nation Ruler', 'Chigi', },
	['Kishin'] = { 'Kishin', 'Guardian', },
	['Vile'] = { 'Vile', },
	['Reaper'] = { 'Reaper', linkdab=true, },
	['Shinshou'] = { 'Shinshou', },
	['Wargod'] = { 'Wargod', },
	['Zealot'] = { 'Zealot', linkdab=true, },
--Aerials
	['Herald'] = { 'Herald', 'Seraph', 'Hallel', },
	['Divine'] = { 'Divine', },
	['Fallen'] = { 'Fallen', 'Fallen Angel', 'Futenshi', },
--Birds
	['Avian'] = { 'Avian', },
	['Flight'] = { 'Flight', 'Wild Bird', },
	['Raptor'] = { 'Raptor', },
--Dragons
	['Dragon'] = { 'Dragon', 'Dragon God', },
	['Snake'] = { 'Snake', 'Dragon King', },
	['Drake'] = { 'Drake', 'Evil Dragon', },
	['Hiryu'] = { 'Hiryu', },
--Beasts
	['Avatar'] = { 'Avatar', 'Godly Beast', },
	['Holy'] = { 'Holy', 'Holy Beast', },
	['Beast'] = { 'Beast', },
	['Wilder'] = { 'Wilder', },
	['UMA'] = { 'UMA', },
	['Kaijuu'] = { 'Kaijuu', },
--Onis
	['Touki'] = { 'Touki', },
	['Brute'] = { 'Brute', },
	['Jirae'] = { 'Jirae', 'Earth Spirit', },
	['Femme'] = { 'Femme', 'Joma', },
	['Jaki'] = { 'Jaki', 'Evil Demon', },
	['Akuma'] = { 'Akuma', },
	['Shinoma'] = { 'Shinoma', },
	['Henii'] = { 'Henii', catename=false, },
--Magicas
	['Tyrant'] = { 'Tyrant', 'Demon Lord', },
	['Genma'] = { 'Genma', 'Demigod', },
	['Fairy'] = { 'Fairy', },
	['Yoma'] = { 'Yoma', },
	['Night'] = { 'Night', 'Nocturne', },
	['Shin Akuma'] = { 'Shin Akuma', },
--Vegetations
	['Tree'] = { 'Tree', },
	['Wood'] = { 'Wood', },
	['Jusei'] = { 'Jusei', },
--Elementals
	['Element'] = { 'Element', 'Prime', },
	['Mitama'] = { 'Mitama', },
--Evil Spirits
	['Haunt'] = { 'Haunt', },
	['Spirit'] = { 'Spirit', 'Jarei', },
	['Undead'] = { 'Undead', 'Grave' },
--Humans
	['Human'] = { 'Human', },
	['Gaean'] = { 'Gaean', 'Gaian', link='Ring of Gaea', catename='Ring of Gaea', },
	['Messian'] = { 'Messian', link='Order of Messiah', catename='Order of Messiah', },
	['Summoner'] = { 'Summoner', link='Devil Summoner (race)', },
	['Kyojin'] = { 'Kyojin', },
	['Shinja'] = { 'Ishtar Shinja', 'Bael Shinja', },
	['Meta'] = { 'Meta', },
	['Ranger'] = { 'Ranger', },
	['Hero'] = { 'Hero', },
	['General'] = { 'General', },
	['Therian'] = { 'Therian', },
	['Foreigner'] = { 'Foreigner', },
	['Fiend'] = { 'Fiend', },
--Fouls
	['Foul'] = { 'Foul', },
	['Vermin'] = { 'Vermin', },
	['Demonoid'] = { 'Demonoid', },
	['Rumor'] = { 'Rumor', },
	['Karma'] = { 'Karma', link='Karma (race)', },
--Machine
	['Machine'] = { 'Machine', 'Device' },
	['Virus'] = { 'Virus', exclusive='#Virus and Vaccine', },
	['Vaccine'] = { 'Vaccine', exclusive='#Virus and Vaccine', },
--Unclassified
	['Zoma'] = { 'Zoma', },
	['Fake'] = { 'Fake', },
	['Famed'] = { 'Famed', },
	['Suiyou'] = { 'Suiyou', },
	['Nymph'] = { 'Nymph', },
	['Food'] = { 'Food', },
--Enemy-exclusive
	['Horde'] = { 'Horde', catename=false, },
	['Yuiitsukami'] = { 'Yuiitsukami', exclusive='Yuiitsukami / Kami', catename=false, },
	['Kami'] = { 'Kami', exclusive='Yuiitsukami / Kami', catename=false, },
	['Himitsu'] = { 'Himitsu', exclusive='Himitsu', catename=false, },
	['Teacher'] = { 'Teacher', exclusive='Kyoushi and Kaizou Kyoushi', catename=false, },
	['Demon God Emperor'] = { 'Demon God Emperor', 'Majinou', 'Majin Ou', 'Majinō', 'Majinnou', 'Majinnō', exclusive='Majinou / Demon God Emperor', catename=false, },
	['Boutoko'] = { 'Boutoko', exclusive='Boutoko / Violent Guy', catename=false, },
	['Corpus'] = { 'Corpus', link='Manikin', catename=false, },
	['Zoa'] = { 'Zoa', exclusive='Bunrei / Zoa', },
	['Light'] = { 'Light', exclusive='Mujinkou / Light', catename=false, },
	['Devil'] = { 'Devil', exclusive='Daimaou / Devil', catename=false, },
	['Archaic'] = { 'Archaic', exclusive='Archaic', catename=false, },
	['King'] = { 'King', exclusive='King', catename=false, },
	['Koki'] = { 'Koki', exclusive='Koki', catename=false, },
	['Great'] = { 'Great', exclusive='Great', catename=false, },
	['Awake'] = { 'Awake', exclusive='Awake and Soil', catename=false, },
	['Soil'] = { 'Soil', exclusive='Awake and Soil', catename=false, },
	['Judge'] = { 'Judge', exclusive='Judge and Pillar', catename=false, },
	['Pillar'] = { 'Pillar', exclusive='Judge and Pillar', catename=false, },
	['Mother'] = { 'Mother', exclusive='Mother and Empty', catename=false, },
	['Empty'] = { 'Empty', exclusive='Mother and Empty', catename=false, },
	['Onmyo'] = { 'Onmyo', exclusive='Onmyo', catename=false, },
	['God'] = { 'God', exclusive='Bonten / God', catename=false, },
	['Bel'] = { 'Bel', link='King of Bel', catename=false, },
	['Star'] = { 'Star', link='Septentriones', },
	['Energy'] = { 'Energy', exclusive='Jiryuu / Energy', catename=false, },
	['King Abaddon'] = { 'King Abaddon', catename=false, },
	['Fukoshi'] = { 'Fukoshi', catename=false, },
	['Locust'] = { 'Locust', 'Soldier Bug', link='Soldier Bug', catename=false, },
	['Tokyogami'] = { 'Tokyogami', exclusive='Tokyogami', catename=false, },
	['Rebel God'] = { 'Rebel God', exclusive='Rebel God', catename=false, },
}
 
local function getRace(race,game,abbr)
	local result
	if not race or race == '' or race == '-' or race == 'Unclassified' or race == 'None' or race == 'none' then result = '-'
	elseif game == 'ddsaga1' or game == 'ddsaga2' then
		if race == 'Deity' then result = '[[Gods|' .. race .. ']]'
		elseif race == 'Evil' or race == 'Icon' then result = '[[Guardians|' .. race .. ']]'
		elseif race == 'Fiend' or race == 'Nether'  then result = '[[Magica|' .. race .. ']]'
		elseif race == 'Aerial' then result = '[[Aerials|' .. race .. ']]'
		elseif race == 'Aerial2' then result = '[[Birds|Aerial]]'
		elseif race == 'Dragon' then result = '[[Dragons|' .. race .. ']]'
		elseif race == 'Demon' or race == 'Brute' then result = '[[Demoniacs|' .. race .. ']]'
		elseif race == 'Beast' then result = '[[Beasts|' .. race .. ']]'
		elseif race == 'Device' then result = '[[Machine|' .. race .. ']]'
		elseif race == 'Light' then result = '[[Herald|' .. race .. ']]'
		else result = race
		end
	elseif game == 'raidou1' or game == 'raidou2' then
		if race == 'Element' then result = '[[Element]]' .. cate('Raça Element')
		elseif race == 'Spirit' then result = '[[Mitama|Spirit]]' .. cate('Raça Mitama')
		elseif race == 'Destroyer' or race == 'King Abaddon' or race == 'Fukoshi' or race == 'Locust' or race == 'Tokyogami' or race == 'Rebel God' then result = '[[Enemy exclusive race#' .. race .. '|' .. race ..']]'
		elseif race == 'Fiend' then result = '[[Fiend]]' .. cate('Raça Fiend')
		elseif race == 'Pyro' or race == 'Frost' or race == 'Volt' or race == 'Vento' or race == 'Fury' or race == 'Pagan' or race == 'Skill' or race == 'Evil' then result = '[[' .. race .. ' Order|' .. race .. ']]' .. cate(race .. ' Order')
		else result = race
		end
    elseif race == 'Therian' then
        if game == 'mt1' then result = '[[Yoma|Therian]]' .. cate('Raça Yoma')
        else result = '[[Therian]]' .. cate('Raça Therian')
        end
	elseif race == 'Ghost' then
		if game == 'sh' or game == 'smtds' then
			result = '[[Ghost (race)|Ghost]]' .. cate('Raça Ghost')
		else result = '[[Haunt|Ghost]]' .. cate('Raça Haunt')
		end
	elseif race == 'Cyber' then
		if game == 'smt4' then
			result = '[[Machine|Cyber]]' .. cate('Raça Machine')
		else result = '[[Raça Exclusiva do Inimigo#Denrei / Cyber|Cyber]]'
		end
	elseif race == 'Star 2' then
		result = '[[Triangulum|Star]]' .. cate('Raça Star')
	end
	for k, v in pairs(race_names) do
		for _, name in ipairs(v) do
			if race == name then
				if abbr then
					abbr = '<abbr title="' .. abbr .. '">' .. name .. '</abbr>'
				else abbr = name
				end
				if v.exclusive then
					result = '[[Enemy exclusive race#' .. v.exclusive .. '|' .. abbr .. ']]'
				elseif v.linkdab then
					result = '[[' .. k .. ' (race)|' .. abbr .. ']]'
				elseif v.link then
					result = '[[' .. v.link .. '|' .. abbr .. ']]'
				else
					result = '[[' .. k .. '|' .. abbr .. ']]'
				end
				if v.catename==false then
				elseif v.catename then
					result = result .. cate(v.catename)
				else
					result = result .. cate('Raça ' .. k)
				end
			end
		end
	end
	if not result then return race end
	return result
end
 
local function aligncat(align,gamen)
	local result
	if align == 'Law' or align == 'Light-Law' or align == 'Neutral-Law' or align == 'Dark-Law' then
		result = cate('Law Demons in ' .. gamen)
	elseif align == 'Neutral' or align == 'Light-Neutral' or align == 'Neutral-Neutral' or align == 'Dark-Neutral' then
		result = cate('Neutral Demons in ' .. gamen)
	elseif align == 'Chaos' or align == 'Light-Chaos' or align == 'Neutral-Chaos' or align == 'Dark-Chaos' then
		result = cate('Chaos Demons in ' .. gamen)
	else
		result = ''
	end
	return result
end

local function alignnocat(align,nocat,gamen)
	local result
	if nocat then
	    result = ''
	elseif align == 'Law' or align == 'Light-Law' or align == 'Neutral-Law' or align == 'Dark-Law' then
		result = cate('Law Demons in ' .. gamen)
	elseif align == 'Neutral' or align == 'Light-Neutral' or align == 'Neutral-Neutral' or align == 'Dark-Neutral' then
		result = cate('Neutral Demons in ' .. gamen)
	elseif align == 'Chaos' or align == 'Light-Chaos' or align == 'Neutral-Chaos' or align == 'Dark-Chaos' then
		result = cate('Chaos Demons in ' .. gamen)
	else
		result = ''
	end
	return result
end
 
local function bossdemonnocat(boss,nocat,gamen)
	local result
	if boss then
		result = cate(gamen .. ' Bosses')
	elseif nocat then
	    result = ''
	else result = cate('Demônios de ' .. gamen)
	end
	return result
end
 
local function bossdemoncat(boss,gamen)
	local result
	if boss then
		result = cate('Chefes de ' .. game)
	else result = cate('Demônios de ' .. gamen)
	end
	return result
end

local function getArcana(arcana,game,gamen)
	local result
	if not arcana or arcana == '' or arcana == '-' or arcana == 'Unclassified' or arcana == 'None' or arcana == 'none'
		then result = '-'
	elseif arcana == 'Coin' or arcana == 'Coins' then result = '[[Suit of Coins|Coin]]' .. cate('Coin Arcana')
	elseif arcana == 'Pentacle' then result = '[[Suit of Coins|Pentacle]]' .. cate('Coin Arcana')
	elseif arcana == 'Sword' or arcana == 'Swords' then result = '[[Suit of Swords|Sword]]' .. cate('Sword Arcana')
	elseif arcana == 'Cup' or arcana == 'Cups' then result = '[[Suit of Cups|Cup]]' .. cate('Cup Arcana')
	elseif arcana == 'Wand' or arcana == 'Wands' then result = '[[Suit of Wands|Wand]]' .. cate('Wand Arcana')
	elseif arcana == 'Rod' then result = '[[Suit of Wands|Rod]]' .. cate('Wand Arcana')
	elseif arcana == 'Rumor' then result = '[[Rumor]] [[Lista de Rumores de ' .. gamen .. '|*]]' .. cate('Rumor Demon')
	elseif arcana == 'Taurus' or arcana == 'Aquarius' or arcana == 'Leo' or arcana == 'Scorpio' or arcana == 'Masquerade' then
		result = '[[Masked Circle|' .. arcana .. ']]' .. cate('Masked Circle')
	elseif arcana == 'Reich' then result = '[[Last Battalion|' .. arcana .. ']]'
	elseif arcana == 'Grave' or arcana == 'Zonbie' or arcana == 'Zombie' then result = '[[Undead|' .. arcana .. ']]' .. cate('Undead Race')
	elseif arcana == 'Human' then result = '[[Human]]' .. cate('Human Race')
	elseif arcana == 'Machine' then result = '[[Machine]]' .. cate('Machine Race')
	else result = '[[' .. arcana .. ' Arcana|' .. arcana .. ']]' .. cate(arcana .. ' Arcana')
	end
	return result
end
 
local function bar(color,stat,ratio,cap,stat2,old,new) -- ratio is the length (in pixel) of each point. Cap times ratio equals max length of the stat bar.
	local stat_st, stat_width
	if stat == 'i' then
		stat = 'i'
	elseif not tonumber(stat) then
		stat_st = '<span style="color:#666">--</span>'
		stat = 0
		stat_width = 0
	elseif stat2 then
		stat_st = '<span style="color:#aff;cursor:help" title="' .. old .. ': ' .. stat .. '; ' .. new .. ': ' .. stat2 .. '">' .. stat2 .. '</span>'
	else stat_st = stat
	end
	if stat == 'i' then
	elseif tonumber(stat) > cap then
		stat_width = cap * ratio
		color = '#aaf'
	elseif stat_width ~= 0 then
		stat_width = tonumber(stat) * ratio
	end
		inherit = 'Inherit'
	if tostring(stat_st) == '+0' then stat_st = '<span style="color:#666">--</span>' end
	if stat == 'i' then
		return '--\n|Inherit\n|-'
	elseif stat2 then
		return stat_st .. '\n|style="border-radius:10px;background-color:#000;background:linear-gradient(90deg, #2c2a46, #000);width:' .. cap * ratio + 3 .. 'px"|<div style="overflow:hidden"><div style="cursor:help;float:left;border-top:5px solid ' .. color .. ';width:' .. stat_width .. 'px" title="' .. old .. ': '.. stat ..'"></div><div style="cursor:help;float:left;border-top:5px solid #aff;width:' .. tonumber(stat2) * ratio - stat_width .. 'px" title="' .. new .. ': '.. stat2 ..'"></div></div>\n|-'
	else return stat_st .. '\n|style="border-radius:10px;background-color:#000;background:linear-gradient(90deg, #2c2a46, #000);width:' .. cap * ratio + 3 .. 'px"|<div style="overflow:hidden"><div style="float:left;border-top:5px solid ' .. color .. ';width:' .. stat_width .. 'px"></div><div style="float:left;border-top:5px solid transparent;width:' .. (cap - tonumber(stat)) * ratio .. 'px"></div></div>\n|-'
	end
end
 
local function get_prop(args)
	local prop = {}
	for k, v in pairs(require('Module:Property_names')) do
		for _, name in ipairs(v) do
			if args[name] then
				prop[k] = args[name]
				break
			end
		end
		prop[k] = prop[k] or v.default
	end
	return prop
end
 
p.stats = makeInvokeFunction('_stats')
 
function p._stats(args)
	local game = args[1] or args.game or args.Game or ''
	game = game:lower()
	if game == 'mt' then game = 'mt1' end
	if game == 'kmt' then game = 'kmt1' end
	if game == 'smt' then game = 'smt1' end
	if game == 'smtii' then game = 'smt2' end
	if game == 'if' or game == 'if...' then game = 'smtif' end
	if game == 'smtn' or game == 'smt3n' then game = 'smt3' end
	if game == 'smtiv' then game = 'smt4' end
	if game == 'imagine' or game == 'smti' then game = 'smtim' end
	if game == 'gmt' or game == 'smti' then game = 'giten' end
	if game == 'lb' then game = 'lb1' end
	if game == 'majin' or game == 'mjt' then game = 'majin1' end
	if game == 'majin2sn' or game == 'mt2sn' then game = 'majin2' end
	if game == 'dssh' then game = 'sh' end
	if game == 'dsrksa' then game = 'raidou1' end
	if game == 'dsrkka' then game = 'raidou2' end
	if game == 'desu' or game == 'smtdesur' or game == 'desur' then game = 'desu1' end
	if game == 'smtdesur2' or game == 'desur2' then game = 'desu2' end
	if args.HazamaCh then game = 'smtifhc' end
	if args.FES then game = 'p3f' end
	if args.P3P then game = 'p3p' end
	if args.P4G then game = 'p4g' end
	if args.BR or args.RB then game = 'desu2rb' end
	if args.DC then game = '20xxdc' end
	if args.TMSFE then game = 'tmsfe' end
	local gameg -- Game general style
	if getGames.games[game].fallback then
		gameg = getGames.games[game].fallback -- e.g. 'p3f' and 'p3p' will fall back to 'p3' if applicable.
		else gameg = game
	end
	local gamen = getGames.games[game].name -- Full game name
	local gamegn = getGames.games[gameg].name -- e.g. 'Persona 3 FES' will fall back to 'Persona 3' if applicable.
	local gamed
	if gameg == 'mt1' or gameg == 'mt2' then
		gamed = 'KMT'
	elseif gameg == 'smtif' then
		gamed = 'if...'
	elseif gameg == 'raidou1' then
		gamed = 'DSRKSA'
	elseif gameg == 'raidou2' then
		gamed = 'DSRKKA'
	elseif gameg == 'childps' then
		gamed = 'CHILDRED'
	elseif gameg == 'childlight' then
		gamed = 'DMK'
	elseif gameg then
		gamed = gameg:upper()
	end
	local data
	if not (gameg == 'smt9' or gameg == '20xx' or game == 'lb3' or game == 'lbs' or game == 'ronde' or game == 'cs') then
		data = require('Module:Skills/' .. gamed)
	end
	local prop = get_prop(args)
	if gameg == 'smt3' then getGames.games[gameg].colorbg = getGames.games[gameg].colorbg2 end
	styles.h = '\n!style="background: ' .. getGames.games[gameg].colorbg .. ';color: ' .. getGames.games[gameg].font .. '" '
	styles.spanc = '<span style="color:' .. getGames.games[gameg].font .. '">'
	if not getGames.games[gameg].statt then getGames.games[gameg].statt = '#529488' end
	styles.barh = '\n|style="color:' .. getGames.games[gameg].statt .. '" '
	styles.bart11 = '\n|rowspan=2 style="padding:0" width='
	styles.bart12 = '|\n{|cellspacing=2 cellpadding=0 style="background:transparent;font-size:11px;font-family:monospace;letter-spacing:-1px;line-height:'
	styles.bard = '\n|style="text-align:right;padding:0 3px" '
	styles.bard1 = styles.bard .. 'width=12px|'
	styles.bard2 = styles.bard .. 'width=17px|'
	local result = '{|align="center" style="min-width:650px;text-align:center; background: #222; border:2px solid ' .. getGames.games[gameg].colorb .. '; border-radius:10px; font-size:75%; font-family:verdana;"\n|-\n|' .. styles.table2b
	if getGames.games[gameg].statb == nil then
		styles.barc = 'orange'
	else
		styles.barc = getGames.games[gameg].statb
	end
	if prop.image then
		result = result .. '\n!style="width:20px;border:#333 solid 2px;border-radius:7px;background:'
		if game == 'smt1' then result = result .. '#637373'
		elseif gameg == 'smtif' then result = result .. '#3018b8'
		elseif game == 'majin2' then result = result .. '#31315a'
		elseif gameg == 'p1' or gameg == 'p2is' or gameg == 'p2ep' or gameg == 'p3' or gameg == 'childred' or gameg == 'childps' or gameg == 'childwhite' or gameg == 'childfire' or gameg == 'childlight' then result = result .. 'transparent'
		else result = result .. '#000'
		end
		result = result .. '"|' .. prop.image
	end
	result = result .. '\n|'
	if prop.location then prop.location = '[[' .. prop.location .. ']]' else prop.location = '' end
	if game == 'mt1' then
		if not prop.hp then prop.hp = '' end
		if not prop.xp then prop.xp = '' end
		if not prop.cp then prop.cp = '' end
		if not prop.mag then prop.mag = '' end
		if not prop.yen then prop.yen = '' end
        if (prop.xp ~= '' and prop.mag ~= '') then
    		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|EXP' .. styles.h .. '|[[Macca|' .. styles.spanc .. 'Macca</span>]]' .. styles.h .. '|[[Magnetite|' .. styles.spanc .. 'MAG</span>]]\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.xp .. styles.statlow .. prop.yen .. styles.statlow .. prop.mag .. '\n|}'
    	elseif (prop.mp ~= '' and prop.cp ~= '') then
       		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. 'title="Custo de MAG por 10 Passos"|<abbr>CP</abbr>' .. styles.h .. '|[[Macca|' .. styles.spanc .. 'Macca</span>]]\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow  .. prop.cp .. styles.statlow .. prop.yen .. '\n|}'
        end
    		result = result .. styles.table2 .. styles.h .. '|Força' .. styles.h .. '|Inteligência' .. styles.h .. '|Hit' .. styles.h .. '|Agilidade' .. styles.h .. '|Defesa' .. styles.h .. '|[[Daimakyuu|' .. styles.spanc .. 'Local</span>]]\n|-' .. styles.statlow .. prop.str .. styles.statlow .. prop.int .. styles.statlow .. prop.hit .. prop.luc .. styles.statlow .. prop.agl .. styles.statlow .. prop.def .. prop.vit .. styles.statlow .. prop.location .. '\n|}' .. bossdemoncat(prop.boss,gamen)
	end
	if game == 'mt2' then
		if not prop.hp then prop.hp = '' end
		if not prop.mp then prop.mp = '' end
		if not prop.cp then prop.cp = '' end
		if not prop.mag then prop.mag = '' end
		if not prop.yen then prop.yen = '' end
		if not prop.normal then prop.normal = '' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h ..  'title="Custo de MAG por 10 Passos"|<abbr>CP</abbr>\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.cp .. '\n|}'
		result = result .. styles.table2 .. styles.h .. 'title="Número aparecendo em batalha"|<abbr>Formações</abbr>' .. styles.h .. '|[[Magnetite|' .. styles.spanc .. 'MAG]]' .. styles.h .. '|[[Macca|' .. styles.spanc .. 'Macca</span>]]' .. styles.h .. '|[[List de Itens de Megami Tensei II|' .. styles.spanc .. 'Item Drops</span>]]\n|-' .. styles.statlow .. prop.formation .. styles.statlow .. prop.mag .. styles.statlow .. prop.yen .. styles.statlow .. prop.normal .. '\n|}'
		result = result .. styles.table2 .. styles.h .. '|Stamina' .. styles.h .. '|Inteligência' .. styles.h .. '|Ataque' .. styles.h .. '|Agilidade' .. styles.h .. '|Sorte' .. styles.h .. '|Defesa\n|-' .. styles.statlow .. prop.vit .. styles.statlow .. prop.int .. styles.statlow .. prop.atk .. styles.statlow .. prop.agl .. styles.statlow .. prop.luc .. styles.statlow .. prop.def .. '\n|}' .. bossdemoncat(prop.boss,gamen)
	end
	if game == 'kmt1' or game == 'kmt2' then
		if not prop.hp then prop.hp = '' end
		if not prop.mp then prop.mp = '' end
		if prop.noa == '' then prop.noa = '1' end
		if not prop.cp then prop.cp = '' end
		if not prop.mag then prop.mag = '' end
		if not prop.xp then prop.xp = '' end
		if not prop.yen then prop.yen = '' end
		if not prop.normal then prop.normal = '' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. 'title="Vitalidade"|VIT' .. styles.h .. 'title="Intelecto"|INT' .. styles.h .. 'title="Força"|STR' .. styles.h .. 'title="Velocidade"|SPD' .. styles.h .. 'title="Sorte"|LUC' .. styles.h .. 'title="Defesa"|DEF\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.vit .. styles.statlow .. prop.int .. styles.statlow .. prop.str .. styles.statlow .. prop.agl .. styles.statlow .. prop.luc .. styles.statlow .. prop.def .. '\n|}' .. bossdemoncat(prop.boss,gamen)
		result = result .. styles.table2 .. styles.h .. 'title="Custo de MAG por 10 passos"|<abbr>CP</abbr>' .. styles.h .. 'title="Número de Ataques"|<abbr>NOA</abbr>' .. styles.h .. '|EXP' .. styles.h .. '|[[Macca|' .. styles.spanc .. 'Macca</span>]]' .. styles.h .. 'title="Magnetite dropped"|[[Magnetite|' .. styles.spanc .. '<abbr>MAG</abbr></span>]]' .. styles.h
		if game == 'kmt1' then result = result .. '|[[Daimakyuu|' .. styles.spanc .. 'Local</span>]]'
		elseif game == 'kmt2' then result = result .. '|[[Lista de Itens de Megami Tensei II|' .. styles.spanc .. 'Item Drops</span>]]'
		end
		result = result .. '\n|-' .. styles.statlow .. prop.cp .. styles.statlow .. prop.noa .. styles.statlow .. prop.xp .. styles.statlow .. prop.yen .. styles.statlow .. prop.mag .. styles.statlow
		if game == 'kmt1' then result = result .. prop.location .. '\n|}'
		elseif game == 'kmt2' then result = result .. prop.normal .. '\n|}'
		end
	end
	if gameg == 'smt1' or gameg == 'smt2' or gameg == 'smtif' or gameg == '20xx' or gameg == 'smt9' then
		if not prop.hp then prop.hp = '?' end
		if not prop.mp then prop.mp = '?' end
		if not prop.cp then prop.cp = '' end
		if not prop.mag then prop.mag = '' end
		result = result .. styles.table2b .. '\n|' ..  styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|[[Tendência|' .. styles.spanc .. 'Tendência</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.alignment .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. '\n|}'
		result = result .. styles.table2 .. styles.h
		if prop.boss or prop.enemy then result = result .. '|[[Magnetite|' .. styles.spanc .. 'MAG</span>]]'
		else result = result .. 'title="Custo de MAG por 10 passos"|<abbr>CP</abbr>'
		end
		result = result .. styles.h .. 'title="Número de Ataques"|<abbr>NOA</abbr>' .. styles.h .. 'title="Poder de Ataque Físico"|ATK' .. styles.h .. 'title="Precisão do Ataque Físico"|ACC' .. styles.h .. 'title="Defesa"|DEF' .. styles.h .. 'title="Evasão"|EVA' .. styles.h .. 'title="Poder de Ataque Mágico"|M.ATK' .. styles.h .. 'title="Taxa de Acerto Mágico"|M.EFC'
		result = result .. '\n|-' .. styles.statlow .. prop.mag .. prop.cp .. styles.statlow .. prop.noa .. styles.statlow .. prop.atk .. styles.statlow .. prop.hit .. styles.statlow .. prop.def .. styles.statlow .. prop.avd .. styles.statlow .. prop.mpw .. styles.statlow .. prop.mef .. '\n|}\n|}' .. styles.bart11 .. '200px' .. styles.bart12 .. '1.4"' .. styles.barh .. 'title="Força"|St' .. styles.bard1 .. bar(styles.barc,prop.str,4,40) .. styles.barh .. 'title="Inteligência"|In' .. styles.bard1 .. bar(styles.barc,prop.int,4,40) .. styles.barh .. 'title="Magia"|Ma' .. styles.bard1 .. bar(styles.barc,prop.magic,4,40) .. styles.barh .. 'title="Vitalidade"|Vi' .. styles.bard1 .. bar(styles.barc,prop.vit,4,40) .. styles.barh .. 'title="Agilidade"|Ag' .. styles.bard1 .. bar(styles.barc,prop.agl,4,40) .. styles.barh .. 'title="Sorte"|Lu' .. styles.bard1 .. bar(styles.barc,prop.luc,4,40) .. '\n|}' .. bossdemonnocat(prop.boss,prop.nocat,gamen)
		if game == 'smtifhc' or gameg == '20xx' or gameg == 'smt9' then else result = result .. alignnocat(prop.alignment,prop.nocat,gamen) end
	end
	if gameg == 'smt3' then
		if not prop.hp then prop.hp = '?' end
		if not prop.mp then prop.mp = '?' end
		result = result .. styles.table2 .. styles.h
		if prop.element then
			result = result .. '|Elemento' .. styles.h .. '|Wild Effects' .. cate('Magatama')
			styles.barc = getGames.games[gameg].statb2
		else
			result = result .. '|[[Raça e Espécies|<span style="color:#fff">Raça</span>]]' .. bossdemoncat(prop.boss,gamen) .. styles.h .. 'width=9%|Level' .. styles.h .. 'width=9%|<span style="color:' .. getGames.games[gameg].hp .. '">HP</span>' .. styles.h .. 'width=9%|<span style="color:' .. getGames.games[gameg].mp .. '">MP</span>'
		end
		result = result .. styles.bart11 .. '319px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard2 .. bar(styles.barc,prop.str,6,40) .. styles.barh .. '|Magia' .. styles.bard2 .. bar(styles.barc,prop.magic,6,40) .. styles.barh .. '|Vitalidade' .. styles.bard2 .. bar(styles.barc,prop.vit,6,40) .. styles.barh .. '|Agilidade' .. styles.bard2 .. bar(styles.barc,prop.agl,6,40) .. styles.barh .. '|Sorte' .. styles.bard2 .. bar(styles.barc,prop.luc,6,40) .. '\n|}\n|-' .. styles.statlow
		if prop.element then
			result = result .. prop.element .. styles.statlow .. prop.wild
		else
			result = result .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. '<div style="position:relative;top:-4px;border:2.5px outset ' .. getGames.games[gameg].hp2 .. ';border-radius:3px"></div>' .. styles.statlow .. prop.mp .. '<div style="position:relative;top:-4px;border:2.5px outset ' .. getGames.games[gameg].mp2 .. ';border-radius:3px"></div>'
		end
		result = result .. '\n|}'
	end
	if gameg == 'smtim' then
		if not prop.hp then prop.hp = '?' end
		if not prop.mp then prop.mp = '?' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|[[Tendência|' .. styles.spanc .. 'Tendência</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. '|Growth' .. styles.h .. '|Herda' .. styles.h .. 'title="Força"|St' .. styles.h .. 'title="Magia"|Ma' .. styles.h .. 'title="Vitalidade"|Vi' .. styles.h .. 'title="Inteligência"|In' .. styles.h .. 'title="Velocidade"|Sp' .. styles.h .. 'title="Sorte"|Lu'
		result = result .. '\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.alignment .. aligncat(prop.alignment,gamen) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.growth .. styles.statlow .. prop.inherit .. styles.statlow .. prop.str .. styles.statlow .. prop.magic .. styles.statlow .. prop.vit .. styles.statlow .. prop.int .. styles.statlow .. prop.agl .. styles.statlow .. prop.luc .. '\n|}'
		result = result .. styles.table2 .. styles.h .. '|Force Slot' .. styles.h .. 'title="Curto Alcance"|<abbr>Close</abbr>' .. styles.h .. 'title="Longo Alcance"|<abbr>Long</abbr>' .. styles.h .. '|Spell' .. styles.h .. '|Support' .. styles.h .. 'title="Defesa Física"|P.Def' .. styles.h .. 'title="Defesa Mágica"|M.Def' .. styles.h .. '|Crítico' .. styles.h .. 'title="Critical Defesa"|Crt.Def\n|-'
		result = result .. styles.statlow .. prop.forceslot .. styles.statlow .. prop.closerange .. styles.statlow .. prop.longrange .. styles.statlow .. prop.spell .. styles.statlow .. prop.support .. styles.statlow .. prop.def .. styles.statlow .. prop.mdef .. styles.statlow .. prop.critical .. styles.statlow .. prop.critdef .. '\n|}' .. bossdemoncat(prop.boss,gamen)
	end	
	if gameg == 'smtsj' then
		if not prop.hp then prop.hp = '?' end
		if prop.boss then prop.mp = '∞' elseif not prop.mp then prop.mp = '?' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|[[Tendência|' .. styles.spanc .. 'Tendência</span>]]'  .. styles.h .. '|Level' .. styles.h .. 'width=7%|<span style="color:' .. getGames.games[gameg].hp .. '">HP</span>' .. styles.h .. 'width=7%|<span style="color:' .. getGames.games[gameg].mp .. '">MP</span>' .. styles.bart11 .. '312px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard1 .. bar(styles.barc,prop.str,2.4,99) .. styles.barh .. '|Magia' .. styles.bard1 .. bar(styles.barc,prop.magic,2.4,99) .. styles.barh .. '|Vitalidade' .. styles.bard1 .. bar(styles.barc,prop.vit,2.4,99) .. styles.barh .. '|Agilidade' .. styles.bard1 .. bar(styles.barc,prop.agl,2.4,99) .. styles.barh .. '|Sorte' .. styles.bard1 .. bar(styles.barc,prop.luc,2.4,99) .. '\n|}\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.alignment .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. '<div style="position:relative;top:-4px;border:2.5px outset #ddbf77;border-radius:3px"></div>' .. styles.statlow .. prop.mp .. '<div style="position:relative;top:-4px;border:2.5px outset #85bd64;border-radius:3px"></div>' .. '\n|}' .. bossdemoncat(prop.boss,gamen) .. aligncat(prop.alignment,gamen)
	end
	if gameg == 'smt4' or gameg == 'smt4a' then
		if not prop.hp then prop.hp = '?' end
		if prop.boss then prop.mp = '∞' elseif not prop.mp then prop.mp = '?' end
		styles.h = '\n!style="color:' .. getGames.games[gameg].colorbg2 .. ';background:#000" '
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|<span style="color:#fff">Raça</span>]]' .. styles.h .. 'width=45px|<span style="color:' .. getGames.games[gameg].font2 .. '">Level</span>' .. styles.h .. 'width=45px|<span style="color:' .. getGames.games[gameg].hp .. '">HP</span>' .. styles.h .. 'width=45px|<span style="color:' .. getGames.games[gameg].mp .. '">MP</span>' .. styles.bart11 .. '387px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard2 .. bar(styles.barc,prop.str,1.5,200) .. styles.barh .. '|Destreza' .. styles.bard2 .. bar(styles.barc,prop.dex,1.5,200) .. styles.barh .. '|Magia' .. styles.bard2 .. bar(styles.barc,prop.magic,1.5,200) .. styles.barh .. '|Agilidade' .. styles.bard2 .. bar(styles.barc,prop.agl,1.5,200) .. styles.barh .. '|Sorte' .. styles.bard2 .. bar(styles.barc,prop.luc,1.5,200) .. '\n|}\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. '\n|}' .. bossdemoncat(prop.boss,gamen)
		if not prop.phys then prop.phys = '-' end
		if not prop.pierce then prop.pierce = '-' end
		if not prop.fire then prop.fire = '-' end
		if not prop.ice then prop.ice = '-' end
		if not prop.elec then prop.elec = '-' end
		if not prop.force then prop.force = '-' end
		if not prop.expel then prop.expel = '-' end
		if not prop.curse then prop.curse = '-' end
		styles.h = '\n!style="background:' .. getGames.games[gameg].colorbg2
		local statlow = '\n|style="background:' .. getGames.games[gameg].colorbg2
		if gameg == 'smt4a' then
			styles.h = styles.h .. ';color:#fff" '
			statlow = statlow .. ';color:#fff"|'
		elseif gameg == 'smt4' then
			styles.h = styles.h .. ';color:#000" '
			statlow = statlow .. ';color:#000"|'
		end
		result = result .. styles.table2 .. styles.h .. 'title="Físico"|[[File:PhysIcon_SMTIV.png|alt=Físico|Físico|link=Habilidades Físicas]] Físico' .. styles.h .. 'title="Arma de Fogo"|[[File:GunIcon2.png|alt=Arma de Fogo|Arma de Fogo|link=Habilidades de Arma de Fogo]] Arma de Fogo' .. styles.h .. 'title="Fogo"|[[File:FireIcon_SMTIV.png|alt=Fogo|Fogo|link=Habilidades de Fogo]] Fogo' .. styles.h .. 'title="Gelo"|[[File:IceIcon_SMTIV.png|alt=Gelo|Gelo|link=Habilidades de Gelo]] Gelo' .. styles.h .. 'title="Eletricidade"|[[File:ElecIcon_SMTIV.png|alt=Eletricidade|Eletricidade|link=Habilidades Elétricas]] Elec' .. styles.h .. 'title="Força"|[[File:ForceIcon.png|alt=Força|Força|link=Habilidades de Vento]] Força' .. styles.h .. 'title="Luz"|[[File:ExpelIcon_SMTIV.png|alt=Luz|Luz|link=Habilidades de Expel]] Luz' .. styles.h .. 'title="Trevas"|[[File:CurseIcon_SMTIV.png|alt=Trevas|Trevas|link=Habildiades de Morte]] Trevas\n|-\n' .. statlow .. prop.phys .. statlow .. prop.pierce .. statlow .. prop.fire .. statlow .. prop.ice .. statlow .. prop.elec .. statlow .. prop.force .. statlow .. prop.expel .. statlow .. prop.curse .. '\n|}'
		styles.h = '\n!style="background: ' .. getGames.games[gameg].colorbg .. ';color: ' .. getGames.games[gameg].font .. '" '
		result = result .. styles.table2 .. styles.h .. 'width=150px title="Todos inimigos e aliados convidados são imunes ao status '.."'Lost'"..'"|<abbr>'
		if prop.almres ~= '' then result = result .. 'Outro' else result = result .. 'Resistente' end
		result = result .. ' Condições</abbr>' .. styles.order .. prop.almres .. prop.res .. '\n|}' .. styles.table2 .. styles.h .. 'width=110px|Ataque Normal' .. styles.order .. prop.noa
		if prop.turnicon then result = result .. styles.h .. 'width=70px|[[Turn Press|' .. styles.spanc .. 'Turn Icon</span>]]' .. styles.order .. prop.turnicon end
		result = result .. '\n|}'
		if prop.requiredquest or prop.relatedquest or prop.normal then
			result = result .. styles.table2
			if prop.requiredquest then
				result = result .. styles.h .. 'width=100px|[[Challenge Quests|' .. styles.spanc .. 'Required quest</span>]]' .. styles.order .. prop.requiredquest
			elseif prop.relatedquest then
				result = result .. styles.h .. 'width=100px|[[Challenge Quests|' .. styles.spanc .. 'Related quest</span>]]' .. styles.order .. prop.relatedquest
			end
			if prop.normal then result = result .. styles.h .. 'width=70px|[[Lista de Itens de ' .. gamegn .. '|' .. styles.spanc .. 'Drop</span>]]' .. styles.order .. prop.normal end
			result = result .. '\n|}'
		end
		if prop.evolvef or prop.evolvet then
			result = result .. styles.table2
			if prop.evolvef then result = result .. styles.h .. 'width=100px|[[Evolution#' .. gamegn .. '|' .. styles.spanc .. 'Evolved from</span>]]' .. styles.order .. prop.evolvef .. ' (' .. prop.evolvefl .. ')' end
			if prop.evolvet then result = result .. styles.h .. 'width=100px|[[Evolution#' .. gamegn .. '|' .. styles.spanc .. 'Evolves into</span>]]' .. styles.order .. prop.evolvet .. ' (' .. prop.evolvetl .. ')' end
			result = result .. '\n|}'
		end
		if prop.fusion then
			result = result .. styles.table2 .. styles.h .. 'width=100px|[[Special fusion#' .. gamegn .. '|' .. styles.spanc .. 'Special fusion</span>]]' .. styles.order .. prop.fusion .. '\n|}'
		end
		if prop.specialty then
			result = result .. styles.table2 .. styles.h .. 'width=110px|[[Afinidades de Habilidade|<span style="color:#000">Afinidades</span>]]' .. styles.order
			prop.specialty = mw.text.split(prop.specialty, '\n')
			for k1, v1 in ipairs(prop.specialty) do
				for k2, v2 in ipairs(mw.text.split(v1 .. '\\', '\\')) do
					if k2 > 2 then break
					elseif (k2 % 2 == 1) then -- skill type
						prop.skilltypes = {
							['phys'] = '[[File:PhysIcon_SMTIV.png|alt=Físico|Físico|Físico=Habilidades Físicas]] Físico',
							['gun'] = '[[File:GunIcon2.png|alt=Arma de Fogo|Arma de Fogo|link=Habilidades de Arma de Fogo]] Arma de Fogo',
							['fogo'] = '[[File:FireIcon_SMTIV.png|alt=Fogo|Fogo|link=Habilidade de Fogo]] Fogo',
							['gelo'] = '[[File:IceIcon_SMTIV.png|alt=Gelo|Gelo|link=Habilidades de Gelo]] Gelo',
							['elec'] = '[[File:ElecIcon_SMTIV.png|alt=Eletricidade|Eletricidade|link=Habilidades Elétricas]] Eletricidade',
							['force'] = '[[File:ForceIcon.png|alt=Força|Força|link=Habilidades de Vento]] Força',
							['light'] = '[[File:ExpelIcon_SMTIV.png|alt=Luz|Luz|link=Habilidades de Expel]] Luz',
							['dark'] = '[[File:CurseIcon_SMTIV.png|alt=Trevas|Trevas|link=Habilidades de Morte]] Trevas',
							['almighty'] = '[[File:AlmightyIcon_SMTIV.png|alt=Onipotente|Onipotente|link=Habilidades Onipotentes]] Onipotente',
							['ailment'] = '[[File:AilmentIcon_SMTIV.png|alt=Status Negativo|Status Negativo|link=Habilidades de Status Negativos]] Status Negativo',
							['heal'] = '[[File:HealIcon_SMTIV.png|alt=Cura|Cura|link=Habilidades de Cura]] Cura',
							['support'] = '[[File:SupportIcon_SMTIV.png|alt=Support|Support|link=Support Skills]] Support',
						}
						result = result .. '<span style="white-space:nowrap">' .. prop.skilltypes[v2:lower()]
					elseif (k2 % 2 == 0) then -- modifier
						if string.sub(v2,1,1) == '+' then
							result = result .. ' <span style="color:#5f5">' .. v2 .. '</span></span>'
						else
							result = result .. ' <span style="color:#f55">' .. v2 .. '</span></span>'
						end
						if next(prop.specialty,k1) then -- add dot separator if it's not the last entry
							result = result .. ' · '
							if k1 == 6 then
								result = result .. '<br/>'
							end
						end
					end
				end
			end
			result = result .. '\n|}'
		end
	end
	if gameg == 'lb1' or gameg == 'lb2' or gameg == 'lb3' or gameg == 'lbs' then
		if not prop.hp then prop.hp = '?' end
		if not prop.mp then prop.mp = '?' end
		if gameg == 'lb1' and prop.atk == '' then prop.atk = '1' end
		result = result .. styles.table2 .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP'
		if gameg == 'lb1' then result = result .. styles.h .. 'title="Número de Ataques"|NOA' .. styles.h .. 'title="Defesa"|DEF'
		    else result = result .. styles.h .. 'title="Poder de Ataque"|ATK' .. styles.h .. 'title="Defesa"|DEF' end
		result = result .. styles.h .. 'title="Força"|STR' .. styles.h .. 'title="Inteligência"|INT' .. styles.h .. 'title="Resistência"|END' .. styles.h .. 'title="Velocidade"|SPD' .. styles.h .. 'title="Sorte"|LUC\n|-' .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.atk .. styles.statlow .. prop.def .. styles.statlow .. prop.str .. styles.statlow .. prop.int .. styles.statlow .. prop.vit .. styles.statlow .. prop.agl .. styles.statlow .. prop.luc .. '\n|}' .. bossdemoncat(prop.boss,gamen)
        if prop.resist or prop.extra then
			result = result .. styles.table2
    	    if prop.resist then result = result .. styles.h .. '|Resistências' .. styles.order .. prop.resist end
	        if prop.extra then result = result .. styles.h .. '|Special' .. styles.order .. prop.extra end
			result = result .. '\n|}'
        end
		if prop.equip ~= '' or prop.card then
			if prop.equip == 'Pteros' or prop.equip == 'pteros' or prop.equip == 'Bird' then prop.equip = 'Claws'
			elseif prop.equip == 'Kobold' or prop.equip == 'kobold' or prop.equip == 'Jaki' then prop.equip = 'Claws, Hammers, Tornado, Axes, Shields'
			elseif prop.equip == 'Dwarf' or prop.equip == 'dwarf' or prop.equip == 'Jirae' then prop.equip = 'Claws, Swords, Armour, Shields'
			elseif prop.equip == 'Pixie' or prop.equip == 'pixie' or prop.equip == 'Fairy' then prop.equip = 'Claws, Hammers, Shurikens, Tornado, Axes, Swords, Armour, Shields'
			else
				if gameg == 'lb2' then prop.equip = 'None' end
    		end
			result = result .. styles.table2
			if prop.equip ~= '' then result = result .. styles.h .. 'width=70|[[Lista de Itens de ' .. gamegn .. '|' .. styles.spanc .. 'Equipamento</span>]]' .. styles.order .. prop.equip end
			if prop.card then result = result .. styles.h .. 'width=100|Loc. Carta' .. styles.order .. prop.card end
			result = result .. '\n|}'
		end
	end
	if gameg == 'ab' then
		if not prop.hp then prop.hp = '?' end
		if not prop.mp then prop.mp = '?' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Rank' .. styles.h .. '|HP' .. styles.h .. '|PP' .. styles.h .. '|Move' .. styles.h .. '|Power' .. styles.h .. 'title="Poder Defensivo"|<abbr>Might</abbr>' .. styles.h .. '|Magia' .. styles.h .. '|Velocidade' .. styles.h .. '|Sorte\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.move .. styles.statlow .. prop.power .. styles.statlow .. prop.might .. styles.statlow .. prop.magic .. styles.statlow .. prop.agl .. styles.statlow .. prop.luc .. '\n|}' .. bossdemoncat(prop.boss,gamen)
		if prop.weapon ~= '' then
			result = result .. styles.table2 .. styles.h .. 'width=80px|[[Lista de Itens de ' .. gamegn .. '|' .. styles.spanc .. 'Arma</span>]]' .. styles.effect1 .. prop.weapon .. '\n|}'
		end
		if prop.tech then
			prop.techc = data.skills[prop.tech]
			if not prop.techc then
				alias = data.aliases[prop.tech]
				if alias then
					prop.tech = alias
					prop.techc = data.skills[prop.tech]
				else prop.techc.effect = noskill(prop.tech,gamed)
				end
			end
			result = result .. styles.table2 .. styles.h .. 'colspan=5|[[Lista de Habilidades ' .. gamegn .. '#Técnicas|' .. styles.spanc .. 'Técnica</span>]]' .. styles.skill .. 'Técnica' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Distância' .. styles.skillc .. 'Alvo' .. styles.skillc .. 'Descrição' .. styles.skill .. prop.tech .. styles.cost1 .. prop.techc.cost .. styles.cost1 .. prop.techc.range .. styles.cost1 .. prop.techc.target .. styles.effect1 .. prop.techc.effect .. '\n|}'
		end
	end
	if gameg == 'majin1' or gameg == 'majin2' or gameg == 'ronde' then
		if not prop.hp then prop.hp = '?' end
		if not prop.mp then prop.mp = '?' end
		if not prop.cp then prop.cp = '' end
		if not prop.mag then prop.mag = '' end
		result = result .. bossdemoncat(prop.boss,gamen) .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. '|Distância Mv' .. styles.h .. '|Tipo Mv' .. styles.h
		if gameg == 'majin1' then result = result .. '|Tipo Atk' .. styles.h .. 'title="Custo de MAG por 10 passos"|<abbr>CP</abbr>'
		elseif gameg == 'majin2' then result = result .. '|Distância Atk' .. styles.h .. '|[[Magnetite|' .. styles.spanc .. 'MAG]]'
		elseif gameg == 'ronde' then result = result .. '|Distância Atk' .. styles.h .. '|Arcana'
		end
		result = result .. '\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.move .. styles.statlow .. prop.movetype .. styles.statlow .. prop.noa .. styles.statlow
		if gameg == 'ronde' then result = result .. prop.arcana .. '\n|}'
		else result = result .. prop.cp .. prop.mag .. '\n|}'
		end
		if gameg == 'majin1' then
			result = result .. styles.table2 .. styles.h .. '|Força' .. styles.h .. '|Magia' .. styles.h .. '|Técnica' .. styles.h .. '|Defesa' .. styles.h .. '|Agilidade' .. styles.h .. '|Sorte\n|-' .. styles.statlow .. prop.str .. styles.statlow .. prop.magic .. styles.statlow .. prop.dex .. styles.statlow .. prop.def .. styles.statlow .. prop.agl .. styles.statlow .. prop.luc .. '\n|}'
		else
			result = result .. styles.table2 .. styles.h .. 'title="Força"|St' .. styles.h .. 'title="Magia|Ma' .. styles.h .. 'title="Inteligência"|In' .. styles.h .. 'title="Agilidade"|Ag' .. styles.h .. 'title="Sorte|Lu' .. styles.h .. 'title="Poder de Ataque"|Atk' .. styles.h .. 'title="Defesa Física"|P.Def' .. styles.h
			if gameg == 'majin2' then
				result = result .. 'title="Pode de Ataque Mágico"|M.Atk' .. styles.h .. 'title="Defesa Mágica"|M.Def' .. styles.h .. 'title="Taxa de Acerto"|Hit' .. styles.h .. 'title="Evasão"|Eva' .. styles.h .. 'title="Taxa de Crítico"|Crt\n|-'
			else
				result = result .. 'title="Defesa Mágica"|M.Def\n|-'
			end
			result = result .. styles.statlow .. prop.str .. styles.statlow .. prop.magic .. styles.statlow .. prop.int .. styles.statlow .. prop.agl .. styles.statlow .. prop.luc .. styles.statlow .. prop.atk .. styles.statlow .. prop.def .. styles.statlow
			if gameg == 'majin2' then
				result = result .. prop.matk .. styles.statlow .. prop.mdef .. styles.statlow .. prop.hit .. styles.statlow .. prop.avd .. styles.statlow .. prop.critical .. '\n|}'
			else result = result .. prop.mdef .. '\n|}'
			end
	    end
		if gameg == 'ronde' then
			if not prop.askills then prop.askills = '-' end
			result = result .. styles.table2 .. styles.h .. 'width=100px|Equipamento' .. styles.order .. prop.equip .. styles.h .. 'width=100px|Item' .. styles.order .. prop.askills .. '\n|}'
		end
 
	end
	if gameg == 'smtds' or gameg == 'sh' then
		if not prop.hp then prop.hp = '?' end
		if not prop.mp then prop.mp = '?' end
		if not prop.cp then prop.cp = '' end
		if not prop.mag then prop.mag = '' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. 'title="Força"|St' .. styles.h .. 'title="Inteligência"|In' .. styles.h .. 'title="Magia"|Ma' .. styles.h
		if gameg == 'sh' then result = result .. 'title="Resistência"|En' .. styles.h end
		result = result .. 'title="Agilidade"|Ag' .. styles.h .. 'title="Sorte"|Lu'
		result = result .. '\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.str .. styles.statlow .. prop.int .. styles.statlow .. prop.magic .. styles.statlow
		if gameg == 'sh' then result = result .. prop.vit .. styles.statlow end
		result = result .. prop.agl .. styles.statlow .. prop.luc
		result = result .. '\n|}' .. styles.table2 .. styles.h
		if not (prop.boss or prop.enemy) then result = result .. 'title="Custo de Magnetite por 10 passos"|<abbr>CP</abbr>' .. styles.h end
		if gameg == 'smtds' then result = result .. 'title="Número de Ataques"|<abbr>NOA</abbr>' .. styles.h
		elseif gameg == 'sh' and not (prop.boss or prop.enemy) then result = result .. '|MAG Invocação' .. styles.h
		end
		if not prop.traits or prop.traits == '' or prop.traits == '-' or prop.traits == '--' or prop.boss or prop.enemy then
		else result = result .. '|[[Personalidade|' .. styles.spanc .. 'Personalidade<span>]]' .. styles.h
		end
		result = result .. 'title="Poder de Ataque Físico"|P.ATK' .. styles.h .. 'title="Taxa de Acerto do Ataque Físico"|P.HIT' .. styles.h .. 'title="Defesa Base"|B.DEF' .. styles.h .. 'title="Esquiva"|AVD' .. styles.h .. 'title="Poder Mágico"|M.ATK' .. styles.h
		if gameg == 'smtds' then result = result .. 'title="Defesa Mágica"|M.DEF'
		elseif gameg == 'sh' then result = result .. 'title="Taxa de Acerto Mágico"|M.HIT'
		end
		result = result .. '\n|-' .. styles.statlow
		if not (prop.boss or prop.enemy) then result = result .. prop.mag .. prop.cp .. styles.statlow end
		if gameg == 'smtds' then result = result .. prop.noa .. styles.statlow
		elseif gameg == 'sh' and not (prop.boss or prop.enemy) then result = result .. prop.summoncost .. styles.statlow
		end
		if not prop.traits or prop.traits == '' or prop.traits == '-' or prop.traits == '--' then
		else result = result .. prop.traits .. styles.statlow
		end
		result = result .. prop.atk .. styles.statlow .. prop.hit .. styles.statlow .. prop.def .. styles.statlow .. prop.avd .. styles.statlow .. prop.matk .. styles.statlow
		if gameg == 'smtds' then result = result .. prop.mdef
		elseif gameg == 'sh' then result = result .. prop.mef
		end
		result = result .. bossdemoncat(prop.boss,gamen) .. '\n|}'
	end
	if gameg == 'raidou1' or gameg == 'raidou2' then
		if prop.str == '' then prop.str = '-' end
		if prop.magic == '' then prop.magic = '-' end
		if prop.vit == '' then prop.vit = '-' end
		if prop.luc == '' then prop.luc = '-' end
		if not prop.condition then prop.condition = '-' end
		if not prop.convo then prop.convo = '-' end
		if not prop.investigate then prop.investigate = '-' end
		if not prop.drop then prop.drop = '-' end
		if not prop.recruit then prop.recruit = '?' elseif prop.boss then prop.recruit = 'No' end
		if not prop.resist then prop.resist = '-' end
		if not prop.block then prop.block = '-' end
		if not prop.absorb then prop.absorb = '-' end
		if not prop.reflect then prop.reflect = '-' end
		if not prop.weak then prop.weak = '-' else
			if gameg == 'raidou1' then
				prop.weak = '<span style="color:#f22">' .. prop.weak .. '</span>'
			else prop.weak = '<span style="color:#f72">' .. prop.weak .. '</span>'
			end
		end
		if not prop.frail then prop.frail = '-' else prop.frail = '<span style="color:#f22">' .. prop.frail .. '</span>' end
		result = result .. styles.table2 .. styles.h .. '|[[Lista de Demonios de ' .. gamegn .. '|' .. styles.spanc .. 'Order</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP'
		if gameg == 'raidou1' then result = result .. styles.h .. '|MP' end
		result = result .. styles.h .. 'title="Força"|St' .. styles.h .. 'title="Magia"|Ma' .. styles.h .. 'title="Vitalidade"|Vi' .. styles.h .. 'title="Sorte"|Lu' .. styles.h
		if prop.boss then
			result = result .. '|Item drop'
		else
			if gameg == 'raidou1' then
				result = result .. '|MAG Cost'
			else
				result = result .. 'title="Conversation skill of the demon"|<abbr>Conversation</abbr>'
			end
		end
		if prop.boss == nil then
			result = result .. styles.h .. 'title="Demon' .. "'s" .. ' Investigation Skill"|<abbr>Investigation</abbr>'
		end
		result = result .. '\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp
		if gameg == 'raidou1' then result = result .. styles.statlow .. prop.mp end
		result = result .. styles.statlow .. prop.str .. styles.statlow .. prop.magic .. styles.statlow .. prop.vit .. styles.statlow .. prop.luc .. styles.statlow
		if prop.boss then
			result = result .. prop.drop
		else
			if gameg == 'raidou1' then
				result = result .. prop.condition
			else
				result = result .. prop.convo
			end
		end
		if prop.boss == nil then
			result = result .. styles.statlow .. prop.investigate
		end
		result = result .. '\n|}' .. styles.table2
		if gameg == 'raidou1' then result = result .. styles.h .. 'title="Whether the demon can be subdued as ally or not."|Confinable' end
		result = result .. styles.h .. '|Reflete' .. styles.h .. '|Absorve' .. styles.h .. '|Block' .. styles.h .. '|Resiste' .. styles.h
		if gameg == 'raidou2' then result = result .. 'title="Unit takes extra damage without being staggered."|<abbr>Fraco</abbr>' .. styles.h .. 'title="Unit will be staggered by the said element(s). Whether the element does extra damage or not varies."|<abbr>Frail</abbr>\n|-' else result = result .. '|Fraco\n|-' .. styles.statlow .. prop.recruit end
		result = result .. styles.statlow .. prop.reflect .. styles.statlow .. prop.absorb .. styles.statlow .. prop.block .. styles.statlow .. prop.resist .. styles.statlow .. prop.weak
		if gameg == 'raidou2' then result = result .. styles.statlow .. prop.frail end
		result = result .. '\n|}' .. bossdemoncat(prop.boss,gamen)
	end
	if gameg == 'giten' then
		if not prop.condition then prop.condition = '' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Tendência' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. 'title="Custo de MAG por 10 passos"|<abbr>CP</abbr>\n|-' .. styles.statlow .. getRace(prop.race,gameg) ..  styles.statlow .. prop.alignment .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.condition .. '\n|}'
		result = result .. styles.table2 .. styles.h .. '|Intuição' .. styles.h .. '|Força de Vontade' .. styles.h .. '|Magia' .. styles.h .. '|Inteligência' .. styles.h .. '|Proteção Divina\n|-' .. styles.statlow .. prop.itin ..  styles.statlow .. prop.wllpow .. styles.statlow .. prop.magic .. styles.statlow .. prop.int .. styles.statlow .. prop.dvnprt .. '\n|}'
		result = result .. styles.table2 .. styles.h .. '|Força' .. styles.h .. '|Stamina' .. styles.h .. '|Agilidade' .. styles.h .. '|Destreza' .. styles.h .. '|Charme\n|-' .. styles.statlow .. prop.str ..  styles.statlow .. prop.vit .. styles.statlow .. prop.agl .. styles.statlow .. prop.dex .. styles.statlow .. prop.chm .. '\n|}' .. aligncat(prop.alignment,gamen) .. bossdemoncat(prop.boss,gamegn)
	end
	if gameg == 'p1' then
		if prop.vit2 then
			prop.p1vi = '|<span style="color:#aff;cursor:help" title="Values of PSX and PSP versions differ.">Vitalidade</span>' .. styles.bard2 .. bar(styles.barc,prop.vit,2.4,99,prop.vit2,'PSX version','PSP version')
		else prop.p1vi = '|Vitalidade' .. styles.bard2 .. bar(styles.barc,prop.vit,2.4,99)
		end
		if prop.dex2 then
			prop.p1dx = '|<span style="color:#aff;cursor:help" title="Values of PSX and PSP versions differ.">Destreza</span>' .. styles.bard2 .. bar(styles.barc,prop.dex,2.4,99,prop.dex2,'PSX version','PSP version')
		else prop.p1dx = '|Destreza' .. styles.bard2 .. bar(styles.barc,prop.dex,2.4,99)
		end
		if prop.boss or prop.enemy or prop.hp then
			if prop.order2 then
				prop.p1order = getRace(prop.race,gameg,'PSX version') .. ' / ' .. getRace(prop.order2,gameg,'PSP version')
				else prop.p1order = getRace(prop.race,gameg)
			end
			if not prop.etype then prop.etype = '' end
			if not prop.element then prop.element = '' end
			if not prop.hp then prop.hp = '' end
			if not prop.mp then prop.mp = '' end
			result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Order</span>]]' .. styles.h .. '|Tipo' .. styles.h .. '|Subtipo' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|SP'
			if prop.normal then result = result .. styles.h .. '|[[Lista de Itens de ' .. gamen .. '|' .. styles.spanc .. 'Drops</span>]]' end
			result = result .. '\n|-' .. styles.statlow .. prop.p1order .. styles.statlow .. prop.etype .. styles.statlow .. prop.element .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp
			if prop.normal then result = result .. styles.statlow .. prop.normal end
			result = result .. '\n|}' .. bossdemoncat(prop.boss,gamen)
			if prop.matk == '' and prop.mdef == '' and prop.str == '' and prop.vit == '' and prop.dex == '' and prop.agl == '' and prop.luc == '' then
			else
				result = result .. styles.table2 .. styles.h .. 'title="Poder Mágico"|MAtk' .. styles.h .. 'title="Defesa Mágica"|MDef' .. styles.bart11 .. '324px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard2 .. bar(styles.barc,prop.str,2.4,99) .. styles.barh .. prop.p1vi .. styles.barh .. prop.p1dx .. styles.barh .. '|Agilidade' .. styles.bard2 .. bar(styles.barc,prop.agl,2.4,99) .. styles.barh .. '|Sorte' .. styles.bard2 .. bar(styles.barc,prop.luc,2.4,99) .. '\n|}\n|-' .. styles.statlow .. prop.matk .. styles.statlow .. prop.mdef .. '\n|}'
			end
			if prop.traits or prop.convo then
				result = result .. styles.table2
				if prop.traits then result = result .. styles.h .. 'width=50px|[[Personalidade|' .. styles.spanc .. 'Traços</span>]]' .. styles.order .. prop.traits end
				if prop.convo then result = result .. styles.h .. 'width=50px|[[Conversa Special|' .. styles.spanc .. '<abbr title="Se equipado com o Persona listado, há uma chance de que irá conversar com esse dêmonio se encontrado.">Pconversa</abbr>]]' .. styles.order .. prop.convo end
				result = result .. '\n|}'
			end
		else
			if not prop.etype then prop.etype = '' end
			if not prop.element then prop.element = '' end
			if not prop.mp then prop.mp = '' end
			result = result .. styles.table2 .. styles.h .. '|[[Arcana|' .. styles.spanc .. 'Arcana</span>]]' .. styles.h .. '|Tipo' .. styles.h .. '|Subtipo' .. styles.h .. '|Level' .. styles.h .. '|Custo SP'
			if prop.totem then result = result .. styles.h .. '|[[Totem|' .. styles.spanc .. 'Totem</span>]]' end
			if prop.preturn then result = result .. styles.h .. '|[[Troca Mística|' .. styles.spanc .. 'Retorno</span>]] [[Lista de Itens de ' .. gamen .. '|' .. styles.spanc .. '°</span>]]' end
			result = result .. '\n|-' .. styles.statlow .. getArcana(prop.arcana,gameg,gamen) .. styles.statlow .. prop.etype .. styles.statlow .. prop.element .. styles.statlow .. prop.level .. styles.statlow .. prop.mp
			if prop.totem then result = result .. styles.statlow .. prop.totem end
			if prop.preturn then result = result .. styles.statlow .. prop.preturn end
			result = result .. '\n|}' .. styles.table2 .. styles.h .. 'title="Poder Mágico"|MAtk' .. styles.h .. 'title="Defesa Mágica"|MDef' .. styles.bart11 .. '324px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard2 .. bar(styles.barc,prop.str,2.4,99) .. styles.barh .. '|Vitalidade' .. styles.bard2 .. bar(styles.barc,prop.vit,2.4,99) .. styles.barh .. prop.p1dx .. styles.barh .. '|Agilidade' .. styles.bard2 .. bar(styles.barc,prop.agl,2.4,99) .. styles.barh .. '|Sorte' .. styles.bard2 .. bar(styles.barc,prop.luc,2.4,99) .. '\n|}\n|-' .. styles.statlow .. prop.matk .. styles.statlow .. prop.mdef .. '\n|}'
			if args.Affinity or prop.convo then
				result = result .. styles.table2
					if args.Affinity then result = result .. styles.h .. 'width=60px title="Characters with ' .. "'Best'" .. ' Afinidade"|[[Afinidade (Persona)|' .. styles.spanc .. '<abbr>Afinidade</abbr></span>]]' .. styles.order .. args.Affinity end
					if prop.convo then result = result .. styles.h .. 'width=50px|[[Conversa Special|' .. styles.spanc .. '<abbr title="Se equipado com o Persona listado, há uma chance de que irá conversar com esse dêmonio se encontrado.">Pconversa</abbr>]]' .. styles.order .. prop.convo end
				result = result .. '\n|}' .. cate('Personas de ' .. gamen)
			end
		end
	end
	if (gameg == 'p2is' or gameg == 'p2ep' or gameg == 'p5') and prop.quote then
		result = result .. styles.table2b .. styles.quote .. 'font-style:italic"|' .. string.gsub(prop.quote, '!!', '‼') .. '\n|}'
	end -- replace exclamation mark otherwise it will be interpreted as wiki table seperator.
	if gameg == 'p2is' or gameg == 'p2ep' then
		result = result .. styles.table2 .. styles.h .. '|[[Arcana|' .. styles.spanc .. 'Arcana</span>]]'
		if prop.enemy or prop.boss or prop.hp then
			if prop.etype then result = result .. styles.h .. '|Tipo' end
			result = result .. styles.h .. '|Level'
			if prop.hp then result = result .. styles.h .. '|HP' end
			if prop.normal then result = result .. styles.h .. '|[[Lista de Itens de ' .. gamen .. '|' .. styles.spanc .. 'Normal Drop]]' end
			if prop.rare then result = result .. styles.h .. 'style="background:#8E283D"|Rare Drop' end
			result = result .. '\n|-' .. styles.statlow .. getArcana(prop.arcana,gameg,gamen)
			if prop.etype then result = result .. styles.statlow .. prop.etype end
			result = result .. styles.statlow .. prop.level
			if prop.hp then result = result .. styles.statlow .. prop.hp end
			if prop.normal then result = result .. styles.statlow .. prop.normal end
			if prop.rare then result = result .. styles.statlow .. prop.rare end
			result = result .. bossdemoncat(prop.boss,gamen)
		else
			if not prop.etype then prop.etype = '' end
			if not prop.mp then prop.mp = '' end
			if not prop.bonus then prop.bonus = '' end
			if not prop.preturn then prop.preturn = '' end
			result = result .. styles.h .. '|Tipo' .. styles.h .. '|Level' .. styles.h .. '|Custo SP' .. styles.h .. 'title="Status extras que são conferidos a cada level passado com o Persona equipado"|Bônus' .. styles.h .. '|[[Troca Mística|' .. styles.spanc .. 'Retorno</span>]] ' .. '[[Lista de Itens de ' .. gamen .. '|' .. styles.spanc .. '°</span>]]' .. '\n|-' .. styles.statlow .. getArcana(prop.arcana,gameg,gamen) .. styles.statlow .. prop.etype .. styles.statlow .. prop.level .. styles.statlow .. prop.mp .. styles.statlow .. prop.bonus .. styles.statlow .. prop.preturn .. cate(gamegn .. ' Personas')
		end
		result = result .. '\n|}'
	end
	if gameg == 'p3' or gameg == 'p4' or gameg == 'p5' then
		result = result .. styles.table2 .. styles.h .. '|[[Arcana|' .. styles.spanc .. 'Arcana</span>]]' .. styles.h .. 'width="50px"|Level'
		if prop.hp then result = result .. styles.h .. 'width="40px"|HP' end
		if prop.mp then result = result .. styles.h .. 'width="40px"|SP' end
		if prop.traits then result = result .. styles.h .. '|[[Personalidade|<span style="color:#fff">Tipo</span>]]' end
		result = result .. styles.bart11 .. '324px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard2 .. bar(styles.barc,prop.str,2.4,99) .. styles.barh .. '|Magia' .. styles.bard2 .. bar(styles.barc,prop.magic,2.4,99) .. styles.barh .. '|Resistência' .. styles.bard2 .. bar(styles.barc,prop.vit,2.4,99) .. styles.barh .. '|Agilidade' .. styles.bard2 .. bar(styles.barc,prop.agl,2.4,99) .. styles.barh .. '|Sorte' .. styles.bard2 .. bar(styles.barc,prop.luc,2.4,99) .. '\n|}\n|-' .. styles.statlow .. getArcana(prop.arcana,gameg,gamegn) .. styles.statlow .. prop.level
		if prop.hp then result = result .. styles.statlow .. prop.hp .. '<div style="position:relative;top:-4px;border:2.5px solid ' .. getGames.games[gameg].hp2 .. '"></div>' end
		if prop.mp then result = result .. styles.statlow .. prop.mp .. '<div style="position:relative;top:-4px;border:2.5px solid ' .. getGames.games[gameg].mp2 .. '"></div>' end
		if prop.traits then result = result .. styles.statlow .. prop.traits end
		result = result .. '\n|}'
		if gameg == 'p3' then
			if prop.hp then
				if prop.boss then
					if game == 'p3p' then
						result = result .. cate('Persona 3 Portable Bosses')
					elseif game == 'p3f' then
						result = result .. cate('Chefes de ' .. gamegn)
					else result = result .. cate('Chefes de ' .. gamegn) .. cate('Persona 3 Portable Bosses')
					end
				else result = result .. cate('Shadows de ' .. gamegn)
				end
			else
				if game == 'p3p' or game == 'p3f' then
					result = result .. cate('Persona 3 FES Personas') .. cate('Persona 3 Portable Personas')
				else result = result .. cate(gamegn .. ' Personas') .. cate('Persona 3 FES Personas') .. cate('Persona 3 Portable Personas')
				end
			end
		end
		if gameg == 'p4' then
			if prop.hp then
				if prop.boss then
					if prop.vanilla then
						result = result .. cate(gamen .. ' Bosses')
					elseif game == 'p4g' then
						result = result .. cate(gamen .. ' Bosses')
					else result = result .. cate('Chefes de ' .. gamegn) .. cate('Persona 4 Golden Bosses')
					end
				else
					if prop.vanilla then
						result = result .. cate(gamen .. ' Shadows')
					elseif game == 'p4g' then
						result = result .. cate(gamen .. ' Shadows')
					else result = result .. cate('Shadows de ' .. gamegn) .. cate('Persona 4 Golden Shadows')
					end
				end
			else
				if game == 'p4g' then
					result = result .. cate(gamen .. ' Personas')
				else result = result .. cate(gamegn .. ' Personas') .. cate('Persona 4 Golden Personas')
				end
			end
		end
		if gameg == 'p5' then
			if prop.hp then
				if prop.boss then
					result = result .. cate('Chefes de ' .. gamegn)
				elseif prop.shadow then
					result = result .. cate('Shadows de ' .. gamegn)
				else
					result = result .. cate('Demônios de ' .. gamegn)
				end
			else
				result = result .. cate('Persona 5 Personas')
			end
		end
	end
	if gameg == 'pq' then
		if not prop.arcana then
			if not prop.drop1 then prop.drop1 = '-' end
			if not prop.drop2 then prop.drop2 = '-' end
			if not prop.drop3 then prop.drop3 = '-' end
			result = result .. styles.table2 .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|Attack' .. styles.h .. '|Defesa'
			result = result .. styles.bart11 .. '324px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard2 .. bar(styles.barc,prop.str,2.4,99) .. styles.barh .. '|Magia' .. styles.bard2 .. bar(styles.barc,prop.magic,2.4,99) .. styles.barh .. '|Resistência' .. styles.bard2 .. bar(styles.barc,prop.vit,2.4,99) .. styles.barh .. '|Agilidade' .. styles.bard2 .. bar(styles.barc,prop.agl,2.4,99) .. styles.barh .. '|Sorte' .. styles.bard2 .. bar(styles.barc,prop.luc,2.4,99) .. '\n|}\n|-' .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.atk .. styles.statlow .. prop.def .. '\n|}'
			result = result .. styles.table2 .. styles.h .. '|Exp' .. styles.h .. '|Drop 1' .. styles.h .. '|Drop 2' .. styles.h
			if prop.dropc and prop.condition then result = result .. '|Conditional' else result = result .. '|Drop 3' end
			result = result .. '\n|-\n' .. styles.statlow .. prop.xp .. styles.statlow .. prop.drop1 .. styles.statlow .. prop.drop2 .. styles.statlow
			if prop.dropc and prop.condition then result = result .. '<abbr title="' .. prop.condition .. '">' .. prop.dropc .. '</abbr>'
			else result = result .. prop.drop3 end
			if prop.boss then
				result = result .. cate('Chefes de ' .. gamegn)
			else result = result .. cate('Shadows de ' .. gamegn)
			end
		elseif prop.hp or prop.mp then -- sub-persona
			result = result .. styles.table2 .. styles.h .. '|[[Arcana|' .. styles.spanc .. 'Arcana</span>]]' .. styles.h .. 'width=10%|Level' .. styles.h .. 'title="Bônus HP. Restaura após batalha." width=10%|HP +' .. styles.h .. 'title="Bônus SP. Restaura após batalha." width=10%|SP +' .. styles.h .. '|Inherit' .. styles.h .. '|[[Carta de Habilidade|' .. styles.spanc .. 'Extract</span>]]' .. styles.h .. '|[[Fusão Sacrificial|' .. styles.spanc .. 'Fragment]]\n|-\n'
			if not prop.inherit then prop.inherit = '-' end
			if not prop.card then prop.card = '-' end
			if not prop.fragment then prop.fragment = '-' end
			result = result .. styles.statlow .. getArcana(prop.arcana,gameg,gamen) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.inherit .. styles.statlow .. prop.card .. styles.statlow .. prop.fragment .. cate(gamegn .. ' Personas')
		else -- main persona
			result = result .. styles.table2 .. styles.h .. '|[[Arcana|' .. styles.spanc .. 'Arcana</span>]]' .. styles.h .. 'width=10%|Level'
			result = result .. styles.bart11 .. '324px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard2 .. bar(styles.barc,prop.str,2.4,99) .. styles.barh .. '|Magia' .. styles.bard2 .. bar(styles.barc,prop.magic,2.4,99) .. styles.barh .. '|Resistência' .. styles.bard2 .. bar(styles.barc,prop.vit,2.4,99) .. styles.barh .. '|Agilidade' .. styles.bard2 .. bar(styles.barc,prop.agl,2.4,99) .. styles.barh .. '|Sorte' .. styles.bard2 .. bar(styles.barc,prop.luc,2.4,99) .. '\n|}\n|-' .. styles.statlow .. getArcana(prop.arcana,gameg,gamegn) .. styles.statlow .. prop.level
			if not prop.nocat then result = result .. cate(gamegn .. ' Personas') end
		end
		result = result .. '\n|}'
	end
	if gameg == 'cs' then
		if not prop.mp then prop.mp = '?' end
		if not prop.mp then prop.mp = '?' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. 'title="Força"|St' .. styles.h .. 'title="Resistência"|En' .. styles.h .. 'title="Magia"|Ma' .. styles.h .. 'title="Agilidade"|Ag\n|-\n' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.str .. styles.statlow .. prop.def .. styles.statlow .. prop.magic .. styles.statlow .. prop.agl .. '\n|}' .. cate(getGames.games[gameg].name2 .. ' Demons')
	end
	if gameg == 'ddsaga1' or gameg == 'ddsaga2' then
		if gameg == 'ddsaga2' and prop.boss then prop.mp = '∞' elseif not prop.mp then prop.mp = '?' end
		if not prop.normal then prop.normal = '-' end
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. '|Drops\n|-\n' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.normal .. '\n|}' .. bossdemoncat(prop.boss,gamen)
	end
	if gameg == 'desu1' or gameg == 'desu2' then
		result = result .. styles.table2 .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Raça</span>]]' .. styles.h .. 'width=10%|Level' .. styles.h .. 'width=10%|HP' .. styles.h .. 'width=10%|MP' .. styles.bart11 .. '315px' .. styles.bart12 .. '1"' .. styles.barh .. '|Força' .. styles.bard1 .. bar(styles.barc,prop.str,6,40) .. styles.barh .. '|Magia' .. styles.bard1 .. bar(styles.barc,prop.magic,6,40) .. styles.barh .. '|Vitalidade' .. styles.bard1 .. bar(styles.barc,prop.vit,6,40) .. styles.barh .. '|Agilidade' .. styles.bard1 .. bar(styles.barc,prop.agl,6,40) .. '\n|}\n|-' .. styles.statlow .. getRace(prop.race,gameg) .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. '<div style="position:relative;top:-4px;border:2.5px outset ' .. getGames.games[gameg].hp2 .. ';border-radius:3px"></div>' .. styles.statlow .. prop.mp .. '<div style="position:relative;top:-4px;border:2.5px outset ' .. getGames.games[gameg].mp2 .. ';border-radius:3px"></div>\n|}'
		if prop.boss then
			if gameg == 'desu1' and game ~= 'desu1oc' then
				result = result .. cate('Chefes de ' .. gamegn) .. cate('Devil Survivor Overclocked Bosses')
			elseif gameg == 'desu2' and game ~= 'desu2rb' then
				result = result .. cate('Chefes de ' .. gamegn) .. cate('Devil Survivor 2 Record Breaker Bosses')
			else result = result .. cate(gamen .. ' Bosses')
			end
		else
			if prop.race == 'Human' or prop.race == '???' or prop.race == 'Foreigner' then
				if gameg == 'desu1' and game ~= 'desu1oc' then
					result = result .. cate(gamegn .. ' Characters') .. cate('Devil Survivor Overclocked Characters')
				elseif gameg == 'desu2' and game ~= 'desu2rb' then
					result = result .. cate(gamegn .. ' Characters') .. cate('Devil Survivor 2 Record Breaker Characters')
					else result = result .. cate(gamegn .. ' Characters')
				end
			elseif gameg == 'desu1' and game ~= 'desu1oc' then
				result = result .. cate('Demônios de ' .. gamegn) .. cate('Devil Survivor Overclocked Demons')
			elseif gameg == 'desu2' and game ~= 'desu2rb' then
				result = result .. cate('Demônios de ' .. gamegn) .. cate('Devil Survivor 2 Record Breaker Demons')
			else result = result .. cate(gamen .. ' Demons')
			end
		end
	end
	if gameg == 'childred' or gameg == 'childps' or gameg == 'childwhite' or gameg == 'childfire' or gameg == 'childlight' then
		if not prop.xp then prop.xp = '' end
		result = result .. styles.table2 .. styles.h .. '|Class' .. styles.h .. '|Elemento' .. styles.h .. '|[[Raça e Espécies|' .. styles.spanc .. 'Tipo]]' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP' .. styles.h .. '|Exp\n|-' .. styles.statlow .. prop.class .. styles.statlow .. prop.etype .. styles.statlow .. prop.race .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. styles.statlow .. prop.xp .. '\n|}'
		result = result .. styles.table2 .. styles.h .. 'width=16.67% title="Poder de Ataque"|ATK' .. styles.h .. 'width=16.67% title="Defesa"|DEF' .. styles.h .. 'width=16.67% title="Magia"|MGC' .. styles.h .. 'width=16.67% title="Resistência"|RES' .. styles.h .. 'width=16.67% title="Velocidade"|SPD' .. styles.h .. 'width=16.67% title="Sorte"|LCK\n|-\n' .. styles.statlow .. prop.atk .. styles.statlow .. prop.def .. styles.statlow .. prop.magic .. styles.statlow .. prop.res .. styles.statlow .. prop.agl .. styles.statlow .. prop.luc .. '\n|}'
		if prop.boss or race == 'Boss' then
			if gameg == 'childlight' then
				result = result .. cate(getGames.games[gameg].name3 .. ' Bosses')
			else
				result = result .. cate(gamen .. ' Bosses')
			end
		else
			if game == 'childblack' or gameg == 'childps' then
				result = result .. cate('Devil Children PS demons')
			elseif gameg == 'childwhite' then
				result = result .. cate(gamen .. ' Demons')
			elseif gameg == 'childred' then
				result = result .. cate(getGames.games[gameg].name1 .. ' Demons') .. cate(getGames.games[gameg].name2 .. ' Demons')
			elseif gameg == 'childfire' then
				result = result .. cate(getGames.games[gameg].name1 .. ' Demons') .. cate(getGames.games[gameg].name2 .. ' Demons')
			elseif gameg == 'childlight' then
				result = result .. cate(getGames.games[gameg].name1 .. ' Demons') .. cate(getGames.games[gameg].name2 .. ' Demons')
			end
		end
		result = result .. cate(prop.race .. ' Tipo')
	end
	if gameg == 'childmessiah' then
		if not prop.number then prop.number = '-' end
		if not prop.element then prop.element = '-' end
		if not prop.weak then prop.weak = '-' end
		if not prop.race then prop.race = '-' end
		if not prop.level then prop.level = '-' end
		if not prop.hp then prop.hp = '-' end
		if not prop.mp then prop.mp = '-' end
		if not prop.call then prop.call = '-' end
		if not prop.spell then
			prop.spell = '-'
		else
			if not data.skills[prop.spell] then
				prop.spell = prop.spell
			else
				prop.spell = '<abbr title="' .. data.skills[prop.spell].effect .. '">' .. prop.spell .. '</abbr>'
			end
		end
		if not prop.spell then prop.spell = prop.spell end
		result = result .. styles.table2 .. styles.h .. '|Number' .. styles.h .. '|Elemento' .. styles.h .. '|Fraqueza' .. styles.h .. '|Tipo' .. styles.h .. '|Level' .. styles.h .. '|HP' .. styles.h .. '|MP\n|-' .. styles.statlow .. prop.number .. styles.statlow .. prop.element .. styles.statlow .. prop.weak .. styles.statlow .. prop.race .. styles.statlow .. prop.level .. styles.statlow .. prop.hp .. styles.statlow .. prop.mp .. '\n|}'
		result = result .. styles.table2 .. styles.h .. 'title="Attack"|ATK' .. styles.h .. 'title="Magia"|MGC' .. styles.h .. 'title="Defesa"|DEF' .. styles.h .. 'title="Resistência"|RES' .. styles.h .. 'title="Velocidade"|SPD' .. styles.h .. '|Quick' .. styles.h .. '|Call' .. styles.h .. '|Spell\n|-' .. styles.statlow .. prop.atk .. styles.statlow .. prop.magic .. styles.statlow .. prop.def .. styles.statlow .. prop.res .. styles.statlow .. prop.agl .. styles.statlow .. prop.quick .. styles.statlow .. prop.call .. styles.statlow .. prop.spell .. '\n|}' .. cate(prop.race .. ' Tipo') .. bossdemoncat(prop.boss,getGames.games[game].name2)
	end
	if gameg == 'smtsj' then
		if not prop.noa then prop.noa = '-' end
		if not prop.phys then prop.phys = '-' end
		if not prop.pierce then prop.pierce = '-' end
		if not prop.fire then prop.fire = '-' end
		if not prop.ice then prop.ice = '-' end
		if not prop.elec then prop.elec = '-' end
		if not prop.wind then prop.wind = '-' end
		if not prop.expel then prop.expel = '-' end
		if not prop.curse then prop.curse = '-' end
		if not prop.alm then prop.alm = '-' end
		if not prop.poison then prop.poison = '-' end
		if not prop.paralyze then prop.paralyze = '-' end
		if not prop.stone then prop.stone = '-' end
		if not prop.strain then prop.strain = '-' end
		if not prop.sleep then prop.sleep = '-' end
		if not prop.charm then prop.charm = '-' end
		if not prop.mute then prop.mute = '-' end
		if not prop.fear then prop.fear = '-' end
		if not prop.bomb then prop.bomb = '-' end
		if not prop.rage then prop.rage = '-' end
		result = result .. styles.table2 .. styles.h .. '|Tipo de Ataque' .. styles.h .. 'width=7% title="Físico"|[[File:PhysIcon.png|alt=Físico|Físico|link=Habilidades Físicas]]' .. styles.h .. 'width=7% title="Arma de Fogo"|[[File:GunIcon.png|alt=Arma de Fogo|Arma de Fogo|link=Habilidades de Arma de Fogo]]' .. styles.h .. 'width=7% title="Fogo"|[[File:FireIcon.png|alt=Fogo|Fogo|link=Habilidades de Fogo]]' .. styles.h .. 'width=7% title="Gelo"|[[File:IceIcon.png|alt=Gelo|Gelo|link=Habilidades de Gelo]]' .. styles.h .. 'width=7% title="Eletricidade"|[[File:ElecIcon.png|alt=Eletricidade|Eletricidade|link=Habilidades Elétricas]]' .. styles.h .. 'width=7% title="Vento"|[[File:WindIcon.png|alt=Vento|Vento|link=Habilidades de Vento]]' .. styles.h .. 'width=7% title="Expel"|[[File:ExpelIcon.png|alt=Expel|Expel|link=Expel Skills]]' .. styles.h .. 'width=7% title="Maldição"|[[File:CurseIcon.png|alt=Maldição|Maldição|link=Habilidades de Morte]]' .. styles.h .. 'width=7% title="Onipotente"|[[File:AlmightyIcon.png|alt=Onipotente|Onipotente|link=Habilidades Onipotentes]]\n|-\n'
		result = result .. styles.statlow .. prop.noa .. styles.statlow .. prop.phys .. styles.statlow .. prop.pierce .. styles.statlow .. prop.fire .. styles.statlow .. prop.ice .. styles.statlow .. prop.elec .. styles.statlow .. prop.wind .. styles.statlow .. prop.expel .. styles.statlow .. prop.curse .. styles.statlow .. prop.alm .. '\n|}'
		result = result .. styles.table2 .. styles.h .. 'width=10%|Envenenamento' .. styles.h .. 'width=10%|Paralisia' .. styles.h .. 'width=10%|Petrificação' .. styles.h .. 'width=10%|Tensão' .. styles.h .. 'width=10%|Sono' .. styles.h .. 'width=10%|Charme' .. styles.h .. 'width=10%|Silêncio' .. styles.h .. 'width=10%|Medo' .. styles.h .. 'width=10%|Bomba' .. styles.h .. 'width=10%|Raiva\n|-\n'
		result = result .. styles.statlow .. prop.poison .. styles.statlow .. prop.paralyze .. styles.statlow .. prop.stone .. styles.statlow .. prop.strain .. styles.statlow .. prop.sleep .. styles.statlow .. prop.charm .. styles.statlow .. prop.mute .. styles.statlow .. prop.fear .. styles.statlow .. prop.bomb .. styles.statlow .. prop.rage .. '\n|}'
	end
	if gameg == 'desu1' or gameg == 'desu2' then
		if not prop.racial then prop.racial = '-' end
		if not prop.phys then prop.phys = '-' end
		if not prop.fire then prop.fire = '-' end
		if not prop.ice then prop.ice = '-' end
		if not prop.elec then prop.elec = '-' end
		if not prop.force then prop.force = '-' end
		if not prop.mystic then prop.mystic = '-' end
		result = result .. styles.table2 .. styles.h .. '|[[Racial Skill|' .. styles.spanc .. 'Racial</span>]] / [[Auto Skill|' .. styles.spanc .. 'Auto]] Skill' .. styles.h .. 'width=12% title="Físico"|[[File:PhysIcon.png|alt=Físico|Físico|link=Habilidades Físicas]] Físico' .. styles.h .. 'width=12% title="Fogo"|[[File:FireIcon.png|alt=Fogo|Fogo|link=Habilidades de Fogo]] Fogo' .. styles.h .. 'width=12% title="Gelo"|[[File:IceIcon.png|alt=Gelo|Gelo|link=Habilidades de Gelo]] Gelo' .. styles.h .. 'width=12% title="Eletricidade"|[[File:ElecIcon.png|alt=Eletricidade|Eletricidade|link=Habilidades Elétricas]] Elec' .. styles.h .. 'width=12% title="Força"|[[File:ForceIcon.png|alt=Força|Força|link=Habilidades de Força]] Força' .. styles.h .. 'width=12% title='
		if gameg == 'desu1' then
			result = result .. '"Mystic"|[[File:Curse DESU2.png|alt=Mystic|Mystic|link=Habilidades de Maldição]] Mystic'
		elseif gameg == 'desu2' then
			result = result .. '"Maldição"|[[File:Curse DESU2.png|alt=Maldição|Maldição|link=Habilidades de Maldição]] Maldição'
		end
		result = result .. '\n|-\n' .. styles.statlow .. prop.racial .. styles.statlow .. prop.phys .. styles.statlow .. prop.fire .. styles.statlow .. prop.ice .. styles.statlow .. prop.elec .. styles.statlow .. prop.force .. styles.statlow .. prop.mystic .. '\n|}'
	end
	if gameg == 'ronde' or gameg == 'p3' or gameg == 'p4' or gameg == 'p5' then
		if prop.sword or prop.strike or prop.pierce or prop.phys or prop.fire or prop.ice or prop.elec or prop.wind or prop.expel or prop.dark or prop.alm or prop.xp or prop.yen then
		result = result .. styles.table2
			if not prop.sword then prop.sword = '-' end
			if not prop.strike then prop.strike = '-' end
			if not prop.pierce then prop.pierce = '-' end
			if not prop.phys then prop.phys = '-' end
			if not prop.gun then prop.gun = '-' end
			if not prop.fire then prop.fire = '-' end
			if not prop.ice then prop.ice = '-' end
			if not prop.elec then prop.elec = '-' end
			if not prop.wind then prop.wind = '-' end
			if not prop.psychic then prop.psychic = '-' end
			if not prop.nuclear then prop.nuclear = '-' end
			if not prop.expel then prop.expel = '-' end
			if not prop.dark then prop.dark = '-' end
			if not prop.alm then prop.alm = '-' end
			if not prop.xp then prop.xp = '-' end
			if not prop.yen then prop.yen = '-' end
			if gameg == 'ronde' then result = result .. styles.h .. '|Corte' .. styles.h .. '|Golpe' .. styles.h .. '|Distância'
			elseif gameg == 'p3' then result = result .. styles.h .. '|Corte' .. styles.h .. '|Golpe' .. styles.h .. '|Pierce'
			elseif gameg == 'p4' then result = result .. styles.h .. '|Físico'
			elseif gameg == 'p5' then result = result .. styles.h .. 'title="Físico"|Físico' .. styles.h .. '|Arma de Fogo'
			end
			result = result .. styles.h .. '|Fogo' .. styles.h .. '|Gelo' .. styles.h .. 'title="Eletricidade"|Elec'
			if gameg == 'p3' or gameg == 'p4' or gameg == 'p5' then result = result .. styles.h .. '|Vento' end
			if gameg == 'p5' then result = result .. styles.h .. 'title="Psychic"|Psy' .. styles.h .. 'title="Nuclear"|Nucl' end
			result = result .. styles.h .. '|Luz' .. styles.h .. '|Trevas' .. styles.h .. '|Onipotente'
			if gameg == 'p4' then result = result .. styles.h .. '|EXP' .. styles.h .. '|Yen' end
			result = result .. '\n|-\n'
			if gameg == 'ronde' or gameg == 'p3' then result = result .. styles.statlow .. prop.sword .. styles.statlow .. prop.strike .. styles.statlow .. prop.pierce
			elseif gameg == 'p4' then result = result .. styles.statlow .. prop.phys
			elseif gameg == 'p5' then result = result .. styles.statlow .. prop.phys .. styles.statlow .. prop.gun
			end
			result = result .. styles.statlow .. prop.fire .. styles.statlow .. prop.ice .. styles.statlow .. prop.elec
			if gameg == 'p3' or gameg == 'p4' or gameg == 'p5' then result = result .. styles.statlow .. prop.wind end
			if gameg == 'p5' then result = result .. styles.statlow .. prop.psychic .. styles.statlow .. prop.nuclear end
			result = result .. styles.statlow .. prop.expel .. styles.statlow .. prop.dark .. styles.statlow .. prop.alm
			if gameg == 'p4' then result = result .. styles.statlow .. prop.xp .. styles.statlow .. prop.yen end
			result = result .. '\n|}'
		elseif prop.inherit or prop.resist or prop.block or prop.absorb or prop.reflect or prop.weak then
			result = result .. styles.table2
			if not prop.inherit then prop.inherit = '-' end
			if not prop.resist then prop.resist = '-' end
			if not prop.block then prop.block = '-' end
			if not prop.absorb then prop.absorb = '-' end
			if not prop.reflect then prop.reflect = '-' end
			if not prop.weak then prop.weak = '-' else prop.weak = '<span style="color:#f22">' .. prop.weak .. '</span>' end
			result = result .. styles.h .. '|Herda' .. styles.h .. '|Reflete' .. styles.h .. '|Absorve' .. styles.h .. '|Block' .. styles.h .. '|Resiste' .. styles.h .. '|Fraco\n|-\n' .. styles.statlow .. prop.inherit .. styles.statlow .. prop.reflect .. styles.statlow .. prop.absorb .. styles.statlow .. prop.block .. styles.statlow .. prop.resist .. styles.statlow .. prop.weak .. '\n|}'
		end
	end
	if gameg == 'p3' and (prop.card or prop.preturn) then
		result = result .. styles.table2
		if prop.card then
			result = result .. styles.h .. 'width=100px|[[Skill Card|' .. styles.spanc .. 'Skill Card</span>]]' .. styles.order .. '<abbr title="Portable only">' .. prop.card .. '</abbr>'
		end
		if prop.preturn then
			result = result .. styles.h .. 'width=100px|[[Heart Item|' .. styles.spanc .. 'Heart Item</span>]]' .. styles.order .. prop.preturn
		end
		result = result .. '\n|}'
	end
	if (gameg == 'p2is' or gameg == 'p2ep') and (prop.exclusive or prop.traits or prop.convo) then
		result = result .. styles.table2
		if prop.exclusive then
			result = result .. styles.h .. 'width=90px|Exclusive to' .. styles.order .. prop.exclusive
		end
		if prop.traits then
			result = result .. styles.h .. 'width=50px|[[Personalidade|' .. styles.spanc .. 'Traços</span>]]' .. styles.order .. prop.traits
		end
		if prop.convo then
			result = result .. styles.h .. 'width=50px|[[Conversa Special|' .. styles.spanc .. '<abbr style="border-bottom:1px dotted black;" title="Se equipado com o Persona listado, há uma chance de que irá conversar com esse dêmonio se encontrado">Pconversa</abbr>]]' .. styles.order .. prop.convo
		end
		result = result .. '\n|}'
	end
	if (gameg == 'p2is' or gameg == 'p2ep') and prop.profile then
		result = result .. styles.table2b .. styles.quote .. '"|' .. string.gsub(prop.profile, '!!', '‼') .. '\n|}'
	end
	result = result .. '\n|}'
-- End of image span.
	if game == 'kmt1' and prop.normal ~= '' then
		result = result .. styles.table2 .. styles.h .. 'width=60px|[[Lista de Itens de ' .. gamegn .. '|' .. styles.spanc .. 'Drop</span>]]' .. styles.order .. prop.normal .. '\n|}'
	end
	if game == 'smt1' and (prop.resist or prop.normal) then
		result = result .. styles.table2
		if prop.resist then result = result .. styles.h .. 'width=100px|Resistências' .. styles.order .. prop.resist end
		if prop.normal then result = result .. styles.h .. 'width=60px|[[Lista de Itens de ' .. gamegn .. '|' .. styles.spanc .. 'Drop</span>]]' .. styles.order .. prop.normal end
		result = result .. '\n|}'
	end
	if (game == 'smt2' or gameg == 'smtif') and (prop.normal or prop.inherit or prop.moon) then
		result = result .. styles.table2
		if prop.normal then result = result .. styles.h .. 'width=60px|[[Lista de Itens de ' .. gamegn .. '|' .. styles.spanc .. 'Drop</span>]]' .. styles.order .. prop.normal end
		if prop.inherit then result = result .. styles.h .. 'width=70px|Herda' .. styles.order .. prop.inherit end
		if prop.moon then result = result .. styles.h .. 'width=80px|[[Moon Phase System#Shin Megami Tensei II|' .. styles.spanc .. '<abbr title="Moon Phase Affinity Type">Moon Aff</abbr>]]' .. styles.order .. prop.moon end
		result = result .. '\n|}'
	end
	if gameg == 'smtif' and prop.resist then
		result = result .. styles.table2 .. styles.h .. 'width=90px|Resistências' .. styles.order .. prop.resist .. '\n|}'
	end
	if game == 'smtim' then
		if not prop.seealso then prop.seealso = mw.title.getCurrentTitle().text end
		result = result .. styles.table2 .. styles.h .. 'width=50px|Características' .. styles.order .. prop.feature .. '\n|}'
	end
	if gameg == 'p1' and (prop.onehand or prop.twohand or prop.spear or prop.axe or prop.whip or prop.thrown or prop.arrow or prop.fist or prop.handgun or prop.machinegun or prop.shotgun or prop.rifle or prop.tech or prop.rush or prop.fire or prop.ice or prop.wind or prop.earth or prop.elec or prop.nuclear or prop.blast or prop.gravity or prop.expel or prop.miracle or prop.death or prop.curse or prop.nerve or prop.hiero) then
		if not prop.onehand then prop.onehand = '-' end
		if not prop.twohand then prop.twohand = '-' end
		if not prop.spear then prop.spear = '-' end
		if not prop.axe then prop.axe = '-' end
		if not prop.whip then prop.whip = '-' end
		if not prop.thrown then prop.thrown = '-' end
		if not prop.arrow then prop.arrow = '-' end
		if not prop.fist then prop.fist = '-' end
		if not prop.handgun then prop.handgun = '-' end
		if not prop.machinegun then prop.machinegun = '-' end
		if not prop.shotgun then prop.shotgun = '-' end
		if not prop.rifle then prop.rifle = '-' end
		if not prop.tech then prop.tech = '-' end
		if not prop.rush then prop.rush = '-' end
		if not prop.fire then prop.fire = '-' end
		if not prop.ice then prop.ice = '-' end
		if not prop.wind then prop.wind = '-' end
		if not prop.earth then prop.earth = '-' end
		if not prop.elec then prop.elec = '-' end
		if not prop.nuclear then prop.nuclear = '-' end
		if not prop.blast then prop.blast = '-' end
		if not prop.gravity then prop.gravity = '-' end
		if not prop.expel then prop.expel = '-' end
		if not prop.miracle then prop.miracle = '-' end
		if not prop.death then prop.death = '-' end
		if not prop.curse then prop.curse = '-' end
		if not prop.nerve then prop.nerve = '-' end
		if not prop.hiero then prop.hiero = '-' end
		result = result .. styles.table2 .. '\n!style="background:#a9a9a9" title="Armas" colspan="8"|\n!title="Armas de Fogo" style="background:#898989" colspan="4"|\n!style="background:#a9a9a9" title="Devastação" colspan="2"|\n|-' .. styles.h .. 'title="Armas"|<abbr title="Espada de uma mão">1h</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Espada de duas mãos">2h</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Lança">Sp</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Machado">Ax</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Chicote">Wp</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Arremesso">Th</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Flechas">Ar</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Punho">Fs</abbr>' .. styles.h .. 'title="Armas de Fogo" style="background:#898989;width:7.12%"|<abbr title="Pistola">HG</abbr>' .. styles.h .. 'title="Armas de Fogo" style="background:#898989;width:7.12%"|<abbr title="Metralhadora">MG</abbr>' .. styles.h .. 'title="Armas de Fogo" style="background:#898989;width:7.12%"|<abbr title="Escopeta">SG</abbr>' .. styles.h .. 'title="Armas de Fogo" style="background:#898989;width:7.12%"|<abbr title="Rifle">Ri</abbr>' .. styles.h .. 'title="Devastação"|<abbr title="Técnica">Te</abbr>' .. styles.h .. 'title="Devastação"|<abbr title="Investida">Ru</abbr>\n|-\n' .. styles.statlow .. prop.onehand .. styles.statlow .. prop.twohand .. styles.statlow .. prop.spear .. styles.statlow .. prop.axe .. styles.statlow .. prop.whip .. styles.statlow .. prop.thrown .. styles.statlow .. prop.arrow .. styles.statlow .. prop.fist .. styles.statlow .. prop.handgun .. styles.statlow .. prop.machinegun .. styles.statlow .. prop.shotgun .. styles.statlow .. prop.rifle .. styles.statlow .. prop.tech .. styles.statlow .. prop.rush
		result = result .. '\n|-\n!style="background:#a9a9a9" title="Elemento" colspan="4"|\n!style="background:#898989" title="Força" colspan="4"|\n!style="background:#a9a9a9" title="Luz" colspan="2"|\n!style="background:#898989" title="Trevas" colspan="3"|\n!style="background:#a9a9a9" title="Special" colspan="1"|\n|-' .. styles.h .. 'width="7.12%" title="Elemento"|<abbr title="Fogo">Fi</abbr>' .. styles.h .. 'width="7.12%" title="Elemento"|<abbr title="Gelo">Ic</abbr>' .. styles.h .. 'width="7.12%" title="Elemento"|<abbr title="Vento">Wi</abbr>' .. styles.h .. 'width="7.12%" title="Elemento"|<abbr title="Terra">Er</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Força"|<abbr title="Eletricidade">El</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Força"|<abbr title="Nuclear">Nc</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Força"|<abbr title="Impacto">Bl</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Força"|<abbr title="Gravidade">Gr</abbr>' .. styles.h .. 'title="Luz"|<abbr title="Expel">Ex</abbr>' .. styles.h .. 'title="Luz"|<abbr title="Milagre">Mi</abbr>' .. styles.h .. 'style="background:#898989" title="Trevas"|<abbr title="Morte">De</abbr>' .. styles.h .. 'style="background:#898989" title="Trevas"|<abbr title="Maldição">Cu</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Trevas (Status Negativo)"|<abbr title="Nervo">Nr</abbr>' .. styles.h .. 'width="7.12%" title="Special"|<abbr title="Resistência a Hieroglyphein">???</abbr>\n|-\n' .. styles.statlow .. prop.fire .. styles.statlow .. prop.ice .. styles.statlow .. prop.wind .. styles.statlow .. prop.earth .. styles.statlow .. prop.elec .. styles.statlow .. prop.nuclear .. styles.statlow .. prop.blast .. styles.statlow .. prop.gravity .. styles.statlow .. prop.expel .. styles.statlow .. prop.miracle .. styles.statlow .. prop.death .. styles.statlow .. prop.curse .. styles.statlow .. prop.nerve .. styles.statlow .. prop.hiero .. '\n|}'
	end
	if (gameg == 'p2is' or gameg == 'p2ep') and (prop.atk or prop.def or prop.matk or prop.mdef or prop.str or prop.vit or prop.dex or prop.agl or prop.luc) then
		if gameg == 'p2is' then prop.dx_h = '|Destreza' else prop.dx_h = '|Técnica' end
		result = result .. styles.table2 .. styles.h .. 'title="Poder de Ataque Físico"|Atk' .. styles.h .. 'title="Defesa Física"|Def' .. styles.h .. 'title="Poder Mágico"|Matk' .. styles.h .. 'title="Defesa Mágica"|Mdef' .. styles.bart11 .. '324px' .. styles.bart12 .. '0.8"' .. styles.barh .. '|Força' .. styles.bard2 .. bar(styles.barc,prop.str,2.4,99) .. styles.barh .. '|Vitalidade' .. styles.bard2 .. bar(styles.barc,prop.vit,2.4,99) .. styles.barh .. prop.dx_h .. styles.bard2 .. bar(styles.barc,prop.dex,2.4,99) .. styles.barh .. '|Agilidade' .. styles.bard2 .. bar(styles.barc,prop.agl,2.4,99) .. styles.barh .. '|Sorte' .. styles.bard2 .. bar(styles.barc,prop.luc,2.4,99) .. '\n|}\n|-'
		if not prop.atk or prop.atk == '' then prop.atk = '?' end
		if not prop.def or prop.def == '' then prop.def = '?' end
		if not prop.matk or prop.matk == '' then prop.matk = '?' end
		if not prop.mdef or prop.mdef == '' then prop.mdef = '?' end
		result = result .. '\n|-\n' .. styles.statlow .. prop.atk .. styles.statlow .. prop.def .. styles.statlow .. prop.matk .. styles.statlow .. prop.mdef .. '\n|}'
	end
	if (gameg == 'smt3' or gameg == 'sh' or gameg == 'p2is' or gameg == 'p2ep' or gameg == 'pq' or gameg == 'ddsaga1' or gameg == 'ddsaga2') and (prop.resist or prop.block or prop.absorb or prop.reflect or prop.weak or prop.boost or prop.wild) then
		result = result .. styles.table2
		if not prop.resist then prop.resist = '-' end
		if not prop.block then prop.block = '-' end
		if not prop.absorb then prop.absorb = '-' end
		if not prop.reflect then prop.reflect = '-' end
		if not prop.weak then prop.weak = '-' else prop.weak = '<span style="color:#f22">' .. prop.weak .. '</span>' end
		result = result .. styles.h .. '|Reflete' .. styles.h .. '|Absorve' .. styles.h .. '|Anula' .. styles.h .. '|Resiste' .. styles.h .. '|Fraco'
		if prop.boost then
			result = result .. styles.h .. '|Boost'
		end
		result = result .. '\n|-\n' .. styles.statlow .. prop.reflect .. styles.statlow .. prop.absorb .. styles.statlow .. prop.block .. styles.statlow .. prop.resist .. styles.statlow .. prop.weak
		if prop.boost then
			result = result .. styles.statlow .. prop.boost
		end
		result = result .. '\n|}'
	end
	if (gameg == 'p2is' or gameg == 'p2ep') and (prop.sword or prop.pierce or prop.strike or prop.thrown or prop.rush or prop.fire or prop.water or prop.wind or prop.earth or prop.ice or prop.elec or prop.nuclear or prop.expel or prop.dark or prop.alm or prop.nerve or prop.mind) then
		result = result .. styles.table2
		if not prop.sword then prop.sword = '-' end
		if not prop.pierce then prop.pierce = '-' end
		if not prop.strike then prop.strike = '-' end
		if not prop.thrown then prop.thrown = '-' end
		if not prop.rush then prop.rush = '-' end
		if not prop.fire then prop.fire = '-' end
		if not prop.water then prop.water = '-' end
		if not prop.wind then prop.wind = '-' end
		if not prop.earth then prop.earth = '-' end
		if not prop.ice then prop.ice = '-' end
		if not prop.elec then prop.elec = '-' end
		if not prop.nuclear then prop.nuclear = '-' end
		if not prop.expel then prop.expel = '-' end
		if not prop.dark then prop.dark = '-' end
		if not prop.alm then prop.alm = '-' end
		if not prop.nerve then prop.nerve = '-' end
		if not prop.mind then prop.mind = '-' end
		if prop.etype == 'Fogo' then prop.Fi = '<span style="color:#8B668B">Fi</span>' else prop.Fi = 'Fi' end
		if prop.etype == 'Água' then prop.Wt = '<span style="color:#8B668B">Wt</span>' else prop.Wt = 'Wt' end
		if prop.etype == 'Vento' then prop.Wi = '<span style="color:#8B668B">Wi</span>' else prop.Wi = 'Wi' end
		if prop.etype == 'Terra' then prop.Er = '<span style="color:#8B668B">Er</span>' else prop.Er = 'Er' end
		if gameg == 'p2ep' then
			prop.name_Rn = 'title="Disparo"|Sh'
			prop.name_Hv = 'title="Ataque"|Ak'
			prop.name_El = 'title="Relâmpago"|Ln'
			prop.name_Li = 'title="Sagrado"|Ho'
		else
			prop.name_Rn = 'title="Distância"|Rn'
			prop.name_Hv = 'title="Devastação"|Hv'
			prop.name_El = 'title="Eletricidade"|El'
			prop.name_Li = 'title="Luz"|Li'
		end
		result = result .. styles.h .. 'title="Espada"|Sw' .. styles.h .. prop.name_Rn .. styles.h .. 'title="Golpe"|Sk' .. styles.h .. 'title="Arremesso"|Th' .. styles.h .. prop.name_Hv .. styles.h .. 'style="background:#8E283D" title="Fogo"|' .. prop.Fi .. styles.h .. 'style="background:#8E283D" title="Água"|' .. prop.Wt .. styles.h .. 'style="background:#8E283D" title="Vento"|' .. prop.Wi .. styles.h .. 'style="background:#8E283D" title="Earth"|' .. prop.Er .. styles.h .. 'title="Gelo"|Ic' .. styles.h .. prop.name_El .. styles.h .. 'title="Nuclear"|Nc' .. styles.h .. prop.name_Li .. styles.h .. 'title="Trevas"|Dk' .. styles.h .. 'title="Onipotente"|Al' .. styles.h .. 'title="Nervo"|Nr' .. styles.h .. 'title="Mente"|Mn\n|-\n'
		result = result .. styles.statlow .. prop.sword .. styles.statlow .. prop.pierce .. styles.statlow .. prop.strike .. styles.statlow .. prop.thrown .. styles.statlow .. prop.rush .. styles.statlow .. prop.fire .. styles.statlow .. prop.water .. styles.statlow .. prop.wind .. styles.statlow .. prop.earth .. styles.statlow .. prop.ice .. styles.statlow .. prop.elec .. styles.statlow .. prop.nuclear .. styles.statlow .. prop.expel .. styles.statlow .. prop.dark .. styles.statlow .. prop.alm .. styles.statlow .. prop.nerve .. styles.statlow .. prop.mind .. '\n|}'
	end
	if gameg == 'pq' and (prop.sword or prop.pierce or prop.strike or prop.fire or prop.water or prop.elec or prop.wind or prop.expel or prop.dark or prop.alm or prop.ko or prop.sleep or prop.panic or prop.poison or prop.paralyze or prop.down or prop.stbind or prop.mabind or prop.agbind) then
		result = result .. styles.table2
		if not prop.sword then prop.sword = '-' end
		if not prop.pierce then prop.pierce = '-' end
		if not prop.strike then prop.strike = '-' end
		if not prop.fire then prop.fire = '-' end
		if not prop.ice then prop.ice = '-' end
		if not prop.elec then prop.elec = '-' end
		if not prop.wind then prop.wind = '-' end
		if not prop.expel then prop.expel = '-' end
		if not prop.dark then prop.dark = '-' end
		if not prop.alm then prop.alm = '-' end
		if not prop.sleep then prop.sleep = '-' end
		if not prop.panic then prop.panic = '-' end
		if not prop.poison then prop.poison = '-' end
		if not prop.curse then prop.curse = '-' end
		if not prop.paralyze then prop.paralyze = '-' end
		if not prop.stbind then prop.stbind = '-' end
		if not prop.mabind then prop.mabind = '-' end
		if not prop.agbind then prop.agbind = '-' end
		if not prop.down then prop.down = '-' end
		if not prop.ko then prop.ko = '-' end
		result = result .. styles.h .. '|Cut' .. styles.h .. '|Stab' .. styles.h .. '|Bash' .. styles.h .. '|Fogo' .. styles.h .. '|Gelo' .. styles.h .. 'title="Eletricidade"|Elec' .. styles.h .. '|Vento' .. styles.h .. '|Luz' .. styles.h .. '|Trevas' .. styles.h .. 'title="Onipotente"|Alm\n|-\n' .. styles.statlow .. prop.sword .. styles.statlow .. prop.pierce .. styles.statlow .. prop.strike .. styles.statlow .. prop.fire .. styles.statlow .. prop.ice .. styles.statlow .. prop.elec .. styles.statlow .. prop.wind .. styles.statlow .. prop.expel .. styles.statlow .. prop.dark .. styles.statlow .. prop.alm .. '\n|}'
		result = result .. styles.table2 .. styles.h .. '|Sono' .. styles.h .. '|Panic' .. styles.h .. '|Envenenamento' .. styles.h .. '|Maldição' .. styles.h .. '|Paralysis' .. styles.h .. 'title="Strength Bind"|St Bind' .. styles.h .. 'title="Magia Bind"|Ma Bind' .. styles.h .. 'title="Agility Bind"|Ag Bind' .. styles.h .. '|Down' .. styles.h .. 'title="Instant Kill"|KO\n|-' .. styles.statlow .. prop.sleep .. styles.statlow .. prop.panic .. styles.statlow .. prop.poison .. styles.statlow .. prop.curse .. styles.statlow .. prop.paralyze .. styles.statlow .. prop.stbind .. styles.statlow .. prop.mabind .. styles.statlow .. prop.agbind .. styles.statlow .. prop.down .. styles.statlow .. prop.ko .. '\n|}'
	end
	if prop.restype then
		if (gameg == 'mt1' or gameg == 'mt2') then
			gameg = 'kmt'
			result = result .. styles.table2 .. styles.h .. 'title="Espada"|Swd' .. styles.h .. 'title="Arma de Fogo"|Gun' .. styles.h .. 'title="Fogo"|Fir' .. styles.h .. 'title="Gelo"|Ice' .. styles.h .. 'title="Eletricidade"|Elc' .. styles.h .. 'title="Expel"|Exp' .. styles.h .. 'title="Força"|For' .. styles.h .. 'title="Bind"|Bnd' .. styles.h .. 'title="Maldição"|Crs' .. styles.h .. 'title="Nervo"|Nrv' .. styles.h .. 'title="Mente"|Mnd\n|-'
		elseif game == 'smt1' then
			result = result .. styles.table2 .. styles.h .. 'title="Espada"|Swd' .. styles.h .. 'title="Arma de Fogo"|Gun' .. styles.h .. 'title="Fogo"|Fir' .. styles.h .. 'title="Gelo"|Ice' .. styles.h .. 'title="Eletricidade"|Elc' .. styles.h .. 'title="Força"|For' .. styles.h .. 'title="Nervo"|Nrv' .. styles.h .. 'title="Expel"|Exp' .. styles.h .. 'title="Maldição"|Crs' .. styles.h .. 'title="Mágico"|Mgc' .. styles.h .. 'title="Bind"|Bnd' .. styles.h .. 'title="Investida"|Chg' .. styles.h .. 'title="Dex"|Dex' .. styles.h .. 'title="Agulha"|Ndl' .. styles.h .. 'title="Onipotente"|Alm\n|-'
		elseif game == 'smt2' or game == 'smtif' then
			result = result .. styles.table2 .. styles.h .. 'title="Espada"|Swd' .. styles.h .. 'title="Arma de Fogo"|Gun' .. styles.h .. 'title="Fogo"|Fir' .. styles.h .. 'title="Gelo"|Ice' .. styles.h .. 'title="Eletricidade"|Elc' .. styles.h .. 'title="Força"|For' .. styles.h .. 'title="Nervo"|Nrv' .. styles.h .. 'title="Expel"|Exp' .. styles.h .. 'title="Maldição"|Crs' .. styles.h .. 'title="Mágico"|Mgc' .. styles.h .. 'title="Bind"|Bnd' .. styles.h .. 'title="Investida"|Rsh' .. styles.h .. 'title="Técnicas de Mão/Soco"|Hnd' .. styles.h .. 'title="Técnicas de Perna/Chute"|Leg' .. styles.h .. 'title="Técnicas de Voo/Arremesso"|Fly' .. styles.h .. 'title="Onipotente"|Alm\n|-'
		elseif game == 'p1' then
			result = result .. styles.table2 .. '\n!style="background:#a9a9a9" title="Armas" colspan="8"|\n!title="Armas de Fogo" style="background:#898989" colspan="4"|\n!style="background:#a9a9a9" title="Devastação" colspan="2"|\n|-' .. styles.h .. 'title="Armas"|<abbr title="Espada de uma mão">1h</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Espada de duas mãos">2h</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Lança">Sp</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Machado">Ax</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Chicote">Wp</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Arremesso">Th</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Flechas">Ar</abbr>' .. styles.h .. 'title="Armas"|<abbr title="Punho">Fs</abbr>' .. styles.h .. 'title="Armas de Fogo" style="background:#898989;width:7.12%"|<abbr title="Pistola">HG</abbr>' .. styles.h .. 'title="Armas de Fogo" style="background:#898989;width:7.12%"|<abbr title="Metralhadora">MG</abbr>' .. styles.h .. 'title="Armas de Fogo" style="background:#898989;width:7.12%"|<abbr title="Escopeta">SG</abbr>' .. styles.h .. 'title="Armas de Fogo" style="background:#898989;width:7.12%"|<abbr title="Rifle">Ri</abbr>' .. styles.h .. 'title="Devastação"|<abbr title="Técnica">Te</abbr>' .. styles.h .. 'title="Devastação"|<abbr title="Investida">Ru</abbr>\n|-'
		elseif game == 'p2is' or game == 'p2ep' then
			if prop.etype == 'Fogo' then prop.Fi = '<span style="color:#8B668B">Fi</span>' else prop.Fi = 'Fi' end
			if prop.etype == 'Água' then prop.Wt = '<span style="color:#8B668B">Wt</span>' else prop.Wt = 'Wt' end
			if prop.etype == 'Vento' then prop.Wi = '<span style="color:#8B668B">Wi</span>' else prop.Wi = 'Wi' end
			if prop.etype == 'Terra' then prop.Er = '<span style="color:#8B668B">Er</span>' else prop.Er = 'Er' end
			if gameg == 'p2ep' then
				prop.name_Rn = 'title="Disparo"|Sh'
				prop.name_Hv = 'title="Ataque"|Ak'
				prop.name_El = 'title="Relâmpago"|Ln'
				prop.name_Li = 'title="Sagrado"|Ho'
			else
				prop.name_Rn = 'title="Distância"|Rn'
				prop.name_Hv = 'title="Devastação"|Hv'
				prop.name_El = 'title="Eletricidade"|El'
				prop.name_Li = 'title="Luz"|Li'
			end
			result = result .. styles.table2 .. styles.h .. 'title="Espada"|Sw' .. styles.h .. prop.name_Rn .. styles.h .. 'title="Golpe"|Sk' .. styles.h .. 'title="Arremesso"|Th' .. styles.h .. prop.name_Hv .. styles.h .. 'style="background:#8E283D" title="Fogo"|' .. prop.Fi .. styles.h .. 'style="background:#8E283D" title="Água"|' .. prop.Wt .. styles.h .. 'style="background:#8E283D" title="Vento"|' .. prop.Wi .. styles.h .. 'style="background:#8E283D" title="Terra"|' .. prop.Er .. styles.h .. 'title="Gelo"|Ic' .. styles.h .. prop.name_El .. styles.h .. 'title="Nuclear"|Nc' .. styles.h .. prop.name_Li .. styles.h .. 'title="Trevas"|Dk' .. styles.h .. 'title="Onipotente"|Al' .. styles.h .. 'title="Nervo"|Nr' .. styles.h .. 'title="Mente"|Mn\n|-'
		end
		if require('Module:Skills/' .. gameg .. '/res').restypes[prop.restype] == nil then
			result = result .. '\n|colspan=16 align=center style="color:#f00;font-size:120%;font-weight:bold"|Invalid value of "' .. prop.restype .. '" for restype. Correct value or edit [[Module:Skills/' .. gameg .. '/res]].'
		else
			for i, v in ipairs(require('Module:Skills/' .. gameg .. '/res').restypes[prop.restype]) do
				if game == 'p1' then
					if i > 14 then break end
					result = result .. resoutput(v,4,gameg)
				elseif game == 'p2is' or game == 'p2ep' then
					result = result .. resoutput(v,4,gameg)
				else
					result = result .. resoutput(v,8,gameg)
				end
			end
		end
		result = result .. '\n|}'
		if game == 'p1' then
			result = result .. styles.table2 .. '\n|-\n!style="background:#a9a9a9" title="Elemento" colspan="4"|\n!style="background:#898989" title="Força" colspan="4"|\n!style="background:#a9a9a9" title="Luz" colspan="2"|\n!style="background:#898989" title="Trevas" colspan="3"|\n!style="background:#a9a9a9" title="Especial" colspan="1"|\n|-' .. styles.h .. 'width="7.12%" title="Elemento"|<abbr title="Fogo">Fi</abbr>' .. styles.h .. 'width="7.12%" title="Elemento"|<abbr title="Gelo">Ic</abbr>' .. styles.h .. 'width="7.12%" title="Elemento"|<abbr title="Vento">Wi</abbr>' .. styles.h .. 'width="7.12%" title="Elemento"|<abbr title="Terra">Er</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Força"|<abbr title="Eletricidade">El</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Força"|<abbr title="Nuclear">Nc</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Força"|<abbr title="Impacto">Bl</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Força"|<abbr title="Gravidade">Gr</abbr>' .. styles.h .. 'title="Luz"|<abbr title="Expel">Ex</abbr>' .. styles.h .. 'title="Luz"|<abbr title="Milagre">Mi</abbr>' .. styles.h .. 'style="background:#898989" title="Trevas"|<abbr title="Morte">De</abbr>' .. styles.h .. 'style="background:#898989" title="Trevas"|<abbr title="Maldição">Cu</abbr>' .. styles.h .. 'style="background:#898989;width:7.12%" title="Trevas (Status Negativo)"|<abbr title="Nervo">Nr</abbr>' .. styles.h .. 'width="7.12%" title="Especial"|<abbr title="Resistência a Hieroglyphein">???</abbr>\n|-'
			for i , v in ipairs(require('Module:Skills/' .. gameg .. '/res').restypes[prop.restype]) do
				if i < 15 then
				else
					result = result .. resoutput(v,4,gameg)
				end
			end
			result = result .. '\n|}'
		end
	end
	if gameg == 'p2is' or gameg == 'p2ep' then
		if prop.card or prop.material or prop.type1 or prop.type2 or prop.type3 then
			result = result .. styles.table2 ..  styles.h .. 'colspan=4|Summon Information\n|-'
			if prop.material then
				result = result .. styles.skill .. '[[Carta Material|' .. styles.spanc .. 'Carta Material</span>]]' .. styles.effect1 .. 'Carta [[File:Material_Card_Icon_(P2ISP).png|alt=|link=]] <span style="color:yellow;font-weight:bold">' .. prop.material .. '</span>'
			end
			if prop.card then
				result = result .. styles.skillc .. '[[Carta de Tarô|' .. styles.spanc .. 'Cartas de Tarô</span>]]' .. styles.effect1 .. '<span style="color:yellow;font-weight:bold">' .. prop.card .. ' [[File:Tarot_Card_Symbol_2.png|alt=|link=]] ' .. prop.arcana .. '</span> Cartas'
			end
			local effect1
			if prop.material then
				effect1 = '\n|colspan=3 style="background:#222;text-align:left"|'
			else
				effect1 = styles.effect1
			end
			if prop.type1 then
				result = result .. styles.skill .. prop.type1 .. effect1 .. prop.desc1
			end
			if prop.type2 then
				result = result .. styles.skill .. prop.type2 .. effect1 .. prop.desc2
			end
			if prop.type3 then
				result = result .. styles.skill .. prop.type3 .. effect1 .. prop.desc3
			end
			result = result .. '\n|}'
		end
	end
	if gameg == 'smt3' and (prop.recruit~='' or prop.obtain~='' or prop.evolvef or prop.evolvet or prop.fusion) then
		prop.recruit = prop.recruit:lower()
		if prop.recruit == 'yes' or prop.recruit == 'recruit' then prop.recruit = '<abbr title="Pode ser recrutado em batalhas normais ou obtido de fusões convencionais.">Recrutamento normal ou fusão</abbr>'
		elseif prop.recruit == 'dark recruit' then prop.recruit = '<abbr title="Pode ser obtido através de fusões convencionais ou recrutado em batalhas normais sob Kagutsuchi Cheia com uma boa possiblidade.">Recrutamento sob [[Sistema de Fase da Lua#Shin Megami Tensei III: Nocturne|Kagutsuchi Cheia]] ou [[fusão]]</abbr>'
		elseif prop.recruit == 'Trevas' then prop.recruit = '<abbr title="Só pode ser obtido através de fusão. Aberto a conversas de não-recrutamento em batalhas normais.">Apenas [[Fusão]]. Aberto à negociação.</abbr>'
		elseif prop.recruit == 'fusion' then prop.recruit = '<abbr title="Só pdoe ser obtido através de fusões convencionais.">Apenas [[fusão]]</abbr>'
		elseif prop.recruit == 'special' or prop.recruit == 'special fusion' then prop.recruit = '<abbr title="Só pode ser obtida através de fusão especial.">Apenas [[Fusão Especial#Shin Megami Tensei III: Nocturne|Fusão Especial]]</abbr>'
		elseif prop.recruit == 'evolve' or prop.recruit == 'evolution' then prop.recruit = '<abbr title="Só pode ser obtido através da evolução de outro demônio.">Apenas [[Evolução#Shin Megami Tensei III: Nocturne|Evolução]]</abbr>'
		elseif prop.recruit == 'evolve neutral' or prop.recruit == 'neutral evolution' then prop.recruit = '<abbr title="Pode ser recrutado em batalhas normais ou obtido através da evolução de outro demônio. Não pode ser criado através de fusão.">Recrutamento normal ou [[Evolução#Shin Megami Tensei III: Nocturne|Evolução]]</abbr>'
		elseif prop.recruit == 'evolve dark' or prop.recruit == 'dark evolution' then prop.recruit = '<abbr title="Só pode ser obtido através da evolução de outro demônio. Não pode ser criado através de fusão. Aberto a conversas de não-recrutamento em batalhas normais.">Apenas [[Evolução#Shin Megami Tensei III: Nocturne|Evolução]]. Aberto à negociação.</abbr>'
		elseif prop.recruit == 'boss fusion' then prop.recruit = '<abbr title="Só pode ser obtido através de fusão após derrotá-lo em batalha de chefe.">Apenas [[fusão]] após batalha de chefe</abbr>'
		elseif prop.recruit == 'boss special' or prop.recruit == 'boss special fusion' then prop.recruit = '<abbr title="Só pode ser obtido através de fusão especial após derrotá-lo em batalha de chefe.">Apenas [[Fusão Especial#Shin Megami Tensei III: Nocturne|Fusão Especial]] após batalha de chefe</abbr>'
		elseif prop.recruit == 'boss evolve' or prop.recruit == 'boss evolution' then prop.recruit = '<abbr title="Só pode ser obtido através da evolução após derrotá-lo em batalha.">Apenas [[Evolução#Shin Megami Tensei III: Nocturne|Evolução]] após batalha de chefe</abbr>'
		elseif prop.recruit == 'dark boss fusion' then prop.recruit = '<abbr title="Só pode ser obtido através de fusão após derrotá-lo em batalha de chefe. Aberto a conversas de não-recrutamento em batalhas normais.">Apenas [[Fusão]] após batalha de chefe. Aberto à negociação.</abbr>'
		elseif prop.recruit == 'dark boss special fusion' then prop.recruit = '<abbr title="Só pode ser obtido através de fusão especial após derrotá-lo em batalha de chefe. Aberto a conversas de não-recrutamento em batalhas normais.">Apenas [[Fusão Especial#Shin Megami Tensei III: Nocturne|Fusão Especial]] após batalha de chefe. Aberto à negociação.</abbr>'
		elseif prop.recruit == 'dark boss evolve' then prop.recruit = '<abbr title="Só pode ser obtido através da evolução após derrotá-lo em batalha. Aberto a conversas de não-recrutamento em batalhas normais.">Apenas [[Evolução#Shin Megami Tensei III: Nocturne|Evolução]] após batalha de chefe. Aberto à negociação.</abbr>'
		elseif prop.recruit == 'samael' then prop.recruit = '<abbr title="Só pode ser obtido através de fusão especial após derrotá-lo em batalha de chefe ou escolher a Razão de Shijima após se encontrar com Ahriman na Torre Kagutsuchi.">Escolher a Razão de Shijima ou realizar [[Fusão Especial#Shin Megami Tensei III: Nocturne|fusão especial]] após batalha de chefe.</abbr>'
		elseif prop.recruit == 'thor' then prop.recruit = '<abbr title="Só pode ser obtido através de fusão após o derrotar na Torre de Kagutsuchi.">Apenas [[Fusão]] após batalha de chefe na [[Torre de Kagutsuchi]]</abbr>'
		elseif prop.recruit == 'bishamon' then prop.recruit = '<abbr title="Só pode ser obtido através de fusão após derrotálo no Santuário Bandou.">Apenas [[Fusão]] após batalha de chefe no [[Santuário Bandou]]</abbr>'
		elseif prop.recruit == 'futomimi' or prop.recruit == 'sakahagi' then prop.recruit = 'Apenas [[Fusão]] após batalha de chefe e completar uma missão secundária.'
		elseif prop.recruit == 'raidou' or prop.recruit == 'dante' then prop.recruit = '<abbr title="Só pode ser recrutado na história.">Relacionado à história</abbr>'
		elseif prop.recruit == 'unique' or prop.recruit == 'exclusive' or prop.recruit == 'enemy' or prop.recruit == 'enemy only' or prop.recruit == 'enemy exclusive' then prop.recruit = 'Apenas Inimigo'
		end
		if prop.recruit or prop.obtain or prop.convo then
			result = result .. styles.table2 .. styles.h
			if prop.recruit or prop.obtain then result = result .. 'width=80px|Obtível' .. styles.order .. prop.recruit .. prop.obtain end
			if prop.convo then result = result .. styles.h .. 'width=146px|[[Conversa Special|'..styles.spanc..'Conversa Special</span>]]' .. styles.order .. prop.convo end
			result = result .. '\n|}'
		end
		if prop.evolvef or prop.evolvet or prop.fusion then
			result = result .. styles.table2
			if prop.evolvef then result = result .. styles.h .. 'width=100px|[[Evolução#' .. gamegn .. '|' .. styles.spanc .. 'Evoluiu de</span>]]' .. styles.order .. prop.evolvef end
			if prop.evolvet then result = result .. styles.h .. 'width=100px|[[Evolução#' .. gamegn .. '|' .. styles.spanc .. 'Evolui em</span>]]' .. styles.order .. prop.evolvet end
			if prop.fusion then result = result .. styles.h .. 'width=100px|[[Fusão Especial#' .. gamegn .. '|' .. styles.spanc .. 'Fusão Especial</span>]]' .. styles.order .. prop.fusion end
			result = result .. '\n|}'
		end
	end
	local skill, alias, skillcell, skille, cost, effect, pre, range, power, target
	if prop.dskills then
		result = result .. styles.table2 .. styles.h .. 'colspan=3|[[Lista de Habilidades de ' .. gamegn .. '|' .. styles.spanc .. 'Habilidades Padrões</span>]]' .. styles.skill .. 'Habilidade' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Efeito'
		for k, v in ipairs(mw.text.split(prop.dskills, '\n')) do
			skill = data.skills[v]
			if not skill then
				alias = data.aliases[v]
				if alias then
					v = alias
					skill = data.skills[v]
				end
			end
			if v == '' then
				skillcell = ''
				cost = ''
				effect = noskill()
			elseif not skill then
				skillcell = ''
				cost = ''
				effect = noskill(v,gamed)
			elseif skill then
				cost = skill.cost
				effect = skill.effect
				if (k % 2 == 0) then
					cost = styles.cost2 .. cost
					effect = styles.effect2 .. effect
				else
					cost = styles.cost1 .. cost
					effect = styles.effect1 .. effect
				end
				if skill.name then v = skill.name end
				skillcell = styles.skill .. v
			end
			result = result .. skillcell .. cost .. effect
		end
		result = result .. '\n|}'
	end
	if prop.skills then
		result = result .. styles.table2h
		if game == 'mt1' or game == 'mt2' or game == 'kmt1' or game == 'kmt2' then
			result = result .. '"' .. styles.h .. 'colspan=4|[[List de Magias de Megami Tensei|' .. styles.spanc .. 'Lista de Magias</span>]]'
		elseif game == 'smtim' then
			result = result .. 'mw-collapsible mw-collapsed"' .. styles.h .. 'colspan=4|[[Lista de Habilidades de ' .. gamegn .. '|' .. styles.spanc .. 'Habilidades Aprendidas</span>]]'
		elseif gameg == 'smtsj' and not (prop.enemy or prop.boss) then
			result = result .. '"' .. styles.h .. 'colspan=3|[[Lista de Habilidades de ' .. gamegn .. '|' .. styles.spanc .. 'Habilidades Naturais</span>]]'
		elseif gameg == 'ab' then
			result = result .. '"' .. styles.h .. 'colspan=7|[[Lista de Habilidades de ' .. gamegn .. '#Magia|' .. styles.spanc .. 'Habilidades Naturais</span>]]'
		elseif gameg == 'majin1' then
			result = result .. '"' .. styles.h .. 'colspan=7|[[Lista de Habilidades de ' .. gamegn .. '|' .. styles.spanc .. 'Habilidades Mágicas</span>]]'
		elseif gameg == 'majin2' then
			result = result .. '"' .. styles.h .. 'colspan=6|[[Lista de Habilidades de ' .. gamegn .. '|' .. styles.spanc .. 'Lista de Habilidades</span>]]'
		elseif gameg == 'p5' then
			result = result .. '"\n!colspan=4 style="background-color: ' .. getGames.games[gameg].colorb .. ';background: linear-gradient(120deg, ' .. getGames.games[gameg].colorb .. ' 42%, #000 42.1%, #000 43%, #fff 43.1%, #fff 57%, #000 57.1%, #000 58%, ' .. getGames.games[gameg].colorb .. ' 58.1%"|[[Lista de Habilidades de ' .. gamegn .. '|<span style="color:black;text-shadow:-3px 3px 3px #0ff">Lista de Habilidades</span>]]'
		elseif gameg == 'desu1' or gameg == 'desu2' then
			result = result .. '"' .. styles.h .. 'colspan=3|[[Lista de Habilidades de ' .. gamegn .. '|' .. styles.spanc .. 'Command Skills</span>]]'
		else
			result = result .. '"' .. styles.h .. 'colspan=4|[[Lista de Habilidades de ' .. gamegn .. '|' .. styles.spanc .. 'Lista de Habilidades</span>]]'
		end
		if game == 'mt1' or game == 'mt2' or gameg == 'giten' or gameg == 'smtsj' or gameg == 'smtds' or gameg == 'sh' or gameg == 'childred' or gameg == 'childblack' or gameg == 'childps' or gameg == 'childblack' or gameg == 'childwhite' or gameg == 'childfire' or gameg == 'childice' or gameg == 'desu1' or gameg == 'desu2' then
			result = result .. '\n|-style="border:0"\n|style="padding:0;width:33%"|\n|style="padding:0;width:33%"|\n|style="padding:0;width:33%"|'
			for k, v in ipairs(mw.text.split(prop.skills, '\n')) do
				skill = data.skills[v]
				if not skill then
					alias = data.aliases[v]
					if alias then
						v = alias
						skill = data.skills[v]
					end
				end
				if v == '' or v == '-' or v == '--' then
					skillcell = ''
				elseif not skill then
					skillcell = styles.skill3 .. '"|' .. v
				else
					if skill.name then v = skill.name end
					skillcell = styles.skill3 .. '" title="Custo: ' .. skill.cost .. '; ' .. string.gsub(string.gsub(skill.effect, '%[%[', ''), '%]%]', '') .. '"|' .. v
				end
				if (k == 7) then
					if prop.boss or prop.enemy then
						result = result .. '\n|-' .. skillcell
					else
						result = result .. '\n|-' .. styles.skill3m .. skillcell .. styles.skill3m
					end
				elseif (k % 3 == 1) then
					result = result .. '\n|-' .. skillcell
				else
					result = result .. skillcell
				end
			end
		elseif gameg == 'majin2' then
			result = result .. styles.skill .. 'Habilidade' .. styles.skillc .. 'Poder' .. styles.skillc .. 'Distância' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Alvo' .. styles.skillc .. 'Efeito'
			for k, v in ipairs(mw.text.split(prop.skills, '\n')) do
				skill = data.skills[v]
				if not skill then
					alias = data.aliases[v]
					if alias then
						v = alias
						skill = data.skills[v]
					end
				end
				if v == '' then
					skillcell = ''
					power = ''
					range = ''
					cost = ''
					target = ''
					effect = noskill()
				elseif not skill then
					skillcell = ''
					power = ''
					range = ''
					cost = ''
					target = ''
					effect = noskill(v,gamed)
				elseif skill then
					if skill.cost == 'extra' then
						skill.cost = '<abbr title="Sem custo. Só pode ser usado uma vez até a próxima fase cheia da lua.">Extra</abbr>'
					elseif skill.cost == 'sextra' then
						skill.cost = '<abbr title="Sem custo. Poder relativo ao poder de ataque físico. Só pode ser usado uma vez até a próxima fase cheia da lua.">P. Extra</abbr>'
					elseif skill.cost == 'mextra' then
						skill.cost = '<abbr title="Sem custo. Poder relativo ao poder de ataque mágico. Só pode ser usado uma vez até a próxima fase cheia da lua.">M. Extra</abbr>'
					end
					if (k % 2 == 0) then
						power = styles.cost2 .. skill.power
						range = styles.cost2 .. skill.range
						cost = styles.cost2 .. skill.cost
						target = styles.cost2 .. skill.target
						effect = styles.effect2 .. skill.effect
					else
						power = styles.cost1 .. skill.power
						range = styles.cost1 .. skill.range
						cost = styles.cost1 .. skill.cost
						target = styles.cost1 .. skill.target
						effect = styles.effect1 .. skill.effect
					end
					if skill.name then v = skill.name end
					skillcell = styles.skill .. v
				end
				result = result .. skillcell .. power .. range .. cost .. target .. effect
			end
		elseif gameg == 'smt9' or gameg == '20xx' or gameg == 'lb3' or gameg == 'lbs' or gameg == 'ronde' or gameg == 'cs' then
			result = result .. '\n|-style="border:0"\n|style="padding:0;width:33%"|\n|style="padding:0;width:33%"|\n|style="padding:0;width:33%"|'
			for k, v in ipairs(mw.text.split(prop.skills, '\n')) do
				if v == '' or v == '-' or v == '--' then
					skillcell = ''
				else
					skillcell = styles.skill3 .. '"|' .. v
				end
				if (k == 7) then
					result = result .. '\n|-' .. styles.skill3m .. skillcell .. styles.skill3m
				elseif (k % 3 == 1) then
					result = result .. '\n|-' .. skillcell
				else
					result = result .. skillcell
				end
			end
		elseif (game == 'kmt1' and not (prop.enemy or prop.boss)) or (game == 'kmt2' and not (prop.enemy or prop.boss)) or (gameg == 'smt1' and not (prop.enemy or prop.boss)) or (gameg == 'smt2' and not (prop.enemy or prop.boss)) or (gameg == 'smtif' and not (prop.enemy or prop.boss)) or (gameg == 'smt3' and (prop.enemy or prop.boss)) or (gameg == 'smt4a' and prop.guest == '2')  or (game == 'lb1' and not (prop.enemy or prop.boss))  or (game == 'lb2' and not (prop.enemy or prop.boss)) then -- skill - cost - effect
			result = result .. styles.skill .. 'Habilidade' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Efeito'
			for k, v in ipairs(mw.text.split(prop.skills, '\n')) do
				skill = data.skills[v]
				if not skill then
					alias = data.aliases[v]
					if alias then
						v = alias
						skill = data.skills[v]
					end
				end
				if v == '' then
					skillcell = ''
					cost = ''
					effect = noskill()
				elseif not skill then
					skillcell = ''
					cost = ''
					effect = noskill(v,gamed)
				elseif skill then
					if skill.phy then cost = 'none' else cost = skill.cost end
					if gameg == 'p5' then
						if string.match(skill.cost, 'HP') then
							cost = '<span style="color:' .. getGames.games[gameg].hp2 .. '">' .. skill.cost .. '</span>' -- tints cyan for phys skill
						elseif string.match(skill.cost, 'SP') then
							cost = '<span style="color:' .. getGames.games[gameg].mp2 .. '">' .. skill.cost .. '</span>' -- tints pink for magic skill
						end
					end
					effect = skill.effect
					if (k % 2 == 0) then
						cost = styles.cost2 .. cost
						effect = styles.effect2 .. effect
					else
						cost = styles.cost1 .. cost
						effect = styles.effect1 .. effect
					end
					if skill.name then v = skill.name end
					skillcell = styles.skill .. v
				end
				result = result .. skillcell .. cost .. effect
			end
		elseif (gameg == 'smt4' and prop.guest == '2') or ((gameg == 'p1' or gameg == 'p2is' or gameg == 'p2ep' or gameg == 'p3' or gameg == 'p4') and prop.hp) or gameg == 'ddsaga1' or gameg == 'ddsaga2' or (gameg == 'pq' and prop.xp) or prop.boss or prop.enemy then -- skill - effect (optional: Inheritable Skill or Rumor Skill)
			result = result .. styles.skill .. 'Habilidade'  .. styles.skillc .. 'Efeito'
			for k1, v1 in ipairs(mw.text.split(prop.skills, '\n')) do
				for k2, v2 in ipairs(mw.text.split(v1 .. '\\', '\\')) do
					if k2 > 2 then break
					elseif (k2 % 2 == 1) then
						skill = data.skills[v2]
						if not skill then
							alias = data.aliases[v2]
							if alias then
								v2 = alias
								skill = data.skills[v2]
							end
						end
						if skill then
							if skill.combo then
								skill.effect = '<div style="background:' .. getGames.games[gameg].colorbg .. ';border-radius:5px;float:left;margin-right:5px">Combo</div> ' .. skill.effect
							elseif skill.smirk then
								skill.effect = skill.effect .. ' <span style="background:' .. getGames.games[gameg].statb .. ';border-radius:5px;padding:3px">Smirk</span> ' .. skill.smirk
							end
						end
						if v2 == '' then
							skillcell = ''
							effect = noskill()
						elseif not skill then
							skillcell = ''
							effect = noskill(v2,gamed)
						elseif skill then
							if (k1 % 2 == 0) then
								effect = styles.effect2 .. skill.effect
							else
								effect = styles.effect1 .. skill.effect
							end
							if skill.name then v2 = skill.name end
							skillcell = styles.skill .. v2
						end
						result = result .. skillcell .. effect
					elseif (k2 % 2 == 0) then
						if v2 == 'I' or v2 == 'i' then
							result = result .. '<div style="float:right;background:#696969;border-radius:15px;padding:0 10px">Habilidade Herdável</div>'
						elseif v2 == 'R' or v2 == 'r' then
							result = result .. '<div style="float:right;background:#8E283D;border-radius:15px;padding:0 10px">[[Misc Skills#Rumor Magic|<span style="color:#fff">Rumor Skill</span>]]</div>'
						else
							result = result
						end
					end
				end
			end
		elseif gameg == 'childlight' then -- skill - element - cost - effect
		result = result .. styles.skill .. 'Habilidade' .. styles.skillc .. 'Elemento' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Efeito'
			for k, v in ipairs(mw.text.split(prop.skills, '\n')) do
				skill = data.skills[v]
				if not skill then
					alias = data.aliases[v]
					if alias then
						v = alias
						skill = data.skills[v]
					end
				end
				if v == '' then
					skillcell = ''
					skille = ''
					cost = ''
					effect = noskill()
				elseif not skill then
					skillcell = ''
					skille = ''
					cost = ''
					effect = noskill(v,gamed)
				elseif skill then
					if (k % 2 == 0) then
						effect = styles.effect2 .. skill.effect
						skille = styles.cost2 .. skill.element
						cost = styles.cost2 .. skill.cost
					else
						effect = styles.effect1 .. skill.effect
						skille = styles.cost1 .. skill.element
						cost = styles.cost1 .. skill.cost
					end
					if skill.name then v = skill.name end
					skillcell = styles.skill .. v
				end
				result = result .. skillcell .. skille .. cost .. effect
			end
		else
			if gameg == 'smtim' or gameg == 'ab' or gameg == 'p1' or gameg == 'p2is' or gameg == 'p2ep' then -- rank - skill - cost - effect
				result = result .. styles.skill
				if gameg == 'smtim' then result = result .. 'Level' .. styles.skillc .. 'Habilidade' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Efeito'
				elseif gameg == 'ab' then result = result .. 'Level' .. styles.skillc .. 'Habilidade' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Distância' .. styles.skillc .. 'Poder' .. styles.skillc .. 'Alvo' .. styles.skillc .. 'Efeito'
				else result = result .. 'Rank' .. styles.skillc .. 'Habilidade' .. styles.skillc .. 'Efeito'
				end
				for k1, v1 in ipairs(mw.text.split(prop.skills, '\n')) do
					for k2, v2 in ipairs(mw.text.split(v1 .. '\\', '\\')) do
						if k2 > 2 then break
						elseif (k2 % 2 == 1) then
							if v2 == 'M' or v2 == 'm' then
								v2 = '[[Mutation|<span style="color:#fff">Mutation</span>]]'
							elseif v2 == 'R' or v2 == 'r' then
								v2 = '[[Misc Skills#Rumor Magic|<span style="color:#fff">Rumor</span>]]'
							else
								v2 = v2
							end
							result = result .. styles.skill .. v2
						elseif (k2 % 2 == 0) then
							skill = data.skills[v2]
							if not skill then
								alias = data.aliases[v2]
								if alias then
									v2 = alias
									skill = data.skills[v2]
								end
							end
							if v2 == '' then
								skillcell = ''
								cost = ''
								range = ''
								power = ''
								target = ''
								effect = noskill()
							elseif not skill then
								skillcell = ''
								cost = ''
								range = ''
								power = ''
								target = ''
								effect = noskill(v2,gamed)
							elseif skill then
								if (k1 % 2 == 0) then
									if gameg == 'smtim' or gameg == 'ab' then cost = styles.cost2 .. skill.cost else cost = '' end
									if gameg == 'ab' then
										range = styles.cost2 .. skill.range
										power = styles.cost2 .. skill.power
										target = styles.cost2 .. skill.target
									else
										range = ''
										power = ''
										target = ''
									end
									effect = styles.effect2 .. skill.effect
								else
									if gameg == 'smtim' or gameg == 'ab' then cost = styles.cost1 .. skill.cost else cost = '' end
									if gameg == 'ab' then
										range = styles.cost1 .. skill.range
										power = styles.cost1 .. skill.power
										target = styles.cost1 .. skill.target
									else
										range = ''
										power = ''
										target = ''
									end
									effect = styles.effect1 .. skill.effect
								end
								if skill.name then v2 = skill.name end
								skillcell = styles.skillc .. v2
							end
							result = result .. skillcell .. cost .. range .. power .. target .. effect
						end
					end
				end
		elseif gameg == 'majin1' then -- skill - cost - power - range - target - effect
		result = result .. styles.skill .. 'Habilidade' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Poder' .. styles.skillc .. 'Distância' .. styles.skillc .. 'Alvo' .. styles.skillc .. 'Efeito'
			for k, v in ipairs(mw.text.split(prop.skills, '\n')) do
				skill = data.skills[v]
				if not skill then
					alias = data.aliases[v]
					if alias then
						v = alias
						skill = data.skills[v]
					end
				end
				if v == '' then
					skillcell = ''
					cost = ''
					power = ''
					range = ''
					target = ''
					effect = noskill()
				elseif not skill then
					skillcell = ''
					cost = ''
					power = ''
					range = ''
					target = ''
					effect = noskill(v,gamed)
				elseif skill then
					if (k % 2 == 0) then
						cost = styles.cost2 .. skill.cost
						power = styles.cost2 .. skill.power
						range = styles.cost2 .. skill.range
						target = styles.cost2 .. skill.target
						effect = styles.effect2 .. skill.effect
					else
						cost = styles.cost1 .. skill.cost
						power = styles.cost1 .. skill.power
						range = styles.cost1 .. skill.range
						target = styles.cost1 .. skill.target
						effect = styles.effect1 .. skill.effect
					end
					if skill.name then v = skill.name end
					skillcell = styles.skill .. v
				end
				result = result .. skillcell .. cost .. power .. range .. target .. effect
			end
			else -- skill - cost - effect - level
				result = result .. styles.skill .. 'Habilidade'
				if not ((gameg == 'smt4' or gameg == 'smt4a') and prop.guest == '1') then
					result = result .. styles.skillc .. 'Custo' .. styles.skillc .. 'Efeito' .. styles.skillc .. 'Level'
				else
					result = result .. styles.skillc .. 'Efeito' .. styles.skillc .. 'Level'
				end
				for k1, v1 in ipairs(mw.text.split(prop.skills, '\n')) do -- Any entry on new line within "Skills" parameter is treated as new skill name.
					for k2, v2 in ipairs(mw.text.split(v1 .. '\\', '\\')) do -- Entry after backslash after skill name is treated as "level" for learning new skill per level gain. Any entry starting from second backslash on the same line is ignored until a new line.
						if k2 > 2 then break
						elseif (k2 % 2 == 1) then -- this checks level (false) or skill name (true) divided by the backslash.
							skill = data.skills[v2] -- now v2 represents skill name.
							if not skill then
								alias = data.aliases[v2]
								if alias then
									v2 = alias
									skill = data.skills[v2]
								end
							end
							if v2 == '' then
								skillcell = ''
								cost = ''
								effect = noskill()
							elseif not skill then
								skillcell = ''
								cost = ''
								effect = noskill(v2,gamed)
							elseif skill then
								if gameg == 'smt3' then
									if skill.cost == 'Convo' then
										cost = '<abbr title="Active conversational skill without HP or MP cost. Ineffective to Corpus, Haunt, Wilder, Foul, Light-tendency demons, bosses and all enemies in Labyrinth of Amala.">Convo</abbr>'
									elseif skill.cost == 'Interrupt' then
										cost = '<abbr title="Interruption skill is only triggered when certain conversational effect occurs.">Interrupt</abbr>'
									else cost = skill.cost
									end
								else cost = skill.cost
								end
								if gameg == 'p5' then
									if string.match(skill.cost, 'HP') then
										cost = '<span style="color:' .. getGames.games[gameg].hp2 .. '">' .. skill.cost .. '</span>' -- tints cyan for phys skill
									elseif string.match(skill.cost, 'SP') then
										cost = '<span style="color:' .. getGames.games[gameg].mp2 .. '">' .. skill.cost .. '</span>' -- tints pink for magic skill
									end
								end
								if skill.smirk then
									skill.effect = skill.effect .. ' <span style="background:' .. getGames.games[gameg].statb .. ';border-radius:5px;padding:3px">Smirk</span> ' .. skill.smirk
								end
								if (k1 % 2 == 0) then
									cost = styles.cost2 .. cost
									effect = styles.effect2 .. skill.effect
								else
									cost = styles.cost1 .. cost
									effect = styles.effect1 .. skill.effect
								end
								if skill.name then v2 = skill.name end
								skillcell = styles.skill .. v2
							end
							if not ((gameg == 'smt4' or gameg == 'smt4a') and prop.guest == '1') then
								result = result .. skillcell .. cost .. effect
							else
								result = result .. skillcell .. effect
							end
						elseif (k2 % 2 == 0) then -- this checks level (ture) or skill name (false) divided by the backslash.
							if v2 == 'i' or v2 == 'I' or v2 == 'innate' or v2 == 'default' or v2 == 'Default' -- now v2 represents skill level.
								then v2 = 'Innate'
							end
							if (k1 % 2 == 0) then -- this checks even (true) or odd (false) number row.
								result = result .. styles.cost2 .. v2 -- "v2" represents "Level" within "Skills" parameter on each new line after the backslash.
							else
								result = result .. styles.cost1 .. v2
							end
						end
					end
				end
			end
		end
		result = result .. '\n|}'
	end
	if prop.fskills then
		result = result .. styles.table2 .. styles.h .. 'colspan="5"'
		if gameg == 'p2is' or gameg == 'p2ep' then
			result = result .. '|[[Lista de de Magias de Fusão de ' .. gamegn .. '|' .. styles.spanc .. 'Unique Fusion Spells</span>]]' .. styles.skill .. 'Skill'  .. styles.skillc .. 'Effect' .. styles.skillc .. 'Order/Skill/Persona'
			for k, v in ipairs(mw.text.split(prop.fskills, '\n')) do
				skill = data.skills[v]
				if not skill then
					alias = data.aliases[v]
					if alias then
						v = alias
						skill = data.skills[v]
					end
				end
				if v == '' then
					skillcell = ''
					cost = ''
					effect = noskill()
				elseif not skill then
					skillcell = ''
					cost = ''
					effect = noskill(v,gamed)
				elseif skill then
					if (k % 2 == 0) then
						effect = styles.effect2 .. skill.effect
					else
						effect = styles.effect1 .. skill.effect
					end
					if skill.name then v = skill.name end
					skillcell = styles.skill .. v
					cost = styles.order .. skill.cost
				end
				result = result .. skillcell .. effect .. cost
			end
		elseif gameg == 'p3' then
			local cost, effect, pre
			if not data.skills[prop.fskills] then
				cost = ''
				effect = noskill(prop.fskills,gamed)
				pre = ''
				fskills = ''
			else
				cost = styles.cost1 .. data.skills[prop.fskills].cost
				effect = styles.effect1 .. data.skills[prop.fskills].effect
				pre = styles.cost1 .. data.skills[prop.fskills].pre
				prop.fskills = styles.skill .. prop.fskills
			end
			result = result .. '|[[Lista de Habilidades de Persona 3#Magias de Fusão|' .. styles.spanc .. 'Magia de Fusão</span>]] <abbr title="Apenas Persona 3 e FES; Portable usa itens e não requer que os Personas participantes estejam em estoque">*</abbr>' .. styles.skill .. 'Habilidade'  .. styles.skillc .. 'Custo' .. styles.skillc .. 'Efeito' .. styles.skillc .. '<abbr title="Apenas Persona 3 e FES">Pré-requisito</abbr>' .. prop.fskills .. cost .. effect .. pre
		elseif gameg == 'childlight' then
			result = result .. '|[[Lista de Habilidades de DemiKids Light/Dark Version#Combos|' .. styles.spanc .. 'Combos</span>]]' .. styles.skill .. 'Combo' .. styles.skillc .. 'Elemento' .. styles.skillc .. 'Custo' .. styles.skillc .. 'Effect' .. styles.skillc .. 'Parceiro'
			for k1, v1 in ipairs(mw.text.split(prop.fskills, '\n')) do
				for k2, v2 in ipairs(mw.text.split(v1 .. '\\', '\\')) do -- Entry after backslash after skill name is treated as "partner"
					if k2 > 2 then break
					elseif (k2 % 2 == 1) then -- this checks partner (false) or skill name (true) divided by the backslash.
						skill = data.skills[v2] -- now v2 represents skill name.
						if not skill then
							alias = data.aliases[v2]
							if alias then
								v2 = calias
								skill = data.skills[v2]
							end
						end
						if v2 == '' then
							skillcell = ''
							skille = ''
							cost = ''
							effect = noskill()
						elseif not skill then
							skillcell = ''
							skille = ''
							cost = ''
							effect = noskill(v2,gamed)
						elseif skill then
							skille = skill.element
							cost = skill.cost
							effect = skill.effect
							if (k1 % 2 == 0) then
								skille = styles.cost2 .. skille
								cost = styles.cost2 .. cost
								effect = styles.effect2 .. effect
							else
								skille = styles.cost1 .. skille
								cost = styles.cost1 .. cost
								effect = styles.effect1 .. effect
							end
							if skill.name then v2 = skill.name end
							skillcell = styles.skill .. v2
						end
						result = result .. skillcell .. skille .. cost .. effect
					elseif (k2 % 2 == 0) then -- this checks partner (ture) or skill name (false) divided by the backslash.
						if v2 == '' or not v2 then -- now v2 represents partner.
							v2 = ''
						end
						if (k1 % 2 == 0) then -- this checks even (true) or odd (false) number row.
							result = result .. styles.cost2 .. v2 -- "v2" represents "partner" within "Skills" parameter on each new line after the backslash.
						else
							result = result .. styles.cost1 .. v2
						end
					end
				end
			end
		end
		result = result .. '\n|}'
	end
	if prop.pskills then
		if gameg == 'smtsj' then
			result = result .. styles.table2 .. styles.h .. 'colspan=3|Habilidades D-Source'
		else
			result = result .. styles.table2 .. styles.h .. 'colspan=3|[[Lista de Habilidades de ' .. gamegn .. '#Habilidades Passivas|' .. styles.spanc .. 'Habilidades Passivas</span>]]'
		end
		result = result .. '\n|-style="border:0"\n|style="padding:0;width:33%"|\n|style="padding:0;width:33%"|\n|style="padding:0;width:33%"|'
		for k, v in ipairs(mw.text.split(prop.pskills, '\n')) do
			skill = data.skills[v]
			if not skill then
				alias = data.aliases[v]
				if alias then
					v = alias
					skill = data.skills[v]
				end
			end
			if v == '' or v == '-' or v == '--' then
				skillcell = ''
			elseif not skill then
				skillcell = styles.skill3 .. '"|' .. v
			else
				if skill.name then v = skill.name end
				skillcell = styles.skill3 .. '" title="Cost: ' .. skill.cost .. '; ' .. skill.effect .. '"|' .. v
			end
			if (k % 3 == 1) then
				result = result .. '\n|-' .. skillcell
			else
				result = result .. skillcell
			end
		end
		result = result .. '\n|}'
	end
	if (gameg == 'smtsj' or gameg == 'desu1' or gameg == 'desu2') and (prop.askills or prop.apskills) then
		if gameg == 'smtsj' then
			result = result .. styles.table2 .. styles.h .. 'colspan=3|Item Drops'
		else
			result = result .. styles.table2 .. styles.h .. 'colspan=3|List of Auction Skills'
		end
		result = result .. '\n|-style="border:0"\n|style="padding:0;width:33%"|\n|style="padding:0;width:33%"|\n|style="padding:0;width:33%"|'
		if prop.askills then
			for k, v in ipairs(mw.text.split(prop.askills, '\n')) do
				skill = data.skills[v]
				if not skill then
					alias = data.aliases[v]
					if alias then
						v = alias
						skill = data.skills[v]
					end
				end
				if v == '' or v == '-' or v == '--' then
					skillcell = ''
				elseif not skill then
					skillcell = styles.skill3 .. '"|' .. v
				else
					if skill.name then v = skill.name end
					skillcell = styles.skill3 .. '" title="Cost: ' .. skill.cost .. '; ' .. skill.effect .. '"|' .. v
				end
				if (k % 3 == 1) then
					result = result .. '\n|-' .. skillcell
				else
					result = result .. skillcell
				end
			end
		end
		if prop.apskills then
			for k, v in ipairs(mw.text.split(prop.apskills, '\n')) do
				skill = data.skills[v]
				if not skill then
					alias = data.aliases[v]
					if alias then
						v = alias
						skill = data.skills[v]
					end
				end
				if v == '' or v == '-' or v == '--' then
					skillcell = ''
				elseif not skill then
					skillcell = styles.skill3 .. '"|' .. v
				else
					if skill.name then v = skill.name end
					skillcell = styles.skill3 .. '" title="Cost: ' .. skill.cost .. '; ' .. skill.effect .. '"|' .. v
				end
				if (k % 3 == 1) then
					result = result .. '\n|-' .. skillcell
				else
					result = result .. skillcell
				end
			end
		end
		result = result .. '\n|}'
	end
	if gameg == 'p2ep' and prop.unknown then
		result = result .. styles.table2 .. styles.h .. 'colspan="2"|[[Unknown Power|' .. styles.spanc .. 'Unknown Power</span>]]' .. styles.skill
		prop.unknown = prop.unknown:lower()
		if prop.unknown == 'attack type' or prop.unknown == 'attack-type' or prop.unknown == 'attack' then
			result = result .. 'Attack Type' .. styles.cost1 .. 'Deals <abbr title="Equipper has ' .. "'Great'" .. ' affinity with the Persona">500</abbr> or <abbr title="Equipper has ' .. "'Good'" .. ' affinity with the Persona">250</abbr> non-elemental damage to all enemies.'
		elseif prop.unknown == 'defense type' or prop.unknown == 'defense-type' or prop.unknown == 'defense' then
			result = result .. 'Defense Type' .. styles.cost1 .. '<abbr title="Equipper has ' .. "'Great'" .. ' affinity with the Persona">Reflete</abbr> or <abbr title="Equipper has ' .. "'Good'" .. ' affinity with the Persona">nullifies</abbr> the incoming attack.'
		elseif prop.unknown == 'assist type' or prop.unknown == 'assist-type' or prop.unknown == 'assist' then
			result = result .. 'Assist Type' .. styles.cost1 .. 'Bestows Tarukaja + Makakaja <abbr title="Only applicable when the equipper has ' .. "'Great'" .. ' affinity with the Persona">(or Rakukaja + Samakaja in addition)</abbr>'
		elseif prop.unknown == 'recovery type' or prop.unknown == 'recovery-type' or prop.unknown == 'recovery' then
			result = result .. 'Recovery Type' .. styles.cost1 .. 'Fully recovers HP <abbr title="Only applicable when the equipper has ' .. "'Great'" .. ' affinity with the Persona">(or removes ailment in addition)</abbr>.'
		elseif prop.unknown == 'revival type' or prop.unknown == 'revival-type' or prop.unknown == 'revival' then
			result = result .. 'Revival Type' .. styles.cost1 .. 'Revives from unconscious with <abbr title="Equipper has ' .. "'Great'" .. ' affinity with the Persona">full</abbr> or <abbr title="Equipper has ' .. "'Good'" .. ' affinity with the Persona">1/4</abbr> HP.'
		elseif prop.unknown == 'special type' or prop.unknown == 'special-type' or prop.unknown == 'special' then
			result = result .. 'Special Type' .. styles.cost1 .. 'Eliminates all enemies when the user is unconscious.'
		end
		result = result .. '\n|}'
	end
	if gameg == 'childlight' and prop.power ~= '' then
		local pelement, peffect
		if not data.skills[prop.power] then
			prop.power = noskill(prop.power,gamed)
			pelement = ''
			peffect = ''
		else
			pelement = styles.cost1 .. data.skills[prop.power].element
			peffect = styles.effect1 .. data.skills[prop.power].effect
			prop.power = styles.skill .. prop.power
		end
		result = result .. styles.table2 .. styles.h .. 'colspan=3|[[Lista de Habilidades ' .. gamegn .. '##Poderes|' .. styles.spanc .. 'Poder</span>]]\n|-' .. styles.skill .. 'Poder' .. styles.skillc .. 'Tipo' .. styles.skillc .. 'Efeito' .. prop.power .. pelement .. peffect .. '\n|}'
	end
	if (gameg == 'desu1' or gameg == 'desu2') and (prop.quote or prop.profile) then
		result = result .. styles.table2
		if prop.quote then result = result .. styles.quote .. 'font-style:italic"|' .. string.gsub(prop.quote, '!!', '‼') end
		if prop.profile then result = result .. '\n|-' .. styles.quote .. 'font-style:italic"|' .. string.gsub(prop.profile, '!!', '‼') end
		result = result .. '\n|}'
	end
	if game == 'smtsj' and prop.profile then
		result = result .. styles.table2 .. styles.h .. '|Password' .. styles.quote .. 'font-weight:bold;font-family:Courier New,sans-serif;font-size:1.6em"|' .. prop.profile .. '\n|}'
	end
	result = result .. '\n|}'
	return result
end
 
p.row = makeInvokeFunction('_row')
 
function p._row(args)
	local row = args[1]
	local game = args[2]
	local code = args[3]
	if not code or code == '' then return '' end
	local level = args[4]
	if not level then level = '' end
	if level == 'i' or level == 'I' or level == 'innate' or level == 'default' or level == 'Default' then level = 'Innate' end
	local data = require('Module:Skills/' .. game)
	skill = data.skills[code]
	if not skill then
		alias = data.aliases[code]
		if alias then
			code = alias
			skill = data.skills[code]
		else 
			return noskill(code,game)
		end
	end
	if skill.name then code = skill.name end
	local skillcell = styles.skill .. code
	local cost = skill.cost
	if game == 'SMT3' then
		cost = '<abbr title="Ativa habilidade de conversa sem custa de HP ou MP. Inefetiva em demônios Corpus, Haunt, Wilder, Foul, com têndencia de Luz , chefes e todos inimigos no Labirinto de Amala.">Convo</abbr>'
	elseif skill.cost == 'Interrupt' then
		cost = '<abbr title="Habilidade de interrupção é apenas ativada quando certo efeito de conversa acontece.">Interrompe</abbr>'
	end
	local cost1 = '\n||' .. cost
	local cost2 = styles.cost2 .. cost
	local effect1 = styles.effect1 .. skill.effect
	local effect2 = styles.effect2 .. skill.effect
	local order = styles.order .. skill.cost
	local element1, element2
	if skill.element then
		element1 = '\n||' .. skill.element or ''
		element2 = styles.cost2 .. skill.element or ''
	end
	local level1, level2
	if skill.pre then
		level1 = '\n||' .. skill.pre
		level2 = styles.cost2 .. skill.pre
	elseif level == '' then
		level1 = '\n||'
		level2 = styles.cost2
	elseif level then
		level1 = '\n||' .. level
		level2 = styles.cost2 .. level
	end
	local result
	if row == 'r01' then
		result = skillcell .. effect1 -- Odd number row for enemy whose skill cost is irrelevant.
		elseif row == 'r02' then
		result = skillcell .. effect2 -- Even number row for enemy whose skill cost is irrelevant.
		elseif row == 'r11' then
			if game == 'SMT3' and skill.phy then
				result = skillcell .. styles.effect1p .. skill.effect -- Odd number row for enemy whose physical skills cost no HP.
				else result = skillcell .. cost1 .. effect1 -- Odd number row for demon which does not learn new skill on level gain.
			end
		elseif row == 'r12' then
			if game == 'SMT3' and skill.phy then
				result = skillcell .. styles.effect2p .. skill.effect -- Even number row for enemy whose physical skills cost no HP.
				else result = skillcell .. cost2 .. effect2 -- Even number row for demon which does not learn new skill on level gain.
			end
		elseif row == 'r21' then
		result = skillcell .. cost1 .. effect1 .. level1 -- Odd number row for demon/persona which learn new skill on level gain.
		elseif row == 'r22' then
		result = skillcell .. cost2 .. effect2 .. level2 -- Even number row for demon/persona which learn new skill on level gain.
		elseif row == 'r31' then
		result = skillcell .. effect1 .. level1 -- Odd number row for guest who learn new skill on level gain.
		elseif row == 'r32' then
		result = skillcell .. effect2 .. level2 -- Even number row for guest who learn new skill on level gain.
		elseif row == 'p12' then
		result = styles.skill .. level .. styles.skillc .. code .. effect1 -- Row for Persona 1 and 2 persona 
		elseif row == 'rf' then
		result = skillcell .. effect1 .. order -- Row for Persona-specific fusion spell.
		elseif row == 'dk1' then
		result = skillcell .. element1 .. cost1 .. effect1 -- Odd number row for DemiKids stats skill list.
		elseif row == 'dk2' then
		result = skillcell .. element2 .. cost2 .. effect2 -- Odd number row for DemiKids stats skill list.
		elseif row == 'dkc1' then
		result = skillcell .. level1 .. element1 .. cost1 .. effect1 -- Odd number row for DemiKids stats combo skill list.
		elseif row == 'dkc2' then
		result = skillcell .. level2 .. element2 .. cost2 .. effect2 -- Odd number row for DemiKids stats combo skill list.
		elseif row == 'dkp' then
		result = skillcell .. element2 .. effect2 -- row for DemiKids powers.
		else
		result = '<strong style="color:red;font-size:150%">Invalid parameter 1 of ' .. '"' .. row .. '".</strong>' .. cate('Templates with unrecognizable row value for Module:Skills')
	end
	return result
end
 
return p
--</pre>
--[[Category:Skills modules|!]]
--[[Category:Stat Templates|!]]