pokemon-showdown/data/cg-team-data.ts
pyuk-bot f03dbef9ff
CGT: Add command to view winrates + misc. updates (#10917)
* CGT: Add command to view winrates + misc. updates

* Update data/cg-team-data.ts

* Update data/cg-teams.ts

* Apply suggestions from code review

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2025-02-26 14:55:43 -07:00

79 lines
2.2 KiB
TypeScript

// Data for computer-generated teams
export const MOVE_PAIRINGS: { [moveID: IDEntry]: IDEntry } = {
rest: 'sleeptalk',
sleeptalk: 'rest',
};
// Bonuses to move ratings by ability
export const ABILITY_MOVE_BONUSES: { [abilityID: IDEntry]: { [moveID: IDEntry]: number } } = {
contrary: { terablast: 2 },
drought: { sunnyday: 0.2, solarbeam: 2 },
drizzle: { raindance: 0.2, solarbeam: 0.2, hurricane: 2 },
};
// Bonuses to move ratings by move type
export const ABILITY_MOVE_TYPE_BONUSES: { [abilityID: IDEntry]: { [typeName: string]: number } } = {
darkaura: { Dark: 1.33 },
dragonsmaw: { Dragon: 1.5 },
fairyaura: { Fairy: 1.33 },
steelworker: { Steel: 1.5 },
steelyspirit: { Steel: 1.5 },
transistor: { Electric: 1.3 },
// -ate moves
pixilate: { Normal: 1.5 * 1.2 },
refrigerate: { Normal: 1.5 * 1.2 },
aerilate: { Normal: 1.5 * 1.2 },
normalize: { Normal: 1.2 },
// weather
drizzle: { Water: 1.4, Fire: 0.6 },
drought: { Fire: 1.4, Water: 0.6 },
};
// For moves whose quality isn't obvious from data
// USE SPARINGLY!
export const HARDCODED_MOVE_WEIGHTS: { [moveID: IDEntry]: number } = {
// Fails unless user is asleep
snore: 0,
// Hard to use
lastresort: 0.1, dreameater: 0.1,
// Useless without Berry + sucks even then
belch: 0.2,
// Power increases in conditions out of our control that may occur
avalanche: 1.2,
ficklebeam: 1.3,
hex: 1.2,
stompingtantrum: 1.2,
temperflare: 1.2,
// Attacks that set hazards on hit
// We REALLY like hazards
stoneaxe: 16,
ceaselessedge: 16,
// screens
lightscreen: 3, reflect: 3, auroraveil: 3, // TODO: make sure AVeil always gets Snow?
tailwind: 2,
// mess with the opponent
taunt: 2, disable: 2, encore: 3,
// healing moves
// TODO: should healing moves be more common on bulkier pokemon?
// 25%
junglehealing: 3, lifedew: 3,
// 50%
milkdrink: 5, moonlight: 5, morningsun: 5, recover: 5, roost: 5,
shoreup: 5, slackoff: 5, softboiled: 5, synthesis: 5,
// delayed/consequence
rest: 3, // has sleeptalk potential
wish: 2,
// requires terrain
steelroller: 0.1,
};
export const WEIGHT_BASED_MOVES = ['heatcrash', 'heavyslam', 'lowkick', 'grassknot'];
export const TARGET_HP_BASED_MOVES = ['crushgrip', 'hardpress'];