Merge branch 'beta' into salesfix

This commit is contained in:
damocleas 2025-05-02 21:50:48 -04:00 committed by GitHub
commit 652c2e2739
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
39 changed files with 1110 additions and 753 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "pokemon-rogue-battle",
"version": "1.8.4",
"version": "1.9.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pokemon-rogue-battle",
"version": "1.8.4",
"version": "1.9.0",
"hasInstallScript": true,
"dependencies": {
"@material/material-color-utilities": "^0.2.7",

View File

@ -1,7 +1,7 @@
{
"name": "pokemon-rogue-battle",
"private": true,
"version": "1.8.5",
"version": "1.9.0",
"type": "module",
"scripts": {
"start": "vite",

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 B

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 B

After

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -304,7 +304,7 @@
}
},
{
"filename": "746-school_1",
"filename": "746-school_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -325,7 +325,7 @@
}
},
{
"filename": "746-school_2",
"filename": "746-school_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -346,7 +346,7 @@
}
},
{
"filename": "746_1",
"filename": "746_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -367,7 +367,7 @@
}
},
{
"filename": "746_2",
"filename": "746_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3312,6 +3312,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
"smartupdate": "$TexturePacker:SmartUpdate:57eaade41c16d492ffda5339ea142c4d:b96a0f88bd707a9967af73e7bdf13031:d5975df27e1e94206a68aa1fd3c2c8d0$"
"smartupdate": "$TexturePacker:SmartUpdate:0780b00fda53c3fbd0b6e554e89a6818:b96a0f88bd707a9967af73e7bdf13031:d5975df27e1e94206a68aa1fd3c2c8d0$"
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -3013,7 +3013,7 @@
}
},
{
"filename": "1012-counterfeit_2",
"filename": "1011_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3034,7 +3034,7 @@
}
},
{
"filename": "1012-counterfeit_3",
"filename": "1011_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3055,7 +3055,7 @@
}
},
{
"filename": "1013-unremarkable_2",
"filename": "1012-counterfeit_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3076,7 +3076,7 @@
}
},
{
"filename": "1013-unremarkable_3",
"filename": "1012-counterfeit_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3097,7 +3097,7 @@
}
},
{
"filename": "1018_2",
"filename": "1013-unremarkable_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3118,7 +3118,7 @@
}
},
{
"filename": "1018_3",
"filename": "1013-unremarkable_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3139,7 +3139,7 @@
}
},
{
"filename": "1022_2",
"filename": "1018_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3160,7 +3160,7 @@
}
},
{
"filename": "1022_3",
"filename": "1018_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3181,7 +3181,7 @@
}
},
{
"filename": "1023_2",
"filename": "1019_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3202,7 +3202,7 @@
}
},
{
"filename": "1023_3",
"filename": "1019_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3223,7 +3223,7 @@
}
},
{
"filename": "8901_1",
"filename": "1022_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3244,7 +3244,7 @@
}
},
{
"filename": "8901_2",
"filename": "1022_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3265,7 +3265,7 @@
}
},
{
"filename": "8901_3",
"filename": "1023_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
@ -3284,6 +3284,90 @@
"w": 40,
"h": 30
}
},
{
"filename": "1023_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
"w": 40,
"h": 30
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 40,
"h": 30
},
"frame": {
"x": 80,
"y": 420,
"w": 40,
"h": 30
}
},
{
"filename": "8901_1",
"rotated": false,
"trimmed": false,
"sourceSize": {
"w": 40,
"h": 30
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 40,
"h": 30
},
"frame": {
"x": 120,
"y": 420,
"w": 40,
"h": 30
}
},
{
"filename": "8901_2",
"rotated": false,
"trimmed": false,
"sourceSize": {
"w": 40,
"h": 30
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 40,
"h": 30
},
"frame": {
"x": 160,
"y": 420,
"w": 40,
"h": 30
}
},
{
"filename": "8901_3",
"rotated": false,
"trimmed": false,
"sourceSize": {
"w": 40,
"h": 30
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 40,
"h": 30
},
"frame": {
"x": 200,
"y": 420,
"w": 40,
"h": 30
}
}
]
}
@ -3291,6 +3375,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
"smartupdate": "$TexturePacker:SmartUpdate:c01add1e11aabd2f8931110a67a9222b:e7531bea9b5e1bef44def5b357c81630:3ec5c0bc286c296cfb7fa30a8b06f3da$"
"smartupdate": "$TexturePacker:SmartUpdate:a78ab8261d4cd63caee19962a0e01d8a:cb77bcbd2cc296577c3f2ba84b4c50f2:3ec5c0bc286c296cfb7fa30a8b06f3da$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 35 KiB

@ -1 +1 @@
Subproject commit 833dc40ec7409031fcea147ccbc45ec9c0ba0213
Subproject commit a7036a07875615674ea898d0fe3b182a1080af38

View File

@ -6907,6 +6907,8 @@ export function initAbilities() {
.attr(IllusionBreakAbAttr)
// The Pokemon loses its illusion when damaged by a move
.attr(PostDefendIllusionBreakAbAttr, true)
// Disable Illusion in fusions
.attr(NoFusionAbilityAbAttr)
// Illusion is available again after a battle
.conditionalAttr((pokemon) => pokemon.isAllowedInBattle(), IllusionPostBattleAbAttr, false)
.uncopiable()

View File

@ -66,7 +66,7 @@ export const speciesEggMoves = {
[Species.PORYGON]: [ Moves.THUNDERCLAP, Moves.AURA_SPHERE, Moves.FLAMETHROWER, Moves.TECHNO_BLAST ],
[Species.OMANYTE]: [ Moves.FREEZE_DRY, Moves.GIGA_DRAIN, Moves.POWER_GEM, Moves.STEAM_ERUPTION ],
[Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.HIGH_HORSEPOWER, Moves.CRABHAMMER, Moves.MIGHTY_CLEAVE ],
[Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.CLOSE_COMBAT, Moves.STONE_AXE, Moves.SWORDS_DANCE ],
[Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.HIGH_HORSEPOWER, Moves.STONE_AXE, Moves.SWORDS_DANCE ],
[Species.ARTICUNO]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AURORA_VEIL, Moves.AEROBLAST ],
[Species.ZAPDOS]: [ Moves.BLEAKWIND_STORM, Moves.CALM_MIND, Moves.SANDSEAR_STORM, Moves.ELECTRO_SHOT ],
[Species.MOLTRES]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AEROBLAST, Moves.TORCH_SONG ],
@ -360,7 +360,7 @@ export const speciesEggMoves = {
[Species.CLAUNCHER]: [ Moves.SHELL_SMASH, Moves.ARMOR_CANNON, Moves.ENERGY_BALL, Moves.ORIGIN_PULSE ],
[Species.HELIOPTILE]: [ Moves.WEATHER_BALL, Moves.HYDRO_STEAM, Moves.EARTH_POWER, Moves.BOOMBURST ],
[Species.TYRUNT]: [ Moves.DRAGON_HAMMER, Moves.FLARE_BLITZ, Moves.VOLT_TACKLE, Moves.SHIFT_GEAR ],
[Species.AMAURA]: [ Moves.RECOVER, Moves.WRING_OUT, Moves.POWER_GEM, Moves.GEOMANCY ],
[Species.AMAURA]: [ Moves.RECOVER, Moves.TERA_STARSTORM, Moves.POWER_GEM, Moves.GEOMANCY ],
[Species.HAWLUCHA]: [ Moves.TRIPLE_AXEL, Moves.HIGH_HORSEPOWER, Moves.FLOATY_FALL, Moves.WICKED_BLOW ],
[Species.DEDENNE]: [ Moves.BOOMBURST, Moves.FAKE_OUT, Moves.NASTY_PLOT, Moves.REVIVAL_BLESSING ],
[Species.CARBINK]: [ Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SPARKLY_SWIRL, Moves.DIAMOND_STORM ],
@ -436,7 +436,7 @@ export const speciesEggMoves = {
[Species.ALOLA_RATTATA]: [ Moves.FALSE_SURRENDER, Moves.PSYCHIC_FANGS, Moves.COIL, Moves.EXTREME_SPEED ],
[Species.ALOLA_SANDSHREW]: [ Moves.SPIKY_SHIELD, Moves.LIQUIDATION, Moves.SHIFT_GEAR, Moves.GLACIAL_LANCE ],
[Species.ALOLA_VULPIX]: [ Moves.MOONBLAST, Moves.GLARE, Moves.MYSTICAL_FIRE, Moves.REVIVAL_BLESSING ],
[Species.ALOLA_DIGLETT]: [ Moves.THOUSAND_WAVES, Moves.SWORDS_DANCE, Moves.TRIPLE_DIVE, Moves.MOUNTAIN_GALE ],
[Species.ALOLA_DIGLETT]: [ Moves.THOUSAND_WAVES, Moves.SWORDS_DANCE, Moves.TRIPLE_DIVE, Moves.PYRO_BALL ],
[Species.ALOLA_MEOWTH]: [ Moves.BADDY_BAD, Moves.BUZZY_BUZZ, Moves.PARTING_SHOT, Moves.MAKE_IT_RAIN ],
[Species.ALOLA_GEODUDE]: [ Moves.THOUSAND_WAVES, Moves.BULK_UP, Moves.STONE_AXE, Moves.EXTREME_SPEED ],
[Species.ALOLA_GRIMER]: [ Moves.SUCKER_PUNCH, Moves.BARB_BARRAGE, Moves.RECOVER, Moves.SURGING_STRIKES ],

View File

@ -3482,7 +3482,8 @@ export class CutHpStatStageBoostAttr extends StatStageChangeAttr {
/**
* Attribute implementing the stat boosting effect of {@link https://bulbapedia.bulbagarden.net/wiki/Order_Up_(move) | Order Up}.
* If the user has a Pokemon with {@link https://bulbapedia.bulbagarden.net/wiki/Commander_(Ability) | Commander} in their mouth,
* one of the user's stats are increased by 1 stage, depending on the "commanding" Pokemon's form.
* one of the user's stats are increased by 1 stage, depending on the "commanding" Pokemon's form. This effect does not respect
* effect chance, but Order Up itself may be boosted by Sheer Force.
*/
export class OrderUpStatBoostAttr extends MoveEffectAttr {
constructor() {
@ -11024,7 +11025,7 @@ export function initMoves() {
.makesContact(false),
new AttackMove(Moves.LUMINA_CRASH, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9)
.attr(StatStageChangeAttr, [ Stat.SPDEF ], -2),
new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 9)
new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9)
.attr(OrderUpStatBoostAttr)
.makesContact(false),
new AttackMove(Moves.JET_PUNCH, PokemonType.WATER, MoveCategory.PHYSICAL, 60, 100, 15, -1, 1, 9)

View File

@ -340,7 +340,6 @@ const timedEvents: TimedEvent[] = [
{ species: Species.DEERLING, formIndex: 0 }, // Spring Deerling
{ species: Species.CLAUNCHER },
{ species: Species.WISHIWASHI },
{ species: Species.MUDBRAY },
{ species: Species.DRAMPA },
{ species: Species.JANGMO_O },
{ species: Species.APPLIN },
@ -351,7 +350,7 @@ const timedEvents: TimedEvent[] = [
{ wave: 8, type: "CATCHING_CHARM" },
{ wave: 25, type: "SHINY_CHARM" },
],
}
},
];
export class TimedEventManager {

View File

@ -65,4 +65,23 @@ describe("Moves - Order Up", () => {
affectedStats.forEach(st => expect(dondozo.getStatStage(st)).toBe(st === stat ? 3 : 2));
},
);
it("should be boosted by Sheer Force while still applying a stat boost", async () => {
game.override.passiveAbility(Abilities.SHEER_FORCE).starterForms({ [Species.TATSUGIRI]: 0 });
await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]);
const [tatsugiri, dondozo] = game.scene.getPlayerField();
expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY);
expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined();
game.move.select(Moves.ORDER_UP, 1, BattlerIndex.ENEMY);
expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy();
await game.phaseInterceptor.to("BerryPhase", false);
expect(dondozo.waveData.abilitiesApplied.has(Abilities.SHEER_FORCE)).toBeTruthy();
expect(dondozo.getStatStage(Stat.ATK)).toBe(3);
});
});