[Bug] Prevent Mystical Rock after Max Stack

This commit is contained in:
xsn34kzx 2025-04-01 12:31:14 -04:00
parent 6477be99f5
commit 7f406b22d7

View File

@ -2823,37 +2823,48 @@ const modifierPool: ModifierPool = {
modifierTypes.MYSTICAL_ROCK, modifierTypes.MYSTICAL_ROCK,
(party: Pokemon[]) => { (party: Pokemon[]) => {
return party.some(p => { return party.some(p => {
const moveset = p.getMoveset(true).map(m => m.moveId); let isHoldingMax = false;
for (const i of p.getHeldItems()) {
if (i.type.id === "MYSTICAL_ROCK") {
isHoldingMax = i.getStackCount() === i.getMaxStackCount();
break;
}
}
const hasAbility = [ if (!isHoldingMax) {
Abilities.DRIZZLE, const moveset = p.getMoveset(true).map(m => m.moveId);
Abilities.ORICHALCUM_PULSE,
Abilities.DRIZZLE,
Abilities.SAND_STREAM,
Abilities.SAND_SPIT,
Abilities.SNOW_WARNING,
Abilities.ELECTRIC_SURGE,
Abilities.HADRON_ENGINE,
Abilities.PSYCHIC_SURGE,
Abilities.GRASSY_SURGE,
Abilities.SEED_SOWER,
Abilities.MISTY_SURGE,
].some(a => p.hasAbility(a, false, true));
const hasMoves = [ const hasAbility = [
Moves.SUNNY_DAY, Abilities.DRIZZLE,
Moves.RAIN_DANCE, Abilities.ORICHALCUM_PULSE,
Moves.SANDSTORM, Abilities.DRIZZLE,
Moves.SNOWSCAPE, Abilities.SAND_STREAM,
Moves.HAIL, Abilities.SAND_SPIT,
Moves.CHILLY_RECEPTION, Abilities.SNOW_WARNING,
Moves.ELECTRIC_TERRAIN, Abilities.ELECTRIC_SURGE,
Moves.PSYCHIC_TERRAIN, Abilities.HADRON_ENGINE,
Moves.GRASSY_TERRAIN, Abilities.PSYCHIC_SURGE,
Moves.MISTY_TERRAIN, Abilities.GRASSY_SURGE,
].some(m => moveset.includes(m)); Abilities.SEED_SOWER,
Abilities.MISTY_SURGE,
].some(a => p.hasAbility(a, false, true));
return hasAbility || hasMoves; const hasMoves = [
Moves.SUNNY_DAY,
Moves.RAIN_DANCE,
Moves.SANDSTORM,
Moves.SNOWSCAPE,
Moves.HAIL,
Moves.CHILLY_RECEPTION,
Moves.ELECTRIC_TERRAIN,
Moves.PSYCHIC_TERRAIN,
Moves.GRASSY_TERRAIN,
Moves.MISTY_TERRAIN,
].some(m => moveset.includes(m));
return hasAbility || hasMoves;
}
return false;
}) })
? 10 ? 10
: 0; : 0;