Fixed IVs of trainers using the Battle Seed.

This commit is contained in:
Jimmybald1 2025-05-15 09:01:58 +02:00
parent 02cac77853
commit c0815175f3
2 changed files with 12 additions and 2 deletions

View File

@ -54,7 +54,7 @@ import {
getStarterValueFriendshipCap, getStarterValueFriendshipCap,
speciesStarterCosts, speciesStarterCosts,
} from "#app/data/balance/starters"; } from "#app/data/balance/starters";
import { NumberHolder, randSeedInt, getIvsFromId, BooleanHolder, randSeedItem, isNullOrUndefined, getEnumValues, toDmgValue, fixedInt, rgbaToInt, rgbHexToRgba, rgbToHsv, deltaRgb, isBetween, type nil, type Constructor } from "#app/utils/common"; import { NumberHolder, randSeedInt, getIvsFromId, BooleanHolder, randSeedItem, isNullOrUndefined, getEnumValues, toDmgValue, fixedInt, rgbaToInt, rgbHexToRgba, rgbToHsv, deltaRgb, isBetween, type nil, type Constructor, randSeedIntRange } from "#app/utils/common";
import type { TypeDamageMultiplier } from "#app/data/type"; import type { TypeDamageMultiplier } from "#app/data/type";
import { getTypeDamageMultiplier, getTypeRgb } from "#app/data/type"; import { getTypeDamageMultiplier, getTypeRgb } from "#app/data/type";
import { PokemonType } from "#enums/pokemon-type"; import { PokemonType } from "#enums/pokemon-type";
@ -7133,7 +7133,7 @@ export class EnemyPokemon extends Pokemon {
const { waveIndex } = globalScene.currentBattle; const { waveIndex } = globalScene.currentBattle;
const ivs: number[] = []; const ivs: number[] = [];
while (ivs.length < 6) { while (ivs.length < 6) {
ivs.push(this.randSeedIntRange(Math.floor(waveIndex / 10), 31)); ivs.push(randSeedIntRange(Math.floor(waveIndex / 10), 31));
} }
this.ivs = ivs; this.ivs = ivs;
} }

View File

@ -99,6 +99,16 @@ export function randSeedInt(range: number, min = 0): number {
return Phaser.Math.RND.integerInRange(min, range - 1 + min); return Phaser.Math.RND.integerInRange(min, range - 1 + min);
} }
/**
* Generates a random number using the global seed
* @param min The minimum integer to generate
* @param max The maximum integer to generate
* @returns a random integer between {@linkcode min} and {@linkcode max} inclusive
*/
export function randSeedIntRange(min: number, max: number): number {
return this.randSeedInt(max - min + 1, min);
}
/** /**
* Returns a random integer between min and max (non-inclusive) * Returns a random integer between min and max (non-inclusive)
* @param min The lowest number * @param min The lowest number