From StrategyWiki, the video game walkthrough and strategy guide wiki
Jump to navigation Jump to search
m (better)
(Capture function now creates a table and shows all user inputs from the call)
Tags: Mobile edit Mobile web edit
Line 9: Line 9:
}
}


local function _capture( args )
local function _capture( args, frame )
    local game = args[1] or 'Pokémon Ranger'
    local monNum = args[2] or '0'
 
    if monNum == '0' then return '' end
 
     local guide = "Pokémon Ranger"
     local guide = "Pokémon Ranger"
    local monData = data[guide][monNum]
local root = mw.html.create( 'table' )
:addClass( 'wikitable mid-table' )
:css( 'text-align', 'center' )


    local row = {
local row = root:tag( 'tr' )
        "|-\n",
row:tag( 'th' ):wikitext( "Pokémon" )
        '| class="t_ranger_wild_img" | ', '[[File:', shortname[ guide ], ' ', monData.name, '.png|40x40px|', monData.name, ']]', '\n',
row:tag( 'th' ):wikitext( "Field Move" )
        '| class="t_ranger_wild_name" | ', monData.name, '\n',
row:tag( 'th' ):wikitext( "Poké Assist" )
        '| ', monData.loops, '\n',
row:tag( 'th' ):wikitext( "Loops" )
        '| ', monData.move, '\n',
        '| ', monData.assist, '\n',
    }


     return table.concat( row )
     local monData = {}
    local rows = ""
    local row = {}
    for i,v in ipairs(args) do
        monData = data[guide][v]     
        row = root:tag( 'tr' )
row:tag( 'td' ):wikitext( "[[File:" .. shortname[ guide ] .. ' ' .. monData.name .. ".png|" .. monData.name .. "]]" .. " " .. frame:expandTemplate{ title = 'bp', args = { monData.name } } )
if monData.move == "None" then
move = "None"
elseif monData.rating == "1" then
move = monData.move
else
move = monData.move .. " " .. monData.rating
end
row:tag( 'td' ):wikitext( "[[File:" .. shortname[ guide ] .. ' ' .. move .. ' ' .. "Icon" .. ".png|" .. move .. "]]")
row:tag( 'td' ):wikitext( monData.assist )
row:tag( 'td' ):wikitext( monData.loops )
end
return tostring( root )
 
end
end


Line 78: Line 92:
     local args = getArgs( frame, { wrappers = 'Template:Pokemon Ranger/Capture row' } )
     local args = getArgs( frame, { wrappers = 'Template:Pokemon Ranger/Capture row' } )
      
      
     return _capture( args )
     return _capture( args, frame )
end
end


return p
return p

Revision as of 20:23, 25 April 2024

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

local getArgs = require('Module:Arguments').getArgs
local data = mw.loadJsonData( 'Module:Pokemon Ranger/Browser.json' )

local p = {}
local shortname = {
	["Pokémon Ranger"] = "Pokemon Ranger",
	["Pokémon Ranger: Shadows of Almia"] = "Pokemon Ranger SoA",
	["Pokémon Ranger: Guardian Signs"] = "Pokemon Ranger GS",
}

local function _capture( args, frame )
    local guide = "Pokémon Ranger"
	local root = mw.html.create( 'table' )
					:addClass( 'wikitable mid-table' )
					:css( 'text-align', 'center' )

	local row = root:tag( 'tr' )
	row:tag( 'th' ):wikitext( "Pokémon" )
	row:tag( 'th' ):wikitext( "Field Move" )
	row:tag( 'th' ):wikitext( "Poké Assist" )
	row:tag( 'th' ):wikitext( "Loops" )

    local monData = {}
    local rows = ""
    local row = {}
    for i,v in ipairs(args) do
        monData = data[guide][v]      
        row = root:tag( 'tr' )
		row:tag( 'td' ):wikitext( "[[File:" .. shortname[ guide ] .. ' ' .. monData.name .. ".png|" .. monData.name .. "]]" .. " " .. frame:expandTemplate{ title = 'bp', args = { monData.name } } )		
		if monData.move == "None" then
			move = "None"
		elseif monData.rating == "1" then
			move = monData.move
		else
			move = monData.move .. " " .. monData.rating
		end
		row:tag( 'td' ):wikitext( "[[File:" .. shortname[ guide ] .. ' ' .. move .. ' ' .. "Icon" .. ".png|" .. move .. "]]")
		row:tag( 'td' ):wikitext( monData.assist )
		row:tag( 'td' ):wikitext( monData.loops )
	end
	
	return tostring( root )
   
end

function p.browser( frame )
	local guide = mw.title.getCurrentTitle().rootText 
	mons = data[ guide ]
	local root = mw.html.create( 'table' )
					:addClass( 'wikitable mid-table sortable' )
					:css( 'text-align', 'center' )

	local row = root:tag( 'tr' )
	row:tag( 'th' ):wikitext( "#" )
	row:tag( 'th' ):wikitext( "Image" )
	row:tag( 'th' ):wikitext( "Name" )
	row:tag( 'th' ):wikitext( "Group" )
	row:tag( 'th' ):wikitext( "Field Move" )
	row:tag( 'th' ):wikitext( "Poké Assist" )
	row:tag( 'th' ):wikitext( "Loops" )

	local nums = {}

	for k in pairs(mons) do
	    table.insert(nums, k)
	end
	table.sort(nums)

	for i = 1, #nums do
		local k, t = nums[i], mons[ nums[i] ]
		local row = root:tag( 'tr' )
		row:tag( 'td' ):wikitext( k ):css( 'line-height', '40px' )
		row:tag( 'td' ):wikitext( "[[File:" .. shortname[ guide ] .. ' ' .. t.name .. ".png|" .. t.name .. "]]" )
		row:tag( 'td' ):wikitext( frame:expandTemplate{ title = 'bp', args = { t.name } } ):css( 'text-align', 'left' )
		row:tag( 'td' ):wikitext( t.group )
		if t.move == "None" then
			move = "None"
		elseif t.rating == "1" then
			move = t.move
		else
			move = t.move .. " " .. t.rating
		end
		row:tag( 'td' ):wikitext( move )
		row:tag( 'td' ):wikitext( t.assist )
		row:tag( 'td' ):wikitext( t.loops )
	end
	
	return tostring( root )
end

function p.capture( frame )
    local args = getArgs( frame, { wrappers = 'Template:Pokemon Ranger/Capture row' } )
    
    return _capture( args, frame )
end

return p