mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-05 16:02:20 +02:00
Merge branch 'beta' into japanese-starterInfoText
This commit is contained in:
commit
e7c3798f39
@ -542,6 +542,79 @@
|
|||||||
"volume": 100,
|
"volume": 100,
|
||||||
"pitch": 55,
|
"pitch": 55,
|
||||||
"eventType": "AnimTimedSoundEvent"
|
"eventType": "AnimTimedSoundEvent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frameIndex": 0,
|
||||||
|
"resourceName": "PRAS- Sandstorm",
|
||||||
|
"bgX": -50,
|
||||||
|
"bgY": 0,
|
||||||
|
"opacity": 0,
|
||||||
|
"duration": 5,
|
||||||
|
"eventType": "AnimTimedAddBgEvent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frameIndex": 0,
|
||||||
|
"resourceName": "",
|
||||||
|
"bgX": -50,
|
||||||
|
"bgY": 0,
|
||||||
|
"opacity": 96,
|
||||||
|
"duration": 3,
|
||||||
|
"eventType": "AnimTimedUpdateBgEvent"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"3": [
|
||||||
|
{
|
||||||
|
"frameIndex": 3,
|
||||||
|
"resourceName": "",
|
||||||
|
"bgX": -25,
|
||||||
|
"bgY": 0,
|
||||||
|
"opacity": 128,
|
||||||
|
"duration": 3,
|
||||||
|
"eventType": "AnimTimedUpdateBgEvent"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"6": [
|
||||||
|
{
|
||||||
|
"frameIndex": 6,
|
||||||
|
"resourceName": "",
|
||||||
|
"bgX": 0,
|
||||||
|
"bgY": 0,
|
||||||
|
"opacity": 192,
|
||||||
|
"duration": 3,
|
||||||
|
"eventType": "AnimTimedUpdateBgEvent"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"9": [
|
||||||
|
{
|
||||||
|
"frameIndex": 9,
|
||||||
|
"resourceName": "",
|
||||||
|
"bgX": 25,
|
||||||
|
"bgY": 0,
|
||||||
|
"opacity": 128,
|
||||||
|
"duration": 3,
|
||||||
|
"eventType": "AnimTimedUpdateBgEvent"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"12": [
|
||||||
|
{
|
||||||
|
"frameIndex": 12,
|
||||||
|
"resourceName": "",
|
||||||
|
"bgX": 50,
|
||||||
|
"bgY": 0,
|
||||||
|
"opacity": 96,
|
||||||
|
"duration": 3,
|
||||||
|
"eventType": "AnimTimedUpdateBgEvent"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"15": [
|
||||||
|
{
|
||||||
|
"frameIndex": 15,
|
||||||
|
"resourceName": "",
|
||||||
|
"bgX": 50,
|
||||||
|
"bgY": 0,
|
||||||
|
"opacity": 0,
|
||||||
|
"duration": 3,
|
||||||
|
"eventType": "AnimTimedUpdateBgEvent"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -19057,8 +19057,15 @@ export const tmSpecies: TmSpecies = {
|
|||||||
Species.SLAKING,
|
Species.SLAKING,
|
||||||
Species.HARIYAMA,
|
Species.HARIYAMA,
|
||||||
Species.NOSEPASS,
|
Species.NOSEPASS,
|
||||||
|
Species.ARON,
|
||||||
|
Species.LAIRON,
|
||||||
|
Species.AGGRON,
|
||||||
|
Species.ELECTRIKE,
|
||||||
|
Species.MANECTRIC,
|
||||||
Species.GULPIN,
|
Species.GULPIN,
|
||||||
Species.SWALOT,
|
Species.SWALOT,
|
||||||
|
Species.WAILMER,
|
||||||
|
Species.WAILORD,
|
||||||
Species.NUMEL,
|
Species.NUMEL,
|
||||||
Species.CAMERUPT,
|
Species.CAMERUPT,
|
||||||
Species.TORKOAL,
|
Species.TORKOAL,
|
||||||
@ -19067,18 +19074,28 @@ export const tmSpecies: TmSpecies = {
|
|||||||
Species.ZANGOOSE,
|
Species.ZANGOOSE,
|
||||||
Species.SEVIPER,
|
Species.SEVIPER,
|
||||||
Species.WHISCASH,
|
Species.WHISCASH,
|
||||||
|
Species.LILEEP,
|
||||||
|
Species.CRADILY,
|
||||||
|
Species.ANORITH,
|
||||||
|
Species.ARMALDO,
|
||||||
Species.SHUPPET,
|
Species.SHUPPET,
|
||||||
Species.BANETTE,
|
Species.BANETTE,
|
||||||
Species.DUSKULL,
|
Species.DUSKULL,
|
||||||
Species.DUSCLOPS,
|
Species.DUSCLOPS,
|
||||||
Species.TROPIUS,
|
Species.TROPIUS,
|
||||||
Species.CHIMECHO,
|
Species.CHIMECHO,
|
||||||
|
Species.ABSOL,
|
||||||
|
Species.SPHEAL,
|
||||||
|
Species.SEALEO,
|
||||||
|
Species.WALREIN,
|
||||||
Species.REGIROCK,
|
Species.REGIROCK,
|
||||||
Species.REGICE,
|
Species.REGICE,
|
||||||
Species.REGISTEEL,
|
Species.REGISTEEL,
|
||||||
Species.TURTWIG,
|
Species.TURTWIG,
|
||||||
Species.GROTLE,
|
Species.GROTLE,
|
||||||
Species.TORTERRA,
|
Species.TORTERRA,
|
||||||
|
Species.BIDOOF,
|
||||||
|
Species.BIBAREL,
|
||||||
Species.CRANIDOS,
|
Species.CRANIDOS,
|
||||||
Species.RAMPARDOS,
|
Species.RAMPARDOS,
|
||||||
Species.SHIELDON,
|
Species.SHIELDON,
|
||||||
@ -19120,6 +19137,11 @@ export const tmSpecies: TmSpecies = {
|
|||||||
Species.TEPIG,
|
Species.TEPIG,
|
||||||
Species.PIGNITE,
|
Species.PIGNITE,
|
||||||
Species.EMBOAR,
|
Species.EMBOAR,
|
||||||
|
Species.MUNNA,
|
||||||
|
Species.MUSHARNA,
|
||||||
|
Species.ROGGENROLA,
|
||||||
|
Species.BOLDORE,
|
||||||
|
Species.GIGALITH,
|
||||||
Species.DRILBUR,
|
Species.DRILBUR,
|
||||||
Species.EXCADRILL,
|
Species.EXCADRILL,
|
||||||
Species.TIMBURR,
|
Species.TIMBURR,
|
||||||
@ -19128,28 +19150,44 @@ export const tmSpecies: TmSpecies = {
|
|||||||
Species.SANDILE,
|
Species.SANDILE,
|
||||||
Species.KROKOROK,
|
Species.KROKOROK,
|
||||||
Species.KROOKODILE,
|
Species.KROOKODILE,
|
||||||
|
Species.DWEBBLE,
|
||||||
|
Species.CRUSTLE,
|
||||||
Species.SCRAGGY,
|
Species.SCRAGGY,
|
||||||
Species.SCRAFTY,
|
Species.SCRAFTY,
|
||||||
Species.YAMASK,
|
Species.YAMASK,
|
||||||
Species.COFAGRIGUS,
|
Species.COFAGRIGUS,
|
||||||
|
Species.TRUBBISH,
|
||||||
|
Species.GARBODOR,
|
||||||
Species.SAWSBUCK,
|
Species.SAWSBUCK,
|
||||||
|
Species.FERROSEED,
|
||||||
|
Species.FERROTHORN,
|
||||||
Species.LITWICK,
|
Species.LITWICK,
|
||||||
Species.LAMPENT,
|
Species.LAMPENT,
|
||||||
Species.CHANDELURE,
|
Species.CHANDELURE,
|
||||||
Species.BEARTIC,
|
Species.BEARTIC,
|
||||||
|
Species.SHELMET,
|
||||||
|
Species.ACCELGOR,
|
||||||
|
Species.STUNFISK,
|
||||||
Species.GOLETT,
|
Species.GOLETT,
|
||||||
Species.GOLURK,
|
Species.GOLURK,
|
||||||
|
Species.HEATMOR,
|
||||||
Species.CHESPIN,
|
Species.CHESPIN,
|
||||||
Species.QUILLADIN,
|
Species.QUILLADIN,
|
||||||
Species.CHESNAUGHT,
|
Species.CHESNAUGHT,
|
||||||
|
Species.TYRUNT,
|
||||||
|
Species.TYRANTRUM,
|
||||||
Species.SYLVEON,
|
Species.SYLVEON,
|
||||||
Species.GOOMY,
|
Species.GOOMY,
|
||||||
Species.SLIGGOO,
|
Species.SLIGGOO,
|
||||||
Species.GOODRA,
|
Species.GOODRA,
|
||||||
Species.PHANTUMP,
|
Species.PHANTUMP,
|
||||||
Species.TREVENANT,
|
Species.TREVENANT,
|
||||||
|
Species.PUMPKABOO,
|
||||||
|
Species.GOURGEIST,
|
||||||
Species.BERGMITE,
|
Species.BERGMITE,
|
||||||
Species.AVALUGG,
|
Species.AVALUGG,
|
||||||
|
Species.ROWLET,
|
||||||
|
Species.DARTRIX,
|
||||||
Species.DECIDUEYE,
|
Species.DECIDUEYE,
|
||||||
Species.GUMSHOOS,
|
Species.GUMSHOOS,
|
||||||
Species.MUDBRAY,
|
Species.MUDBRAY,
|
||||||
@ -19157,7 +19195,9 @@ export const tmSpecies: TmSpecies = {
|
|||||||
Species.PASSIMIAN,
|
Species.PASSIMIAN,
|
||||||
Species.SANDYGAST,
|
Species.SANDYGAST,
|
||||||
Species.PALOSSAND,
|
Species.PALOSSAND,
|
||||||
|
Species.PYUKUMUKU,
|
||||||
Species.KOMALA,
|
Species.KOMALA,
|
||||||
|
Species.TURTONATOR,
|
||||||
Species.MIMIKYU,
|
Species.MIMIKYU,
|
||||||
Species.SKWOVET,
|
Species.SKWOVET,
|
||||||
Species.GREEDENT,
|
Species.GREEDENT,
|
||||||
@ -19169,6 +19209,7 @@ export const tmSpecies: TmSpecies = {
|
|||||||
Species.SINISTEA,
|
Species.SINISTEA,
|
||||||
Species.POLTEAGEIST,
|
Species.POLTEAGEIST,
|
||||||
Species.PERRSERKER,
|
Species.PERRSERKER,
|
||||||
|
Species.CURSOLA,
|
||||||
Species.RUNERIGUS,
|
Species.RUNERIGUS,
|
||||||
Species.PINCURCHIN,
|
Species.PINCURCHIN,
|
||||||
Species.STONJOURNER,
|
Species.STONJOURNER,
|
||||||
@ -19236,6 +19277,7 @@ export const tmSpecies: TmSpecies = {
|
|||||||
Species.GALAR_WEEZING,
|
Species.GALAR_WEEZING,
|
||||||
Species.GALAR_SLOWKING,
|
Species.GALAR_SLOWKING,
|
||||||
Species.GALAR_YAMASK,
|
Species.GALAR_YAMASK,
|
||||||
|
Species.GALAR_STUNFISK,
|
||||||
Species.HISUI_ELECTRODE,
|
Species.HISUI_ELECTRODE,
|
||||||
Species.HISUI_TYPHLOSION,
|
Species.HISUI_TYPHLOSION,
|
||||||
Species.HISUI_QWILFISH,
|
Species.HISUI_QWILFISH,
|
||||||
|
@ -8052,10 +8052,10 @@ export class UpperHandCondition extends MoveCondition {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class hitsSameTypeAttr extends VariableMoveTypeMultiplierAttr {
|
export class HitsSameTypeAttr extends VariableMoveTypeMultiplierAttr {
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||||
const multiplier = args[0] as NumberHolder;
|
const multiplier = args[0] as NumberHolder;
|
||||||
if (!user.getTypes().some(type => target.getTypes().includes(type))) {
|
if (!user.getTypes(true).some(type => target.getTypes(true).includes(type))) {
|
||||||
multiplier.value = 0;
|
multiplier.value = 0;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -9756,7 +9756,7 @@ export function initMoves() {
|
|||||||
new AttackMove(Moves.SYNCHRONOISE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 5)
|
new AttackMove(Moves.SYNCHRONOISE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 5)
|
||||||
.target(MoveTarget.ALL_NEAR_OTHERS)
|
.target(MoveTarget.ALL_NEAR_OTHERS)
|
||||||
.condition(unknownTypeCondition)
|
.condition(unknownTypeCondition)
|
||||||
.attr(hitsSameTypeAttr),
|
.attr(HitsSameTypeAttr),
|
||||||
new AttackMove(Moves.ELECTRO_BALL, PokemonType.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 5)
|
new AttackMove(Moves.ELECTRO_BALL, PokemonType.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 5)
|
||||||
.attr(ElectroBallPowerAttr)
|
.attr(ElectroBallPowerAttr)
|
||||||
.ballBombMove(),
|
.ballBombMove(),
|
||||||
|
47
test/moves/synchronoise.test.ts
Normal file
47
test/moves/synchronoise.test.ts
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
import { Abilities } from "#enums/abilities";
|
||||||
|
import { Moves } from "#enums/moves";
|
||||||
|
import { PokemonType } from "#enums/pokemon-type";
|
||||||
|
import { Species } from "#enums/species";
|
||||||
|
import GameManager from "#test/testUtils/gameManager";
|
||||||
|
import Phaser from "phaser";
|
||||||
|
import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
||||||
|
|
||||||
|
describe("Moves - Synchronoise", () => {
|
||||||
|
let phaserGame: Phaser.Game;
|
||||||
|
let game: GameManager;
|
||||||
|
|
||||||
|
beforeAll(() => {
|
||||||
|
phaserGame = new Phaser.Game({
|
||||||
|
type: Phaser.HEADLESS,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
game.phaseInterceptor.restoreOg();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
game = new GameManager(phaserGame);
|
||||||
|
game.override
|
||||||
|
.moveset([Moves.SYNCHRONOISE])
|
||||||
|
.ability(Abilities.BALL_FETCH)
|
||||||
|
.battleStyle("single")
|
||||||
|
.disableCrits()
|
||||||
|
.enemySpecies(Species.MAGIKARP)
|
||||||
|
.enemyAbility(Abilities.BALL_FETCH)
|
||||||
|
.enemyMoveset(Moves.SPLASH);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should consider the user's tera type if it is terastallized", async () => {
|
||||||
|
await game.classicMode.startBattle([Species.BIDOOF]);
|
||||||
|
const playerPokemon = game.scene.getPlayerPokemon()!;
|
||||||
|
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
// force the player to be terastallized
|
||||||
|
playerPokemon.teraType = PokemonType.WATER;
|
||||||
|
playerPokemon.isTerastallized = true;
|
||||||
|
game.move.select(Moves.SYNCHRONOISE);
|
||||||
|
await game.phaseInterceptor.to("BerryPhase");
|
||||||
|
expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp());
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user