Skip to content

Commit b2563cf

Browse files
Update banlists for all singles tiers (#18)
* Update banlists for all singles tiers * override the old BL info as well --------- Co-authored-by: Kirk Scheibelhut <kjs@scheibo.com>
1 parent b162e3d commit b2563cf

File tree

2 files changed

+45
-15
lines changed

2 files changed

+45
-15
lines changed

stats/src/reports.ts

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,32 @@ const SUFFIXES = ['', 'suspecttest', 'alpha', 'beta'];
6666
const MIN = [20, 0.5];
6767

6868
export const Reports = new class {
69+
BL: {[tier in Tier]?: Set<string>} = {
70+
UU: new Set([
71+
'baxcalibur', 'blaziken', 'ceruledge', 'espathra', 'garchomp', 'garganacl',
72+
'hoopaunbound', 'ironboulder', 'ironhands', 'kommoo', 'latias', 'moltresgalar',
73+
'okidogi', 'pelipper', 'ursaluna',
74+
]),
75+
RU: new Set([
76+
'blastoise', 'comfey', 'enamorustherian', 'hawlucha', 'haxorus', 'hoopaunbound',
77+
'hydreigon', 'ironjugulis', 'ironleaves', 'manaphy', 'moltresgalar', 'polteageist',
78+
'thundurus', 'thundurustherian', 'yanmega', 'zarude',
79+
]),
80+
NU: new Set([
81+
'armarouge', 'cloyster', 'cresselia', 'deoxysdefense', 'feraligatr', 'gallade',
82+
'gyarados', 'ironthorns', 'lilliganthisui', 'lucario', 'lycanrocdusk', 'mew',
83+
'necrozma', 'oricoriopompom', 'regidrago', 'suicune',
84+
]),
85+
PU: new Set([
86+
'drednaw', 'duraludon', 'flamigo', 'indeedee', 'inteleon', 'oricoriopompom',
87+
'raikou', 'scyther',
88+
]),
89+
ZU: new Set([
90+
'alcremie', 'articunogalar', 'bruxish', 'delphox', 'dudunsparce', 'electrodehisui',
91+
'emboar', 'hariyama', 'kingdra', 'tornadus', 'uxie',
92+
]),
93+
};
94+
6995
usageReport(gen: Generation, format: ID, stats: Statistics, legacy = true) {
7096
const sorted = Object.entries(stats.pokemon).filter(p => p[0] !== 'empty');
7197
if (['challengecup1v1', '1v1'].includes(format)) {
@@ -487,20 +513,6 @@ const SKIP = new Set([
487513
'pikachucosplay',
488514
]);
489515

490-
const BL: {[tier in Tier]?: Set<string>} = {
491-
UU: new Set(['espathra', 'baxcalibur', 'hydreigon']),
492-
RU: new Set([
493-
'haxorus', 'lycanrocdusk', 'drednaw', 'toxtricity', 'flamigo', 'hawlucha', 'polteageist',
494-
'oricoriopompom',
495-
]),
496-
NU: new Set([
497-
'florges', 'indeedee', 'oricoriopompom', 'venomoth', 'goodra', 'cetitan', 'oricoriosensu',
498-
'barraskewda',
499-
]),
500-
PU: new Set(['oricorio', 'oricoriopau', 'magneton', 'vivillon', 'sneaselhisui']),
501-
ZU: new Set([]),
502-
};
503-
504516
function usageTiers<T>(type: ReportType, t: () => T): CombinedUsageTiers<T> {
505517
switch (type) {
506518
case 'singles': return {OU: t(), UU: t(), RU: t(), NU: t(), PU: t()};
@@ -590,7 +602,7 @@ function updateTiers(
590602
if (!updated.has(species.id)) updated.set(species.id, doubles ? 'DNU' : 'ZU');
591603

592604
const newTier = updated.get(species.id);
593-
if (newTier && BL[newTier as Tier]?.has(species.id)) {
605+
if (newTier && Reports.BL[newTier as Tier]?.has(species.id)) {
594606
updated.set(species.id, `${newTier}BL` as Tier);
595607
}
596608
}

stats/src/test/integration.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,24 @@ function override(gen: Generation) {
111111
}
112112
}
113113
}
114+
115+
// The tiering data doesn't keep track of Pokémon that were banned by various
116+
// tiers below their current one, so we need to also restore the banlist info
117+
// that was present at the time of the test
118+
stats.Reports.BL = {
119+
UU: new Set(['espathra', 'baxcalibur', 'hydreigon']),
120+
RU: new Set([
121+
'haxorus', 'lycanrocdusk', 'drednaw', 'toxtricity', 'flamigo', 'hawlucha', 'polteageist',
122+
'oricoriopompom',
123+
]),
124+
NU: new Set([
125+
'florges', 'indeedee', 'oricoriopompom', 'venomoth', 'goodra', 'cetitan', 'oricoriosensu',
126+
'barraskewda',
127+
]),
128+
PU: new Set(['oricorio', 'oricoriopau', 'magneton', 'vivillon', 'sneaselhisui']),
129+
ZU: new Set([]),
130+
};
131+
114132
return gen;
115133
}
116134

0 commit comments

Comments
 (0)