mirror of
https://github.com/smogon/pokemon-showdown-client.git
synced 2026-03-21 17:50:29 -05:00
Fix optimizer output when new spread has a 0 (#2241)
This commit is contained in:
parent
877bda4378
commit
e1643c52dc
|
|
@ -3015,15 +3015,13 @@ function BattleStatOptimizer(set: PokemonSet, formatid: ID) {
|
|||
minus?: StatNameExceptHP,
|
||||
} = {evs: {...origSpread.evs}, plus: bestPlus, minus: bestMinus};
|
||||
if (bestPlus !== origNature.plus || bestMinus !== origNature.minus) {
|
||||
if (bestPlusMinEVs) newSpread.evs[bestPlus] = bestPlusMinEVs;
|
||||
if (bestMinusMinEVs) newSpread.evs[bestMinus] = bestMinusMinEVs;
|
||||
newSpread.evs[bestPlus] = bestPlusMinEVs!;
|
||||
newSpread.evs[bestMinus] = bestMinusMinEVs!;
|
||||
if (origNature.plus && origNature.plus !== bestPlus && origNature.plus !== bestMinus) {
|
||||
const oldPlusEVs = getMinEVs(origNature.plus, newSpread);
|
||||
if (oldPlusEVs) newSpread.evs[origNature.plus] = oldPlusEVs;
|
||||
newSpread.evs[origNature.plus] = getMinEVs(origNature.plus, newSpread);
|
||||
}
|
||||
if (origNature.minus && origNature.minus !== bestPlus && origNature.minus !== bestMinus) {
|
||||
const oldMinusEVS = getMinEVs(origNature.minus, newSpread);
|
||||
if (oldMinusEVS) newSpread.evs[origNature.minus] = oldMinusEVS;
|
||||
newSpread.evs[origNature.minus] = getMinEVs(origNature.minus, newSpread);
|
||||
}
|
||||
for (const stat of Dex.statNames) {
|
||||
if (!newSpread.evs[stat]) delete newSpread.evs[stat];
|
||||
|
|
|
|||
|
|
@ -94,6 +94,19 @@ describe('EV Optimizer', () => {
|
|||
}, 'gen9');
|
||||
assert.equal(mew2, null);
|
||||
|
||||
const greatTusk = BattleStatOptimizer({
|
||||
species: "Great Tusk",
|
||||
nature: "Jolly",
|
||||
evs: {hp: 136, atk: 92, def: 100, spd: 72, spe: 108},
|
||||
level: 100
|
||||
}, 'gen9');
|
||||
assert.deepStrictEqual(greatTusk, {
|
||||
evs: {hp: 136, atk: 92, spd: 72, spe: 200},
|
||||
plus: 'def',
|
||||
minus: 'spa',
|
||||
savedEVs: 8,
|
||||
});
|
||||
|
||||
const mienfoo = BattleStatOptimizer({
|
||||
species: "Mienfoo",
|
||||
nature: "Jolly",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user