Merge branch 'beta' into salesfix
4
package-lock.json
generated
@ -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",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "pokemon-rogue-battle",
|
||||
"private": true,
|
||||
"version": "1.8.5",
|
||||
"version": "1.9.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "vite",
|
||||
|
BIN
public/images/pokemon/icons/variant/4/417_2.png
Normal file
After Width: | Height: | Size: 744 B |
BIN
public/images/pokemon/icons/variant/4/417_3.png
Normal file
After Width: | Height: | Size: 747 B |
Before Width: | Height: | Size: 747 B |
BIN
public/images/pokemon/icons/variant/7/746-school_3.png
Normal file
After Width: | Height: | Size: 747 B |
Before Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 489 B After Width: | Height: | Size: 492 B |
BIN
public/images/pokemon/icons/variant/7/746_3.png
Normal file
After Width: | Height: | Size: 489 B |
BIN
public/images/pokemon/icons/variant/8/840_2.png
Normal file
After Width: | Height: | Size: 269 B |
BIN
public/images/pokemon/icons/variant/8/840_3.png
Normal file
After Width: | Height: | Size: 281 B |
BIN
public/images/pokemon/icons/variant/8/841-gigantamax_2.png
Normal file
After Width: | Height: | Size: 406 B |
BIN
public/images/pokemon/icons/variant/8/841-gigantamax_3.png
Normal file
After Width: | Height: | Size: 408 B |
BIN
public/images/pokemon/icons/variant/8/841_2.png
Normal file
After Width: | Height: | Size: 397 B |
BIN
public/images/pokemon/icons/variant/8/841_3.png
Normal file
After Width: | Height: | Size: 408 B |
BIN
public/images/pokemon/icons/variant/8/842-gigantamax_2.png
Normal file
After Width: | Height: | Size: 406 B |
BIN
public/images/pokemon/icons/variant/8/842-gigantamax_3.png
Normal file
After Width: | Height: | Size: 408 B |
BIN
public/images/pokemon/icons/variant/8/842_2.png
Normal file
After Width: | Height: | Size: 388 B |
BIN
public/images/pokemon/icons/variant/8/842_3.png
Normal file
After Width: | Height: | Size: 388 B |
Before Width: | Height: | Size: 471 B |
Before Width: | Height: | Size: 474 B After Width: | Height: | Size: 543 B |
BIN
public/images/pokemon/icons/variant/8/871_3.png
Normal file
After Width: | Height: | Size: 538 B |
BIN
public/images/pokemon/icons/variant/9/1011_2.png
Normal file
After Width: | Height: | Size: 344 B |
BIN
public/images/pokemon/icons/variant/9/1011_3.png
Normal file
After Width: | Height: | Size: 344 B |
BIN
public/images/pokemon/icons/variant/9/1019_2.png
Normal file
After Width: | Height: | Size: 492 B |
BIN
public/images/pokemon/icons/variant/9/1019_3.png
Normal file
After Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 46 KiB |
@ -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$"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 48 KiB |
@ -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$"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 35 KiB |
@ -1 +1 @@
|
||||
Subproject commit 833dc40ec7409031fcea147ccbc45ec9c0ba0213
|
||||
Subproject commit a7036a07875615674ea898d0fe3b182a1080af38
|
@ -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()
|
||||
|
@ -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 ],
|
||||
|
@ -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)
|
||||
|
@ -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 {
|
||||
|
@ -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);
|
||||
});
|
||||
});
|
||||
|