diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 9d793310bd6..280228bfd79 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -767,10 +767,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { for (let e = 0; e < evolutionChain.length; e++) { // TODO: Might need to pass specific form index in simulated evolution chain const speciesLevelMoves = getPokemonSpeciesForm(evolutionChain[e][0] as Species, this.formIndex).getLevelMoves(); - levelMoves.push(...speciesLevelMoves.filter(lm => (includeEvolutionMoves && !lm[0]) || ((!e || lm[0] > 1) && (e === evolutionChain.length - 1 || lm[0] <= evolutionChain[e + 1][1])))); + levelMoves.push(...speciesLevelMoves.filter(lm => (includeEvolutionMoves && !lm[0]) || (lm[0] >= evolutionChain[e][1] && (e === evolutionChain.length - 1 || lm[0] <= evolutionChain[e + 1][1])))); } - levelMoves.sort((lma: [integer, integer], lmb: [integer, integer]) => lma[0] < lmb[0] ? 1 : -1); - const uniqueMoves: Moves[] = [];`` + const uniqueMoves: Moves[] = []; levelMoves = levelMoves.filter(lm => { if (uniqueMoves.find(m => m === lm[1])) return false; @@ -927,14 +926,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }); if (attackMovePool.length) { - const randomAttackMove = Utils.randSeedEasedWeightedItem(attackMovePool); + const randomAttackMove = Utils.randSeedWeightedItem(attackMovePool.reverse()); this.moveset.push(new PokemonMove(randomAttackMove, 0, 0)); movePool.splice(movePool.findIndex(m => m === randomAttackMove), 1); } while (movePool.length && this.moveset.length < 4) { - const randomMove = Utils.randSeedEasedWeightedItem(movePool); + const randomMove = Utils.randSeedWeightedItem(movePool.reverse()); this.moveset.push(new PokemonMove(randomMove, 0, 0)); + console.log(allMoves[randomMove]); movePool.splice(movePool.indexOf(randomMove), 1); } diff --git a/src/ui/ui-theme.ts b/src/ui/ui-theme.ts index 3aa0442497b..ebae817b162 100644 --- a/src/ui/ui-theme.ts +++ b/src/ui/ui-theme.ts @@ -61,7 +61,7 @@ export function updateWindowType(scene: BattleScene, windowTypeIndex: integer): const windowObjects: [Phaser.GameObjects.NineSlice, WindowVariant][] = []; const themedObjects: Phaser.GameObjects.Image[] = []; const traverse = (object: any) => { - if (object.hasOwnProperty('children') && object.children instanceof Phaser.GameObjects.DisplayList) { + if (object.hasOwnProperty('children')) { const children = object.children as Phaser.GameObjects.DisplayList; for (let child of children.getAll()) traverse(child); diff --git a/src/utils.ts b/src/utils.ts index 924092962fe..15ef655876b 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -96,16 +96,6 @@ export function randSeedWeightedItem(items: T[]): T { : Phaser.Math.RND.weightedPick(items); } -export function randSeedEasedWeightedItem(items: T[], easingFunction: string = 'Sine.easeIn'): T { - if (!items.length) - return null; - if (items.length === 1) - return items[0]; - const value = Phaser.Math.RND.realInRange(0, 1); - const easedValue = Phaser.Tweens.Builders.GetEaseFunction(easingFunction)(value); - return items[Math.floor(easedValue * items.length)]; -} - export function getSunday(date: Date): Date { const day = date.getDay(); const diff = date.getDate() - day;