Hotfix 1.9.2 to Main

Hotfix 1.9.2 to Main
This commit is contained in:
damocleas 2025-05-08 01:00:56 -04:00 committed by GitHub
commit efebb9c9cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 30 additions and 8 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "pokemon-rogue-battle", "name": "pokemon-rogue-battle",
"version": "1.9.1", "version": "1.9.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "pokemon-rogue-battle", "name": "pokemon-rogue-battle",
"version": "1.9.1", "version": "1.9.2",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@material/material-color-utilities": "^0.2.7", "@material/material-color-utilities": "^0.2.7",

View File

@ -1,7 +1,7 @@
{ {
"name": "pokemon-rogue-battle", "name": "pokemon-rogue-battle",
"private": true, "private": true,
"version": "1.9.1", "version": "1.9.2",
"type": "module", "type": "module",
"scripts": { "scripts": {
"start": "vite", "start": "vite",

View File

@ -598,7 +598,7 @@ export class Egg {
} }
private getEggTier(): EggTier { private getEggTier(): EggTier {
return speciesEggTiers[this.species]; return speciesEggTiers[this.species] ?? EggTier.COMMON;
} }
//// ////

View File

@ -186,6 +186,7 @@ import {
applyAllyStatMultiplierAbAttrs, applyAllyStatMultiplierAbAttrs,
AllyStatMultiplierAbAttr, AllyStatMultiplierAbAttr,
MoveAbilityBypassAbAttr, MoveAbilityBypassAbAttr,
PreSummonAbAttr,
} from "#app/data/abilities/ability"; } from "#app/data/abilities/ability";
import { allAbilities } from "#app/data/data-lists"; import { allAbilities } from "#app/data/data-lists";
import type PokemonData from "#app/system/pokemon-data"; import type PokemonData from "#app/system/pokemon-data";
@ -2414,8 +2415,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
const suppressAbilitiesTag = arena.getTag( const suppressAbilitiesTag = arena.getTag(
ArenaTagType.NEUTRALIZING_GAS, ArenaTagType.NEUTRALIZING_GAS,
) as SuppressAbilitiesTag; ) as SuppressAbilitiesTag;
const suppressOffField = ability.hasAttr(PreSummonAbAttr);
if ( if (
this.isOnField() && (this.isOnField() || suppressOffField) &&
suppressAbilitiesTag && suppressAbilitiesTag &&
!suppressAbilitiesTag.isBeingRemoved() !suppressAbilitiesTag.isBeingRemoved()
) { ) {
@ -7859,6 +7861,11 @@ export class PokemonSummonData {
continue; continue;
} }
if (key === "moveset") {
this.moveset = value.map((m: any) => PokemonMove.loadMove(m));
continue;
}
if (key === "tags") { if (key === "tags") {
// load battler tags // load battler tags
this.tags = value.map((t: BattlerTag) => loadBattlerTag(t)); this.tags = value.map((t: BattlerTag) => loadBattlerTag(t));

View File

@ -3640,7 +3640,7 @@ function getNewModifierTypeOption(
} }
tier += upgradeCount; tier += upgradeCount;
} }
} else if (retryCount === 10 && tier) { } else if (retryCount >= 100 && tier) {
retryCount = 0; retryCount = 0;
tier--; tier--;
} }

View File

@ -13,6 +13,8 @@ export class SelectBiomePhase extends BattlePhase {
start() { start() {
super.start(); super.start();
globalScene.resetSeed();
const currentBiome = globalScene.arena.biomeType; const currentBiome = globalScene.arena.biomeType;
const nextWaveIndex = globalScene.currentBattle.waveIndex + 1; const nextWaveIndex = globalScene.currentBattle.waveIndex + 1;

View File

@ -1,5 +1,4 @@
import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator"; import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator";
import { Status } from "#app/data/status-effect";
import { PokemonMove } from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon";
import type { SessionSaveData } from "#app/system/game-data"; import type { SessionSaveData } from "#app/system/game-data";
import type PokemonData from "#app/system/pokemon-data"; import type PokemonData from "#app/system/pokemon-data";

View File

@ -65,7 +65,7 @@ describe("Abilities - Illusion", () => {
expect(!!zorua.summonData.illusion).equals(false); expect(!!zorua.summonData.illusion).equals(false);
}); });
it("break with neutralizing gas", async () => { it("breaks with neutralizing gas", async () => {
game.override.enemyAbility(Abilities.NEUTRALIZING_GAS); game.override.enemyAbility(Abilities.NEUTRALIZING_GAS);
await game.classicMode.startBattle([Species.KOFFING]); await game.classicMode.startBattle([Species.KOFFING]);
@ -74,6 +74,20 @@ describe("Abilities - Illusion", () => {
expect(!!zorua.summonData.illusion).equals(false); expect(!!zorua.summonData.illusion).equals(false);
}); });
it("does not activate if neutralizing gas is active", async () => {
game.override
.enemyAbility(Abilities.NEUTRALIZING_GAS)
.ability(Abilities.ILLUSION)
.moveset(Moves.SPLASH)
.enemyMoveset(Moves.SPLASH);
await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS, Species.MAGIKARP]);
game.doSwitchPokemon(1);
await game.toNextTurn();
expect(game.scene.getPlayerPokemon()!.summonData.illusion).toBeFalsy();
});
it("causes enemy AI to consider the illusion's type instead of the actual type when considering move effectiveness", async () => { it("causes enemy AI to consider the illusion's type instead of the actual type when considering move effectiveness", async () => {
game.override.enemyMoveset([Moves.FLAMETHROWER, Moves.PSYCHIC, Moves.TACKLE]); game.override.enemyMoveset([Moves.FLAMETHROWER, Moves.PSYCHIC, Moves.TACKLE]);
await game.classicMode.startBattle([Species.ZOROARK, Species.FEEBAS]); await game.classicMode.startBattle([Species.ZOROARK, Species.FEEBAS]);