diff --git a/public/images/ui/legacy/champion_ribbon.png b/public/images/ui/legacy/champion_ribbon.png new file mode 100644 index 00000000000..96e36075d8f Binary files /dev/null and b/public/images/ui/legacy/champion_ribbon.png differ diff --git a/src/phases.ts b/src/phases.ts index 67eb17904e5..b079d6c61e6 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3487,7 +3487,6 @@ export class RibbonModifierRewardPhase extends ModifierRewardPhase { this.scene.addModifier(newModifier).then(() => { this.scene.gameData.saveSystem().then(success => { if (success) { - // this.species.cry(this.scene); this.scene.playSound('level_up_fanfare'); this.scene.ui.setMode(Mode.MESSAGE); this.scene.arenaBg.setVisible(false); @@ -3577,9 +3576,8 @@ export class GameOverPhase extends BattlePhase { this.scene.ui.clearText(); this.handleUnlocks(); if (this.victory && !firstClear && success[1]) { - for (let species of this.firstRibbons) { + for (let species of this.firstRibbons) this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species)); - } this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM)); } this.scene.reset(); diff --git a/src/system/achv.ts b/src/system/achv.ts index 9f4d214cf4e..9a6e43965d6 100644 --- a/src/system/achv.ts +++ b/src/system/achv.ts @@ -135,11 +135,11 @@ export const achvs = { LV_100: new LevelAchv('But Wait, There\'s More!', 100, 'rare_candy', 25).setSecret(), LV_250: new LevelAchv('Elite', 250, 'rarer_candy', 50).setSecret(true), LV_1000: new LevelAchv('To Go Even Further Beyond', 1000, 'candy_jar', 100).setSecret(true), - _10_RIBBONS: new RibbonAchv('Pokémon League Champ.', 10, 'bronze_ribbon', 10), - _25_RIBBONS: new RibbonAchv('Great League Champ.', 25, 'great_ribbon', 25).setSecret(true), - _50_RIBBONS: new RibbonAchv('Ultra League Champ.', 50, 'ultra_ribbon', 50).setSecret(true), - _75_RIBBONS: new RibbonAchv('Rogue League Champ.', 75, 'rogue_ribbon', 75).setSecret(true), - _100_RIBBONS: new RibbonAchv('Master League Champ.', 100, 'master_ribbon', 100).setSecret(true), + _10_RIBBONS: new RibbonAchv('Pokémon League Champion', 10, 'bronze_ribbon', 10), + _25_RIBBONS: new RibbonAchv('Great League Champion', 25, 'great_ribbon', 25).setSecret(true), + _50_RIBBONS: new RibbonAchv('Ultra League Champion', 50, 'ultra_ribbon', 50).setSecret(true), + _75_RIBBONS: new RibbonAchv('Rogue League Champion', 75, 'rogue_ribbon', 75).setSecret(true), + _100_RIBBONS: new RibbonAchv('Master League Champion', 100, 'master_ribbon', 100).setSecret(true), TRANSFER_MAX_BATTLE_STAT: new Achv('Teamwork', 'Baton pass to another party member with at least one stat maxed out', 'stick', 20), MAX_FRIENDSHIP: new Achv('Friendmaxxing', 'Reach max friendship on a Pokémon', 'soothe_bell', 25), MEGA_EVOLVE: new Achv('Megamorph', 'Mega evolve a Pokémon', 'mega_bracelet', 50), diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 0c684f154fa..fff09f83f33 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -173,7 +173,7 @@ export interface StarterDataEntry { abilityAttr: integer; passiveAttr: integer; valueReduction: integer; - winCount: integer; + classicWinCount: integer; } export interface StarterData { @@ -195,7 +195,8 @@ const systemShortKeys = { eggMoves: '$em', candyCount: '$x', passive: '$p', - valueReduction: '$vr' + valueReduction: '$vr', + classicWinCount: '$wc' }; export class GameData { @@ -997,7 +998,7 @@ export class GameData { abilityAttr: defaultStarterSpecies.includes(speciesId) ? AbilityAttr.ABILITY_1 : 0, passiveAttr: 0, valueReduction: 0, - winCount: 0 + classicWinCount: 0 }; } @@ -1094,11 +1095,11 @@ export class GameData { incrementRibbonCount(species: PokemonSpecies, forStarter: boolean = false): integer { const speciesIdToIncrement: Species = species.getRootSpeciesId(forStarter); - if (!this.starterData[speciesIdToIncrement].winCount) { - this.starterData[speciesIdToIncrement].winCount = 0; + if (!this.starterData[speciesIdToIncrement].classicWinCount) { + this.starterData[speciesIdToIncrement].classicWinCount = 0; } - if (!this.starterData[speciesIdToIncrement].winCount) + if (!this.starterData[speciesIdToIncrement].classicWinCount) this.scene.gameData.gameStats.ribbonsOwned++; const ribbonsInStats: integer = this.scene.gameData.gameStats.ribbonsOwned; @@ -1114,7 +1115,7 @@ export class GameData { if (ribbonsInStats >= 10) this.scene.validateAchv(achvs._10_RIBBONS); - return ++this.starterData[speciesIdToIncrement].winCount; + return ++this.starterData[speciesIdToIncrement].classicWinCount; } addStarterCandy(species: PokemonSpecies, count: integer): void { diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 68b66ac9c88..0de2ba9ac98 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -1204,7 +1204,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.shinyIcons[s][v].setTint(getVariantTint(speciesVariants[v] === DexAttr.DEFAULT_VARIANT ? 0 : speciesVariants[v] === DexAttr.VARIANT_2 ? 1 : 2)); } this.hiddenAbilityIcons[s].setVisible(slotVisible && !!this.scene.gameData.dexData[speciesId].caughtAttr && !!(this.scene.gameData.starterData[speciesId].abilityAttr & 4)); - this.classicWinIcons[s].setVisible(slotVisible && this.scene.gameData.starterData[speciesId].winCount > 0); + this.classicWinIcons[s].setVisible(slotVisible && this.scene.gameData.starterData[speciesId].classicWinCount > 0); } } else { changed = super.setCursor(cursor);