Documentation for this module may be created at Module:Disassemble/data/doc
-- <pre>
-- blank template
--[[
[''] = { often = '', sometimes = '', rarely = '', itemqty = 1, compqty = 8,
alias = {}, cat = '', name = '' },
--]]
-- NOTES:
-- Do not include an item quantity of 1, this is done in the parent module (other default amounts are fine to include)
local data = {
-- basic stuff
['default'] = { often = 'simple', rarely = 'variable', compqty = 1,
cat = 'default', name = 'Default disassembly items' },
['clothing'] = { often = 'cover, simple, padded', rarely = 'variable', compqty = 1, x10 = true,
cat = 'clothing', name = 'Clothing' },
-- invention
['all gizmos'] = {
group = true,
sometimes = 'simple',
rarely = 'base, blade, clear, connector, cover, crafted, deflecting, delicate, flexible, head, magic, metallic, organic, padded, plated, smooth, spiked, spiritual, stave, tensile, dextrous, direct, enhancing, ethereal, evasive, healthy, heavy, imbued, light, living, pious, powerful, precious, precise, protective, refined, sharp, strong, stunning, subtle, swift, variable, faceted, clockwork',
compqty = 3,
x10 = true,
cat = 'gizmo',
name = 'Gizmos and gizmo shells',
nocalc = true,
members = {
['gizmo'] = { compqty = 3, alias = {'gizmos'} },
['gizmo shell'] = { compqty = 1, alias = {'gizmo shells'} },
['gizmo6'] = { compqty = 6, alias = {'common relics'} },
['gizmo12'] = { compqty = 12, alias = {'uncommon relics'} },
}
},
-- runecrafting
['runes and talismans'] = {
group = true,
often = 'magic', sometimes = 'crafted', rarely = 'powerful',
cat = 'runes', name = 'Runes and talismans',
members = {
['talisman'] = { compqty = 1, alias = { 'talismans' } },
['rune'] = { compqty = 8, itemqty = 50, alias = { 'runes' } }
}
},
-- materials
['food'] = { often = 'organic', sometimes = 'crafted', rarely = 'living, healthy, enhancing', compqty = 1,
alias = { 'herbs', 'herb' }, cat = 'food', name = 'Food and herbs' },
['all gems'] = {
group = true,
often = 'clear, delicate, smooth', rarely = 'precious, light, faceted',
cat = 'gems', name = 'Gems',
members = {
['uncut gem'] = { compqty = 1, alias = { 'uncut gems' } },
['gem'] = { compqty = 2, alias = { 'gems' } },
['big gem'] = { compqty = 6 }
}
},
['log'] = { often = 'simple', rarely = 'living', compqty = 1,
alias = { 'logs', 'hide', 'hides' }, cat = 'logs', name = 'Logs and hides' },
['seed'] = { often = 'organic', rarely = 'living', compqty = 1,
alias = { 'seeds' }, cat = 'seeds', name = 'Seeds' },
['all potions'] = {
group = true,
often = 'delicate, organic, crafted', rarely = 'enhancing, healthy',
cat = 'potions', name = 'Potions and flasks',
members = {
['potion'] = { compqty = 1, potion = true, alias = { 'potions', 'flask', 'flasks' } },
['1 dose'] = { compqty = 1 },
['2 dose'] = { compqty = 2 },
['3 dose'] = { compqty = 3 },
['4 dose'] = { compqty = 4 },
['5 dose'] = { compqty = 5 },
['6 dose'] = { compqty = 6 }
}
},
['ore'] = { often = 'simple', compqty = 1,
alias = { 'ores' }, cat = 'ores', name = 'Ores' },
['pb and l'] = {
group = true,
often = 'simple, crafted',
cat = 'planks', name = 'Planks, bars, and leather',
members = {
['bar'] = { compqty = 2, alias = { 'bars', 'flatpacks' } },
['plank'] = { compqty = 1, alias = { 'planks', 'leather' } }
}
},
['all glass'] = {
group = true,
often = 'clear, delicate, smooth', rarely = 'enhancing',
cat = 'glass', name = 'Glass items',
members = {
['glass 1'] = { compqty = 1, alias = { 'glass' } },
['glass 2'] = { compqty = 2 }
}
},
['all faceted glass'] = {
group = true,
often = 'clear, delicate, smooth', rarely = 'faceted, enhancing',
cat = 'faceted glass', name = 'Faceted glass items',
members = {
['faceted glass 1'] = { compqty = 1, alias = { 'faceted glass' } },
['faceted glass 2'] = { compqty = 2 }
}
},
['clockwork'] = { often = 'simple', sometimes = 'crafted', rarely = 'clockwork', compqty = 1,
cat = 'clockwork', name = 'Clockwork items' },
-- summoning
['pouch'] = { often = 'spiritual, crafted, flexible', rarely = 'powerful', compqty = 3,
alias = { 'pouches' }, cat = 'pouches', name = 'Pouches' },
['scroll'] = { often = 'spiritual, crafted', rarely = 'powerful', itemqty = 10, compqty = 2,
alias = { 'scrolls' }, cat = 'scrolls', name = 'Scrolls' },
['charm'] = { often = 'spiritual', compqty = 1,
alias = { 'charms' }, cat = 'charms', name = 'Charms', nocalc = true },
['divination'] = { often = 'magic', sometimes = 'crafted', rarely = 'ethereal', compqty = 3,
alias = { 'divine location', 'portent', 'portents', 'sign', 'signs' }, cat = 'divination', name = 'Signs, portents, and divine locations' },
-- prayer
['bones and remains'] = {
group = true,
often = 'organic', rarely = 'pious',
cat = 'bones', name = 'Bones and remains',
members = {
['remain'] = { compqty = 1, alias = { 'remains' } },
['bone'] = { compqty = 2, alias = { 'bones' } }
}
},
['ashes'] = { often = 'organic', rarely = 'pious, ethereal', compqty = 2,
cat = 'ashes', name = 'Ashes' },
-- misc
['all crystal tool'] = {
group = true,
often = 'crystal, faceted', sometimes = 'clear, delicate, smooth',
cat = 'crystal tool', name = 'Crystal tools and teleport seeds',
nocalc = true,
members = {
['crystal tool'] = { compqty = 3, alias = { 'crystal tools' } },
['crystal tool 1'] = { compqty = 1 },
}
},
['crystal fruit'] = { often = 'simple, organic', sometimes = 'crystal', rarely = 'healthy', compqty = 5,
cat = 'crystal fruit', name = 'Crystal tree blossoms', nocalc = true },
-- =================
-- EQUIPMENT
-- =================
['all jewellery'] = {
group = true,
often = 'delicate, connector, smooth', rarely = 'precious, enhancing', x10 = true,
cat = 'jewellery', name = 'Jewellery',
members = {
['jewellery'] = { compqty = 5, alias = { 'jewelry' } },
['unstrung jewellery'] = { compqty = 2, alias = { 'jewellery (u)' } }
}
},
['shields'] = { often = 'cover, base, deflecting', rarely = 'strong, protective', compqty = 8, x10 = true,
alias = { 'melee shield', 'magic shield', 'ranged shield', 'hybrid shield' }, cat = 'shields', name = 'Shields' },
-- melee items
['melee armour'] = {
group = true,
often = 'cover, plated, deflecting', rarely = 'strong, protective', x10 = true,
cat = 'melee armour', name = 'Melee armour',
members = {
['melee 8'] = { compqty = 8, alias = { 'melee body', 'melee legs' } },
['melee 6'] = { compqty = 6, alias = { 'melee cape', 'melee helm' } },
['melee 4'] = { compqty = 4, alias = { 'melee boots', 'melee gloves' } },
['melee 2'] = { compqty = 2, alias = { 'melee crest' } },
['melee 1'] = { compqty = 1, alias = { 'melee essence' } }
}
},
['dagger'] = { often = 'base, blade, spiked', rarely = 'precise, light', compqty = 8, x10 = true,
cat = 'dagger', name = 'Daggers' },
['hatchet'] = { often = 'head, blade, connector', rarely = 'sharp, strong', compqty = 8, x10 = true,
cat = 'hatchet', name = 'Hatchets' },
['all maces'] = {
group = true,
often = 'base, head, smooth', rarely = 'heavy, dextrous', x10 = true,
cat = 'mace', name = 'Maces',
members = {
['mace'] = { compqty = 8 },
['2h mace'] = { compqty = 12 }
}
},
['sword'] = { often = 'base, blade, metallic', rarely = 'precise, dextrous', compqty = 8, x10 = true,
cat = 'sword', name = 'Swords' },
['scimitar'] = { often = 'base, blade, metallic', rarely = 'sharp, subtle', compqty = 8, x10 = true,
cat = 'scimitar', name = 'Scimitars' },
['pickaxe'] = { often = 'base, head, spiked', rarely = 'heavy, direct', compqty = 8, x10 = true,
cat = 'pickaxe', name = 'Pickaxes' },
['maul'] = { often = 'base, head, plated', rarely = 'heavy, strong', compqty = 12, x10 = true,
cat = 'maul', name = 'Mauls' },
['all longswords'] = {
group = true,
often = 'base, blade, metallic', rarely = 'sharp, dextrous', x10 = true,
cat = 'longsword', name = 'Longswords',
members = {
['longsword'] = { compqty = 8 },
['2h longsword'] = { compqty = 12, alias = { 'trouble brewing flags' } }
}
},
['warhammer'] = { often = 'base, head, smooth', rarely = 'heavy, strong', compqty = 8, x10 = true,
cat = 'warhammer', name = 'Warhammers' },
['battleaxe'] = { often = 'head, blade, smooth', rarely = 'sharp, direct', compqty = 8, x10 = true,
cat = 'battleaxe', name = 'Battleaxes' },
['all claws'] = {
group = true,
often = 'connector, blade, spiked', rarely = 'sharp, swift', x10 = true,
cat = 'claw', name = 'Claws',
members = {
['claw'] = { compqty = 8, alias = { 'claws' } },
['2h claw'] = { compqty = 12, alias = { '2h claws' } },
}
},
['all 2h swords'] = {
group = true,
often = 'base, blade, metallic', rarely = 'sharp, strong', x10 = true,
cat = '2h sword', name = 'Two-handed swords',
members = {
['2h sword'] = { compqty = 12 },
['2h sword blade'] = { compqty = 6 },
['2h sword blade part'] = { compqty = 4, alias = { 'godsword shards', '2h sword blade parts' } },
['2h sword shard'] = { compqty = 2, alias = { 'godsword shard', '2h sword shards' } }
}
},
['spears and hastae'] = {
group = true,
often = 'stave, blade, crafted', rarely = 'precise, direct', x10 = true,
cat = 'spear', name = 'Spears and hastae',
members = {
['spear'] = { compqty = 12 },
['hasta'] = { compqty = 8 }
}
},
['all halberds'] = {
group = true,
often = 'stave, blade, deflecting', rarely = 'sharp, stunning', x10 = true,
cat = 'halberd', name = 'Halberds',
members = {
['halberd'] = { compqty = 12 },
['1h halberd'] = { compqty = 8, alias = { 'mjolnir' } }
}
},
['defender'] = { often = 'base, deflecting', sometimes = 'precise, subtle', compqty = 8, x10 = true,
cat = 'defender', name = 'Defenders, reprisers, and rebounders', nocalc = true },
['defender piece'] = { often = 'connector, deflecting', sometimes = 'variable, enhancing', compqty = 4, x10 = true,
cat = 'defender piece', name = 'Defender pieces', nocalc = true },
['whip'] = { often = 'connector, flexible, blade', rarely = 'sharp, subtle', compqty = 8, x10 = true,
cat = 'whip', name = 'Whips' },
-- magic items
['magic armour'] = {
group = true,
often = 'cover, magic, deflecting', rarely = 'powerful, protective', x10 = true,
cat = 'magic armour', name = 'Magic armour',
members = {
['magic 8'] = { compqty = 8, alias = { 'magic body', 'magic legs' } },
['magic 6'] = { compqty = 6, alias = { 'magic cape', 'magic helm' } },
['magic 4'] = { compqty = 4, alias = { 'magic boots', 'magic gloves' } },
['magic 2'] = { compqty = 2, alias = { 'magic crest' } },
['magic 1'] = { compqty = 1, alias = { 'magic essence' } }
}
},
['staff'] = { often = 'stave, magic, padded', rarely = 'powerful, imbued', compqty = 12, x10 = true,
alias = { 'staves' }, cat = 'staff', name = 'Staves' },
['wand'] = { often = 'base, head, magic', rarely = 'precise, imbued', compqty = 8, x10 = true,
alias = { 'wands' }, cat = 'wand', name = 'Wands' },
['orb'] = { often = 'delicate, magic, smooth', rarely = 'enhancing, ethereal, faceted', compqty = 8, x10 = true,
alias = { 'orbs', 'book', 'books' }, cat = 'orb', name = 'Magic off-hand weapons' },
-- ranged items
['ranged armour'] = {
group = true,
often = 'cover, tensile, padded', rarely = 'evasive, protective', x10 = true,
cat = 'ranged armour', name = 'Ranged armour',
members = {
['ranged 8'] = { compqty = 8, alias = { 'ranged body', 'ranged legs' } },
['ranged 6'] = { compqty = 6, alias = { 'ranged cape', 'ranged helm' } },
['ranged 4'] = { compqty = 4, alias = { 'ranged boots', 'ranged gloves' } },
['ranged 2'] = { compqty = 2, alias = { 'ranged crest' } },
['ranged 1'] = { compqty = 1, alias = { 'ranged essence' } }
}
},
['all shortbows'] = {
group = true,
often = 'stave, tensile, flexible', rarely = 'precise, dextrous', x10 = true,
cat = 'shortbows', name = 'Shortbows',
members = {
['shortbow'] = { compqty = 12, alias = { 'shortbows' } },
['shortbow (u)'] = { compqty = 4, alias = { 'shortbows (u)' } }
}
},
['all shieldbows'] = {
group = true,
often = 'stave, tensile, flexible', rarely = 'precise, strong', x10 = true,
cat = 'shieldbows', name = 'Shieldbows',
members = {
['shieldbow'] = { compqty = 12, alias = { 'shieldbows', 'longbow', 'longbows' } },
['shieldbow (u)'] = { compqty = 4, alias = { 'shieldbows (u)' } }
}
},
['arrows and arrowheads'] = {
group = true,
often = 'stave, head, crafted', rarely = 'precise',
cat = 'arrows', name = 'Arrows and arrowheads',
members = {
['arrow'] = { itemqty = 50, compqty = 6, alias = { 'arrows' } },
['arrowhead'] = { itemqty = 50, compqty = 2, alias = { 'arrowheads' } }
}
},
['bolts and bolt tips'] = {
group = true,
often = 'base, head, spiked', rarely = 'stunning',
cat = 'bolts', name = 'Bolts and bolt tips',
members = {
['bolt'] = { itemqty = 50, compqty = 6, alias = { 'bolts' } },
['bolt tip'] = { itemqty = 50, compqty = 2, alias = { 'bolt tips' } }
}
},
['crossbows and stocks'] = {
group = true,
often = 'connector, tensile, spiked', rarely = 'stunning, dextrous', x10 = true,
cat = 'crossbows', name = 'Crossbows and stocks',
members = {
['crossbow'] = { compqty = 8, alias = { 'crossbows' } },
['unstrung crossbow'] = { compqty = 4, alias = { 'unstrung crossbows' } },
['stock'] = { compqty = 2, alias = { 'stock', 'limbs' } }
}
},
['2h crossbow'] = { often = 'connector, tensile, crafted', rarely = 'stunning, dextrous', compqty = 12, x10 = true,
alias = { '2h crossbows' }, cat = '2h crossbows', name = 'Two-handed crossbows' },
['all darts'] = {
group = true,
often = 'simple, blade, spiked', rarely = 'sharp, swift',
cat = 'darts', name = 'Darts',
members = {
['dart'] = { itemqty = 50, compqty = 8, alias = { 'darts', 'javelin', 'javelins' } },
['big javelin'] = { compqty = 12, x10 = true }
}
},
['throwing knives'] = {
group = true,
often = 'simple, blade, metallic', rarely = 'sharp, swift',
cat = 'knives', name = 'Throwing knives',
members = {
['knife'] = { itemqty = 50, compqty = 8, alias = { 'knives' } },
['glaive'] = { compqty = 8, x10 = true, alias = { 'glaives' } }
}
},
['all throw axes'] = {
group = true,
often = 'simple, blade, plated', rarely = 'sharp, swift',
cat = 'throwing axes', name = 'Throwing axes',
members = {
['throwing axe'] = { itemqty = 50, compqty = 8, alias = { 'throwing axes' } },
['chakram'] = { compqty = 8, x10 = true }
}
},
['cannonball'] = { often = 'simple, head', rarely = 'stunning, direct', itemqty = 50, compqty = 8,
alias = { 'cannonballs', 'bolas' }, cat = 'cannonballs', name = 'Cannonballs' },
-- hybrid items
['hybrid armour'] = {
group = true,
often = 'cover, deflecting', rarely = 'powerful, evasive, protective', x10 = true,
cat = 'hybrid armour', name = 'Hybrid armour',
members = {
['hybrid 8'] = { compqty = 8, alias = { 'hybrid body', 'hybrid legs' } },
['hybrid 6'] = { compqty = 6, alias = { 'hybrid cape', 'hybrid helm' } },
['hybrid 4'] = { compqty = 4, alias = { 'hybrid boots', 'hybrid gloves' } },
['hybrid 2'] = { compqty = 2, alias = { 'hybrid crest' } },
['hybrid 1'] = { compqty = 1, alias = { 'hybrid essence' } }
}
}
}
-- copy of data with nested groups unpacked
local allcategories = {}
-- fields that are copied from group
local copiedfields = { 'often', 'sometimes', 'rarely', 'x10', 'name', 'cat', 'nocalc' }
-- nested grouping
for w, n in pairs(data) do
-- if a group, then copy it
if n.group then
-- for each member, named "x", take "y"
for x, y in pairs(n.members) do
-- table to store
local _temp = {}
-- copy the group's fields
-- do group first in case they need to be overridden
for _, z in ipairs(copiedfields) do
_temp[z] = n[z]
end
-- copy the unique fields
for z, t in pairs(y) do
_temp[z] = t
end
-- add to list
allcategories[x] = _temp
end
-- otherwise store directly
else
allcategories[w] = n
end
end
-- aliases
-- list of names to check
local names = {}
for w, _ in pairs(allcategories) do
table.insert(names,w)
end
for _, v in ipairs(names) do
local aliases = allcategories[v].alias or {}
for _, y in ipairs(aliases) do
allcategories[y] = allcategories[v]
end
end
return allcategories