Fix issue with skipped move charge effects not activating
This commit is contained in:
1 parent
143c38d0bd
commit
01938dcf83
2 files changed
+11
-4
No files matched your search
+10
-3
@@ -915,7 +915,7 @@ export class ChargeAttr extends OverrideMoveEffectAttr {
|
||||
public chargeAnim: ChargeAnim;
|
||||
private chargeText: string;
|
||||
private tagType: BattlerTagType;
|
||||
public chargeEffect: boolean;
|
||||
private chargeEffect: boolean;
|
||||
public sameTurn: boolean;
|
||||
public followUpPriority: integer;
|
||||
|
||||
@@ -932,8 +932,8 @@ export class ChargeAttr extends OverrideMoveEffectAttr {
|
||||
|
||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): Promise<boolean> {
|
||||
return new Promise(resolve => {
|
||||
const lastMove = user.getLastXMoves() as TurnMove[];
|
||||
if (!lastMove.length || lastMove[0].move !== move.id || lastMove[0].result !== MoveResult.OTHER) {
|
||||
const lastMove = user.getLastXMoves().find(() => true);
|
||||
if (!lastMove || lastMove.move !== move.id || lastMove.result !== MoveResult.OTHER) {
|
||||
(args[0] as Utils.BooleanHolder).value = true;
|
||||
new MoveChargeAnim(this.chargeAnim, move.id, user).play(user.scene, () => {
|
||||
user.scene.queueMessage(getPokemonMessage(user, ` ${this.chargeText.replace('{TARGET}', target.name)}`));
|
||||
@@ -951,6 +951,13 @@ export class ChargeAttr extends OverrideMoveEffectAttr {
|
||||
resolve(false);
|
||||
});
|
||||
}
|
||||
|
||||
usedChargeEffect(user: Pokemon, target: Pokemon, move: Move): boolean {
|
||||
if (!this.chargeEffect)
|
||||
return false;
|
||||
const lastMove = user.getLastXMoves().find(() => true);
|
||||
return lastMove && lastMove.move === move.id && lastMove.result === MoveResult.OTHER;
|
||||
}
|
||||
}
|
||||
|
||||
export class SolarBeamChargeAttr extends ChargeAttr {
|
||||
|
||||
Reference in new issue
Block a user