This commit is contained in:
damocleas 2025-08-18 23:38:07 +02:00 committed by GitHub
commit 65541d37ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 7609 additions and 7538 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

After

Width:  |  Height:  |  Size: 584 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 B

View File

@ -99,7 +99,7 @@ export class LoadingScene extends SceneBase {
this.loadImage("type_tera", "ui"); this.loadImage("type_tera", "ui");
this.loadAtlas("type_bgs", "ui"); this.loadAtlas("type_bgs", "ui");
this.loadAtlas("button_tera", "ui"); this.loadAtlas("button_tera", "ui");
this.loadImage("mystery_egg", "ui"); this.loadImage("common_egg", "ui");
this.loadImage("normal_memory", "ui"); this.loadImage("normal_memory", "ui");
this.loadImage("dawn_icon_fg", "ui"); this.loadImage("dawn_icon_fg", "ui");

View File

@ -43,13 +43,11 @@ export class Achv {
constructor( constructor(
localizationKey: string, localizationKey: string,
name: string,
description: string, description: string,
iconImage: string, iconImage: string,
score: number, score: number,
conditionFunc?: ConditionFn, conditionFunc?: ConditionFn,
) { ) {
this.name = name;
this.description = description; this.description = description;
this.iconImage = iconImage; this.iconImage = iconImage;
this.score = score; this.score = score;
@ -108,8 +106,8 @@ export class Achv {
export class MoneyAchv extends Achv { export class MoneyAchv extends Achv {
moneyAmount: number; moneyAmount: number;
constructor(localizationKey: string, name: string, moneyAmount: number, iconImage: string, score: number) { constructor(localizationKey: string, moneyAmount: number, iconImage: string, score: number) {
super(localizationKey, name, "", iconImage, score, (_args: any[]) => globalScene.money >= this.moneyAmount); super(localizationKey, "", iconImage, score, (_args: any[]) => globalScene.money >= this.moneyAmount);
this.moneyAmount = moneyAmount; this.moneyAmount = moneyAmount;
} }
} }
@ -117,10 +115,9 @@ export class MoneyAchv extends Achv {
export class RibbonAchv extends Achv { export class RibbonAchv extends Achv {
ribbonAmount: number; ribbonAmount: number;
constructor(localizationKey: string, name: string, ribbonAmount: number, iconImage: string, score: number) { constructor(localizationKey: string, ribbonAmount: number, iconImage: string, score: number) {
super( super(
localizationKey, localizationKey,
name,
"", "",
iconImage, iconImage,
score, score,
@ -133,10 +130,9 @@ export class RibbonAchv extends Achv {
export class DamageAchv extends Achv { export class DamageAchv extends Achv {
damageAmount: number; damageAmount: number;
constructor(localizationKey: string, name: string, damageAmount: number, iconImage: string, score: number) { constructor(localizationKey: string, damageAmount: number, iconImage: string, score: number) {
super( super(
localizationKey, localizationKey,
name,
"", "",
iconImage, iconImage,
score, score,
@ -149,10 +145,9 @@ export class DamageAchv extends Achv {
export class HealAchv extends Achv { export class HealAchv extends Achv {
healAmount: number; healAmount: number;
constructor(localizationKey: string, name: string, healAmount: number, iconImage: string, score: number) { constructor(localizationKey: string, healAmount: number, iconImage: string, score: number) {
super( super(
localizationKey, localizationKey,
name,
"", "",
iconImage, iconImage,
score, score,
@ -165,10 +160,9 @@ export class HealAchv extends Achv {
export class LevelAchv extends Achv { export class LevelAchv extends Achv {
level: number; level: number;
constructor(localizationKey: string, name: string, level: number, iconImage: string, score: number) { constructor(localizationKey: string, level: number, iconImage: string, score: number) {
super( super(
localizationKey, localizationKey,
name,
"", "",
iconImage, iconImage,
score, score,
@ -181,26 +175,24 @@ export class LevelAchv extends Achv {
export class ModifierAchv extends Achv { export class ModifierAchv extends Achv {
constructor( constructor(
localizationKey: string, localizationKey: string,
name: string,
description: string, description: string,
iconImage: string, iconImage: string,
score: number, score: number,
modifierFunc: (modifier: Modifier) => boolean, modifierFunc: (modifier: Modifier) => boolean,
) { ) {
super(localizationKey, name, description, iconImage, score, (args: any[]) => modifierFunc(args[0] as Modifier)); super(localizationKey, description, iconImage, score, (args: any[]) => modifierFunc(args[0] as Modifier));
} }
} }
export class ChallengeAchv extends Achv { export class ChallengeAchv extends Achv {
constructor( constructor(
localizationKey: string, localizationKey: string,
name: string,
description: string, description: string,
iconImage: string, iconImage: string,
score: number, score: number,
challengeFunc: (challenge: Challenge) => boolean, challengeFunc: (challenge: Challenge) => boolean,
) { ) {
super(localizationKey, name, description, iconImage, score, (args: any[]) => challengeFunc(args[0] as Challenge)); super(localizationKey, description, iconImage, score, (args: any[]) => challengeFunc(args[0] as Challenge));
} }
} }
@ -461,83 +453,94 @@ export function getAchievementDescription(localizationKey: string): string {
} }
export const achvs = { export const achvs = {
_10K_MONEY: new MoneyAchv("10KMoney", "", 10000, "nugget", 10),
_100K_MONEY: new MoneyAchv("100KMoney", "", 100000, "big_nugget", 25).setSecret(true),
_1M_MONEY: new MoneyAchv("1MMoney", "", 1000000, "relic_gold", 50).setSecret(true),
_10M_MONEY: new MoneyAchv("10MMoney", "", 10000000, "coin_case", 100).setSecret(true),
_250_DMG: new DamageAchv("250Dmg", "", 250, "lucky_punch", 10),
_1000_DMG: new DamageAchv("1000Dmg", "", 1000, "lucky_punch_great", 25).setSecret(true),
_2500_DMG: new DamageAchv("2500Dmg", "", 2500, "lucky_punch_ultra", 50).setSecret(true),
_10000_DMG: new DamageAchv("10000Dmg", "", 10000, "lucky_punch_master", 100).setSecret(true),
_250_HEAL: new HealAchv("250Heal", "", 250, "potion", 10),
_1000_HEAL: new HealAchv("1000Heal", "", 1000, "super_potion", 25).setSecret(true),
_2500_HEAL: new HealAchv("2500Heal", "", 2500, "hyper_potion", 50).setSecret(true),
_10000_HEAL: new HealAchv("10000Heal", "", 10000, "max_potion", 100).setSecret(true),
LV_100: new LevelAchv("lv100", "", 100, "rare_candy", 25).setSecret(),
LV_250: new LevelAchv("lv250", "", 250, "rarer_candy", 50).setSecret(true),
LV_1000: new LevelAchv("lv1000", "", 1000, "candy_jar", 100).setSecret(true),
_10_RIBBONS: new RibbonAchv("10Ribbons", "", 10, "bronze_ribbon", 10),
_25_RIBBONS: new RibbonAchv("25Ribbons", "", 25, "great_ribbon", 25).setSecret(true),
_50_RIBBONS: new RibbonAchv("50Ribbons", "", 50, "ultra_ribbon", 50).setSecret(true),
_75_RIBBONS: new RibbonAchv("75Ribbons", "", 75, "rogue_ribbon", 75).setSecret(true),
_100_RIBBONS: new RibbonAchv("100Ribbons", "", 100, "master_ribbon", 100).setSecret(true),
TRANSFER_MAX_STAT_STAGE: new Achv("transferMaxStatStage", "", "transferMaxStatStage.description", "baton", 20),
MAX_FRIENDSHIP: new Achv("maxFriendship", "", "maxFriendship.description", "soothe_bell", 25),
MEGA_EVOLVE: new Achv("megaEvolve", "", "megaEvolve.description", "mega_bracelet", 50),
GIGANTAMAX: new Achv("gigantamax", "", "gigantamax.description", "dynamax_band", 50),
TERASTALLIZE: new Achv("terastallize", "", "terastallize.description", "tera_orb", 25),
STELLAR_TERASTALLIZE: new Achv(
"stellarTerastallize",
"",
"stellarTerastallize.description",
"stellar_tera_shard",
25,
).setSecret(true),
SPLICE: new Achv("splice", "", "splice.description", "dna_splicers", 10),
MINI_BLACK_HOLE: new ModifierAchv(
"miniBlackHole",
"",
"miniBlackHole.description",
"mini_black_hole",
25,
modifier => modifier instanceof TurnHeldItemTransferModifier,
).setSecret(),
CATCH_MYTHICAL: new Achv("catchMythical", "", "catchMythical.description", "strange_ball", 50).setSecret(),
CATCH_SUB_LEGENDARY: new Achv("catchSubLegendary", "", "catchSubLegendary.description", "rb", 75).setSecret(),
CATCH_LEGENDARY: new Achv("catchLegendary", "", "catchLegendary.description", "mb", 100).setSecret(),
SEE_SHINY: new Achv("seeShiny", "", "seeShiny.description", "pb_gold", 75),
SHINY_PARTY: new Achv("shinyParty", "", "shinyParty.description", "shiny_charm", 100).setSecret(true),
HATCH_MYTHICAL: new Achv("hatchMythical", "", "hatchMythical.description", "mystery_egg", 75).setSecret(),
HATCH_SUB_LEGENDARY: new Achv(
"hatchSubLegendary",
"",
"hatchSubLegendary.description",
"oval_stone",
100,
).setSecret(),
HATCH_LEGENDARY: new Achv("hatchLegendary", "", "hatchLegendary.description", "lucky_egg", 125).setSecret(),
HATCH_SHINY: new Achv("hatchShiny", "", "hatchShiny.description", "golden_egg", 100).setSecret(),
HIDDEN_ABILITY: new Achv("hiddenAbility", "", "hiddenAbility.description", "ability_charm", 75),
PERFECT_IVS: new Achv("perfectIvs", "", "perfectIvs.description", "blunder_policy", 100),
CLASSIC_VICTORY: new Achv( CLASSIC_VICTORY: new Achv(
"classicVictory", "classicVictory",
"",
"classicVictory.description", "classicVictory.description",
"relic_crown", "relic_crown",
150, 150,
_ => globalScene.gameData.gameStats.sessionsWon === 0, _ => globalScene.gameData.gameStats.sessionsWon === 0,
), ),
_10_RIBBONS: new RibbonAchv("10_RIBBONS", 10, "bronze_ribbon", 10),
_25_RIBBONS: new RibbonAchv("25_RIBBONS", 25, "great_ribbon", 25),
_50_RIBBONS: new RibbonAchv("50_RIBBONS", 50, "ultra_ribbon", 50),
_75_RIBBONS: new RibbonAchv("75_RIBBONS", 75, "rogue_ribbon", 75),
_100_RIBBONS: new RibbonAchv("100_RIBBONS", 100, "master_ribbon", 100),
_10K_MONEY: new MoneyAchv("10KMoney", 10000, "nugget", 10),
_100K_MONEY: new MoneyAchv("100KMoney", 100000, "big_nugget", 25).setSecret(true),
_1M_MONEY: new MoneyAchv("1MMoney", 1000000, "relic_gold", 50).setSecret(true),
_10M_MONEY: new MoneyAchv("10MMoney", 10000000, "coin_case", 100).setSecret(true),
_250_DMG: new DamageAchv("250Dmg", 250, "lucky_punch", 10),
_1000_DMG: new DamageAchv("1000Dmg", 1000, "lucky_punch_great", 25).setSecret(true),
_2500_DMG: new DamageAchv("2500Dmg", 2500, "lucky_punch_ultra", 50).setSecret(true),
_10000_DMG: new DamageAchv("10000Dmg", 10000, "lucky_punch_master", 100).setSecret(true),
_250_HEAL: new HealAchv("250Heal", 250, "potion", 10),
_1000_HEAL: new HealAchv("1000Heal", 1000, "super_potion", 25).setSecret(true),
_2500_HEAL: new HealAchv("2500Heal", 2500, "hyper_potion", 50).setSecret(true),
_10000_HEAL: new HealAchv("10000Heal", 10000, "max_potion", 100).setSecret(true),
LV_100: new LevelAchv("lv100", 100, "rare_candy", 25).setSecret(),
LV_250: new LevelAchv("lv250", 250, "rarer_candy", 50).setSecret(true),
LV_1000: new LevelAchv("lv1000", 1000, "candy_jar", 100).setSecret(true),
TRANSFER_MAX_STAT_STAGE: new Achv("transferMaxStatStage", "transferMaxStatStage.description", "baton", 20),
MAX_FRIENDSHIP: new Achv("maxFriendship", "maxFriendship.description", "soothe_bell", 25),
MEGA_EVOLVE: new Achv("megaEvolve", "megaEvolve.description", "mega_bracelet", 50),
GIGANTAMAX: new Achv("gigantamax", "gigantamax.description", "dynamax_band", 50),
TERASTALLIZE: new Achv("terastallize", "terastallize.description", "tera_orb", 25),
STELLAR_TERASTALLIZE: new Achv("stellarTerastallize", "stellarTerastallize.description", 25).setSecret(true),
SPLICE: new Achv("splice", "splice.description", "dna_splicers", 10),
MINI_BLACK_HOLE: new ModifierAchv(
"miniBlackHole",
"miniBlackHole.description",
"mini_black_hole",
25,
modifier => modifier instanceof TurnHeldItemTransferModifier,
).setSecret(),
CATCH_MYTHICAL: new Achv("catchMythical", "catchMythical.description", "strange_ball", 50).setSecret(),
CATCH_SUB_LEGENDARY: new Achv("catchSubLegendary", "catchSubLegendary.description", "rb", 75).setSecret(),
CATCH_LEGENDARY: new Achv("catchLegendary", "catchLegendary.description", "mb", 100).setSecret(),
SEE_SHINY: new Achv("seeShiny", "seeShiny.description", "pb_gold", 75),
SHINY_PARTY: new Achv("shinyParty", "shinyParty.description", "shiny_charm", 100).setSecret(true),
HATCH_MYTHICAL: new Achv("hatchMythical", "hatchMythical.description", "manaphy_egg", 75).setSecret(),
HATCH_SUB_LEGENDARY: new Achv("hatchSubLegendary", "hatchSubLegendary.description", "epic_egg", 100).setSecret(),
HATCH_LEGENDARY: new Achv("hatchLegendary", "hatchLegendary.description", "legendary_egg", 125).setSecret(),
HATCH_SHINY: new Achv("hatchShiny", "hatchShiny.description", "rogue_egg", 100).setSecret(),
HIDDEN_ABILITY: new Achv("hiddenAbility", "hiddenAbility.description", "ability_charm", 75),
PERFECT_IVS: new Achv("perfectIvs", "perfectIvs.description", "blunder_policy", 100),
UNEVOLVED_CLASSIC_VICTORY: new Achv( UNEVOLVED_CLASSIC_VICTORY: new Achv(
"unevolvedClassicVictory", "unevolvedClassicVictory",
"",
"unevolvedClassicVictory.description", "unevolvedClassicVictory.description",
"eviolite", "eviolite",
175, 175,
_ => globalScene.getPlayerParty().some(p => p.getSpeciesForm(true).speciesId in pokemonEvolutions), _ => globalScene.getPlayerParty().some(p => p.getSpeciesForm(true).speciesId in pokemonEvolutions),
), ),
FRESH_START: new ChallengeAchv(
"freshStart",
"freshStart.description",
"reviver_seed",
100,
c =>
c instanceof FreshStartChallenge &&
c.value === 1 &&
!globalScene.gameMode.challenges.some(
c => [Challenges.INVERSE_BATTLE, Challenges.FLIP_STAT].includes(c.id) && c.value > 0,
),
),
NUZLOCKE: new ChallengeAchv("nuzlocke", "nuzlocke.description", "leaf_stone", 100, isNuzlockeChallenge),
INVERSE_BATTLE: new ChallengeAchv(
"inverseBattle",
"inverseBattle.description",
"inverse",
100,
c => c instanceof InverseBattleChallenge && c.value > 0,
),
FLIP_STATS: new ChallengeAchv(
"flipStats",
"flipStats.description",
"dubious_disc",
100,
c => c instanceof FlipStatChallenge && c.value > 0,
),
MONO_GEN_ONE_VICTORY: new ChallengeAchv( MONO_GEN_ONE_VICTORY: new ChallengeAchv(
"monoGenOne", "monoGenOne",
"",
"monoGenOne.description", "monoGenOne.description",
"ribbon_gen1", "ribbon_gen1",
100, 100,
@ -550,7 +553,6 @@ export const achvs = {
), ),
MONO_GEN_TWO_VICTORY: new ChallengeAchv( MONO_GEN_TWO_VICTORY: new ChallengeAchv(
"monoGenTwo", "monoGenTwo",
"",
"monoGenTwo.description", "monoGenTwo.description",
"ribbon_gen2", "ribbon_gen2",
100, 100,
@ -563,7 +565,6 @@ export const achvs = {
), ),
MONO_GEN_THREE_VICTORY: new ChallengeAchv( MONO_GEN_THREE_VICTORY: new ChallengeAchv(
"monoGenThree", "monoGenThree",
"",
"monoGenThree.description", "monoGenThree.description",
"ribbon_gen3", "ribbon_gen3",
100, 100,
@ -576,7 +577,6 @@ export const achvs = {
), ),
MONO_GEN_FOUR_VICTORY: new ChallengeAchv( MONO_GEN_FOUR_VICTORY: new ChallengeAchv(
"monoGenFour", "monoGenFour",
"",
"monoGenFour.description", "monoGenFour.description",
"ribbon_gen4", "ribbon_gen4",
100, 100,
@ -589,7 +589,6 @@ export const achvs = {
), ),
MONO_GEN_FIVE_VICTORY: new ChallengeAchv( MONO_GEN_FIVE_VICTORY: new ChallengeAchv(
"monoGenFive", "monoGenFive",
"",
"monoGenFive.description", "monoGenFive.description",
"ribbon_gen5", "ribbon_gen5",
100, 100,
@ -602,7 +601,6 @@ export const achvs = {
), ),
MONO_GEN_SIX_VICTORY: new ChallengeAchv( MONO_GEN_SIX_VICTORY: new ChallengeAchv(
"monoGenSix", "monoGenSix",
"",
"monoGenSix.description", "monoGenSix.description",
"ribbon_gen6", "ribbon_gen6",
100, 100,
@ -615,7 +613,6 @@ export const achvs = {
), ),
MONO_GEN_SEVEN_VICTORY: new ChallengeAchv( MONO_GEN_SEVEN_VICTORY: new ChallengeAchv(
"monoGenSeven", "monoGenSeven",
"",
"monoGenSeven.description", "monoGenSeven.description",
"ribbon_gen7", "ribbon_gen7",
100, 100,
@ -628,7 +625,6 @@ export const achvs = {
), ),
MONO_GEN_EIGHT_VICTORY: new ChallengeAchv( MONO_GEN_EIGHT_VICTORY: new ChallengeAchv(
"monoGenEight", "monoGenEight",
"",
"monoGenEight.description", "monoGenEight.description",
"ribbon_gen8", "ribbon_gen8",
100, 100,
@ -641,7 +637,6 @@ export const achvs = {
), ),
MONO_GEN_NINE_VICTORY: new ChallengeAchv( MONO_GEN_NINE_VICTORY: new ChallengeAchv(
"monoGenNine", "monoGenNine",
"",
"monoGenNine.description", "monoGenNine.description",
"ribbon_gen9", "ribbon_gen9",
100, 100,
@ -654,7 +649,6 @@ export const achvs = {
), ),
MONO_NORMAL: new ChallengeAchv( MONO_NORMAL: new ChallengeAchv(
"monoNormal", "monoNormal",
"",
"monoNormal.description", "monoNormal.description",
"silk_scarf", "silk_scarf",
100, 100,
@ -667,7 +661,6 @@ export const achvs = {
), ),
MONO_FIGHTING: new ChallengeAchv( MONO_FIGHTING: new ChallengeAchv(
"monoFighting", "monoFighting",
"",
"monoFighting.description", "monoFighting.description",
"black_belt", "black_belt",
100, 100,
@ -680,7 +673,6 @@ export const achvs = {
), ),
MONO_FLYING: new ChallengeAchv( MONO_FLYING: new ChallengeAchv(
"monoFlying", "monoFlying",
"",
"monoFlying.description", "monoFlying.description",
"sharp_beak", "sharp_beak",
100, 100,
@ -693,7 +685,6 @@ export const achvs = {
), ),
MONO_POISON: new ChallengeAchv( MONO_POISON: new ChallengeAchv(
"monoPoison", "monoPoison",
"",
"monoPoison.description", "monoPoison.description",
"poison_barb", "poison_barb",
100, 100,
@ -706,7 +697,6 @@ export const achvs = {
), ),
MONO_GROUND: new ChallengeAchv( MONO_GROUND: new ChallengeAchv(
"monoGround", "monoGround",
"",
"monoGround.description", "monoGround.description",
"soft_sand", "soft_sand",
100, 100,
@ -719,7 +709,6 @@ export const achvs = {
), ),
MONO_ROCK: new ChallengeAchv( MONO_ROCK: new ChallengeAchv(
"monoRock", "monoRock",
"",
"monoRock.description", "monoRock.description",
"hard_stone", "hard_stone",
100, 100,
@ -732,7 +721,6 @@ export const achvs = {
), ),
MONO_BUG: new ChallengeAchv( MONO_BUG: new ChallengeAchv(
"monoBug", "monoBug",
"",
"monoBug.description", "monoBug.description",
"silver_powder", "silver_powder",
100, 100,
@ -745,7 +733,6 @@ export const achvs = {
), ),
MONO_GHOST: new ChallengeAchv( MONO_GHOST: new ChallengeAchv(
"monoGhost", "monoGhost",
"",
"monoGhost.description", "monoGhost.description",
"spell_tag", "spell_tag",
100, 100,
@ -758,7 +745,6 @@ export const achvs = {
), ),
MONO_STEEL: new ChallengeAchv( MONO_STEEL: new ChallengeAchv(
"monoSteel", "monoSteel",
"",
"monoSteel.description", "monoSteel.description",
"metal_coat", "metal_coat",
100, 100,
@ -771,7 +757,6 @@ export const achvs = {
), ),
MONO_FIRE: new ChallengeAchv( MONO_FIRE: new ChallengeAchv(
"monoFire", "monoFire",
"",
"monoFire.description", "monoFire.description",
"charcoal", "charcoal",
100, 100,
@ -784,7 +769,6 @@ export const achvs = {
), ),
MONO_WATER: new ChallengeAchv( MONO_WATER: new ChallengeAchv(
"monoWater", "monoWater",
"",
"monoWater.description", "monoWater.description",
"mystic_water", "mystic_water",
100, 100,
@ -797,7 +781,6 @@ export const achvs = {
), ),
MONO_GRASS: new ChallengeAchv( MONO_GRASS: new ChallengeAchv(
"monoGrass", "monoGrass",
"",
"monoGrass.description", "monoGrass.description",
"miracle_seed", "miracle_seed",
100, 100,
@ -810,7 +793,6 @@ export const achvs = {
), ),
MONO_ELECTRIC: new ChallengeAchv( MONO_ELECTRIC: new ChallengeAchv(
"monoElectric", "monoElectric",
"",
"monoElectric.description", "monoElectric.description",
"magnet", "magnet",
100, 100,
@ -823,7 +805,6 @@ export const achvs = {
), ),
MONO_PSYCHIC: new ChallengeAchv( MONO_PSYCHIC: new ChallengeAchv(
"monoPsychic", "monoPsychic",
"",
"monoPsychic.description", "monoPsychic.description",
"twisted_spoon", "twisted_spoon",
100, 100,
@ -836,7 +817,6 @@ export const achvs = {
), ),
MONO_ICE: new ChallengeAchv( MONO_ICE: new ChallengeAchv(
"monoIce", "monoIce",
"",
"monoIce.description", "monoIce.description",
"never_melt_ice", "never_melt_ice",
100, 100,
@ -849,7 +829,6 @@ export const achvs = {
), ),
MONO_DRAGON: new ChallengeAchv( MONO_DRAGON: new ChallengeAchv(
"monoDragon", "monoDragon",
"",
"monoDragon.description", "monoDragon.description",
"dragon_fang", "dragon_fang",
100, 100,
@ -862,7 +841,6 @@ export const achvs = {
), ),
MONO_DARK: new ChallengeAchv( MONO_DARK: new ChallengeAchv(
"monoDark", "monoDark",
"",
"monoDark.description", "monoDark.description",
"black_glasses", "black_glasses",
100, 100,
@ -875,7 +853,6 @@ export const achvs = {
), ),
MONO_FAIRY: new ChallengeAchv( MONO_FAIRY: new ChallengeAchv(
"monoFairy", "monoFairy",
"",
"monoFairy.description", "monoFairy.description",
"fairy_feather", "fairy_feather",
100, 100,
@ -886,38 +863,8 @@ export const achvs = {
c => [Challenges.INVERSE_BATTLE, Challenges.FLIP_STAT].includes(c.id) && c.value > 0, c => [Challenges.INVERSE_BATTLE, Challenges.FLIP_STAT].includes(c.id) && c.value > 0,
), ),
), ),
FRESH_START: new ChallengeAchv(
"freshStart",
"",
"freshStart.description",
"reviver_seed",
100,
c =>
c instanceof FreshStartChallenge &&
c.value === 1 &&
!globalScene.gameMode.challenges.some(
c => [Challenges.INVERSE_BATTLE, Challenges.FLIP_STAT].includes(c.id) && c.value > 0,
),
),
INVERSE_BATTLE: new ChallengeAchv(
"inverseBattle",
"",
"inverseBattle.description",
"inverse",
100,
c => c instanceof InverseBattleChallenge && c.value > 0,
),
FLIP_STATS: new ChallengeAchv(
"flipStats",
"",
"flipStats.description",
"dubious_disc",
100,
c => c instanceof FlipStatChallenge && c.value > 0,
),
FLIP_INVERSE: new ChallengeAchv( FLIP_INVERSE: new ChallengeAchv(
"flipInverse", "flipInverse",
"",
"flipInverse.description", "flipInverse.description",
"cracked_pot", "cracked_pot",
100, 100,
@ -926,9 +873,7 @@ export const achvs = {
c.value > 0 && c.value > 0 &&
globalScene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0), globalScene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0),
).setSecret(), ).setSecret(),
// TODO: Decide on icon BREEDERS_IN_SPACE: new Achv("breedersInSpace", "breedersInSpace.description", "moon_stone", 50).setSecret(),
NUZLOCKE: new ChallengeAchv("nuzlocke", "", "nuzlocke.description", "leaf_stone", 100, isNuzlockeChallenge),
BREEDERS_IN_SPACE: new Achv("breedersInSpace", "", "breedersInSpace.description", "moon_stone", 50).setSecret(),
}; };
export function initAchievements() { export function initAchievements() {

View File

@ -30,7 +30,7 @@ const languageSettings: { [key: string]: LanguageSetting } = {
export class AchvsUiHandler extends MessageUiHandler { export class AchvsUiHandler extends MessageUiHandler {
private readonly ROWS = 4; private readonly ROWS = 4;
private readonly COLS = 17; private readonly COLS = 18;
private mainContainer: Phaser.GameObjects.Container; private mainContainer: Phaser.GameObjects.Container;
private iconsContainer: Phaser.GameObjects.Container; private iconsContainer: Phaser.GameObjects.Container;
@ -115,8 +115,8 @@ export class AchvsUiHandler extends MessageUiHandler {
this.icons = []; this.icons = [];
for (let a = 0; a < this.ROWS * this.COLS; a++) { for (let a = 0; a < this.ROWS * this.COLS; a++) {
const x = (a % this.COLS) * 18; const x = (a % this.COLS) * 17;
const y = Math.floor(a / this.COLS) * 18; const y = Math.floor(a / this.COLS) * 19;
const icon = globalScene.add.sprite(x, y, "items", "unknown").setOrigin(0).setScale(0.5); const icon = globalScene.add.sprite(x, y, "items", "unknown").setOrigin(0).setScale(0.5);

View File

@ -107,7 +107,7 @@ export class PokedexMonContainer extends Phaser.GameObjects.Container {
this.candyUpgradeOverlayIcon = candyUpgradeOverlayIcon; this.candyUpgradeOverlayIcon = candyUpgradeOverlayIcon;
// move icons // move icons
const eggMove1Icon = globalScene.add.image(0, 12, "mystery_egg"); const eggMove1Icon = globalScene.add.image(0, 12, "common_egg");
eggMove1Icon.setOrigin(0, 0); eggMove1Icon.setOrigin(0, 0);
eggMove1Icon.setScale(0.25); eggMove1Icon.setScale(0.25);
eggMove1Icon.setVisible(false); eggMove1Icon.setVisible(false);
@ -123,7 +123,7 @@ export class PokedexMonContainer extends Phaser.GameObjects.Container {
this.tmMove1Icon = tmMove1Icon; this.tmMove1Icon = tmMove1Icon;
// move icons // move icons
const eggMove2Icon = globalScene.add.image(7, 12, "mystery_egg"); const eggMove2Icon = globalScene.add.image(7, 12, "common_egg");
eggMove2Icon.setOrigin(0, 0); eggMove2Icon.setOrigin(0, 0);
eggMove2Icon.setScale(0.25); eggMove2Icon.setScale(0.25);
eggMove2Icon.setVisible(false); eggMove2Icon.setVisible(false);