Skip to content

Commit 39f6313

Browse files
authored
SV update (Add most mechanics) (#484)
1 parent 8e5b347 commit 39f6313

26 files changed

+1252
-233
lines changed

.eslintrc

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"lastAutoStatus": false,
2525
"startsWith": false,
2626
"notation": true,
27+
"SETDEX_SV": false,
2728
"SETDEX_SS": false,
2829
"SETDEX_SM": false,
2930
"SETDEX_XY": false,
@@ -40,6 +41,7 @@
4041
"GEN6RANDOMBATTLE": false,
4142
"GEN7RANDOMBATTLE": false,
4243
"GEN8RANDOMBATTLE": false,
44+
"GEN9RANDOMBATTLE": false,
4345
"getSelectedTiers": false,
4446
"stickyMoves": false,
4547
"allPokemon": false,

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ This project was created by Honko and is primarily maintained by Austin.
178178
- The Omega Ruby / Alpha Sapphire update was done by gamut-was-taken and Austin.
179179
- The Gen 7 update was done by Austin.
180180
- The Gen 8 update was done by Austin and Kris.
181+
- The Gen 9 update was done by Austin.
181182
- Some CSS styling was contributed by Zarel to match the Pokémon Showdown! theme.
182183

183184
Many other contributors have added features or contributed bug fixes, please see the

calc/package.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414
"@types/node": "^18.11.9"
1515
},
1616
"devDependencies": {
17-
"@pkmn/dex": "^0.6.3",
17+
"@pkmn/dex": "^0.7.0",
1818
"@pkmn/eslint-config": "^2.12.0",
19-
"@types/jest": "^29.2.2",
20-
"@typescript-eslint/eslint-plugin": "^5.42.0",
21-
"@typescript-eslint/parser": "^5.42.0",
22-
"eslint": "^8.27.0",
23-
"eslint-plugin-jest": "^27.1.4",
24-
"jest": "^29.2.2",
19+
"@types/jest": "^29.2.3",
20+
"@typescript-eslint/eslint-plugin": "^5.43.0",
21+
"@typescript-eslint/parser": "^5.43.0",
22+
"eslint": "^8.28.0",
23+
"eslint-plugin-jest": "^27.1.5",
24+
"jest": "^29.3.1",
2525
"ts-jest": "^29.0.3",
26-
"typescript": "^4.8.4"
26+
"typescript": "^4.9.3"
2727
},
2828
"scripts": {
2929
"lint": "eslint --cache src --ext ts",

calc/src/calc.ts

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const MECHANICS = [
2020
calculateBWXY,
2121
calculateSMSS,
2222
calculateSMSS,
23+
calculateSMSS,
2324
];
2425

2526
export function calculate(

calc/src/data/abilities.ts

+35-1
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,41 @@ const SS = SM.concat([
293293
'Wandering Spirit',
294294
]);
295295

296-
export const ABILITIES = [[], RBY, GSC, ADV, DPP, BW, XY, SM, SS];
296+
const SV = SS.concat([
297+
'Anger Shell',
298+
'Armor Tail',
299+
'Beads of Ruin',
300+
'Commander',
301+
'Costar',
302+
'Cud Chew',
303+
'Earth Eater',
304+
'Electromorphosis',
305+
'Good as Gold',
306+
'Guard Dog',
307+
'Hadron Engine',
308+
'Lingering Aroma',
309+
'Mycelium Might',
310+
'Opportunist',
311+
'Orichalcum Pulse',
312+
'Protosynthesis',
313+
'Purifying Salt',
314+
'Quark Drive',
315+
'Rocky Payload',
316+
'Seed Sower',
317+
'Sharpness',
318+
'Supreme Overlord',
319+
'Sword of Ruin',
320+
'Tablets of Ruin',
321+
'Thermal Exchange',
322+
'Toxic Debris',
323+
'Vessel of Ruin',
324+
'Well-Baked Body',
325+
'Wind Power',
326+
'Wind Rider',
327+
'Zero to Hero',
328+
]);
329+
330+
export const ABILITIES = [[], RBY, GSC, ADV, DPP, BW, XY, SM, SS, SV];
297331

298332
export class Abilities implements I.Abilities {
299333
private readonly gen: I.GenerationNum;

calc/src/data/interface.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export interface As<T> {__brand: T}
22
export type ID = (string & As<'ID'>) | (string & { __isID: true }) | '';
3-
export type GenerationNum = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
3+
export type GenerationNum = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
44
export type GenderName = 'M' | 'F' | 'N';
55
export type StatID = 'hp' | StatIDExceptHP;
66
export type StatIDExceptHP = 'atk' | 'def' | 'spa' | 'spd' | 'spe';
@@ -92,6 +92,7 @@ export interface MoveFlags {
9292
punch?: 1 | 0;
9393
bullet?: 1 | 0;
9494
pulse?: 1 | 0;
95+
slicing?: 1 | 0;
9596
}
9697

9798
export interface SelfOrSecondaryEffect {

calc/src/data/items.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,16 @@ const SS = SM.concat([
461461
'Throat Spray',
462462
]);
463463

464+
const SV = SM.concat([
465+
'Ability Shield',
466+
'Booster Energy',
467+
'Clear Amulet',
468+
'Covert Cloak',
469+
'Loaded Dice',
470+
'Mirror Herb',
471+
'Punching Glove',
472+
]);
473+
464474
for (let i = 0; i < 100; i++) {
465475
SS.push(`TR${i < 10 ? `0${i}` : i}`);
466476
}
@@ -550,7 +560,7 @@ const BERRIES: {[berry: string]: {t: I.TypeName; p: number}} = {
550560
'Yache Berry': {t: 'Ice', p: 80},
551561
};
552562

553-
export const ITEMS = [[], RBY, GSC, ADV, DPP, BW, XY, SM, SS];
563+
export const ITEMS = [[], RBY, GSC, ADV, DPP, BW, XY, SM, SS, SV];
554564

555565
export class Items implements I.Items {
556566
private readonly gen: I.GenerationNum;

0 commit comments

Comments
 (0)