mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-19 22:09:27 +02:00
Special casing full fresh start
This commit is contained in:
parent
98df023c11
commit
32891e3acf
@ -90,6 +90,19 @@ export class GameMode implements GameModeConfig {
|
|||||||
return this.hasChallenge(Challenges.FRESH_START);
|
return this.hasChallenge(Challenges.FRESH_START);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper function to see if the game mode is using fresh start
|
||||||
|
* @returns true if a fresh start challenge is being applied
|
||||||
|
*/
|
||||||
|
isFullFreshStartChallenge(): boolean {
|
||||||
|
for (const challenge of this.challenges) {
|
||||||
|
if (challenge.id === Challenges.FRESH_START && challenge.value === 1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper function to get starting level for game mode.
|
* Helper function to get starting level for game mode.
|
||||||
* @returns either:
|
* @returns either:
|
||||||
|
@ -389,6 +389,7 @@ export class CommandPhase extends FieldPhase {
|
|||||||
|
|
||||||
const isClassicFinalBoss = globalScene.gameMode.isBattleClassicFinalBoss(globalScene.currentBattle.waveIndex);
|
const isClassicFinalBoss = globalScene.gameMode.isBattleClassicFinalBoss(globalScene.currentBattle.waveIndex);
|
||||||
const isEndlessMinorBoss = globalScene.gameMode.isEndlessMinorBoss(globalScene.currentBattle.waveIndex);
|
const isEndlessMinorBoss = globalScene.gameMode.isEndlessMinorBoss(globalScene.currentBattle.waveIndex);
|
||||||
|
const isFullFreshStart = globalScene.gameMode.isFullFreshStartChallenge();
|
||||||
|
|
||||||
const someUncaughtSpeciesOnField = globalScene
|
const someUncaughtSpeciesOnField = globalScene
|
||||||
.getEnemyField()
|
.getEnemyField()
|
||||||
@ -396,10 +397,19 @@ export class CommandPhase extends FieldPhase {
|
|||||||
const missingMultipleStarters =
|
const missingMultipleStarters =
|
||||||
gameData.getStarterCount(d => !!d.caughtAttr) < Object.keys(speciesStarterCosts).length - 1;
|
gameData.getStarterCount(d => !!d.caughtAttr) < Object.keys(speciesStarterCosts).length - 1;
|
||||||
if (biomeType === BiomeId.END) {
|
if (biomeType === BiomeId.END) {
|
||||||
if ((isClassic && !isClassicFinalBoss && someUncaughtSpeciesOnField) || (isEndless && !isEndlessMinorBoss)) {
|
if (
|
||||||
|
(isClassic && !isClassicFinalBoss && someUncaughtSpeciesOnField) ||
|
||||||
|
(isFullFreshStart && !isClassicFinalBoss) ||
|
||||||
|
(isEndless && !isEndlessMinorBoss)
|
||||||
|
) {
|
||||||
// Uncatchable paradox mons in classic and endless
|
// Uncatchable paradox mons in classic and endless
|
||||||
this.queueShowText("battle:noPokeballForce");
|
this.queueShowText("battle:noPokeballForce");
|
||||||
} else if ((isClassic && missingMultipleStarters) || (isEndless && isEndlessMinorBoss) || isDaily) {
|
} else if (
|
||||||
|
(isClassic && isClassicFinalBoss && missingMultipleStarters) ||
|
||||||
|
(isFullFreshStart && isClassicFinalBoss) ||
|
||||||
|
(isEndless && isEndlessMinorBoss) ||
|
||||||
|
isDaily
|
||||||
|
) {
|
||||||
// Uncatchable final boss in classic and endless
|
// Uncatchable final boss in classic and endless
|
||||||
this.queueShowText("battle:noPokeballForceFinalBoss");
|
this.queueShowText("battle:noPokeballForceFinalBoss");
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user