@@ -370,7 +370,7 @@ process.stdout.write("Building `data/teambuilder-tables.js`... ");
370
370
const LC = GENS . map ( num => num + 0.7 ) ;
371
371
const STADIUM = [ 2.04 , 1.04 ] ;
372
372
const NATDEX = [ 9.1 , 8.1 ] ;
373
- const OTHER = [ 9.9 , 9.69 , 9.68 , 9.67 , 9.66 , 9.65 , 9.64 , 9.411 , 9.41 , 9.401 , 9.4 , 9.2 , - 9.4 , - 9.401 , 8.6 , 8.4 , 8.2 , 8.1 , - 8.4 , - 8.6 , 7.1 ] ;
373
+ const OTHER = [ 9.9 , 9.69 , 9.68 , 9.67 , 9.66 , 9.65 , 9.64 , 9.63 , 9. 411, 9.41 , 9.401 , 9.4 , 9.2 , - 9.4 , - 9.401 , 8.6 , 8.4 , 8.2 , 8.1 , - 8.4 , - 8.6 , 7.1 ] ;
374
374
375
375
// process.stdout.write("\n ");
376
376
for ( const genIdent of [ ...GENS , ...DOUBLES , ...VGC , ...NFE , ...STADIUM , ...OTHER , ...NATDEX , ...LC ] ) {
@@ -382,6 +382,7 @@ process.stdout.write("Building `data/teambuilder-tables.js`... ");
382
382
const isEspionage = ( genIdent === 9.66 ) ;
383
383
const isRebalanced = ( genIdent === 9.65 ) ;
384
384
const isGPT = ( genIdent === 9.64 ) ;
385
+ const is35Pokes = ( genIdent === 9.63 ) ;
385
386
const isMetBattle = ( '' + genIdent ) . endsWith ( '.2' ) ;
386
387
const isNFE = ( '' + genIdent ) . endsWith ( '.3' ) ;
387
388
const isLC = ( '' + genIdent ) . endsWith ( '.7' ) ;
@@ -434,6 +435,7 @@ process.stdout.write("Building `data/teambuilder-tables.js`... ");
434
435
if ( isEspionage ) continue ;
435
436
if ( isRebalanced ) continue ;
436
437
if ( isGPT ) continue ;
438
+ if ( is35Pokes ) continue ;
437
439
const tier = ( ( ) => {
438
440
if ( isMetBattle ) {
439
441
let tier = species . tier ;
@@ -630,6 +632,20 @@ process.stdout.write("Building `data/teambuilder-tables.js`... ");
630
632
tierTable [ tier ] . push ( id ) ;
631
633
}
632
634
635
+ const ThirtyFivePokesFormatsData = requireNoCache ( dawnPath + 'dist/data/mods/35_pokes/formats-data.js' ) . FormatsData ;
636
+ for ( const id of ThirtyFivePokesFormatsData ) {
637
+ const species = DawnDex . mod ( '35_pokes' ) . species . get ( id ) ;
638
+ if ( ! is35Pokes ) continue ;
639
+ let tier = "Illegal"
640
+ const entry = ThirtyFivePokesFormatsData [ id ] ;
641
+ if ( entry && entry . tier && typeof entry . tier === "string" ) {
642
+ tier = entry . tier ;
643
+ }
644
+ overrideTier [ species . id ] = tier ;
645
+ if ( ! tierTable [ tier ] ) tierTable [ tier ] = [ ] ;
646
+ tierTable [ tier ] . push ( id ) ;
647
+ }
648
+
633
649
nonstandardMoves . push ( ...Object . keys ( Dex . data . Moves ) . filter ( id => {
634
650
const move = Dex . mod ( isSSDLC1 ? 'gen8dlc1' : isPreDLC ? 'gen9predlc' : 'gen9dlc1' ) . moves . get ( id ) ;
635
651
const bMove = Dex . mod ( isSSDLC1 ? 'gen8' : 'gen9' ) . moves . get ( id ) ;
@@ -718,6 +734,13 @@ process.stdout.write("Building `data/teambuilder-tables.js`... ");
718
734
BattleTeambuilderTable [ 'gen9gpt' ] . tiers = tiers ;
719
735
BattleTeambuilderTable [ 'gen9gpt' ] . overrideTier = overrideTier ;
720
736
BattleTeambuilderTable [ 'gen9gpt' ] . formatSlices = formatSlices ;
737
+ } else if ( is35Pokes ) {
738
+ BattleTeambuilderTable [ '35_pokes' ] = { } ;
739
+ BattleTeambuilderTable [ '35_pokes' ] . learnsets = { } ;
740
+ BattleTeambuilderTable [ '35_pokes' ] . items = items ;
741
+ BattleTeambuilderTable [ '35_pokes' ] . tiers = tiers ;
742
+ BattleTeambuilderTable [ '35_pokes' ] . overrideTier = overrideTier ;
743
+ BattleTeambuilderTable [ '35_pokes' ] . formatSlices = formatSlices ;
721
744
} else if ( isVGC ) {
722
745
BattleTeambuilderTable [ gen + 'vgc' ] = { } ;
723
746
BattleTeambuilderTable [ gen + 'vgc' ] . tiers = tiers ;
@@ -755,6 +778,9 @@ process.stdout.write("Building `data/teambuilder-tables.js`... ");
755
778
}
756
779
757
780
const tierOrder = ( ( ) => {
781
+ if ( is35Pokes ) {
782
+ return [ "Permitted" ]
783
+ }
758
784
if ( isSanctified || isUniversal || isRebalanced || isGPT ) {
759
785
return [ "AG" , "Uber" , "(Uber)" , "OUBL" , "OU" , "(OU)" , "UUBL" , "UU" , "RUBL" , "RU" , 'HUBL' , 'HU' , "NUBL" , "NU" , "AUBL" , "AU" , "PUBL" , "PU" , "ZUBL" , "ZU" , "FUBL" , "FU" , "NFE" , "LC" ] ;
760
786
}
@@ -815,7 +841,7 @@ process.stdout.write("Building `data/teambuilder-tables.js`... ");
815
841
continue ;
816
842
}
817
843
if ( item . isNonstandard && ! isMetBattle ) {
818
- if ( isNatDex || isSanctified || isOmnifield || isUniversal || isEspionage || isRebalanced || isGPT ) {
844
+ if ( isNatDex || isSanctified || isOmnifield || isUniversal || isEspionage || isRebalanced || isGPT || is35Pokes ) {
819
845
let curItem = item ;
820
846
let curGen = genNum ;
821
847
while ( item . isNonstandard && curGen >= 7 ) {
@@ -1455,7 +1481,7 @@ process.stdout.write("Building `data/teambuilder-tables.js`... ");
1455
1481
// Mods
1456
1482
//
1457
1483
1458
- for ( const mod of [ 'gen7letsgo' , 'gen8bdsp' , 'gen9sanctified' , 'gen9universal' , 'omnifield' , 'gen9espionage' , 'gen9rebalanced' , 'gen9gpt' ] ) {
1484
+ for ( const mod of [ 'gen7letsgo' , 'gen8bdsp' , 'gen9sanctified' , 'gen9universal' , 'omnifield' , 'gen9espionage' , 'gen9rebalanced' , 'gen9gpt' , '35_pokes' ] ) {
1459
1485
const modDex = DawnDex . mod ( mod ) ;
1460
1486
const modData = modDex . data ;
1461
1487
const parentDex = DawnDex . forGen ( modDex . gen ) ;
@@ -1739,12 +1765,14 @@ process.stdout.write("Building `data/moves,items,abilities,typechart,learnsets.j
1739
1765
const EspionageFormatsData = requireNoCache ( dawnPath + 'dist/data/mods/gen9espionage/formats-data.js' ) . FormatsData ;
1740
1766
const RebalancedFormatsData = requireNoCache ( dawnPath + 'dist/data/mods/gen9rebalanced/formats-data.js' ) . FormatsData ;
1741
1767
const GPTFormatsData = requireNoCache ( dawnPath + 'dist/data/mods/gen9gpt/formats-data.js' ) . FormatsData ;
1768
+ const ThirtyFivePokesFormatsData = requireNoCache ( dawnPath + 'dist/data/mods/35_pokes/formats-data.js' ) . FormatsData ;
1742
1769
FormatsData = Object . assign ( SanctifiedFormatsData , FormatsData ) ;
1743
1770
FormatsData = Object . assign ( UniversalFormatsData , FormatsData ) ;
1744
1771
FormatsData = Object . assign ( OmnifieldFormatsData , FormatsData ) ;
1745
1772
FormatsData = Object . assign ( EspionageFormatsData , FormatsData ) ;
1746
1773
FormatsData = Object . assign ( RebalancedFormatsData , FormatsData ) ;
1747
1774
FormatsData = Object . assign ( GPTFormatsData , FormatsData ) ;
1775
+ FormatsData = Object . assign ( ThirtyFivePokesFormatsData , FormatsData ) ;
1748
1776
const buf = 'exports.BattleFormatsData = ' + es3stringify ( FormatsData ) + ';' ;
1749
1777
fs . writeFileSync ( 'play.pokemonshowdown.com/data/formats-data.js' , buf ) ;
1750
1778
}
0 commit comments