Update arenas and soundtrack
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 613 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 613 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 613 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 616 B After Width: | Height: | Size: 616 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 613 B |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 630 B After Width: | Height: | Size: 630 B |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 618 B After Width: | Height: | Size: 618 B |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 633 B After Width: | Height: | Size: 633 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 624 B After Width: | Height: | Size: 624 B |
After Width: | Height: | Size: 559 B |
After Width: | Height: | Size: 955 B |
After Width: | Height: | Size: 611 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 615 B After Width: | Height: | Size: 615 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 602 B After Width: | Height: | Size: 602 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 624 B After Width: | Height: | Size: 624 B |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 621 B After Width: | Height: | Size: 621 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 602 B After Width: | Height: | Size: 602 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 625 B After Width: | Height: | Size: 625 B |
55
src/arena.ts
|
@ -16,11 +16,15 @@ export enum ArenaType {
|
||||||
LAND,
|
LAND,
|
||||||
CAVE,
|
CAVE,
|
||||||
DESERT,
|
DESERT,
|
||||||
ARENA_BROWN,
|
ICE_CAVE,
|
||||||
ARENA_PURPLE,
|
MEADOW,
|
||||||
ARENA_BLUE,
|
POWER_PLANT,
|
||||||
ARENA_ORANGE,
|
VOLCANO,
|
||||||
ARENA_PINK
|
GRAVEYARD,
|
||||||
|
DOJO,
|
||||||
|
RUINS,
|
||||||
|
ABYSS,
|
||||||
|
SPACE
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PoolTier {
|
enum PoolTier {
|
||||||
|
@ -77,10 +81,18 @@ export class Arena {
|
||||||
|
|
||||||
const arenaPools = {
|
const arenaPools = {
|
||||||
[ArenaType.PLAINS]: {
|
[ArenaType.PLAINS]: {
|
||||||
[PoolTier.COMMON]: [ Species.CATERPIE, Species.METAPOD, Species.WEEDLE, Species.KAKUNA, Species.PIDGEY, Species.RATTATA, Species.SPEAROW, Species.SENTRET, Species.HOOTHOOT, Species.HOPPIP, Species.SUNKERN, Species.POOCHYENA, Species.ZIGZAGOON, Species.WURMPLE, Species.SILCOON, Species.CASCOON, Species.TAILLOW, Species.STARLY, Species.BIDOOF, Species.KRICKETOT, Species.PATRAT, Species.LILLIPUP, Species.PIDOVE, Species.COTTONEE, Species.PETILIL, Species.MINCCINO, Species.FOONGUS ],
|
[PoolTier.COMMON]: [
|
||||||
[PoolTier.UNCOMMON]: [ Species.EKANS, Species.NIDORAN_F, Species.NIDORAN_M, Species.PARAS, Species.VENONAT, Species.MEOWTH, Species.BELLSPROUT, Species.LEDYBA, Species.SPINARAK, Species.PINECO, Species.LOTAD, Species.SEEDOT, Species.SHROOMISH, Species.NINCADA, Species.AZURILL, Species.WHISMUR, Species.SKITTY, Species.GULPIN, Species.BUDEW, Species.BURMY, Species.COMBEE, Species.CHERUBI, Species.VENIPEDE ],
|
Species.CATERPIE, Species.METAPOD, Species.WEEDLE, Species.KAKUNA, Species.PIDGEY, Species.RATTATA, Species.SPEAROW, Species.SENTRET, Species.HOOTHOOT, Species.LEDYBA,
|
||||||
[PoolTier.RARE]: [ Species.PICHU, Species.CLEFFA, Species.IGGLYBUFF, Species.WOOPER, Species.RALTS, Species.SURSKIT, Species.SLAKOTH, Species.BARBOACH, Species.DUCKLETT ],
|
Species.HOPPIP, Species.SUNKERN, Species.POOCHYENA, Species.ZIGZAGOON, Species.WURMPLE, Species.SILCOON, Species.CASCOON, Species.TAILLOW, Species.STARLY, Species.BIDOOF,
|
||||||
[PoolTier.ULTRA_RARE]: [ Species.EEVEE, Species.TOGEPI, Species.TYROGUE ],
|
Species.KRICKETOT, Species.PATRAT, Species.LILLIPUP, Species.PIDOVE, Species.COTTONEE, Species.PETILIL, Species.MINCCINO, Species.FOONGUS
|
||||||
|
],
|
||||||
|
[PoolTier.UNCOMMON]: [
|
||||||
|
Species.EKANS, Species.NIDORAN_F, Species.NIDORAN_M, Species.ODDISH, Species.PARAS, Species.VENONAT, Species.MEOWTH, Species.BELLSPROUT, Species.PICHU, Species.IGGLYBUFF,
|
||||||
|
Species.LOTAD, Species.SEEDOT, Species.SHROOMISH, Species.NINCADA, Species.AZURILL, Species.WHISMUR, Species.SKITTY, Species.BUDEW, Species.COMBEE, Species.CHERUBI,
|
||||||
|
Species.VENIPEDE
|
||||||
|
],
|
||||||
|
[PoolTier.RARE]: [ Species.ABRA, Species.CLEFFA, Species.WOOPER, Species.RALTS, Species.SURSKIT, Species.SLAKOTH, Species.DUCKLETT ],
|
||||||
|
[PoolTier.ULTRA_RARE]: [ Species.EEVEE, Species.TOGEPI, Species.SMEARGLE, Species.TYROGUE, Species.WYNAUT ],
|
||||||
[PoolTier.LEGENDARY]: [ Species.DITTO ]
|
[PoolTier.LEGENDARY]: [ Species.DITTO ]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -172,7 +184,28 @@ const arenaPoolPredicates = {
|
||||||
[ArenaType.DESERT]: (p, t) => {
|
[ArenaType.DESERT]: (p, t) => {
|
||||||
return p.isOfType(Type.GROUND) || p.isOfType(Type.ROCK);
|
return p.isOfType(Type.GROUND) || p.isOfType(Type.ROCK);
|
||||||
},
|
},
|
||||||
[ArenaType.ARENA_PINK]: (p, t) => {
|
[ArenaType.ICE_CAVE]: (p, t) => {
|
||||||
return p.legendary || p.mythical;
|
return p.isOfType(Type.ICE);
|
||||||
|
},
|
||||||
|
[ArenaType.MEADOW]: (p, t) => {
|
||||||
|
return p.isOfType(Type.FAIRY);
|
||||||
|
},
|
||||||
|
[ArenaType.POWER_PLANT]: (p, t) => {
|
||||||
|
return p.isOfType(Type.ELECTRIC);
|
||||||
|
},
|
||||||
|
[ArenaType.VOLCANO]: (p, t) => {
|
||||||
|
return p.isOfType(Type.FIRE);
|
||||||
|
},
|
||||||
|
[ArenaType.GRAVEYARD]: (p, t) => {
|
||||||
|
return p.isOfType(Type.GHOST);
|
||||||
|
},
|
||||||
|
[ArenaType.DOJO]: (p, t) => {
|
||||||
|
return p.isOfType(Type.FIGHTING);
|
||||||
|
},
|
||||||
|
[ArenaType.RUINS]: (p, t) => {
|
||||||
|
return p.isOfType(Type.PSYCHIC);
|
||||||
|
},
|
||||||
|
[ArenaType.ABYSS]: (p, t) => {
|
||||||
|
return p.isOfType(Type.DARK);
|
||||||
}
|
}
|
||||||
};
|
};
|
|
@ -757,7 +757,7 @@ export class SelectModifierPhase extends BattlePhase {
|
||||||
super.start();
|
super.start();
|
||||||
|
|
||||||
regenerateModifierPoolThresholds(this.scene.getParty());
|
regenerateModifierPoolThresholds(this.scene.getParty());
|
||||||
const types = [ getNewModifierType(), getNewModifierType(), getNewModifierType(), getNewModifierType(), getNewModifierType(), getNewModifierType() ];
|
const types = [ getNewModifierType(), getNewModifierType(), getNewModifierType() ];
|
||||||
|
|
||||||
this.scene.ui.setMode(Mode.MODIFIER_SELECT, types, (cursor: integer) => {
|
this.scene.ui.setMode(Mode.MODIFIER_SELECT, types, (cursor: integer) => {
|
||||||
if (cursor < 0) {
|
if (cursor < 0) {
|
||||||
|
|
|
@ -117,12 +117,12 @@ export default class BattleScene extends Phaser.Scene {
|
||||||
this.loadAtlas('party_cancel', 'ui');
|
this.loadAtlas('party_cancel', 'ui');
|
||||||
|
|
||||||
// Load arena images
|
// Load arena images
|
||||||
for (let a = 1; a <= 15; a++) {
|
Utils.getEnumValues(ArenaType).map(at => {
|
||||||
const arenaId = Utils.padInt(a, 2);
|
const atKey = ArenaType[at].toLowerCase();
|
||||||
this.loadImage(`arena_${arenaId}`, 'arenas', `${arenaId}.png`);
|
this.loadImage(`${atKey}_bg`, 'arenas', `${atKey}_bg.png`);
|
||||||
this.loadImage(`arena_${arenaId}a`, 'arenas', `${arenaId}a.png`);
|
this.loadImage(`${atKey}_a`, 'arenas', `${atKey}_a.png`);
|
||||||
this.loadImage(`arena_${arenaId}b`, 'arenas', `${arenaId}b.png`);
|
this.loadImage(`${atKey}_b`, 'arenas', `${atKey}_b.png`);
|
||||||
}
|
});
|
||||||
|
|
||||||
// Load trainer images
|
// Load trainer images
|
||||||
this.loadImage('trainer_m', 'trainer');
|
this.loadImage('trainer_m', 'trainer');
|
||||||
|
@ -177,31 +177,15 @@ export default class BattleScene extends Phaser.Scene {
|
||||||
this.field = field;
|
this.field = field;
|
||||||
|
|
||||||
// Init arena
|
// Init arena
|
||||||
const arenas = [
|
const arenas = Utils.getEnumValues(ArenaType).map(at => new Arena(this, at, ArenaType[at].toLowerCase()));
|
||||||
new Arena(this, ArenaType.PLAINS, 'battle'),
|
const arena = arenas[Utils.randInt(11)];
|
||||||
new Arena(this, ArenaType.GRASS, 'grass'),
|
|
||||||
new Arena(this, ArenaType.FOREST, 'forest'),
|
|
||||||
new Arena(this, ArenaType.WATER, 'water'),
|
|
||||||
new Arena(this, ArenaType.SWAMP, 'swamp'),
|
|
||||||
new Arena(this, ArenaType.SEA, 'sea'),
|
|
||||||
new Arena(this, ArenaType.MOUNTAIN, 'mountain'),
|
|
||||||
new Arena(this, ArenaType.LAND, 'land'),
|
|
||||||
new Arena(this, ArenaType.CAVE, 'cave'),
|
|
||||||
new Arena(this, ArenaType.DESERT, 'desert'),
|
|
||||||
new Arena(this, ArenaType.ARENA_BROWN, 'elite_1'),
|
|
||||||
new Arena(this, ArenaType.ARENA_BLUE, 'elite_2'),
|
|
||||||
new Arena(this, ArenaType.ARENA_PURPLE, 'elite_3'),
|
|
||||||
new Arena(this, ArenaType.ARENA_PINK, 'elite_4'),
|
|
||||||
new Arena(this, ArenaType.ARENA_ORANGE, 'elite_5')
|
|
||||||
];
|
|
||||||
const arena = arenas[0];//arenas[Utils.randInt(15)];
|
|
||||||
|
|
||||||
this.arena = arena;
|
this.arena = arena;
|
||||||
|
|
||||||
this.arenaBg = this.add.image(0, 0, `arena_${Utils.padInt(arena.arenaType, 2)}`);
|
this.arenaBg = this.add.image(0, 0, `${ArenaType[arena.arenaType].toLowerCase()}_bg`);
|
||||||
this.arenaPlayer = this.add.image(340, 20, `arena_${Utils.padInt(arena.arenaType, 2)}a`);
|
this.arenaPlayer = this.add.image(340, 20, `${ArenaType[arena.arenaType].toLowerCase()}_a`);
|
||||||
this.arenaEnemy = this.add.image(-240, 13, `arena_${Utils.padInt(arena.arenaType, 2)}b`);
|
this.arenaEnemy = this.add.image(-240, 13, `${ArenaType[arena.arenaType].toLowerCase()}_b`);
|
||||||
this.arenaEnemy2 = this.add.image(-240, 13, `arena_${Utils.padInt(arena.arenaType, 2)}b`);
|
this.arenaEnemy2 = this.add.image(-240, 13, `${ArenaType[arena.arenaType].toLowerCase()}_b`);
|
||||||
|
|
||||||
[this.arenaBg, this.arenaPlayer, this.arenaEnemy, this.arenaEnemy2].forEach(a => {
|
[this.arenaBg, this.arenaPlayer, this.arenaEnemy, this.arenaEnemy2].forEach(a => {
|
||||||
a.setOrigin(0, 0);
|
a.setOrigin(0, 0);
|
||||||
|
|
|
@ -921,12 +921,3 @@ export const allSpecies = [
|
||||||
let i = 0;
|
let i = 0;
|
||||||
return new PokemonSpecies(p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++]);
|
return new PokemonSpecies(p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++], p[i++]);
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(
|
|
||||||
Species[getPokemonSpecies(Species.PICHU).getSpeciesForLevel(5)],
|
|
||||||
Species[getPokemonSpecies(Species.PICHU).getSpeciesForLevel(20)],
|
|
||||||
Species[getPokemonSpecies(Species.PICHU).getSpeciesForLevel(50)],
|
|
||||||
Species[getPokemonSpecies(Species.EXEGGUTOR).getSpeciesForLevel(5)],
|
|
||||||
Species[getPokemonSpecies(Species.EXEGGUTOR).getSpeciesForLevel(20)],
|
|
||||||
Species[getPokemonSpecies(Species.EXEGGUTOR).getSpeciesForLevel(50)]
|
|
||||||
);
|
|