Skip to content

Commit e147b21

Browse files
committed
1 parent 45d2a3c commit e147b21

33 files changed

+345
-169
lines changed

client/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pkmn/client",
3-
"version": "0.6.28",
3+
"version": "0.6.29",
44
"description": "Client battle engine for Pokémon Showdown",
55
"repository": "github:pkmn/ps",
66
"license": "MIT",
@@ -15,11 +15,11 @@
1515
"build"
1616
],
1717
"dependencies": {
18-
"@pkmn/data": "^0.9.22",
19-
"@pkmn/protocol": "^0.6.28"
18+
"@pkmn/data": "^0.9.23",
19+
"@pkmn/protocol": "^0.6.29"
2020
},
2121
"devDependencies": {
22-
"@pkmn/dex": "^0.9.22"
22+
"@pkmn/dex": "^0.9.23"
2323
},
2424
"scripts": {
2525
"lint": "eslint --cache src",

client/src/handler.ts

+4
Original file line numberDiff line numberDiff line change
@@ -720,6 +720,10 @@ export class Handler implements Protocol.Handler {
720720
poke.terastallized = type;
721721
poke.details = `${poke.details}, tera:${type}` as PokemonDetails;
722722
poke.searchid = `${poke.searchid}, tera:${type}` as PokemonSearchID;
723+
if (poke.speciesForme.startsWith('Morpeko')) {
724+
poke.details = poke.details.replace('Morpeko', poke.speciesForme) as PokemonDetails;
725+
poke.searchid = `${poke.ident}|${poke.details}` as PokemonSearchID;
726+
}
723727
}
724728
}
725729

data/package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pkmn/data",
3-
"version": "0.9.22",
3+
"version": "0.9.23",
44
"description": "A forked implementation of the Pokémon Showdown client's data layer",
55
"repository": "github:pkmn/ps",
66
"license": "MIT",
@@ -16,12 +16,12 @@
1616
"build"
1717
],
1818
"dependencies": {
19-
"@pkmn/dex-types": "^0.9.22"
19+
"@pkmn/dex-types": "^0.9.23"
2020
},
2121
"devDependencies": {
22-
"@pkmn/dex": "^0.9.22",
23-
"@pkmn/mods": "^0.9.22",
24-
"@pkmn/sim": "^0.9.22",
22+
"@pkmn/dex": "^0.9.23",
23+
"@pkmn/mods": "^0.9.23",
24+
"@pkmn/sim": "^0.9.23",
2525
"@smogon/calc": "^0.10.0"
2626
},
2727
"scripts": {

dex/data/formats-data.json

+28-28
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@
433433
"arbok": {"tier": "PU"},
434434
"pichu": {"tier": "LC"},
435435
"pikachu": {"tier": "NU"},
436-
"raichu": {"tier": "UU"},
436+
"raichu": {"tier": "RU"},
437437
"sandshrew": {"tier": "LC"},
438438
"sandslash": {"tier": "UU"},
439439
"nidoranf": {"tier": "LC"},
@@ -444,9 +444,9 @@
444444
"nidoking": {"tier": "UU"},
445445
"cleffa": {"tier": "LC"},
446446
"clefairy": {"tier": "NFE"},
447-
"clefable": {"tier": "UU"},
447+
"clefable": {"tier": "RU"},
448448
"vulpix": {"tier": "LC"},
449-
"ninetales": {"tier": "UU"},
449+
"ninetales": {"tier": "RU"},
450450
"igglybuff": {"tier": "LC"},
451451
"jigglypuff": {"tier": "NFE"},
452452
"wigglytuff": {"tier": "PU"},
@@ -464,17 +464,17 @@
464464
"diglett": {"tier": "NU"},
465465
"dugtrio": {"tier": "OU"},
466466
"meowth": {"tier": "LC"},
467-
"persian": {"tier": "UU"},
467+
"persian": {"tier": "RU"},
468468
"psyduck": {"tier": "LC"},
469469
"golduck": {"tier": "UU"},
470470
"mankey": {"tier": "LC"},
471-
"primeape": {"tier": "UU"},
471+
"primeape": {"tier": "RU"},
472472
"growlithe": {"tier": "ZU"},
473473
"arcanine": {"tier": "UU"},
474474
"poliwag": {"tier": "LC"},
475475
"poliwhirl": {"tier": "ZUBL"},
476-
"poliwrath": {"tier": "UU"},
477-
"politoed": {"tier": "UU"},
476+
"poliwrath": {"tier": "RU"},
477+
"politoed": {"tier": "RU"},
478478
"abra": {"tier": "ZU"},
479479
"kadabra": {"tier": "UUBL"},
480480
"alakazam": {"tier": "UUBL"},
@@ -483,14 +483,14 @@
483483
"machamp": {"tier": "UUBL"},
484484
"bellsprout": {"tier": "LC"},
485485
"weepinbell": {"tier": "ZU"},
486-
"victreebel": {"tier": "UU"},
486+
"victreebel": {"tier": "RU"},
487487
"tentacool": {"tier": "ZU"},
488488
"tentacruel": {"tier": "UU"},
489489
"geodude": {"tier": "LC"},
490490
"graveler": {"tier": "PU"},
491491
"golem": {"tier": "UU"},
492492
"ponyta": {"tier": "ZU"},
493-
"rapidash": {"tier": "UU"},
493+
"rapidash": {"tier": "RU"},
494494
"slowpoke": {"tier": "LC"},
495495
"slowbro": {"tier": "UUBL"},
496496
"slowking": {"tier": "UU"},
@@ -540,15 +540,15 @@
540540
"seaking": {"tier": "ZU"},
541541
"staryu": {"tier": "ZU"},
542542
"starmie": {"tier": "OU"},
543-
"mrmime": {"tier": "UU"},
543+
"mrmime": {"tier": "RU"},
544544
"scyther": {"tier": "UU"},
545545
"scizor": {"tier": "UUBL"},
546546
"smoochum": {"tier": "ZU"},
547547
"jynx": {"tier": "UUBL"},
548548
"elekid": {"tier": "ZU"},
549549
"electabuzz": {"tier": "UU"},
550550
"magby": {"tier": "ZU"},
551-
"magmar": {"tier": "UU"},
551+
"magmar": {"tier": "RU"},
552552
"pinsir": {"tier": "UU"},
553553
"tauros": {"tier": "UUBL"},
554554
"magikarp": {"tier": "LC"},
@@ -566,7 +566,7 @@
566566
"omanyte": {"tier": "PU"},
567567
"omastar": {"tier": "UU"},
568568
"kabuto": {"tier": "LC"},
569-
"kabutops": {"tier": "UU"},
569+
"kabutops": {"tier": "RU"},
570570
"aerodactyl": {"tier": "OU"},
571571
"snorlax": {"tier": "OU"},
572572
"articuno": {"tier": "UUBL"},
@@ -579,7 +579,7 @@
579579
"mew": {"tier": "Uber"},
580580
"chikorita": {"tier": "LC"},
581581
"bayleef": {"tier": "ZU"},
582-
"meganium": {"tier": "UU"},
582+
"meganium": {"tier": "RU"},
583583
"cyndaquil": {"tier": "ZU"},
584584
"quilava": {"tier": "ZU"},
585585
"typhlosion": {"tier": "UUBL"},
@@ -599,17 +599,17 @@
599599
"togepi": {"tier": "LC"},
600600
"togetic": {"tier": "PU"},
601601
"natu": {"tier": "LC"},
602-
"xatu": {"tier": "UU"},
602+
"xatu": {"tier": "RU"},
603603
"mareep": {"tier": "LC"},
604604
"flaaffy": {"tier": "ZU"},
605605
"ampharos": {"tier": "UU"},
606606
"azurill": {"tier": "LC"},
607607
"marill": {"tier": "NFE"},
608-
"azumarill": {"tier": "UU"},
608+
"azumarill": {"tier": "RU"},
609609
"sudowoodo": {"tier": "NU"},
610610
"hoppip": {"tier": "LC"},
611611
"skiploom": {"tier": "NFE"},
612-
"jumpluff": {"tier": "UU"},
612+
"jumpluff": {"tier": "RUBL"},
613613
"aipom": {"tier": "ZU"},
614614
"sunkern": {"tier": "LC"},
615615
"sunflora": {"tier": "ZU"},
@@ -631,7 +631,7 @@
631631
"qwilfish": {"tier": "UU"},
632632
"shuckle": {"tier": "PU"},
633633
"heracross": {"tier": "OU"},
634-
"sneasel": {"tier": "UU"},
634+
"sneasel": {"tier": "RU"},
635635
"teddiursa": {"tier": "LC"},
636636
"ursaring": {"tier": "UUBL"},
637637
"slugma": {"tier": "LC"},
@@ -642,13 +642,13 @@
642642
"remoraid": {"tier": "LC"},
643643
"octillery": {"tier": "NU"},
644644
"delibird": {"tier": "ZU"},
645-
"mantine": {"tier": "UU"},
645+
"mantine": {"tier": "RU"},
646646
"skarmory": {"tier": "OU"},
647647
"houndour": {"tier": "PU"},
648648
"houndoom": {"tier": "UUBL"},
649649
"phanpy": {"tier": "LC"},
650650
"donphan": {"tier": "UUBL"},
651-
"stantler": {"tier": "UU"},
651+
"stantler": {"tier": "RU"},
652652
"smeargle": {"tier": "UUBL"},
653653
"miltank": {"tier": "UUBL"},
654654
"raikou": {"tier": "UUBL"},
@@ -683,7 +683,7 @@
683683
"ludicolo": {"tier": "UUBL"},
684684
"seedot": {"tier": "LC"},
685685
"nuzleaf": {"tier": "NFE"},
686-
"shiftry": {"tier": "UU"},
686+
"shiftry": {"tier": "RU"},
687687
"taillow": {"tier": "ZU"},
688688
"swellow": {"tier": "UUBL"},
689689
"wingull": {"tier": "LC"},
@@ -699,11 +699,11 @@
699699
"vigoroth": {"tier": "NU"},
700700
"slaking": {"tier": "UUBL"},
701701
"nincada": {"tier": "LC"},
702-
"ninjask": {"tier": "UU"},
702+
"ninjask": {"tier": "RUBL"},
703703
"shedinja": {"tier": "ZUBL"},
704704
"whismur": {"tier": "LC"},
705705
"loudred": {"tier": "NFE"},
706-
"exploud": {"tier": "UU"},
706+
"exploud": {"tier": "RU"},
707707
"makuhita": {"tier": "LC"},
708708
"hariyama": {"tier": "UUBL"},
709709
"nosepass": {"tier": "ZU"},
@@ -713,7 +713,7 @@
713713
"mawile": {"tier": "PU"},
714714
"aron": {"tier": "ZU"},
715715
"lairon": {"tier": "ZUBL"},
716-
"aggron": {"tier": "UU"},
716+
"aggron": {"tier": "RU"},
717717
"meditite": {"tier": "ZU"},
718718
"medicham": {"tier": "UUBL"},
719719
"electrike": {"tier": "LC"},
@@ -726,11 +726,11 @@
726726
"gulpin": {"tier": "LC"},
727727
"swalot": {"tier": "PU"},
728728
"carvanha": {"tier": "LC"},
729-
"sharpedo": {"tier": "UU"},
729+
"sharpedo": {"tier": "RU"},
730730
"wailmer": {"tier": "LC"},
731731
"wailord": {"tier": "NU"},
732732
"numel": {"tier": "LC"},
733-
"camerupt": {"tier": "UU"},
733+
"camerupt": {"tier": "RU"},
734734
"torkoal": {"tier": "NU"},
735735
"spoink": {"tier": "ZU"},
736736
"grumpig": {"tier": "UU"},
@@ -764,12 +764,12 @@
764764
"castformsnowy": {"tier": "ZU"},
765765
"kecleon": {"tier": "NU"},
766766
"shuppet": {"tier": "ZU"},
767-
"banette": {"tier": "UU"},
767+
"banette": {"tier": "RU"},
768768
"duskull": {"tier": "PU"},
769769
"dusclops": {"tier": "UUBL"},
770770
"tropius": {"tier": "ZU"},
771771
"chimecho": {"tier": "NU"},
772-
"absol": {"tier": "UU"},
772+
"absol": {"tier": "RU"},
773773
"snorunt": {"tier": "ZU"},
774774
"glalie": {"tier": "NU"},
775775
"spheal": {"tier": "LC"},
@@ -8676,7 +8676,7 @@
86768676
},
86778677
"poltchageist": {"tier": "LC"},
86788678
"sinistcha": {"tier": "UU", "doublesTier": "DOU", "natDexTier": "RU"},
8679-
"okidogi": {"tier": "UU", "doublesTier": "(DUU)", "natDexTier": "RU"},
8679+
"okidogi": {"tier": "UUBL", "doublesTier": "(DUU)", "natDexTier": "RU"},
86808680
"munkidori": {"tier": "NU", "doublesTier": "(DUU)", "natDexTier": "RU"},
86818681
"fezandipiti": {"tier": "RU", "doublesTier": "(DUU)", "natDexTier": "RU"},
86828682
"ogerpon": {"tier": "UU", "doublesTier": "(DUU)", "natDexTier": "RU"},

dex/data/items.json

+6-2
Original file line numberDiff line numberDiff line change
@@ -1136,7 +1136,11 @@
11361136
"watermemory": {"inherit": true, "isNonstandard": null},
11371137
"waveincense": {"inherit": true, "isNonstandard": null},
11381138
"whippeddream": {"inherit": true, "isNonstandard": null},
1139-
"zapplate": {"inherit": true, "isNonstandard": "Past"}
1139+
"zapplate": {"inherit": true, "isNonstandard": "Past"},
1140+
"utilityumbrella": {
1141+
"inherit": true,
1142+
"desc": "The holder ignores rain- and sun-based effects, including those of its Ability. Damage and accuracy calculations from attacks used by the holder are affected by rain and sun, but not attacks used against the holder."
1143+
}
11401144
},
11411145
"9": {
11421146
"abilityshield": {
@@ -5445,7 +5449,7 @@
54455449
"fling": {"basePower": 60},
54465450
"num": 1123,
54475451
"gen": 8,
5448-
"desc": "The holder ignores rain- and sun-based effects. Damage and accuracy calculations from attacks used by the holder are affected by rain and sun, but not attacks used against the holder.",
5452+
"desc": "The holder ignores rain- and sun-based effects, including those of its Ability unless it is Orichalcum Pulse or Protosynthesis. Damage and accuracy calculations from attacks used by the holder are affected by rain and sun, but not attacks used against the holder.",
54495453
"shortDesc": "The holder ignores rain- and sun-based effects."
54505454
},
54515455
"venusaurite": {

dex/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pkmn/dex",
3-
"version": "0.9.22",
3+
"version": "0.9.23",
44
"description": "A unification of Pokémon Showdown's client's and server's data layers",
55
"repository": "github:pkmn/ps",
66
"license": "MIT",
@@ -16,7 +16,7 @@
1616
"build"
1717
],
1818
"dependencies": {
19-
"@pkmn/dex-types": "^0.9.22"
19+
"@pkmn/dex-types": "^0.9.23"
2020
},
2121
"scripts": {
2222
"lint": "eslint --cache *.ts",

dex/types/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pkmn/dex-types",
3-
"version": "0.9.22",
3+
"version": "0.9.23",
44
"types": "index.d.ts",
55
"description": "Common Pokémon Showdown Dex types shared by @pkmn/dex and @pkmn/sim",
66
"repository": "github:pkmn/ps",

import

+1-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ const RANDOMS_IMPORTS = {
260260
[['MoveCounter', 'RandomGen8Teams', 'TeamData'], './gen8'],
261261
[['Utils'], './utils'],
262262
[[
263-
'ModdedDex', 'AnyObject', 'PlayerOptions', 'PRNG', 'PRNGSeed', 'StatID', 'Ability',
263+
'ModdedDex', 'AnyObject', 'PlayerOptions', 'PRNG', 'PRNGSeed', 'StatID', 'Ability', 'ID',
264264
'Format', 'Species', 'RandomTeamsTypes', 'toID', 'Move', 'StatsTable', 'SparseStatsTable',
265265
], '@pkmn/sim'],
266266
],

mods/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pkmn/mods",
3-
"version": "0.9.22",
3+
"version": "0.9.23",
44
"description": "Support for non-standard mods to @pkmn/sim and @pkmn/dex",
55
"repository": "github:pkmn/ps",
66
"author": "Guangcong Luo <[email protected]> (http://guangcongluo.com)",
@@ -114,11 +114,11 @@
114114
"build"
115115
],
116116
"dependencies": {
117-
"@pkmn/dex-types": "^0.9.22"
117+
"@pkmn/dex-types": "^0.9.23"
118118
},
119119
"devDependencies": {
120-
"@pkmn/dex": "^0.9.22",
121-
"@pkmn/sim": "^0.9.22"
120+
"@pkmn/dex": "^0.9.23",
121+
"@pkmn/sim": "^0.9.23"
122122
},
123123
"scripts": {
124124
"lint": "eslint --cache src",

protocol/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pkmn/protocol",
3-
"version": "0.6.28",
3+
"version": "0.6.29",
44
"description": "Parsing logic for Pokémon Showdown's PROTOCOL and SIM-PROTOCOL",
55
"repository": "github:pkmn/ps",
66
"license": "MIT",
@@ -40,8 +40,8 @@
4040
"@pkmn/types": "^4.0.0"
4141
},
4242
"devDependencies": {
43-
"@pkmn/dex": "^0.9.22",
44-
"@pkmn/data": "^0.9.22"
43+
"@pkmn/dex": "^0.9.23",
44+
"@pkmn/data": "^0.9.23"
4545
},
4646
"scripts": {
4747
"lint": "eslint --cache src",

randoms/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pkmn/randoms",
3-
"version": "0.9.22",
3+
"version": "0.9.23",
44
"description": "Random team generation logic for Pokémon Showdown's Random Battle formats",
55
"repository": "github:pkmn/ps",
66
"license": "MIT",
@@ -15,7 +15,7 @@
1515
"build"
1616
],
1717
"dependencies": {
18-
"@pkmn/sim": "^0.9.22"
18+
"@pkmn/sim": "^0.9.23"
1919
},
2020
"scripts": {
2121
"lint": "eslint --cache src",

randoms/src/gen3.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,7 @@ export class RandomGen3Teams extends RandomGen4Teams {
143143

144144
// Develop additional move lists
145145
const badWithSetup = ['knockoff', 'rapidspin', 'toxic'];
146-
const statusMoves = this.dex.moves.all()
147-
.filter(move => move.category === 'Status')
148-
.map(move => move.id);
146+
const statusMoves = this.cachedStatusMoves;
149147

150148
// General incompatibilities
151149
const incompatiblePairs = [

0 commit comments

Comments
 (0)