From StrategyWiki, the video game walkthrough and strategy guide wiki
Jump to navigation Jump to search

Documentation for this module may be created at Module:Pokemon/Wild/Documentation

local getArgs = require('Module:Arguments').getArgs

local p = {}
local rateCount = { Base = 1, Time = 3, DN = 2, Weather = 9, Season = 4 }

function p.row( frame )
	local args = getArgs( frame, { wrappers = 'Template:Pokemon/Wild row' } )
	local pokedex = mw.loadJsonData( 'Module:Pokemon/Pokedex.json' )
	
	local game = args[1] or 'red'
	local mode = args[2] or 'Base'
	local monNum = args[3] or '0'
	local level = args[4] or '-'
	local form = args['form'] and ' ' .. args['form'] or ''
	local formText = args['form'] and " (" .. args['form'] .. ")" or ''
	local rates = {}

	if monNum == '0' then
		return '|- class="t_pkmn_wild_blank"\n| colspan="12" | \n'
	end
	
	for i = 1, rateCount[mode] do
		rates[i] = args[4 + i] or ''
		if rates[i] == '' then
			rates[i] = '-'
		else
			rates[i] = rates[i] .. "%"
		end
	end
	
	if tonumber(monNum) >= 100 then monNum = tonumber(monNum) end
	local monName = pokedex[monNum]
	local bpLink = monName

	if args['bp'] then 
		bpLink = frame:expandTemplate{ title = 'bp', args = { monName } }
	end
	
	local row = {
		"|-\n",
		'| class="t_pkmn_wild_img" | ', '[[File:Pokemon ', game, ' ', monName, form, '.png|40x40px|', monName, ']]', '\n',
		'| class="t_pkmn_wild_name" | ', bpLink .. formText, '\n',
		'| ', level, '\n',
		'| ', table.concat(rates, ' || ')
	}

	return table.concat( row )
end

return p