diff --git a/public/images/items.json b/public/images/items.json index a454f9f1a..939b3927e 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -7386,6 +7386,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:196f5914078b8435a7bf36e950263dac:47250d3d95167f73038d290f7a73b96e:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:e6d832697add1029764f6145e5fa98b7:47250d3d95167f73038d290f7a73b96e:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index bd2b9f376..7ddd284fa 100644 Binary files a/public/images/items.png and b/public/images/items.png differ diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 45cdd9c4c..b28759f23 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -306,7 +306,7 @@ export class PokemonNatureChangeModifierType extends PokemonModifierType { protected nature: Nature; constructor(nature: Nature) { - super(`${getNatureName(nature)} Mint`, `Changes a Pokémon\'s nature to ${getNatureName(nature, true, true, true)}`, ((_type, args) => new Modifiers.PokemonNatureChangeModifier(this, (args[0] as PlayerPokemon).id, this.nature)), + super(`${getNatureName(nature)} Mint`, `Changes a Pokémon\'s nature to ${getNatureName(nature, true, true, true)} and permanently unlocks the nature for the starter.`, ((_type, args) => new Modifiers.PokemonNatureChangeModifier(this, (args[0] as PlayerPokemon).id, this.nature)), ((pokemon: PlayerPokemon) => { if (pokemon.getNature() === this.nature) return PartyUiHandler.NoEffectMessage; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 88b009d3a..2d76bec34 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -8,15 +8,14 @@ import { Stat } from "../data/pokemon-stat"; import { addTextObject, TextStyle } from "../ui/text"; import { Type } from '../data/type'; import { EvolutionPhase } from '../evolution-phase'; -import { FusionSpeciesFormEvolution, pokemonEvolutions } from '../data/pokemon-evolutions'; +import { FusionSpeciesFormEvolution, pokemonEvolutions, pokemonPrevolutions } from '../data/pokemon-evolutions'; import { getPokemonMessage } from '../messages'; import * as Utils from "../utils"; import { TempBattleStat } from '../data/temp-battle-stat'; import { BerryType, getBerryEffectFunc, getBerryPredicate } from '../data/berry'; import { StatusEffect, getStatusEffectHealText } from '../data/status-effect'; -import { MoneyAchv, achvs } from '../system/achv'; +import { achvs } from '../system/achv'; import { VoucherType } from '../system/voucher'; -import { PreventBerryUseAbAttr, applyAbAttrs } from '../data/ability'; import { FormChangeItem, SpeciesFormChangeItemTrigger } from '../data/pokemon-forms'; import { Nature } from '#app/data/nature'; import { BattlerTagType } from '#app/data/enums/battler-tag-type'; @@ -1090,6 +1089,13 @@ export class PokemonNatureChangeModifier extends ConsumablePokemonModifier { apply(args: any[]): boolean { const pokemon = args[0] as Pokemon; pokemon.natureOverride = this.nature; + let speciesId = pokemon.species.speciesId; + pokemon.scene.gameData.dexData[speciesId].natureAttr |= Math.pow(2, this.nature + 1); + + while (pokemonPrevolutions.hasOwnProperty(speciesId)) { + speciesId = pokemonPrevolutions[speciesId]; + pokemon.scene.gameData.dexData[speciesId].natureAttr |= Math.pow(2, this.nature + 1); + } return true; } diff --git a/src/phases.ts b/src/phases.ts index b079d6c61..59022f5fe 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3491,7 +3491,7 @@ export class RibbonModifierRewardPhase extends ModifierRewardPhase { this.scene.ui.setMode(Mode.MESSAGE); this.scene.arenaBg.setVisible(false); this.scene.ui.fadeIn(250).then(() => { - this.scene.ui.showText(`${this.species.name} beat classic for the first time!\nYou received ${newModifier.type.name}!`, null, () => { + this.scene.ui.showText(`${this.species.name} beat ${this.scene.gameMode.getName()} Mode for the first time!\nYou received ${newModifier.type.name}!`, null, () => { resolve(); }, null, true, 1500); });