Spaces:
Running
Running
// 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 } } = { | |
drought: { sunnyday: 0.2, solarbeam: 2 }, | |
contrary: { terablast: 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']; | |