[Beta] Add Ribbon Sprites over stuff (#6704)

* ribbons
* Remove now-unused comments
* Update achv.ts
This commit is contained in:
damocleas 2025-10-29 10:56:15 -04:00 committed by GitHub
parent a66f183a30
commit 9e96380bc0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 63 additions and 34 deletions

View File

@ -458,7 +458,7 @@ export const achvs = {
CLASSIC_VICTORY: new Achv( CLASSIC_VICTORY: new Achv(
"classicVictory", "classicVictory",
"classicVictory.description", "classicVictory.description",
"relic_crown", "classic_ribbon_default",
250, 250,
_ => globalScene.gameData.gameStats.sessionsWon === 0, _ => globalScene.gameData.gameStats.sessionsWon === 0,
), ),
@ -483,7 +483,7 @@ export const achvs = {
LV_250: new LevelAchv("lv250", 250, "rarer_candy", 25).setSecret(true), LV_250: new LevelAchv("lv250", 250, "rarer_candy", 25).setSecret(true),
LV_1000: new LevelAchv("lv1000", 1000, "candy_jar", 50).setSecret(true), LV_1000: new LevelAchv("lv1000", 1000, "candy_jar", 50).setSecret(true),
TRANSFER_MAX_STAT_STAGE: new Achv("transferMaxStatStage", "transferMaxStatStage.description", "baton", 25), TRANSFER_MAX_STAT_STAGE: new Achv("transferMaxStatStage", "transferMaxStatStage.description", "baton", 25),
MAX_FRIENDSHIP: new Achv("maxFriendship", "maxFriendship.description", "soothe_bell", 25), MAX_FRIENDSHIP: new Achv("maxFriendship", "maxFriendship.description", "ribbon_friendship", 25),
MEGA_EVOLVE: new Achv("megaEvolve", "megaEvolve.description", "mega_bracelet", 50), MEGA_EVOLVE: new Achv("megaEvolve", "megaEvolve.description", "mega_bracelet", 50),
GIGANTAMAX: new Achv("gigantamax", "gigantamax.description", "dynamax_band", 50), GIGANTAMAX: new Achv("gigantamax", "gigantamax.description", "dynamax_band", 50),
TERASTALLIZE: new Achv("terastallize", "terastallize.description", "tera_orb", 25), TERASTALLIZE: new Achv("terastallize", "terastallize.description", "tera_orb", 25),
@ -651,7 +651,7 @@ export const achvs = {
MONO_NORMAL: new ChallengeAchv( MONO_NORMAL: new ChallengeAchv(
"monoNormal", "monoNormal",
"monoNormal.description", "monoNormal.description",
"silk_scarf", "ribbon_normal",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -663,7 +663,7 @@ export const achvs = {
MONO_FIGHTING: new ChallengeAchv( MONO_FIGHTING: new ChallengeAchv(
"monoFighting", "monoFighting",
"monoFighting.description", "monoFighting.description",
"black_belt", "ribbon_fighting",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -675,7 +675,7 @@ export const achvs = {
MONO_FLYING: new ChallengeAchv( MONO_FLYING: new ChallengeAchv(
"monoFlying", "monoFlying",
"monoFlying.description", "monoFlying.description",
"sharp_beak", "ribbon_flying",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -687,7 +687,7 @@ export const achvs = {
MONO_POISON: new ChallengeAchv( MONO_POISON: new ChallengeAchv(
"monoPoison", "monoPoison",
"monoPoison.description", "monoPoison.description",
"poison_barb", "ribbon_poison",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -699,7 +699,7 @@ export const achvs = {
MONO_GROUND: new ChallengeAchv( MONO_GROUND: new ChallengeAchv(
"monoGround", "monoGround",
"monoGround.description", "monoGround.description",
"soft_sand", "ribbon_ground",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -711,7 +711,7 @@ export const achvs = {
MONO_ROCK: new ChallengeAchv( MONO_ROCK: new ChallengeAchv(
"monoRock", "monoRock",
"monoRock.description", "monoRock.description",
"hard_stone", "ribbon_rock",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -723,7 +723,7 @@ export const achvs = {
MONO_BUG: new ChallengeAchv( MONO_BUG: new ChallengeAchv(
"monoBug", "monoBug",
"monoBug.description", "monoBug.description",
"silver_powder", "ribbon_bug",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -735,7 +735,7 @@ export const achvs = {
MONO_GHOST: new ChallengeAchv( MONO_GHOST: new ChallengeAchv(
"monoGhost", "monoGhost",
"monoGhost.description", "monoGhost.description",
"spell_tag", "ribbon_ghost",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -747,7 +747,7 @@ export const achvs = {
MONO_STEEL: new ChallengeAchv( MONO_STEEL: new ChallengeAchv(
"monoSteel", "monoSteel",
"monoSteel.description", "monoSteel.description",
"metal_coat", "ribbon_steel",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -759,7 +759,7 @@ export const achvs = {
MONO_FIRE: new ChallengeAchv( MONO_FIRE: new ChallengeAchv(
"monoFire", "monoFire",
"monoFire.description", "monoFire.description",
"charcoal", "ribbon_fire",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -771,7 +771,7 @@ export const achvs = {
MONO_WATER: new ChallengeAchv( MONO_WATER: new ChallengeAchv(
"monoWater", "monoWater",
"monoWater.description", "monoWater.description",
"mystic_water", "ribbon_water",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -783,7 +783,7 @@ export const achvs = {
MONO_GRASS: new ChallengeAchv( MONO_GRASS: new ChallengeAchv(
"monoGrass", "monoGrass",
"monoGrass.description", "monoGrass.description",
"miracle_seed", "ribbon_grass",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -795,7 +795,7 @@ export const achvs = {
MONO_ELECTRIC: new ChallengeAchv( MONO_ELECTRIC: new ChallengeAchv(
"monoElectric", "monoElectric",
"monoElectric.description", "monoElectric.description",
"magnet", "ribbon_electric",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -807,7 +807,7 @@ export const achvs = {
MONO_PSYCHIC: new ChallengeAchv( MONO_PSYCHIC: new ChallengeAchv(
"monoPsychic", "monoPsychic",
"monoPsychic.description", "monoPsychic.description",
"twisted_spoon", "ribbon_psychic",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -819,7 +819,7 @@ export const achvs = {
MONO_ICE: new ChallengeAchv( MONO_ICE: new ChallengeAchv(
"monoIce", "monoIce",
"monoIce.description", "monoIce.description",
"never_melt_ice", "ribbon_ice",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -831,7 +831,7 @@ export const achvs = {
MONO_DRAGON: new ChallengeAchv( MONO_DRAGON: new ChallengeAchv(
"monoDragon", "monoDragon",
"monoDragon.description", "monoDragon.description",
"dragon_fang", "ribbon_dragon",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -843,7 +843,7 @@ export const achvs = {
MONO_DARK: new ChallengeAchv( MONO_DARK: new ChallengeAchv(
"monoDark", "monoDark",
"monoDark.description", "monoDark.description",
"black_glasses", "ribbon_dark",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge
@ -855,7 +855,7 @@ export const achvs = {
MONO_FAIRY: new ChallengeAchv( MONO_FAIRY: new ChallengeAchv(
"monoFairy", "monoFairy",
"monoFairy.description", "monoFairy.description",
"fairy_feather", "ribbon_fairy",
100, 100,
c => c =>
c instanceof SingleTypeChallenge c instanceof SingleTypeChallenge

View File

@ -22,8 +22,12 @@ export function ribbonFlagToAssetKey(flag: RibbonFlag): Phaser.GameObjects.Sprit
let imageKey: string; let imageKey: string;
switch (flag) { switch (flag) {
// biome-ignore-start lint/suspicious/noFallthroughSwitchClause: intentional // biome-ignore-start lint/suspicious/noFallthroughSwitchClause: intentional
case RibbonData.CLASSIC:
imageKey ??= "classic_ribbon_default";
case RibbonData.FRIENDSHIP:
imageKey ??= "ribbon_friendship";
case RibbonData.MONO_GEN_1: case RibbonData.MONO_GEN_1:
imageKey = "ribbon_gen1"; imageKey ??= "ribbon_gen1";
case RibbonData.MONO_GEN_2: case RibbonData.MONO_GEN_2:
imageKey ??= "ribbon_gen2"; imageKey ??= "ribbon_gen2";
case RibbonData.MONO_GEN_3: case RibbonData.MONO_GEN_3:
@ -40,20 +44,45 @@ export function ribbonFlagToAssetKey(flag: RibbonFlag): Phaser.GameObjects.Sprit
imageKey ??= "ribbon_gen8"; imageKey ??= "ribbon_gen8";
case RibbonData.MONO_GEN_9: case RibbonData.MONO_GEN_9:
imageKey ??= "ribbon_gen9"; imageKey ??= "ribbon_gen9";
case RibbonData.MONO_NORMAL:
imageKey ??= "ribbon_normal";
case RibbonData.MONO_FIGHTING:
imageKey ??= "ribbon_fighting";
case RibbonData.MONO_FLYING:
imageKey ??= "ribbon_flying";
case RibbonData.MONO_POISON:
imageKey ??= "ribbon_poison";
case RibbonData.MONO_GROUND:
imageKey ??= "ribbon_ground";
case RibbonData.MONO_ROCK:
imageKey ??= "ribbon_rock";
case RibbonData.MONO_BUG:
imageKey ??= "ribbon_bug";
case RibbonData.MONO_GHOST:
imageKey ??= "ribbon_ghost";
case RibbonData.MONO_STEEL:
imageKey ??= "ribbon_steel";
case RibbonData.MONO_FIRE:
imageKey ??= "ribbon_fire";
case RibbonData.MONO_WATER:
imageKey ??= "ribbon_water";
case RibbonData.MONO_GRASS:
imageKey ??= "ribbon_grass";
case RibbonData.MONO_ELECTRIC:
imageKey ??= "ribbon_electric";
case RibbonData.MONO_PSYCHIC:
imageKey ??= "ribbon_psychic";
case RibbonData.MONO_ICE:
imageKey ??= "ribbon_ice";
case RibbonData.MONO_DRAGON:
imageKey ??= "ribbon_dragon";
case RibbonData.MONO_DARK:
imageKey ??= "ribbon_dark";
case RibbonData.MONO_FAIRY:
imageKey ??= "ribbon_fairy";
default:
imageKey ??= "ribbon_typeless";
return globalScene.add.image(0, 0, "items", imageKey).setDisplaySize(16, 16); return globalScene.add.image(0, 0, "items", imageKey).setDisplaySize(16, 16);
// biome-ignore-end lint/suspicious/noFallthroughSwitchClause: done with fallthrough // biome-ignore-end lint/suspicious/noFallthroughSwitchClause: done with fallthrough
// Ribbons that don't use the items atlas
// biome-ignore-start lint/suspicious/noFallthroughSwitchClause: Another fallthrough block
case RibbonData.NUZLOCKE:
imageKey = "champion_ribbon_emerald";
default:
imageKey ??= "champion_ribbon";
{
const img = globalScene.add.image(0, 0, imageKey);
const target = 12;
const scale = Math.min(target / img.width, target / img.height);
return img.setScale(scale);
}
// biome-ignore-end lint/suspicious/noFallthroughSwitchClause: End fallthrough block
} }
} }