mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-09-02 20:59:37 +02:00
Compare commits
3 Commits
2f2d286a9d
...
9328f69b13
Author | SHA1 | Date | |
---|---|---|---|
|
9328f69b13 | ||
|
79576ad117 | ||
|
e20d7047f7 |
12
.github/CODEOWNERS
vendored
12
.github/CODEOWNERS
vendored
@ -3,9 +3,6 @@
|
||||
# everything (whole code-base) - Junior Devs
|
||||
* @pagefaultgames/junior-dev-team
|
||||
|
||||
# github actions/templates etc. - Dev Leads
|
||||
/.github @pagefaultgames/senior-dev-team
|
||||
|
||||
# Art Team
|
||||
/public/**/*.png @pagefaultgames/art-team
|
||||
/public/**/*.json @pagefaultgames/art-team
|
||||
@ -19,4 +16,11 @@
|
||||
/public/audio @pagefaultgames/composer-team
|
||||
|
||||
# Balance Files; contain actual code logic and must also be owned by dev team
|
||||
/src/data/balance @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
||||
/src/data/balance @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
||||
/src/data/trainers @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
||||
|
||||
# GitHub actions/templates etc. - Senior Devs
|
||||
# Should be defined last in the file to make sure these always override all other definitions
|
||||
/.github @pagefaultgames/senior-dev-team
|
||||
package.json @pagefaultgames/senior-dev-team
|
||||
pnpm-lock.yaml @pagefaultgames/senior-dev-team
|
@ -120,14 +120,8 @@ export class MovePhase extends BattlePhase {
|
||||
|
||||
console.log(MoveId[this.move.moveId], enumValueToKey(MoveUseMode, this.useMode));
|
||||
|
||||
// Check if move is unusable (e.g. running out of PP due to a mid-turn Spite
|
||||
// or the user no longer being on field), ending the phase early if not.
|
||||
if (!this.canMove(true)) {
|
||||
if (this.pokemon.isActive(true)) {
|
||||
this.fail();
|
||||
this.showMoveText();
|
||||
this.showFailedText();
|
||||
}
|
||||
if (!this.pokemon.isActive(true)) {
|
||||
this.cancel();
|
||||
this.end();
|
||||
return;
|
||||
}
|
||||
@ -155,6 +149,7 @@ export class MovePhase extends BattlePhase {
|
||||
|
||||
this.resolveCounterAttackTarget();
|
||||
|
||||
// Check status cancellation from sleep, freeze, etc.
|
||||
this.resolvePreMoveStatusEffects();
|
||||
|
||||
this.lapsePreMoveAndMoveTags();
|
||||
@ -180,6 +175,18 @@ export class MovePhase extends BattlePhase {
|
||||
const targets = this.getActiveTargetPokemon();
|
||||
const moveQueue = this.pokemon.getMoveQueue();
|
||||
|
||||
// Check if move is unusable (e.g. running out of PP due to a mid-turn Spite
|
||||
// or the user no longer being on field)
|
||||
|
||||
if (!this.canMove(true)) {
|
||||
if (this.pokemon.isActive(true)) {
|
||||
this.fail();
|
||||
this.showMoveText();
|
||||
this.showFailedText();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (
|
||||
(targets.length === 0 && !this.move.getMove().hasAttr("AddArenaTrapTagAttr")) ||
|
||||
(moveQueue.length > 0 && moveQueue[0].move === MoveId.NONE)
|
||||
|
@ -353,7 +353,7 @@ describe("Status Effects", () => {
|
||||
beforeEach(() => {
|
||||
game = new GameManager(phaserGame);
|
||||
game.override
|
||||
.moveset([MoveId.SPLASH])
|
||||
.moveset([MoveId.SPLASH, MoveId.DRAGON_CHEER])
|
||||
.ability(AbilityId.BALL_FETCH)
|
||||
.battleStyle("single")
|
||||
.criticalHits(false)
|
||||
@ -390,6 +390,35 @@ describe("Status Effects", () => {
|
||||
expect(player.status).toBeFalsy();
|
||||
expect(player.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS);
|
||||
});
|
||||
|
||||
it("Sleep turns should tick down when failing to use ally-targeting moves", async () => {
|
||||
await game.classicMode.startBattle([SpeciesId.FEEBAS]);
|
||||
|
||||
const player = game.field.getPlayerPokemon();
|
||||
player.status = new Status(StatusEffect.SLEEP, 0, 4);
|
||||
|
||||
game.move.select(MoveId.DRAGON_CHEER);
|
||||
await game.toNextTurn();
|
||||
|
||||
expect(player.status.effect).toBe(StatusEffect.SLEEP);
|
||||
|
||||
game.move.select(MoveId.DRAGON_CHEER);
|
||||
await game.toNextTurn();
|
||||
|
||||
expect(player.status.effect).toBe(StatusEffect.SLEEP);
|
||||
|
||||
game.move.select(MoveId.DRAGON_CHEER);
|
||||
await game.toNextTurn();
|
||||
|
||||
expect(player.status.effect).toBe(StatusEffect.SLEEP);
|
||||
expect(player.getLastXMoves(1)[0].result).toBe(MoveResult.FAIL);
|
||||
|
||||
game.move.select(MoveId.DRAGON_CHEER);
|
||||
await game.toNextTurn();
|
||||
|
||||
expect(player.status).toBeFalsy();
|
||||
expect(player.getLastXMoves(1)[0].result).toBe(MoveResult.FAIL);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Behavior", () => {
|
||||
|
Loading…
Reference in New Issue
Block a user