Difference between revisions of "Module:RankTable"

From Tokyo Afterschool Summoners
Jump to navigation Jump to search
(rank table data)
 
(fixed ranks 90 to 100, added ranks 101 to 110)
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
--local inspect = require( 'Module:Inspect' )
local p = {}
local p = {}
local l, s, t, f, e = 'level', 'stamina', 'teamcost', 'friendlimit', 'expreq'
local s, t, f, e = 'stamina', 'teamcost', 'friendlimit', 'expreq'


p.RankData = {
[1] = { [s]=15, [t]=36, [f]=10, [e]=3 },
[2] = { [s]=15, [t]=37, [f]=11, [e]=5 },
[3] = { [s]=16, [t]=38, [f]=12, [e]=6 },
[4] = { [s]=17, [t]=39, [f]=13, [e]=12 },
[5] = { [s]=18, [t]=40, [f]=14, [e]=20 },
[6] = { [s]=19, [t]=41, [f]=15, [e]=25 },
[7] = { [s]=20, [t]=42, [f]=16, [e]=30 },
[8] = { [s]=21, [t]=43, [f]=17, [e]=45 },
[9] = { [s]=22, [t]=44, [f]=18, [e]=54 },
[10] = { [s]=23, [t]=45, [f]=19, [e]=70 },
[11] = { [s]=24, [t]=45, [f]=20, [e]=90 },
[12] = { [s]=25, [t]=46, [f]=20, [e]=110 },
[13] = { [s]=26, [t]=46, [f]=20, [e]=130 },
[14] = { [s]=27, [t]=47, [f]=20, [e]=150 },
[15] = { [s]=28, [t]=47, [f]=20, [e]=170 },
[16] = { [s]=29, [t]=48, [f]=20, [e]=190 },
[17] = { [s]=30, [t]=48, [f]=20, [e]=210 },
[18] = { [s]=31, [t]=49, [f]=20, [e]=230 },
[19] = { [s]=32, [t]=49, [f]=20, [e]=250 },
[20] = { [s]=33, [t]=50, [f]=20, [e]=280 },
[21] = { [s]=34, [t]=50, [f]=20, [e]=320 },
[22] = { [s]=35, [t]=50, [f]=20, [e]=360 },
[23] = { [s]=36, [t]=51, [f]=20, [e]=410 },
[24] = { [s]=37, [t]=51, [f]=20, [e]=460 },
[25] = { [s]=38, [t]=51, [f]=20, [e]=520 },
[26] = { [s]=39, [t]=52, [f]=20, [e]=580 },
[27] = { [s]=40, [t]=52, [f]=20, [e]=640 },
[28] = { [s]=41, [t]=52, [f]=20, [e]=700 },
[29] = { [s]=42, [t]=52, [f]=20, [e]=760 },
[30] = { [s]=43, [t]=52, [f]=20, [e]=820 },
[31] = { [s]=44, [t]=53, [f]=20, [e]=880 },
[32] = { [s]=45, [t]=53, [f]=20, [e]=940 },
[33] = { [s]=46, [t]=53, [f]=20, [e]=1000 },
[34] = { [s]=47, [t]=53, [f]=20, [e]=1060 },
[35] = { [s]=48, [t]=53, [f]=20, [e]=1120 },
[36] = { [s]=49, [t]=54, [f]=20, [e]=1180 },
[37] = { [s]=50, [t]=54, [f]=20, [e]=1240 },
[38] = { [s]=51, [t]=54, [f]=20, [e]=1300 },
[39] = { [s]=52, [t]=54, [f]=20, [e]=1420 },
[40] = { [s]=53, [t]=54, [f]=20, [e]=1540 },
[41] = { [s]=54, [t]=55, [f]=20, [e]=1660 },
[42] = { [s]=55, [t]=55, [f]=20, [e]=1780 },
[43] = { [s]=56, [t]=55, [f]=20, [e]=1900 },
[44] = { [s]=57, [t]=55, [f]=20, [e]=2050 },
[45] = { [s]=58, [t]=55, [f]=20, [e]=2280 },
[46] = { [s]=59, [t]=56, [f]=20, [e]=2500 },
[47] = { [s]=60, [t]=56, [f]=20, [e]=3000 },
[48] = { [s]=61, [t]=56, [f]=20, [e]=4000 },
[49] = { [s]=62, [t]=56, [f]=20, [e]=5500 },
[50] = { [s]=63, [t]=56, [f]=20, [e]=7000 },
[51] = { [s]=64, [t]=57, [f]=21, [e]=8500 },
[52] = { [s]=65, [t]=57, [f]=22, [e]=10000 },
[53] = { [s]=66, [t]=58, [f]=22, [e]=12000 },
[54] = { [s]=67, [t]=58, [f]=23, [e]=14000 },
[55] = { [s]=68, [t]=58, [f]=23, [e]=16500 },
[56] = { [s]=69, [t]=59, [f]=24, [e]=19500 },
[57] = { [s]=70, [t]=59, [f]=24, [e]=22500 },
[58] = { [s]=71, [t]=59, [f]=25, [e]=25500 },
[59] = { [s]=72, [t]=60, [f]=25, [e]=30500 },
[60] = { [s]=73, [t]=60, [f]=26, [e]=36000 },
[61] = { [s]=74, [t]=61, [f]=26, [e]=42000 },
[62] = { [s]=75, [t]=61, [f]=27, [e]=48000 },
[63] = { [s]=76, [t]=62, [f]=27, [e]=54500 },
[64] = { [s]=77, [t]=62, [f]=28, [e]=61000 },
[65] = { [s]=78, [t]=62, [f]=28, [e]=67500 },
[66] = { [s]=79, [t]=63, [f]=29, [e]=74000 },
[67] = { [s]=80, [t]=63, [f]=29, [e]=81000 },
[68] = { [s]=81, [t]=63, [f]=30, [e]=88000 },
[69] = { [s]=82, [t]=64, [f]=30, [e]=95000 },
[70] = { [s]=83, [t]=64, [f]=31, [e]=102000},
[71] = { [s]=84, [t]=65, [f]=31, [e]=109000},
[72] = { [s]=85, [t]=65, [f]=32, [e]=116000},
[73] = { [s]=86, [t]=66, [f]=32, [e]=123000},
[74] = { [s]=87, [t]=66, [f]=33, [e]=130000},
[75] = { [s]=88, [t]=66, [f]=33, [e]=137000},
[76] = { [s]=89, [t]=67, [f]=34, [e]=144000},
[77] = { [s]=90, [t]=67, [f]=34, [e]=151000},
[78] = { [s]=91, [t]=67, [f]=35, [e]=158000},
[79] = { [s]=92, [t]=68, [f]=35, [e]=167000},
[80] = { [s]=93, [t]=68, [f]=36, [e]=172000},
[81] = { [s]=94, [t]=68, [f]=36, [e]=180000},
[82] = { [s]=95, [t]=69, [f]=36, [e]=188000},
[83] = { [s]=96, [t]=69, [f]=36, [e]=196000},
[84] = { [s]=97, [t]=69, [f]=37, [e]=204000},
[85] = { [s]=98, [t]=70, [f]=37, [e]=212000},
[86] = { [s]=99, [t]=70, [f]=37, [e]=220000},
[87] = { [s]=100, [t]=70, [f]=37, [e]=230000},
[88] = { [s]=101, [t]=71, [f]=38, [e]=240000},
[89] = { [s]=102, [t]=71, [f]=38, [e]=250000},
[90] = { [s]=103, [t]=71, [f]=38, [e]=260000},
[91] = { [s]=104, [t]=72, [f]=38, [e]=275000},
[92] = { [s]=105, [t]=72, [f]=39, [e]=290000},
[93] = { [s]=106, [t]=72, [f]=39, [e]=305000},
[94] = { [s]=107, [t]=73, [f]=39, [e]=320000},
[95] = { [s]=108, [t]=73, [f]=39, [e]=335000},
[96] = { [s]=109, [t]=73, [f]=40, [e]=350000},
[97] = { [s]=110, [t]=74, [f]=40, [e]=365000},
[98] = { [s]=111, [t]=74, [f]=40, [e]=380000},
[99] = { [s]=112, [t]=74, [f]=40, [e]=400000},
[100] = { [s]=113, [t]=75, [f]=40, [e]=420000},
[101] = { [s]=114, [t]=75, [f]=41, [e]=450000},
[102] = { [s]=115, [t]=75, [f]=41, [e]=480000},
[103] = { [s]=116, [t]=75, [f]=41, [e]=510000},
[104] = { [s]=117, [t]=76, [f]=41, [e]=540000},
[105] = { [s]=118, [t]=76, [f]=41, [e]=570000},
[106] = { [s]=119, [t]=76, [f]=42, [e]=600000},
[107] = { [s]=120, [t]=76, [f]=42, [e]=640000},
[108] = { [s]=121, [t]=77, [f]=42, [e]=680000},
[109] = { [s]=122, [t]=77, [f]=42, [e]=720000},
[110] = { [s]=123, [t]=77, [f]=42, [e]=9999999},
}


p.LevelDataStructure = {
[l] = 1,
[s] = 15,
[t] = 36,
[f] = 10,
[e] = 0,
}


p.LevelData = {
local function formatInteger( number )
[1] = p.LevelDataStructure
if number == "-" then return number end
}


local i, j, minus, int, fraction = tostring( number ):find( '([-]?)(%d+)([.]?%d*)' )
int = int:reverse():gsub( "(%d%d%d)", "%1," )


-- Functions --
return minus .. int:reverse():gsub("^,", "") .. fraction
function p:AddLevelData( level, team, friend, expreq, stamdelt )
self.LevelData[ level ] = {
[l] = level,
[s] = self.LevelData[ level - 1 ][ s ] + ( stamdelt or 1 ) ,
[t] = team,
[f] = friend or self.LevelData[ level - 1 ][ f ],
[e] = expreq,
}
end
end
local function CheckEqualValues( tocheck, tosend )
if tocheck and ( tocheck == tosend ) then
return "-"
end


function p:AddLevelExp( level, expreq, teamdelt, stamdelt )
return tosend
self.LevelData[ level ] = {
[l] = level,
[s] = self.LevelData[ level - 1 ][ s ] + ( stamdelt or 1 ),
[t] = self.LevelData[ level - 1 ][ t ] + ( teamdelt or 0 ),
[f] = self.LevelData[ level - 1 ][ f ],
[e] = expreq,
}
end
end


function p:AddLevelExpLoop( levelstart, expreqs, teamgap )
function p.RankDataReturn( frame )
local gapcount = 0
local wiki_table =
[[
{| class="wikitable" style="width: 80%; text-align: center;"
! Rank
! Stamina
! Team Cost
! Friend Limit
! EXP Required<br>for Rank Up
! EXP in Total<br>from Rank Up
]]
local exptotal = 0
local preval = { [s]=1, [t]=1, [f]=1, [e]=1 }
 
for rank, tbl in ipairs( p.RankData ) do
local pxdevn = #p.RankData - 30
local pxmath = math.floor(math.max( 14, (rank - pxdevn) / (#p.RankData - pxdevn) * 26 ))


for i = 0, #expreqs-1 do
wiki_table = wiki_table ..
gapcount = gapcount - 1
[[
|- style="font-size: ]].. pxmath ..[[px;" |
| <b>]] .. rank .. [[</b>
| style="text-align: left;" | ]] .. CheckEqualValues( preval[s], tbl[s] ) .. [[
| style="text-align: left;" | ]] .. CheckEqualValues( preval[t], tbl[t] ) .. [[
| style="text-align: left;" | ]] .. CheckEqualValues( preval[f], tbl[f] ) .. [[
| style="text-align: left;" | ]] .. formatInteger(CheckEqualValues( preval[e], tbl[e] )) .. [[
| style="text-align: left;" | ]] .. formatInteger( exptotal ) .. [[
]]


if 0 >= gapcount then
preval = tbl
p:AddLevelExp( levelstart + i, expreqs[i+1], 1 )
exptotal = exptotal + tbl[e]
gapcount = teamgap
else
p:AddLevelExp( levelstart + i, expreqs[i+1], 0 )
end
end
end
end


-- Data --
wiki_table = wiki_table ..
[[
|- style="font-size: 26px;" |
| colspan="5" | Current EXP Total sum of all Ranks
| ]] .. formatInteger(exptotal) .. [[
]]


p:AddLevelData( 2, 37, 11, 5, 0 )
return wiki_table .. "\n\t\t" .. '|}' --inspect( p.RankData )
 
local expreqs = { 6, 12, 20, 25, 30, 45, 54, 70 }
for i = 0, #expreqs-1 do
p:AddLevelData( 3 + i, 38 + i, 12 + i, expreqs[i+1] )
end
end


-- p:AddLevelDataLoop( 2, { 5, 6, 12, 20, 25, 30, 45, 54, 70 }, 1, 1 )
return p
p:AddLevelData( 11, 45, 20, 90 )
p:AddLevelExpLoop( 12, { 110, 130, 150, 170, 190, 210, 230, 250 }, 2 ) --12, 19
p:AddLevelExpLoop( 20, { 280, 320, 360, 410, 460, 520 }, 3 ) --20, 25
p:AddLevelExpLoop( 26, {
580, 640, 700, 760, 820, --26, 30
880, 940, 1000, 1060, 1120, --31, 35
1180, 1240, 1300, 1420, 1540, --36, 40
1660, 1780, 1900, 2050, 2280, --41, 45
2500, 3000, 4000, 5500, 7000, --46, 50
}, 5 )
 
p:AddLevelData( 51, 57, 21, 8500 )
p:AddLevelData( 52, 57, 22, 10000 )
p:AddLevelData( 53, 58, 22, 12000 )
p:AddLevelData( 54, 58, 23, 14000 )
p:AddLevelExp( 55, 16500 )
p:AddLevelData( 56, 59, 24, 19500 )
p:AddLevelExp( 57, 22500 )
p:AddLevelData( 58, 59, 25, 22500 )
p:AddLevelExp( 59, 30500 )
p:AddLevelExp( 60, 36000 )
 
return p.LevelData

Latest revision as of 16:15, 18 September 2018

RankTable.lua

This module is for the only usage in https://wiki.housamo.xyz/Rank_Table.

Functions

Functions that RankTable.lua uses.

module.AddRankData

Argument Name Description Argument Default
level Rank level to add data to. N/A
team Team Cost that Rank will have. N/A
friend Friend Limit that Rank will have. From previously added data.
expreq Exp Requirement that Rank will require. N/A
stamdelt Delta of Stamina that Rank will receive. 1

module.AddRankExp

Argument Name Description Argument Default
level Rank level to add data to. N/A
expreq Exp Requirement that Rank will require. N/A
teamdelt Delta of Team Cost that Rank will receive. 0
stamdelt Delta of Stamina that Rank will receive. 1

module.AddRankExpLoop

Argument Name Description Argument Default
levelstart Rank level that will start for loop. N/A
expreqs LUA Table of all Exp Requirements the Ranks will require each. N/A
teamgap Gap from the team cost adding. Only deltas of 1. N/A

module.RankDataReturn

Returns a parsable wikitable format.

Editing the data

In order to add more rank data, you have to edit it from Module:RankTable.

Invoking the module and their functions will not do anything.


--local inspect = require( 'Module:Inspect' )

local p = {}
local s, t, f, e = 'stamina', 'teamcost', 'friendlimit', 'expreq'

p.RankData = {
	[1] = { [s]=15, [t]=36, [f]=10, [e]=3 },
	[2] = { [s]=15, [t]=37, [f]=11, [e]=5 },
	[3] = { [s]=16, [t]=38, [f]=12, [e]=6 },
	[4] = { [s]=17, [t]=39, [f]=13, [e]=12 },
	[5] = { [s]=18, [t]=40, [f]=14, [e]=20 },
	[6] = { [s]=19, [t]=41, [f]=15, [e]=25 },
	[7] = { [s]=20, [t]=42, [f]=16, [e]=30 },
	[8] = { [s]=21, [t]=43, [f]=17, [e]=45 },
	[9] = { [s]=22, [t]=44, [f]=18, [e]=54 },
	[10] = { [s]=23, [t]=45, [f]=19, [e]=70 },
	[11] = { [s]=24, [t]=45, [f]=20, [e]=90 },
	[12] = { [s]=25, [t]=46, [f]=20, [e]=110 },
	[13] = { [s]=26, [t]=46, [f]=20, [e]=130 },
	[14] = { [s]=27, [t]=47, [f]=20, [e]=150 },
	[15] = { [s]=28, [t]=47, [f]=20, [e]=170 },
	[16] = { [s]=29, [t]=48, [f]=20, [e]=190 },
	[17] = { [s]=30, [t]=48, [f]=20, [e]=210 },
	[18] = { [s]=31, [t]=49, [f]=20, [e]=230 },
	[19] = { [s]=32, [t]=49, [f]=20, [e]=250 },
	[20] = { [s]=33, [t]=50, [f]=20, [e]=280 },
	[21] = { [s]=34, [t]=50, [f]=20, [e]=320 },
	[22] = { [s]=35, [t]=50, [f]=20, [e]=360 },
	[23] = { [s]=36, [t]=51, [f]=20, [e]=410 },
	[24] = { [s]=37, [t]=51, [f]=20, [e]=460 },
	[25] = { [s]=38, [t]=51, [f]=20, [e]=520 },
	[26] = { [s]=39, [t]=52, [f]=20, [e]=580 },
	[27] = { [s]=40, [t]=52, [f]=20, [e]=640 },
	[28] = { [s]=41, [t]=52, [f]=20, [e]=700 },
	[29] = { [s]=42, [t]=52, [f]=20, [e]=760 },
	[30] = { [s]=43, [t]=52, [f]=20, [e]=820 },
	[31] = { [s]=44, [t]=53, [f]=20, [e]=880 },
	[32] = { [s]=45, [t]=53, [f]=20, [e]=940 },
	[33] = { [s]=46, [t]=53, [f]=20, [e]=1000 },
	[34] = { [s]=47, [t]=53, [f]=20, [e]=1060 },
	[35] = { [s]=48, [t]=53, [f]=20, [e]=1120 },
	[36] = { [s]=49, [t]=54, [f]=20, [e]=1180 },
	[37] = { [s]=50, [t]=54, [f]=20, [e]=1240 },
	[38] = { [s]=51, [t]=54, [f]=20, [e]=1300 },
	[39] = { [s]=52, [t]=54, [f]=20, [e]=1420 },
	[40] = { [s]=53, [t]=54, [f]=20, [e]=1540 },
	[41] = { [s]=54, [t]=55, [f]=20, [e]=1660 },
	[42] = { [s]=55, [t]=55, [f]=20, [e]=1780 },
	[43] = { [s]=56, [t]=55, [f]=20, [e]=1900 },
	[44] = { [s]=57, [t]=55, [f]=20, [e]=2050 },
	[45] = { [s]=58, [t]=55, [f]=20, [e]=2280 },
	[46] = { [s]=59, [t]=56, [f]=20, [e]=2500 },
	[47] = { [s]=60, [t]=56, [f]=20, [e]=3000 },
	[48] = { [s]=61, [t]=56, [f]=20, [e]=4000 },
	[49] = { [s]=62, [t]=56, [f]=20, [e]=5500 },
	[50] = { [s]=63, [t]=56, [f]=20, [e]=7000 },
	[51] = { [s]=64, [t]=57, [f]=21, [e]=8500 },
	[52] = { [s]=65, [t]=57, [f]=22, [e]=10000 },
	[53] = { [s]=66, [t]=58, [f]=22, [e]=12000 },
	[54] = { [s]=67, [t]=58, [f]=23, [e]=14000 },
	[55] = { [s]=68, [t]=58, [f]=23, [e]=16500 },
	[56] = { [s]=69, [t]=59, [f]=24, [e]=19500 },
	[57] = { [s]=70, [t]=59, [f]=24, [e]=22500 },
	[58] = { [s]=71, [t]=59, [f]=25, [e]=25500 },
	[59] = { [s]=72, [t]=60, [f]=25, [e]=30500 },
	[60] = { [s]=73, [t]=60, [f]=26, [e]=36000 },
	[61] = { [s]=74, [t]=61, [f]=26, [e]=42000 },
	[62] = { [s]=75, [t]=61, [f]=27, [e]=48000 },
	[63] = { [s]=76, [t]=62, [f]=27, [e]=54500 },
	[64] = { [s]=77, [t]=62, [f]=28, [e]=61000 },
	[65] = { [s]=78, [t]=62, [f]=28, [e]=67500 },
	[66] = { [s]=79, [t]=63, [f]=29, [e]=74000 },
	[67] = { [s]=80, [t]=63, [f]=29, [e]=81000 },
	[68] = { [s]=81, [t]=63, [f]=30, [e]=88000 },
	[69] = { [s]=82, [t]=64, [f]=30, [e]=95000 },
	[70] = { [s]=83, [t]=64, [f]=31, [e]=102000},
	[71] = { [s]=84, [t]=65, [f]=31, [e]=109000},
	[72] = { [s]=85, [t]=65, [f]=32, [e]=116000},
	[73] = { [s]=86, [t]=66, [f]=32, [e]=123000},
	[74] = { [s]=87, [t]=66, [f]=33, [e]=130000},
	[75] = { [s]=88, [t]=66, [f]=33, [e]=137000},
	[76] = { [s]=89, [t]=67, [f]=34, [e]=144000},
	[77] = { [s]=90, [t]=67, [f]=34, [e]=151000},
	[78] = { [s]=91, [t]=67, [f]=35, [e]=158000},
	[79] = { [s]=92, [t]=68, [f]=35, [e]=167000},
	[80] = { [s]=93, [t]=68, [f]=36, [e]=172000},
	[81] = { [s]=94, [t]=68, [f]=36, [e]=180000},
	[82] = { [s]=95, [t]=69, [f]=36, [e]=188000},
	[83] = { [s]=96, [t]=69, [f]=36, [e]=196000},
	[84] = { [s]=97, [t]=69, [f]=37, [e]=204000},
	[85] = { [s]=98, [t]=70, [f]=37, [e]=212000},
	[86] = { [s]=99, [t]=70, [f]=37, [e]=220000},
	[87] = { [s]=100, [t]=70, [f]=37, [e]=230000},
	[88] = { [s]=101, [t]=71, [f]=38, [e]=240000},
	[89] = { [s]=102, [t]=71, [f]=38, [e]=250000},
	[90] = { [s]=103, [t]=71, [f]=38, [e]=260000},
	[91] = { [s]=104, [t]=72, [f]=38, [e]=275000},
	[92] = { [s]=105, [t]=72, [f]=39, [e]=290000},
	[93] = { [s]=106, [t]=72, [f]=39, [e]=305000},
	[94] = { [s]=107, [t]=73, [f]=39, [e]=320000},
	[95] = { [s]=108, [t]=73, [f]=39, [e]=335000},
	[96] = { [s]=109, [t]=73, [f]=40, [e]=350000},
	[97] = { [s]=110, [t]=74, [f]=40, [e]=365000},
	[98] = { [s]=111, [t]=74, [f]=40, [e]=380000},
	[99] = { [s]=112, [t]=74, [f]=40, [e]=400000},
	[100] = { [s]=113, [t]=75, [f]=40, [e]=420000},
	[101] = { [s]=114, [t]=75, [f]=41, [e]=450000},
	[102] = { [s]=115, [t]=75, [f]=41, [e]=480000},
	[103] = { [s]=116, [t]=75, [f]=41, [e]=510000},
	[104] = { [s]=117, [t]=76, [f]=41, [e]=540000},
	[105] = { [s]=118, [t]=76, [f]=41, [e]=570000},
	[106] = { [s]=119, [t]=76, [f]=42, [e]=600000},
	[107] = { [s]=120, [t]=76, [f]=42, [e]=640000},
	[108] = { [s]=121, [t]=77, [f]=42, [e]=680000},
	[109] = { [s]=122, [t]=77, [f]=42, [e]=720000},
	[110] = { [s]=123, [t]=77, [f]=42, [e]=9999999},
}


local function formatInteger( number )
	if number == "-" then return number end

	local i, j, minus, int, fraction = tostring( number ):find( '([-]?)(%d+)([.]?%d*)' )
	int = int:reverse():gsub( "(%d%d%d)", "%1," )

	return minus .. int:reverse():gsub("^,", "") .. fraction
end
local function CheckEqualValues( tocheck, tosend )
	if tocheck and ( tocheck == tosend ) then
		return "-"
	end

	return tosend
end

function p.RankDataReturn( frame )
	local wiki_table =
		[[
		{| class="wikitable" style="width: 80%; text-align: center;"
		! Rank
		! Stamina
		! Team Cost
		! Friend Limit
		! EXP Required<br>for Rank Up
		! EXP in Total<br>from Rank Up
		]]
	local exptotal = 0
	local preval = { [s]=1, [t]=1, [f]=1, [e]=1 }

	for rank, tbl in ipairs( p.RankData ) do
		local pxdevn = #p.RankData - 30
		local pxmath = math.floor(math.max( 14, (rank - pxdevn) / (#p.RankData - pxdevn) * 26 ))

		wiki_table = wiki_table ..
		[[
		|- style="font-size: ]].. pxmath ..[[px;" |
		| <b>]] .. rank .. [[</b> 
		| style="text-align: left;" | ]] .. CheckEqualValues( preval[s], tbl[s] ) .. [[ 
		| style="text-align: left;" | ]] .. CheckEqualValues( preval[t], tbl[t] ) .. [[ 
		| style="text-align: left;" | ]] .. CheckEqualValues( preval[f], tbl[f] ) .. [[ 
		| style="text-align: left;" | ]] .. formatInteger(CheckEqualValues( preval[e], tbl[e] )) .. [[ 
		| style="text-align: left;" | ]] .. formatInteger( exptotal ) .. [[ 
		]]

		preval = tbl
		exptotal = exptotal + tbl[e]
	end

	wiki_table = wiki_table ..
		[[
		|- style="font-size: 26px;" |
		| colspan="5" | Current EXP Total sum of all Ranks
		| ]] .. formatInteger(exptotal) .. [[
		]]

	return wiki_table .. "\n\t\t" .. '|}' --inspect( p.RankData )
end

return p