mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-12-16 06:45:24 +01:00
[UI/UX][Beta] Adjustments to display of ribbons (#6709)
* Introduce custom ordering of ribbons * Displaying classic ribbon for mons that have at least one classic win --------- Co-authored-by: damocleas <damocleas25@gmail.com>
This commit is contained in:
parent
12b57836b2
commit
a55b2b18e8
@ -1,11 +1,11 @@
|
|||||||
import { globalScene } from "#app/global-scene";
|
import { globalScene } from "#app/global-scene";
|
||||||
import type { PokemonSpecies } from "#data/pokemon-species";
|
import type { PokemonSpecies } from "#data/pokemon-species";
|
||||||
import { Button } from "#enums/buttons";
|
import { Button } from "#enums/buttons";
|
||||||
import type { RibbonData, RibbonFlag } from "#system/ribbons/ribbon-data";
|
import { RibbonData, type RibbonFlag } from "#system/ribbons/ribbon-data";
|
||||||
import { ribbonFlagToAssetKey } from "#system/ribbons/ribbon-methods";
|
import { ribbonFlagToAssetKey } from "#system/ribbons/ribbon-methods";
|
||||||
import type { MessageUiHandler } from "#ui/message-ui-handler";
|
import type { MessageUiHandler } from "#ui/message-ui-handler";
|
||||||
import { addWindow } from "#ui/ui-theme";
|
import { addWindow } from "#ui/ui-theme";
|
||||||
import { getAvailableRibbons, getRibbonKey } from "#utils/ribbon-utils";
|
import { getAvailableRibbons, getRibbonKey, orderedRibbons } from "#utils/ribbon-utils";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
|
|
||||||
export class RibbonTray extends Phaser.GameObjects.Container {
|
export class RibbonTray extends Phaser.GameObjects.Container {
|
||||||
@ -111,8 +111,15 @@ export class RibbonTray extends Phaser.GameObjects.Container {
|
|||||||
|
|
||||||
this.trayIcons = [];
|
this.trayIcons = [];
|
||||||
let index = 0;
|
let index = 0;
|
||||||
for (const ribbon of getAvailableRibbons(species)) {
|
|
||||||
const hasRibbon = this.ribbonData.has(ribbon);
|
const availableRibbons = getAvailableRibbons(species);
|
||||||
|
const availableOrderedRibbons = orderedRibbons.filter(r => availableRibbons.includes(r));
|
||||||
|
|
||||||
|
const hasWonClassic = globalScene.gameData.starterData[species.speciesId]?.classicWinCount > 0;
|
||||||
|
|
||||||
|
for (const ribbon of availableOrderedRibbons) {
|
||||||
|
const hasRibbon = this.ribbonData.has(ribbon) || (ribbon === RibbonData.CLASSIC && hasWonClassic);
|
||||||
|
|
||||||
if (!hasRibbon && !globalScene.dexForDevs && !globalScene.showMissingRibbons) {
|
if (!hasRibbon && !globalScene.dexForDevs && !globalScene.showMissingRibbons) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -170,3 +170,47 @@ export function getRibbonKey(flag: RibbonFlag): string {
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This list is used to determined the display order of ribbons in the Pokédex.
|
||||||
|
*/
|
||||||
|
export const orderedRibbons: RibbonFlag[] = [
|
||||||
|
RibbonData.CLASSIC,
|
||||||
|
RibbonData.FRIENDSHIP,
|
||||||
|
RibbonData.FRESH_START,
|
||||||
|
RibbonData.HARDCORE,
|
||||||
|
RibbonData.LIMITED_CATCH,
|
||||||
|
RibbonData.NUZLOCKE,
|
||||||
|
RibbonData.NO_HEAL,
|
||||||
|
RibbonData.NO_SHOP,
|
||||||
|
RibbonData.NO_SUPPORT,
|
||||||
|
RibbonData.MONO_GEN_1,
|
||||||
|
RibbonData.MONO_GEN_2,
|
||||||
|
RibbonData.MONO_GEN_3,
|
||||||
|
RibbonData.MONO_GEN_4,
|
||||||
|
RibbonData.MONO_GEN_5,
|
||||||
|
RibbonData.MONO_GEN_6,
|
||||||
|
RibbonData.MONO_GEN_7,
|
||||||
|
RibbonData.MONO_GEN_8,
|
||||||
|
RibbonData.MONO_GEN_9,
|
||||||
|
RibbonData.MONO_NORMAL,
|
||||||
|
RibbonData.MONO_FIGHTING,
|
||||||
|
RibbonData.MONO_FLYING,
|
||||||
|
RibbonData.MONO_POISON,
|
||||||
|
RibbonData.MONO_GROUND,
|
||||||
|
RibbonData.MONO_ROCK,
|
||||||
|
RibbonData.MONO_BUG,
|
||||||
|
RibbonData.MONO_GHOST,
|
||||||
|
RibbonData.MONO_STEEL,
|
||||||
|
RibbonData.MONO_FIRE,
|
||||||
|
RibbonData.MONO_WATER,
|
||||||
|
RibbonData.MONO_GRASS,
|
||||||
|
RibbonData.MONO_ELECTRIC,
|
||||||
|
RibbonData.MONO_PSYCHIC,
|
||||||
|
RibbonData.MONO_ICE,
|
||||||
|
RibbonData.MONO_DRAGON,
|
||||||
|
RibbonData.MONO_DARK,
|
||||||
|
RibbonData.MONO_FAIRY,
|
||||||
|
RibbonData.INVERSE,
|
||||||
|
RibbonData.FLIP_STATS,
|
||||||
|
];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user