Fix some bugs
Fix softlock with charging moves; fix double summon bug with Dragon Tail and similar moves in a trainer battle
This commit is contained in:
parent
957b5d0fa7
commit
4a575a45a9
Binary file not shown.
Before Width: | Height: | Size: 359 B |
|
@ -1085,7 +1085,7 @@ export class CommandPhase extends FieldPhase {
|
|||
let useStruggle = false;
|
||||
if (cursor === -1 || playerPokemon.trySelectMove(cursor, args[0] as boolean) || (useStruggle = cursor > -1 && !playerPokemon.getMoveset().filter(m => m.isUsable(playerPokemon)).length)) {
|
||||
const moveId = !useStruggle ? cursor > -1 ? playerPokemon.getMoveset()[cursor].moveId : Moves.NONE : Moves.STRUGGLE;
|
||||
const turnCommand: TurnCommand = { command: Command.FIGHT, cursor: cursor, move: { move: moveId, targets: [] }, args: args };
|
||||
const turnCommand: TurnCommand = { command: Command.FIGHT, cursor: cursor, move: { move: moveId, targets: [], ignorePP: args[0] }, args: args };
|
||||
const moveTargets: MoveTargetSet = args.length < 3 ? getMoveTargets(playerPokemon, moveId) : args[2];
|
||||
if (!moveId)
|
||||
turnCommand.targets = [ this.fieldIndex ];
|
||||
|
|
|
@ -237,7 +237,6 @@ export default class BattleScene extends Phaser.Scene {
|
|||
this.loadImage(`summary_tabs_${t}`, 'ui');
|
||||
|
||||
this.loadImage('starter_select_bg', 'ui');
|
||||
this.loadImage('starter_select_message', 'ui');
|
||||
this.loadImage('starter_select_cursor', 'ui');
|
||||
this.loadImage('starter_select_cursor_highlight', 'ui');
|
||||
this.loadImage('starter_select_cursor_pokerus', 'ui');
|
||||
|
|
|
@ -13,7 +13,6 @@ import { Abilities, BlockRecoilDamageAttr, IgnoreContactAbAttr, applyAbAttrs } f
|
|||
import { PokemonHeldItemModifier } from "../modifier/modifier";
|
||||
import { BattlerIndex } from "../battle";
|
||||
import { Stat } from "./pokemon-stat";
|
||||
import { Species } from "./species";
|
||||
|
||||
export enum MoveCategory {
|
||||
PHYSICAL,
|
||||
|
@ -2580,7 +2579,8 @@ export class ForceSwitchOutAttr extends MoveEffectAttr {
|
|||
switchOutTarget.hideInfo();
|
||||
switchOutTarget.setVisible(false);
|
||||
|
||||
user.scene.unshiftPhase(new SwitchSummonPhase(user.scene, switchOutTarget.getFieldIndex(), user.scene.currentBattle.trainer.getNextSummonIndex(), false, this.batonPass, false));
|
||||
if (switchOutTarget.hp)
|
||||
user.scene.unshiftPhase(new SwitchSummonPhase(user.scene, switchOutTarget.getFieldIndex(), user.scene.currentBattle.trainer.getNextSummonIndex(), false, this.batonPass, false));
|
||||
} else {
|
||||
switchOutTarget.hideInfo().then(() => switchOutTarget.destroy());
|
||||
switchOutTarget.hp = 0;
|
||||
|
|
|
@ -527,9 +527,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
: this.moveset;
|
||||
|
||||
if (MOVE_OVERRIDE && this.isPlayer())
|
||||
this.moveset[0] = new PokemonMove(MOVE_OVERRIDE);
|
||||
this.moveset[0] = new PokemonMove(MOVE_OVERRIDE, Math.min(this.moveset[0].ppUsed, allMoves[MOVE_OVERRIDE].pp));
|
||||
else if (OPP_MOVE_OVERRIDE && !this.isPlayer())
|
||||
this.moveset[0] = new PokemonMove(OPP_MOVE_OVERRIDE);
|
||||
this.moveset[0] = new PokemonMove(OPP_MOVE_OVERRIDE, Math.min(this.moveset[0].ppUsed, allMoves[OPP_MOVE_OVERRIDE].pp));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -36,9 +36,9 @@ export default class EggListUiHandler extends MessageUiHandler {
|
|||
bgColor.setOrigin(0, 0);
|
||||
this.eggListContainer.add(bgColor);
|
||||
|
||||
const starterSelectBg = this.scene.add.image(1, 1, 'egg_list_bg');
|
||||
starterSelectBg.setOrigin(0, 0);
|
||||
this.eggListContainer.add(starterSelectBg);
|
||||
const eggListBg = this.scene.add.image(1, 1, 'egg_list_bg');
|
||||
eggListBg.setOrigin(0, 0);
|
||||
this.eggListContainer.add(eggListBg);
|
||||
|
||||
this.eggListContainer.add(addWindow(this.scene, 1, 85, 106, 22));
|
||||
this.eggListContainer.add(addWindow(this.scene, 1, 102, 106, 50, true));
|
||||
|
@ -77,9 +77,9 @@ export default class EggListUiHandler extends MessageUiHandler {
|
|||
this.eggListMessageBoxContainer.setVisible(false);
|
||||
this.eggListContainer.add(this.eggListMessageBoxContainer);
|
||||
|
||||
const starterSelectMessageBox = this.scene.add.image(0, 0, 'starter_select_message');
|
||||
starterSelectMessageBox.setOrigin(0, 1);
|
||||
this.eggListMessageBoxContainer.add(starterSelectMessageBox);
|
||||
const eggListMessageBox = addWindow(this.scene, 1, -1, 318, 28);
|
||||
eggListMessageBox.setOrigin(0, 1);
|
||||
this.eggListMessageBoxContainer.add(eggListMessageBox);
|
||||
|
||||
this.message = addTextObject(this.scene, 8, -8, '', TextStyle.WINDOW, { maxLines: 1 });
|
||||
this.message.setOrigin(0, 1);
|
||||
|
|
|
@ -261,7 +261,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||
this.starterSelectMessageBoxContainer.setVisible(false);
|
||||
this.starterSelectContainer.add(this.starterSelectMessageBoxContainer);
|
||||
|
||||
const starterSelectMessageBox = this.scene.add.image(0, 0, 'starter_select_message');
|
||||
const starterSelectMessageBox = addWindow(this.scene, 1, -1, 318, 28);
|
||||
starterSelectMessageBox.setOrigin(0, 1);
|
||||
this.starterSelectMessageBoxContainer.add(starterSelectMessageBox);
|
||||
|
||||
|
|
Loading…
Reference in New Issue