speciesTmMoves now properly accounts for form-specific tms

This commit is contained in:
Wlowscha 2025-02-01 23:01:17 +01:00 committed by GitHub
parent 399831c1a7
commit 3ccbe51f9e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -68434,10 +68434,10 @@ export const tmSpecies: TmSpecies = {
};
interface SpeciesTmMoves {
[key: integer]: Moves[]
[key: integer]: (Moves | [string | Species, Moves])[];
}
function flipTmSpecies(tmSpecies: TmSpecies): SpeciesTmMoves {
function transposeTmSpecies(tmSpecies: TmSpecies): SpeciesTmMoves {
const flipped: SpeciesTmMoves = {};
for (const move in tmSpecies) {
@ -68445,18 +68445,33 @@ function flipTmSpecies(tmSpecies: TmSpecies): SpeciesTmMoves {
const speciesList = tmSpecies[move];
for (const species of speciesList) {
const speciesKey = Number(species);
if (!flipped[speciesKey]) {
flipped[speciesKey] = [];
if (Array.isArray(species)) {
// Extract base species and all associated forms
const [ baseSpecies, ...forms ] = species;
const speciesKey = Number(baseSpecies);
if (!flipped[speciesKey]) {
flipped[speciesKey] = [];
}
for (const form of forms) {
flipped[speciesKey].push([ form, moveKey ]);
}
} else {
const speciesKey = Number(species);
if (!flipped[speciesKey]) {
flipped[speciesKey] = [];
}
flipped[speciesKey].push(moveKey);
}
flipped[speciesKey].push(moveKey);
}
}
return flipped;
}
export const speciesTmMoves: SpeciesTmMoves = flipTmSpecies(tmSpecies);
export const speciesTmMoves: SpeciesTmMoves = transposeTmSpecies(tmSpecies);
interface TmPoolTiers {
[key: integer]: ModifierTier