Compare commits
6 Commits
c58555f91a
...
b9b201388f
Author | SHA1 | Date |
---|---|---|
innerthunder | b9b201388f | |
innerthunder | 25e582ce25 | |
innerthunder | 57d167d5c3 | |
innerthunder | 5d051695ed | |
innerthunder | 6503aa9303 | |
innerthunder | 2884c8b912 |
|
@ -33,6 +33,7 @@ export class Arena {
|
|||
public tags: ArenaTag[];
|
||||
public bgm: string;
|
||||
public ignoreAbilities: boolean;
|
||||
public ignoringEffectSource: BattlerIndex | null;
|
||||
|
||||
private lastTimeOfDay: TimeOfDay;
|
||||
|
||||
|
@ -569,8 +570,9 @@ export class Arena {
|
|||
}
|
||||
}
|
||||
|
||||
setIgnoreAbilities(ignoreAbilities: boolean = true): void {
|
||||
setIgnoreAbilities(ignoreAbilities: boolean, ignoringEffectSource: BattlerIndex | null = null): void {
|
||||
this.ignoreAbilities = ignoreAbilities;
|
||||
this.ignoringEffectSource = ignoreAbilities ? ignoringEffectSource : null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1331,7 +1331,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
if (this.isFusion() && ability.hasAttr(NoFusionAbilityAbAttr)) {
|
||||
return false;
|
||||
}
|
||||
if (this.scene?.arena.ignoreAbilities && ability.isIgnorable) {
|
||||
const arena = this.scene?.arena;
|
||||
if (arena.ignoreAbilities && arena.ignoringEffectSource !== this.getBattlerIndex() && ability.isIgnorable) {
|
||||
return false;
|
||||
}
|
||||
if (this.summonData?.abilitySuppressed && !ability.hasAttr(UnsuppressableAbilityAbAttr)) {
|
||||
|
|
|
@ -74,7 +74,7 @@ export class MovePhase extends BattlePhase {
|
|||
|
||||
if (!this.followUp) {
|
||||
if (this.move.getMove().checkFlag(MoveFlags.IGNORE_ABILITIES, this.pokemon, null)) {
|
||||
this.scene.arena.setIgnoreAbilities();
|
||||
this.scene.arena.setIgnoreAbilities(true, this.pokemon.getBattlerIndex());
|
||||
}
|
||||
} else {
|
||||
this.pokemon.turnData.hitsLeft = 0; // TODO: is `0` correct?
|
||||
|
|
Loading…
Reference in New Issue