Template:TownshipBiomeTable: Difference between revisions

From Melvor Idle
(Amend for function name change)
(Add data-sort-values)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
<noinclude>This template is Lua-powered by <code>getBiomeTable</code> in [[Module:Township]]
<noinclude>{{/doc}}[[Category:Manual Tables]]</noinclude>
</noinclude>{{#invoke:Township|getBiomeTable}}
{| class="wikitable sortable stickyHeader col-4-right col-5-right"
|- class="headerRow-0"
!rowspan="2" colspan="2"| Biome
!colspan="3"| Requirements
|- class="headerRow-1"
! Level
! {{TownshipIcon|Population}}
! {{TownshipIcon|Fortification}}
|-
| {{TownshipIcon|Grasslands|notext=true}}
| Grasslands
|data-sort-value=1| {{Skill|Township|notext=true}} 1
|data-sort-value=0| 0
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Forest|notext=true}}
| Forest
|data-sort-value=1| {{Skill|Township|notext=true}} 1
|data-sort-value=0| 0
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Mountains|notext=true}}
| Mountains
|data-sort-value=1| {{Skill|Township|notext=true}} 1
|data-sort-value=0| 0
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Water|notext=true}}
| Water
|data-sort-value=1| {{Skill|Township|notext=true}} 1
|data-sort-value=0| 0
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Swamp|notext=true}}
| Swamp
|data-sort-value=15| {{Skill|Township|notext=true}} 15
|data-sort-value=0| 0
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Valley|notext=true}}
| Valley
|data-sort-value=15| {{Skill|Township|notext=true}} 15
|data-sort-value=0| 0
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Arid Plains|notext=true}}
| Arid Plains
|data-sort-value=15| {{Skill|Township|notext=true}} 15
|data-sort-value=0| 0
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Jungle|notext=true}}
| Jungle
|data-sort-value=35| {{Skill|Township|notext=true}} 35
|data-sort-value=2500| 2,500
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Desert|notext=true}}
| Desert
|data-sort-value=35| {{Skill|Township|notext=true}} 35
|data-sort-value=2500| 2,500
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Snowlands|notext=true}}
| Snowlands
|data-sort-value=35| {{Skill|Township|notext=true}} 35
|data-sort-value=2500| 2,500
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Abyssal Plains|notext=true}}
| Abyssal Plains
|data-sort-value=121| {{AbyssalSkill|Township|notext=true}} 1
|data-sort-value=80000| 80,000
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Sulfuric Wastelands|notext=true}}
| Sulfuric Wastelands
|data-sort-value=121| {{AbyssalSkill|Township|notext=true}} 1
|data-sort-value=80000| 80,000
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Obsidian Cliffs|notext=true}}
| Obsidian Cliffs
|data-sort-value=121| {{AbyssalSkill|Township|notext=true}} 1
|data-sort-value=80000| 80,000
|data-sort-value=0| 0%
|-
| {{TownshipIcon|Ethereal Voids|notext=true}}
| Ethereal Voids
|data-sort-value=150| {{AbyssalSkill|Township|notext=true}} 30
|data-sort-value=80000| 80,000
|data-sort-value=7.5| 7.5%
|}

Latest revision as of 07:49, 8 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:TownshipBiomeTable 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-4-right col-5-right"\n|- class="headerRow-0"\n!rowspan="2" colspan="2"| Biome\n!colspan="3"| Requirements\n|- class="headerRow-1"\n! Level\n! {{TownshipIcon|Population}}\n! {{TownshipIcon|Fortification}}`;

game.township.biomes.forEach(biome => {
	let requirement = biome.abyssalTier > 0 ? game.township.abyssalTierRequirements[biome.abyssalTier] : game.township.populationForTier[biome.tier];
	let skillType = biome.abyssalTier > 0 ? 'AbyssalSkill' : 'Skill';
	let population = game.township.populationForTier[biome.tier].population;
	results += `\n|-\n| {{TownshipIcon|${biome.name}|notext=true}}`
	results += `\n| ${biome.name}`
	results += `\n|data-sort-value=${requirement.level || (requirement.abyssalLevel + 120)}| {{${skillType}|Township|notext=true}} ${requirement.level || requirement.abyssalLevel}`
	results += `\n|data-sort-value=${population}| ${numberWithCommas(population)}`
	results += `\n|data-sort-value=${requirement.fortification || 0}| ${requirement.fortification || 0}%`
});
results += '\n|}';console.log(results);
self.nw?.Clipboard.get().set ? self.nw?.Clipboard?.get().set(results, 'text') : copy(results);