Fix rest not overriding status

This commit is contained in:
Flashfyre committed 2024-04-11 20:01:43 -04:00
1 parent eaf993e76f
commit 3e9fdc2d0a
2 files changed
+3 -3

No files matched your search

+1 -1
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)
+2 -2
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;