mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-16 21:32:18 +02:00
Uniformly picking pokemon
- Constructed an array with the point values repeated based on the number of pokemon with that point value - Tested mobile capabilities and found the system runs better than previously
This commit is contained in:
parent
6499c9dd7b
commit
d517b4fb9e
@ -1899,8 +1899,17 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Randomly select a point value from the available point values
|
// Randomly select a point value from the available point values
|
||||||
// TODO: Random generation is with bias based on how many pokemon are in each point value
|
// Construct an array with the point values repeated based on the number of pokemon with that point value
|
||||||
const randomPointValue = availablePointValues[Utils.randInt(availablePointValues.length, 0)];
|
// This array is used to randomly select a point value with bias
|
||||||
|
const pointValueArray = availablePointValues.reduce((acc, value) => {
|
||||||
|
const numPokemon = this.possibleStarterPokemon[value].length;
|
||||||
|
for (let i = 0; i < numPokemon; i++) {
|
||||||
|
acc.push(value);
|
||||||
|
}
|
||||||
|
return acc;
|
||||||
|
}, []);
|
||||||
|
const randomPointValue = pointValueArray[Utils.randInt(pointValueArray.length, 0)];
|
||||||
|
// const randomPointValue = availablePointValues[Utils.randInt(availablePointValues.length, 0)];
|
||||||
|
|
||||||
// Randomly select a pokemon from the list of pokemon with the selected point value
|
// Randomly select a pokemon from the list of pokemon with the selected point value
|
||||||
const speciesInf = this.possibleStarterPokemon[randomPointValue][Utils.randInt(this.possibleStarterPokemon[randomPointValue].length, 0)];
|
const speciesInf = this.possibleStarterPokemon[randomPointValue][Utils.randInt(this.possibleStarterPokemon[randomPointValue].length, 0)];
|
||||||
@ -1944,6 +1953,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// deprecated function
|
||||||
_generateRandomStarter(): boolean {
|
_generateRandomStarter(): boolean {
|
||||||
var generatedValidPokemon:boolean = false;
|
var generatedValidPokemon:boolean = false;
|
||||||
var hasValidPokemon:boolean = false;
|
var hasValidPokemon:boolean = false;
|
||||||
@ -2018,7 +2028,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
isValidStarter(species): bigint {
|
isValidStarter(species): bigint {
|
||||||
const useOnlyOwnedPokemon:boolean = false;
|
const useOnlyOwnedPokemon:boolean = true;
|
||||||
if (useOnlyOwnedPokemon) {
|
if (useOnlyOwnedPokemon) {
|
||||||
return this.scene.gameData.dexData[species.speciesId].caughtAttr;
|
return this.scene.gameData.dexData[species.speciesId].caughtAttr;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user