Display enemy trainer briefly when switching
parent
aa13562433
commit
4e93f1e52c
|
@ -5,7 +5,7 @@ import * as Utils from "./utils";
|
||||||
import PokemonSpecies, { getPokemonSpecies } from "./data/pokemon-species";
|
import PokemonSpecies, { getPokemonSpecies } from "./data/pokemon-species";
|
||||||
import { Species } from "./data/enums/species";
|
import { Species } from "./data/enums/species";
|
||||||
import { Weather, WeatherType, getWeatherClearMessage, getWeatherStartMessage } from "./data/weather";
|
import { Weather, WeatherType, getWeatherClearMessage, getWeatherStartMessage } from "./data/weather";
|
||||||
import { CommonAnimPhase } from "./battle-phases";
|
import { CommonAnimPhase } from "./phases";
|
||||||
import { CommonAnim } from "./data/battle-anims";
|
import { CommonAnim } from "./data/battle-anims";
|
||||||
import { Type } from "./data/type";
|
import { Type } from "./data/type";
|
||||||
import Move from "./data/move";
|
import Move from "./data/move";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import Phaser from 'phaser';
|
import Phaser from 'phaser';
|
||||||
import UI, { Mode } from './ui/ui';
|
import UI, { Mode } from './ui/ui';
|
||||||
import { EncounterPhase, SummonPhase, NextEncounterPhase, NewBiomeEncounterPhase, SelectBiomePhase, MessagePhase, CheckLoadPhase, TurnInitPhase, ReturnPhase, LevelCapPhase, TestMessagePhase, ShowTrainerPhase, TrainerMessageTestPhase, LoginPhase, ConsolidateDataPhase, SelectGenderPhase, MovePhase } from './battle-phases';
|
import { EncounterPhase, SummonPhase, NextEncounterPhase, NewBiomeEncounterPhase, SelectBiomePhase, MessagePhase, CheckLoadPhase, TurnInitPhase, ReturnPhase, LevelCapPhase, TestMessagePhase, ShowTrainerPhase, TrainerMessageTestPhase, LoginPhase, ConsolidateDataPhase, SelectGenderPhase, MovePhase } from './phases';
|
||||||
import Pokemon, { PlayerPokemon, EnemyPokemon } from './pokemon';
|
import Pokemon, { PlayerPokemon, EnemyPokemon } from './pokemon';
|
||||||
import PokemonSpecies, { PokemonSpeciesFilter, allSpecies, getPokemonSpecies, initSpecies, speciesStarters } from './data/pokemon-species';
|
import PokemonSpecies, { PokemonSpeciesFilter, allSpecies, getPokemonSpecies, initSpecies, speciesStarters } from './data/pokemon-species';
|
||||||
import * as Utils from './utils';
|
import * as Utils from './utils';
|
||||||
|
@ -8,7 +8,7 @@ import { Modifier, ModifierBar, ConsumablePokemonModifier, ConsumableModifier, P
|
||||||
import { PokeballType } from './data/pokeball';
|
import { PokeballType } from './data/pokeball';
|
||||||
import { initAutoPlay } from './system/auto-play';
|
import { initAutoPlay } from './system/auto-play';
|
||||||
import { initCommonAnims, initMoveAnim, loadCommonAnimAssets, loadMoveAnimAssets, populateAnims } from './data/battle-anims';
|
import { initCommonAnims, initMoveAnim, loadCommonAnimAssets, loadMoveAnimAssets, populateAnims } from './data/battle-anims';
|
||||||
import { BattlePhase } from './battle-phase';
|
import { Phase } from './phase';
|
||||||
import { initGameSpeed } from './system/game-speed';
|
import { initGameSpeed } from './system/game-speed';
|
||||||
import { Biome } from "./data/enums/biome";
|
import { Biome } from "./data/enums/biome";
|
||||||
import { Arena, ArenaBase, getBiomeHasProps, getBiomeKey } from './arena';
|
import { Arena, ArenaBase, getBiomeHasProps, getBiomeKey } from './arena';
|
||||||
|
@ -105,11 +105,11 @@ export default class BattleScene extends Phaser.Scene {
|
||||||
|
|
||||||
public gameData: GameData;
|
public gameData: GameData;
|
||||||
|
|
||||||
private phaseQueue: BattlePhase[];
|
private phaseQueue: Phase[];
|
||||||
private phaseQueuePrepend: BattlePhase[];
|
private phaseQueuePrepend: Phase[];
|
||||||
private phaseQueuePrependSpliceIndex: integer;
|
private phaseQueuePrependSpliceIndex: integer;
|
||||||
private currentPhase: BattlePhase;
|
private currentPhase: Phase;
|
||||||
private standbyPhase: BattlePhase;
|
private standbyPhase: Phase;
|
||||||
public field: Phaser.GameObjects.Container;
|
public field: Phaser.GameObjects.Container;
|
||||||
public fieldUI: Phaser.GameObjects.Container;
|
public fieldUI: Phaser.GameObjects.Container;
|
||||||
public pbTray: PokeballTray;
|
public pbTray: PokeballTray;
|
||||||
|
@ -1403,19 +1403,19 @@ export default class BattleScene extends Phaser.Scene {
|
||||||
this.cameras.main.removePostPipeline('InvertPostFX');
|
this.cameras.main.removePostPipeline('InvertPostFX');
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentPhase(): BattlePhase {
|
getCurrentPhase(): Phase {
|
||||||
return this.currentPhase;
|
return this.currentPhase;
|
||||||
}
|
}
|
||||||
|
|
||||||
getStandbyPhase(): BattlePhase {
|
getStandbyPhase(): Phase {
|
||||||
return this.standbyPhase;
|
return this.standbyPhase;
|
||||||
}
|
}
|
||||||
|
|
||||||
pushPhase(phase: BattlePhase): void {
|
pushPhase(phase: Phase): void {
|
||||||
this.phaseQueue.push(phase);
|
this.phaseQueue.push(phase);
|
||||||
}
|
}
|
||||||
|
|
||||||
unshiftPhase(phase: BattlePhase): void {
|
unshiftPhase(phase: Phase): void {
|
||||||
if (this.phaseQueuePrependSpliceIndex === -1)
|
if (this.phaseQueuePrependSpliceIndex === -1)
|
||||||
this.phaseQueuePrepend.push(phase);
|
this.phaseQueuePrepend.push(phase);
|
||||||
else
|
else
|
||||||
|
@ -1453,7 +1453,7 @@ export default class BattleScene extends Phaser.Scene {
|
||||||
this.currentPhase.start();
|
this.currentPhase.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
overridePhase(phase: BattlePhase): boolean {
|
overridePhase(phase: Phase): boolean {
|
||||||
if (this.standbyPhase)
|
if (this.standbyPhase)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -1464,7 +1464,7 @@ export default class BattleScene extends Phaser.Scene {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
findPhase(phaseFilter: (phase: BattlePhase) => boolean): BattlePhase {
|
findPhase(phaseFilter: (phase: Phase) => boolean): Phase {
|
||||||
return this.phaseQueue.find(phaseFilter);
|
return this.phaseQueue.find(phaseFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1765,7 +1765,7 @@ export default class BattleScene extends Phaser.Scene {
|
||||||
if (pokemonFormChanges.hasOwnProperty(pokemon.species.speciesId)) {
|
if (pokemonFormChanges.hasOwnProperty(pokemon.species.speciesId)) {
|
||||||
const matchingFormChange = pokemonFormChanges[pokemon.species.speciesId].find(fc => fc.findTrigger(formChangeTriggerType) && fc.canChange(pokemon));
|
const matchingFormChange = pokemonFormChanges[pokemon.species.speciesId].find(fc => fc.findTrigger(formChangeTriggerType) && fc.canChange(pokemon));
|
||||||
if (matchingFormChange) {
|
if (matchingFormChange) {
|
||||||
let phase: BattlePhase;
|
let phase: Phase;
|
||||||
if (pokemon instanceof PlayerPokemon && !matchingFormChange.quiet)
|
if (pokemon instanceof PlayerPokemon && !matchingFormChange.quiet)
|
||||||
phase = new FormChangePhase(this, pokemon, matchingFormChange, modal);
|
phase = new FormChangePhase(this, pokemon, matchingFormChange, modal);
|
||||||
else
|
else
|
||||||
|
|
|
@ -2,7 +2,7 @@ import Pokemon, { HitResult, PokemonMove } from "../pokemon";
|
||||||
import { Type } from "./type";
|
import { Type } from "./type";
|
||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
import { BattleStat, getBattleStatName } from "./battle-stat";
|
import { BattleStat, getBattleStatName } from "./battle-stat";
|
||||||
import { DamagePhase, ObtainStatusEffectPhase, PokemonHealPhase, ShowAbilityPhase, StatChangePhase } from "../battle-phases";
|
import { DamagePhase, ObtainStatusEffectPhase, PokemonHealPhase, ShowAbilityPhase, StatChangePhase } from "../phases";
|
||||||
import { getPokemonMessage } from "../messages";
|
import { getPokemonMessage } from "../messages";
|
||||||
import { Weather, WeatherType } from "./weather";
|
import { Weather, WeatherType } from "./weather";
|
||||||
import { BattlerTag } from "./battler-tags";
|
import { BattlerTag } from "./battler-tags";
|
||||||
|
|
|
@ -4,7 +4,7 @@ import * as Utils from "../utils";
|
||||||
import { allMoves } from "./move";
|
import { allMoves } from "./move";
|
||||||
import { getPokemonMessage } from "../messages";
|
import { getPokemonMessage } from "../messages";
|
||||||
import Pokemon, { HitResult, PokemonMove } from "../pokemon";
|
import Pokemon, { HitResult, PokemonMove } from "../pokemon";
|
||||||
import { DamagePhase, MoveEffectPhase, ObtainStatusEffectPhase } from "../battle-phases";
|
import { DamagePhase, MoveEffectPhase, ObtainStatusEffectPhase } from "../phases";
|
||||||
import { StatusEffect } from "./status-effect";
|
import { StatusEffect } from "./status-effect";
|
||||||
import { BattlerTagType } from "./enums/battler-tag-type";
|
import { BattlerTagType } from "./enums/battler-tag-type";
|
||||||
import { BattlerIndex } from "../battle";
|
import { BattlerIndex } from "../battle";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { CommonAnim, CommonBattleAnim } from "./battle-anims";
|
import { CommonAnim, CommonBattleAnim } from "./battle-anims";
|
||||||
import { CommonAnimPhase, DamagePhase, MovePhase, ObtainStatusEffectPhase, PokemonHealPhase, ShowAbilityPhase } from "../battle-phases";
|
import { CommonAnimPhase, DamagePhase, MovePhase, ObtainStatusEffectPhase, PokemonHealPhase, ShowAbilityPhase } from "../phases";
|
||||||
import { getPokemonMessage } from "../messages";
|
import { getPokemonMessage } from "../messages";
|
||||||
import Pokemon, { MoveResult, HitResult } from "../pokemon";
|
import Pokemon, { MoveResult, HitResult } from "../pokemon";
|
||||||
import { Stat } from "./pokemon-stat";
|
import { Stat } from "./pokemon-stat";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { PokemonHealPhase, StatChangePhase } from "../battle-phases";
|
import { PokemonHealPhase, StatChangePhase } from "../phases";
|
||||||
import { getPokemonMessage } from "../messages";
|
import { getPokemonMessage } from "../messages";
|
||||||
import Pokemon, { HitResult } from "../pokemon";
|
import Pokemon, { HitResult } from "../pokemon";
|
||||||
import { getBattleStatName } from "./battle-stat";
|
import { getBattleStatName } from "./battle-stat";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Moves } from "./enums/moves";
|
import { Moves } from "./enums/moves";
|
||||||
import { ChargeAnim, MoveChargeAnim, initMoveAnim, loadMoveAnimAssets } from "./battle-anims";
|
import { ChargeAnim, MoveChargeAnim, initMoveAnim, loadMoveAnimAssets } from "./battle-anims";
|
||||||
import { BattleEndPhase, DamagePhase, MovePhase, NewBattlePhase, ObtainStatusEffectPhase, PokemonHealPhase, StatChangePhase, SwitchSummonPhase } from "../battle-phases";
|
import { BattleEndPhase, DamagePhase, MovePhase, NewBattlePhase, ObtainStatusEffectPhase, PokemonHealPhase, StatChangePhase, SwitchSummonPhase } from "../phases";
|
||||||
import { BattleStat, getBattleStatName } from "./battle-stat";
|
import { BattleStat, getBattleStatName } from "./battle-stat";
|
||||||
import { EncoreTag } from "./battler-tags";
|
import { EncoreTag } from "./battler-tags";
|
||||||
import { BattlerTagType } from "./enums/battler-tag-type";
|
import { BattlerTagType } from "./enums/battler-tag-type";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
||||||
import { BattlePhase } from "./battle-phase";
|
import { Phase } from "./phase";
|
||||||
import BattleScene, { AnySound } from "./battle-scene";
|
import BattleScene, { AnySound } from "./battle-scene";
|
||||||
import * as Utils from "./utils";
|
import * as Utils from "./utils";
|
||||||
import { Mode } from "./ui/ui";
|
import { Mode } from "./ui/ui";
|
||||||
|
@ -16,7 +16,7 @@ import { achvs } from "./system/achv";
|
||||||
import { addWindow } from "./ui/window";
|
import { addWindow } from "./ui/window";
|
||||||
import { getNatureName } from "./data/nature";
|
import { getNatureName } from "./data/nature";
|
||||||
|
|
||||||
export class EggHatchPhase extends BattlePhase {
|
export class EggHatchPhase extends Phase {
|
||||||
private egg: Egg;
|
private egg: Egg;
|
||||||
|
|
||||||
private eggHatchContainer: Phaser.GameObjects.Container;
|
private eggHatchContainer: Phaser.GameObjects.Container;
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
||||||
import { BattlePhase } from "./battle-phase";
|
import { Phase } from "./phase";
|
||||||
import BattleScene from "./battle-scene";
|
import BattleScene from "./battle-scene";
|
||||||
import { SpeciesEvolution } from "./data/pokemon-evolutions";
|
import { SpeciesEvolution } from "./data/pokemon-evolutions";
|
||||||
import EvolutionSceneHandler from "./ui/evolution-scene-handler";
|
import EvolutionSceneHandler from "./ui/evolution-scene-handler";
|
||||||
import * as Utils from "./utils";
|
import * as Utils from "./utils";
|
||||||
import { Mode } from "./ui/ui";
|
import { Mode } from "./ui/ui";
|
||||||
import { LearnMovePhase } from "./battle-phases";
|
import { LearnMovePhase } from "./phases";
|
||||||
import { cos, sin } from "./anims";
|
import { cos, sin } from "./anims";
|
||||||
import { PlayerPokemon } from "./pokemon";
|
import { PlayerPokemon } from "./pokemon";
|
||||||
import { getTypeRgb } from "./data/type";
|
import { getTypeRgb } from "./data/type";
|
||||||
|
|
||||||
export class EvolutionPhase extends BattlePhase {
|
export class EvolutionPhase extends Phase {
|
||||||
protected pokemon: PlayerPokemon;
|
protected pokemon: PlayerPokemon;
|
||||||
protected lastLevel: integer;
|
protected lastLevel: integer;
|
||||||
|
|
||||||
|
@ -505,7 +505,7 @@ export class EvolutionPhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class EndEvolutionPhase extends BattlePhase {
|
export class EndEvolutionPhase extends Phase {
|
||||||
start() {
|
start() {
|
||||||
super.start();
|
super.start();
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,8 @@ import { EndEvolutionPhase, EvolutionPhase } from "./evolution-phase";
|
||||||
import Pokemon, { EnemyPokemon, PlayerPokemon } from "./pokemon";
|
import Pokemon, { EnemyPokemon, PlayerPokemon } from "./pokemon";
|
||||||
import { Mode } from "./ui/ui";
|
import { Mode } from "./ui/ui";
|
||||||
import PartyUiHandler from "./ui/party-ui-handler";
|
import PartyUiHandler from "./ui/party-ui-handler";
|
||||||
import { BattlePhase } from "./battle-phase";
|
|
||||||
import { BattleSpec } from "./enums/battle-spec";
|
import { BattleSpec } from "./enums/battle-spec";
|
||||||
import { MovePhase, PokemonHealPhase } from "./battle-phases";
|
import { BattlePhase, MovePhase, PokemonHealPhase } from "./phases";
|
||||||
import { getTypeRgb } from "./data/type";
|
import { getTypeRgb } from "./data/type";
|
||||||
|
|
||||||
export class FormChangePhase extends EvolutionPhase {
|
export class FormChangePhase extends EvolutionPhase {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import * as ModifierTypes from './modifier-type';
|
import * as ModifierTypes from './modifier-type';
|
||||||
import { LearnMovePhase, LevelUpPhase, ObtainStatusEffectPhase, PokemonHealPhase } from "../battle-phases";
|
import { LearnMovePhase, LevelUpPhase, ObtainStatusEffectPhase, PokemonHealPhase } from "../phases";
|
||||||
import BattleScene from "../battle-scene";
|
import BattleScene from "../battle-scene";
|
||||||
import { getLevelTotalExp } from "../data/exp";
|
import { getLevelTotalExp } from "../data/exp";
|
||||||
import { PokeballType } from "../data/pokeball";
|
import { PokeballType } from "../data/pokeball";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import BattleScene from "./battle-scene";
|
import BattleScene from "./battle-scene";
|
||||||
|
|
||||||
export class BattlePhase {
|
export class Phase {
|
||||||
protected scene: BattleScene;
|
protected scene: BattleScene;
|
||||||
|
|
||||||
constructor(scene: BattleScene) {
|
constructor(scene: BattleScene) {
|
|
@ -14,7 +14,7 @@ import { StatusEffect, getStatusEffectActivationText, getStatusEffectCatchRateMu
|
||||||
import { SummaryUiMode } from "./ui/summary-ui-handler";
|
import { SummaryUiMode } from "./ui/summary-ui-handler";
|
||||||
import EvolutionSceneHandler from "./ui/evolution-scene-handler";
|
import EvolutionSceneHandler from "./ui/evolution-scene-handler";
|
||||||
import { EvolutionPhase } from "./evolution-phase";
|
import { EvolutionPhase } from "./evolution-phase";
|
||||||
import { BattlePhase } from "./battle-phase";
|
import { Phase } from "./phase";
|
||||||
import { BattleStat, getBattleStatLevelChangeDescription, getBattleStatName } from "./data/battle-stat";
|
import { BattleStat, getBattleStatLevelChangeDescription, getBattleStatName } from "./data/battle-stat";
|
||||||
import { biomeDepths, biomeLinks } from "./data/biomes";
|
import { biomeDepths, biomeLinks } from "./data/biomes";
|
||||||
import { Biome } from "./data/enums/biome";
|
import { Biome } from "./data/enums/biome";
|
||||||
|
@ -52,7 +52,7 @@ import ModifierSelectUiHandler, { SHOP_OPTIONS_ROW_LIMIT } from "./ui/modifier-s
|
||||||
import { Setting } from "./system/settings";
|
import { Setting } from "./system/settings";
|
||||||
import { Tutorial, handleTutorial } from "./tutorial";
|
import { Tutorial, handleTutorial } from "./tutorial";
|
||||||
|
|
||||||
export class LoginPhase extends BattlePhase {
|
export class LoginPhase extends Phase {
|
||||||
private showText: boolean;
|
private showText: boolean;
|
||||||
|
|
||||||
constructor(scene: BattleScene, showText?: boolean) {
|
constructor(scene: BattleScene, showText?: boolean) {
|
||||||
|
@ -122,7 +122,7 @@ export class LoginPhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Remove
|
// TODO: Remove
|
||||||
export class ConsolidateDataPhase extends BattlePhase {
|
export class ConsolidateDataPhase extends Phase {
|
||||||
start(): void {
|
start(): void {
|
||||||
super.start();
|
super.start();
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ export class ConsolidateDataPhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class CheckLoadPhase extends BattlePhase {
|
export class CheckLoadPhase extends Phase {
|
||||||
private loaded: boolean;
|
private loaded: boolean;
|
||||||
|
|
||||||
constructor(scene: BattleScene) {
|
constructor(scene: BattleScene) {
|
||||||
|
@ -236,7 +236,7 @@ export class CheckLoadPhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class SelectGenderPhase extends BattlePhase {
|
export class SelectGenderPhase extends Phase {
|
||||||
constructor(scene: BattleScene) {
|
constructor(scene: BattleScene) {
|
||||||
super(scene);
|
super(scene);
|
||||||
}
|
}
|
||||||
|
@ -269,7 +269,7 @@ export class SelectGenderPhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class SelectStarterPhase extends BattlePhase {
|
export class SelectStarterPhase extends Phase {
|
||||||
constructor(scene: BattleScene) {
|
constructor(scene: BattleScene) {
|
||||||
super(scene);
|
super(scene);
|
||||||
}
|
}
|
||||||
|
@ -316,6 +316,34 @@ export class SelectStarterPhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class BattlePhase extends Phase {
|
||||||
|
constructor(scene: BattleScene) {
|
||||||
|
super(scene);
|
||||||
|
}
|
||||||
|
|
||||||
|
showEnemyTrainer(): void {
|
||||||
|
this.scene.tweens.add({
|
||||||
|
targets: this.scene.currentBattle.trainer,
|
||||||
|
x: '-=16',
|
||||||
|
y: '+=16',
|
||||||
|
alpha: 1,
|
||||||
|
ease: 'Sine.easeInOut',
|
||||||
|
duration: 750
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
hideEnemyTrainer(): void {
|
||||||
|
this.scene.tweens.add({
|
||||||
|
targets: this.scene.currentBattle.trainer,
|
||||||
|
x: '+=16',
|
||||||
|
y: '-=16',
|
||||||
|
alpha: 0,
|
||||||
|
ease: 'Sine.easeInOut',
|
||||||
|
duration: 750
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type PokemonFunc = (pokemon: Pokemon) => void;
|
type PokemonFunc = (pokemon: Pokemon) => void;
|
||||||
|
|
||||||
export abstract class FieldPhase extends BattlePhase {
|
export abstract class FieldPhase extends BattlePhase {
|
||||||
|
@ -574,14 +602,7 @@ export class EncounterPhase extends BattlePhase {
|
||||||
this.scene.pbTray.showPbTray(this.scene.getParty());
|
this.scene.pbTray.showPbTray(this.scene.getParty());
|
||||||
this.scene.pbTrayEnemy.showPbTray(this.scene.getEnemyParty());
|
this.scene.pbTrayEnemy.showPbTray(this.scene.getEnemyParty());
|
||||||
const doTrainerSummon = () => {
|
const doTrainerSummon = () => {
|
||||||
this.scene.tweens.add({
|
this.hideEnemyTrainer();
|
||||||
targets: this.scene.currentBattle.trainer,
|
|
||||||
x: '+=16',
|
|
||||||
y: '-=16',
|
|
||||||
alpha: 0,
|
|
||||||
ease: 'Sine.easeInOut',
|
|
||||||
duration: 750
|
|
||||||
});
|
|
||||||
const availablePartyMembers = this.scene.getEnemyParty().filter(p => !p.isFainted()).length;
|
const availablePartyMembers = this.scene.getEnemyParty().filter(p => !p.isFainted()).length;
|
||||||
this.scene.unshiftPhase(new SummonPhase(this.scene, 0, false));
|
this.scene.unshiftPhase(new SummonPhase(this.scene, 0, false));
|
||||||
if (this.scene.currentBattle.double && availablePartyMembers > 1)
|
if (this.scene.currentBattle.double && availablePartyMembers > 1)
|
||||||
|
@ -1028,13 +1049,21 @@ export class SwitchSummonPhase extends SummonPhase {
|
||||||
}
|
}
|
||||||
|
|
||||||
preSummon(): void {
|
preSummon(): void {
|
||||||
if (!this.player && this.slotIndex === -1)
|
if (!this.player) {
|
||||||
|
if (this.slotIndex === -1)
|
||||||
this.slotIndex = this.scene.currentBattle.trainer.getNextSummonIndex();
|
this.slotIndex = this.scene.currentBattle.trainer.getNextSummonIndex();
|
||||||
|
this.showEnemyTrainer();
|
||||||
|
this.scene.pbTrayEnemy.showPbTray(this.scene.getEnemyParty());
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.doReturn || (this.slotIndex !== -1 && !(this.player ? this.scene.getParty() : this.scene.getEnemyParty())[this.slotIndex])) {
|
if (!this.doReturn || (this.slotIndex !== -1 && !(this.player ? this.scene.getParty() : this.scene.getEnemyParty())[this.slotIndex])) {
|
||||||
this.switchAndSummon();
|
if (this.player)
|
||||||
|
return this.switchAndSummon();
|
||||||
|
else {
|
||||||
|
this.scene.time.delayedCall(750, () => this.switchAndSummon());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const pokemon = this.getPokemon();
|
const pokemon = this.getPokemon();
|
||||||
|
|
||||||
|
@ -1077,8 +1106,19 @@ export class SwitchSummonPhase extends SummonPhase {
|
||||||
if (switchedPokemon) {
|
if (switchedPokemon) {
|
||||||
party[this.slotIndex] = this.lastPokemon;
|
party[this.slotIndex] = this.lastPokemon;
|
||||||
party[this.fieldIndex] = switchedPokemon;
|
party[this.fieldIndex] = switchedPokemon;
|
||||||
|
const showTextAndSummon = () => {
|
||||||
this.scene.ui.showText(this.player ? `Go! ${switchedPokemon.name}!` : `${this.scene.currentBattle.trainer.getName(true)} sent out\n${this.getPokemon().name}!`);
|
this.scene.ui.showText(this.player ? `Go! ${switchedPokemon.name}!` : `${this.scene.currentBattle.trainer.getName(true)} sent out\n${this.getPokemon().name}!`);
|
||||||
this.summon();
|
this.summon();
|
||||||
|
};
|
||||||
|
if (this.player)
|
||||||
|
showTextAndSummon();
|
||||||
|
else {
|
||||||
|
this.scene.time.delayedCall(1500, () => {
|
||||||
|
this.hideEnemyTrainer();
|
||||||
|
this.scene.pbTrayEnemy.hide();
|
||||||
|
showTextAndSummon();
|
||||||
|
});
|
||||||
|
}
|
||||||
} else
|
} else
|
||||||
this.end();
|
this.end();
|
||||||
}
|
}
|
||||||
|
@ -2416,7 +2456,7 @@ export class PostTurnStatusEffectPhase extends PokemonPhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class MessagePhase extends BattlePhase {
|
export class MessagePhase extends Phase {
|
||||||
private text: string;
|
private text: string;
|
||||||
private callbackDelay: integer;
|
private callbackDelay: integer;
|
||||||
private prompt: boolean;
|
private prompt: boolean;
|
||||||
|
@ -2783,14 +2823,7 @@ export class TrainerVictoryPhase extends BattlePhase {
|
||||||
showMessageAndEnd();
|
showMessageAndEnd();
|
||||||
}, null, true);
|
}, null, true);
|
||||||
|
|
||||||
this.scene.tweens.add({
|
this.showEnemyTrainer();
|
||||||
targets: this.scene.currentBattle.trainer,
|
|
||||||
x: '-=16',
|
|
||||||
y: '+=16',
|
|
||||||
alpha: 1,
|
|
||||||
ease: 'Sine.easeInOut',
|
|
||||||
duration: 750
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2883,7 +2916,7 @@ export class GameOverPhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class UnlockPhase extends BattlePhase {
|
export class UnlockPhase extends Phase {
|
||||||
private unlockable: Unlockables;
|
private unlockable: Unlockables;
|
||||||
|
|
||||||
constructor(scene: BattleScene, unlockable: Unlockables) {
|
constructor(scene: BattleScene, unlockable: Unlockables) {
|
||||||
|
@ -3682,7 +3715,7 @@ export class SelectModifierPhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class EggLapsePhase extends BattlePhase {
|
export class EggLapsePhase extends Phase {
|
||||||
constructor(scene: BattleScene) {
|
constructor(scene: BattleScene) {
|
||||||
super(scene);
|
super(scene);
|
||||||
}
|
}
|
||||||
|
@ -3707,7 +3740,7 @@ export class EggLapsePhase extends BattlePhase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class AddEnemyBuffModifierPhase extends BattlePhase {
|
export class AddEnemyBuffModifierPhase extends Phase {
|
||||||
constructor(scene: BattleScene) {
|
constructor(scene: BattleScene) {
|
||||||
super(scene);
|
super(scene);
|
||||||
}
|
}
|
|
@ -15,7 +15,7 @@ import { initMoveAnim, loadMoveAnimAssets } from './data/battle-anims';
|
||||||
import { Status, StatusEffect } from './data/status-effect';
|
import { Status, StatusEffect } from './data/status-effect';
|
||||||
import { reverseCompatibleTms, tmSpecies } from './data/tms';
|
import { reverseCompatibleTms, tmSpecies } from './data/tms';
|
||||||
import { pokemonEvolutions, pokemonPrevolutions, SpeciesEvolution, SpeciesEvolutionCondition } from './data/pokemon-evolutions';
|
import { pokemonEvolutions, pokemonPrevolutions, SpeciesEvolution, SpeciesEvolutionCondition } from './data/pokemon-evolutions';
|
||||||
import { DamagePhase, FaintPhase, StatChangePhase, SwitchSummonPhase } from './battle-phases';
|
import { DamagePhase, FaintPhase, StatChangePhase, SwitchSummonPhase } from './phases';
|
||||||
import { BattleStat } from './data/battle-stat';
|
import { BattleStat } from './data/battle-stat';
|
||||||
import { BattlerTag, BattlerTagLapseType, EncoreTag, TypeBoostTag, getBattlerTag } from './data/battler-tags';
|
import { BattlerTag, BattlerTagLapseType, EncoreTag, TypeBoostTag, getBattlerTag } from './data/battler-tags';
|
||||||
import { BattlerTagType } from "./data/enums/battler-tag-type";
|
import { BattlerTagType } from "./data/enums/battler-tag-type";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { SelectModifierPhase } from "../battle-phases";
|
import { SelectModifierPhase } from "../phases";
|
||||||
import BattleScene, { Button } from "../battle-scene";
|
import BattleScene, { Button } from "../battle-scene";
|
||||||
import { ModifierType, ModifierTypeOption, PokemonBaseStatBoosterModifierType, PokemonHpRestoreModifierType, PokemonReviveModifierType } from "../modifier/modifier-type";
|
import { ModifierType, ModifierTypeOption, PokemonBaseStatBoosterModifierType, PokemonHpRestoreModifierType, PokemonReviveModifierType } from "../modifier/modifier-type";
|
||||||
import Pokemon, { AiType, EnemyPokemon, PlayerPokemon, PokemonMove } from "../pokemon";
|
import Pokemon, { AiType, EnemyPokemon, PlayerPokemon, PokemonMove } from "../pokemon";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CommandPhase } from "../battle-phases";
|
import { CommandPhase } from "../phases";
|
||||||
import BattleScene, { Button } from "../battle-scene";
|
import BattleScene, { Button } from "../battle-scene";
|
||||||
import { getPokeballName, PokeballType } from "../data/pokeball";
|
import { getPokeballName, PokeballType } from "../data/pokeball";
|
||||||
import { addTextObject, TextStyle } from "./text";
|
import { addTextObject, TextStyle } from "./text";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CommandPhase } from "../battle-phases";
|
import { CommandPhase } from "../phases";
|
||||||
import BattleScene, { Button } from "../battle-scene";
|
import BattleScene, { Button } from "../battle-scene";
|
||||||
import { addTextObject, TextStyle } from "./text";
|
import { addTextObject, TextStyle } from "./text";
|
||||||
import PartyUiHandler, { PartyUiMode } from "./party-ui-handler";
|
import PartyUiHandler, { PartyUiMode } from "./party-ui-handler";
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { Command } from "./command-ui-handler";
|
||||||
import { Mode } from "./ui";
|
import { Mode } from "./ui";
|
||||||
import UiHandler from "./ui-handler";
|
import UiHandler from "./ui-handler";
|
||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
import { CommandPhase } from "../battle-phases";
|
import { CommandPhase } from "../phases";
|
||||||
|
|
||||||
export default class FightUiHandler extends UiHandler {
|
export default class FightUiHandler extends UiHandler {
|
||||||
private movesContainer: Phaser.GameObjects.Container;
|
private movesContainer: Phaser.GameObjects.Container;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CommandPhase } from "../battle-phases";
|
import { CommandPhase } from "../phases";
|
||||||
import BattleScene, { Button } from "../battle-scene";
|
import BattleScene, { Button } from "../battle-scene";
|
||||||
import { PlayerPokemon, PokemonMove } from "../pokemon";
|
import { PlayerPokemon, PokemonMove } from "../pokemon";
|
||||||
import { addTextObject, TextStyle } from "./text";
|
import { addTextObject, TextStyle } from "./text";
|
||||||
|
|
|
@ -49,7 +49,7 @@ export default class PokeballTray extends Phaser.GameObjects.Container {
|
||||||
if (b >= party.length)
|
if (b >= party.length)
|
||||||
ballFrame = 'empty';
|
ballFrame = 'empty';
|
||||||
else if (!party[b].hp)
|
else if (!party[b].hp)
|
||||||
ballFrame = 'fainted';
|
ballFrame = 'faint';
|
||||||
else if (party[b].status)
|
else if (party[b].status)
|
||||||
ballFrame = 'status';
|
ballFrame = 'status';
|
||||||
ball.setFrame(ballFrame);
|
ball.setFrame(ballFrame);
|
||||||
|
|
Loading…
Reference in New Issue