Module:User:Litzsch/Sandbox

-- - -- Imports -- -

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

-- - -- Data -- - local data = { ['abaddon'] = { 'Mount', 'Weapon', 'Head', 'Shoulder', 'Back', 'Taunt' }, ['alchemist'] = { 'Weapon', 'Head', 'Shoulder', 'Armor', 'Arms', 'Tiny Head', 'Tiny Armor', 'Flask', 'Taunt' }, ['ancient apparition'] = { 'Weapon', 'Shoulder', 'Head', 'Summoned Unit', 'Taunt' }, ['anti-mage'] = { 'Weapon', 'Off-Hand', 'Head', 'Shoulder', 'Armor', 'Belt', 'Arms', 'Taunt' }, ['arc warden'] = { 'Head', 'Arms', 'Shoulder', 'Back', 'Pet', 'Taunt' }, ['axe'] = { 'Weapon', 'Head', 'Armor', 'Belt', 'Misc', 'Pet', 'Taunt' }, ['bane'] = { 'Head', 'Shoulder', 'Arms', 'Back', 'Taunt' }, ['batrider'] = { 'Mount', 'Weapon', 'Head', 'Shoulder', 'Belt', 'Taunt' }, ['beastmaster'] = { 'Weapon', 'Head', 'Shoulder', 'Belt', 'Arms', 'Hawk', 'Boar', 'Taunt' }, ['bloodseeker'] = { 'Weapon', 'Off-Hand', 'Head', 'Shoulder', 'Back', 'Belt', 'Arms', 'Taunt' }, ['bounty hunter'] = { 'Weapon', 'Off-Hand', 'Head', 'Misc', 'Back', 'Armor', 'Arms', 'Taunt' }, ['brewmaster'] = { 'Weapon', 'Barrel', 'Head', 'Armor', 'Back', 'Arms', 'Taunt' }, ['bristleback'] = { 'Weapon', 'Head', 'Back', 'Neck', 'Arms', 'Pet', 'Taunt' }, ['broodmother'] = { 'Head', 'Back', 'Legs', 'Misc', 'Spiderling', 'Taunt' }, ['centaur warrunner'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Belt', 'Arms', 'Tail', 'Pet', 'Taunt' }, ['chaos knight'] = { 'Mount', 'Weapon', 'Shield', 'Head', 'Shoulder', 'Taunt' }, ['chen'] = { 'Mount', 'Weapon', 'Head', 'Shoulder', 'Arms', 'Misc', 'Taunt' }, ['clinkz'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Gloves', 'Taunt' }, ['clockwerk'] = { 'Weapon', 'Head', 'Armor', 'Rocket Flare', 'Power Cogs', 'Taunt' }, ['crystal maiden'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Arms', 'Taunt', 'Pet' }, ['dark seer'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Arms', 'Legs', 'Taunt' }, ['dark willow'] = { 'Belt', 'Off-Hand', 'Head', 'Armor', 'Wings', 'Pet', 'Taunt' }, ['dazzle'] = { 'Weapon', 'Back', 'Legs', 'Misc', 'Arms', 'Taunt' }, ['death prophet'] = { 'Head', 'Armor', 'Belt', 'Legs', 'Misc', 'Spirits', 'Taunt' }, ['disruptor'] = { 'Mount', 'Weapon', 'Head', 'Shoulder', 'Back', 'Arms', 'Taunt' }, ['doom'] = { 'Weapon', 'Head', 'Shoulder', 'Wings', 'Belt', 'Tail', 'Arms', 'Taunt' }, ['dragon knight'] = { 'Weapon', 'Shield', 'Head', 'Shoulder', 'Back', 'Arms', 'Elder Dragon Form', 'Taunt' }, ['drow ranger'] = { 'Weapon', 'Quiver', 'Head', 'Back', 'Shoulder', 'Legs', 'Arms', 'Taunt' }, ['earth spirit'] = { 'Weapon', 'Head', 'Neck', 'Back', 'Belt', 'Arms', 'Stone Remnant', 'Taunt' }, ['earthshaker'] = { 'Totem', 'Head', 'Belt', 'Arms', 'Pet', 'Taunt' }, ['elder titan'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Arms', 'Astral Spirit', 'Taunt' }, ['ember spirit'] = { 'Weapon', 'Off-Hand', 'Head', 'Shoulder', 'Arms', 'Belt', 'Taunt' }, ['enchantress'] = { 'Weapon', 'Head', 'Belt', 'Neck', 'Arms', 'Taunt' }, ['enigma'] = { 'Head', 'Armor', 'Arms', 'Eidolons', 'Taunt' }, ['faceless void'] = { 'Weapon', 'Head', 'Shoulder', 'Belt', 'Arms', 'Taunt' }, ['gyrocopter'] = { 'Guns', 'Head', 'Back', 'Propeller', 'Missile Compartment', 'Taunt' }, ['huskar'] = { 'Weapon', 'Off-Hand', 'Head', 'Shoulder', 'Arms', 'Taunt' }, ['invoker'] = { 'Head', 'Shoulder', 'Back', 'Belt', 'Arms', 'Forge Spirit', 'Taunt' }, ['io'] = { 'Head', 'Taunt' }, ['jakiro'] = { 'Right Head', 'Left Head', 'Wings', 'Tail', 'Taunt' }, ['juggernaut'] = { 'Weapon', 'Head', 'Legs', 'Back', 'Arms', 'Healing Ward', 'Voice', 'Taunt', 'Pet' }, ['keeper of the light'] = { 'Mount', 'Weapon', 'Head', 'Armor', 'Belt', 'Taunt' }, ['kunkka'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Belt', 'Legs', 'Gloves', 'Misc', 'Taunt' }, ['legion commander'] = { 'Weapon', 'Head', 'Shoulder', 'Banners', 'Legs', 'Arms', 'Pet', 'Taunt' }, ['leshrac'] = { 'Weapon', 'Head', 'Back', 'Misc', 'Tail', 'Taunt' }, ['lich'] = { 'Head', 'Neck', 'Back', 'Belt', 'Arms', 'Taunt' }, ['lifestealer'] = { 'Weapon', 'Head', 'Back', 'Belt', 'Arms', 'Taunt' }, ['lina'] = { 'Head', 'Neck', 'Belt', 'Arms', 'Taunt' }, ['lion'] = { 'Weapon', 'Left Arm', 'Head', 'Shoulder', 'Armor', 'Taunt' }, ['lone druid'] = { 'Weapon', 'Head', 'Shoulder', 'Armor', 'Arms', 'True Form', 'Spirit Bear', 'Taunt' }, ['luna'] = { 'Mount', 'Weapon', 'Shield', 'Head', 'Shoulder', 'Taunt' }, ['lycan'] = { 'Weapon', 'Head', 'Shoulder', 'Armor', 'Belt', 'Shapeshift', 'Wolves', 'Taunt' }, ['magnus'] = { 'Weapon', 'Head', 'Misc', 'Belt', 'Arms', 'Taunt' }, ['medusa'] = { 'Weapon', 'Head', 'Armor', 'Arms', 'Tail', 'Taunt' }, ['meepo'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Arms', 'Tail', 'Taunt' }, ['mirana'] = { 'Mount', 'Weapon', 'Quiver', 'Head', 'Shoulder', 'Back', 'Arms', 'Taunt' }, ['monkey king'] = { 'Weapon', 'Head', 'Armor', 'Shoulder', 'Taunt' }, ['morphling'] = { 'Head', 'Shoulder', 'Back', 'Arms', 'Misc', 'Taunt' }, ['naga siren'] = { 'Weapon', 'Off-Hand', 'Head', 'Armor', 'Tail', 'Taunt' }, ["nature's prophet"] = { 'Weapon', 'Head', 'Neck', 'Shoulder', 'Back', 'Arms', 'Treants', 'Taunt' }, ['necrophos'] = { 'Weapon', 'Head', 'Beard', 'Shoulder', 'Legs', 'Taunt' }, ['night stalker'] = { 'Weapon', 'Head', 'Back', 'Arms', 'Legs', 'Tail', 'Pet', 'Taunt' }, ['nyx assassin'] = { 'Weapon', 'Head', 'Back', 'Misc', 'Taunt' }, ['ogre magi'] = { 'Weapon', 'Heads', 'Back', 'Belt', 'Arms', 'Taunt' }, ['omniknight'] = { 'Weapon', 'Head', 'Shoulder', 'Arms', 'Back', 'Misc', 'Taunt' }, ['oracle'] = { 'Weapon', 'Head', 'Armor', 'Back', 'Taunt' }, ['outworld devourer'] = { 'Weapon', 'Head', 'Wings', 'Armor', 'Taunt' }, ['pangolier'] = { 'Weapon', 'Off-Hand', 'Head', 'Armor', 'Pet', 'Taunt' }, ['phantom assassin'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Belt', 'Taunt' }, ['phantom lancer'] = { 'Weapon', 'Head', 'Shoulder', 'Arms', 'Belt', 'Taunt' }, ['phoenix'] = { 'Head', 'Wings', 'Supernova', 'Pet', 'Taunt' }, ['puck'] = { 'Head', 'Tail', 'Wings', 'Taunt' }, ['pudge'] = { 'Weapon', 'Off-Hand', 'Head', 'Left Arm', 'Back', 'Belt', 'Arms', 'Taunt' }, ['pugna'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Belt', 'Arms', 'Nether Ward', 'Taunt' }, ['queen of pain'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Taunt' }, ['razor'] = { 'Weapon', 'Head', 'Armor', 'Belt', 'Arms', 'Taunt' }, ['riki'] = { 'Weapon', 'Off-Hand', 'Head', 'Shoulder', 'Arms', 'Tail', 'Pet', 'Taunt' }, ['rubick'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Taunt' }, ['sand king'] = { 'Head', 'Shoulder', 'Back', 'Legs', 'Arms', 'Taunt' }, ['shadow demon'] = { 'Weapon', 'Armor', 'Back', 'Belt', 'Tail', 'Taunt' }, ['shadow fiend'] = { 'Head', 'Shoulder', 'Arms', 'Taunt' }, ['shadow shaman'] = { 'Weapon', 'Off-Hand', 'Head', 'Arms', 'Belt', 'Serpent Wards', 'Taunt' }, ['silencer'] = { 'Weapon', 'Shield', 'Head', 'Armor', 'Belt', 'Arms', 'Taunt' }, ['skeleton king'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Armor', 'Misc', 'Arms', 'Taunt' }, ['skywrath mage'] = { 'Weapon', 'Head', 'Shoulder', 'Wings', 'Belt', 'Arms', 'Taunt' }, ['slardar'] = { 'Weapon', 'Head', 'Back', 'Arms', 'Taunt' }, ['slark'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Arms', 'Pet', 'Taunt' }, ['sniper'] = { 'Weapon', 'Head', 'Shoulder', 'Arms', 'Back', 'Taunt' }, ['spectre'] = { 'Weapon', 'Head', 'Shoulder', 'Belt', 'Misc', 'Voice', 'Taunt' }, ['spirit breaker'] = { 'Weapon', 'Head', 'Shoulder', 'Belt', 'Tail', 'Arms', 'Taunt' }, ['storm spirit'] = { 'Head', 'Armor', 'Misc', 'Arms', 'Taunt' }, ['sven'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Belt', 'Arms', 'Pet', 'Taunt' }, ['techies'] = { 'Bazooka', 'Squee', 'Spoon', 'Spleen', 'Cart', 'Remote Mines', 'Sign', 'Taunt' }, ['templar assassin'] = { 'Weapon', 'Head', 'Shoulder', 'Armor', 'Taunt' }, ['terrorblade'] = { 'Weapon', 'Head', 'Armor', 'Back', 'Demon', 'Taunt' }, ['tidehunter'] = { 'Weapon', 'Off-Hand', 'Head', 'Back', 'Belt', 'Arms', 'Taunt' }, ['timbersaw'] = { 'Weapon', 'Off-Hand', 'Head', 'Shoulder', 'Back', 'Armor', 'Belt', 'Taunt' }, ['tinker'] = { 'Head', 'Right Arm', 'Left Arm', 'Shoulder', 'Back', 'Misc', 'Taunt' }, ['tiny'] = { 'Weapon', 'Head', 'Body', 'Misc', 'Right Arm', 'Left Arm', 'Taunt' }, ['treant protector'] = { 'Weapon', 'Head', 'Legs', 'Shoulder', 'Arms', 'Taunt' }, ['troll warlord'] = { 'Weapon', 'Head', 'Armor', 'Shoulder', 'Pet', 'Taunt' }, ['tusk'] = { 'Weapon', 'Fist', 'Head', 'Tusks', 'Shoulder', 'Back', 'Frozen Sigil', 'Taunt' }, ['underlord'] = { 'Weapon', 'Head', 'Armor', 'Taunt', 'Pet' }, ['undying'] = { 'Head', 'Armor', 'Arms', 'Tombstone', 'Flesh Golem', 'Taunt' }, ['ursa'] = { 'Claws', 'Head', 'Arms', 'Belt', 'Back', 'Taunt' }, ['vengeful spirit'] = { 'Weapon', 'Head', 'Shoulder', 'Legs', 'Taunt' }, ['venomancer'] = { 'Stinger Limbs', 'Head', 'Shoulder', 'Misc', 'Tail', 'Plague Wards', 'Taunt' }, ['viper'] = { 'Head', 'Back', 'Tail', 'Pet', 'Taunt' }, ['visage'] = { 'Head', 'Armor', 'Familiars', 'Pet', 'Taunt' }, ['warlock'] = { 'Weapon', 'Lantern', 'Head', 'Shoulder', 'Back', 'Evil Purse', 'Arms', 'Golem', 'Taunt' }, ['weaver'] = { 'Antennae', 'Arms', 'Legs', 'Back', 'Misc', 'Taunt' }, ['windranger'] = { 'Weapon Pack', 'Weapon', 'Quiver', 'Head', 'Shoulder', 'Back', 'Taunt' }, ['winter wyvern'] = { 'Head', 'Back', 'Taunt' }, ['witch doctor'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Belt', 'Death Ward', 'Taunt' }, ['wraith king'] = { 'Weapon', 'Head', 'Shoulder', 'Back', 'Armor', 'Misc', 'Arms', 'Taunt' }, ['zeus'] = { 'Weapon', 'Head', 'Back', 'Belt', 'Arms', 'Pet', 'Taunt' } }

-- - -- Template -- -

local p = {}

function p.main(frame) local args = getArgs(frame)

local hero = (args[1] or mw.title.getCurrentTitle.baseText) local slots = data[hero:lower] or {}

local template_args = { hero = hero } for i, slot in ipairs(slots) do   template_args['slot' .. i] = slot end

return frame:expandTemplate{ title = 'Equipment', args = template_args } end

-- - -- Return -- -

return p