New tierlists :)
This commit is contained in:
@@ -21,28 +21,37 @@ const champions = championsData.value.slice(1).filter((champion) => {
|
||||
acc || (current.data.toLowerCase() == lane.toLowerCase()), false)
|
||||
})
|
||||
|
||||
function tierFromPickrate(pickrate: number, previousTier: number) {
|
||||
return champions.filter((champion) => {
|
||||
const championData : ChampionData | undefined = infoMap.get(champion.alias.toLowerCase())
|
||||
if(championData == undefined) return false;
|
||||
const allChampions = champions.map((x) => {
|
||||
const championData : ChampionData = infoMap.get(x.alias.toLowerCase())!!
|
||||
|
||||
let currentLane = championData.lanes[0]
|
||||
for(let championLane of championData.lanes) {
|
||||
if(championLane.data.toLowerCase() == lane.toLowerCase()) {
|
||||
currentLane = championLane
|
||||
break
|
||||
}
|
||||
let currentLane = championData.lanes[0]
|
||||
for(let championLane of championData.lanes) {
|
||||
if(championLane.data.toLowerCase() == lane.toLowerCase()) {
|
||||
currentLane = championLane
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return currentLane.pickrate > pickrate && currentLane.pickrate < previousTier
|
||||
}).sort((a, b) => infoMap.get(b.alias.toLowerCase())?.pickrate!! - infoMap.get(a.alias.toLowerCase())?.pickrate!!)
|
||||
return {lane: currentLane, champion: x}
|
||||
}).sort((a, b) => b.lane.pickrate - a.lane.pickrate)
|
||||
|
||||
const p_min = Math.min(...allChampions.map((x) => x.lane.pickrate))
|
||||
const p_max = Math.max(...allChampions.map((x) => x.lane.pickrate))
|
||||
|
||||
allChampions.map((x) => (x as {lane: LaneData, champion: Champion, scaledPickrate: number}).scaledPickrate = (x.lane.pickrate - p_min)/(p_max - p_min))
|
||||
allChampions.sort((a, b) => b.lane.pickrate - a.lane.pickrate)
|
||||
function tierFromScaledPickrate(min: number, max: number) {
|
||||
return (allChampions as Array<{lane: LaneData, champion: Champion, scaledPickrate: number}>)
|
||||
.filter(({scaledPickrate: scaledPickrate}) => {
|
||||
return scaledPickrate > min && scaledPickrate <= max
|
||||
})
|
||||
}
|
||||
|
||||
const s_tier = tierFromPickrate(0.22, 1)
|
||||
const a_tier = tierFromPickrate(0.15, 0.22)
|
||||
const b_tier = tierFromPickrate(0.10, 0.15)
|
||||
const c_tier = tierFromPickrate(0.05, 0.10)
|
||||
const d_tier = tierFromPickrate(0, 0.05)
|
||||
const s_tier = tierFromScaledPickrate(0.9, 1)
|
||||
const a_tier = tierFromScaledPickrate(0.7, 0.9)
|
||||
const b_tier = tierFromScaledPickrate(0.5, 0.7)
|
||||
const c_tier = tierFromScaledPickrate(0.3, 0.5)
|
||||
const d_tier = tierFromScaledPickrate(0.1, 0.3)
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -67,7 +76,9 @@ const d_tier = tierFromPickrate(0, 0.05)
|
||||
<TierlistTier title="C" :tier="c_tier" />
|
||||
<TierlistTier title="D" :tier="d_tier" />
|
||||
|
||||
</div>
|
||||
<TierlistChart style="margin-left: 100px; margin-right: 100px; margin-bottom: 100px; margin-top: 40px" :data="[s_tier, a_tier, b_tier, c_tier, d_tier]" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user