mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-01 22:12:16 +02:00
MBE achievement now tracks held items
This commit is contained in:
parent
d22f7b1d4a
commit
4a3a442ebd
@ -87,7 +87,7 @@ import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions";
|
|||||||
import PokeballTray from "#app/ui/pokeball-tray";
|
import PokeballTray from "#app/ui/pokeball-tray";
|
||||||
import InvertPostFX from "#app/pipelines/invert";
|
import InvertPostFX from "#app/pipelines/invert";
|
||||||
import type { Achv } from "#app/system/achv";
|
import type { Achv } from "#app/system/achv";
|
||||||
import { achvs, ModifierAchv, MoneyAchv } from "#app/system/achv";
|
import { achvs, HeldItemAchv, ModifierAchv, MoneyAchv } from "#app/system/achv";
|
||||||
import type { Voucher } from "#app/system/voucher";
|
import type { Voucher } from "#app/system/voucher";
|
||||||
import { vouchers } from "#app/system/voucher";
|
import { vouchers } from "#app/system/voucher";
|
||||||
import { Gender } from "#app/data/gender";
|
import { Gender } from "#app/data/gender";
|
||||||
@ -2698,6 +2698,10 @@ export default class BattleScene extends SceneBase {
|
|||||||
if (playSound && !this.sound.get(soundName)) {
|
if (playSound && !this.sound.get(soundName)) {
|
||||||
this.playSound(soundName);
|
this.playSound(soundName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pokemon.isPlayer()) {
|
||||||
|
this.validateAchvs(HeldItemAchv, pokemon);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addFormChangeItem(itemId: FormChangeItem, pokemon: Pokemon, ignoreUpdate?: boolean) {
|
addFormChangeItem(itemId: FormChangeItem, pokemon: Pokemon, ignoreUpdate?: boolean) {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import type { Modifier } from "typescript";
|
import type { Modifier } from "typescript";
|
||||||
import { TurnHeldItemTransferModifier } from "../modifier/modifier";
|
|
||||||
import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions";
|
import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import { NumberHolder } from "#app/utils/common";
|
import { NumberHolder } from "#app/utils/common";
|
||||||
@ -16,6 +15,8 @@ import type { ConditionFn } from "#app/@types/common";
|
|||||||
import { Stat, getShortenedStatKey } from "#app/enums/stat";
|
import { Stat, getShortenedStatKey } from "#app/enums/stat";
|
||||||
import { Challenges } from "#app/enums/challenges";
|
import { Challenges } from "#app/enums/challenges";
|
||||||
import { globalScene } from "#app/global-scene";
|
import { globalScene } from "#app/global-scene";
|
||||||
|
import { HeldItemId } from "#enums/held-item-id";
|
||||||
|
import type Pokemon from "#app/field/pokemon";
|
||||||
|
|
||||||
export enum AchvTier {
|
export enum AchvTier {
|
||||||
COMMON,
|
COMMON,
|
||||||
@ -189,6 +190,19 @@ export class ModifierAchv extends Achv {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class HeldItemAchv extends Achv {
|
||||||
|
constructor(
|
||||||
|
localizationKey: string,
|
||||||
|
name: string,
|
||||||
|
description: string,
|
||||||
|
iconImage: string,
|
||||||
|
score: number,
|
||||||
|
pokemonFunc: (pokemon: Pokemon) => boolean,
|
||||||
|
) {
|
||||||
|
super(localizationKey, name, description, iconImage, score, (args: any[]) => pokemonFunc(args[0] as Pokemon));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class ChallengeAchv extends Achv {
|
export class ChallengeAchv extends Achv {
|
||||||
constructor(
|
constructor(
|
||||||
localizationKey: string,
|
localizationKey: string,
|
||||||
@ -490,13 +504,13 @@ export const achvs = {
|
|||||||
25,
|
25,
|
||||||
).setSecret(true),
|
).setSecret(true),
|
||||||
SPLICE: new Achv("SPLICE", "", "SPLICE.description", "dna_splicers", 10),
|
SPLICE: new Achv("SPLICE", "", "SPLICE.description", "dna_splicers", 10),
|
||||||
MINI_BLACK_HOLE: new ModifierAchv(
|
MINI_BLACK_HOLE: new HeldItemAchv(
|
||||||
"MINI_BLACK_HOLE",
|
"MINI_BLACK_HOLE",
|
||||||
"",
|
"",
|
||||||
"MINI_BLACK_HOLE.description",
|
"MINI_BLACK_HOLE.description",
|
||||||
"mini_black_hole",
|
"mini_black_hole",
|
||||||
25,
|
25,
|
||||||
modifier => modifier instanceof TurnHeldItemTransferModifier,
|
pokemon => pokemon.heldItemManager.hasItem(HeldItemId.MINI_BLACK_HOLE),
|
||||||
).setSecret(),
|
).setSecret(),
|
||||||
CATCH_MYTHICAL: new Achv("CATCH_MYTHICAL", "", "CATCH_MYTHICAL.description", "strange_ball", 50).setSecret(),
|
CATCH_MYTHICAL: new Achv("CATCH_MYTHICAL", "", "CATCH_MYTHICAL.description", "strange_ball", 50).setSecret(),
|
||||||
CATCH_SUB_LEGENDARY: new Achv("CATCH_SUB_LEGENDARY", "", "CATCH_SUB_LEGENDARY.description", "rb", 75).setSecret(),
|
CATCH_SUB_LEGENDARY: new Achv("CATCH_SUB_LEGENDARY", "", "CATCH_SUB_LEGENDARY.description", "rb", 75).setSecret(),
|
||||||
|
Loading…
Reference in New Issue
Block a user