mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-20 23:32:19 +02:00
Automatically reload bar if shown while already out, fix specific abilities
This commit is contained in:
parent
cf91b9f2ed
commit
4ae240ca7b
@ -1219,9 +1219,6 @@ export class MoveEffectChanceMultiplierAbAttr extends AbAttr {
|
|||||||
* [1]: {@linkcode Moves } Move used by the ability user.
|
* [1]: {@linkcode Moves } Move used by the ability user.
|
||||||
*/
|
*/
|
||||||
override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void {
|
override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void {
|
||||||
// Disable showAbility during getTargetBenefitScore
|
|
||||||
this.showAbility = args[4];
|
|
||||||
|
|
||||||
(args[0] as Utils.NumberHolder).value *= this.chanceMultiplier;
|
(args[0] as Utils.NumberHolder).value *= this.chanceMultiplier;
|
||||||
(args[0] as Utils.NumberHolder).value = Math.min((args[0] as Utils.NumberHolder).value, 100);
|
(args[0] as Utils.NumberHolder).value = Math.min((args[0] as Utils.NumberHolder).value, 100);
|
||||||
}
|
}
|
||||||
@ -2450,10 +2447,6 @@ export class PostSummonCopyAbilityAbAttr extends PostSummonAbAttr {
|
|||||||
private target: Pokemon;
|
private target: Pokemon;
|
||||||
private targetAbilityName: string;
|
private targetAbilityName: string;
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super(false); // Displaying ability changes should be handled by ab swap function
|
|
||||||
}
|
|
||||||
|
|
||||||
override canApplyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean {
|
override canApplyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean {
|
||||||
const targets = pokemon.getOpponents();
|
const targets = pokemon.getOpponents();
|
||||||
if (!targets.length) {
|
if (!targets.length) {
|
||||||
@ -2624,12 +2617,6 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr {
|
|||||||
|
|
||||||
globalScene.unshiftPhase(new PokemonTransformPhase(pokemon.getBattlerIndex(), target.getBattlerIndex(), true));
|
globalScene.unshiftPhase(new PokemonTransformPhase(pokemon.getBattlerIndex(), target.getBattlerIndex(), true));
|
||||||
|
|
||||||
globalScene.queueMessage(
|
|
||||||
i18next.t("abilityTriggers:postSummonTransform", {
|
|
||||||
pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
|
|
||||||
targetName: target.name,
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@ import { EFFECTIVE_STATS, BATTLE_STATS } from "#enums/stat";
|
|||||||
import { PokemonMove } from "#app/field/pokemon";
|
import { PokemonMove } from "#app/field/pokemon";
|
||||||
import { globalScene } from "#app/global-scene";
|
import { globalScene } from "#app/global-scene";
|
||||||
import { PokemonPhase } from "./pokemon-phase";
|
import { PokemonPhase } from "./pokemon-phase";
|
||||||
|
import { getPokemonNameWithAffix } from "#app/messages";
|
||||||
|
import i18next from "i18next";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transforms a Pokemon into another Pokemon on the field.
|
* Transforms a Pokemon into another Pokemon on the field.
|
||||||
@ -63,6 +65,13 @@ export class PokemonTransformPhase extends PokemonPhase {
|
|||||||
globalScene.playSound("battle_anims/PRSFX- Transform");
|
globalScene.playSound("battle_anims/PRSFX- Transform");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
globalScene.queueMessage(
|
||||||
|
i18next.t("abilityTriggers:postSummonTransform", {
|
||||||
|
pokemonNameWithAffix: getPokemonNameWithAffix(user),
|
||||||
|
targetName: target.name,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
promises.push(
|
promises.push(
|
||||||
user.loadAssets(false).then(() => {
|
user.loadAssets(false).then(() => {
|
||||||
user.playAnim();
|
user.playAnim();
|
||||||
|
@ -2,6 +2,7 @@ import { globalScene } from "#app/global-scene";
|
|||||||
import type { BattlerIndex } from "#app/battle";
|
import type { BattlerIndex } from "#app/battle";
|
||||||
import { PokemonPhase } from "./pokemon-phase";
|
import { PokemonPhase } from "./pokemon-phase";
|
||||||
import { getPokemonNameWithAffix } from "#app/messages";
|
import { getPokemonNameWithAffix } from "#app/messages";
|
||||||
|
import { HideAbilityPhase } from "#app/phases/hide-ability-phase";
|
||||||
|
|
||||||
export class ShowAbilityPhase extends PokemonPhase {
|
export class ShowAbilityPhase extends PokemonPhase {
|
||||||
private passive: boolean;
|
private passive: boolean;
|
||||||
@ -28,6 +29,13 @@ export class ShowAbilityPhase extends PokemonPhase {
|
|||||||
start() {
|
start() {
|
||||||
super.start();
|
super.start();
|
||||||
|
|
||||||
|
// If the bar is already out, hide it before showing the new one
|
||||||
|
if (globalScene.abilityBar.isVisible()) {
|
||||||
|
globalScene.unshiftPhase(new HideAbilityPhase(this.battlerIndex, this.passive));
|
||||||
|
globalScene.unshiftPhase(new ShowAbilityPhase(this.battlerIndex, this.passive));
|
||||||
|
return this.end();
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.pokemonOnField) {
|
if (!this.pokemonOnField) {
|
||||||
return this.end();
|
return this.end();
|
||||||
}
|
}
|
||||||
|
@ -11,11 +11,13 @@ export default class AbilityBar extends Phaser.GameObjects.Container {
|
|||||||
private abilityBarText: Phaser.GameObjects.Text;
|
private abilityBarText: Phaser.GameObjects.Text;
|
||||||
private player: boolean;
|
private player: boolean;
|
||||||
private screenRight: number; // hold screenRight in case size changes between show and hide
|
private screenRight: number; // hold screenRight in case size changes between show and hide
|
||||||
|
private shown: boolean;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super(globalScene, barWidth, baseY);
|
super(globalScene, barWidth, baseY);
|
||||||
this.abilityBars = [];
|
this.abilityBars = [];
|
||||||
this.player = true;
|
this.player = true;
|
||||||
|
this.shown = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
setup(): void {
|
setup(): void {
|
||||||
@ -39,6 +41,7 @@ export default class AbilityBar extends Phaser.GameObjects.Container {
|
|||||||
|
|
||||||
public override setVisible(value: boolean): this {
|
public override setVisible(value: boolean): this {
|
||||||
this.abilityBars[+this.player].setVisible(value);
|
this.abilityBars[+this.player].setVisible(value);
|
||||||
|
this.shown = value;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,4 +102,8 @@ export default class AbilityBar extends Phaser.GameObjects.Container {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public isVisible(): boolean {
|
||||||
|
return this.shown;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user