mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-12-15 06:15:20 +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 type { PokemonSpecies } from "#data/pokemon-species";
|
||||
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 type { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
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";
|
||||
|
||||
export class RibbonTray extends Phaser.GameObjects.Container {
|
||||
@ -111,8 +111,15 @@ export class RibbonTray extends Phaser.GameObjects.Container {
|
||||
|
||||
this.trayIcons = [];
|
||||
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) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -170,3 +170,47 @@ export function getRibbonKey(flag: RibbonFlag): string {
|
||||
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