painful eggs

This commit is contained in:
damocleas 2025-08-11 01:03:27 -04:00
parent ef45a21837
commit 6e99707f39
8 changed files with 49 additions and 99 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 B

View File

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

View File

@ -42,13 +42,11 @@ export class Achv {
constructor(
localizationKey: string,
name: string,
description: string,
iconImage: string,
score: number,
conditionFunc?: ConditionFn,
) {
this.name = name;
this.description = description;
this.iconImage = iconImage;
this.score = score;
@ -107,8 +105,8 @@ export class Achv {
export class MoneyAchv extends Achv {
moneyAmount: number;
constructor(localizationKey: string, name: string, moneyAmount: number, iconImage: string, score: number) {
super(localizationKey, name, "", iconImage, score, (_args: any[]) => globalScene.money >= this.moneyAmount);
constructor(localizationKey: string, moneyAmount: number, iconImage: string, score: number) {
super(localizationKey, "", iconImage, score, (_args: any[]) => globalScene.money >= this.moneyAmount);
this.moneyAmount = moneyAmount;
}
}
@ -116,10 +114,9 @@ export class MoneyAchv extends Achv {
export class RibbonAchv extends Achv {
ribbonAmount: number;
constructor(localizationKey: string, name: string, ribbonAmount: number, iconImage: string, score: number) {
constructor(localizationKey: string, ribbonAmount: number, iconImage: string, score: number) {
super(
localizationKey,
name,
"",
iconImage,
score,
@ -132,10 +129,9 @@ export class RibbonAchv extends Achv {
export class DamageAchv extends Achv {
damageAmount: number;
constructor(localizationKey: string, name: string, damageAmount: number, iconImage: string, score: number) {
constructor(localizationKey: string, damageAmount: number, iconImage: string, score: number) {
super(
localizationKey,
name,
"",
iconImage,
score,
@ -148,10 +144,9 @@ export class DamageAchv extends Achv {
export class HealAchv extends Achv {
healAmount: number;
constructor(localizationKey: string, name: string, healAmount: number, iconImage: string, score: number) {
constructor(localizationKey: string, healAmount: number, iconImage: string, score: number) {
super(
localizationKey,
name,
"",
iconImage,
score,
@ -164,10 +159,9 @@ export class HealAchv extends Achv {
export class LevelAchv extends Achv {
level: number;
constructor(localizationKey: string, name: string, level: number, iconImage: string, score: number) {
constructor(localizationKey: string, level: number, iconImage: string, score: number) {
super(
localizationKey,
name,
"",
iconImage,
score,
@ -180,26 +174,24 @@ export class LevelAchv extends Achv {
export class ModifierAchv extends Achv {
constructor(
localizationKey: string,
name: string,
description: string,
iconImage: string,
score: number,
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 {
constructor(
localizationKey: string,
name: string,
description: string,
iconImage: string,
score: number,
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));
}
}
@ -460,73 +452,63 @@ export function getAchievementDescription(localizationKey: string): string {
export const achvs = {
CLASSIC_VICTORY: new Achv(
"CLASSIC_VICTORY",
"",
"CLASSIC_VICTORY.description",
"relic_crown",
150,
_ => 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("10K_MONEY", "", 10000, "nugget", 10),
_100K_MONEY: new MoneyAchv("100K_MONEY", "", 100000, "big_nugget", 25).setSecret(true),
_1M_MONEY: new MoneyAchv("1M_MONEY", "", 1000000, "relic_gold", 50).setSecret(true),
_10M_MONEY: new MoneyAchv("10M_MONEY", "", 10000000, "coin_case", 100).setSecret(true),
_250_DMG: new DamageAchv("250_DMG", "", 250, "lucky_punch", 10),
_1000_DMG: new DamageAchv("1000_DMG", "", 1000, "lucky_punch_great", 25).setSecret(true),
_2500_DMG: new DamageAchv("2500_DMG", "", 2500, "lucky_punch_ultra", 50).setSecret(true),
_10000_DMG: new DamageAchv("10000_DMG", "", 10000, "lucky_punch_master", 100).setSecret(true),
_250_HEAL: new HealAchv("250_HEAL", "", 250, "potion", 10),
_1000_HEAL: new HealAchv("1000_HEAL", "", 1000, "super_potion", 25).setSecret(true),
_2500_HEAL: new HealAchv("2500_HEAL", "", 2500, "hyper_potion", 50).setSecret(true),
_10000_HEAL: new HealAchv("10000_HEAL", "", 10000, "max_potion", 100).setSecret(true),
LV_100: new LevelAchv("LV_100", "", 100, "rare_candy", 25).setSecret(),
LV_250: new LevelAchv("LV_250", "", 250, "rarer_candy", 50).setSecret(true),
LV_1000: new LevelAchv("LV_1000", "", 1000, "candy_jar", 100).setSecret(true),
TRANSFER_MAX_STAT_STAGE: new Achv("TRANSFER_MAX_STAT_STAGE", "", "TRANSFER_MAX_STAT_STAGE.description", "baton", 20),
MAX_FRIENDSHIP: new Achv("MAX_FRIENDSHIP", "", "MAX_FRIENDSHIP.description", "soothe_bell", 25),
MEGA_EVOLVE: new Achv("MEGA_EVOLVE", "", "MEGA_EVOLVE.description", "mega_bracelet", 50),
GIGANTAMAX: new Achv("GIGANTAMAX", "", "GIGANTAMAX.description", "dynamax_band", 50),
TERASTALLIZE: new Achv("TERASTALLIZE", "", "TERASTALLIZE.description", "tera_orb", 25),
_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("10K_MONEY", 10000, "nugget", 10),
_100K_MONEY: new MoneyAchv("100K_MONEY", 100000, "big_nugget", 25).setSecret(true),
_1M_MONEY: new MoneyAchv("1M_MONEY", 1000000, "relic_gold", 50).setSecret(true),
_10M_MONEY: new MoneyAchv("10M_MONEY", 10000000, "coin_case", 100).setSecret(true),
_250_DMG: new DamageAchv("250_DMG", 250, "lucky_punch", 10),
_1000_DMG: new DamageAchv("1000_DMG", 1000, "lucky_punch_great", 25).setSecret(true),
_2500_DMG: new DamageAchv("2500_DMG", 2500, "lucky_punch_ultra", 50).setSecret(true),
_10000_DMG: new DamageAchv("10000_DMG", 10000, "lucky_punch_master", 100).setSecret(true),
_250_HEAL: new HealAchv("250_HEAL", 250, "potion", 10),
_1000_HEAL: new HealAchv("1000_HEAL", 1000, "super_potion", 25).setSecret(true),
_2500_HEAL: new HealAchv("2500_HEAL", 2500, "hyper_potion", 50).setSecret(true),
_10000_HEAL: new HealAchv("10000_HEAL", 10000, "max_potion", 100).setSecret(true),
LV_100: new LevelAchv("LV_100", 100, "rare_candy", 25).setSecret(),
LV_250: new LevelAchv("LV_250", 250, "rarer_candy", 50).setSecret(true),
LV_1000: new LevelAchv("LV_1000", 1000, "candy_jar", 100).setSecret(true),
TRANSFER_MAX_STAT_STAGE: new Achv("TRANSFER_MAX_STAT_STAGE", "TRANSFER_MAX_STAT_STAGE.description", "baton", 20),
MAX_FRIENDSHIP: new Achv("MAX_FRIENDSHIP", "MAX_FRIENDSHIP.description", "soothe_bell", 25),
MEGA_EVOLVE: new Achv("MEGA_EVOLVE", "MEGA_EVOLVE.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(
"STELLAR_TERASTALLIZE",
"",
"STELLAR_TERASTALLIZE.description",
"stellar_tera_shard",
25,
).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",
"",
"MINI_BLACK_HOLE.description",
"mini_black_hole",
25,
modifier => modifier instanceof TurnHeldItemTransferModifier,
).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_LEGENDARY: new Achv("CATCH_LEGENDARY", "", "CATCH_LEGENDARY.description", "mb", 100).setSecret(),
SEE_SHINY: new Achv("SEE_SHINY", "", "SEE_SHINY.description", "pb_gold", 75),
SHINY_PARTY: new Achv("SHINY_PARTY", "", "SHINY_PARTY.description", "shiny_charm", 100).setSecret(true),
HATCH_MYTHICAL: new Achv("HATCH_MYTHICAL", "", "HATCH_MYTHICAL.description", "mystery_egg", 75).setSecret(),
HATCH_SUB_LEGENDARY: new Achv(
"HATCH_SUB_LEGENDARY",
"",
"HATCH_SUB_LEGENDARY.description",
"oval_stone",
100,
).setSecret(),
HATCH_LEGENDARY: new Achv("HATCH_LEGENDARY", "", "HATCH_LEGENDARY.description", "lucky_egg", 125).setSecret(),
HATCH_SHINY: new Achv("HATCH_SHINY", "", "HATCH_SHINY.description", "golden_egg", 100).setSecret(),
HIDDEN_ABILITY: new Achv("HIDDEN_ABILITY", "", "HIDDEN_ABILITY.description", "ability_charm", 75),
PERFECT_IVS: new Achv("PERFECT_IVS", "", "PERFECT_IVS.description", "blunder_policy", 100),
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_LEGENDARY: new Achv("CATCH_LEGENDARY", "CATCH_LEGENDARY.description", "mb", 100).setSecret(),
SEE_SHINY: new Achv("SEE_SHINY", "SEE_SHINY.description", "pb_gold", 75),
SHINY_PARTY: new Achv("SHINY_PARTY", "SHINY_PARTY.description", "shiny_charm", 100).setSecret(true),
HATCH_MYTHICAL: new Achv("HATCH_MYTHICAL", "HATCH_MYTHICAL.description", "manaphy_egg", 75).setSecret(),
HATCH_SUB_LEGENDARY: new Achv("HATCH_SUB_LEGENDARY", "HATCH_SUB_LEGENDARY.description", "epic_egg", 100).setSecret(),
HATCH_LEGENDARY: new Achv("HATCH_LEGENDARY", "HATCH_LEGENDARY.description", "legendary_egg", 125).setSecret(),
HATCH_SHINY: new Achv("HATCH_SHINY", "HATCH_SHINY.description", "rogue_egg", 100).setSecret(),
HIDDEN_ABILITY: new Achv("HIDDEN_ABILITY", "HIDDEN_ABILITY.description", "ability_charm", 75),
PERFECT_IVS: new Achv("PERFECT_IVS", "PERFECT_IVS.description", "blunder_policy", 100),
UNEVOLVED_CLASSIC_VICTORY: new Achv(
"UNEVOLVED_CLASSIC_VICTORY",
"",
"UNEVOLVED_CLASSIC_VICTORY.description",
"eviolite",
175,
@ -534,7 +516,6 @@ export const achvs = {
),
FRESH_START: new ChallengeAchv(
"FRESH_START",
"",
"FRESH_START.description",
"reviver_seed",
100,
@ -547,7 +528,6 @@ export const achvs = {
),
NUZLOCKE: new ChallengeAchv(
"NUZLOCKE",
"",
"NUZLOCKE.description",
"leaf_stone",
100,
@ -559,7 +539,6 @@ export const achvs = {
),
INVERSE_BATTLE: new ChallengeAchv(
"INVERSE_BATTLE",
"",
"INVERSE_BATTLE.description",
"inverse",
100,
@ -567,7 +546,6 @@ export const achvs = {
),
FLIP_STATS: new ChallengeAchv(
"FLIP_STATS",
"",
"FLIP_STATS.description",
"dubious_disc",
100,
@ -575,7 +553,6 @@ export const achvs = {
),
MONO_GEN_ONE_VICTORY: new ChallengeAchv(
"MONO_GEN_ONE",
"",
"MONO_GEN_ONE.description",
"ribbon_gen1",
100,
@ -588,7 +565,6 @@ export const achvs = {
),
MONO_GEN_TWO_VICTORY: new ChallengeAchv(
"MONO_GEN_TWO",
"",
"MONO_GEN_TWO.description",
"ribbon_gen2",
100,
@ -601,7 +577,6 @@ export const achvs = {
),
MONO_GEN_THREE_VICTORY: new ChallengeAchv(
"MONO_GEN_THREE",
"",
"MONO_GEN_THREE.description",
"ribbon_gen3",
100,
@ -614,7 +589,6 @@ export const achvs = {
),
MONO_GEN_FOUR_VICTORY: new ChallengeAchv(
"MONO_GEN_FOUR",
"",
"MONO_GEN_FOUR.description",
"ribbon_gen4",
100,
@ -627,7 +601,6 @@ export const achvs = {
),
MONO_GEN_FIVE_VICTORY: new ChallengeAchv(
"MONO_GEN_FIVE",
"",
"MONO_GEN_FIVE.description",
"ribbon_gen5",
100,
@ -640,7 +613,6 @@ export const achvs = {
),
MONO_GEN_SIX_VICTORY: new ChallengeAchv(
"MONO_GEN_SIX",
"",
"MONO_GEN_SIX.description",
"ribbon_gen6",
100,
@ -653,7 +625,6 @@ export const achvs = {
),
MONO_GEN_SEVEN_VICTORY: new ChallengeAchv(
"MONO_GEN_SEVEN",
"",
"MONO_GEN_SEVEN.description",
"ribbon_gen7",
100,
@ -666,7 +637,6 @@ export const achvs = {
),
MONO_GEN_EIGHT_VICTORY: new ChallengeAchv(
"MONO_GEN_EIGHT",
"",
"MONO_GEN_EIGHT.description",
"ribbon_gen8",
100,
@ -679,7 +649,6 @@ export const achvs = {
),
MONO_GEN_NINE_VICTORY: new ChallengeAchv(
"MONO_GEN_NINE",
"",
"MONO_GEN_NINE.description",
"ribbon_gen9",
100,
@ -692,7 +661,6 @@ export const achvs = {
),
MONO_NORMAL: new ChallengeAchv(
"MONO_NORMAL",
"",
"MONO_NORMAL.description",
"silk_scarf",
100,
@ -705,7 +673,6 @@ export const achvs = {
),
MONO_FIGHTING: new ChallengeAchv(
"MONO_FIGHTING",
"",
"MONO_FIGHTING.description",
"black_belt",
100,
@ -718,7 +685,6 @@ export const achvs = {
),
MONO_FLYING: new ChallengeAchv(
"MONO_FLYING",
"",
"MONO_FLYING.description",
"sharp_beak",
100,
@ -731,7 +697,6 @@ export const achvs = {
),
MONO_POISON: new ChallengeAchv(
"MONO_POISON",
"",
"MONO_POISON.description",
"poison_barb",
100,
@ -744,7 +709,6 @@ export const achvs = {
),
MONO_GROUND: new ChallengeAchv(
"MONO_GROUND",
"",
"MONO_GROUND.description",
"soft_sand",
100,
@ -757,7 +721,6 @@ export const achvs = {
),
MONO_ROCK: new ChallengeAchv(
"MONO_ROCK",
"",
"MONO_ROCK.description",
"hard_stone",
100,
@ -770,7 +733,6 @@ export const achvs = {
),
MONO_BUG: new ChallengeAchv(
"MONO_BUG",
"",
"MONO_BUG.description",
"silver_powder",
100,
@ -783,7 +745,6 @@ export const achvs = {
),
MONO_GHOST: new ChallengeAchv(
"MONO_GHOST",
"",
"MONO_GHOST.description",
"spell_tag",
100,
@ -796,7 +757,6 @@ export const achvs = {
),
MONO_STEEL: new ChallengeAchv(
"MONO_STEEL",
"",
"MONO_STEEL.description",
"metal_coat",
100,
@ -809,7 +769,6 @@ export const achvs = {
),
MONO_FIRE: new ChallengeAchv(
"MONO_FIRE",
"",
"MONO_FIRE.description",
"charcoal",
100,
@ -822,7 +781,6 @@ export const achvs = {
),
MONO_WATER: new ChallengeAchv(
"MONO_WATER",
"",
"MONO_WATER.description",
"mystic_water",
100,
@ -835,7 +793,6 @@ export const achvs = {
),
MONO_GRASS: new ChallengeAchv(
"MONO_GRASS",
"",
"MONO_GRASS.description",
"miracle_seed",
100,
@ -848,7 +805,6 @@ export const achvs = {
),
MONO_ELECTRIC: new ChallengeAchv(
"MONO_ELECTRIC",
"",
"MONO_ELECTRIC.description",
"magnet",
100,
@ -861,7 +817,6 @@ export const achvs = {
),
MONO_PSYCHIC: new ChallengeAchv(
"MONO_PSYCHIC",
"",
"MONO_PSYCHIC.description",
"twisted_spoon",
100,
@ -874,7 +829,6 @@ export const achvs = {
),
MONO_ICE: new ChallengeAchv(
"MONO_ICE",
"",
"MONO_ICE.description",
"never_melt_ice",
100,
@ -887,7 +841,6 @@ export const achvs = {
),
MONO_DRAGON: new ChallengeAchv(
"MONO_DRAGON",
"",
"MONO_DRAGON.description",
"dragon_fang",
100,
@ -900,7 +853,6 @@ export const achvs = {
),
MONO_DARK: new ChallengeAchv(
"MONO_DARK",
"",
"MONO_DARK.description",
"black_glasses",
100,
@ -913,7 +865,6 @@ export const achvs = {
),
MONO_FAIRY: new ChallengeAchv(
"MONO_FAIRY",
"",
"MONO_FAIRY.description",
"fairy_feather",
100,
@ -926,7 +877,6 @@ export const achvs = {
),
FLIP_INVERSE: new ChallengeAchv(
"FLIP_INVERSE",
"",
"FLIP_INVERSE.description",
"cracked_pot",
100,
@ -935,7 +885,7 @@ export const achvs = {
c.value > 0 &&
globalScene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0),
).setSecret(),
BREEDERS_IN_SPACE: new Achv("BREEDERS_IN_SPACE", "", "BREEDERS_IN_SPACE.description", "moon_stone", 50).setSecret(),
BREEDERS_IN_SPACE: new Achv("BREEDERS_IN_SPACE", "BREEDERS_IN_SPACE.description", "moon_stone", 50).setSecret(),
};
export function initAchievements() {

View File

@ -107,7 +107,7 @@ export class PokedexMonContainer extends Phaser.GameObjects.Container {
this.candyUpgradeOverlayIcon = candyUpgradeOverlayIcon;
// 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.setScale(0.25);
eggMove1Icon.setVisible(false);
@ -123,7 +123,7 @@ export class PokedexMonContainer extends Phaser.GameObjects.Container {
this.tmMove1Icon = tmMove1Icon;
// 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.setScale(0.25);
eggMove2Icon.setVisible(false);