Add end biome and set final wave at 200

pull/1/head
Flashfyre 2023-04-26 17:40:08 -04:00
parent 55ba3cd5e7
commit 998972e12b
8 changed files with 96 additions and 47 deletions

View File

@ -117,6 +117,8 @@ export class Arena {
return 'cave'; return 'cave';
case Biome.POWER_PLANT: case Biome.POWER_PLANT:
return 'ruins'; return 'ruins';
case Biome.END:
return 'wasteland';
} }
return Biome[this.biomeType].toLowerCase(); return Biome[this.biomeType].toLowerCase();
} }
@ -164,12 +166,13 @@ export class Arena {
case Biome.DOJO: case Biome.DOJO:
return Type.FIGHTING; return Type.FIGHTING;
case Biome.RUINS: case Biome.RUINS:
case Biome.SPACE:
return Type.PSYCHIC; return Type.PSYCHIC;
case Biome.WASTELAND: case Biome.WASTELAND:
return Type.DRAGON; return Type.DRAGON;
case Biome.ABYSS: case Biome.ABYSS:
return Type.DARK; return Type.DARK;
case Biome.SPACE: case Biome.END:
return Type.STEEL; return Type.STEEL;
} }
} }

View File

@ -200,7 +200,9 @@ export class SelectBiomePhase extends BattlePhase {
this.end(); this.end();
}; };
if (Array.isArray(biomeLinks[currentBiome])) if (this.scene.currentBattle.waveIndex === this.scene.finalWave - 9)
setNextBiome(Biome.END);
else if (Array.isArray(biomeLinks[currentBiome]))
this.scene.ui.setMode(Mode.BIOME_SELECT, currentBiome, (biomeIndex: integer) => { this.scene.ui.setMode(Mode.BIOME_SELECT, currentBiome, (biomeIndex: integer) => {
this.scene.ui.setMode(Mode.MESSAGE); this.scene.ui.setMode(Mode.MESSAGE);
setNextBiome((biomeLinks[currentBiome] as Biome[])[biomeIndex]); setNextBiome((biomeLinks[currentBiome] as Biome[])[biomeIndex]);
@ -1422,24 +1424,32 @@ export class VictoryPhase extends PokemonPhase {
} }
this.scene.pushPhase(new BattleEndPhase(this.scene)); this.scene.pushPhase(new BattleEndPhase(this.scene));
if (this.scene.currentBattle.waveIndex < this.scene.finalWave) {
this.scene.pushPhase(new SelectModifierPhase(this.scene)); this.scene.pushPhase(new SelectModifierPhase(this.scene));
this.scene.newBattle(); this.scene.newBattle();
} else
this.scene.pushPhase(new GameOverPhase(this.scene, true));
this.end(); this.end();
} }
} }
export class GameOverPhase extends BattlePhase { export class GameOverPhase extends BattlePhase {
constructor(scene: BattleScene) { private victory: boolean;
constructor(scene: BattleScene, victory?: boolean) {
super(scene); super(scene);
this.victory = !!victory;
} }
start() { start() {
super.start(); super.start();
this.scene.time.delayedCall(1000, () => { this.scene.time.delayedCall(1000, () => {
this.scene.fadeOutBgm(5000, true); const fadeDuration = this.victory ? 10000 : 5000;
this.scene.ui.fadeOut(5000).then(() => { this.scene.fadeOutBgm(fadeDuration, true);
this.scene.ui.fadeOut(fadeDuration).then(() => {
this.scene.clearPhaseQueue(); this.scene.clearPhaseQueue();
this.scene.ui.clearText(); this.scene.ui.clearText();
this.scene.reset(); this.scene.reset();

View File

@ -51,6 +51,7 @@ export default class BattleScene extends Phaser.Scene {
public auto: boolean; public auto: boolean;
public gameSpeed: integer = 1; public gameSpeed: integer = 1;
public quickStart: boolean = quickStart; public quickStart: boolean = quickStart;
public finalWave: integer = 200;
public gameData: GameData; public gameData: GameData;
@ -521,8 +522,6 @@ export default class BattleScene extends Phaser.Scene {
} }
randomSpecies(waveIndex: integer, level: integer, fromArenaPool?: boolean): PokemonSpecies { randomSpecies(waveIndex: integer, level: integer, fromArenaPool?: boolean): PokemonSpecies {
if (waveIndex === 150)
return getPokemonSpecies(Species.ETERNATUS);
return fromArenaPool return fromArenaPool
? this.arena.randomSpecies(waveIndex, level) ? this.arena.randomSpecies(waveIndex, level)
: getPokemonSpecies(allSpecies[(Utils.randInt(allSpecies.length)) - 1].getSpeciesForLevel(level)); : getPokemonSpecies(allSpecies[(Utils.randInt(allSpecies.length)) - 1].getSpeciesForLevel(level));

View File

@ -18,10 +18,9 @@ export class Battle {
let baseLevel = 1 + this.waveIndex / 2 + Math.pow(this.waveIndex / 25, 2); let baseLevel = 1 + this.waveIndex / 2 + Math.pow(this.waveIndex / 25, 2);
if (!(this.waveIndex % 10)) { if (!(this.waveIndex % 10)) {
let bossMultiplier = 1.2; if (this.waveIndex === 200)
if (this.waveIndex > 100) return 200;
bossMultiplier += 0.028 * Math.floor((this.waveIndex - 100) / 10); return Math.floor(baseLevel * 1.2);
return Math.floor(baseLevel * bossMultiplier);
} }
const deviation = 10 / this.waveIndex; const deviation = 10 / this.waveIndex;

View File

@ -30,7 +30,8 @@ export enum Biome {
RUINS, RUINS,
WASTELAND, WASTELAND,
ABYSS, ABYSS,
SPACE SPACE,
END
}; };
export function getBiomeName(biome: Biome) { export function getBiomeName(biome: Biome) {
@ -45,6 +46,8 @@ export function getBiomeName(biome: Biome) {
return 'THE ABYSS'; return 'THE ABYSS';
case Biome.SPACE: case Biome.SPACE:
return 'STRATOSPHERE'; return 'STRATOSPHERE';
case Biome.END:
return 'FINAL DESTINATION';
default: default:
return Biome[biome].replace(/\_/g, ' '); return Biome[biome].replace(/\_/g, ' ');
} }
@ -508,8 +511,8 @@ export const biomePools: BiomePools = {
[BiomePoolTier.ULTRA_RARE]: [ Species.REGISTEEL, Species.UXIE, Species.COBALION ], [BiomePoolTier.ULTRA_RARE]: [ Species.REGISTEEL, Species.UXIE, Species.COBALION ],
[BiomePoolTier.BOSS]: [ Species.PARASECT, Species.ONIX, Species.CROBAT, Species.URSARING, Species.EXPLOUD, Species.MAWILE, Species.PROBOPASS, Species.GIGALITH, Species.SWOOBAT ], [BiomePoolTier.BOSS]: [ Species.PARASECT, Species.ONIX, Species.CROBAT, Species.URSARING, Species.EXPLOUD, Species.MAWILE, Species.PROBOPASS, Species.GIGALITH, Species.SWOOBAT ],
[BiomePoolTier.BOSS_RARE]: [ Species.SHUCKLE ], [BiomePoolTier.BOSS_RARE]: [ Species.SHUCKLE ],
[BiomePoolTier.BOSS_SUPER_RARE]: [ Species.REGISTEEL, Species.UXIE ], [BiomePoolTier.BOSS_SUPER_RARE]: [ Species.REGISTEEL, Species.UXIE, Species.COBALION ],
[BiomePoolTier.BOSS_ULTRA_RARE]: [ Species.MEWTWO, Species.COBALION ] [BiomePoolTier.BOSS_ULTRA_RARE]: []
}, },
[Biome.DESERT]: { [Biome.DESERT]: {
[BiomePoolTier.COMMON]: [ [BiomePoolTier.COMMON]: [
@ -676,7 +679,7 @@ export const biomePools: BiomePools = {
[BiomePoolTier.BOSS]: [ Species.DRAGONITE, Species.TYRANITAR, Species.FLYGON, Species.SALAMENCE, Species.GARCHOMP, Species.HAXORUS ], [BiomePoolTier.BOSS]: [ Species.DRAGONITE, Species.TYRANITAR, Species.FLYGON, Species.SALAMENCE, Species.GARCHOMP, Species.HAXORUS ],
[BiomePoolTier.BOSS_RARE]: [ Species.AERODACTYL, Species.DRUDDIGON ], [BiomePoolTier.BOSS_RARE]: [ Species.AERODACTYL, Species.DRUDDIGON ],
[BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_SUPER_RARE]: [],
[BiomePoolTier.BOSS_ULTRA_RARE]: [ Species.RAYQUAZA, Species.DIALGA ] [BiomePoolTier.BOSS_ULTRA_RARE]: [ Species.DIALGA ]
}, },
[Biome.ABYSS]: { [Biome.ABYSS]: {
[BiomePoolTier.COMMON]: [ Species.MURKROW, { 1: [ Species.HOUNDOUR ], 24: [ Species.HOUNDOOM ] }, Species.SABLEYE, { 1: [ Species.PURRLOIN ], 20: [ Species.LIEPARD ] }, { 1: [ Species.PAWNIARD ], 52: [ Species.BISHARP ] } ], [BiomePoolTier.COMMON]: [ Species.MURKROW, { 1: [ Species.HOUNDOUR ], 24: [ Species.HOUNDOOM ] }, Species.SABLEYE, { 1: [ Species.PURRLOIN ], 20: [ Species.LIEPARD ] }, { 1: [ Species.PAWNIARD ], 52: [ Species.BISHARP ] } ],
@ -694,11 +697,22 @@ export const biomePools: BiomePools = {
[BiomePoolTier.UNCOMMON]: [ { 1: [ Species.BALTOY ], 36: [ Species.CLAYDOL ] }, { 1: [ Species.CHINGLING ], 20: [ Species.CHIMECHO ] }, { 1: [ Species.ELGYEM ], 42: [ Species.BEHEEYEM ] } ], [BiomePoolTier.UNCOMMON]: [ { 1: [ Species.BALTOY ], 36: [ Species.CLAYDOL ] }, { 1: [ Species.CHINGLING ], 20: [ Species.CHIMECHO ] }, { 1: [ Species.ELGYEM ], 42: [ Species.BEHEEYEM ] } ],
[BiomePoolTier.RARE]: [ { 1: [ Species.BELDUM ], 20: [ Species.METANG ], 45: [ Species.METAGROSS ] }, Species.SIGILYPH, { 1: [ Species.SOLOSIS ], 32: [ Species.DUOSION ], 41: [ Species.REUNICLUS ] } ], [BiomePoolTier.RARE]: [ { 1: [ Species.BELDUM ], 20: [ Species.METANG ], 45: [ Species.METAGROSS ] }, Species.SIGILYPH, { 1: [ Species.SOLOSIS ], 32: [ Species.DUOSION ], 41: [ Species.REUNICLUS ] } ],
[BiomePoolTier.SUPER_RARE]: [ { 1: [ Species.PORYGON ], 20: [ Species.PORYGON2 ] } ], [BiomePoolTier.SUPER_RARE]: [ { 1: [ Species.PORYGON ], 20: [ Species.PORYGON2 ] } ],
[BiomePoolTier.ULTRA_RARE]: [ Species.JIRACHI, Species.DEOXYS, Species.CRESSELIA, Species.GENESECT ], [BiomePoolTier.ULTRA_RARE]: [ Species.JIRACHI, Species.DEOXYS, Species.CRESSELIA ],
[BiomePoolTier.BOSS]: [ Species.CLEFABLE, Species.LUNATONE, Species.SOLROCK, Species.CHIMECHO, Species.BRONZONG, Species.MUSHARNA, Species.REUNICLUS ], [BiomePoolTier.BOSS]: [ Species.CLEFABLE, Species.LUNATONE, Species.SOLROCK, Species.CHIMECHO, Species.BRONZONG, Species.MUSHARNA, Species.REUNICLUS ],
[BiomePoolTier.BOSS_RARE]: [ Species.METAGROSS, Species.PORYGON_Z ], [BiomePoolTier.BOSS_RARE]: [ Species.METAGROSS, Species.PORYGON_Z ],
[BiomePoolTier.BOSS_SUPER_RARE]: [ Species.JIRACHI, Species.DEOXYS, Species.CRESSELIA, Species.GENESECT ], [BiomePoolTier.BOSS_SUPER_RARE]: [ Species.JIRACHI, Species.DEOXYS, Species.CRESSELIA ],
[BiomePoolTier.BOSS_ULTRA_RARE]: [ Species.ARCEUS ] [BiomePoolTier.BOSS_ULTRA_RARE]: []
},
[Biome.END]: {
[BiomePoolTier.COMMON]: [ Species.ARCANINE, Species.DRAGONITE, Species.TYRANITAR, Species.SALAMENCE, Species.GARCHOMP, Species.HYDREIGON, Species.VOLCARONA ],
[BiomePoolTier.UNCOMMON]: [ Species.KINGDRA, Species.METAGROSS, Species.MAGNEZONE, Species.RHYPERIOR, Species.TANGROWTH, Species.ELECTIVIRE, Species.MAGMORTAR, Species.TOGEKISS, Species.MAMOSWINE ],
[BiomePoolTier.RARE]: [ Species.BLISSEY, Species.PORYGON_Z ],
[BiomePoolTier.SUPER_RARE]: [ Species.GENESECT ],
[BiomePoolTier.ULTRA_RARE]: [ Species.MEWTWO, Species.RAYQUAZA, Species.ARCEUS ],
[BiomePoolTier.BOSS]: [ Species.ETERNATUS ],
[BiomePoolTier.BOSS_RARE]: [],
[BiomePoolTier.BOSS_SUPER_RARE]: [],
[BiomePoolTier.BOSS_ULTRA_RARE]: []
} }
}; };
@ -984,7 +998,8 @@ export const biomePools: BiomePools = {
] ]
], ],
[ Species.ARCANINE, Type.FIRE, -1, [ [ Species.ARCANINE, Type.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.BOSS ] [ Biome.VOLCANO, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.COMMON ]
] ]
], ],
[ Species.POLIWAG, Type.WATER, -1, [ [ Species.POLIWAG, Type.WATER, -1, [
@ -1415,11 +1430,12 @@ export const biomePools: BiomePools = {
], ],
[ Species.DRAGONITE, Type.DRAGON, Type.FLYING, [ [ Species.DRAGONITE, Type.DRAGON, Type.FLYING, [
[ Biome.WASTELAND, BiomePoolTier.RARE ], [ Biome.WASTELAND, BiomePoolTier.RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ] [ Biome.WASTELAND, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.COMMON ]
] ]
], ],
[ Species.MEWTWO, Type.PSYCHIC, -1, [ [ Species.MEWTWO, Type.PSYCHIC, -1, [
[ Biome.CAVE, BiomePoolTier.BOSS_ULTRA_RARE ] [ Biome.END, BiomePoolTier.ULTRA_RARE ]
] ]
], ],
[ Species.MEW, Type.PSYCHIC, -1, [ [ Species.MEW, Type.PSYCHIC, -1, [
@ -1790,7 +1806,8 @@ export const biomePools: BiomePools = {
], ],
[ Species.KINGDRA, Type.WATER, Type.DRAGON, [ [ Species.KINGDRA, Type.WATER, Type.DRAGON, [
[ Biome.SEA, BiomePoolTier.SUPER_RARE ], [ Biome.SEA, BiomePoolTier.SUPER_RARE ],
[ Biome.SEA, BiomePoolTier.BOSS_RARE ] [ Biome.SEA, BiomePoolTier.BOSS_RARE ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.PHANPY, Type.GROUND, -1, [ [ Species.PHANPY, Type.GROUND, -1, [
@ -1843,7 +1860,8 @@ export const biomePools: BiomePools = {
] ]
], ],
[ Species.BLISSEY, Type.NORMAL, -1, [ [ Species.BLISSEY, Type.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE ] [ Biome.MEADOW, BiomePoolTier.BOSS_RARE ],
[ Biome.END, BiomePoolTier.RARE ]
] ]
], ],
[ Species.RAIKOU, Type.ELECTRIC, -1, [ [ Species.RAIKOU, Type.ELECTRIC, -1, [
@ -1873,7 +1891,8 @@ export const biomePools: BiomePools = {
], ],
[ Species.TYRANITAR, Type.ROCK, Type.DARK, [ [ Species.TYRANITAR, Type.ROCK, Type.DARK, [
[ Biome.WASTELAND, BiomePoolTier.COMMON ], [ Biome.WASTELAND, BiomePoolTier.COMMON ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ] [ Biome.WASTELAND, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.COMMON ]
] ]
], ],
[ Species.LUGIA, Type.PSYCHIC, Type.FLYING, [ [ Species.LUGIA, Type.PSYCHIC, Type.FLYING, [
@ -2463,7 +2482,8 @@ export const biomePools: BiomePools = {
], ],
[ Species.SALAMENCE, Type.DRAGON, Type.FLYING, [ [ Species.SALAMENCE, Type.DRAGON, Type.FLYING, [
[ Biome.WASTELAND, BiomePoolTier.COMMON ], [ Biome.WASTELAND, BiomePoolTier.COMMON ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ] [ Biome.WASTELAND, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.COMMON ]
] ]
], ],
[ Species.BELDUM, Type.STEEL, Type.PSYCHIC, [ [ Species.BELDUM, Type.STEEL, Type.PSYCHIC, [
@ -2478,7 +2498,8 @@ export const biomePools: BiomePools = {
], ],
[ Species.METAGROSS, Type.STEEL, Type.PSYCHIC, [ [ Species.METAGROSS, Type.STEEL, Type.PSYCHIC, [
[ Biome.SPACE, BiomePoolTier.RARE ], [ Biome.SPACE, BiomePoolTier.RARE ],
[ Biome.SPACE, BiomePoolTier.BOSS_RARE ] [ Biome.SPACE, BiomePoolTier.BOSS_RARE ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.REGIROCK, Type.ROCK, -1, [ [ Species.REGIROCK, Type.ROCK, -1, [
@ -2515,7 +2536,7 @@ export const biomePools: BiomePools = {
] ]
], ],
[ Species.RAYQUAZA, Type.DRAGON, Type.FLYING, [ [ Species.RAYQUAZA, Type.DRAGON, Type.FLYING, [
[ Biome.WASTELAND, BiomePoolTier.BOSS_ULTRA_RARE ] [ Biome.END, BiomePoolTier.ULTRA_RARE ]
] ]
], ],
[ Species.JIRACHI, Type.STEEL, Type.PSYCHIC, [ [ Species.JIRACHI, Type.STEEL, Type.PSYCHIC, [
@ -2814,7 +2835,8 @@ export const biomePools: BiomePools = {
[ Species.GARCHOMP, Type.DRAGON, Type.GROUND, [ [ Species.GARCHOMP, Type.DRAGON, Type.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.COMMON ], [ Biome.WASTELAND, BiomePoolTier.COMMON ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ] [ Biome.WASTELAND, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.COMMON ]
] ]
], ],
[ Species.MUNCHLAX, Type.NORMAL, -1, [ [ Species.MUNCHLAX, Type.NORMAL, -1, [
@ -2893,7 +2915,8 @@ export const biomePools: BiomePools = {
] ]
], ],
[ Species.MAGNEZONE, Type.ELECTRIC, Type.STEEL, [ [ Species.MAGNEZONE, Type.ELECTRIC, Type.STEEL, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ] [ Biome.POWER_PLANT, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.LICKILICKY, Type.NORMAL, -1, [ [ Species.LICKILICKY, Type.NORMAL, -1, [
@ -2901,23 +2924,28 @@ export const biomePools: BiomePools = {
] ]
], ],
[ Species.RHYPERIOR, Type.GROUND, Type.ROCK, [ [ Species.RHYPERIOR, Type.GROUND, Type.ROCK, [
[ Biome.LAND, BiomePoolTier.BOSS ] [ Biome.LAND, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.TANGROWTH, Type.GRASS, -1, [ [ Species.TANGROWTH, Type.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.BOSS ] [ Biome.TALL_GRASS, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.ELECTIVIRE, Type.ELECTRIC, -1, [ [ Species.ELECTIVIRE, Type.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ] [ Biome.POWER_PLANT, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.MAGMORTAR, Type.FIRE, -1, [ [ Species.MAGMORTAR, Type.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.BOSS ] [ Biome.VOLCANO, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.TOGEKISS, Type.FAIRY, Type.FLYING, [ [ Species.TOGEKISS, Type.FAIRY, Type.FLYING, [
[ Biome.MEADOW, BiomePoolTier.BOSS ] [ Biome.MEADOW, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.YANMEGA, Type.BUG, Type.FLYING, [ [ Species.YANMEGA, Type.BUG, Type.FLYING, [
@ -2937,11 +2965,13 @@ export const biomePools: BiomePools = {
] ]
], ],
[ Species.MAMOSWINE, Type.ICE, Type.GROUND, [ [ Species.MAMOSWINE, Type.ICE, Type.GROUND, [
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ] [ Biome.ICE_CAVE, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.UNCOMMON ]
] ]
], ],
[ Species.PORYGON_Z, Type.NORMAL, -1, [ [ Species.PORYGON_Z, Type.NORMAL, -1, [
[ Biome.SPACE, BiomePoolTier.BOSS_RARE ] [ Biome.SPACE, BiomePoolTier.BOSS_RARE ],
[ Biome.END, BiomePoolTier.RARE ]
] ]
], ],
[ Species.GALLADE, Type.PSYCHIC, Type.FIGHTING, [ [ Species.GALLADE, Type.PSYCHIC, Type.FIGHTING, [
@ -3028,7 +3058,7 @@ export const biomePools: BiomePools = {
] ]
], ],
[ Species.ARCEUS, Type.NORMAL, -1, [ [ Species.ARCEUS, Type.NORMAL, -1, [
[ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE ] [ Biome.END, BiomePoolTier.ULTRA_RARE ]
] ]
], ],
[ Species.VICTINI, Type.PSYCHIC, Type.FIRE, [ [ Species.VICTINI, Type.PSYCHIC, Type.FIRE, [
@ -3687,7 +3717,8 @@ export const biomePools: BiomePools = {
[ Species.HYDREIGON, Type.DARK, Type.DRAGON, [ [ Species.HYDREIGON, Type.DARK, Type.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.UNCOMMON ], [ Biome.WASTELAND, BiomePoolTier.UNCOMMON ],
[ Biome.ABYSS, BiomePoolTier.RARE ], [ Biome.ABYSS, BiomePoolTier.RARE ],
[ Biome.ABYSS, BiomePoolTier.BOSS ] [ Biome.ABYSS, BiomePoolTier.BOSS ],
[ Biome.END, BiomePoolTier.COMMON ]
] ]
], ],
[ Species.LARVESTA, Type.BUG, Type.FIRE, [ [ Species.LARVESTA, Type.BUG, Type.FIRE, [
@ -3696,12 +3727,13 @@ export const biomePools: BiomePools = {
], ],
[ Species.VOLCARONA, Type.BUG, Type.FIRE, [ [ Species.VOLCARONA, Type.BUG, Type.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ], [ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ],
[ Biome.END, BiomePoolTier.COMMON ]
] ]
], ],
[ Species.COBALION, Type.STEEL, Type.FIGHTING, [ [ Species.COBALION, Type.STEEL, Type.FIGHTING, [
[ Biome.CAVE, BiomePoolTier.ULTRA_RARE ], [ Biome.CAVE, BiomePoolTier.ULTRA_RARE ],
[ Biome.CAVE, BiomePoolTier.BOSS_ULTRA_RARE ], [ Biome.CAVE, BiomePoolTier.BOSS_SUPER_RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ] [ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
@ -3757,8 +3789,11 @@ export const biomePools: BiomePools = {
] ]
], ],
[ Species.GENESECT, Type.BUG, Type.STEEL, [ [ Species.GENESECT, Type.BUG, Type.STEEL, [
[ Biome.SPACE, BiomePoolTier.ULTRA_RARE ], [ Biome.END, BiomePoolTier.SUPER_RARE ]
[ Biome.SPACE, BiomePoolTier.BOSS_SUPER_RARE ] ]
],
[ Species.ETERNATUS, Type.POISON, Type.DRAGON, [
[ Biome.END, BiomePoolTier.BOSS ]
] ]
] ]
]; ];

View File

@ -2727,6 +2727,6 @@ export const allMoves = [
.attr(StatChangeAttr, [ BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD ], 2, true), .attr(StatChangeAttr, [ BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD ], 2, true),
new AttackMove(Moves.OBLIVION_WING, "Oblivion Wing", Type.FLYING, MoveCategory.SPECIAL, 80, 100, 10, -1, "User recovers 3/4 the HP inflicted on the opponent.", -1, 0, 6) new AttackMove(Moves.OBLIVION_WING, "Oblivion Wing", Type.FLYING, MoveCategory.SPECIAL, 80, 100, 10, -1, "User recovers 3/4 the HP inflicted on the opponent.", -1, 0, 6)
.attr(HitHealAttr, 0.75), .attr(HitHealAttr, 0.75),
new AttackMove(Moves.DYNAMAX_CANNON, "Dynamax Cannon", Type.DRAGON, MoveCategory.SPECIAL, 100, 100, 5, -1, "Power is doubled if the target is over level 150.", -1, 0, 8) new AttackMove(Moves.DYNAMAX_CANNON, "Dynamax Cannon", Type.DRAGON, MoveCategory.SPECIAL, 100, 100, 5, -1, "Power is doubled if the target is over level 200.", -1, 0, 8)
.attr(MovePowerMultiplierAttr, (user: Pokemon, target: Pokemon, move: Move) => target.level > 150 ? 2 : 1) .attr(MovePowerMultiplierAttr, (user: Pokemon, target: Pokemon, move: Move) => target.level > 200 ? 2 : 1)
]; ];

View File

@ -725,7 +725,10 @@ export function getPlayerModifierTypeOptionsForWave(waveIndex: integer, count: i
} }
export function getEnemyModifierTypesForWave(waveIndex: integer, count: integer, party: EnemyPokemon[]): PokemonHeldItemModifierType[] { export function getEnemyModifierTypesForWave(waveIndex: integer, count: integer, party: EnemyPokemon[]): PokemonHeldItemModifierType[] {
return new Array(count).fill(0).map(() => getNewModifierTypeOption(party, false).type as PokemonHeldItemModifierType); const ret = new Array(count).fill(0).map(() => getNewModifierTypeOption(party, false).type as PokemonHeldItemModifierType);
if (waveIndex === 200)
ret.push(modifierTypes.MINI_BLACK_HOLE());
return ret;
} }
function getNewModifierTypeOption(party: Pokemon[], player?: boolean, tier?: ModifierTier, upgrade?: boolean): ModifierTypeOption { function getNewModifierTypeOption(party: Pokemon[], player?: boolean, tier?: ModifierTier, upgrade?: boolean): ModifierTypeOption {