Template:HarvestingVeinsTable/doc: Difference between revisions
From Melvor Idle
m (Add IDs to vein name elem) |
m (Hide spoiler recipe; Cleanup script) |
||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
<syntaxhighlight lang="javascript" line> | <syntaxhighlight lang="javascript" line> | ||
let results = `<noinclude>{{/doc}}[[Category:Manual Tables]]</noinclude>\n{| class="wikitable sortable stickyHeader col-7-center col-8-center"\n|- class="headerRow-0\n!colspan=2| Vein\n! {{Skill|Harvesting|notext=true|nolink=true}} Level\n! Products\n! Intensity\n! Chance\n! AXP\n! AXP/s`; | let results = `<noinclude>{{/doc}}[[Category:Manual Tables]]</noinclude>\n{| class="wikitable sortable stickyHeader col-7-center col-8-center"\n|- class="headerRow-0"\n!colspan=2| Vein\n! {{Skill|Harvesting|notext=true|nolink=true}} Level\n! Products\n! Intensity\n! Chance\n! AXP\n! AXP/s`; | ||
game.harvesting.sortedMasteryActions.forEach((vein, i) => { | game.harvesting.sortedMasteryActions.forEach((vein, i) => { | ||
results += `\n|-\n|rowspan=4| {{Icon|${vein.name} | if (vein.realm.id === 'melvorItA:Eternal') return; | ||
results += `\n|-\n|rowspan=4| {{Icon|${vein.name}|type=vein|notext=true}}`; | |||
results += `\n|rowspan=4 id="${vein.name}"| ${vein.name}`; | |||
vein.products.forEach((product, i) => { | vein.products.forEach((product, i) => { | ||
if (i === 0) results += `\n|rowspan=4 style="text-align: center"| ${vein.abyssalLevel}` | if (i === 0) results += `\n|rowspan=4 style="text-align: center"| ${vein.abyssalLevel}`; | ||
results += `${i !== 0 ? '\n|-\n|' : '\n|'} {{ItemIcon|${product.item.name}}}\n| ${product.minIntensityPercent}%\n| ${product.weight}/${vein.totalProductWeight} (${formatNumber(product.weight / vein.totalProductWeight * 100, 2)}%)`; | results += `${i !== 0 ? '\n|-\n|' : '\n|'} {{ItemIcon|${product.item.name}}}`; | ||
if (i === 0) results += `\n|rowspan=4| ${formatNumber(vein.baseAbyssalExperience, 0)}\n|rowspan=4| ${formatNumber(vein.baseAbyssalExperience / 3, 0)}` | results += `\n| ${product.minIntensityPercent}%`; | ||
results += `\n| ${product.weight}/${vein.totalProductWeight} (${formatNumber(product.weight / vein.totalProductWeight * 100, 2)}%)`; | |||
if (i === 0) { | |||
results += `\n|rowspan=4| ${formatNumber(vein.baseAbyssalExperience, 0)}`; | |||
results += `\n|rowspan=4| ${formatNumber(vein.baseAbyssalExperience / 3, 0)}`; | |||
} | |||
}); | }); | ||
}); results += '\n|}';console.log(results); | }); | ||
results += '\n|}';console.log(results); | |||
self.nw?.Clipboard.get().set ? self.nw?.Clipboard?.get().set(results, 'text') : copy(results); | self.nw?.Clipboard.get().set ? self.nw?.Clipboard?.get().set(results, 'text') : copy(results); | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 13:47, 27 October 2024
A script is used to generate the following table. To use, open the game and paste the below into the console. The outputs will be copied to your clipboard automatically. After running the script, 'edit source' on Template:HarvestingVeinsTable then Ctrl+A and Ctrl+V. Look over the contents to ensure everything looks fine.
let results = `<noinclude>{{/doc}}[[Category:Manual Tables]]</noinclude>\n{| class="wikitable sortable stickyHeader col-7-center col-8-center"\n|- class="headerRow-0"\n!colspan=2| Vein\n! {{Skill|Harvesting|notext=true|nolink=true}} Level\n! Products\n! Intensity\n! Chance\n! AXP\n! AXP/s`;
game.harvesting.sortedMasteryActions.forEach((vein, i) => {
if (vein.realm.id === 'melvorItA:Eternal') return;
results += `\n|-\n|rowspan=4| {{Icon|${vein.name}|type=vein|notext=true}}`;
results += `\n|rowspan=4 id="${vein.name}"| ${vein.name}`;
vein.products.forEach((product, i) => {
if (i === 0) results += `\n|rowspan=4 style="text-align: center"| ${vein.abyssalLevel}`;
results += `${i !== 0 ? '\n|-\n|' : '\n|'} {{ItemIcon|${product.item.name}}}`;
results += `\n| ${product.minIntensityPercent}%`;
results += `\n| ${product.weight}/${vein.totalProductWeight} (${formatNumber(product.weight / vein.totalProductWeight * 100, 2)}%)`;
if (i === 0) {
results += `\n|rowspan=4| ${formatNumber(vein.baseAbyssalExperience, 0)}`;
results += `\n|rowspan=4| ${formatNumber(vein.baseAbyssalExperience / 3, 0)}`;
}
});
});
results += '\n|}';console.log(results);
self.nw?.Clipboard.get().set ? self.nw?.Clipboard?.get().set(results, 'text') : copy(results);