mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-10-19 19:45:51 +02:00
* add inverse battle challenge. refactoring type.ts for inverse battle challenge * update type integer -> number * add inverse battle condition to thunder wave, conversion 2. * add inverse_battle test code, add checking gameMode in runToSummon not to overwrite gameMode to CLASSIC always * update startBattle with isClassicMode default = true * add inverse achievement * fix achv validation condition * remove unnecessary new line * update defaultWidth 160 -> 200 * update locales * fix korean translation * fix korean translation2 * Update src/locales/de/achv.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/de/challenges.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/de/challenges.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * resize challenge description 96 -> 84 * update challenge select UI size. * revert font size to 84. update de translation * Update src/locales/fr/challenges.ts Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr> * Update src/locales/fr/achv.ts Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr> * Update src/locales/es/challenges.ts Co-authored-by: Asdar <asdargmng@gmail.com> * Update src/locales/fr/challenges.ts Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr> * Update src/locales/fr/achv.ts Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr> * Update src/locales/es/achv.ts Co-authored-by: Asdar <asdargmng@gmail.com> * Update src/locales/fr/achv.ts Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr> * shrink de font size on achivement * set middle align to achv title * Update src/locales/zh_CN/achv.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * Update src/locales/zh_TW/achv.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * Update src/locales/zh_CN/challenges.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * Update src/locales/zh_TW/challenges.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * fix zh_TW ahiv.ts * fix import code on inverse battle test for updated phase * Update src/data/type.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * update requested changes * Update src/locales/pt_BR/achv.ts Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br> * Update src/locales/pt_BR/achv.ts Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br> * Update src/locales/pt_BR/challenges.ts Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br> * [draft] update inverse battle apply function * change the way how to use applyChallenge for inverse type * resolve confilct * fix test codes * remove unnecessary multiplier variable and break codes * update getTypeDamageMultiplier argument type from `number` to `Type` * Fix inverse types tests (#1) * Fix Inverse Battle tests * Add timeout parameter to tests * update requested changes * update requested changes * update requested changes2 * update comments * Update src/test/utils/helpers/challengeModeHelper.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update src/test/utils/helpers/challengeModeHelper.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * fix mis pasted code * revert loadChallenge code for FreshStartChallenge * code refactoring * restore challenge.json lost translations * revert UI changes * revert unreverted newlines * Run History inclusion * requested changes from torranx * update WaterSuperEffectTypeMultiplierAttr for inverse battle matchup. * fix test code. adding flying press test code * update requested change from xavion3 * updated requested change from xavion 2 * update requested changes from xavion 3 * remove exception code which is not valid * attach partial mark to Freeze dry. requested by xavion * add missing game over phase code when we delete old phases.ts * fix test codes * merge conflict * fix achv condition * updated achv block condition. we don't want to change desc now * resolve conflict * Eternatus Moveset Tinkering * Cleaning it up --------- Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr> Co-authored-by: Asdar <asdargmng@gmail.com> Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br> Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com> Co-authored-by: frutescens <info@laptop>
79 lines
2.9 KiB
TypeScript
79 lines
2.9 KiB
TypeScript
import { BattleStyle } from "#app/enums/battle-style";
|
|
import { Species } from "#app/enums/species";
|
|
import overrides from "#app/overrides";
|
|
import { EncounterPhase } from "#app/phases/encounter-phase";
|
|
import { SelectStarterPhase } from "#app/phases/select-starter-phase";
|
|
import { Mode } from "#app/ui/ui";
|
|
import { generateStarter } from "../gameManagerUtils";
|
|
import { GameManagerHelper } from "./gameManagerHelper";
|
|
import { Challenge } from "#app/data/challenge";
|
|
import { CommandPhase } from "#app/phases/command-phase";
|
|
import { TurnInitPhase } from "#app/phases/turn-init-phase";
|
|
import { Challenges } from "#enums/challenges";
|
|
import { copyChallenge } from "data/challenge";
|
|
|
|
/**
|
|
* Helper to handle Challenge mode specifics
|
|
*/
|
|
export class ChallengeModeHelper extends GameManagerHelper {
|
|
|
|
challenges: Challenge[] = [];
|
|
|
|
/**
|
|
* Adds a challenge to the challenge mode helper.
|
|
* @param id - The challenge id.
|
|
* @param value - The challenge value.
|
|
* @param severity - The challenge severity.
|
|
*/
|
|
addChallenge(id: Challenges, value: number, severity: number) {
|
|
const challenge = copyChallenge({ id, value, severity });
|
|
this.challenges.push(challenge);
|
|
}
|
|
|
|
/**
|
|
* Runs the Challenge game to the summon phase.
|
|
* @param gameMode - Optional game mode to set.
|
|
* @returns A promise that resolves when the summon phase is reached.
|
|
*/
|
|
async runToSummon(species?: Species[]) {
|
|
await this.game.runToTitle();
|
|
|
|
this.game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
|
|
this.game.scene.gameMode.challenges = this.challenges;
|
|
const starters = generateStarter(this.game.scene, species);
|
|
const selectStarterPhase = new SelectStarterPhase(this.game.scene);
|
|
this.game.scene.pushPhase(new EncounterPhase(this.game.scene, false));
|
|
selectStarterPhase.initBattle(starters);
|
|
});
|
|
|
|
await this.game.phaseInterceptor.run(EncounterPhase);
|
|
if (overrides.OPP_HELD_ITEMS_OVERRIDE.length === 0) {
|
|
this.game.removeEnemyHeldItems();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Transitions to the start of a battle.
|
|
* @param species - Optional array of species to start the battle with.
|
|
* @returns A promise that resolves when the battle is started.
|
|
*/
|
|
async startBattle(species?: Species[]) {
|
|
await this.runToSummon(species);
|
|
|
|
if (this.game.scene.battleStyle === BattleStyle.SWITCH) {
|
|
this.game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
|
|
this.game.setMode(Mode.MESSAGE);
|
|
this.game.endPhase();
|
|
}, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase));
|
|
|
|
this.game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
|
|
this.game.setMode(Mode.MESSAGE);
|
|
this.game.endPhase();
|
|
}, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase));
|
|
}
|
|
|
|
await this.game.phaseInterceptor.to(CommandPhase);
|
|
console.log("==================[New Turn]==================");
|
|
}
|
|
}
|