Jump to content
Toggle menu
  • 3.1K articles
  • 4.4K files
  • 18 users
  • 91.5K edits
Ashenzari's Archive
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Apt: Difference between revisions

From Ashenzari's Archive
imported>CommanderC
No edit summary
imported>CommanderC
No edit summary
Line 58: Line 58:
end
end


function p.aptitude_chart_general(frame)
function p.aptitude_chart(skills, header)
   local data = mw.loadData('Module:Table of aptitudes')
   local data = mw.loadData('Module:Table of aptitudes')
  local skill = frame.args[1]
   local species = {'Human',  'Centaur', 'Demigod', 'Demonspawn',
   local species = {'Human',  'Centaur', 'Demigod', 'Demonspawn',
   'Base Draconian', 'Deep Dwarf', 'Deep Elf', 'High Elf',
   'Base Draconian', 'Deep Dwarf', 'Deep Elf', 'High Elf',
Line 66: Line 65:
   'Minotaur', 'Mummy', 'Naga', 'Octopode', 'Ogre', 'Hill Orc',
   'Minotaur', 'Mummy', 'Naga', 'Octopode', 'Ogre', 'Hill Orc',
   'Spriggan', 'Tengu', 'Troll', 'Vampire'}
   'Spriggan', 'Tengu', 'Troll', 'Vampire'}
  local skills = {'Armour', 'Dodging', 'Stealth', 'Stabbing',
   local result = header
  'Shields', 'Traps', 'Invocations', 'Evocations', 'Hit Points', 'Magic Points', 'Experience'}
 
   local result = [=[
{| class="wikitable sortable" style="font-size:75%" border=1
! scope="col" | [[Species]]
! scope="col" | [[Armour (skill)|Arm]]
! scope="col" | [[Dodging|Ddg]]
! scope="col" | [[Stealth|Sth]]
! scope="col" | [[Stabbing|Stb]]
! scope="col" | [[Shields (skill)|Shd]]
! scope="col" | [[Traps|Trp]]
! scope="col" | [[Invocations|Inv]]
! scope="col" | [[Evocations|Evo]]
! scope="col" | [[HP]]
! scope="col" | [[MP]]
! scope="col" | [[Exp]]
|-
]=]
   -- constants used by sort_key
   -- constants used by sort_key
   local a_ord = string.byte('a')
   local a_ord = string.byte('a')
Line 111: Line 94:
   result = result .. "|}"
   result = result .. "|}"
   return result
   return result
end
function p.aptitude_chart_general(frame)
  local skills = {'Armour', 'Dodging', 'Stealth', 'Stabbing',
  'Shields', 'Traps', 'Invocations', 'Evocations', 'Hit Points', 'Magic Points', 'Experience'}
  local header = [=[
{| class="wikitable sortable" style="font-size:75%" border=1
! scope="col" | [[Species]]
! scope="col" | [[Armour (skill)|Arm]]
! scope="col" | [[Dodging|Ddg]]
! scope="col" | [[Stealth|Sth]]
! scope="col" | [[Stabbing|Stb]]
! scope="col" | [[Shields (skill)|Shd]]
! scope="col" | [[Traps|Trp]]
! scope="col" | [[Invocations|Inv]]
! scope="col" | [[Evocations|Evo]]
! scope="col" | [[HP]]
! scope="col" | [[MP]]
! scope="col" | [[Exp]]
|-
]=]
  return p.aptitude_chart(skills, header)
end
function p.aptitude_chart_combat(frame)
  local skills = {'Fighting', 'Short Blades', 'Long Blades', 'Maces Flails',
  'Axes', 'Polearms', 'Staves', 'Unarmed Combat', 'Throwing', 'Slings', 'Bows', 'Crossbows'}
  local header = [=[
{| class="wikitable sortable" style="font-size:75%" border=1
! scope="col" | [[Species]]
! scope="col" | [[Fighting|Fgt]]
! scope="col" | [[Short Blades|SBl]]
! scope="col" | [[Long Blades|LBl]]
! scope="col" | [[Maces & Flails|M&F]]
! scope="col" | [[Axes|Axs]]
! scope="col" | [[Polearms|Pla]]
! scope="col" | [[Staves|Stv]]
! scope="col" | [[Unarmed Combat|UC]]
! scope="col" | [[Throwing|Thr]]
! scope="col" | [[Slings|Slg]]
! scope="col" | [[Bows|Bws]]
! scope="col" | [[Crossbows|Crb]]
|-
]=]
  return p.aptitude_chart(skills, header)
end
function p.aptitude_chart_magic(frame)
  local skills = {'Spellcasting', 'Conjurations', 'Hexes', 'Charms',
  'Summonings', 'Necromancy', 'Translocations', 'Transmutations',
  'Fire Magic', 'Ice Magic', 'Air Magic', 'Earth Magic', 'Poison Magic'}
  local header = [=[
{| class="wikitable sortable" style="font-size:75%" border=1
! scope="col" | [[Species]]
! scope="col" | [[Spellcasting|Spc]]
! scope="col" | [[Conjurations|Coj]]
! scope="col" | [[Hexes|Hex]]
! scope="col" | [[Charms|Cha]]
! scope="col" | [[Summonings|Sum]]
! scope="col" | [[Necromancy|Nec]]
! scope="col" | [[Translocations|Trl]]
! scope="col" | [[Transmutations|Trm]]
! scope="col" | [[Fire Magic|Fir]]
! scope="col" | [[Ice Magic|Ice]]
! scope="col" | [[Air Magic|Air]]
! scope="col" | [[Earth Magic|Ear]]
! scope="col" | [[Poison Magic|Poi]]
|-
]=]
  return p.aptitude_chart(skills, header)
end
end


return p
return p

Revision as of 22:00, 18 September 2013

local p = {}

function p.aptitude(frame)

 local data = mw.loadData('Module:Table of aptitudes')
 local sp = frame.args[1]
 local sk = frame.args[2]
 if not sp or not sk then
   return ""
 end
 if sp == "Draconian" then
   sp = "Base Draconian"
 end
 return data[sp][sk]

end

function p.skill_table(frame)

 local data = mw.loadData('Module:Table of aptitudes')
 local skill = frame.args[1]
 local species = {'Human',  'Centaur', 'Demigod', 'Demonspawn',
  'Base Draconian', 'Deep Dwarf', 'Deep Elf', 'High Elf',
  'Sludge Elf', 'Felid', 'Ghoul', 'Halfling', 'Kobold', 'Merfolk', 
  'Minotaur', 'Mummy', 'Naga', 'Octopode', 'Ogre', 'Hill Orc',
  'Spriggan', 'Tengu', 'Troll', 'Vampire'}
 local result = [=[
]=] for _, sp in ipairs(species) do result = result .. "| " .. data[sp][skill] .. "\n" end result = result .. "|}" return result end function p.aptitude_chart(skills, header) local data = mw.loadData('Module:Table of aptitudes') local species = {'Human', 'Centaur', 'Demigod', 'Demonspawn', 'Base Draconian', 'Deep Dwarf', 'Deep Elf', 'High Elf', 'Sludge Elf', 'Felid', 'Ghoul', 'Halfling', 'Kobold', 'Merfolk', 'Minotaur', 'Mummy', 'Naga', 'Octopode', 'Ogre', 'Hill Orc', 'Spriggan', 'Tengu', 'Troll', 'Vampire'} local result = header -- constants used by sort_key local a_ord = string.byte('a') local z_ord = string.byte('z') local aa_ord = string.byte('A') -- generates the table keys function sort_key(i) local result if i > z_ord - a_ord then i = i - (z_ord - a_ord) - 1 result = '!' .. string.char(aa_ord + i) else result = '"' .. string.char(a_ord + i) end return result end local i = 0 for _, sp in ipairs(species) do result = result .. '|' .. sort_key(i) .. '' .. sp .. "\n" for _,sk in ipairs(skills) do result = result .. "||" .. data[sp][sk] .. "\n" end result = result .. "|-\n" i = i + 1 end result = result .. "|}" return result end function p.aptitude_chart_general(frame) local skills = {'Armour', 'Dodging', 'Stealth', 'Stabbing', 'Shields', 'Traps', 'Invocations', 'Evocations', 'Hit Points', 'Magic Points', 'Experience'} local header = [=[
Hu Ce Dg Ds Dr DD DE HE SE Fe Gh Ha Ko Mf Mi Mu Na Op Og HO Sp Te Tr Vp
]=] return p.aptitude_chart(skills, header) end function p.aptitude_chart_combat(frame) local skills = {'Fighting', 'Short Blades', 'Long Blades', 'Maces Flails', 'Axes', 'Polearms', 'Staves', 'Unarmed Combat', 'Throwing', 'Slings', 'Bows', 'Crossbows'} local header = [=[
Species Arm Ddg Sth Stb Shd Trp Inv Evo HP MP Exp
]=] return p.aptitude_chart(skills, header) end function p.aptitude_chart_magic(frame) local skills = {'Spellcasting', 'Conjurations', 'Hexes', 'Charms', 'Summonings', 'Necromancy', 'Translocations', 'Transmutations', 'Fire Magic', 'Ice Magic', 'Air Magic', 'Earth Magic', 'Poison Magic'} local header = [=[
Species Fgt SBl LBl M&F Axs Pla Stv UC Thr Slg Bws Crb
]=] return p.aptitude_chart(skills, header) end return p
Species Spc Coj Hex Cha Sum Nec Trl Trm Fir Ice Air Ear Poi