mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-18 14:22:19 +02:00
Merge branch beta into ability-copy
This commit is contained in:
commit
6d2ad5692c
@ -57,9 +57,9 @@ export class Ability implements Localizable {
|
|||||||
public generation: number;
|
public generation: number;
|
||||||
public isBypassFaint: boolean;
|
public isBypassFaint: boolean;
|
||||||
public isIgnorable: boolean;
|
public isIgnorable: boolean;
|
||||||
public isSuppressable: boolean;
|
public isSuppressable = true;
|
||||||
public isCopiable: boolean;
|
public isCopiable = true;
|
||||||
public isReplaceable: boolean;
|
public isReplaceable = true;
|
||||||
public attrs: AbAttr[];
|
public attrs: AbAttr[];
|
||||||
public conditions: AbAttrCondition[];
|
public conditions: AbAttrCondition[];
|
||||||
|
|
||||||
@ -78,6 +78,9 @@ export class Ability implements Localizable {
|
|||||||
this.localize();
|
this.localize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get isSwappable(): boolean {
|
||||||
|
return this.isCopiable && this.isReplaceable;
|
||||||
|
}
|
||||||
localize(): void {
|
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;
|
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 {
|
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)
|
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 {
|
override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, args: any[]): void {
|
||||||
|
@ -7466,7 +7466,7 @@ export class SwitchAbilitiesAttr extends MoveEffectAttr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getCondition(): MoveConditionFunc {
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user