Merge branch beta into ability-copy

This commit is contained in:
Dean 2025-03-29 17:01:50 -07:00
commit 6d2ad5692c
2 changed files with 8 additions and 5 deletions

View File

@ -57,9 +57,9 @@ export class Ability implements Localizable {
public generation: number;
public isBypassFaint: boolean;
public isIgnorable: boolean;
public isSuppressable: boolean;
public isCopiable: boolean;
public isReplaceable: boolean;
public isSuppressable = true;
public isCopiable = true;
public isReplaceable = true;
public attrs: AbAttr[];
public conditions: AbAttrCondition[];
@ -78,6 +78,9 @@ export class Ability implements Localizable {
this.localize();
}
public get isSwappable(): boolean {
return this.isCopiable && this.isReplaceable;
}
localize(): void {
const i18nKey = Abilities[this.id].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join("") as string;
@ -1160,7 +1163,7 @@ export class PostDefendAbilitySwapAbAttr extends PostDefendAbAttr {
override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean {
return move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)
&& attacker.getAbility().isReplaceable && attacker.getAbility().isCopiable && !move.hitsSubstitute(attacker, pokemon);
&& attacker.getAbility().isSwappable && !move.hitsSubstitute(attacker, pokemon);
}
override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, args: any[]): void {

View File

@ -7466,7 +7466,7 @@ export class SwitchAbilitiesAttr extends MoveEffectAttr {
}
getCondition(): MoveConditionFunc {
return (user, target, move) => [user, target].every(pkmn => pkmn.getAbility().isReplaceable && pkmn.getAbility().isCopiable);
return (user, target, move) => [user, target].every(pkmn => pkmn.getAbility().isSwappable);
}
}