[Balance] Adjust moveset generation weighting (#6387)

This commit is contained in:
Xavion3 2025-08-27 09:47:51 +10:00 committed by GitHub
parent 443d747ad1
commit 4b18ad74b3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3070,14 +3070,17 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
if (this.level < levelMove[0]) {
break;
}
let weight = levelMove[0];
let weight = levelMove[0] + 20;
// Evolution Moves
if (weight === EVOLVE_MOVE) {
weight = 50;
if (levelMove[0] === EVOLVE_MOVE) {
weight = 70;
}
// Assume level 1 moves with 80+ BP are "move reminder" moves and bump their weight. Trainers use actual relearn moves.
if ((weight === 1 && allMoves[levelMove[1]].power >= 80) || (weight === RELEARN_MOVE && this.hasTrainer())) {
weight = 40;
if (
(levelMove[0] === 1 && allMoves[levelMove[1]].power >= 80) ||
(levelMove[0] === RELEARN_MOVE && this.hasTrainer())
) {
weight = 60;
}
if (!movePool.some(m => m[0] === levelMove[1]) && !allMoves[levelMove[1]].name.endsWith(" (N)")) {
movePool.push([levelMove[1], weight]);
@ -3107,11 +3110,11 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
}
if (compatible && !movePool.some(m => m[0] === moveId) && !allMoves[moveId].name.endsWith(" (N)")) {
if (tmPoolTiers[moveId] === ModifierTier.COMMON && this.level >= 15) {
movePool.push([moveId, 4]);
movePool.push([moveId, 24]);
} else if (tmPoolTiers[moveId] === ModifierTier.GREAT && this.level >= 30) {
movePool.push([moveId, 8]);
movePool.push([moveId, 28]);
} else if (tmPoolTiers[moveId] === ModifierTier.ULTRA && this.level >= 50) {
movePool.push([moveId, 14]);
movePool.push([moveId, 34]);
}
}
}
@ -3121,7 +3124,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
for (let i = 0; i < 3; i++) {
const moveId = speciesEggMoves[this.species.getRootSpeciesId()][i];
if (!movePool.some(m => m[0] === moveId) && !allMoves[moveId].name.endsWith(" (N)")) {
movePool.push([moveId, 40]);
movePool.push([moveId, 60]);
}
}
const moveId = speciesEggMoves[this.species.getRootSpeciesId()][3];
@ -3132,13 +3135,13 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
!allMoves[moveId].name.endsWith(" (N)") &&
!this.isBoss()
) {
movePool.push([moveId, 30]);
movePool.push([moveId, 50]);
}
if (this.fusionSpecies) {
for (let i = 0; i < 3; i++) {
const moveId = speciesEggMoves[this.fusionSpecies.getRootSpeciesId()][i];
if (!movePool.some(m => m[0] === moveId) && !allMoves[moveId].name.endsWith(" (N)")) {
movePool.push([moveId, 40]);
movePool.push([moveId, 60]);
}
}
const moveId = speciesEggMoves[this.fusionSpecies.getRootSpeciesId()][3];
@ -3149,7 +3152,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
!allMoves[moveId].name.endsWith(" (N)") &&
!this.isBoss()
) {
movePool.push([moveId, 30]);
movePool.push([moveId, 50]);
}
}
}