mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-28 11:12:24 +02:00
Showing evolution requirements in message box
This commit is contained in:
parent
70f7ab89f3
commit
9e5ebb6285
@ -7,7 +7,6 @@ import * as Utils from "../utils";
|
||||
import { argbFromRgba } from "@material/material-color-utilities";
|
||||
import { Button } from "#enums/buttons";
|
||||
import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
|
||||
import { UiTheme } from "#app/enums/ui-theme";
|
||||
|
||||
export interface OptionSelectConfig {
|
||||
xOffset?: number;
|
||||
@ -189,6 +188,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
|
||||
|
||||
this.optionSelectContainer.setVisible(true);
|
||||
this.scrollCursor = 0;
|
||||
this.fullCursor = 0;
|
||||
this.setCursor(0);
|
||||
|
||||
if (this.config.delay) {
|
||||
@ -198,6 +198,11 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
|
||||
globalScene.time.delayedCall(Utils.fixedInt(this.config.delay), () => this.unblockInput());
|
||||
}
|
||||
|
||||
if (this.config?.supportHover) {
|
||||
// handle hover code if the element supports hover-handlers and the option has the optional hover-handler set.
|
||||
this.config?.options[this.unskippedIndices[this.fullCursor]]?.onHover?.();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1322,6 +1322,19 @@ export default class PokedexPageUiHandler extends MessageUiHandler {
|
||||
});
|
||||
this.prevolutions.map(pre => {
|
||||
const preSpecies = allSpecies.find(species => species.speciesId === pokemonPrevolutions[this.lastSpecies.speciesId]);
|
||||
|
||||
let conditionText:string = "";
|
||||
if (pre.condition) {
|
||||
conditionText = i18next.t("pokedexUiHandler:evolveGeneric");
|
||||
} else if (pre.level > 1) {
|
||||
conditionText = i18next.t("pokedexUiHandler:evolveAtLv") + ` ${pre.level}`;
|
||||
} else if (pre.item) {
|
||||
conditionText = i18next.t("pokedexUiHandler:evolveUsing") + i18next.t(`modifierType:EvolutionItem.${EvolutionItem[pre.item].toUpperCase()}`) +
|
||||
" (" + (pre.item > 50 ? "Ultra" : "Great") + ")";
|
||||
} else {
|
||||
conditionText = "";
|
||||
}
|
||||
|
||||
options.push({
|
||||
label: pre.preFormKey ?
|
||||
this.getFormString(pre.preFormKey, preSpecies ?? this.lastSpecies, true) :
|
||||
@ -1337,22 +1350,8 @@ export default class PokedexPageUiHandler extends MessageUiHandler {
|
||||
this.clearText();
|
||||
ui.setMode(Mode.POKEDEX_PAGE, newSpecies, newFormIndex, this.starterAttributes);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
let label:string = "";
|
||||
if (pre.level > 1) {
|
||||
label = i18next.t("pokedexUiHandler:evolveAtLv") + ` ${pre.level}`;
|
||||
} else if (pre.item) {
|
||||
label = i18next.t("pokedexUiHandler:evolveUsing") + i18next.t(`modifierType:EvolutionItem.${EvolutionItem[pre.item].toUpperCase()}`) +
|
||||
" (" + (pre.item > 50 ? "Ultra" : "Great") + ")";
|
||||
} else {
|
||||
label = i18next.t("pokedexUiHandler:evolveGeneric");
|
||||
}
|
||||
options.push({
|
||||
label: label,
|
||||
skip: true,
|
||||
handler: () => false
|
||||
},
|
||||
onHover: () => this.showText(conditionText)
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -1368,6 +1367,19 @@ export default class PokedexPageUiHandler extends MessageUiHandler {
|
||||
const evoSpecies = allSpecies.find(species => species.speciesId === evo.speciesId);
|
||||
const evoSpeciesStarterDexEntry = evoSpecies ? globalScene.gameData.dexData[evoSpecies.speciesId] : null;
|
||||
const isCaughtEvo = evoSpeciesStarterDexEntry?.caughtAttr ? true : false;
|
||||
|
||||
let conditionText:string = "";
|
||||
if (evo.condition) {
|
||||
conditionText = i18next.t("pokedexUiHandler:evolveGeneric");
|
||||
} else if (evo.level > 1) {
|
||||
conditionText = i18next.t("pokedexUiHandler:evolveAtLv") + ` ${evo.level}`;
|
||||
} else if (evo.item) {
|
||||
conditionText = i18next.t("pokedexUiHandler:evolveUsing") + i18next.t(`modifierType:EvolutionItem.${EvolutionItem[evo.item].toUpperCase()}`) +
|
||||
" (" + (evo.item > 50 ? "Ultra" : "Great") + ")";
|
||||
} else {
|
||||
conditionText = "";
|
||||
}
|
||||
|
||||
options.push({
|
||||
label: evo.evoFormKey ?
|
||||
this.getFormString(evo.evoFormKey, evoSpecies ?? this.lastSpecies, true) :
|
||||
@ -1384,23 +1396,8 @@ export default class PokedexPageUiHandler extends MessageUiHandler {
|
||||
this.clearText();
|
||||
ui.setMode(Mode.POKEDEX_PAGE, newSpecies, newFormIndex, this.starterAttributes);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
let label:string = "";
|
||||
if (evo.condition) {
|
||||
label = i18next.t("pokedexUiHandler:evolveGeneric");
|
||||
} else if (evo.level > 1) {
|
||||
label = i18next.t("pokedexUiHandler:evolveAtLv") + ` ${evo.level}`;
|
||||
} else if (evo.item) {
|
||||
label = i18next.t("pokedexUiHandler:evolveUsing") + i18next.t(`modifierType:EvolutionItem.${EvolutionItem[evo.item].toUpperCase()}`) +
|
||||
" (" + (evo.item > 50 ? "Ultra" : "Great") + ")";
|
||||
} else {
|
||||
label = i18next.t("pokedexUiHandler:evolveGeneric");
|
||||
}
|
||||
options.push({
|
||||
label: label,
|
||||
skip: true,
|
||||
handler: () => false
|
||||
},
|
||||
onHover: () => this.showText(conditionText)
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ export default class PokedexScanUiHandler extends FormModalUiHandler {
|
||||
abilityKeys: string[];
|
||||
row: number;
|
||||
|
||||
constructor(scene, mode) {
|
||||
constructor(mode) {
|
||||
super(mode);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user