Fix rest not overriding status

This commit is contained in:
Flashfyre 2024-04-11 20:01:43 -04:00
parent eaf993e76f
commit 3e9fdc2d0a
2 changed files with 3 additions and 3 deletions

View File

@ -3416,7 +3416,7 @@ export function initMoves() {
new SelfStatusMove(Moves.REST, "Rest", Type.PSYCHIC, -1, 5, "The user goes to sleep for two turns. This fully restores the user's HP and heals any status conditions.", -1, 0, 1)
.attr(StatusEffectAttr, StatusEffect.SLEEP, true, 3, true)
.attr(HealAttr, 1, true)
.condition((user, target, move) => user.getHpRatio() < 1 && user.canSetStatus(StatusEffect.SLEEP, true))
.condition((user, target, move) => user.getHpRatio() < 1 && user.canSetStatus(StatusEffect.SLEEP, true, true))
.triageMove(),
new AttackMove(Moves.ROCK_SLIDE, "Rock Slide", Type.ROCK, MoveCategory.PHYSICAL, 75, 90, 10, "Large boulders are hurled at opposing Pokémon to inflict damage. This may also make the opposing Pokémon flinch.", 30, 0, 1)
.attr(FlinchAttr)

View File

@ -1688,9 +1688,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return this.gender !== Gender.GENDERLESS && pokemon.gender === (this.gender === Gender.MALE ? Gender.FEMALE : Gender.MALE);
}
canSetStatus(effect: StatusEffect, quiet: boolean = false): boolean {
canSetStatus(effect: StatusEffect, quiet: boolean = false, overrideStatus: boolean = false): boolean {
if (effect !== StatusEffect.FAINT) {
if (this.status)
if (overrideStatus ? this.status?.effect === effect : this.status)
return false;
if (this.isGrounded() && this.scene.arena.terrain?.terrainType === TerrainType.MISTY)
return false;